aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/cc/gcc.in11
-rw-r--r--scripts/build/cc/gcc.sh4
2 files changed, 15 insertions, 0 deletions
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")