Date: Tue, 13 Nov 2018 02:58:30 +0000 (UTC) From: Li-Wen Hsu <lwhsu@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r484853 - in head/devel/riscv64-gcc: . files Message-ID: <201811130258.wAD2wUVb048692@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: lwhsu Date: Tue Nov 13 02:58:30 2018 New Revision: 484853 URL: https://svnweb.freebsd.org/changeset/ports/484853 Log: Add support of -fuse-ld=lld Merge support from upstream gcc for -fuse-ld=lld. It's already committed and should appear in a future release. PR: 233174 Submitted by: brooks MFH: 2018Q4 Sponsored by: The FreeBSD Foundation Added: head/devel/riscv64-gcc/files/ head/devel/riscv64-gcc/files/patch-fuse-ld=lld (contents, props changed) Modified: head/devel/riscv64-gcc/Makefile Modified: head/devel/riscv64-gcc/Makefile ============================================================================== --- head/devel/riscv64-gcc/Makefile Tue Nov 13 00:30:31 2018 (r484852) +++ head/devel/riscv64-gcc/Makefile Tue Nov 13 02:58:30 2018 (r484853) @@ -2,6 +2,7 @@ PORTNAME= gcc PORTVERSION= 8.1.0 +PORTREVISION= 1 CATEGORIES= devel PKGNAMEPREFIX= riscv64- @@ -40,6 +41,7 @@ CONFIGURE_ARGS= --target=${GCC_TARGET} \ --with-as=${LOCALBASE}/bin/${PKGNAMEPREFIX}unknown-${OPSYS:tl}${OSREL}-as \ --with-ld=${LOCALBASE}/bin/${PKGNAMEPREFIX}unknown-${OPSYS:tl}${OSREL}-ld \ --disable-werror \ + --disable-shared \ --enable-threads \ --enable-tls \ --enable-languages=c,c++ \ Added: head/devel/riscv64-gcc/files/patch-fuse-ld=lld ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/riscv64-gcc/files/patch-fuse-ld=lld Tue Nov 13 02:58:30 2018 (r484853) @@ -0,0 +1,105 @@ +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 + +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;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201811130258.wAD2wUVb048692>