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

ID: Q116443

The information in this article applies to:

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          : kb16bitonly kbCRT kbVC kbbuglist
Version           : 7.0 | 1.00 1.50
Platform          : WINDOWS
Issue type        : kbbug

Last Reviewed: July 26, 1997