aboutsummaryrefslogtreecommitdiff
path: root/lib/libcxxrt
diff options
context:
space:
mode:
authorBrooks Davis <brooks@FreeBSD.org>2024-05-17 20:22:22 +0000
committerBrooks Davis <brooks@FreeBSD.org>2024-05-17 20:50:57 +0000
commit1062db30700230a26fdc90088a4e2bdb6b6e4d6d (patch)
tree8dcc668a0ed9d7ef22bd5d626679a25fc9e1e0f1 /lib/libcxxrt
parentf7d45c5443edc99857fdda19c68301b5ec4a8971 (diff)
downloadsrc-1062db30700230a26fdc90088a4e2bdb6b6e4d6d.tar.gz
src-1062db30700230a26fdc90088a4e2bdb6b6e4d6d.zip
Diffstat (limited to 'lib/libcxxrt')
-rw-r--r--lib/libcxxrt/Makefile10
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/libcxxrt/Makefile b/lib/libcxxrt/Makefile
index 6ad89e9da107..7a683ba779f6 100644
--- a/lib/libcxxrt/Makefile
+++ b/lib/libcxxrt/Makefile
@@ -42,3 +42,13 @@ Version-64.map: Version.map
.endif
.include <bsd.lib.mk>
+
+# gcc13 doesn't support _Float16 on riscv, powerpc64, and x86 or __int128
+# on i386. Disable checks for missing symbols to allow this to link.
+#
+# XXX: This is a hack that hides an ABI divergence between clang and gcc.
+.if ${COMPILER_TYPE} == "gcc" && \
+ (${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386" || \
+ ${MACHINE_ARCH:Mpowerpc64*} || ${MACHINE_ARCH} == "riscv64")
+LDFLAGS+= -Wl,--undefined-version
+.endif