summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
authorMike Gilbert <floppym@gentoo.org>2023-11-02 11:04:07 -0400
committerMike Gilbert <floppym@gentoo.org>2023-11-04 13:25:56 -0400
commit3dae41abc9ea4c6d642ece7ce5bc54c0548b56a5 (patch)
tree705c7fc608fbefbe4532490858047512e1257ae8 /eclass
parentapp-text/sigil: add 2.0.2 (diff)
downloadgentoo-3dae41abc9ea4c6d642ece7ce5bc54c0548b56a5.tar.gz
gentoo-3dae41abc9ea4c6d642ece7ce5bc54c0548b56a5.tar.bz2
gentoo-3dae41abc9ea4c6d642ece7ce5bc54c0548b56a5.zip
toolchain-funcs.eclass: tc-ld-force-bfd: unset LD before calling tc-getLD
The previous logic would fail with common values of LD set by the user: LD="ld.lld" -> LD="ld.lld.bfd" LD="ld.gold" -> LD="ld.gold.bfd" LD="mold" -> LD="mold.bfd" It makes more sense to ignore the user's LD setting and use the default value given by tc-getLD. If the user doesn't have binutils installed, the "type -P" check will still fail and LD will be unaltered. Signed-off-by: Mike Gilbert <floppym@gentoo.org>
Diffstat (limited to 'eclass')
-rw-r--r--eclass/toolchain-funcs.eclass7
1 files changed, 3 insertions, 4 deletions
diff --git a/eclass/toolchain-funcs.eclass b/eclass/toolchain-funcs.eclass
index 4559894ca04a..8fef764ad597 100644
--- a/eclass/toolchain-funcs.eclass
+++ b/eclass/toolchain-funcs.eclass
@@ -534,10 +534,9 @@ tc-ld-force-bfd() {
ewarn "Forcing usage of the BFD linker"
# Set up LD to point directly to bfd if it's available.
- local ld=$(tc-getLD "$@")
- # We need to extract the first word in case there are flags appended
- # to its value (like multilib), bug #545218.
- local bfd_ld="${ld%% *}.bfd"
+ # Unset LD first so we get the default value from tc-getLD.
+ local ld=$(unset LD; tc-getLD "$@")
+ local bfd_ld="${ld}.bfd"
local path_ld=$(type -P "${bfd_ld}" 2>/dev/null)
[[ -e ${path_ld} ]] && export LD=${bfd_ld}