diff --git a/Golden_Repo/g/GCCcore/GCCcore-11.3.0_fuse-ld-mold.patch b/Golden_Repo/g/GCCcore/GCCcore-11.3.0_fuse-ld-mold.patch new file mode 100644 index 0000000000000000000000000000000000000000..72d3a1ace1d8c1d8c7b47d9f6bb3253deaf40fcc --- /dev/null +++ b/Golden_Repo/g/GCCcore/GCCcore-11.3.0_fuse-ld-mold.patch @@ -0,0 +1,126 @@ +From ad964f7eaef9c03ce68a01cfdd7fde9d56524868 Mon Sep 17 00:00:00 2001 +From: Martin Liska <mliska@suse.cz> +Date: Tue, 21 Dec 2021 17:43:55 +0100 +Subject: [PATCH] Support ld.mold linker. + +gcc/ChangeLog: + + * collect2.c (main): Add ld.mold. + * common.opt: Add -fuse-ld=mold. + * doc/invoke.texi: Document it. + * gcc.c (driver_handle_option): Handle -fuse-ld=mold. + * opts.c (common_handle_option): Likewise. +--- + gcc/collect2.c | 10 +++++++--- + gcc/common.opt | 4 ++++ + gcc/doc/invoke.texi | 4 ++++ + gcc/gcc.c | 4 ++++ + gcc/opts.c | 1 + + 5 files changed, 20 insertions(+), 3 deletions(-) + +diff --git a/gcc/collect2.c b/gcc/collect2.c +index d47fe3f91959c..b322527847c70 100644 +--- a/gcc/collect2.c ++++ b/gcc/collect2.c +@@ -785,6 +785,7 @@ + USE_GOLD_LD, + USE_BFD_LD, + USE_LLD_LD, ++ USE_MOLD_LD, + USE_LD_MAX + } selected_linker = USE_DEFAULT_LD; + static const char *const ld_suffixes[USE_LD_MAX] = +@@ -793,7 +794,8 @@ + PLUGIN_LD_SUFFIX, + "ld.gold", + "ld.bfd", +- "ld.lld" ++ "ld.lld", ++ "ld.mold" + }; + static const char *const real_ld_suffix = "real-ld"; + static const char *const collect_ld_suffix = "collect-ld"; +@@ -970,6 +972,8 @@ + selected_linker = USE_GOLD_LD; + else if (strcmp (argv[i], "-fuse-ld=lld") == 0) + selected_linker = USE_LLD_LD; ++ else if (strcmp (argv[i], "-fuse-ld=mold") == 0) ++ selected_linker = USE_MOLD_LD; + else if (strncmp (argv[i], "-o", 2) == 0) + { + /* Parse the output filename if it's given so that we can make +@@ -1082,7 +1086,7 @@ + ld_file_name = 0; + #ifdef DEFAULT_LINKER + if (selected_linker == USE_BFD_LD || selected_linker == USE_GOLD_LD || +- selected_linker == USE_LLD_LD) ++ selected_linker == USE_LLD_LD || selected_linker == USE_MOLD_LD) + { + char *linker_name; + # ifdef HOST_EXECUTABLE_SUFFIX +@@ -1317,7 +1321,7 @@ + else if (!use_collect_ld + && strncmp (arg, "-fuse-ld=", 9) == 0) + { +- /* Do not pass -fuse-ld={bfd|gold|lld} to the linker. */ ++ /* Do not pass -fuse-ld={bfd|gold|lld|mold} to the linker. */ + ld1--; + ld2--; + } +diff --git a/gcc/common.opt b/gcc/common.opt +index 2ed818d6057de..dba3fa886f9c6 100644 +--- a/gcc/common.opt ++++ b/gcc/common.opt +@@ -3046,6 +3046,10 @@ fuse-ld=lld + Common Driver Negative(fuse-ld=lld) + Use the lld LLVM linker instead of the default linker. + ++fuse-ld=mold ++Common Driver Negative(fuse-ld=mold) ++Use the Modern linker (MOLD) 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 e644c63767b88..54fa75ba138ea 100644 +--- a/gcc/doc/invoke.texi ++++ b/gcc/doc/invoke.texi +@@ -16266,6 +16266,10 @@ Use the @command{gold} linker instead of the default linker. + @opindex fuse-ld=lld + Use the LLVM @command{lld} linker instead of the default linker. + ++@item -fuse-ld=mold ++@opindex fuse-ld=mold ++Use the Modern Linker (@command{mold}) instead of the default linker. ++ + @cindex Libraries + @item -l@var{library} + @itemx -l @var{library} +diff --git a/gcc/gcc.c b/gcc/gcc.c +index b75b50b87b2bf..06e18a75b52cc 100644 +--- a/gcc/gcc.c ++++ b/gcc/gcc.c +@@ -4282,6 +4282,10 @@ driver_handle_option (struct gcc_options *opts, + use_ld = ".gold"; + break; + ++ case OPT_fuse_ld_mold: ++ use_ld = ".mold"; ++ break; ++ + case OPT_fcompare_debug_second: + compare_debug_second = 1; + break; +diff --git a/gcc/opts.c b/gcc/opts.c +index e4e47ff77b3d7..f820052307c36 100644 +--- a/gcc/opts.c ++++ b/gcc/opts.c +@@ -3105,6 +3105,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_ld_mold: + case OPT_fuse_linker_plugin: + /* No-op. Used by the driver and passed to us because it starts with f.*/ + break; diff --git a/Golden_Repo/g/GCCcore/GCCcore-6.2.0-fix-find-isl.patch b/Golden_Repo/g/GCCcore/GCCcore-6.2.0-fix-find-isl.patch new file mode 100644 index 0000000000000000000000000000000000000000..6334b6be3527921cba381caf0277f360482d93cf --- /dev/null +++ b/Golden_Repo/g/GCCcore/GCCcore-6.2.0-fix-find-isl.patch @@ -0,0 +1,14 @@ +# Don't use libmpc and libmpfr to find libisl +# by wpoely86@gmail.com +diff -ur gcc-6.1.0.orig/configure gcc-6.1.0/configure +--- gcc-6.1.0.orig/configure 2016-08-26 17:51:48.470524515 +0200 ++++ gcc-6.1.0/configure 2016-03-17 23:54:19.000000000 +0100 +@@ -6018,7 +6018,7 @@ + _isl_saved_LIBS=$LIBS + + CFLAGS="${_isl_saved_CFLAGS} ${islinc} ${gmpinc}" +- LDFLAGS="${_isl_saved_LDFLAGS} ${isllibs} ${gmplibs}" ++ LDFLAGS="${_isl_saved_LDFLAGS} ${isllibs}" + LIBS="${_isl_saved_LIBS} -lisl -lgmp" + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isl 0.16, 0.15, or deprecated 0.14" >&5 diff --git a/Golden_Repo/g/GCCcore/GCCcore-9.3.0_gmp-c99.patch b/Golden_Repo/g/GCCcore/GCCcore-9.3.0_gmp-c99.patch new file mode 100644 index 0000000000000000000000000000000000000000..7c4c567c8469324c43ca4e82095e4455e597ca89 --- /dev/null +++ b/Golden_Repo/g/GCCcore/GCCcore-9.3.0_gmp-c99.patch @@ -0,0 +1,67 @@ +add -std=c99 when building GMP, to avoid compilation errors with older GCC system compilers +author: Kenneth Hoste (HPC-UGent) +--- gcc-9.3.0-RC-20200305/Makefile.in.orig 2020-03-10 20:30:39.851898414 +0100 ++++ gcc-9.3.0-RC-20200305/Makefile.in 2020-03-10 20:33:13.011735787 +0100 +@@ -12891,7 +12891,7 @@ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + (cd $(HOST_SUBDIR)/gmp && \ +- $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) $(STAGE1_FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM" \ ++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) $(STAGE1_FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM -std=c99" \ + $(TARGET-gmp)) + @endif gmp + +@@ -12922,7 +12922,7 @@ + CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \ + LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \ + $(EXTRA_HOST_FLAGS) \ +- $(STAGE1_FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM" \ ++ $(STAGE1_FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM -std=c99" \ + TFLAGS="$(STAGE1_TFLAGS)" \ + $(TARGET-stage1-gmp) + +@@ -12937,7 +12937,7 @@ + fi; \ + cd $(HOST_SUBDIR)/gmp && \ + $(MAKE) $(EXTRA_HOST_FLAGS) \ +- $(STAGE1_FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM" clean ++ $(STAGE1_FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM -std=c99" clean + @endif gmp-bootstrap + + +@@ -12966,7 +12966,7 @@ + CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \ + CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \ + LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \ +- $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM" \ ++ $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM -std=c99" \ + TFLAGS="$(STAGE2_TFLAGS)" \ + $(TARGET-stage2-gmp) + +@@ -12980,7 +12980,7 @@ + $(MAKE) stage2-start; \ + fi; \ + cd $(HOST_SUBDIR)/gmp && \ +- $(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM" clean ++ $(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM -std=c99" clean + @endif gmp-bootstrap + + +@@ -13009,7 +13009,7 @@ + CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \ + CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \ + LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \ +- $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM" \ ++ $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM -std=c99" \ + TFLAGS="$(STAGE3_TFLAGS)" \ + $(TARGET-stage3-gmp) + +@@ -13023,7 +13023,7 @@ + $(MAKE) stage3-start; \ + fi; \ + cd $(HOST_SUBDIR)/gmp && \ +- $(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM" clean ++ $(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM -std=c99" clean + @endif gmp-bootstrap + + diff --git a/Golden_Repo/g/GCCcore/GCCcore-9.x-11.x_fix-unsigned-fpe-traps.patch b/Golden_Repo/g/GCCcore/GCCcore-9.x-11.x_fix-unsigned-fpe-traps.patch new file mode 100644 index 0000000000000000000000000000000000000000..411f035218c7935c9b2f9ab992fcf6a15beef7e8 --- /dev/null +++ b/Golden_Repo/g/GCCcore/GCCcore-9.x-11.x_fix-unsigned-fpe-traps.patch @@ -0,0 +1,33 @@ +From 99b520f031c0e491d7e170916df11dd645d60617 Mon Sep 17 00:00:00 2001 +From: Andrew Pinski <apinski@marvell.com> +Date: Thu, 29 Jul 2021 19:48:46 -0700 +Subject: [PATCH] Fix PR 101683: FP exceptions for float->unsigned + +Just like the old bug PR9651, unsigned_fix rtl should +also be handled as a trapping instruction. + +OK? Bootstrapped and tested on x86_64-linux-gnu with no regressions. + +gcc/ChangeLog: + + PR rtl-optimization/101683 + * rtlanal.c (may_trap_p_1): Handle UNSIGNED_FIX. +--- + gcc/rtlanal.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c +index 3b8d88afd4d..f7f3acb75db 100644 +--- a/gcc/rtlanal.c ++++ b/gcc/rtlanal.c +@@ -3261,6 +3261,7 @@ may_trap_p_1 (const_rtx x, unsigned flags) + break; + + case FIX: ++ case UNSIGNED_FIX: + /* Conversion of floating point might trap. */ + if (flag_trapping_math && HONOR_NANS (XEXP (x, 0))) + return 1; +-- +2.27.0 + diff --git a/Golden_Repo/z/zlib/zlib-1.2.12_fix-CC-logic-in-configure.patch b/Golden_Repo/z/zlib/zlib-1.2.12_fix-CC-logic-in-configure.patch new file mode 100644 index 0000000000000000000000000000000000000000..f34c40445de6b1db4c18302069ec5d7cc9c84cdb --- /dev/null +++ b/Golden_Repo/z/zlib/zlib-1.2.12_fix-CC-logic-in-configure.patch @@ -0,0 +1,43 @@ +From 80d086357a55b94a13e43756cf3e131f25eef0e4 Mon Sep 17 00:00:00 2001 +From: Sam James <sam@gentoo.org> +Date: Mon, 28 Mar 2022 08:40:45 +0100 +Subject: [PATCH] Fix CC logic in configure + +In https://github.com/madler/zlib/commit/e9a52aa129efe3834383e415580716a7c4027f8d, +the logic was changed to try check harder for GCC, but it dropped +the default setting of cc=${CC}. It was throwing away any pre-set CC value as +a result. + +The rest of the script then cascades down a bad path because it's convinced +it's not GCC or a GCC-like compiler. + +This led to e.g. misdetection of inability to build shared libs +for say, multilib cases (w/ CC being one thing from the environment being used +for one test (e.g. x86_64-unknown-linux-gnu-gcc -m32 and then 'cc' used for +shared libs (but missing "-m32"!)). Obviously just one example of how +the old logic could break. + +This restores the old default of 'CC' if nothing overrides it later +in configure. + +Bug: https://bugs.gentoo.org/836308 +Signed-off-by: Sam James <sam@gentoo.org> +--- + configure | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/configure b/configure +index 52ff4a04e..3fa3e8618 100755 +--- a/configure ++++ b/configure +@@ -174,7 +174,10 @@ if test -z "$CC"; then + else + cc=${CROSS_PREFIX}cc + fi ++else ++ cc=${CC} + fi ++ + cflags=${CFLAGS-"-O3"} + # to force the asm version use: CFLAGS="-O3 -DASMV" ./configure + case "$cc" in