diff options
author | Martin Liska <mliska@suse.cz> | 2021-12-21 17:43:55 +0100 |
---|---|---|
committer | Martin Liska <mliska@suse.cz> | 2021-12-29 12:44:25 +0100 |
commit | ad964f7eaef9c03ce68a01cfdd7fde9d56524868 (patch) | |
tree | 3b282a6fb99d06a4e8a2a4b8dbd970329452f843 /gcc/collect2.c | |
parent | 52a6b06c26346cfb6972252ef547720b431844e6 (diff) | |
download | gcc-ad964f7eaef9c03ce68a01cfdd7fde9d56524868.zip gcc-ad964f7eaef9c03ce68a01cfdd7fde9d56524868.tar.gz gcc-ad964f7eaef9c03ce68a01cfdd7fde9d56524868.tar.bz2 |
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.
Diffstat (limited to 'gcc/collect2.c')
-rw-r--r-- | gcc/collect2.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/gcc/collect2.c b/gcc/collect2.c index d47fe3f..b322527 100644 --- a/gcc/collect2.c +++ b/gcc/collect2.c @@ -776,6 +776,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] = @@ -784,7 +785,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"; @@ -957,6 +959,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 (startswith (argv[i], "-o")) { /* Parse the output filename if it's given so that we can make @@ -1048,7 +1052,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 @@ -1283,7 +1287,7 @@ main (int argc, char **argv) else if (!use_collect_ld && startswith (arg, "-fuse-ld=")) { - /* 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--; } |