From 6700ca9f15c5a8aa3106c9b40dc8b7fa4c4c1409 Mon Sep 17 00:00:00 2001 From: pasta Date: Thu, 20 Nov 2025 12:36:35 -0600 Subject: [PATCH 1/2] fix: use proper host objcopy/readelf --- contrib/guix/libexec/build.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/contrib/guix/libexec/build.sh b/contrib/guix/libexec/build.sh index 6408234d89f9..88023e71c25f 100755 --- a/contrib/guix/libexec/build.sh +++ b/contrib/guix/libexec/build.sh @@ -345,7 +345,7 @@ mkdir -p "$DISTSRC" case "$HOST" in *linux*) # Compress DWARF sections in debug files and set proper permissions - find "${DISTNAME}" -name "*.dbg" -type f -print0 | xargs -0 -P"$JOBS" -I{} sh -c "objcopy --compress-debug-sections=zlib \"\$1\" \"\$1.tmp\" && mv \"\$1.tmp\" \"\$1\" && chmod 644 \"\$1\"" _ {} + find "${DISTNAME}" -name "*.dbg" -type f -print0 | xargs -0 -P"$JOBS" -I{} sh -c "${HOST}-objcopy --compress-debug-sections=zlib \"\$1\" \"\$1.tmp\" && mv \"\$1.tmp\" \"\$1\" && chmod 644 \"\$1\"" _ {} # Create .build-id tree for perf auto-discovery mkdir -p "${DISTNAME}/usr/lib/debug/.build-id" @@ -354,7 +354,7 @@ mkdir -p "$DISTSRC" find "${DISTNAME}/lib" -type f -print0 } | while IFS= read -r -d '' elf; do if file "$elf" | grep -q "ELF.*executable\|ELF.*shared object"; then - build_id=$(readelf -n "$elf" 2>/dev/null | awk '/Build ID/ {print $3; exit}') + build_id=$(${HOST}-readelf -n "$elf" 2>/dev/null | awk '/Build ID/ {print $3; exit}') if [ -n "$build_id" ] && [ -f "${elf}.dbg" ]; then dir="${DISTNAME}/usr/lib/debug/.build-id/${build_id:0:2}" mkdir -p "$dir" @@ -374,13 +374,13 @@ mkdir -p "$DISTSRC" while IFS= read -r -d '' elf; do if file "$elf" | grep -q "ELF.*executable\|ELF.*shared object"; then # Check for build-id - if ! readelf -n "$elf" 2>/dev/null | grep -q "Build ID"; then + if ! ${HOST}-readelf -n "$elf" 2>/dev/null | grep -q "Build ID"; then echo "ERROR: No build-id found in $elf" >&2 verification_failed=1 fi # Check for .gnu_debuglink - if ! readelf --string-dump=.gnu_debuglink "$elf" >/dev/null 2>&1; then + if ! ${HOST}-readelf --string-dump=.gnu_debuglink "$elf" >/dev/null 2>&1; then echo "ERROR: No .gnu_debuglink found in $elf" >&2 verification_failed=1 fi From 4d278c65744702d7fbf8bd836139bb14c74ed64e Mon Sep 17 00:00:00 2001 From: pasta Date: Thu, 20 Nov 2025 14:16:43 -0600 Subject: [PATCH 2/2] fix: shellcheck --- contrib/guix/libexec/build.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/contrib/guix/libexec/build.sh b/contrib/guix/libexec/build.sh index 88023e71c25f..4e378b000979 100755 --- a/contrib/guix/libexec/build.sh +++ b/contrib/guix/libexec/build.sh @@ -354,7 +354,7 @@ mkdir -p "$DISTSRC" find "${DISTNAME}/lib" -type f -print0 } | while IFS= read -r -d '' elf; do if file "$elf" | grep -q "ELF.*executable\|ELF.*shared object"; then - build_id=$(${HOST}-readelf -n "$elf" 2>/dev/null | awk '/Build ID/ {print $3; exit}') + build_id=$("${HOST}"-readelf -n "$elf" 2>/dev/null | awk '/Build ID/ {print $3; exit}') if [ -n "$build_id" ] && [ -f "${elf}.dbg" ]; then dir="${DISTNAME}/usr/lib/debug/.build-id/${build_id:0:2}" mkdir -p "$dir" @@ -374,13 +374,13 @@ mkdir -p "$DISTSRC" while IFS= read -r -d '' elf; do if file "$elf" | grep -q "ELF.*executable\|ELF.*shared object"; then # Check for build-id - if ! ${HOST}-readelf -n "$elf" 2>/dev/null | grep -q "Build ID"; then + if ! "${HOST}"-readelf -n "$elf" 2>/dev/null | grep -q "Build ID"; then echo "ERROR: No build-id found in $elf" >&2 verification_failed=1 fi # Check for .gnu_debuglink - if ! ${HOST}-readelf --string-dump=.gnu_debuglink "$elf" >/dev/null 2>&1; then + if ! "${HOST}"-readelf --string-dump=.gnu_debuglink "$elf" >/dev/null 2>&1; then echo "ERROR: No .gnu_debuglink found in $elf" >&2 verification_failed=1 fi