aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMuhammad Moinur Rahman <bofh@FreeBSD.org>2023-12-30 08:17:18 +0000
committerMuhammad Moinur Rahman <bofh@FreeBSD.org>2023-12-31 00:06:39 +0000
commit87382607f0fdbf970d02e8bb8394529ac2b3b8d0 (patch)
tree4c573fc768680d5cd382725bdcced8bc8b604d6a
parent559cd20d7ed35b6a1ecec2732b9f968c1f68d6bc (diff)
downloadports-87382607f0fdbf970d02e8bb8394529ac2b3b8d0.tar.gz
ports-87382607f0fdbf970d02e8bb8394529ac2b3b8d0.zip
lang/gcc8: Remove expired port
2023-12-31 lang/gcc8: Unsupported by upstream. Use GCC 11 or newer instead.
-rw-r--r--MOVED1
-rw-r--r--Mk/bsd.default-versions.mk6
-rw-r--r--Mk/bsd.gcc.mk2
-rw-r--r--lang/Makefile1
-rw-r--r--lang/gcc8/Makefile155
-rw-r--r--lang/gcc8/distinfo3
-rw-r--r--lang/gcc8/files/patch-arm-unwind-cxx-support106
-rw-r--r--lang/gcc8/files/patch-clang-vec_step21
-rw-r--r--lang/gcc8/files/patch-fuse-ld=lld106
-rw-r--r--lang/gcc8/files/patch-gcc_system.h42
-rw-r--r--lang/gcc8/files/patch-gets-no-more47
-rw-r--r--lang/gcc8/files/patch-gfortran-libgcc70
-rw-r--r--lang/gcc8/files/patch-spe-config24
-rw-r--r--lang/gcc8/files/pkg-message.in13
-rw-r--r--lang/gcc8/pkg-descr5
-rw-r--r--lang/gcc8/pkg-plist33
16 files changed, 3 insertions, 632 deletions
diff --git a/MOVED b/MOVED
index 254c2a0b6ce3..ac2230447150 100644
--- a/MOVED
+++ b/MOVED
@@ -8294,3 +8294,4 @@ net/wireguard||2023-12-31|Has expired: Only useful for FreeBSD 12 which is EoL s
net/wireguard-kmod||2023-12-31|Has expired: Only useful for FreeBSD 12 which is EoL soon
www/py-dj41-django-js-asset|www/py-dj42-django-js-asset|2023-12-31|Has expired: Extended support of Django 4.1 ends December 2023, upgrade to the Django 4.2+ version of this port. See https://www.djangoproject.com/download/
www/py-dj41-django-timezone-field|www/py-dj42-django-timezone-field|2023-12-31|Has expired: Extended support of Django 4.1 ends December 2023, upgrade to the Django 4.2+ version of this port. See https://www.djangoproject.com/download/
+lang/gcc8||2023-12-31|Has expired: Unsupported by upstream. Use GCC 11 or newer instead.
diff --git a/Mk/bsd.default-versions.mk b/Mk/bsd.default-versions.mk
index c9ec72406e7f..97451633cdf6 100644
--- a/Mk/bsd.default-versions.mk
+++ b/Mk/bsd.default-versions.mk
@@ -56,13 +56,9 @@ FPC_DEFAULT?= 3.2.2
. else
FPC_DEFAULT?= 3.3.1
. endif
-# Possible values: 8 (last to support powerpcspe), 9, 10, 11, 12
+# Possible values: 9, 10, 11, 12
# (Any other version is completely unsupported and not meant for general use.)
-. if ${ARCH} == "powerpcspe"
-GCC_DEFAULT?= 8
-. else
GCC_DEFAULT?= 12
-. endif
# Possible values: 10
GHOSTSCRIPT_DEFAULT?= 10
# Possible values: mesa-libs, mesa-devel
diff --git a/Mk/bsd.gcc.mk b/Mk/bsd.gcc.mk
index 824da68d5fc8..05a44cded48f 100644
--- a/Mk/bsd.gcc.mk
+++ b/Mk/bsd.gcc.mk
@@ -35,7 +35,7 @@ GCC_Include_MAINTAINER= gerald@FreeBSD.org
# All GCC versions supported by this framework.
#
# When updating this, keep Mk/bsd.default-versions.mk in sync.
-GCCVERSIONS= 4.8 8 9 10 11 12 13 14
+GCCVERSIONS= 4.8 9 10 11 12 13 14
# No configurable parts below this. ####################################
#
diff --git a/lang/Makefile b/lang/Makefile
index 0b743aa0f440..1fcf2c7c06f3 100644
--- a/lang/Makefile
+++ b/lang/Makefile
@@ -94,7 +94,6 @@
SUBDIR += gcc14-devel
SUBDIR += gcc48
SUBDIR += gcc6-aux
- SUBDIR += gcc8
SUBDIR += gcc9
SUBDIR += gforth
SUBDIR += ghc
diff --git a/lang/gcc8/Makefile b/lang/gcc8/Makefile
deleted file mode 100644
index 392f8366203c..000000000000
--- a/lang/gcc8/Makefile
+++ /dev/null
@@ -1,155 +0,0 @@
-PORTNAME= gcc
-PORTVERSION= 8.5.0
-PORTREVISION= 2
-CATEGORIES= lang
-MASTER_SITES= GCC
-PKGNAMESUFFIX= ${SUFFIX}
-
-MAINTAINER= toolchain@FreeBSD.org
-COMMENT= GNU Compiler Collection 8
-WWW= https://gcc.gnu.org
-
-LICENSE= GPLv3 GPLv3RLE
-LICENSE_COMB= multi
-
-DEPRECATED= Unsupported by upstream. Use GCC 11 or newer instead.
-EXPIRATION_DATE= 2023-12-31
-ONLY_FOR_ARCHS= aarch64 amd64 arm armv6 armv7 i386 powerpc powerpc64 powerpcspe
-
-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
-
-CPE_VENDOR= gnu
-
-GCC_VERSION= ${PORTVERSION}
-SUFFIX= ${PORTVERSION:C/([0-9]+).*/\1/}
-CFLAGS:= ${CFLAGS:N-mretpoline}
-CXXFLAGS:= ${CXXFLAGS:N-mretpoline}
-
-OPTIONS_DEFINE= BOOTSTRAP
-OPTIONS_DEFAULT= BOOTSTRAP
-BOOTSTRAP_DESC= Build using a full bootstrap
-
-.if exists(/usr/lib32/libc.so)
-OPTIONS_DEFINE_amd64+= MULTILIB
-OPTIONS_DEFAULT_amd64+= MULTILIB
-OPTIONS_DEFINE_powerpc64+= MULTILIB
-OPTIONS_DEFAULT_powerpc64+= MULTILIB
-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
-. if defined(PPC_ABI) && ${PPC_ABI} == ELFv2
-CONFIGURE_ARGS+= --with-abi=elfv2
-. else
-MAKE_ARGS+= CFLAGS_FOR_TARGET="-O1" CXXFLAGS_FOR_TARGET="-O1" BOOT_CFLAGS="-O1" # PR235975
-.endif
-
-.elif ${ARCH} == powerpcspe
-CONFIGURE_ARGS+= --with-cpu=8548 --enable-e500_double --without-fp
-.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
-CONFIGURE_OUTSOURCE= yes
-.if empty(PORT_OPTIONS:MBOOTSTRAP)
-CONFIGURE_ARGS+=--disable-bootstrap
-.else
-CONFIGURE_ARGS+=--with-build-config=bootstrap-debug
-ALL_TARGET= bootstrap-lean
-.endif
-INSTALL_TARGET= install-strip
-.if ${UID} != 0
-BINMODE= 755
-.endif
-CONFIGURE_ARGS+=--disable-nls \
- --enable-gnu-indirect-function \
- --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}
-
-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}/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/gcc8/distinfo b/lang/gcc8/distinfo
deleted file mode 100644
index c0654295819b..000000000000
--- a/lang/gcc8/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1621158128
-SHA256 (gcc-8.5.0.tar.xz) = d308841a511bb830a6100397b0042db24ce11f642dab6ea6ee44842e5325ed50
-SIZE (gcc-8.5.0.tar.xz) = 63841008
diff --git a/lang/gcc8/files/patch-arm-unwind-cxx-support b/lang/gcc8/files/patch-arm-unwind-cxx-support
deleted file mode 100644
index ec6959b9655c..000000000000
--- a/lang/gcc8/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/gcc8/files/patch-clang-vec_step b/lang/gcc8/files/patch-clang-vec_step
deleted file mode 100644
index 68fbeedad582..000000000000
--- a/lang/gcc8/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/gcc8/files/patch-fuse-ld=lld b/lang/gcc8/files/patch-fuse-ld=lld
deleted file mode 100644
index 9b2037dee71e..000000000000
--- a/lang/gcc8/files/patch-fuse-ld=lld
+++ /dev/null
@@ -1,106 +0,0 @@
-commit 4eea76dbfc871614e116961b048d9aa38eee66ea
-Author: law <law@138bc75d-0d04-0410-961f-82ee72b054a4>
-Date: Thu Nov 8 22:05:27 2018 +0000
-
- * collect2.c (linker_select): Add USE_LLD_LD.
- (ld_suffixes): Add ld.lld.
- (main): Handle -fuse-ld=lld.
- * common.opt (-fuse-ld=lld): New option.
- * doc/invoke.texi (-fuse-ld=lld): Document.
- * opts.c (common_handle_option): Handle OPT_fuse_ld_lld.
-
- git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@265940 138bc75d-0d04-0410-961f-82ee72b054a4
-
---- UTC
-diff --git a/gcc/collect2.c b/gcc/collect2.c
-index a96af137a44..6463ff7b645 100644
---- gcc/collect2.c
-+++ gcc/collect2.c
-@@ -831,6 +831,7 @@ main (int argc, char **argv)
- USE_PLUGIN_LD,
- USE_GOLD_LD,
- USE_BFD_LD,
-+ USE_LLD_LD,
- USE_LD_MAX
- } selected_linker = USE_DEFAULT_LD;
- static const char *const ld_suffixes[USE_LD_MAX] =
-@@ -838,7 +839,8 @@ main (int argc, char **argv)
- "ld",
- PLUGIN_LD_SUFFIX,
- "ld.gold",
-- "ld.bfd"
-+ "ld.bfd",
-+ "ld.lld"
- };
- static const char *const real_ld_suffix = "real-ld";
- static const char *const collect_ld_suffix = "collect-ld";
-@@ -1007,6 +1009,8 @@ main (int argc, char **argv)
- selected_linker = USE_BFD_LD;
- else if (strcmp (argv[i], "-fuse-ld=gold") == 0)
- selected_linker = USE_GOLD_LD;
-+ else if (strcmp (argv[i], "-fuse-ld=lld") == 0)
-+ selected_linker = USE_LLD_LD;
-
- #ifdef COLLECT_EXPORT_LIST
- /* These flags are position independent, although their order
-@@ -1096,7 +1100,8 @@ main (int argc, char **argv)
- /* Maybe we know the right file to use (if not cross). */
- ld_file_name = 0;
- #ifdef DEFAULT_LINKER
-- if (selected_linker == USE_BFD_LD || selected_linker == USE_GOLD_LD)
-+ if (selected_linker == USE_BFD_LD || selected_linker == USE_GOLD_LD ||
-+ selected_linker == USE_LLD_LD)
- {
- char *linker_name;
- # ifdef HOST_EXECUTABLE_SUFFIX
-@@ -1315,7 +1320,7 @@ main (int argc, char **argv)
- else if (!use_collect_ld
- && strncmp (arg, "-fuse-ld=", 9) == 0)
- {
-- /* Do not pass -fuse-ld={bfd|gold} to the linker. */
-+ /* Do not pass -fuse-ld={bfd|gold|lld} to the linker. */
- ld1--;
- ld2--;
- }
-diff --git a/gcc/common.opt b/gcc/common.opt
-index 5a5d33205a4..99489fbd553 100644
---- gcc/common.opt
-+++ gcc/common.opt
-@@ -2732,6 +2732,10 @@ fuse-ld=gold
- Common Driver Negative(fuse-ld=bfd)
- Use the gold linker instead of the default linker.
-
-+fuse-ld=lld
-+Common Driver Negative(fuse-ld=lld)
-+Use the lld LLVM linker instead of the default linker.
-+
- fuse-linker-plugin
- Common Undocumented Var(flag_use_linker_plugin)
-
-diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
-index e0a770491b6..8762f3f7bc3 100644
---- gcc/doc/invoke.texi
-+++ gcc/doc/invoke.texi
-@@ -12610,6 +12610,10 @@ Use the @command{bfd} linker instead of the default linker.
- @opindex fuse-ld=gold
- Use the @command{gold} linker instead of the default linker.
-
-+@item -fuse-ld=lld
-+@opindex fuse-ld=lld
-+Use the LLVM @command{lld} linker instead of the default linker.
-+
- @cindex Libraries
- @item -l@var{library}
- @itemx -l @var{library}
-diff --git a/gcc/opts.c b/gcc/opts.c
-index 34c283dd765..f094f5f1251 100644
---- gcc/opts.c
-+++ gcc/opts.c
-@@ -2557,6 +2557,7 @@ common_handle_option (struct gcc_options *opts,
-
- case OPT_fuse_ld_bfd:
- case OPT_fuse_ld_gold:
-+ case OPT_fuse_ld_lld:
- case OPT_fuse_linker_plugin:
- /* No-op. Used by the driver and passed to us because it starts with f.*/
- break;
diff --git a/lang/gcc8/files/patch-gcc_system.h b/lang/gcc8/files/patch-gcc_system.h
deleted file mode 100644
index 28a6281c22ca..000000000000
--- a/lang/gcc8/files/patch-gcc_system.h
+++ /dev/null
@@ -1,42 +0,0 @@
---- gcc/system.h.orig 2021-05-14 08:42:09 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 <ctype.h>.
-- The last straw is that it varies with the locale. Use libiberty's
-- replacement instead. */
--#include "safe-ctype.h"
--
--#include <sys/types.h>
--
--#include <errno.h>
--
--#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 <algorithm>
-@@ -235,6 +222,19 @@ extern int errno;
- # include <cstring>
- # include <new>
- # include <utility>
-+#endif
-+
-+/* There are an extraordinary number of issues with <ctype.h>.
-+ The last straw is that it varies with the locale. Use libiberty's
-+ replacement instead. */
-+#include "safe-ctype.h"
-+
-+#include <sys/types.h>
-+
-+#include <errno.h>
-+
-+#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/gcc8/files/patch-gets-no-more b/lang/gcc8/files/patch-gets-no-more
deleted file mode 100644
index 4b49aba3ca28..000000000000
--- a/lang/gcc8/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/gcc8/files/patch-gfortran-libgcc b/lang/gcc8/files/patch-gfortran-libgcc
deleted file mode 100644
index 89c6cb902c42..000000000000
--- a/lang/gcc8/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/gcc8/files/patch-spe-config b/lang/gcc8/files/patch-spe-config
deleted file mode 100644
index 7a1689898e1f..000000000000
--- a/lang/gcc8/files/patch-spe-config
+++ /dev/null
@@ -1,24 +0,0 @@
---- UTC
-Index: gcc/config.gcc
-===================================================================
---- gcc/config.gcc.orig 2018-06-25 19:34:01.000000000 +0000
-+++ gcc/config.gcc 2018-12-14 04:14:25.044026000 +0000
-@@ -455,7 +455,7 @@
- nvptx-*-*)
- cpu_type=nvptx
- ;;
--powerpc*-*-*spe*)
-+powerpcspe-*-*|powerpc*-*-*spe*)
- cpu_type=powerpcspe
- extra_headers="ppc-asm.h altivec.h spe.h ppu_intrinsics.h paired.h spu2vmx.h vec_types.h si2vmx.h htmintrin.h htmxlintrin.h"
- case x$with_cpu in
-@@ -2413,6 +2413,9 @@
- tm_file="${tm_file} rs6000/default64.h rs6000/freebsd64.h"
- tmake_file="${tmake_file} rs6000/t-freebsd64"
- extra_options="${extra_options} rs6000/linux64.opt"
-+ ;;
-+ powerpcspe-*)
-+ tm_file="${tm_file} powerpcspe/freebsd.h powerpcspe/linuxspe.h powerpcspe/e500.h"
- ;;
- *)
- tm_file="${tm_file} rs6000/freebsd.h"
diff --git a/lang/gcc8/files/pkg-message.in b/lang/gcc8/files/pkg-message.in
deleted file mode 100644
index df3ea725ce59..000000000000
--- a/lang/gcc8/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/gcc8/pkg-descr b/lang/gcc8/pkg-descr
deleted file mode 100644
index 15624762b9a5..000000000000
--- a/lang/gcc8/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 gcc8, g++8,
-and gfortran8, respectively.
-
-Gerald Pfeifer <gerald@FreeBSD.org>
diff --git a/lang/gcc8/pkg-plist b/lang/gcc8/pkg-plist
deleted file mode 100644
index 8d302f0800b8..000000000000
--- a/lang/gcc8/pkg-plist
+++ /dev/null
@@ -1,33 +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%%
-man/man1/cpp%%SUFFIX%%.1.gz
-man/man1/g++%%SUFFIX%%.1.gz
-man/man1/gcc%%SUFFIX%%.1.gz
-man/man1/gcov%%SUFFIX%%.1.gz
-man/man1/gcov-dump%%SUFFIX%%.1.gz
-man/man1/gcov-tool%%SUFFIX%%.1.gz
-man/man1/gfortran%%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