commit: 74bdd9e7cc01112a7bdacc82730f6492113e37f6
Author: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 5 18:06:28 2020 +0000
Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Sat Sep 5 18:06:28 2020 +0000
URL: https://gitweb.gentoo.org/proj/gcc-config.git/commit/?id=74bdd9e7
gcc-config: maintain ABI ordering for LDPATH
Before the change we ordered paths in reverse order
for both gcc versions and ABI lists:
$ cat /etc/ld.so.conf.d/05gcc-x86_64-pc-linux-gnu.conf
/usr/lib/gcc/x86_64-pc-linux-gnu/11.0.0/32
/usr/lib/gcc/x86_64-pc-linux-gnu/11.0.0
/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/32
/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0
After the change we preserved ABI ordering
and use reverse gcc version ordering:
$ cat /etc/ld.so.conf.d/05gcc-x86_64-pc-linux-gnu.conf
/usr/lib/gcc/x86_64-pc-linux-gnu/11.0.0
/usr/lib/gcc/x86_64-pc-linux-gnu/11.0.0/32
/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0
/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/32
In theory both should work. I practice some systems (like
riscv today) do not distinct between some ABIs. Let's
list valid ABI first to keep such systems running.
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>
gcc-config | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gcc-config b/gcc-config
index dee6f98..615e43b 100755
--- a/gcc-config
+++ b/gcc-config
@@ -720,7 +720,7 @@ switch_profile() {
local MY_LDPATH
MY_LDPATH=$(${SED} -n \
-e '/^LDPATH=/{s|LDPATH=||;s|"||g;s|:|\n|g;p}' \
- $(version_sorted_paths "${GCC_ENV_D}"/${CHOST}-*) | tac
+ $(version_sorted_paths "${GCC_ENV_D}"/${CHOST}-* | tac)
)
# Pass all by default