Fix ABI CFLAGS setting on new-world LoongArch
See: https://bugs.gentoo.org/844013
This commit is contained in:
parent
869061c783
commit
699c57d376
|
@ -1,4 +1,13 @@
|
|||
ifeq ($(CORE), LOONGSON3R5)
|
||||
CCOMMON_OPT += -march=loongarch64 -mabi=lp64
|
||||
FCOMMON_OPT += -march=loongarch64 -mabi=lp64
|
||||
CCOMMON_OPT += -march=loongarch64
|
||||
FCOMMON_OPT += -march=loongarch64
|
||||
|
||||
ifeq ($(LOONGARCH_CC_FLAVOR), NEW)
|
||||
CCOMMON_OPT += -mabi=lp64d
|
||||
FCOMMON_OPT += -mabi=lp64d
|
||||
endif
|
||||
ifeq ($(LOONGARCH_CC_FLAVOR), OLD)
|
||||
CCOMMON_OPT += -mabi=lp64
|
||||
FCOMMON_OPT += -mabi=lp64
|
||||
endif
|
||||
endif
|
||||
|
|
|
@ -1702,6 +1702,7 @@ export TARGET_CORE
|
|||
export NO_AVX512
|
||||
export NO_AVX2
|
||||
export BUILD_BFLOAT16
|
||||
export LOONGARCH_CC_FLAVOR
|
||||
export NO_LASX
|
||||
|
||||
export SBGEMM_UNROLL_M
|
||||
|
|
14
c_check
14
c_check
|
@ -240,8 +240,19 @@ if [ "$architecture" = "riscv64" ]; then
|
|||
rm -rf "$tmpd"
|
||||
fi
|
||||
|
||||
loongarch_cc_flavor=""
|
||||
no_lasx=0
|
||||
if [ "$architecture" = "loongarch64" ]; then
|
||||
# Currently there are only 2 flavors: new-world and old-world.
|
||||
# They differ in ABI names accepted, so check it to avoid creating temp
|
||||
# files.
|
||||
loongarch_cc_flavor="NEW"
|
||||
{
|
||||
$compiler_name -mabi=lp64d -E -o - /dev/null >/dev/null 2>&1
|
||||
} || {
|
||||
loongarch_cc_flavor="OLD"
|
||||
}
|
||||
|
||||
tmpd=`mktemp -d`
|
||||
tmpf="$tmpd/a.c"
|
||||
# Old-world assembly flavor: LASX registers named "$xrNN", different
|
||||
|
@ -260,6 +271,7 @@ if [ "$architecture" = "loongarch64" ]; then
|
|||
} || {
|
||||
no_lasx=1
|
||||
}
|
||||
|
||||
rm -rf "$tmpd"
|
||||
fi
|
||||
|
||||
|
@ -377,6 +389,7 @@ done
|
|||
[ "$no_avx512" -eq 1 ] && printf "NO_AVX512=1\n"
|
||||
[ "$no_avx2" -eq 1 ] && printf "NO_AVX2=1\n"
|
||||
[ "$oldgcc" -eq 1 ] && printf "OLDGCC=1\n"
|
||||
[ -n "$loongarch_cc_flavor" ] && printf "LOONGARCH_CC_FLAVOR=%s\n" "$loongarch_cc_flavor"
|
||||
exit 0
|
||||
}
|
||||
|
||||
|
@ -408,6 +421,7 @@ done
|
|||
[ "$no_avx512" -eq 1 ] && printf "NO_AVX512=1\n"
|
||||
[ "$no_avx2" -eq 1 ] && printf "NO_AVX2=1\n"
|
||||
[ "$oldgcc" -eq 1 ] && printf "OLDGCC=1\n"
|
||||
[ -n "$loongarch_cc_flavor" ] && printf "LOONGARCH_CC_FLAVOR=%s\n" "$loongarch_cc_flavor"
|
||||
} >> "$makefile"
|
||||
|
||||
os=`echo "$os" | tr '[[:lower:]]' '[[:upper:]]'/ `
|
||||
|
|
Loading…
Reference in New Issue