aboutsummaryrefslogtreecommitdiff
path: root/scripts/build/binutils/binutils.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/build/binutils/binutils.sh')
-rw-r--r--scripts/build/binutils/binutils.sh17
1 files changed, 17 insertions, 0 deletions
diff --git a/scripts/build/binutils/binutils.sh b/scripts/build/binutils/binutils.sh
index 4dc33221..6ae2f7cb 100644
--- a/scripts/build/binutils/binutils.sh
+++ b/scripts/build/binutils/binutils.sh
@@ -182,6 +182,16 @@ do_binutils_backend() {
extra_config+=("--without-zstd")
fi
+ # gold links with CXXLINK/g++, not libtool, and does not understand
+ # -all-static
+ if [ "${static_build}" = "y" ]; then
+ case "${CT_BINUTILS_LINKERS_LIST}" in
+ *gold*)
+ extra_config+=("--with-gold-ldflags=--static")
+ ;;
+ esac
+ fi
+
CT_DoLog DEBUG "Extra config passed: '${extra_config[*]}'"
CT_DoExecLog CFG \
@@ -211,6 +221,13 @@ do_binutils_backend() {
fi
CT_DoLog EXTRA "Building binutils"
+ if [ "${static_build}" = "y" ]; then
+ case "${CT_BINUTILS_LINKERS_LIST}" in
+ *gold*)
+ CT_DoExecLog ALL make -C gold ${CT_JOBSFLAGS}
+ ;;
+ esac
+ fi
CT_DoExecLog ALL make "${extra_make_flags[@]}" ${CT_JOBSFLAGS}
CT_DoLog EXTRA "Installing binutils"