summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorAlexey Neyman <stilor@att.net>2018-11-01 22:50:12 (GMT)
committerAlexey Neyman <stilor@att.net>2018-11-01 22:50:12 (GMT)
commitf232d6d09a895b4be25cd01008f76afd3a673ac2 (patch)
tree3d4ba10e68b92e2f543c0f95a115f274efb1b929 /scripts
parent7c4c6892b9a5ea8e989ecb8a120db4d9f3aa46f6 (diff)
Add an ability to modify an exported variable
... and use that ability to permanently set CTNG_LD_IS in case gold is default linker and we're building glibc. Fixes #988. This was a long-standing breakage in crosstool-NG (at least since it began to run each step in a sub-shell). Signed-off-by: Alexey Neyman <stilor@att.net>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/build/binutils/binutils.sh7
-rw-r--r--scripts/functions10
2 files changed, 12 insertions, 5 deletions
diff --git a/scripts/build/binutils/binutils.sh b/scripts/build/binutils/binutils.sh
index e8060ec..f61b556 100644
--- a/scripts/build/binutils/binutils.sh
+++ b/scripts/build/binutils/binutils.sh
@@ -227,9 +227,10 @@ do_binutils_backend() {
cp -a "${prefix}/bin/${CT_TARGET}-ld" \
"${prefix}/${CT_TARGET}/bin/ld"
- # If needed, force using ld.bfd during the toolchain build
- if [ "${CT_BINUTILS_FORCE_LD_BFD}" = "y" ]; then
- export CTNG_LD_IS=bfd
+ # If needed, force using ld.bfd during the toolchain build.
+ # Note that
+ if [ "${CT_BINUTILS_FORCE_LD_BFD_DEFAULT}" = "y" ]; then
+ CT_EnvModify export CTNG_LD_IS bfd
fi
fi
}
diff --git a/scripts/functions b/scripts/functions
index 272f368..ab235d8 100644
--- a/scripts/functions
+++ b/scripts/functions
@@ -1026,9 +1026,15 @@ CT_DoConfigSub() {
# Normally, each step is executed in a sub-shell and thus cannot modify the
# environment for the next step(s). When this is needed, it can do so by
# invoking this function.
-# Usage: CT_EnvModify VAR VALUE
+# Usage: CT_EnvModify [export] VAR VALUE
CT_EnvModify() {
- echo "${1}=\"${2}\"" >> "${CT_BUILD_DIR}/env.modify.sh"
+ local e
+ if [ "$1" = "export" ]; then
+ shift
+ e="export "
+ fi
+ eval "${e}${1}=\"${2}\""
+ echo "${e}${1}=\"${2}\"" >> "${CT_BUILD_DIR}/env.modify.sh"
}
# Compute the target tuple from what is provided by the user