This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more information.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
# HG changeset patch # User "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> # Date 1293491493 -3600 # Node ID 5bebac13929312c92642cc777f94234c4a55e494 # Parent 917fc8274f0b700cc4f71de6b5a0201b60a05a81 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> diff --git a/config/binutils/binutils.in b/config/binutils/binutils.in --- a/config/binutils/binutils.in +++ b/config/binutils/binutils.in @@ -61,6 +61,66 @@ 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 + 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 + 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 + 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_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 diff --git a/scripts/build/binutils/binutils.sh b/scripts/build/binutils/binutils.sh --- a/scripts/build/binutils/binutils.sh +++ b/scripts/build/binutils/binutils.sh @@ -26,6 +26,17 @@ CT_DoStep INFO "Installing binutils" CT_DoLog EXTRA "Configuring binutils" + + case "${CT_BINUTILS_HAS_GOLD}:${CT_BINUTILS_LINKERS_LIST}" in + y:ld) extra_config+=( --enable-ld=yes --enable-gold=no );; + y:gold) extra_config+=( --enable-ld=no --enable-gold=yes );; + y:ld,gold) extra_config+=( --enable-ld=default --enable-gold=yes );; + y:gold,ld) extra_config+=( --enable-ld=yes --enable-gold=default );; + *) ;; + esac + + CT_DoLog DEBUG "Extra config passed: '${extra_config[*]}'" + CFLAGS="${CT_CFLAGS_FOR_HOST}" \ CT_DoExecLog CFG \ "${CT_SRC_DIR}/binutils-${CT_BINUTILS_VERSION}/configure" \ -- For unsubscribe information see http://sourceware.org/lists.html#faq
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |