Lines Matching full:sects
444 bool getInfoFromEHABISection(pint_t pc, const UnwindInfoSections §s);
462 bool getInfoFromDwarfSection(pint_t pc, const UnwindInfoSections §s,
474 const UnwindInfoSections §s);
728 static _Self begin(A& addressSpace, const UnwindInfoSections& sects) {
729 return _Self(addressSpace, sects, 0);
731 static _Self end(A& addressSpace, const UnwindInfoSections& sects) {
732 return _Self(addressSpace, sects,
733 sects.arm_section_length / sizeof(EHABIIndexEntry));
736 EHABISectionIterator(A& addressSpace, const UnwindInfoSections& sects, size_t i)
737 : _i(i), _addressSpace(&addressSpace), _sects(§s) {}
778 const UnwindInfoSections §s) {
780 EHABISectionIterator<A>::begin(_addressSpace, sects);
782 EHABISectionIterator<A>::end(_addressSpace, sects);
917 const UnwindInfoSections §s,
925 foundFDE = CFI_Parser<A>::findFDE(_addressSpace, pc, sects.dwarf_section,
926 (uint32_t)sects.dwarf_section_length,
927 sects.dwarf_section + fdeSectionOffsetHint,
931 if (!foundFDE && (sects.dwarf_index_section != 0)) {
933 _addressSpace, pc, sects.dwarf_index_section,
934 (uint32_t)sects.dwarf_index_section_length, &fdeInfo, &cieInfo);
939 pint_t cachedFDE = DwarfFDECache<A>::findFDE(sects.dso_base, pc);
942 CFI_Parser<A>::findFDE(_addressSpace, pc, sects.dwarf_section,
943 (uint32_t)sects.dwarf_section_length,
950 foundFDE = CFI_Parser<A>::findFDE(_addressSpace, pc, sects.dwarf_section,
951 (uint32_t)sects.dwarf_section_length, 0,
968 _info.extra = (unw_word_t) sects.dso_base;
974 if (sects.dwarf_index_section == 0)
976 DwarfFDECache<A>::add(sects.dso_base, fdeInfo.pcStart, fdeInfo.pcEnd,
991 const UnwindInfoSections §s) {
995 (uint64_t)pc, (uint64_t)sects.dso_base);
998 sects.compact_unwind_section);
1003 pint_t targetFunctionOffset = pc - sects.dso_base;
1005 sects.compact_unwind_section
1030 sects.compact_unwind_section + topIndex.secondLevelPagesSectionOffset(low);
1032 sects.compact_unwind_section + topIndex.lsdaIndexArraySectionOffset(low);
1034 sects.compact_unwind_section + topIndex.lsdaIndexArraySectionOffset(low+1);
1066 funcEnd = firstLevelNextPageFunctionOffset + sects.dso_base;
1071 funcEnd = pageIndex.functionOffset(low + 1) + sects.dso_base;
1081 funcStart = pageIndex.functionOffset(low) + sects.dso_base;
1130 + sects.dso_base;
1134 + sects.dso_base;
1136 funcEnd = firstLevelNextPageFunctionOffset + sects.dso_base;
1153 sects.compact_unwind_section +
1167 (uint64_t) sects.compact_unwind_section);
1174 uint32_t funcStartOffset = (uint32_t)(funcStart - sects.dso_base);
1186 lsda = lsdaIndex.lsdaOffset(mid) + sects.dso_base;
1215 sects.compact_unwind_section +
1218 pint_t personalityPointer = sects.dso_base + (pint_t)personalityDelta;
1239 _info.extra = sects.dso_base;
1263 UnwindInfoSections sects;
1264 if (_addressSpace.findUnwindSections(pc, sects)) {
1267 if (sects.compact_unwind_section != 0) {
1268 if (this->getInfoFromCompactEncodingSection(pc, sects)) {
1272 if ((sects.dwarf_section != 0) && compactSaysUseDwarf(&dwarfOffset)) {
1273 if (this->getInfoFromDwarfSection(pc, sects, dwarfOffset)) {
1290 if (sects.dwarf_section != 0) {
1291 if (this->getInfoFromDwarfSection(pc, sects)) {
1300 if (sects.arm_section != 0 && this->getInfoFromEHABISection(pc, sects))