summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAllan McRae <allan@archlinux.org>2021-03-27 00:13:05 +0100
committerAllan McRae <allan@archlinux.org>2021-03-27 00:22:15 +0100
commitbdf6aa3fb757a2363a4e708174b7d23a4997763d (patch)
tree6492a83937c1a587c0e97cae52d85d0bacc1b94e
parent1e60a5f00674a9a9b0c530c741bd6701d0e1e834 (diff)
downloadpacman-bdf6aa3fb757a2363a4e708174b7d23a4997763d.tar.gz
pacman-bdf6aa3fb757a2363a4e708174b7d23a4997763d.tar.xz
libmakepkg: fix detection of source file names for debug packages
The current gcc build from git master give different output from readelf: gcc-10.2.0 $ readelf "hello" --debug-dump | grep hello <11> DW_AT_name : (indirect string, offset: 0xbfc): hello.cpp gcc-git $ readelf "hello" --debug-dump | grep hello <12> DW_AT_name : (indirect line string, offset: 0x0): hello.cpp This causes the awk statement extracting the file name to fail as it relied on the information being in the 8th field. Instead, extract the information from the final field. Fixes FS#70168 Signed-off-by: Allan McRae <allan@archlinux.org>
-rw-r--r--scripts/libmakepkg/tidy/strip.sh.in2
1 files changed, 1 insertions, 1 deletions
diff --git a/scripts/libmakepkg/tidy/strip.sh.in b/scripts/libmakepkg/tidy/strip.sh.in
index ceb2a108..737c5115 100644
--- a/scripts/libmakepkg/tidy/strip.sh.in
+++ b/scripts/libmakepkg/tidy/strip.sh.in
@@ -37,7 +37,7 @@ build_id() {
source_files() {
LANG=C readelf "$1" --debug-dump | \
- awk '/DW_AT_name +:/{name=$8}/DW_AT_comp_dir +:/{{if (name == "<artificial>") next}{if (name !~ /^[<\/]/) {printf "%s/", $8}}{print name}}'
+ awk '/DW_AT_name +:/{name=$NF}/DW_AT_comp_dir +:/{{if (name == "<artificial>") next}{if (name !~ /^[<\/]/) {printf "%s/", $NF}}{print name}}'
}
strip_file() {