diff options
Diffstat (limited to 'scripts/build')
-rw-r--r-- | scripts/build/binutils/binutils-ld.in | 11 | ||||
-rw-r--r-- | scripts/build/binutils/binutils.sh | 7 | ||||
-rw-r--r-- | scripts/build/libc/glibc.sh | 4 | ||||
-rw-r--r-- | scripts/build/libc/uClibc.sh | 9 |
4 files changed, 16 insertions, 15 deletions
diff --git a/scripts/build/binutils/binutils-ld.in b/scripts/build/binutils/binutils-ld.in deleted file mode 100644 index 30f4591b..00000000 --- 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 f61b5563..d1745a34 100644 --- a/scripts/build/binutils/binutils.sh +++ b/scripts/build/binutils/binutils.sh @@ -153,6 +153,11 @@ do_binutils_backend() { if [ "${CT_BINUTILS_PLUGINS}" = "y" ]; then extra_config+=( --enable-plugins ) fi + if [ "${CT_BINUTILES_RELRO}" = "y" ]; then + extra_config+=( --enable-relro ) + elif [ "${CT_BINUTILS_RELRO}" != "m" ]; then + extra_config+=( --disable-relro ) + fi if [ "${CT_BINUTILS_HAS_PKGVERSION_BUGURL}" = "y" ]; then [ -n "${CT_PKGVERSION}" ] && extra_config+=("--with-pkgversion=${CT_PKGVERSION}") [ -n "${CT_TOOLCHAIN_BUGURL}" ] && extra_config+=("--with-bugurl=${CT_TOOLCHAIN_BUGURL}") @@ -221,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 a9adbbbc..4d44fea9 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 7b662045..ccadfeb6 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 |