Microsoft KB Archive/39250

From BetaArchive Wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

LINK Error “Fixup Overflow” __GETBUF When COBOL Calls C

PSS ID Number: Q39250 Article last modified on 04-20-1993

3.00 3.00a | 3.00 3.00a MS-DOS | OS/2

The information in this article applies to:
- Microsoft COBOL for MS-DOS and OS/2, versions 3.0 and 3.0a

Summary: The Link error L2002 “Fixup overflow” will occur when a Microsoft COBOL Version 3.0 or 3.0a program is LINKed to a C routine under the following conditions: 1. The C routine or function prints to the screen. 2. The C library used has GRAPHICS.LIB built in. 3. The following ADIS support files are statically LINKed to the program: ADIS.OBJ ADISINIT.OBJ ADISKEY.OBJ

More Information: The graphics support in the C library conflicts with the ADIS support files. The following are two workarounds for this problem: 1. Do not attempt any screen printing in the C routines. 2. Dynamically link the ADIS.EXE support file. To simulate the problem, link the two .OBJ files together in the following fashion: LINK callc+minitc+hello+adis+adisinit+adiskey,,,lcobol+llibce /noe; The following program is CALLC.COB: Procedure division. main-para. display “I’m in cobol”. call “C_hello”. display “we are back in cobol”. stop run. The following program is HELLO.C: void hello() { printf(“hello from the C function ”); }

Additional reference words: 3.00 3.00a Copyright Microsoft Corporation 1993.