[pacman-dev] Pacman split debug info symbol path
Steven Noonan
steven at uplinklabs.net
Sat Mar 29 13:36:29 EDT 2014
Hi folks,
I think the directory Pacman is using for the split-out debug symbols
is incorrect. This appears to be needed:
commit 61ed104abf95ac38e7d317c760807f308ea90555
Author: Steven Noonan <steven at uplinklabs.net>
Date: Wed Feb 12 05:44:16 2014 -0800
makepkg: use dash instead of underscore in /usr/lib/debug/.build-id
Signed-off-by: Steven Noonan <steven at uplinklabs.net>
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index 027fcc3..7e663af 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -1525,7 +1525,7 @@ strip_file() {
# has this file already been stripped
if [[ -n "$bid" ]]; then
- if [[ -f
"$dbgdir/.build_id/${bid:0:2}/${bid:2}.debug" ]]; then
+ if [[ -f
"$dbgdir/.build-id/${bid:0:2}/${bid:2}.debug" ]]; then
return
fi
elif [[ -f "$dbgdir/$binary.debug" ]]; then
@@ -1546,15 +1546,15 @@ strip_file() {
if [[ -n "$bid" ]]; then
local target
- mkdir -p "$dbgdir/.build_id/${bid:0:2}"
+ mkdir -p "$dbgdir/.build-id/${bid:0:2}"
target="../../../../../${binary#./}"
target="${target/..\/..\/usr\/lib\/}"
target="${target/..\/usr\/}"
- ln -s "$target" "$dbgdir/.build_id/${bid:0:2}/${bid:2}"
+ ln -s "$target" "$dbgdir/.build-id/${bid:0:2}/${bid:2}"
target="../../${binary#./}.debug"
- ln -s "$target"
"$dbgdir/.build_id/${bid:0:2}/${bid:2}.debug"
+ ln -s "$target"
"$dbgdir/.build-id/${bid:0:2}/${bid:2}.debug"
fi
fi
To justify this change, I can't find any tools that actually look in
'build_id' (with an underscore) when searching for symbols.
For example, perf does this (lines 101, 105):
https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/tools/perf/util/build-id.c#n92
GDB also looks in '.build-id' (lines 83, 102):
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob;f=gdb/build-id.c;h=491900b3e545c72325a54fc79847b8872fa63aae;hb=HEAD#l73
OProfile, same issue (lines 93, 104):
http://sourceforge.net/p/oprofile/oprofile/ci/master/tree/libutil++/bfd_support.cpp
I noticed tool breakage back when I submitted the kernel module
split+debug patch, but kept the patch to myself because I figured I
must have been missing the rationale for the difference, but I've been
so far unable to find any.
- Steven
More information about the pacman-dev
mailing list