FreeBSD Bugzilla – Attachment 199179 Details for
Bug 233174
devel/riscv64-gcc: add support for -fuse-ld=lld
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Support -fuse-ld=lld
fuse-ld=lld.diff (text/plain), 4.36 KB, created by
Brooks Davis
on 2018-11-12 17:31:13 UTC
(
hide
)
Description:
Support -fuse-ld=lld
Filename:
MIME Type:
Creator:
Brooks Davis
Created:
2018-11-12 17:31:13 UTC
Size:
4.36 KB
patch
obsolete
>Index: Makefile >=================================================================== >--- Makefile (revision 483824) >+++ Makefile (working copy) >@@ -2,6 +2,7 @@ > > PORTNAME= gcc > PORTVERSION= 8.1.0 >+PORTREVISION= 1 > CATEGORIES= devel > PKGNAMEPREFIX= riscv64- > >Index: files/patch-fuse-ld=lld >=================================================================== >--- files/patch-fuse-ld=lld (nonexistent) >+++ files/patch-fuse-ld=lld (working copy) >@@ -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; > >Property changes on: files/patch-fuse-ld=lld >___________________________________________________________________ >Added: fbsd:nokeywords >## -0,0 +1 ## >+yes >\ No newline at end of property >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
brooks
:
maintainer-approval?
(lwshu)
Actions:
View
|
Diff
Attachments on
bug 233174
: 199179