Application Delivery Management
Application Modernization & Connectivity
CyberRes
IT Operations Management
This article provides information on a fix for and workarounds for applications that produce a mismatched external data error when compiled after upgrading to ACUCOBOL-GT 8.0.
After upgrading to ACUCOBOL-GT Version 8.0, some applications compiled with -Dw32 that compiled cleanly under previous versions halt with the error mismatched external data even when the programs were not changed.
This problem is fixed in ACUCOBOL-GT version 8.1.0. Upgrade to this version to resolve the problem.
However, you can also try any one of the three following workarounds with version 8.0:
In direct.c, add two lines of code by changing this block of code:
*************** *** 39,45 **** --- 39,47 ---- #endif /* ACU_SOURCE_FILENAME */ #define ACU_SOURCE_FILENAME "lib/direct.c" structEXTRNTABLE EXTDATA[] = { { NULL, NULL } };
to this:
*************** *** 39,45 **** --- 39,47 ---- #endif /* ACU_SOURCE_FILENAME */ #define ACU_SOURCE_FILENAME "lib/direct.c" staticvoid *exc_obj; structEXTRNTABLE EXTDATA[] = { { "EXCEPTION-OBJECT", (char *) &exc_obj }, { NULL, NULL } };