VirtualBox

Ignore:
Timestamp:
Mar 31, 2016 1:21:14 AM (9 years ago)
Author:
vboxsync
Message:

rtDbgModCvSsProcessV4PlusSymTab: Process LProc16, GProc16, LProc32 and GProc32 to get static functions.

File:
1 edited

Legend:

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

    r60263 r60266  
    710710                }
    711711
    712                 /** @todo add GProc and LProc so we can gather sizes as well as just symbols. */
     712                case kCvSymType_LProc16:
     713                case kCvSymType_GProc16:
     714                {
     715                    RTDBGMODCV_CHECK_NOMSG_RET_BF(cbRec > 2 + 4+4+4+2+2+2+2+2+2+1+1);
     716                    /*uint32_t uParent       =*/ *uCursor.pu32++;
     717                    /*uint32_t uEnd          =*/ *uCursor.pu32++;
     718                    /*uint32_t uNext         =*/ *uCursor.pu32++;
     719                    uint16_t cbProc        = *uCursor.pu16++;
     720                    /*uint16_t offDebugStart =*/ *uCursor.pu16++;
     721                    /*uint16_t offDebugEnd   =*/ *uCursor.pu16++;
     722                    uint16_t off           = *uCursor.pu16++;
     723                    uint16_t iSeg          = *uCursor.pu16++;
     724                    /*uint16_t iProcType     =*/ *uCursor.pu16++;
     725                    /*uint8_t fbType         =*/ *uCursor.pu8++;
     726                    uint8_t  cchName       = *uCursor.pu8++;
     727                    RTDBGMODCV_CHECK_NOMSG_RET_BF(cchName > 0);
     728                    RTDBGMODCV_CHECK_NOMSG_RET_BF(cbRec >= 2 + 4+4+4+2+2+2+2+2+2+1+1 + cchName);
     729
     730                    rc = rtDbgModCvAddSymbol(pThis, iSeg, off, uCursor.pch, cchName, 0, cbProc);
     731                    break;
     732                }
     733
     734                case kCvSymType_LProc32:
     735                case kCvSymType_GProc32:
     736                {
     737                    RTDBGMODCV_CHECK_NOMSG_RET_BF(cbRec > 2 + 4+4+4+4+4+4+4+2+2+1+1);
     738                    /*uint32_t uParent       =*/ *uCursor.pu32++;
     739                    /*uint32_t uEnd          =*/ *uCursor.pu32++;
     740                    /*uint32_t uNext         =*/ *uCursor.pu32++;
     741                    uint32_t cbProc        = *uCursor.pu32++;
     742                    /*uint32_t offDebugStart =*/ *uCursor.pu32++;
     743                    /*uint32_t offDebugEnd   =*/ *uCursor.pu32++;
     744                    uint32_t off           = *uCursor.pu32++;
     745                    uint16_t iSeg          = *uCursor.pu16++;
     746                    /*uint16_t iProcType     =*/ *uCursor.pu16++;
     747                    /*uint8_t fbType         =*/ *uCursor.pu8++;
     748                    uint8_t  cchName       = *uCursor.pu8++;
     749                    RTDBGMODCV_CHECK_NOMSG_RET_BF(cchName > 0);
     750                    RTDBGMODCV_CHECK_NOMSG_RET_BF(cbRec >= 2 + 4+4+4+4+4+4+4+2+2+1+1 + cchName);
     751
     752                    rc = rtDbgModCvAddSymbol(pThis, iSeg, off, uCursor.pch, cchName, 0, 0);
     753                    break;
     754                }
    713755
    714756                case kCvSymType_V3_Label:
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