diff options
author | Alexey Neyman <stilor@att.net> | 2017-03-07 02:52:42 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-03-07 02:52:42 (GMT) |
commit | 272c010874b47ea50b653137e0d6e83a6543c318 (patch) | |
tree | e178570716ed1c4dd3a0430cfd6843054512988c | |
parent | 489ea6d6df17058844e8486625edfee8e08ffd7e (diff) | |
parent | 120792a97d7d00be24e9501ec350447a16c0ff8a (diff) |
Merge pull request #633 from stilor/double-dot-breaks-reloc
Sanitize CT_PREFIX_DIR, too
-rw-r--r-- | scripts/crosstool-NG.sh.in | 8 |
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}" |