commit: 77288903dfbc98a0d707fd8093d3b2b55ee049e6
Author: Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 31 18:43:17 2021 +0000
Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Sun Oct 31 18:44:24 2021 +0000
URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=77288903
estrip: skip build-id link creation if we fail to create a debug file
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>
bin/estrip | 29 +++++++++++++++--------------
1 file changed, 15 insertions(+), 14 deletions(-)
diff --git a/bin/estrip b/bin/estrip
index e33977091..050d30a6f 100755
--- a/bin/estrip
+++ b/bin/estrip
@@ -243,23 +243,24 @@ save_elf_debug() {
chmod ${args} "${dst}"
# symlink so we can read the name back.
ln -s "${dst}" "${inode_debug}" || die
+
+ # if we don't already have build-id from debugedit,
look it up
+ if [[ -z ${buildid} ]] ; then
+ # convert the readelf output to something useful
+ buildid=$(${READELF} -n "${src}" 2>/dev/null |
awk '/Build ID:/{ print $NF; exit }')
+ fi
+ if [[ -n ${buildid} ]] ; then
+ local
buildid_dir="${ED%/}/usr/lib/debug/.build-id/${buildid:0:2}"
+ local buildid_file="${buildid_dir}/${buildid:2}"
+ local
src_buildid_rel="../../../../../${src#${ED%/}/}"
+ local
dst_buildid_rel="../../${dst#${ED%/}/usr/lib/debug/}"
+ mkdir -p "${buildid_dir}" || die
+ [[ -L "${buildid_file}".debug ]] || ln -s
"${dst_buildid_rel}" "${buildid_file}.debug" || die
+ [[ -L "${buildid_file}" ]] || ln -s
"${src_buildid_rel}" "${buildid_file}" || die
+ fi
fi
fi
- # if we don't already have build-id from debugedit, look it up
- if [[ -z ${buildid} ]] ; then
- # convert the readelf output to something useful
- buildid=$(${READELF} -n "${src}" 2>/dev/null | awk '/Build
ID:/{ print $NF; exit }')
- fi
- if [[ -n ${buildid} ]] ; then
- local
buildid_dir="${ED%/}/usr/lib/debug/.build-id/${buildid:0:2}"
- local buildid_file="${buildid_dir}/${buildid:2}"
- local src_buildid_rel="../../../../../${src#${ED%/}/}"
- local dst_buildid_rel="../../${dst#${ED%/}/usr/lib/debug/}"
- mkdir -p "${buildid_dir}"
- [[ -L "${buildid_file}".debug ]] || ln -s "${dst_buildid_rel}"
"${buildid_file}.debug"
- [[ -L "${buildid_file}" ]] || ln -s "${src_buildid_rel}"
"${buildid_file}"
- fi
}
# Usage: process_elf <elf>