aboutsummaryrefslogtreecommitdiff
path: root/lang/gcc12
diff options
context:
space:
mode:
authorJan Beich <jbeich@FreeBSD.org>2022-08-20 16:06:02 +0000
committerJan Beich <jbeich@FreeBSD.org>2022-08-25 21:35:37 +0000
commit86e7abbbf467e97ffa58363ca3327d08395931ee (patch)
treefc3fd7345bd1631c3f4ac1703c88e39bc90800a2 /lang/gcc12
parent65fe81d73e72f1303557c9809a73716cc7fcd77b (diff)
Diffstat (limited to 'lang/gcc12')
-rw-r--r--lang/gcc12/Makefile2
-rw-r--r--lang/gcc12/files/patch-libcxxrt18
2 files changed, 20 insertions, 0 deletions
diff --git a/lang/gcc12/Makefile b/lang/gcc12/Makefile
index 0eacf66f3ee3..674e6524e43b 100644
--- a/lang/gcc12/Makefile
+++ b/lang/gcc12/Makefile
@@ -1,5 +1,6 @@
PORTNAME= gcc
PORTVERSION= 12.2.0
+PORTREVISION= 1
CATEGORIES= lang
MASTER_SITES= GCC
PKGNAMESUFFIX= ${SUFFIX}
@@ -96,6 +97,7 @@ CONFIGURE_ARGS+=--disable-nls \
--with-as=${LOCALBASE}/bin/as \
--with-gmp=${LOCALBASE} \
--with-gxx-include-dir=${TARGLIB}/include/c++/ \
+ --with-gxx-libcxx-include-dir=/usr/include/c++/v1 \
--with-ld=${LOCALBASE}/bin/ld \
${ICONV_CONFIGURE_ARG} \
--with-pkgversion="FreeBSD Ports Collection" \
diff --git a/lang/gcc12/files/patch-libcxxrt b/lang/gcc12/files/patch-libcxxrt
new file mode 100644
index 000000000000..beb02cbcc480
--- /dev/null
+++ b/lang/gcc12/files/patch-libcxxrt
@@ -0,0 +1,18 @@
+libc++ on FreeBSD always uses PathScale libcxxrt and cannot change to
+LLVM libc++abi without breaking backward compatibility. Besides, mixing
+different C++ ABIs is not supported unless subset via DT_FILTER.
+
+https://github.com/llvm/llvm-project/commit/35479ffb1251
+https://github.com/freebsd/freebsd-src/commit/cf56074e5271
+
+--- gcc/cp/g++spec.cc.orig 2022-08-19 08:09:52 UTC
++++ gcc/cp/g++spec.cc
+@@ -60,7 +60,7 @@ along with GCC; see the file COPYING3. If not see
+ #endif
+
+ #ifndef LIBCXXABI
+-#define LIBCXXABI "c++abi"
++#define LIBCXXABI "cxxrt"
+ #endif
+ #ifndef LIBCXXABI_PROFILE
+ #define LIBCXXABI_PROFILE LIBCXXABI