Lines Matching defs:pDie

589  * @param   pDie            Pointer to the DIE structure.
595 typedef DECLCALLBACK(int) FNRTDWARFATTRDECODER(PRTDWARFDIE pDie, uint8_t *pbMember, PCRTDWARFATTRDESC pDesc,
1026 static int rtDwarfInfo_ParseDie(PRTDBGMODDWARF pThis, PRTDWARFDIE pDie, PCRTDWARFDIEDESC pDieDesc,
3034 * @param pDie Some DIE in the unit.
3036 static PRTDWARFDIECOMPILEUNIT rtDwarfDie_GetCompileUnit(PRTDWARFDIE pDie)
3038 while (pDie->pParent)
3039 pDie = pDie->pParent;
3040 AssertReturn( pDie->uTag == DW_TAG_compile_unit
3041 || pDie->uTag == DW_TAG_partial_unit,
3043 return (PRTDWARFDIECOMPILEUNIT)pDie;
3085 static DECLCALLBACK(int) rtDwarfDecode_Address(PRTDWARFDIE pDie, uint8_t *pbMember, PCRTDWARFATTRDESC pDesc,
3089 NOREF(pDie);
3115 static DECLCALLBACK(int) rtDwarfDecode_Bool(PRTDWARFDIE pDie, uint8_t *pbMember, PCRTDWARFATTRDESC pDesc,
3119 NOREF(pDie);
3150 static DECLCALLBACK(int) rtDwarfDecode_LowHighPc(PRTDWARFDIE pDie, uint8_t *pbMember, PCRTDWARFATTRDESC pDesc,
3155 NOREF(pDie);
3209 static DECLCALLBACK(int) rtDwarfDecode_Ranges(PRTDWARFDIE pDie, uint8_t *pbMember, PCRTDWARFATTRDESC pDesc,
3214 NOREF(pDie);
3262 static DECLCALLBACK(int) rtDwarfDecode_Reference(PRTDWARFDIE pDie, uint8_t *pbMember, PCRTDWARFATTRDESC pDesc,
3305 PRTDWARFDIECOMPILEUNIT pUnit = rtDwarfDie_GetCompileUnit(pDie);
3327 static DECLCALLBACK(int) rtDwarfDecode_SectOff(PRTDWARFDIE pDie, uint8_t *pbMember, PCRTDWARFATTRDESC pDesc,
3331 NOREF(pDie);
3375 static DECLCALLBACK(int) rtDwarfDecode_String(PRTDWARFDIE pDie, uint8_t *pbMember, PCRTDWARFATTRDESC pDesc,
3379 NOREF(pDie);
3403 static DECLCALLBACK(int) rtDwarfDecode_UnsignedInt(PRTDWARFDIE pDie, uint8_t *pbMember, PCRTDWARFATTRDESC pDesc,
3406 NOREF(pDie);
3691 static DECLCALLBACK(int) rtDwarfDecode_SegmentLoc(PRTDWARFDIE pDie, uint8_t *pbMember, PCRTDWARFATTRDESC pDesc,
3694 NOREF(pDie);
3812 * @param pDie The internal DIE structure to fill.
3814 static int rtDwarfInfo_SnoopSymbols(PRTDBGMODDWARF pThis, PRTDWARFDIE pDie)
3817 switch (pDie->uTag)
3821 PRTDWARFDIESUBPROGRAM pSubProgram = (PRTDWARFDIESUBPROGRAM)pDie;
3891 PCRTDWARFDIELABEL pLabel = (PCRTDWARFDIELABEL)pDie;
3926 * @param pDie The DIE structure.
3929 static void rtDwarfInfo_InitDie(PRTDWARFDIE pDie, PCRTDWARFDIEDESC pDieDesc)
3944 *(uint8_t *)((uintptr_t)pDie + pDieDesc->paAttributes[i].off) = UINT8_MAX;
3947 *(uint16_t *)((uintptr_t)pDie + pDieDesc->paAttributes[i].off) = UINT16_MAX;
3950 *(uint32_t *)((uintptr_t)pDie + pDieDesc->paAttributes[i].off) = UINT32_MAX;
3953 *(uint64_t *)((uintptr_t)pDie + pDieDesc->paAttributes[i].off) = UINT64_MAX;
3957 memset((uint8_t *)pDie + pDieDesc->paAttributes[i].off, 0xff,
3987 PRTDWARFDIE pDie = (PRTDWARFDIE)RTMemCacheAlloc(pThis->aDieAllocators[iAllocator].hMemCache);
3989 PRTDWARFDIE pDie = (PRTDWARFDIE)RTMemAllocZ(pDieDesc->cbDie);
3991 if (pDie)
3994 RT_BZERO(pDie, pDieDesc->cbDie);
3995 pDie->iAllocator = iAllocator;
3997 rtDwarfInfo_InitDie(pDie, pDieDesc);
3999 pDie->uTag = pAbbrev->uTag;
4000 pDie->offSpec = pAbbrev->offSpec;
4001 pDie->pParent = pParent;
4003 RTListAppend(&pParent->ChildList, &pDie->SiblingNode);
4005 RTListInit(&pDie->SiblingNode);
4006 RTListInit(&pDie->ChildList);
4009 return pDie;
4040 * @param pDie The DIE to free.
4042 static void rtDwarfInfo_FreeDie(PRTDBGMODDWARF pThis, PRTDWARFDIE pDie)
4044 rtDwarfInfo_FreeChildren(pThis, pDie);
4045 RTListNodeRemove(&pDie->SiblingNode);
4047 RTMemCacheFree(pThis->aDieAllocators[pDie->iAllocator].hMemCache, pDie);
4156 * @param pDie The internal DIE structure to fill.
4165 static int rtDwarfInfo_ParseDie(PRTDBGMODDWARF pThis, PRTDWARFDIE pDie, PCRTDWARFDIEDESC pDieDesc,
4174 rtDwarfInfo_InitDie(pDie, pDieDesc);
4191 rc = pAttr->pfnDecoder(pDie, (uint8_t *)pDie + pAttr->off, pAttr, uForm, pCursor);
4197 pDie->cDecodedAttrs++;
4200 pDie->cUnhandledAttrs++;
4217 rc = rtDwarfInfo_SnoopSymbols(pThis, pDie);