BUG: C 6.0 Symbol STKHQQ Not Defined in OLDNAMES.LIB

Last reviewed: July 22, 1997
Article ID: Q116443

The information in this article applies to:

  • The C Run-time (CRT), included with:

        - Microsoft C/C++ for MS-DOS, version 7.0
        - Microsoft Visual C++ for Windows, versions 1.0 and 1.5
    

SYMPTOMS

The OLDNAMES.LIB file was included in C/C++, version 7.0 and later to maintain compatibility with names included in C version 6.0 object modules. The symbol STKHQQ, is part of the stack checking routine in C, version 6.0, but it is not defined in OLDNAMES.LIB. Therefore, the linkers included with C/C++, version 7.0, and Visual C++ will generate error message L2029, "unresolved external", for STKHQQ if C version 6.0 objects modules are used.

RESOLUTION

Rebuild the C version 6.0 object module with the later version of the compiler that you are using.

NOTE: If the object module is from a third party library, contact the provider of the library and get an updated library which is not based on C6. Alternatively, a corrected version of OLDNAMES.LIB can be created from the C Run-Time source. The source to OLDNAMES.LIB is OLDNAMES.ASM in the CRT\HELPER directory. Add the following line:

       alias    <STKHQQ>   = <_STKHQQ>

and then reassemble OLDNAMES.ASM with MASM 6.0 or later. Use LIB to create a library from the new OLDNAMES.OBJ file.

STATUS

Microsoft has confirmed this to be a bug in the products listed at the beginning of this article. We are researching this bug and will post new information here in the Microsoft Knowledge Base as it becomes available.


Keywords : CRTIss kb16bitonly kbbuglist kbprg
Version : 7.0 | 1.00 1.50
Platform : WINDOWS
Issue type : kbbug


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 22, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.