INCLUDELIB - Invalid Object Module Created

ID Number: Q26799

5.00

MS-DOS

buglist5.00 fixlist5.00a

Summary:

SYMPTOMS

Microsoft Macro Assembler (MASM) version 5.0 may create an invalid

object module due to incorrect usage of the INCLUDELIB directive.

If a name longer than 127 characters is specified, the linker may

hang or it will generate the error:

fatal error L1101: invalid object module

Although the linker can not handle a library name greater than 127

characters, the assembler should not generate an invalid object

module that may cause the linker to hang.

STATUS

Microsoft has confirmed this to be a problem in MASM version 5.0.

This problem was corrected in MASM version 5.0a.

More Information:

The linker may generate the eror:

fatal error L1022: response line too long

This error may indicate that the library name in an INCLUDELIB

statement was too long for the linker to handle.

Sample Code

-----------

; Assemble options needed: none

; The 2 lines following the INCLUDELIB statement should be appended

; to the end of the INCLUDELIB statement. The INCLUDELIB statement in

; this example is broken into three lines for readability.

.MODEL small

INCLUDELIB subdir0\subdir1\subdir2\subdir3\subdir4\

subdir5\subdir6\subdir7\subdir8\subdir9\

libdir0\libdir1\libdir2\libdir3\libdir4\file.lib

.STACK 1024

.CODE

start:

mov ax, 4C00h

int 21h

END start