Home | History | Annotate | Download | only in libbacktrace

Lines Matching full:debug_frame

240   // If call frame information is stored in .debug_frame, libunwind can read it from file
272 DebugFrameInfo* debug_frame = GetDebugFrameInFile(filename);
273 if (debug_frame == nullptr) {
283 uint64_t ip_vaddr = ip - map.start + debug_frame->min_vaddr;
285 // The unwind info can come from .ARM.exidx or .eh_frame, or .debug_frame/.gnu_debugdata.
286 // First check .eh_frame/.debug_frame, then check .ARM.exidx. Because .eh_frame/.debug_frame has
290 // To prevent ip addresses hit in .eh_frame/.debug_frame being regarded as addresses hit in
291 // .ARM.exidx, we need to check .eh_frame/.debug_frame first.
292 if (debug_frame->has_eh_frame) {
293 if (ip_vaddr >= debug_frame->eh_frame.min_func_vaddr &&
294 ip_vaddr < debug_frame->text_end_vaddr) {
296 eh_frame_hdr_space_.start = ip - ip_vaddr + debug_frame->eh_frame.hdr_vaddr;
298 eh_frame_hdr_space_.start + debug_frame->eh_frame.hdr_data.size();
299 eh_frame_hdr_space_.data = debug_frame->eh_frame.hdr_data.data();
300 eh_frame_space_.start = ip - ip_vaddr + debug_frame->eh_frame.vaddr;
301 eh_frame_space_.end = eh_frame_space_.start + debug_frame->eh_frame.data.size();
302 eh_frame_space_.data = debug_frame->eh_frame.data.data();
312 eh_frame_hdr_space_.start + debug_frame->eh_frame.fde_table_offset;
321 if (debug_frame->has_debug_frame || debug_frame->has_gnu_debugdata) {
335 if (debug_frame->has_arm_exidx) {
336 auto& func_vaddrs = debug_frame->arm_exidx.func_vaddr_array;
337 if (ip_vaddr >= func_vaddrs[0] && ip_vaddr < debug_frame->text_end_vaddr) {
349 debug_frame->arm_exidx.exidx_vaddr +
350 debug_frame->min_vaddr));
354 arm_exidx_space_.start = debug_frame->min_vaddr + debug_frame->arm_exidx.exidx_vaddr;
356 debug_frame->arm_exidx.exidx_data.size() * sizeof(ArmIdxEntry);
358 debug_frame->arm_exidx.exidx_data.data());
360 arm_extab_space_.start = debug_frame->min_vaddr + debug_frame->arm_exidx.extab_vaddr;
362 debug_frame->arm_exidx.extab_data.size();
363 arm_extab_space_.data = debug_frame->arm_exidx.extab_data.data();
573 DebugFrameInfo* debug_frame = ReadDebugFrameFromFile(filename);
579 auto pair = g_debug_frames->emplace(filename, std::unique_ptr<DebugFrameInfo>(debug_frame));
581 debug_frame = pair.first->second.get();
584 return debug_frame;
662 if (s == ".debug_frame") {