Page MenuHomeFreeBSD

addr2line: skip CUs lacking debug info instead of bailing out
ClosedPublic

Authored by emaste on Sep 22 2015, 4:13 PM.
Tags
None
Referenced Files
Unknown Object (File)
Feb 20 2024, 2:19 PM
Unknown Object (File)
Dec 20 2023, 1:23 AM
Unknown Object (File)
Dec 11 2023, 7:42 AM
Unknown Object (File)
Aug 24 2023, 9:03 PM
Unknown Object (File)
Aug 13 2023, 6:45 AM
Unknown Object (File)
Aug 8 2023, 9:54 PM
Unknown Object (File)
Aug 8 2023, 9:53 PM
Unknown Object (File)
Aug 8 2023, 9:52 PM
Subscribers
None

Details

Summary

Some binaries (such as the FreeBSD kernel) contain a mixture of CUs with and without debug information. Previously translate() exited upon encountering a CU without debug information. Instead, just move on to the next CU.

Current behaviour:

addr2line -e /usr/lib/debug/boot/kernel/kernel.debug ffffffff80d27d30
addr2line: dwarf_srclines: No entry found [dwarf_srclines(69)]
/tank/emaste/src/git-stable-10/sys/compat/freebsd32/freebsd32_misc.c:3186

With this change:

addr2line -e /usr/lib/debug/boot/kernel/kernel.debug ffffffff80d27d30
/tank/emaste/src/git-stable-10/sys/amd64/amd64/machdep.c:1813

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

emaste retitled this revision from to addr2line: skip CUs lacking debug info instead of bailing out.
emaste updated this object.
emaste edited the test plan for this revision. (Show Details)
emaste added a reviewer: royger.
royger edited edge metadata.

Looks good to me.

This revision is now accepted and ready to land.Sep 22 2015, 4:32 PM
This revision was automatically updated to reflect the committed changes.
cem edited edge metadata.

LGTM (phab won't let me "Accept" this because it's Closed).