VirtualBox

Ignore:
Timestamp:
Aug 24, 2011 2:33:32 PM (14 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
73640
Message:

IPRT: Working on debug info again.

Location:
trunk/src/VBox/Runtime/common/ldr
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/common/ldr/ldrELFRelocatable.cpp.h

    r33540 r38515  
    685685
    686686
     687/** @copydoc RTLDROPS::pfnEnumDbgInfo */
     688static DECLCALLBACK(int) RTLDRELF_NAME(EnumDbgInfo)(PRTLDRMODINTERNAL pMod, const void *pvBits,
     689                                                    PFNRTLDRENUMDBG pfnCallback, void *pvUser)
     690{
     691    PRTLDRMODELF pModElf = (PRTLDRMODELF)pMod;
     692    NOREF(pvBits);
     693
     694    return VERR_NOT_IMPLEMENTED;
     695}
     696
    687697
    688698/**
     
    705715    RTLDRELF_NAME(Relocate),
    706716    RTLDRELF_NAME(GetSymbolEx),
    707     0
     717    RTLDRELF_NAME(EnumDbgInfo),
     718    42
    708719};
    709720
  • trunk/src/VBox/Runtime/common/ldr/ldrEx.cpp

    r33540 r38515  
    340340RTDECL(int) RTLdrEnumSymbols(RTLDRMOD hLdrMod, unsigned fFlags, const void *pvBits, RTUINTPTR BaseAddress, PFNRTLDRENUMSYMS pfnCallback, void *pvUser)
    341341{
    342     LogFlow(("RTLdrEnumSymbols: hLdrMod=%RTldrm fFlags=%#x pvBit=%p BaseAddress=%RTptr pfnCallback=%p pvUser=%p\n",
     342    LogFlow(("RTLdrEnumSymbols: hLdrMod=%RTldrm fFlags=%#x pvBits=%p BaseAddress=%RTptr pfnCallback=%p pvUser=%p\n",
    343343             hLdrMod, fFlags, pvBits, BaseAddress, pfnCallback, pvUser));
    344344
     
    361361RT_EXPORT_SYMBOL(RTLdrEnumSymbols);
    362362
     363
     364RTDECL(int) RTLdrEnumDbgInfo(RTLDRMOD hLdrMod, const void *pvBits, PFNRTLDRENUMDBG pfnCallback, void *pvUser)
     365{
     366    LogFlow(("RTLdrEnumDbgInfo: hLdrMod=%RTldrm pvBits=%p pfnCallback=%p pvUser=%p\n",
     367             hLdrMod, pvBits, pfnCallback, pvUser));
     368
     369    /*
     370     * Validate input.
     371     */
     372    AssertMsgReturn(rtldrIsValid(hLdrMod), ("hLdrMod=%p\n", hLdrMod), VERR_INVALID_HANDLE);
     373    AssertMsgReturn(!pvBits || RT_VALID_PTR(pvBits), ("pvBits=%p\n", pvBits), VERR_INVALID_PARAMETER);
     374    AssertMsgReturn(RT_VALID_PTR(pfnCallback), ("pfnCallback=%p\n", pfnCallback), VERR_INVALID_PARAMETER);
     375    PRTLDRMODINTERNAL pMod = (PRTLDRMODINTERNAL)hLdrMod;
     376    //AssertMsgReturn(pMod->eState == LDR_STATE_OPENED, ("eState=%d\n", pMod->eState), VERR_WRONG_ORDER);
     377
     378    /*
     379     * Do it.
     380     */
     381    int rc;
     382    if (pMod->pOps->pfnEnumDbgInfo)
     383        rc = pMod->pOps->pfnEnumDbgInfo(pMod, pvBits, pfnCallback, pvUser);
     384    else
     385        rc = VERR_NOT_SUPPORTED;
     386
     387    LogFlow(("RTLdrEnumDbgInfo: returns %Rrc\n", rc));
     388    return rc;
     389}
     390RT_EXPORT_SYMBOL(RTLdrEnumDbgInfo);
     391
  • trunk/src/VBox/Runtime/common/ldr/ldrNative.cpp

    r35191 r38515  
    6969    rtldrNativeEnumSymbols,
    7070    /* ext: */
     71    NULL,
    7172    NULL,
    7273    NULL,
  • trunk/src/VBox/Runtime/common/ldr/ldrPE.cpp

    r36969 r38515  
    768768
    769769
     770/** @copydoc RTLDROPS::pfnEnumDbgInfo. */
     771static DECLCALLBACK(int) rtldrPE_EnumDbgInfo(PRTLDRMODINTERNAL pMod, const void *pvBits,
     772                                             PFNRTLDRENUMDBG pfnCallback, void *pvUser)
     773{
     774    return VINF_NOT_SUPPORTED;
     775}
     776
     777
    770778/** @copydoc RTLDROPS::pfnDone */
    771779static DECLCALLBACK(int) rtldrPEDone(PRTLDRMODINTERNAL pMod)
     
    826834        rtldrPERelocate,
    827835        rtldrPEGetSymbolEx,
     836        rtldrPE_EnumDbgInfo,
    828837        42
    829838    },
     
    849858        rtldrPERelocate,
    850859        rtldrPEGetSymbolEx,
     860        rtldrPE_EnumDbgInfo,
    851861        42
    852862    },
  • trunk/src/VBox/Runtime/common/ldr/ldrkStuff.cpp

    r28800 r38515  
    136136static DECLCALLBACK(int) rtkldrGetSymbolEx(PRTLDRMODINTERNAL pMod, const void *pvBits, RTUINTPTR BaseAddress,
    137137                                           const char *pszSymbol, RTUINTPTR *pValue);
     138static DECLCALLBACK(int) rtkldr_EnumDbgInfo(PRTLDRMODINTERNAL pMod, const void *pvBits,
     139                                            PFNRTLDRENUMDBG pfnCallback, void *pvUser);
    138140
    139141
     
    442444    rtkldrRelocate,
    443445    rtkldrGetSymbolEx,
     446    rtkldr_EnumDbgInfo,
    444447    42
    445448};
     
    627630}
    628631
     632
     633/** @copydoc RTLDROPS::pfnEnumDbgInfo */
     634static DECLCALLBACK(int) rtkldr_EnumDbgInfo(PRTLDRMODINTERNAL pMod, const void *pvBits,
     635                                            PFNRTLDRENUMDBG pfnCallback, void *pvUser)
     636{
     637    return VERR_NOT_SUPPORTED;
     638}
    629639
    630640
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