Skip to content

Commit a439d24

Browse files
committed
Handle addr2line API changes.
1 parent ffa7487 commit a439d24

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

src/symbolize/gimli.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ use self::stash::Stash;
99
use super::BytesOrWideString;
1010
use super::ResolveWhat;
1111
use super::SymbolName;
12-
use addr2line::gimli;
12+
use addr2line::{gimli, LookupResultExt};
1313
use core::convert::TryInto;
1414
use core::mem;
1515
use core::u32;
@@ -358,7 +358,7 @@ pub unsafe fn resolve(what: ResolveWhat<'_>, cb: &mut dyn FnMut(&super::Symbol))
358358
None => return,
359359
};
360360
let mut any_frames = false;
361-
if let Ok(mut frames) = cx.dwarf.find_frames(addr as u64) {
361+
if let Ok(mut frames) = cx.dwarf.find_frames(addr as u64).skip_all_loads() {
362362
while let Ok(Some(frame)) = frames.next() {
363363
any_frames = true;
364364
let name = match frame.function {
@@ -374,7 +374,7 @@ pub unsafe fn resolve(what: ResolveWhat<'_>, cb: &mut dyn FnMut(&super::Symbol))
374374
}
375375
if !any_frames {
376376
if let Some((object_cx, object_addr)) = cx.object.search_object_map(addr as u64) {
377-
if let Ok(mut frames) = object_cx.dwarf.find_frames(object_addr) {
377+
if let Ok(mut frames) = object_cx.dwarf.find_frames(object_addr).skip_all_loads() {
378378
while let Ok(Some(frame)) = frames.next() {
379379
any_frames = true;
380380
call(Symbol::Frame {

0 commit comments

Comments
 (0)