diff options
-rw-r--r-- | gcc-4.4.3/gcc/collect2.c | 15 | ||||
-rw-r--r-- | gcc-4.4.3/gcc/doc/invoke.texi | 3 | ||||
-rw-r--r-- | gcc-4.4.3/gcc/gcc.c | 3 | ||||
-rw-r--r-- | gcc-4.6/gcc/collect2.c | 15 | ||||
-rw-r--r-- | gcc-4.6/gcc/doc/invoke.texi | 3 | ||||
-rw-r--r-- | gcc-4.6/gcc/gcc.c | 3 | ||||
-rw-r--r-- | gcc-4.7/gcc/collect2.c | 15 | ||||
-rw-r--r-- | gcc-4.7/gcc/doc/invoke.texi | 3 | ||||
-rw-r--r-- | gcc-4.7/gcc/gcc.c | 3 |
9 files changed, 63 insertions, 0 deletions
diff --git a/gcc-4.4.3/gcc/collect2.c b/gcc-4.4.3/gcc/collect2.c index b7058154a..cb2028d96 100644 --- a/gcc-4.4.3/gcc/collect2.c +++ b/gcc-4.4.3/gcc/collect2.c @@ -767,6 +767,7 @@ main (int argc, char **argv) { static const char *const ld_suffix = "ld"; static const char *const gold_suffix = "ld.gold"; + static const char *const mcld_suffix = "ld.mcld"; static const char *const bfd_ld_suffix = "ld.bfd"; static const char *const real_ld_suffix = "real-ld"; static const char *const collect_ld_suffix = "collect-ld"; @@ -788,6 +789,8 @@ main (int argc, char **argv) concat(target_machine, "-", ld_suffix, NULL); const char *const full_gold_suffix = concat(target_machine, "-", gold_suffix, NULL); + const char *const full_mcld_suffix = + concat(target_machine, "-", mcld_suffix, NULL); const char *const full_bfd_ld_suffix = concat(target_machine, "-", bfd_ld_suffix, NULL); const char *const full_nm_suffix = @@ -805,6 +808,7 @@ main (int argc, char **argv) #else const char *const full_ld_suffix = ld_suffix; const char *const full_gold_suffix = gold_suffix; + const char *const full_mcld_suffix = mcld_suffix; const char *const full_bfd_ld_suffix = bfd_ld_suffix; const char *const full_nm_suffix = nm_suffix; const char *const full_gnm_suffix = gnm_suffix; @@ -830,6 +834,7 @@ main (int argc, char **argv) { DEF_LINKER, GOLD_LINKER, + MCLD_LINKER, BFD_LINKER } selected_linker = DEF_LINKER; @@ -892,6 +897,8 @@ main (int argc, char **argv) debug = 1; else if (! strcmp (argv[i], "-use-gold")) selected_linker = GOLD_LINKER; + else if (! strcmp (argv[i], "-use-mcld")) + selected_linker = MCLD_LINKER; else if (! strcmp (argv[i], "-use-ld")) selected_linker = BFD_LINKER; } @@ -983,6 +990,9 @@ main (int argc, char **argv) case GOLD_LINKER: ld_file_name = find_a_file (&cpath, gold_suffix); break; + case MCLD_LINKER: + ld_file_name = find_a_file (&cpath, mcld_suffix); + break; case BFD_LINKER: ld_file_name = find_a_file (&cpath, bfd_ld_suffix); break; @@ -999,6 +1009,9 @@ main (int argc, char **argv) case GOLD_LINKER: ld_file_name = find_a_file (&path, full_gold_suffix); break; + case MCLD_LINKER: + ld_file_name = find_a_file (&path, full_mcld_suffix); + break; case BFD_LINKER: ld_file_name = find_a_file (&path, full_bfd_ld_suffix); break; @@ -1027,6 +1040,7 @@ main (int argc, char **argv) default: case DEF_LINKER: s = ld_suffix; break; case GOLD_LINKER: s = gold_suffix; break; + case MCLD_LINKER: s = mcld_suffix; break; case BFD_LINKER: s = bfd_ld_suffix; break; } notice (" %s\n", s); @@ -1043,6 +1057,7 @@ main (int argc, char **argv) default: case DEF_LINKER: s = full_ld_suffix; break; case GOLD_LINKER: s = full_gold_suffix; break; + case MCLD_LINKER: s = full_mcld_suffix; break; case BFD_LINKER: s = full_bfd_ld_suffix; break; } notice (" %s\n", s); diff --git a/gcc-4.4.3/gcc/doc/invoke.texi b/gcc-4.4.3/gcc/doc/invoke.texi index f35cee8b1..92499735c 100644 --- a/gcc-4.4.3/gcc/doc/invoke.texi +++ b/gcc-4.4.3/gcc/doc/invoke.texi @@ -6942,6 +6942,9 @@ Use the @command{ld.gold} linker instead of the default linker. This option is only necessary if GCC has been configured with @option{--enable-gold=both} or @option{--enable-gold=both/ld}. +@item -fuse-ld=mcld +Use the @command{mclinker} instead of the default linker. + @item -fuse-ld=bfd Use the @command{ld.bfd} linker instead of the default linker. This option is only necessary if GCC has been configured with diff --git a/gcc-4.4.3/gcc/gcc.c b/gcc-4.4.3/gcc/gcc.c index afa6a014b..7909f8007 100644 --- a/gcc-4.4.3/gcc/gcc.c +++ b/gcc-4.4.3/gcc/gcc.c @@ -745,7 +745,10 @@ proper position among the other output files. */ %(linker) %l " LINK_PIE_SPEC \ LINK_RPATH_SPEC \ "%{fuse-ld=gold:%{fuse-ld=bfd:%e-fuse-ld=gold and -fuse-ld=bfd may not be used together}} \ + %{fuse-ld=gold:%{fuse-ld=mcld:%e-fuse-ld=gold and -fuse-ld=mcld may not be used together}} \ + %{fuse-ld=mcld:%{fuse-ld=bfd:%e-fuse-ld=mcld and -fuse-ld=bfd may not be used together}} \ %{fuse-ld=gold:-use-gold} \ + %{fuse-ld=mcld:-use-mcld} \ %{fuse-ld=bfd:-use-ld}" \ "%X %{o*} %{A} %{d} %{e*} %{m} %{N} %{n} %{r}\ %{s} %{t} %{u*} %{x} %{z} %{Z} %{!A:%{!nostdlib:%{!nostartfiles:%S}}}\ diff --git a/gcc-4.6/gcc/collect2.c b/gcc-4.6/gcc/collect2.c index 25b1f5554..dd083ac34 100644 --- a/gcc-4.6/gcc/collect2.c +++ b/gcc-4.6/gcc/collect2.c @@ -1077,6 +1077,7 @@ main (int argc, char **argv) { static const char *const ld_suffix = "ld"; static const char *const gold_suffix = "ld.gold"; + static const char *const mcld_suffix = "ld.mcld"; static const char *const bfd_ld_suffix = "ld.bfd"; static const char *const plugin_ld_suffix = PLUGIN_LD; static const char *const real_ld_suffix = "real-ld"; @@ -1099,6 +1100,8 @@ main (int argc, char **argv) concat(target_machine, "-", ld_suffix, NULL); const char *const full_gold_suffix = concat (target_machine, "-", gold_suffix, NULL); + const char *const full_mcld_suffix = + concat (target_machine, "-", mcld_suffix, NULL); const char *const full_bfd_ld_suffix = concat (target_machine, "-", bfd_ld_suffix, NULL); const char *const full_plugin_ld_suffix = @@ -1118,6 +1121,7 @@ main (int argc, char **argv) #else const char *const full_ld_suffix = ld_suffix; const char *const full_gold_suffix = gold_suffix; + const char *const full_mcld_suffix = mcld_suffix; const char *const full_bfd_ld_suffix = bfd_ld_suffix; const char *const full_plugin_ld_suffix = plugin_ld_suffix; const char *const full_nm_suffix = nm_suffix; @@ -1145,6 +1149,7 @@ main (int argc, char **argv) DFLT_LINKER, PLUGIN_LINKER, GOLD_LINKER, + MCLD_LINKER, BFD_LINKER } selected_linker = DFLT_LINKER; @@ -1235,6 +1240,8 @@ main (int argc, char **argv) } else if (! strcmp (argv[i], "-use-gold")) selected_linker = GOLD_LINKER; + else if (! strcmp (argv[i], "-use-mcld")) + selected_linker = MCLD_LINKER; else if (! strcmp (argv[i], "-use-ld")) selected_linker = BFD_LINKER; @@ -1349,6 +1356,9 @@ main (int argc, char **argv) case GOLD_LINKER: ld_file_name = find_a_file (&cpath, gold_suffix); break; + case MCLD_LINKER: + ld_file_name = find_a_file (&cpath, mcld_suffix); + break; case BFD_LINKER: ld_file_name = find_a_file (&cpath, bfd_ld_suffix); break; @@ -1368,6 +1378,9 @@ main (int argc, char **argv) case GOLD_LINKER: ld_file_name = find_a_file (&path, full_gold_suffix); break; + case MCLD_LINKER: + ld_file_name = find_a_file (&path, full_mcld_suffix); + break; case BFD_LINKER: ld_file_name = find_a_file (&path, full_bfd_ld_suffix); break; @@ -1400,6 +1413,7 @@ main (int argc, char **argv) case DFLT_LINKER: s = ld_suffix; break; case PLUGIN_LINKER: s = plugin_ld_suffix; break; case GOLD_LINKER: s = gold_suffix; break; + case MCLD_LINKER: s = mcld_suffix; break; case BFD_LINKER: s = bfd_ld_suffix; break; } notice (" %s\n", s); @@ -1417,6 +1431,7 @@ main (int argc, char **argv) case DFLT_LINKER: s = full_ld_suffix; break; case PLUGIN_LINKER: s = full_plugin_ld_suffix; break; case GOLD_LINKER: s = full_gold_suffix; break; + case MCLD_LINKER: s = full_mcld_suffix; break; case BFD_LINKER: s = full_bfd_ld_suffix; break; } notice (" %s\n", s); diff --git a/gcc-4.6/gcc/doc/invoke.texi b/gcc-4.6/gcc/doc/invoke.texi index 780f108e0..f8d3f1c43 100644 --- a/gcc-4.6/gcc/doc/invoke.texi +++ b/gcc-4.6/gcc/doc/invoke.texi @@ -8029,6 +8029,9 @@ Use the @command{gold} linker instead of the default linker. This option is only necessary if GCC has been configured with @option{--enable-gold} and @option{--enable-ld=default}. +@item -fuse-ld=mcld +Use the @command{mclinker} instead of the default linker. + @item -fuse-ld=bfd Use the @command{ld.bfd} linker instead of the default linker. This option is only necessary if GCC has been configured with diff --git a/gcc-4.6/gcc/gcc.c b/gcc-4.6/gcc/gcc.c index b954ecbb0..efcb0808d 100644 --- a/gcc-4.6/gcc/gcc.c +++ b/gcc-4.6/gcc/gcc.c @@ -658,7 +658,10 @@ proper position among the other output files. */ %{flto|flto=*:%<fcompare-debug*} \ %{flto} %{flto=*} %l " LINK_PIE_SPEC \ "%{fuse-ld=gold:%{fuse-ld=bfd:%e-fuse-ld=gold and -fuse-ld=bfd may not be used together}} \ + %{fuse-ld=gold:%{fuse-ld=mcld:%e-fuse-ld=gold and -fuse-ld=mcld may not be used together}} \ + %{fuse-ld=mcld:%{fuse-ld=bfd:%e-fuse-ld=mcld and -fuse-ld=bfd may not be used together}} \ %{fuse-ld=gold:-use-gold} \ + %{fuse-ld=mcld:-use-mcld} \ %{fuse-ld=bfd:-use-ld}" \ "%X %{o*} %{e*} %{N} %{n} %{r}\ %{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!nostartfiles:%S}}\ diff --git a/gcc-4.7/gcc/collect2.c b/gcc-4.7/gcc/collect2.c index 7429309ac..ce3ad0b79 100644 --- a/gcc-4.7/gcc/collect2.c +++ b/gcc-4.7/gcc/collect2.c @@ -1022,6 +1022,7 @@ main (int argc, char **argv) { static const char *const ld_suffix = "ld"; static const char *const gold_suffix = "ld.gold"; + static const char *const mcld_suffix = "ld.mcld"; static const char *const bfd_ld_suffix = "ld.bfd"; static const char *const plugin_ld_suffix = PLUGIN_LD; static const char *const real_ld_suffix = "real-ld"; @@ -1044,6 +1045,8 @@ main (int argc, char **argv) concat(target_machine, "-", ld_suffix, NULL); const char *const full_gold_suffix = concat (target_machine, "-", gold_suffix, NULL); + const char *const full_mcld_suffix = + concat (target_machine, "-", mcld_suffix, NULL); const char *const full_bfd_ld_suffix = concat (target_machine, "-", bfd_ld_suffix, NULL); const char *const full_plugin_ld_suffix = @@ -1063,6 +1066,7 @@ main (int argc, char **argv) #else const char *const full_ld_suffix = ld_suffix; const char *const full_gold_suffix = gold_suffix; + const char *const full_mcld_suffix = mcld_suffix; const char *const full_bfd_ld_suffix = bfd_ld_suffix; const char *const full_plugin_ld_suffix = plugin_ld_suffix; const char *const full_nm_suffix = nm_suffix; @@ -1090,6 +1094,7 @@ main (int argc, char **argv) DFLT_LINKER, PLUGIN_LINKER, GOLD_LINKER, + MCLD_LINKER, BFD_LINKER } selected_linker = DFLT_LINKER; @@ -1194,6 +1199,8 @@ main (int argc, char **argv) } else if (! strcmp (argv[i], "-use-gold")) selected_linker = GOLD_LINKER; + else if (! strcmp (argv[i], "-use-mcld")) + selected_linker = MCLD_LINKER; else if (! strcmp (argv[i], "-use-ld")) selected_linker = BFD_LINKER; @@ -1308,6 +1315,9 @@ main (int argc, char **argv) case GOLD_LINKER: ld_file_name = find_a_file (&cpath, gold_suffix); break; + case MCLD_LINKER: + ld_file_name = find_a_file (&cpath, mcld_suffix); + break; case BFD_LINKER: ld_file_name = find_a_file (&cpath, bfd_ld_suffix); break; @@ -1327,6 +1337,9 @@ main (int argc, char **argv) case GOLD_LINKER: ld_file_name = find_a_file (&path, full_gold_suffix); break; + case MCLD_LINKER: + ld_file_name = find_a_file (&path, full_mcld_suffix); + break; case BFD_LINKER: ld_file_name = find_a_file (&path, full_bfd_ld_suffix); break; @@ -1359,6 +1372,7 @@ main (int argc, char **argv) case DFLT_LINKER: s = ld_suffix; break; case PLUGIN_LINKER: s = plugin_ld_suffix; break; case GOLD_LINKER: s = gold_suffix; break; + case MCLD_LINKER: s = mcld_suffix; break; case BFD_LINKER: s = bfd_ld_suffix; break; } notice (" %s\n", s); @@ -1376,6 +1390,7 @@ main (int argc, char **argv) case DFLT_LINKER: s = full_ld_suffix; break; case PLUGIN_LINKER: s = full_plugin_ld_suffix; break; case GOLD_LINKER: s = full_gold_suffix; break; + case MCLD_LINKER: s = full_mcld_suffix; break; case BFD_LINKER: s = full_bfd_ld_suffix; break; } notice (" %s\n", s); diff --git a/gcc-4.7/gcc/doc/invoke.texi b/gcc-4.7/gcc/doc/invoke.texi index 135cc2944..429e62bd4 100644 --- a/gcc-4.7/gcc/doc/invoke.texi +++ b/gcc-4.7/gcc/doc/invoke.texi @@ -8044,6 +8044,9 @@ Use the @command{gold} linker instead of the default linker. This option is only necessary if GCC has been configured with @option{--enable-gold} and @option{--enable-ld=default}. +@item -fuse-ld=mcld +Use the @command{mclinker} instead of the default linker. + @item -fuse-ld=bfd Use the @command{ld.bfd} linker instead of the default linker. This option is only necessary if GCC has been configured with diff --git a/gcc-4.7/gcc/gcc.c b/gcc-4.7/gcc/gcc.c index c07041d55..6bcf12e1f 100644 --- a/gcc-4.7/gcc/gcc.c +++ b/gcc-4.7/gcc/gcc.c @@ -672,7 +672,10 @@ proper position among the other output files. */ "%{flto|flto=*:%<fcompare-debug*} \ %{flto} %{flto=*} %l " LINK_PIE_SPEC \ "%{fuse-ld=gold:%{fuse-ld=bfd:%e-fuse-ld=gold and -fuse-ld=bfd may not be used together}} \ + %{fuse-ld=gold:%{fuse-ld=mcld:%e-fuse-ld=gold and -fuse-ld=mcld may not be used together}} \ + %{fuse-ld=mcld:%{fuse-ld=bfd:%e-fuse-ld=mcld and -fuse-ld=bfd may not be used together}} \ %{fuse-ld=gold:-use-gold} \ + %{fuse-ld=mcld:-use-mcld} \ %{fuse-ld=bfd:-use-ld}" \ "%X %{o*} %{e*} %{N} %{n} %{r}\ %{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!nostartfiles:%S}}\ |