Gentoo Archives: gentoo-commits

From: Mike Gilbert <floppym@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/portage:master commit in: bin/
Date: Mon, 01 Nov 2021 17:32:19
Message-Id: 1635705864.77288903dfbc98a0d707fd8093d3b2b55ee049e6.floppym@gentoo
1 commit: 77288903dfbc98a0d707fd8093d3b2b55ee049e6
2 Author: Mike Gilbert <floppym <AT> gentoo <DOT> org>
3 AuthorDate: Sun Oct 31 18:43:17 2021 +0000
4 Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
5 CommitDate: Sun Oct 31 18:44:24 2021 +0000
6 URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=77288903
7
8 estrip: skip build-id link creation if we fail to create a debug file
9
10 Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>
11
12 bin/estrip | 29 +++++++++++++++--------------
13 1 file changed, 15 insertions(+), 14 deletions(-)
14
15 diff --git a/bin/estrip b/bin/estrip
16 index e33977091..050d30a6f 100755
17 --- a/bin/estrip
18 +++ b/bin/estrip
19 @@ -243,23 +243,24 @@ save_elf_debug() {
20 chmod ${args} "${dst}"
21 # symlink so we can read the name back.
22 ln -s "${dst}" "${inode_debug}" || die
23 +
24 + # if we don't already have build-id from debugedit, look it up
25 + if [[ -z ${buildid} ]] ; then
26 + # convert the readelf output to something useful
27 + buildid=$(${READELF} -n "${src}" 2>/dev/null | awk '/Build ID:/{ print $NF; exit }')
28 + fi
29 + if [[ -n ${buildid} ]] ; then
30 + local buildid_dir="${ED%/}/usr/lib/debug/.build-id/${buildid:0:2}"
31 + local buildid_file="${buildid_dir}/${buildid:2}"
32 + local src_buildid_rel="../../../../../${src#${ED%/}/}"
33 + local dst_buildid_rel="../../${dst#${ED%/}/usr/lib/debug/}"
34 + mkdir -p "${buildid_dir}" || die
35 + [[ -L "${buildid_file}".debug ]] || ln -s "${dst_buildid_rel}" "${buildid_file}.debug" || die
36 + [[ -L "${buildid_file}" ]] || ln -s "${src_buildid_rel}" "${buildid_file}" || die
37 + fi
38 fi
39 fi
40
41 - # if we don't already have build-id from debugedit, look it up
42 - if [[ -z ${buildid} ]] ; then
43 - # convert the readelf output to something useful
44 - buildid=$(${READELF} -n "${src}" 2>/dev/null | awk '/Build ID:/{ print $NF; exit }')
45 - fi
46 - if [[ -n ${buildid} ]] ; then
47 - local buildid_dir="${ED%/}/usr/lib/debug/.build-id/${buildid:0:2}"
48 - local buildid_file="${buildid_dir}/${buildid:2}"
49 - local src_buildid_rel="../../../../../${src#${ED%/}/}"
50 - local dst_buildid_rel="../../${dst#${ED%/}/usr/lib/debug/}"
51 - mkdir -p "${buildid_dir}"
52 - [[ -L "${buildid_file}".debug ]] || ln -s "${dst_buildid_rel}" "${buildid_file}.debug"
53 - [[ -L "${buildid_file}" ]] || ln -s "${src_buildid_rel}" "${buildid_file}"
54 - fi
55 }
56
57 # Usage: process_elf <elf>