diff --git a/lang/gcc11-devel/Makefile b/lang/gcc11-devel/Makefile --- a/lang/gcc11-devel/Makefile +++ b/lang/gcc11-devel/Makefile @@ -1,5 +1,6 @@ PORTNAME= gcc PORTVERSION= 11.3.1.s20230504 +PORTREVISION= 1 CATEGORIES= lang MASTER_SITES= GCC/snapshots/${DIST_VERSION} PKGNAMESUFFIX= ${SUFFIX}-devel diff --git a/lang/gcc11-devel/files/patch-gcc_configure b/lang/gcc11-devel/files/patch-gcc_configure new file mode 100644 --- /dev/null +++ b/lang/gcc11-devel/files/patch-gcc_configure @@ -0,0 +1,20 @@ +Enable support for .init_array and .fini_array, which FreeBSD supports +since commit 83aa9cc00c2d83d05a0efe7a1496d8aab4a153bb in the src +repository. + +There __FreeBSD_version is 1000009, so we start enabling the support +from __FreeBSD_version == 1000010. +--- gcc/configure.orig 2023-05-04 17:36:54 UTC ++++ gcc/configure +@@ -24214,6 +24214,11 @@ EOF + #else + # if defined __sun__ && defined __svr4__ + /* Solaris ld.so.1 supports .init_array/.fini_array since Solaris 8. */ ++# elif defined __FreeBSD__ ++# include ++# if __FreeBSD_version >= 1000010 ++ /* FreeBSD supports .init_array/.fini_array since FreeBSD 10. */ ++# endif + # else + # error The C library not known to support .init_array/.fini_array + # endif