Note the example is from a 14.2-RELEASE context.

# addr2line -f -e /usr/local/sbin/pkg-static 0x464c84
addr2line: dwarf_tag failed: Invalid argument [dwarf_tag(242)]
??
??:0

vs.:

# gdb /usr/local/sbin/pkg-static
GNU gdb (GDB) 15.1 [GDB v15.1 for FreeBSD]
. . .
Reading symbols from /usr/local/sbin/pkg-static...
(gdb) info line *0x464c84
No line number information available for address 0x464c84 <exec_key+600>
(gdb) info symbol 0x464c84
exec_key + 600 in section .text

and:

# lldb /usr/local/sbin/pkg-static
(lldb) target create "/usr/local/sbin/pkg-static"
Current executable set to '/usr/local/sbin/pkg-static' (aarch64).
(lldb) target modules lookup -a 0x464c84
      Address: pkg-static[0x0000000000464c84] (pkg-static.PT_LOAD[1]..text + 
35972)
      Summary: pkg-static`exec_key + 600



An example of where addr2line does work:

# addr2line -f -e /usr/local/sbin/pkg-static 0x70c28c
enc_uint64
/usr/src/contrib/libarchive/libarchive/archive_write_set_format_7zip.c:891

vs.

# gdb /usr/local/sbin/pkg-static
GNU gdb (GDB) 15.1 [GDB v15.1 for FreeBSD]
. . .
Reading symbols from /usr/local/sbin/pkg-static...
. . .
(gdb) info line *0x70c28c
Line 891 of 
"/usr/src/contrib/libarchive/libarchive/archive_write_set_format_7zip.c" starts 
at address 0x70c28c <make_streamsInfo+1088> and ends at 0x70c290 
<make_streamsInfo+1092>.
(gdb) info symbol 0x70c28c
make_streamsInfo + 1088 in section .text

and:

# lldb /usr/local/sbin/pkg-static
(lldb) target create "/usr/local/sbin/pkg-static"
Current executable set to '/usr/local/sbin/pkg-static' (aarch64).
(lldb) target modules lookup -a 0x70c28c
      Address: pkg-static[0x000000000070c28c] (pkg-static.PT_LOAD[1]..text + 
2818700)
      Summary: pkg-static`make_streamsInfo + 1088 [inlined] enc_uint64 + 68 at 
archive_write_set_format_7zip.c:891:14
               pkg-static`make_streamsInfo + 1020 at 
archive_write_set_format_7zip.c:1022:7



===
Mark Millard
marklmi at yahoo.com


Reply via email to