FIX: L1101 From Unsupported Fixup to Target in Overlay

ID: Q87792

5.30 MS-DOS

The information in this article applies to:

SYMPTOMS

An attempt to link an application that uses the Microsoft Overlaid Virtual Environment (MOVE) fails and Microsoft LINK generates a message similar to the following:

   L1101: invalid object module
   object file offset: d4 Record type: 9c

CAUSE

LINK does not support each type of fixup when the target is in an overlay.

STATUS

Microsoft has confirmed this to be a problem in LINK version 5.3 for MS-DOS (distributed with Microsoft C/C++ version 7.0). This problem was corrected in LINK version 5.31.009 (distributed with the C/C++ version 7.0a patch disk). To obtain the patch disk, obtain a disk from Microsoft. To obtain a disk in the United States, call Microsoft Product Support Services at (206) 454-2030. Outside the United States, contact the Microsoft subsidiary for your area. To locate your subsidiary, go to the Microsoft Web site http://www.microsoft.com/worldwide/default.htm

MORE INFORMATION

The source code below demonstrates this problem. The assembly language code creates two segments and places them into the same overlay. The problem occurs when LINK generates a thunk even though both segments reside in the same overlay. The function that generates the thunk fails because the target is not a far pointer to a function.

A similar error occurs for an attempt to place certain modules from the C run-time library into an overlay. One particular example involves the graphics functions in the _gr_text module.

Sample Code - TEST.ASM

; Assemble options needed: None ; Link with the TEST.DEF file to demonstrate the problem ; In a real situation, link with a main module developed in C and the ; medium or large memory model C run-time library.

    .model      large, c
    .stack
    .code       SEG1_TEXT
    .startup

f1      PROC        private
    RET
f1      ENDP

    .code       SEG2_TEXT

f2      PROC        public
    CALL        f1
    RET
f2      ENDP

    END

TEST.DEF

SEGMENTS seg1_text OVL:1

     seg2_text OVL:1

Additional reference words: 7.00 buglist5.30 fixlist5.31.009 KBCategory: KBSubcategory: MoveOverlay
Keywords          : kbcode kb16bitonly MoveOverlay 
Version           : 5.30
Platform          : MS-DOS
Solution Type     : kbfix

Last Reviewed: May 22, 1998