Программа COBOL B имеет 3 точки входа. Раздел Linkage содержит 1 общую область, а затем 3 области (назовите их link-sect-a, link-sect-b и link-sect-c). Программа A на Коболе вызывает программу B, используя запись 3. В z/OS это совершенно правильно (и нормально) писать
CALL PROGB-ENTRY3 using common area, link-sect-c
Похоже, проблема с GnuCobol заключается в том, что после компиляции обоих в программе B после точки входа 3 выполняется что-то простое:
DISPLAY 'First 50 bytes in link-sect-c 'link-sect-c(1:50)
вызывает сбой при ссылке на link-sect-c
Если вместо этого я изменю вызов в программе A (а также запись 3 в программе B, чтобы включить все 4 аргумента) на
CALL PROGB-ENTRY3 using common area, link-sect-a, link-sect-b, link-sect-c
(хотя мне не нужны ни link-sect-a, ни link-sect-b) код работает
Я могу включить 2 примера программ, если это необходимо, так как они действительно довольно тривиальны.
ENTRY
нужны. Полезной будет также полная команда компиляции (cobc
...) и номер используемой вами версии GnuCOBOL. - person Simon Sobisch   schedule 03.07.2019