VirtualBox

Changeset 75244 in vbox for trunk/src/VBox/Runtime/common


Ignore:
Timestamp:
Nov 3, 2018 3:05:11 AM (6 years ago)
Author:
vboxsync
Message:

IPRT/rtDbgModCvLoadDirectory: Added note about what seems to be wlink trashing the directory header. I think I've wasted time debugging this once before, hope the comments will prevent a 3rd time. :-)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/common/dbg/dbgmodcodeview.cpp

    r74981 r75244  
    17501750        /*
    17511751         * 32-bit type (reading too much for NB04 is no problem).
     1752         *
     1753         * Note! The watcom linker (v1.9) seems to overwrite the directory
     1754         *       header and more under some conditions.  So, if this code fails
     1755         *       you might be so lucky as to have reproduce that issue...
    17521756         */
    17531757        RTCVDIRHDR32EX DirHdr;
     
    17581762                && DirHdr.Core.cbHdr != sizeof(DirHdr))
    17591763            {
    1760                 Log(("Unexpected CV directory size: %#x\n", DirHdr.Core.cbHdr));
     1764                Log(("Unexpected CV directory size: %#x [wlink screwup?]\n", DirHdr.Core.cbHdr));
    17611765                rc = VERR_CV_BAD_FORMAT;
    17621766            }
     
    17651769                    || DirHdr.fFlags     != 0) )
    17661770            {
    1767                 Log(("Extended CV directory headers fields are not zero: fFlags=%#x offNextDir=%#x\n",
     1771                Log(("Extended CV directory headers fields are not zero: fFlags=%#x offNextDir=%#x [wlink screwup?]\n",
    17681772                     DirHdr.fFlags, DirHdr.offNextDir));
    17691773                rc = VERR_CV_BAD_FORMAT;
     
    17711775            if (DirHdr.Core.cbEntry != sizeof(RTCVDIRENT32))
    17721776            {
    1773                 Log(("Unexpected CV directory entry size: %#x (expected %#x)\n", DirHdr.Core.cbEntry, sizeof(RTCVDIRENT32)));
     1777                Log(("Unexpected CV directory entry size: %#x (expected %#x) [wlink screwup?]\n", DirHdr.Core.cbEntry, sizeof(RTCVDIRENT32)));
    17741778                rc = VERR_CV_BAD_FORMAT;
    17751779            }
    17761780            if (DirHdr.Core.cEntries < 2 || DirHdr.Core.cEntries >= _512K)
    17771781            {
    1778                 Log(("CV directory count is out of considered valid range: %#x\n", DirHdr.Core.cEntries));
     1782                Log(("CV directory count is out of considered valid range: %#x [wlink screwup?]\n", DirHdr.Core.cEntries));
    17791783                rc = VERR_CV_BAD_FORMAT;
    17801784            }
     
    28822886        if (pCvHdr->off < cb && pCvHdr->off >= sizeof(*pCvHdr))
    28832887        {
    2884             Log(("RTDbgModCv: Found %c%c%c%c at %#RTfoff - size %#x, directory at %#x. file type %d\n",
     2888            Log(("RTDbgModCv: Found %c%c%c%c at %#x - size %#x, directory at %#x. file type %d\n",
    28852889                 RT_BYTE1(pCvHdr->u32Magic), RT_BYTE2(pCvHdr->u32Magic), RT_BYTE3(pCvHdr->u32Magic), RT_BYTE4(pCvHdr->u32Magic),
    28862890                 off, cb, pCvHdr->off, enmFileType));
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette