summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorAlexey Neyman <stilor@att.net>2017-03-06 00:22:40 (GMT)
committerAlexey Neyman <stilor@att.net>2017-03-06 00:22:40 (GMT)
commit120792a97d7d00be24e9501ec350447a16c0ff8a (patch)
treee178570716ed1c4dd3a0430cfd6843054512988c /scripts
parent489ea6d6df17058844e8486625edfee8e08ffd7e (diff)
Sanitize CT_PREFIX_DIR, too
Having .. in it breaks GCC's relocatability. Signed-off-by: Alexey Neyman <stilor@att.net>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/crosstool-NG.sh.in8
1 files changed, 5 insertions, 3 deletions
diff --git a/scripts/crosstool-NG.sh.in b/scripts/crosstool-NG.sh.in
index 902c15d..793c56f 100644
--- a/scripts/crosstool-NG.sh.in
+++ b/scripts/crosstool-NG.sh.in
@@ -279,6 +279,9 @@ CT_DoExecLog ALL chmod -R u+w "${CT_PREFIX_DIR}"
# Setting up the rest of the environment only if not restarting
if [ -z "${CT_RESTART}" ]; then
+ # Having .. inside CT_PREFIX breaks relocatability.
+ CT_SanitizeVarDir CT_PREFIX_DIR
+
case "${CT_SYSROOT_NAME}" in
"") CT_SYSROOT_NAME="sysroot";;
.) CT_Abort "Sysroot name is set to '.' which is forbidden";;
@@ -288,11 +291,10 @@ if [ -z "${CT_RESTART}" ]; then
# Arrange paths depending on whether we use sysroot or not.
if [ "${CT_USE_SYSROOT}" = "y" ]; then
- CT_SYSROOT_REL_DIR="${CT_SYSROOT_DIR_PREFIX:+${CT_SYSROOT_DIR_PREFIX}/}${CT_SYSROOT_NAME}"
- CT_SYSROOT_DIR="${CT_PREFIX_DIR}/${CT_TARGET}/${CT_SYSROOT_REL_DIR}"
+ CT_SYSROOT_DIR="${CT_PREFIX_DIR}/${CT_TARGET}/${CT_SYSROOT_DIR_PREFIX}/${CT_SYSROOT_NAME}"
CT_DEBUGROOT_DIR="${CT_PREFIX_DIR}/${CT_TARGET}/${CT_SYSROOT_DIR_PREFIX}/debug-root"
CT_HEADERS_DIR="${CT_SYSROOT_DIR}/usr/include"
- CT_SanitizeVarDir CT_SYSROOT_REL_DIR CT_SYSROOT_DIR CT_DEBUGROOT_DIR CT_HEADERS_DIR
+ CT_SanitizeVarDir CT_SYSROOT_DIR CT_DEBUGROOT_DIR CT_HEADERS_DIR
BINUTILS_SYSROOT_ARG="--with-sysroot=${CT_SYSROOT_DIR}"
CC_CORE_SYSROOT_ARG="--with-sysroot=${CT_SYSROOT_DIR}"
CC_SYSROOT_ARG="--with-sysroot=${CT_SYSROOT_DIR}"