summaryrefslogtreecommitdiff
path: root/lang/gcc8/files
diff options
context:
space:
mode:
Diffstat (limited to 'lang/gcc8/files')
-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
8 files changed, 0 insertions, 429 deletions
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
-}
-]