summaryrefslogtreecommitdiff
path: root/scripts/build/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 /scripts/build/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 'scripts/build/binutils')
-rw-r--r--scripts/build/binutils/binutils.sh20
1 files changed, 20 insertions, 0 deletions
diff --git a/scripts/build/binutils/binutils.sh b/scripts/build/binutils/binutils.sh
index 9f55c4d..39fa61c 100644
--- a/scripts/build/binutils/binutils.sh
+++ b/scripts/build/binutils/binutils.sh
@@ -26,6 +26,26 @@ do_binutils() {
CT_DoStep INFO "Installing binutils"
CT_DoLog EXTRA "Configuring binutils"
+
+ if [ "${CT_BINUTILS_HAS_GOLD}" = "y" ]; then
+ case "${CT_BINUTILS_LINKERS_LIST}" in
+ ld)
+ extra_config+=( --enable-ld=yes --enable-gold=no )
+ ;;
+ gold)
+ extra_config+=( --enable-ld=no --enable-gold=yes )
+ ;;
+ ld,gold)
+ extra_config+=( --enable-ld=default --enable-gold=yes )
+ ;;
+ gold,ld)
+ extra_config+=( --enable-ld=yes --enable-gold=default )
+ ;;
+ esac
+ fi
+
+ CT_DoLog DEBUG "Extra config passed: '${extra_config[*]}'"
+
CFLAGS="${CT_CFLAGS_FOR_HOST}" \
CT_DoExecLog CFG \
"${CT_SRC_DIR}/binutils-${CT_BINUTILS_VERSION}/configure" \