diff --git a/scripts/libmakepkg/tidy/strip.sh.in b/scripts/libmakepkg/tidy/strip.sh.in index 2ab68479..cf814323 100644 --- a/scripts/libmakepkg/tidy/strip.sh.in +++ b/scripts/libmakepkg/tidy/strip.sh.in @@ -66,6 +66,14 @@ package_source_files() { done < <(source_files "$binary") } +safe_objcopy() { + local binary=$1; shift + local tempfile=$(mktemp "$binary.XXXXXX") + objcopy "$@" "$binary" "$tempfile" + cat "$tempfile" > "$binary" + rm "$tempfile" +} + collect_debug_symbols() { local binary=$1; shift @@ -92,10 +100,7 @@ collect_debug_symbols() { return fi - local tempfile=$(mktemp "$binary.XXXXXX") - objcopy --add-gnu-debuglink="$dbgdir/${binary#/}.debug" "$binary" "$tempfile" - cat "$tempfile" > "$binary" - rm "$tempfile" + safe_objcopy "$binary" --add-gnu-debuglink="$dbgdir/${binary#/}.debug" # create any needed hardlinks while IFS= read -rd '' file ; do