summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorAlexey Neyman <stilor@att.net>2018-12-05 00:15:37 (GMT)
committerAlexey Neyman <stilor@att.net>2018-12-05 00:15:37 (GMT)
commitf5b57504d28d0bdcda26a06ec21d80906bfbf11e (patch)
tree6423e6e670f1c3df38b546e1fe306fe634cd968a /scripts
parent893932e90f967169fcf494e36ac9001f2f1b90a5 (diff)
Add configuration options for enabling SSP
... in uClibc and glibc. Fixes #681. While here, relocate additional "sources" for uClibc/binutils into packages/ directory. Signed-off-by: Alexey Neyman <stilor@att.net>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/build/binutils/binutils-ld.in11
-rw-r--r--scripts/build/binutils/binutils.sh2
-rw-r--r--scripts/build/libc/glibc.sh4
-rw-r--r--scripts/build/libc/uClibc.sh9
4 files changed, 11 insertions, 15 deletions
diff --git a/scripts/build/binutils/binutils-ld.in b/scripts/build/binutils/binutils-ld.in
deleted file mode 100644
index 30f4591..0000000
--- a/scripts/build/binutils/binutils-ld.in
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh
-
-call_to=@@DEFAULT_LD@@
-
-case "${CTNG_LD_IS}" in
- bfd) call_to=bfd;;
- gold) call_to=gold;;
-esac
-
-exec "${0}.${call_to}" "$@"
-exit $?
diff --git a/scripts/build/binutils/binutils.sh b/scripts/build/binutils/binutils.sh
index 7335743..d1745a3 100644
--- a/scripts/build/binutils/binutils.sh
+++ b/scripts/build/binutils/binutils.sh
@@ -226,7 +226,7 @@ do_binutils_backend() {
rm -f "${prefix}/bin/${CT_TARGET}-ld"
rm -f "${prefix}/${CT_TARGET}/bin/ld"
sed -r -e "s/@@DEFAULT_LD@@/${CT_BINUTILS_LINKER_DEFAULT}/" \
- "${CT_LIB_DIR}/scripts/build/binutils/binutils-ld.in" \
+ "${CT_LIB_DIR}/packages/binutils/binutils-ld.in" \
>"${prefix}/bin/${CT_TARGET}-ld"
chmod a+x "${prefix}/bin/${CT_TARGET}-ld"
cp -a "${prefix}/bin/${CT_TARGET}-ld" \
diff --git a/scripts/build/libc/glibc.sh b/scripts/build/libc/glibc.sh
index a9adbbb..4d44fea 100644
--- a/scripts/build/libc/glibc.sh
+++ b/scripts/build/libc/glibc.sh
@@ -176,6 +176,10 @@ glibc_backend_once()
[ -n "${CT_PKGVERSION}" ] && extra_config+=("--with-pkgversion=${CT_PKGVERSION}")
[ -n "${CT_TOOLCHAIN_BUGURL}" ] && extra_config+=("--with-bugurl=${CT_TOOLCHAIN_BUGURL}")
+ if [ -n "${CT_GLIBC_SSP}" ]; then
+ extra_config+=("--enable-stack-protector=${CT_GLIBC_SSP}")
+ fi
+
touch config.cache
# Hide host C++ binary from configure
diff --git a/scripts/build/libc/uClibc.sh b/scripts/build/libc/uClibc.sh
index 7b66204..ccadfeb 100644
--- a/scripts/build/libc/uClibc.sh
+++ b/scripts/build/libc/uClibc.sh
@@ -94,7 +94,7 @@ uClibc_backend_once()
# Use the default config if the user did not provide one.
if [ -z "${CT_LIBC_UCLIBC_CONFIG_FILE}" ]; then
- CT_LIBC_UCLIBC_CONFIG_FILE="${CT_LIB_DIR}/contrib/uClibc-defconfigs/${uClibc_name}.config"
+ CT_LIBC_UCLIBC_CONFIG_FILE="${CT_LIB_DIR}/packages/${uClibc_name}/config"
fi
manage_uClibc_config "${CT_LIBC_UCLIBC_CONFIG_FILE}" .config "${multi_flags}"
@@ -324,11 +324,14 @@ manage_uClibc_config()
fi
# Stack Smash Protection (SSP)
- if [ "${CT_CC_GCC_LIBSSP}" = "y" ]; then
+ if [ "${CT_LIBC_UCLIBC_HAS_SSP}" = "y" ]; then
CT_KconfigEnableOption "UCLIBC_HAS_SSP" "${dst}"
- CT_KconfigEnableOption "UCLIBC_BUILD_SSP" "${dst}"
else
CT_KconfigDisableOption "UCLIBC_HAS_SSP" "${dst}"
+ fi
+ if [ "${CT_LIBC_UCLIBC_BUILD_SSP}" = "y" ]; then
+ CT_KconfigEnableOption "UCLIBC_BUILD_SSP" "${dst}"
+ else
CT_KconfigDisableOption "UCLIBC_BUILD_SSP" "${dst}"
fi