BUG: MAPSYM Is Not Compatible with Visual C++ Versions 5, 6 (263056)



The information in this article applies to:

  • Microsoft Windows 95 Driver Development Kit (DDK)
  • Microsoft Windows 98 Driver Development Kit (DDK)
  • The Linker (LINK.EXE)

This article was previously published under Q263056

SYMPTOMS

When you use Visual C++ version 5 or version 6 to create a map (.MAP) file with line number information, and then you create a symbol file with the Microsoft Symbol File Generator (MAPSYM), the following error occurs:

Bad hex digit (0x79)

CAUSE

This error occurs because MAPSYM cannot process a text string that is added by the linker that follows the line number information in the map (.MAP) file. The following is an example of the text string in the map (.MAP) file:
XX bytes saved through ICF
				
where XX is an unknown number of bytes.

Identical COMDAT Folding (ICF) makes the image smaller when it eliminates identical COMDATs. MAPSYM cannot handle the informative ICF message the linker places in the map (.MAP) file.

RESOLUTION

The following are two possible work arounds for this problem:
  • Delete the ICF text string in the map (.MAP) file. -or-

  • Link the object code with the OPT:NOICF option, which disables ICF.
NOTE: It is preferable to use ICF, and then delete the offending ICF text string from the map (.MAP) file because ICF results in a smaller image size.

STATUS

Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.

Modification Type:MajorLast Reviewed:11/18/2003
Keywords:kbbug kbfix KB263056