git: 2df79eabecd3 - main - lang/gcc11-devel: Remove obsolete port
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 11 Nov 2024 23:55:34 UTC
The branch main has been updated by gerald: URL: https://cgit.FreeBSD.org/ports/commit/?id=2df79eabecd3c4fef8540cb999b800b882276e29 commit 2df79eabecd3c4fef8540cb999b800b882276e29 Author: Gerald Pfeifer <gerald@FreeBSD.org> AuthorDate: 2024-11-11 23:51:17 +0000 Commit: Gerald Pfeifer <gerald@FreeBSD.org> CommitDate: 2024-11-11 23:55:12 +0000 lang/gcc11-devel: Remove obsolete port GCC 11 has gone end of life upstream and with that stopped the weekly snapshots, so there is nothing to do for a gcc11-devel port (whereas lang/gcc11 remains for the time being). Approved by: salvadore (maintainer) --- MOVED | 1 + lang/Makefile | 1 - lang/gcc11-devel/Makefile | 183 --------------------- lang/gcc11-devel/distinfo | 3 - .../gcc11-devel/files/patch-arm-unwind-cxx-support | 106 ------------ lang/gcc11-devel/files/patch-clang-vec_step | 21 --- lang/gcc11-devel/files/patch-gcc_configure | 22 --- lang/gcc11-devel/files/patch-gets-no-more | 47 ------ lang/gcc11-devel/files/patch-gfortran-libgcc | 70 -------- lang/gcc11-devel/files/patch-libcxxrt | 18 -- ...libphobos_libdruntime_core_sys_freebsd_config.d | 15 -- .../files/patch-libsanitizer_asan_asan__linux.cpp | 18 -- ...anitizer_sanitizer__common_sanitizer__linux.cpp | 61 ------- ...sanitizer__common_sanitizer__linux__libcdep.cpp | 32 ---- lang/gcc11-devel/files/pkg-message.in | 13 -- lang/gcc11-devel/pkg-descr | 5 - lang/gcc11-devel/pkg-help | 3 - lang/gcc11-devel/pkg-plist | 40 ----- 18 files changed, 1 insertion(+), 658 deletions(-) diff --git a/MOVED b/MOVED index 4b2d008c9624..dfbc45792ba1 100644 --- a/MOVED +++ b/MOVED @@ -3717,3 +3717,4 @@ sysutils/dsbmc|filesystems/dsbmc|2024-11-06|Moved to new category filesystems misc/e2fsprogs-libblkid|filesystems/e2fsprogs-libblkid|2024-11-06|Moved to new category filesystems security/gpgme-qt-headers|security/gpgme-qt|2024-11-10|Flavored headers are now installed by security/gpgme-qt devel/flatbuffers205|devel/flatbuffers|2024-11-10|Not needed any more +lang/gcc11-devel|lang/gcc11|2024-11-12|GCC 11 reached end of life; use the final release (or a newer major version) diff --git a/lang/Makefile b/lang/Makefile index ebd4f001c62c..ddb2c5d72232 100644 --- a/lang/Makefile +++ b/lang/Makefile @@ -88,7 +88,6 @@ SUBDIR += gawk SUBDIR += gcc SUBDIR += gcc11 - SUBDIR += gcc11-devel SUBDIR += gcc12 SUBDIR += gcc12-devel SUBDIR += gcc13 diff --git a/lang/gcc11-devel/Makefile b/lang/gcc11-devel/Makefile deleted file mode 100644 index 10f8d50e8678..000000000000 --- a/lang/gcc11-devel/Makefile +++ /dev/null @@ -1,183 +0,0 @@ -PORTNAME= gcc -PORTVERSION= 11.4.1.s20240710 -CATEGORIES= lang -MASTER_SITES= GCC/snapshots/${DIST_VERSION} -PKGNAMESUFFIX= ${SUFFIX}-devel -DISTNAME= gcc-${DIST_VERSION} - -MAINTAINER= salvadore@FreeBSD.org -COMMENT= GNU Compiler Collection 11 -WWW= https://gcc.gnu.org - -LICENSE= GPLv3 GPLv3RLE -LICENSE_COMB= multi - -ONLY_FOR_ARCHS= aarch64 amd64 armv6 armv7 i386 powerpc powerpc64 powerpc64le - -LIB_DEPENDS= libgmp.so:math/gmp \ - libmpfr.so:math/mpfr \ - libmpc.so:math/mpc -BUILD_DEPENDS+= ${LOCALBASE}/bin/as:devel/binutils -RUN_DEPENDS+= ${LOCALBASE}/bin/as:devel/binutils -.if defined(MAINTAINER_MODE) -BUILD_DEPENDS+= runtest:misc/dejagnu -.endif - -USES= compiler:c++11-lang cpe gmake iconv libtool makeinfo perl5 tar:xz -USE_BINUTILS= yes -USE_PERL5= build - -CONFLICTS= gcc11 - -CPE_VENDOR= gnu -CPE_VERSION= ${GCC_VERSION} - -# DIST_VERSION relates to downloads, GCC_VERSION and SUFFIX to names -# of executables and directories once installed. A PORTVERSION of -# Y.2.1.s20140817 results in values of Y-20140817, Y.2.1, and Y -# for these three. -DIST_VERSION= ${PORTVERSION:C/([0-9]+).*\.s([0-9]+)/\1-\2/} -GCC_VERSION= ${PORTVERSION:C/(.+)\.s[0-9]{8}/\1/} -SUFFIX= ${PORTVERSION:C/([0-9]+).*/\1/} -CFLAGS:= ${CFLAGS:N-mretpoline} -CXXFLAGS:= ${CXXFLAGS:N-mretpoline} - -OPTIONS_DEFINE= GRAPHITE -OPTIONS_DEFAULT_aarch64=STANDARD_BOOTSTRAP -OPTIONS_DEFAULT_amd64= STANDARD_BOOTSTRAP -OPTIONS_DEFAULT_i386= STANDARD_BOOTSTRAP -OPTIONS_DEFAULT_powerpc=LTO_BOOTSTRAP -OPTIONS_DEFAULT_powerpc64=LTO_BOOTSTRAP -OPTIONS_DEFAULT_powerpc64le=LTO_BOOTSTRAP -OPTIONS_RADIO= BOOTSTRAP -OPTIONS_RADIO_BOOTSTRAP= LTO_BOOTSTRAP STANDARD_BOOTSTRAP -LTO_BOOTSTRAP_DESC= Build using a full LTO bootstrap -STANDARD_BOOTSTRAP_DESC= Build using a full bootstrap without LTO -GRAPHITE_DESC= Support for Graphite loop optimizations - -.if exists(/usr/lib32/libc.so) -OPTIONS_DEFINE_amd64+= MULTILIB -OPTIONS_DEFAULT_amd64+= MULTILIB -OPTIONS_DEFINE_powerpc64+= MULTILIB -#OPTIONS_DEFAULT_powerpc64+= MULTILIB # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105010 -MULTILIB_DESC= Build support for 32-bit and 64-bit targets -MULTILIB_CONFIGURE_ENABLE= multilib -.else -CONFIGURE_ARGS+= --disable-multilib -.endif - -.if defined(CPUTYPE) && ${CPUTYPE:Mg[3-5]} -CFLAGS:= ${CFLAGS:S/mcpu=g/mcpu=G/} -CXXFLAGS:= ${CFLAGS:S/mcpu=g/mcpu=G/} -.endif - -.include <bsd.port.pre.mk> - -.if ${ARCH} == amd64 -CONFIGURE_TARGET= x86_64-portbld-${OPSYS:tl}${OSREL} - -.elif ${ARCH} == powerpc64 -CONFIGURE_ARGS+= --with-abi=elfv2 -.endif - -LANGUAGES:= c,c++,d,objc,fortran,jit -TARGLIB= ${PREFIX}/lib/gcc${SUFFIX} -TARGLIB32= ${PREFIX}/lib32 # The version information is added later -LIBEXEC= ${PREFIX}/libexec/gcc${SUFFIX} -GNU_CONFIGURE= yes -GNU_CONFIGURE_MANPREFIX=${PREFIX}/share -CONFIGURE_OUTSOURCE= yes -.if empty(PORT_OPTIONS:M*BOOTSTRAP) -CONFIGURE_ARGS+=--disable-bootstrap -.elif ${PORT_OPTIONS:MLTO_BOOTSTRAP} -CONFIGURE_ARGS+=--with-build-config=bootstrap-lto-noplugin -ALL_TARGET= bootstrap-lean -PIE_UNSAFE= yes -.else -CONFIGURE_ARGS+=--with-build-config=bootstrap-debug -ALL_TARGET= bootstrap-lean -PIE_UNSAFE= yes -.endif -INSTALL_TARGET= install-strip -.if ${UID} != 0 -BINMODE= 755 -.endif -CONFIGURE_ARGS+=--disable-nls \ - --disable-libssp \ - --enable-gnu-indirect-function \ - --enable-host-shared \ - --enable-plugin \ - --libdir=${TARGLIB} \ - --libexecdir=${LIBEXEC} \ - --program-suffix=${SUFFIX} \ - --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" \ - --with-system-zlib \ - --without-zstd -MAKE_ARGS+= MAKEINFOFLAGS="--no-split" -USE_LDCONFIG= ${TARGLIB} -PLIST_SUB+= GCC_VERSION=${GCC_VERSION} \ - GNU_HOST=${CONFIGURE_TARGET} \ - SUFFIX=${SUFFIX} -INFO= gcc${SUFFIX}/cpp \ - gcc${SUFFIX}/cppinternals \ - gcc${SUFFIX}/gcc \ - gcc${SUFFIX}/gccinstall \ - gcc${SUFFIX}/gccint \ - gcc${SUFFIX}/gdc \ - gcc${SUFFIX}/gfortran \ - gcc${SUFFIX}/libgccjit \ - gcc${SUFFIX}/libgomp -.if ${ARCH} == amd64 || ${ARCH} == i386 -INFO+= gcc${SUFFIX}/libquadmath -.endif -.if ${ARCH} == amd64 || ${ARCH} == i386 || ${ARCH} == aarch64 -INFO+= gcc${SUFFIX}/libitm -.endif -SUB_FILES= pkg-message -SUB_LIST+= TARGLIB=${TARGLIB} - -.if ${PORT_OPTIONS:MGRAPHITE} -LIB_DEPENDS+= libisl.so:devel/isl -CONFIGURE_ARGS+=--with-isl=${LOCALBASE} -.endif - -CONFIGURE_ARGS+=--enable-languages=${LANGUAGES} - -pre-everything:: - @${ECHO_MSG} "Making GCC ${PORTVERSION} for ${CONFIGURE_TARGET} [${LANGUAGES}]" - -pre-configure: - cd ${WRKSRC} ; contrib/gcc_update --touch - @${RM} ${WRKSRC}/gcc/*/*.info* - -.if defined(MAINTAINER_MODE) -full-regression-test: build - cd ${TEST_WRKSRC}; ${MAKE_CMD} -sk check \ - ; ${WRKSRC}/contrib/test_summary -.endif - -post-stage: - ${RM} ${STAGEDIR}${PREFIX}/share/man/man7/* - ${RM} -r ${STAGEDIR}${TARGLIB}/gcc/*/${GCC_VERSION}/include-fixed/ - # Add target libraries and include files to packaging list. - ${RM} ${WRKDIR}/PLIST.lib - -.if (${ARCH} == amd64 || ${ARCH} == powerpc64) && ${PORT_OPTIONS:MMULTILIB} - ${MKDIR} ${STAGEDIR}${TARGLIB32} - ${MV} ${STAGEDIR}${PREFIX}/lib/lib32 ${STAGEDIR}${TARGLIB32}/gcc${SUFFIX} -.endif - -.for d in ${TARGLIB:S/^${PREFIX}\///} ${TARGLIB32:S/^${PREFIX}\///} ${LIBEXEC:S/^${PREFIX}\///} - cd ${STAGEDIR}${PREFIX} ; if [ -d $d ]; then \ - ${FIND} $d -type f -o -type l >>${WRKDIR}/PLIST.lib ;\ - fi -.endfor - cd ${WRKDIR} ; ${SED} -i -e "/PLIST.lib/ r PLIST.lib" ${TMPPLIST} - -.include <bsd.port.post.mk> diff --git a/lang/gcc11-devel/distinfo b/lang/gcc11-devel/distinfo deleted file mode 100644 index d3759cae841c..000000000000 --- a/lang/gcc11-devel/distinfo +++ /dev/null @@ -1,3 +0,0 @@ -TIMESTAMP = 1720659622 -SHA256 (gcc-11-20240710.tar.xz) = b1a85f3a6a6613db48c332736c3c8082439de640e8e28e1a7eeef3e29df4f908 -SIZE (gcc-11-20240710.tar.xz) = 76350328 diff --git a/lang/gcc11-devel/files/patch-arm-unwind-cxx-support b/lang/gcc11-devel/files/patch-arm-unwind-cxx-support deleted file mode 100644 index ec6959b9655c..000000000000 --- a/lang/gcc11-devel/files/patch-arm-unwind-cxx-support +++ /dev/null @@ -1,106 +0,0 @@ ---- UTC -Index: gcc/ginclude/unwind-arm-common.h -=================================================================== ---- gcc/ginclude/unwind-arm-common.h (revision 219113) -+++ gcc/ginclude/unwind-arm-common.h (working copy) -@@ -82,7 +82,11 @@ - - struct _Unwind_Control_Block - { -+#ifdef __FreeBSD__ -+ unsigned exception_class __attribute__((__mode__(__DI__))); -+#else - char exception_class[8]; -+#endif - void (*exception_cleanup)(_Unwind_Reason_Code, _Unwind_Control_Block *); - /* Unwinder cache, private fields for the unwinder's use */ - struct -@@ -181,7 +185,11 @@ - - /* Support functions for the PR. */ - #define _Unwind_Exception _Unwind_Control_Block -+#ifdef __FreeBSD__ -+ typedef unsigned _Unwind_Exception_Class __attribute__((__mode__(__DI__))); -+#else - typedef char _Unwind_Exception_Class[8]; -+#endif - - void * _Unwind_GetLanguageSpecificData (_Unwind_Context *); - _Unwind_Ptr _Unwind_GetRegionStart (_Unwind_Context *); -Index: libstdc++-v3/libsupc++/unwind-cxx.h -=================================================================== ---- libstdc++-v3/libsupc++/unwind-cxx.h (revision 219147) -+++ libstdc++-v3/libsupc++/unwind-cxx.h (working copy) -@@ -235,7 +235,7 @@ - return reinterpret_cast<__cxa_dependent_exception *>(exc + 1) - 1; - } - --#ifdef __ARM_EABI_UNWINDER__ -+#if defined(__ARM_EABI_UNWINDER__) && !defined(__FreeBSD__) - static inline bool - __is_gxx_exception_class(_Unwind_Exception_Class c) - { -@@ -309,13 +309,7 @@ - c[6] = 'R'; - c[7] = '\0'; - } -- --static inline void* --__gxx_caught_object(_Unwind_Exception* eo) --{ -- return (void*)eo->barrier_cache.bitpattern[0]; --} --#else // !__ARM_EABI_UNWINDER__ -+#else // !__ARM_EABI_UNWINDER__ || __FreeBSD__ - // This is the primary exception class we report -- "GNUCC++\0". - const _Unwind_Exception_Class __gxx_primary_exception_class - = ((((((((_Unwind_Exception_Class) 'G' -@@ -339,6 +333,16 @@ - << 8 | (_Unwind_Exception_Class) '+') - << 8 | (_Unwind_Exception_Class) '\x01'); - -+const _Unwind_Exception_Class __gxx_forced_unwind_class -+= ((((((((_Unwind_Exception_Class) 'G' -+ << 8 | (_Unwind_Exception_Class) 'N') -+ << 8 | (_Unwind_Exception_Class) 'U') -+ << 8 | (_Unwind_Exception_Class) 'C') -+ << 8 | (_Unwind_Exception_Class) 'F') -+ << 8 | (_Unwind_Exception_Class) 'O') -+ << 8 | (_Unwind_Exception_Class) 'R') -+ << 8 | (_Unwind_Exception_Class) '\0'); -+ - static inline bool - __is_gxx_exception_class(_Unwind_Exception_Class c) - { -@@ -346,6 +350,12 @@ - || c == __gxx_dependent_exception_class; - } - -+static inline bool -+__is_gxx_forced_unwind_class(_Unwind_Exception_Class c) -+{ -+ return c == __gxx_forced_unwind_class; -+} -+ - // Only checks for primary or dependent, but not that it is a C++ exception at - // all. - static inline bool -@@ -357,7 +367,18 @@ - #define __GXX_INIT_PRIMARY_EXCEPTION_CLASS(c) c = __gxx_primary_exception_class - #define __GXX_INIT_DEPENDENT_EXCEPTION_CLASS(c) \ - c = __gxx_dependent_exception_class -+#define __GXX_INIT_FORCED_UNWIND_CLASS(c) c = __gxx_forced_unwind_class -+#endif // __ARM_EABI_UNWINDER__ && !__FreeBSD__ - -+#ifdef __ARM_EABI_UNWINDER__ -+static inline void* -+__gxx_caught_object(_Unwind_Exception* eo) -+{ -+ return (void*)eo->barrier_cache.bitpattern[0]; -+} -+ -+#else // !__ARM_EABI_UNWINDER__ -+ - // GNU C++ personality routine, Version 0. - extern "C" _Unwind_Reason_Code __gxx_personality_v0 - (int, _Unwind_Action, _Unwind_Exception_Class, diff --git a/lang/gcc11-devel/files/patch-clang-vec_step b/lang/gcc11-devel/files/patch-clang-vec_step deleted file mode 100644 index 68fbeedad582..000000000000 --- a/lang/gcc11-devel/files/patch-clang-vec_step +++ /dev/null @@ -1,21 +0,0 @@ -https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=239266 reports how -clang unfortunately poisons user namespace by default (without any -special options). - -Until that changes (or GCC changes) we need to avoid using vec_step -as a variable. - ---- UTC -Index: gcc/tree-vect-loop.c -=================================================================== ---- gcc/tree-vect-loop.c (revision 273856) -+++ gcc/tree-vect-loop.c (working copy) -@@ -55,6 +55,8 @@ along with GCC; see the file COPYING3. If not see - #include "vec-perm-indices.h" - #include "tree-eh.h" - -+#define vec_step vec_step_ -+ - /* Loop Vectorization Pass. - - This pass tries to vectorize loops. diff --git a/lang/gcc11-devel/files/patch-gcc_configure b/lang/gcc11-devel/files/patch-gcc_configure deleted file mode 100644 index cc60593ba6f7..000000000000 --- a/lang/gcc11-devel/files/patch-gcc_configure +++ /dev/null @@ -1,22 +0,0 @@ -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-11 22:33:34 UTC -+++ gcc/configure -@@ -24214,6 +24214,13 @@ EOF - #else - # if defined __sun__ && defined __svr4__ - /* Solaris ld.so.1 supports .init_array/.fini_array since Solaris 8. */ -+# elif defined __FreeBSD__ -+# include <sys/param.h> -+# if __FreeBSD_version >= 1000010 -+ /* FreeBSD supports .init_array/.fini_array since FreeBSD 10. */ -+# else -+# error The C library not known to support .init_array/.fini_array -+# endif - # else - # error The C library not known to support .init_array/.fini_array - # endif diff --git a/lang/gcc11-devel/files/patch-gets-no-more b/lang/gcc11-devel/files/patch-gets-no-more deleted file mode 100644 index 4b49aba3ca28..000000000000 --- a/lang/gcc11-devel/files/patch-gets-no-more +++ /dev/null @@ -1,47 +0,0 @@ -Disable the build/use of libssp/gets-chk since FreeBSD 12 and later -do not feature gets() any longer. - ---- UTC -Index: libssp/Makefile.am -=================================================================== ---- libssp/Makefile.am (revision 263319) -+++ libssp/Makefile.am (working copy) -@@ -42,7 +42,7 @@ - nobase_libsubinclude_HEADERS = ssp/ssp.h ssp/string.h ssp/stdio.h ssp/unistd.h - - libssp_la_SOURCES = \ -- ssp.c gets-chk.c memcpy-chk.c memmove-chk.c mempcpy-chk.c \ -+ ssp.c memcpy-chk.c memmove-chk.c mempcpy-chk.c \ - memset-chk.c snprintf-chk.c sprintf-chk.c stpcpy-chk.c \ - strcat-chk.c strcpy-chk.c strncat-chk.c strncpy-chk.c \ - vsnprintf-chk.c vsprintf-chk.c -Index: libssp/Makefile.in -=================================================================== ---- libssp/Makefile.in (revision 263319) -+++ libssp/Makefile.in (working copy) -@@ -108,7 +108,7 @@ - am__installdirs = "$(DESTDIR)$(toolexeclibdir)" \ - "$(DESTDIR)$(libsubincludedir)" - LTLIBRARIES = $(toolexeclib_LTLIBRARIES) --am_libssp_la_OBJECTS = ssp.lo gets-chk.lo memcpy-chk.lo memmove-chk.lo \ -+am_libssp_la_OBJECTS = ssp.lo memcpy-chk.lo memmove-chk.lo \ - mempcpy-chk.lo memset-chk.lo snprintf-chk.lo sprintf-chk.lo \ - stpcpy-chk.lo strcat-chk.lo strcpy-chk.lo strncat-chk.lo \ - strncpy-chk.lo vsnprintf-chk.lo vsprintf-chk.lo -@@ -291,7 +291,7 @@ - libsubincludedir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/include - nobase_libsubinclude_HEADERS = ssp/ssp.h ssp/string.h ssp/stdio.h ssp/unistd.h - libssp_la_SOURCES = \ -- ssp.c gets-chk.c memcpy-chk.c memmove-chk.c mempcpy-chk.c \ -+ ssp.c memcpy-chk.c memmove-chk.c mempcpy-chk.c \ - memset-chk.c snprintf-chk.c sprintf-chk.c stpcpy-chk.c \ - strcat-chk.c strcpy-chk.c strncat-chk.c strncpy-chk.c \ - vsnprintf-chk.c vsprintf-chk.c -@@ -452,7 +452,6 @@ - distclean-compile: - -rm -f *.tab.c - --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gets-chk.Plo@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libssp_nonshared_la-ssp-local.Plo@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memcpy-chk.Plo@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memmove-chk.Plo@am__quote@ diff --git a/lang/gcc11-devel/files/patch-gfortran-libgcc b/lang/gcc11-devel/files/patch-gfortran-libgcc deleted file mode 100644 index 89c6cb902c42..000000000000 --- a/lang/gcc11-devel/files/patch-gfortran-libgcc +++ /dev/null @@ -1,70 +0,0 @@ -GCC has two runtime libraries: The static library libgcc.a (-lgcc) and -the shared library libgcc_s.so (-lgcc_s). Both implement many of the -same functions but they also each have their unique functions. When -gcc links programs and libraries there are three possibilities: - -1. gcc -static-libgcc or gcc -static: -lgcc - => Just use libgcc.a. - -2. gcc -shared-libgcc: -lgcc_s -lgcc - => Link with libgcc_s first, so libgcc.a is only used for its unique - functions. - -3. gcc: -lgcc -Wl,--as-needed -lgcc_s -Wl,--no-as-needed - => Link with libgcc.a first so libgcc_s is only used for its unique - functions (_Unwind_* functions). - -Approach 3 is the default for gcc and it's also what clang and clang++ use; -approach 2 is the default for gfortran, g++ and probably other front ends. - -This patch makes 3 the default for gfortran. It significantly reduces -the use of libgcc_s. The _Unwind_* functions are also available in the -old base system libgcc_s which means this reduces the need for --rpath /usr/local/lib/gccN in ports that depend on libraries built with -gfortran. Consider a dependency tree like this: - - prog -> libA -> libgcc_s (old base system libgcc_s is fine) - -> libB -> libgcc_s (libB built with gfortran, needs new libgcc_s) - -Here prog needs to be linked with -rpath /usr/local/lib/gccN even if it's -a normal C program compiled with clang. Without -rpath it will fail to -start because it loads old libgcc_s first as a dependency of libA and then -it fails to load libB. With this patch libB works with old base system -libgcc_s or may not need libgcc_s at all, so prog does not need to be -linked with -rpath. - -Upstream is unlikely accept a patch like this because libgfortran calls -some _Unwind_* functions and so always needs libgcc_s. Also because -every Fortran program and library links to libgfortran it makes sense -that option 2 above is the default. On FreeBSD where clang and GCC -compiled code can be mixed and where multiple libgcc_s may be installed, -option 3 is just a lot easier to deal with. - -The bug that sparked this is PR 208120 (but note there's a lot of -misleading information in that bug. CMake is not actually doing -anything wrong.) - ---- UTC ---- gcc/fortran/gfortranspec.c.orig 2015-06-26 17:47:23 UTC -+++ gcc/fortran/gfortranspec.c -@@ -404,7 +404,7 @@ For more information about these matters - } - } - --#ifdef ENABLE_SHARED_LIBGCC -+#if 0 - if (library) - { - unsigned int i; - ---- libgfortran/Makefile.in.orig 2019-02-22 14:22:13.000000000 +0000 -+++ libgfortran/Makefile.in 2019-02-27 16:27:08.856408000 +0000 -@@ -625,7 +625,7 @@ - $(LTLDFLAGS) $(LIBQUADLIB) ../libbacktrace/libbacktrace.la \ - $(HWCAP_LDFLAGS) \ - -lm $(extra_ldflags_libgfortran) \ -- $(version_arg) -Wc,-shared-libgcc -+ $(version_arg) - - libgfortran_la_DEPENDENCIES = $(version_dep) libgfortran.spec $(LIBQUADLIB_DEP) - cafexeclib_LTLIBRARIES = libcaf_single.la diff --git a/lang/gcc11-devel/files/patch-libcxxrt b/lang/gcc11-devel/files/patch-libcxxrt deleted file mode 100644 index a02a890266ae..000000000000 --- a/lang/gcc11-devel/files/patch-libcxxrt +++ /dev/null @@ -1,18 +0,0 @@ -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.c.orig 2022-08-19 22:32:09 UTC -+++ gcc/cp/g++spec.c -@@ -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 diff --git a/lang/gcc11-devel/files/patch-libphobos_libdruntime_core_sys_freebsd_config.d b/lang/gcc11-devel/files/patch-libphobos_libdruntime_core_sys_freebsd_config.d deleted file mode 100644 index f6b5affb5db0..000000000000 --- a/lang/gcc11-devel/files/patch-libphobos_libdruntime_core_sys_freebsd_config.d +++ /dev/null @@ -1,15 +0,0 @@ ---- libphobos/libdruntime/core/sys/freebsd/config.d.orig 2023-08-31 22:33:21 UTC -+++ libphobos/libdruntime/core/sys/freebsd/config.d -@@ -13,8 +13,10 @@ public import core.sys.posix.config; - // __FreeBSD_version numbers are documented in the Porter's Handbook. - // NOTE: When adding newer versions of FreeBSD, verify all current versioned - // bindings are still compatible with the release. -- version (FreeBSD_13) enum __FreeBSD_version = 1300000; --else version (FreeBSD_12) enum __FreeBSD_version = 1202000; -+ version (FreeBSD_15) enum __FreeBSD_version = 1500000; -+else version (FreeBSD_14) enum __FreeBSD_version = 1401000; -+else version (FreeBSD_13) enum __FreeBSD_version = 1303000; -+else version (FreeBSD_12) enum __FreeBSD_version = 1204000; - else version (FreeBSD_11) enum __FreeBSD_version = 1104000; - else version (FreeBSD_10) enum __FreeBSD_version = 1004000; - else version (FreeBSD_9) enum __FreeBSD_version = 903000; diff --git a/lang/gcc11-devel/files/patch-libsanitizer_asan_asan__linux.cpp b/lang/gcc11-devel/files/patch-libsanitizer_asan_asan__linux.cpp deleted file mode 100644 index 22630767b114..000000000000 --- a/lang/gcc11-devel/files/patch-libsanitizer_asan_asan__linux.cpp +++ /dev/null @@ -1,18 +0,0 @@ -Since the vDSO shared librares on Linux and FreeBSD are called -differently, the initialization order check fails on FreeBSD. -This patch fixes it by ignoring [vdso] instead of linux-vdso.so. - -GCC gets the original file from the LLVM Project, so this patch should -probably be upstreamed directly to the LLVM Project rather than to GCC. - ---- libsanitizer/asan/asan_linux.cpp.orig 2022-11-23 10:52:45 UTC -+++ libsanitizer/asan/asan_linux.cpp -@@ -135,7 +135,7 @@ static int FindFirstDSOCallback(struct dl_phdr_info *i - return 0; - - // Ignore vDSO -- if (internal_strncmp(info->dlpi_name, "linux-", sizeof("linux-") - 1) == 0) -+ if (internal_strncmp(info->dlpi_name, "[vdso]", sizeof("[vdso]") - 1) == 0) - return 0; - - #if SANITIZER_FREEBSD || SANITIZER_NETBSD diff --git a/lang/gcc11-devel/files/patch-libsanitizer_sanitizer__common_sanitizer__linux.cpp b/lang/gcc11-devel/files/patch-libsanitizer_sanitizer__common_sanitizer__linux.cpp deleted file mode 100644 index bf9b0df79e0b..000000000000 --- a/lang/gcc11-devel/files/patch-libsanitizer_sanitizer__common_sanitizer__linux.cpp +++ /dev/null @@ -1,61 +0,0 @@ -Patch taken from the following commits: - -- https://cgit.freebsd.org/src/commit/?id=7cafe89f9ce33effe6e471b185339d413da1ca46 -- https://cgit.freebsd.org/src/commit/?id=930a7c2ac67e1e8e511aa1d0a31a16c632060ebb - ---- libsanitizer/sanitizer_common/sanitizer_linux.cpp.orig 2022-11-26 10:40:30 UTC -+++ libsanitizer/sanitizer_common/sanitizer_linux.cpp -@@ -80,6 +80,7 @@ - - #if SANITIZER_FREEBSD - #include <sys/exec.h> -+#include <sys/procctl.h> - #include <sys/sysctl.h> - #include <machine/atomic.h> - extern "C" { -@@ -2171,33 +2172,20 @@ void CheckASLR() { - ReExec(); - } - #elif SANITIZER_FREEBSD -- int aslr_pie; -- uptr len = sizeof(aslr_pie); --#if SANITIZER_WORDSIZE == 64 -- if (UNLIKELY(internal_sysctlbyname("kern.elf64.aslr.pie_enable", -- &aslr_pie, &len, NULL, 0) == -1)) { -- // We're making things less 'dramatic' here since -- // the OID is not necessarily guaranteed to be here -+ int aslr_status; -+ if (UNLIKELY(procctl(P_PID, 0, PROC_ASLR_STATUS, &aslr_status) == -1)) { -+ // We're making things less 'dramatic' here since -+ // the cmd is not necessarily guaranteed to be here - // just yet regarding FreeBSD release - return; -- } -- -- if (aslr_pie > 0) { -- Printf("This sanitizer is not compatible with enabled ASLR " -- "and binaries compiled with PIE\n"); -- Die(); -- } --#endif -- // there might be 32 bits compat for 64 bits -- if (UNLIKELY(internal_sysctlbyname("kern.elf32.aslr.pie_enable", -- &aslr_pie, &len, NULL, 0) == -1)) { -- return; -- } -- -- if (aslr_pie > 0) { -- Printf("This sanitizer is not compatible with enabled ASLR " -- "and binaries compiled with PIE\n"); -- Die(); -+ } -+ if ((aslr_status & PROC_ASLR_ACTIVE) != 0) { -+ VReport(1, "This sanitizer is not compatible with enabled ASLR " -+ "and binaries compiled with PIE\n" -+ "ASLR will be disabled and the program re-executed.\n"); -+ int aslr_ctl = PROC_ASLR_FORCE_DISABLE; -+ CHECK_NE(procctl(P_PID, 0, PROC_ASLR_CTL, &aslr_ctl), -1); -+ ReExec(); - } - #else - // Do nothing diff --git a/lang/gcc11-devel/files/patch-libsanitizer_sanitizer__common_sanitizer__linux__libcdep.cpp b/lang/gcc11-devel/files/patch-libsanitizer_sanitizer__common_sanitizer__linux__libcdep.cpp deleted file mode 100644 index 7f13f8591313..000000000000 --- a/lang/gcc11-devel/files/patch-libsanitizer_sanitizer__common_sanitizer__linux__libcdep.cpp +++ /dev/null @@ -1,32 +0,0 @@ -Patch taken from - -https://cgit.freebsd.org/src/commit/?id=96fe7c8ab0f65cf829619abd74ae6c126b21e15f - ---- libsanitizer/sanitizer_common/sanitizer_linux_libcdep.cpp.orig 2022-11-26 09:47:34 UTC -+++ libsanitizer/sanitizer_common/sanitizer_linux_libcdep.cpp -@@ -45,7 +45,9 @@ - - #if SANITIZER_FREEBSD - #include <pthread_np.h> -+#include <stdlib.h> - #include <osreldate.h> -+#include <sys/auxv.h> - #include <sys/sysctl.h> - #define pthread_getattr_np pthread_attr_get_np - #endif -@@ -857,7 +859,14 @@ void ReExec() { - void ReExec() { - const char *pathname = "/proc/self/exe"; - --#if SANITIZER_NETBSD -+#if SANITIZER_FREEBSD -+ char exe_path[PATH_MAX]; -+ if (elf_aux_info(AT_EXECPATH, exe_path, sizeof(exe_path)) == 0) { -+ char link_path[PATH_MAX]; -+ if (realpath(exe_path, link_path)) -+ pathname = link_path; -+ } -+#elif SANITIZER_NETBSD - static const int name[] = { - CTL_KERN, - KERN_PROC_ARGS, diff --git a/lang/gcc11-devel/files/pkg-message.in b/lang/gcc11-devel/files/pkg-message.in deleted file mode 100644 index df3ea725ce59..000000000000 --- a/lang/gcc11-devel/files/pkg-message.in +++ /dev/null @@ -1,13 +0,0 @@ -[ -{ type: install - message: <<EOD -To ensure binaries built with this toolchain find appropriate versions -of the necessary run-time libraries, you may want to link using - - -Wl,-rpath=%%TARGLIB%% - -For ports leveraging USE_GCC, USES=compiler, or USES=fortran this happens -transparently. -EOD -} -] diff --git a/lang/gcc11-devel/pkg-descr b/lang/gcc11-devel/pkg-descr deleted file mode 100644 index 9fe37ceb32bf..000000000000 --- a/lang/gcc11-devel/pkg-descr +++ /dev/null @@ -1,5 +0,0 @@ -GCC, the GNU Compiler Collection, supports a number of languages. -This port installs the C, C++, and Fortran front ends as gcc11, g++11, -and gfortran11, respectively. - -Gerald Pfeifer <gerald@FreeBSD.org> diff --git a/lang/gcc11-devel/pkg-help b/lang/gcc11-devel/pkg-help deleted file mode 100644 index 9030bbb28d3f..000000000000 --- a/lang/gcc11-devel/pkg-help +++ /dev/null @@ -1,3 +0,0 @@ -Building this port with LTO_BOOTSTRAP enabled requires significant amounts of -memory and time. Consider disabling LTO_BOOTSTRAP in favor of STANDARD_BOOTSTRAP -(or disabling BOOTSTRAP altogether) in case that is a problem. diff --git a/lang/gcc11-devel/pkg-plist b/lang/gcc11-devel/pkg-plist deleted file mode 100644 index b1d0a6eabea1..000000000000 --- a/lang/gcc11-devel/pkg-plist +++ /dev/null @@ -1,40 +0,0 @@ -bin/%%GNU_HOST%%-c++%%SUFFIX%% -bin/%%GNU_HOST%%-g++%%SUFFIX%% -bin/%%GNU_HOST%%-gcc%%SUFFIX%% -bin/%%GNU_HOST%%-gcc-%%GCC_VERSION%% -bin/%%GNU_HOST%%-gcc-ar%%SUFFIX%% -bin/%%GNU_HOST%%-gcc-nm%%SUFFIX%% -bin/%%GNU_HOST%%-gcc-ranlib%%SUFFIX%% -bin/%%GNU_HOST%%-gdc%%SUFFIX%% -bin/%%GNU_HOST%%-gfortran%%SUFFIX%% -bin/c++%%SUFFIX%% -bin/cpp%%SUFFIX%% -bin/g++%%SUFFIX%% -bin/gcc%%SUFFIX%% -bin/gcc-ar%%SUFFIX%% -bin/gcc-nm%%SUFFIX%% -bin/gcc-ranlib%%SUFFIX%% -bin/gcov%%SUFFIX%% -bin/gcov-dump%%SUFFIX%% -bin/gcov-tool%%SUFFIX%% -bin/gdc%%SUFFIX%% -bin/gfortran%%SUFFIX%% -bin/lto-dump%%SUFFIX%% -include/libgccjit++.h -include/libgccjit.h -share/man/man1/cpp%%SUFFIX%%.1.gz -share/man/man1/g++%%SUFFIX%%.1.gz -share/man/man1/gcc%%SUFFIX%%.1.gz -share/man/man1/gcov%%SUFFIX%%.1.gz -share/man/man1/gcov-dump%%SUFFIX%%.1.gz -share/man/man1/gcov-tool%%SUFFIX%%.1.gz -share/man/man1/gdc%%SUFFIX%%.1.gz -share/man/man1/gfortran%%SUFFIX%%.1.gz -share/man/man1/lto-dump%%SUFFIX%%.1.gz -share/gcc-%%GCC_VERSION%%/python/libstdcxx/__init__.py -share/gcc-%%GCC_VERSION%%/python/libstdcxx/v6/__init__.py -share/gcc-%%GCC_VERSION%%/python/libstdcxx/v6/printers.py -share/gcc-%%GCC_VERSION%%/python/libstdcxx/v6/xmethods.py -@postexec if type ccache-update-links >/dev/null 2>&1; then ccache-update-links -v; fi -@postunexec if type ccache-update-links >/dev/null 2>&1; then ccache-update-links -v; fi -@comment Insert PLIST.lib here