BUG: LIB Corrupts Import Library Extended Dictionary

Last reviewed: July 17, 1997
Article ID: Q83090
3.17 3.18 3.20 3.31 3.40 | 3.17 3.18
MS-DOS                   | OS/2
kbtool kbbuglist

The information in this article applies to:

  • Microsoft LIB for MS-DOS, versions 3.17, 3.18, 3.2, 3.31, and 3.4
  • Microsoft LIB for OS/2, versions 3.17 and 3.18

SYMPTOMS

The Microsoft Library Manager (LIB) can be used to merge import libraries, created with IMPLIB, into larger import libraries. This may be useful when IMPLIB runs into capacity limits while trying to create one large import library. However, if you use LIB to merge multiple import libraries and use default options, the resulting import library will have an invalid extended dictionary.

RESOLUTION

Import libraries should not have extended dictionaries. You can use the /NOE switch to avoid the generation of an invalid extended dictionary when merging import libraries.

STATUS

Microsoft has confirmed this to be a problem in LIB versions 3.17, 3.18, 3.2, and 3.31 for MS-DOS and versions 3.17 and 3.18 for OS/2. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.

MORE INFORMATION

LINK uses the extended dictionary to speed up library searching. For example, if a function in module A of a library calls functions in module B and module C of the same library, the extended dictionary informs LINK, so that if your program requires module A from the library, LINK pulls in modules A, B, and C all at once. This way, LINK does not have to search the library again to resolve references from module A to functions in modules B and C.

In import libraries, modules do not contain any code; they only contain references to DLLs. Thus, import library modules do not contain function calls or external references to other modules. Because there are no cross dependencies between modules, the extended dictionary for an import library need not contain anything.


Additional reference words: 3.17 3.18 3.20 3.31 3.40
KBCategory: kbtool kbbuglist
KBSubcategory: LibIss
Keywords : kb16bitonly


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: July 17, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.