From a9f77be56f9707eb83cffa461e48de9e3025dc5e Mon Sep 17 00:00:00 2001 From: Like Ma Date: Sat, 13 Aug 2022 01:19:22 +0800 Subject: [PATCH] Add CC_GCC_ENABLE_DEFAULT_PIE Enable Position Independent Executable as default Pass --enable-default-pie to crossgcc's configure Signed-off-by: Like Ma --- config/cc/gcc.in | 11 +++++++++++ scripts/build/cc/gcc.sh | 4 ++++ 2 files changed, 15 insertions(+) diff --git a/config/cc/gcc.in b/config/cc/gcc.in index 3112ac51..c90f8790 100644 --- a/config/cc/gcc.in +++ b/config/cc/gcc.in @@ -197,6 +197,17 @@ config CC_GCC_LTO_ZSTD #----------------------------------------------------------------------------- comment "Settings for libraries running on target" +config CC_GCC_ENABLE_DEFAULT_PIE + bool + prompt "Enable Position Independent Executable as default" + default y + depends on GCC_6_or_later && ! WINDOWS && ! ARCH_MIPS + help + Pass --enable-default-pie to crossgcc's configure. + + This will let crossgcc compile executable as Position Independent + Executable by default. + config CC_GCC_ENABLE_TARGET_OPTSPACE bool prompt "Optimize gcc libs for size" diff --git a/scripts/build/cc/gcc.sh b/scripts/build/cc/gcc.sh index d9e9da98..bec66c2e 100644 --- a/scripts/build/cc/gcc.sh +++ b/scripts/build/cc/gcc.sh @@ -436,6 +436,10 @@ do_gcc_core_backend() { extra_config+=("--with-host-libstdcxx=${host_libstdcxx_flags[*]}") fi + if [ "${CT_CC_GCC_ENABLE_DEFAULT_PIE}" = "y" ]; then + extra_config+=("--enable-default-pie") + fi + if [ "${CT_CC_GCC_ENABLE_TARGET_OPTSPACE}" = "y" ] || \ [ "${enable_optspace}" = "yes" ]; then extra_config+=("--enable-target-optspace")