[binutils-gdb/binutils-2_45-branch] ld: Don't use -mdirect-extern-access for LoongArch
Sam James
sjames@sourceware.org
Sat Nov 15 22:28:44 GMT 2025
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=b4bde11f310693a2a2c677bb2a470bb26da69603
commit b4bde11f310693a2a2c677bb2a470bb26da69603
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Thu Sep 18 04:55:38 2025 -0700
ld: Don't use -mdirect-extern-access for LoongArch
Don't check DIRECT_EXTERN_ACCESS_CFLAGS/NO_DIRECT_EXTERN_ACCESS_CFLAGS
for LoongArch since -mdirect-extern-access on LoongArch works only
without dynamic linker.
PR ld/33409
* testsuite/config/default.exp (DIRECT_EXTERN_ACCESS_CFLAGS):
Skip on LoongArch.
(NO_DIRECT_EXTERN_ACCESS_CFLAGS): Likewise.
Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
(cherry picked from commit d654421dc263744463002d7e0af0e39ce5206e19)
Diff:
---
ld/testsuite/config/default.exp | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/ld/testsuite/config/default.exp b/ld/testsuite/config/default.exp
index c10257ba7f3..a069793df31 100644
--- a/ld/testsuite/config/default.exp
+++ b/ld/testsuite/config/default.exp
@@ -450,12 +450,16 @@ if { ![info exists NOPIE_CFLAGS] || ![info exists NOPIE_LDFLAGS] } then {
if { ![info exists DIRECT_EXTERN_ACCESS_CFLAGS] } then {
set DIRECT_EXTERN_ACCESS_CFLAGS ""
set NO_DIRECT_EXTERN_ACCESS_CFLAGS ""
- if [compiler_supports "-mdirect-extern-access"] {
- set DIRECT_EXTERN_ACCESS_CFLAGS "-mdirect-extern-access"
- set NO_DIRECT_EXTERN_ACCESS_CFLAGS "-mno-direct-extern-access"
- } elseif [compiler_supports "-fdirect-access-external-data"] {
- set DIRECT_EXTERN_ACCESS_CFLAGS "-fdirect-access-external-data"
- set NO_DIRECT_EXTERN_ACCESS_CFLAGS "-fno-direct-access-external-data"
+ # Exclude LoongArch since -mdirect-extern-access on LoongArch works
+ # only without dynamic linker.
+ if { ![istarget loongarch*-*-*] } {
+ if [compiler_supports "-mdirect-extern-access"] {
+ set DIRECT_EXTERN_ACCESS_CFLAGS "-mdirect-extern-access"
+ set NO_DIRECT_EXTERN_ACCESS_CFLAGS "-mno-direct-extern-access"
+ } elseif [compiler_supports "-fdirect-access-external-data"] {
+ set DIRECT_EXTERN_ACCESS_CFLAGS "-fdirect-access-external-data"
+ set NO_DIRECT_EXTERN_ACCESS_CFLAGS "-fno-direct-access-external-data"
+ }
}
}
More information about the Binutils-cvs
mailing list