summaryrefslogtreecommitdiff
path: root/config/binutils
diff options
context:
space:
mode:
authorYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2010-12-27 23:11:33 (GMT)
committerYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2010-12-27 23:11:33 (GMT)
commita0d9851dd0db2ad3ffc3c46ababb621c1ead6e6f (patch)
tree84c7057efd8404d2c31e49e7239e6070757ffd99 /config/binutils
parentaac53cf32c9dfbc460297ff8c9459d28cfdff5d7 (diff)
binutils/binutils: add option to enable gold
gold is a new, optimised, multi-threaded linker with support for plugins. Add support for gold starting with binutils 2.21. Although 2.20 also had gold, the configure flags have changed, and supporting 2.20 would be a mess in the code. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Diffstat (limited to 'config/binutils')
-rw-r--r--config/binutils/binutils.in66
1 files changed, 66 insertions, 0 deletions
diff --git a/config/binutils/binutils.in b/config/binutils/binutils.in
index 86b2866..173aacf 100644
--- a/config/binutils/binutils.in
+++ b/config/binutils/binutils.in
@@ -61,6 +61,72 @@ config BINUTILS_VERSION
config BINUTILS_2_21_or_later
bool
+ select BINUTILS_HAS_GOLD
+
+config BINUTILS_HAS_GOLD
+ bool
+
+if BINUTILS_HAS_GOLD
+
+choice
+ bool
+ prompt "Linkers to enable"
+
+config BINUTILS_LINKER_LD
+ bool
+ prompt "ld"
+ help
+ The historical, bfd linker.
+
+config BINUTILS_LINKER_GOLD
+ bool
+ prompt "gold"
+ depends on BINUTILS_HAS_GOLD
+ depends on EXPERIMENTAL
+ select BINUTILS_GOLD_INSTALLED
+ help
+ gold is a new, optimised, multi-threaded linker with support
+ for plugins. Designed to be a drop-in replacement for the
+ original linker, ld, it can be much faster, with a 5:1 or
+ bigger ratio being not uncommon, YMMV.
+
+config BINUTILS_LINKER_LD_GOLD
+ bool
+ prompt "ld, gold"
+ depends on BINUTILS_HAS_GOLD
+ depends on EXPERIMENTAL
+ select BINUTILS_GOLD_INSTALLED
+ help
+ Both the historical ld and the new gold linkers will be
+ installed, with ld being the default linker used.
+
+ See help for gold, above.
+
+config BINUTILS_LINKER_GOLD_LD
+ bool
+ prompt "gold, ld"
+ depends on BINUTILS_HAS_GOLD
+ depends on EXPERIMENTAL
+ select BINUTILS_GOLD_INSTALLED
+ help
+ Both the historical ld and the new gold linkers will be
+ installed, with gold being the default linker used.
+
+ See help for gold, above.
+
+endchoice # Enable linkers
+
+config BINUTILS_GOLD_INSTALLED
+ bool
+
+config BINUTILS_LINKERS_LIST
+ string
+ default "ld" if BINUTILS_LINKER_LD
+ default "gold" if BINUTILS_LINKER_GOLD
+ default "ld,gold" if BINUTILS_LINKER_LD_GOLD
+ default "gold,ld" if BINUTILS_LINKER_GOLD_LD
+
+endif # BINUTILS_HAS_GOLD
config BINUTILS_EXTRA_CONFIG
string