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 d654421dc2)
This commit is contained in:
H.J. Lu
2025-09-18 04:55:38 -07:00
committed by Sam James
parent 1ae9fa5c60
commit b4bde11f31

View File

@@ -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"
}
}
}