From: H.J. Lu Date: Thu, 18 Sep 2025 11:55:38 +0000 (-0700) Subject: ld: Don't use -mdirect-extern-access for LoongArch X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d654421dc263744463002d7e0af0e39ce5206e19;p=thirdparty%2Fbinutils-gdb.git 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 --- 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" + } } }