-
Notifications
You must be signed in to change notification settings - Fork 40
Support for /usr/lib/debug/.build-id #1401
Copy link
Copy link
Closed
Description
It's basically debuginfod protocol, but on local filesystem. See fedora and debian, which both use it.
Here's blazecli on Debian Trixie:
$ blazecli symbolize elf --path /lib/aarch64-linux-gnu/libc.so.6 0xe34c0
2025-12-30T00:08:20.785128Z WARN debug link references destination `2c35038e644c70c27979cb0b90182f43f6794b.debug` which was not found in any known location
0x000000000e34c0: __openat_2 @ 0xe34c0+0x0
Compare this to llvm-addr2line:
$ llvm-addr2line -ife /lib/aarch64-linux-gnu/libc.so.6 0xe34c0
__openat_2
./io/openat_2.c:24
$ strace -e openat llvm-addr2line -ife /lib/aarch64-linux-gnu/libc.so.6 0xe34c0 2>&1 | grep build-id
openat(AT_FDCWD, "/usr/lib/debug/.build-id/b3/2c35038e644c70c27979cb0b90182f43f6794b.debug", O_RDONLY|O_CLOEXEC) = 3
Here's the commit that enabled llvm to do this: llvm/llvm-project@00e436f.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels