diff --git a/MOVED b/MOVED index a801d67d3dc8..a277371b7e8a 100644 --- a/MOVED +++ b/MOVED @@ -3537,3 +3537,4 @@ devel/wasi-libcxx16||2024-10-18|Version no longer supported as a WASI component devel/qscintilla2-qt5|devel/qscintilla2@qt5|2024-10-19|Converted to a flavorized port. Use devel/qscintilla2@qt5 instead devel/qscintilla2-qt6|devel/qscintilla2@qt6|2024-10-19|Converted to a flavorized port. Use devel/qscintilla2@qt6 instead devel/qscintilla2-designerplugin-qt5|devel/qscintilla2-designerplugin@qt5|2024-10-19|Converted to a flavorized port. Use devel/qscintilla2-designerplugin@qt5 instead +lang/gcc10||2024-10-20|Has expired: Unsupported by upstream. Use GCC 12 or newer instead diff --git a/lang/Makefile b/lang/Makefile index 5fa692dba4e2..394f1aa3719d 100644 --- a/lang/Makefile +++ b/lang/Makefile @@ -88,7 +88,6 @@ SUBDIR += gauche SUBDIR += gawk SUBDIR += gcc - SUBDIR += gcc10 SUBDIR += gcc11 SUBDIR += gcc11-devel SUBDIR += gcc12 diff --git a/lang/gcc10/Makefile b/lang/gcc10/Makefile deleted file mode 100644 index c80722610ad1..000000000000 --- a/lang/gcc10/Makefile +++ /dev/null @@ -1,159 +0,0 @@ -PORTNAME= gcc -PORTVERSION= 10.5.0 -PORTREVISION= 1 -CATEGORIES= lang -MASTER_SITES= GCC -PKGNAMESUFFIX= ${SUFFIX} - -MAINTAINER= salvadore@FreeBSD.org -COMMENT= GNU Compiler Collection 10 -WWW= https://gcc.gnu.org - -LICENSE= GPLv3 GPLv3RLE -LICENSE_COMB= multi - -DEPRECATED= Unsupported by upstream. Use GCC 12 or newer instead. -EXPIRATION_DATE=2024-10-20 -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 cpe gmake iconv libtool makeinfo perl5 tar:xz -USE_BINUTILS= yes -USE_PERL5= build - -CONFLICTS= gcc10-devel - -CPE_VENDOR= gnu - -GCC_VERSION= ${PORTVERSION} -SUFFIX= ${PORTVERSION:C/([0-9]+).*/\1/} -CFLAGS:= ${CFLAGS:N-mretpoline} -CXXFLAGS:= ${CXXFLAGS:N-mretpoline} - -OPTIONS_DEFINE= BOOTSTRAP GRAPHITE -OPTIONS_DEFAULT= BOOTSTRAP -BOOTSTRAP_DESC= Build using a full bootstrap -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 - -.if ${ARCH} == amd64 -CONFIGURE_TARGET= x86_64-portbld-${OPSYS:tl}${OSREL} - -.elif ${ARCH} == powerpc64 -CONFIGURE_ARGS+= --with-abi=elfv2 -.endif - -LANGUAGES:= c,c++,objc,fortran -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:MBOOTSTRAP) -CONFIGURE_ARGS+=--disable-bootstrap -.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 \ - --enable-gnu-indirect-function \ - --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-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}/gfortran \ - gcc${SUFFIX}/libgomp -# Release tarballs (as opposed to snapshots) always carry this. -INFO+= gcc${SUFFIX}/libquadmath \ - gcc${SUFFIX}/libitm -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 diff --git a/lang/gcc10/distinfo b/lang/gcc10/distinfo deleted file mode 100644 index 2e0980677e1e..000000000000 --- a/lang/gcc10/distinfo +++ /dev/null @@ -1,3 +0,0 @@ -TIMESTAMP = 1698764863 -SHA256 (gcc-10.5.0.tar.xz) = 25109543fdf46f397c347b5d8b7a2c7e5694a5a51cce4b9c6e1ea8a71ca307c1 -SIZE (gcc-10.5.0.tar.xz) = 77846412 diff --git a/lang/gcc10/files/patch-arm-unwind-cxx-support b/lang/gcc10/files/patch-arm-unwind-cxx-support deleted file mode 100644 index ec6959b9655c..000000000000 --- a/lang/gcc10/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/gcc10/files/patch-clang-vec_step b/lang/gcc10/files/patch-clang-vec_step deleted file mode 100644 index 68fbeedad582..000000000000 --- a/lang/gcc10/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/gcc10/files/patch-gcc_cp_cfns.h b/lang/gcc10/files/patch-gcc_cp_cfns.h deleted file mode 100644 index c542619ec0eb..000000000000 --- a/lang/gcc10/files/patch-gcc_cp_cfns.h +++ /dev/null @@ -1,111 +0,0 @@ -commit 642dc602f89b2c11d5d833a52f37b04427a27cab -Author: Marek Polacek -Date: 2020-05-15T23:54:05+02:00 - - c++: Regenerate cp/cfns.h. - - Current cfns.h includes register-qualified variables and that wouldn't - play well when bootstrapping with GCC that uses the C++17 dialect, - because 'register' was removed in C++17. Regenerating it using the - command specified in cfns.h luckily cleaned this up. - - * cfns.h: Regenerated. - ---- gcc/cp/cfns.h.orig 2023-07-07 07:08:19 UTC -+++ gcc/cp/cfns.h -@@ -1,4 +1,4 @@ --/* C++ code produced by gperf version 3.0.4 */ -+/* C++ code produced by gperf version 3.1 */ - /* Command-line: gperf -o -C -E -k '1-6,$' -j1 -D -N libc_name_p -L C++ --output-file cfns.h cfns.gperf */ - - #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ -@@ -25,7 +25,7 @@ - && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ - && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)) - /* The character set is not based on ISO-646. */ --#error "gperf generated tables don't work with this execution character set. Please report a bug to ." -+#error "gperf generated tables don't work with this execution character set. Please report a bug to ." - #endif - - #line 4 "cfns.gperf" -@@ -54,13 +54,13 @@ class libc_name (private) - class libc_name - { - private: -- static inline unsigned int hash (const char *str, unsigned int len); -+ static inline unsigned int hash (const char *str, size_t len); - public: -- static const struct libc_name_struct *libc_name_p (const char *str, unsigned int len); -+ static const struct libc_name_struct *libc_name_p (const char *str, size_t len); - }; - - inline unsigned int --libc_name::hash (register const char *str, register unsigned int len) -+libc_name::hash (const char *str, size_t len) - { - static const unsigned short asso_values[] = - { -@@ -91,34 +91,34 @@ libc_name::hash (register const char *str, register un - 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, - 1488, 1488, 1488, 1488, 1488, 1488, 1488 - }; -- register int hval = len; -+ unsigned int hval = len; - - switch (hval) - { - default: -- hval += asso_values[(unsigned char)str[5]+1]; -+ hval += asso_values[static_cast(str[5]+1)]; - /*FALLTHROUGH*/ - case 5: -- hval += asso_values[(unsigned char)str[4]]; -+ hval += asso_values[static_cast(str[4])]; - /*FALLTHROUGH*/ - case 4: -- hval += asso_values[(unsigned char)str[3]]; -+ hval += asso_values[static_cast(str[3])]; - /*FALLTHROUGH*/ - case 3: -- hval += asso_values[(unsigned char)str[2]]; -+ hval += asso_values[static_cast(str[2])]; - /*FALLTHROUGH*/ - case 2: -- hval += asso_values[(unsigned char)str[1]+1]; -+ hval += asso_values[static_cast(str[1]+1)]; - /*FALLTHROUGH*/ - case 1: -- hval += asso_values[(unsigned char)str[0]]; -+ hval += asso_values[static_cast(str[0])]; - break; - } -- return hval + asso_values[(unsigned char)str[len - 1]]; -+ return hval + asso_values[static_cast(str[len - 1])]; - } - - const struct libc_name_struct * --libc_name::libc_name_p (register const char *str, register unsigned int len) -+libc_name::libc_name_p (const char *str, size_t len) - { - enum - { -@@ -1116,15 +1116,15 @@ libc_name::libc_name_p (register const char *str, regi - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { -- register int key = hash (str, len); -+ unsigned int key = hash (str, len); - -- if (key <= MAX_HASH_VALUE && key >= 0) -+ if (key <= MAX_HASH_VALUE) - { -- register int index = lookup[key]; -+ int index = lookup[key]; - - if (index >= 0) - { -- register const char *s = wordlist[index].name; -+ const char *s = wordlist[index].name; - - if (*str == *s && !strcmp (str + 1, s + 1)) - return &wordlist[index]; diff --git a/lang/gcc10/files/patch-gcc_system.h b/lang/gcc10/files/patch-gcc_system.h deleted file mode 100644 index 11b26521c550..000000000000 --- a/lang/gcc10/files/patch-gcc_system.h +++ /dev/null @@ -1,42 +0,0 @@ ---- gcc/system.h.orig 2022-06-28 08:54:28 UTC -+++ gcc/system.h -@@ -203,19 +203,6 @@ extern int fprintf_unlocked (FILE *, const char *, ... - #endif - #endif - --/* There are an extraordinary number of issues with . -- The last straw is that it varies with the locale. Use libiberty's -- replacement instead. */ --#include "safe-ctype.h" -- --#include -- --#include -- --#if !defined (errno) && defined (HAVE_DECL_ERRNO) && !HAVE_DECL_ERRNO --extern int errno; --#endif -- - #ifdef __cplusplus - #if defined (INCLUDE_ALGORITHM) || !defined (HAVE_SWAP_IN_UTILITY) - # include -@@ -235,6 +222,19 @@ extern int errno; - # include - # include - # include -+#endif -+ -+/* There are an extraordinary number of issues with . -+ The last straw is that it varies with the locale. Use libiberty's -+ replacement instead. */ -+#include "safe-ctype.h" -+ -+#include -+ -+#include -+ -+#if !defined (errno) && defined (HAVE_DECL_ERRNO) && !HAVE_DECL_ERRNO -+extern int errno; - #endif - - /* Some of glibc's string inlines cause warnings. Plus we'd rather diff --git a/lang/gcc10/files/patch-gets-no-more b/lang/gcc10/files/patch-gets-no-more deleted file mode 100644 index 4b49aba3ca28..000000000000 --- a/lang/gcc10/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/gcc10/files/patch-gfortran-libgcc b/lang/gcc10/files/patch-gfortran-libgcc deleted file mode 100644 index 89c6cb902c42..000000000000 --- a/lang/gcc10/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/gcc10/files/pkg-message.in b/lang/gcc10/files/pkg-message.in deleted file mode 100644 index df3ea725ce59..000000000000 --- a/lang/gcc10/files/pkg-message.in +++ /dev/null @@ -1,13 +0,0 @@ -[ -{ type: install - message: < diff --git a/lang/gcc10/pkg-plist b/lang/gcc10/pkg-plist deleted file mode 100644 index e13a06bb13dc..000000000000 --- a/lang/gcc10/pkg-plist +++ /dev/null @@ -1,35 +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%%-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/gfortran%%SUFFIX%% -bin/lto-dump%%SUFFIX%% -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/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