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@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@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/to... GDB also looks in '.build-id' (lines 83, 102): https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob;f=gdb/build-... OProfile, same issue (lines 93, 104): http://sourceforge.net/p/oprofile/oprofile/ci/master/tree/libutil++/bfd_supp... 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