aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrooks Davis <brooks@FreeBSD.org>2024-05-02 17:13:23 +0000
committerBrooks Davis <brooks@FreeBSD.org>2024-05-02 17:13:23 +0000
commit723e60a278b16fc4411cb4d9f201cb3ba26108cf (patch)
tree9568a5e813e25eceabaa4928004ec38f9db9c700
parentafd0c206a6ce9a182c1a26a4d8dbb66a8335f519 (diff)
downloadsrc-723e60a278b16fc4411cb4d9f201cb3ba26108cf.tar.gz
src-723e60a278b16fc4411cb4d9f201cb3ba26108cf.zip
libgcc_s: __extendxftf2 and __trunctfxf2 are amd64-only
__extendxftf2 and __trunctfxf2 build on amd64 not aarch64 and riscv. Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D45052
-rw-r--r--lib/libcompiler_rt/Makefile.inc8
-rw-r--r--lib/libgcc_s/Symbol.map10
2 files changed, 12 insertions, 6 deletions
diff --git a/lib/libcompiler_rt/Makefile.inc b/lib/libcompiler_rt/Makefile.inc
index 9aea0f2b051a..6fb13cb12305 100644
--- a/lib/libcompiler_rt/Makefile.inc
+++ b/lib/libcompiler_rt/Makefile.inc
@@ -132,7 +132,6 @@ SRCF+= floatundisf
#
.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386"
SRCF+= divxc3
-SRCF+= extendxftf2
SRCF+= fixxfdi
SRCF+= fixxfti
SRCF+= fixunsxfdi
@@ -142,7 +141,6 @@ SRCF+= floattixf
SRCF+= floatuntixf
SRCF+= mulxc3
SRCF+= powixf2
-SRCF+= trunctfxf2
# Avoid using SSE2 instructions on i386, if unsupported.
.if ${MACHINE_CPUARCH} == "i386" && empty(MACHINE_CPU:Msse2)
@@ -154,6 +152,12 @@ SRCF+= floatundixf
.endif
.endif
+# 128-bit float is an amd64 feature
+.if ${MACHINE_CPUARCH} == "amd64"
+SRCF+= extendxftf2
+SRCF+= trunctfxf2
+.endif
+
# __cpu_model support, only used on aarch64 and x86
.if ${MACHINE_CPUARCH} == "aarch64"
SRCS+= cpu_model/aarch64.c
diff --git a/lib/libgcc_s/Symbol.map b/lib/libgcc_s/Symbol.map
index def8f0981664..00b0ed789cf1 100644
--- a/lib/libgcc_s/Symbol.map
+++ b/lib/libgcc_s/Symbol.map
@@ -191,15 +191,14 @@ GCC_4.3.0 {
__bswapsi2;
};
-#if defined(__aarch64__) || defined(__riscv)
GCC_4.6.0 {
+#if defined(__aarch64__) || defined(__riscv)
__addtf3;
__cmptf2;
__divtf3;
__eqtf2;
__extenddftf2;
__extendsftf2;
- __extendxftf2;
__fixtfdi;
__fixtfsi;
__fixtfti;
@@ -221,10 +220,13 @@ GCC_4.6.0 {
__subtf3;
__trunctfdf2;
__trunctfsf2;
- __trunctfxf2;
__unordtf2;
-};
#endif
+#if defined(__amd64__)
+ __extendxftf2;
+ __trunctfxf2;
+#endif
+};
GCC_7.0.0 {
#ifdef __i386__