[binutils-gdb] ld: Don't use -mdirect-extern-access for LoongArch

H.J. Lu hjl@sourceware.org
Thu Sep 18 12:37:14 GMT 2025


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=d654421dc263744463002d7e0af0e39ce5206e19

commit d654421dc263744463002d7e0af0e39ce5206e19
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>

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 fae7d72d7e0..9986397beed 100644
--- a/ld/testsuite/config/default.exp
+++ b/ld/testsuite/config/default.exp
@@ -459,12 +459,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