]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
ld: Don't use -mdirect-extern-access for LoongArch
authorH.J. Lu <hjl.tools@gmail.com>
Thu, 18 Sep 2025 11:55:38 +0000 (04:55 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Thu, 18 Sep 2025 12:36:21 +0000 (05:36 -0700)
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>
ld/testsuite/config/default.exp

index fae7d72d7e07239b23e8fd5320eb4a4a54bec4da..9986397beed912c6ab5d8b6ab4bea7968fdfd322 100644 (file)
@@ -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"
+       }
     }
 }