aboutsummarylogtreecommitdiffstats
path: root/gcc11-support-mold.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gcc11-support-mold.patch')
-rw-r--r--gcc11-support-mold.patch208
1 files changed, 0 insertions, 208 deletions
diff --git a/gcc11-support-mold.patch b/gcc11-support-mold.patch
deleted file mode 100644
index edfbc83abb4b..000000000000
--- a/gcc11-support-mold.patch
+++ /dev/null
@@ -1,208 +0,0 @@
-From 42a673211621b28d968d3556076a8881278ec5f1 Mon Sep 17 00:00:00 2001
-From: "P. Jung" <ptr1337@cachyos.org>
-Date: Fri, 21 Jan 2022 16:40:01 +0000
-Subject: [PATCH] mold-gcc11
-
----
- gcc/collect2.c | 10 +++++++---
- gcc/common.opt | 4 ++++
- gcc/configure | 18 ++++++++++++++++++
- gcc/configure.ac | 16 ++++++++++++++++
- gcc/doc/invoke.texi | 4 ++++
- gcc/gcc.c | 4 ++++
- gcc/opts.c | 1 +
- 7 files changed, 54 insertions(+), 3 deletions(-)
-
-diff --git a/gcc/collect2.c b/gcc/collect2.c
-index 0c8af29879d..f0e1bcfaeb4 100644
---- a/gcc/collect2.c
-+++ b/gcc/collect2.c
-@@ -785,6 +785,7 @@ main (int argc, char **argv)
- 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 @@ main (int argc, char **argv)
- 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 @@ main (int argc, char **argv)
- 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 @@ main (int argc, char **argv)
- 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 @@ main (int argc, char **argv)
- 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 a75b44ee47e..c24e135e2ee 100644
---- a/gcc/common.opt
-+++ b/gcc/common.opt
-@@ -2967,6 +2967,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/configure b/gcc/configure
-index 708328e1670..5982dc3ddd3 100755
---- a/gcc/configure
-+++ b/gcc/configure
-@@ -23017,6 +23017,20 @@ fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_is_gold" >&5
- $as_echo "$ld_is_gold" >&6; }
-
-+# Check to see if we are using mold instead of ld
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using mold" >&5
-+$as_echo_n "checking whether we are using mold... " >&6; }
-+ld_is_mold=no
-+if test x$gcc_cv_ld != x; then
-+ if $gcc_cv_ld --version 2>/dev/null | sed 1q \
-+ | grep "mold" > /dev/null; then
-+ ld_is_mold=yes
-+ fi
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_is_mold" >&5
-+$as_echo "$ld_is_mold" >&6; }
-+
-+
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking gold linker with split stack support as non default" >&5
- $as_echo_n "checking gold linker with split stack support as non default... " >&6; }
- # Check to see if default ld is not gold, but gold is
-@@ -23868,6 +23882,8 @@ else
- gcc_cv_ld_hidden=yes
- if test x"$ld_is_gold" = xyes; then
- :
-+ elif test x"$ld_is_mold" = xyes; then
-+ :
- elif echo "$ld_ver" | grep GNU > /dev/null; then
- if test 0"$ld_date" -lt 20020404; then
- if test -n "$ld_date"; then
-@@ -24980,6 +24996,8 @@ $as_echo "$gcc_cv_as_comdat_group_group" >&6; }
- fi
- if test x"$ld_is_gold" = xyes; then
- comdat_group=yes
-+elif test x"$ld_is_mold" = xyes; then
-+ comdat_group=yes
- elif test $in_tree_ld = yes ; then
- comdat_group=no
- if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 16 -o "$gcc_cv_gld_major_version" -gt 2 \
-diff --git a/gcc/configure.ac b/gcc/configure.ac
-index df1c9cc3200..3146d90d4e3 100644
---- a/gcc/configure.ac
-+++ b/gcc/configure.ac
-@@ -2645,6 +2645,18 @@ if test x$gcc_cv_ld != x; then
- fi
- AC_MSG_RESULT($ld_is_gold)
-
-+# Check to see if we are using mold instead of ld
-+AC_MSG_CHECKING(whether we are using mold)
-+ld_is_mold=no
-+if test x$gcc_cv_ld != x; then
-+ if $gcc_cv_ld --version 2>/dev/null | sed 1q \
-+ | grep "mold" > /dev/null; then
-+ ld_is_mold=yes
-+ fi
-+fi
-+AC_MSG_RESULT($ld_is_mold)
-+
-+
- AC_MSG_CHECKING(gold linker with split stack support as non default)
- # Check to see if default ld is not gold, but gold is
- # available and has support for split stack. If gcc was configured
-@@ -3030,6 +3042,8 @@ else
- gcc_cv_ld_hidden=yes
- if test x"$ld_is_gold" = xyes; then
- :
-+ elif test x"$ld_is_mold" = xyes; then
-+ :
- elif echo "$ld_ver" | grep GNU > /dev/null; then
- if test 0"$ld_date" -lt 20020404; then
- if test -n "$ld_date"; then
-@@ -3503,6 +3517,8 @@ else
- fi
- if test x"$ld_is_gold" = xyes; then
- comdat_group=yes
-+elif test x"$ld_is_mold" = xyes; then
-+ comdat_group=yes
- elif test $in_tree_ld = yes ; then
- comdat_group=no
- if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 16 -o "$gcc_cv_gld_major_version" -gt 2 \
-diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
-index 5a4b3c6c234..c5887c589b3 100644
---- a/gcc/doc/invoke.texi
-+++ b/gcc/doc/invoke.texi
-@@ -15605,6 +15605,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 8ba410c9e17..08fb827340a 100644
---- a/gcc/gcc.c
-+++ b/gcc/gcc.c
-@@ -4189,6 +4189,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 24bb64198c8..9192ca75743 100644
---- a/gcc/opts.c
-+++ b/gcc/opts.c
-@@ -2875,6 +2875,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;
---
-2.34.1
-