mirror of
https://git.yoctoproject.org/poky
synced 2026-04-29 18:32:20 +02:00
gcc: Introduce a knob to configure gcc to default to PIE
GCCPIE flag which is empty by default adds "--enable-default-pie" configure option for harderned distros We do not require to add -fpie -pie flag externally anymore (From OE-Core rev: 1c7e195c94764d680a12a49b870f04cd58860f81) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -5,6 +5,8 @@
|
||||
# From a Yocto Project perspective, this file is included and tested
|
||||
# in the DISTRO="poky-lsb" configuration.
|
||||
|
||||
GCCPIE ?= "--enable-default-pie"
|
||||
|
||||
# _FORTIFY_SOURCE requires -O1 or higher, so disable in debug builds as they use
|
||||
# -O0 which then results in a compiler warning.
|
||||
lcl_maybe_fortify = "${@base_conditional('DEBUG_BUILD','1','','-D_FORTIFY_SOURCE=2',d)}"
|
||||
@@ -12,7 +14,7 @@ lcl_maybe_fortify = "${@base_conditional('DEBUG_BUILD','1','','-D_FORTIFY_SOURCE
|
||||
# Error on use of format strings that represent possible security problems
|
||||
SECURITY_STRINGFORMAT ?= "-Wformat -Wformat-security -Werror=format-security"
|
||||
|
||||
SECURITY_CFLAGS ?= "-fstack-protector-strong -pie -fpie ${lcl_maybe_fortify} ${SECURITY_STRINGFORMAT}"
|
||||
SECURITY_CFLAGS ?= "-fstack-protector-strong ${lcl_maybe_fortify} ${SECURITY_STRINGFORMAT}"
|
||||
SECURITY_NO_PIE_CFLAGS ?= "-fstack-protector-strong ${lcl_maybe_fortify} ${SECURITY_STRINGFORMAT}"
|
||||
|
||||
SECURITY_LDFLAGS ?= "-fstack-protector-strong -Wl,-z,relro,-z,now"
|
||||
|
||||
@@ -22,6 +22,8 @@ EXTRA_OECONF_INITIAL ?= ""
|
||||
GCCMULTILIB ?= "--disable-multilib"
|
||||
GCCTHREADS ?= "posix"
|
||||
|
||||
GCCPIE ??= ""
|
||||
|
||||
EXTRA_OECONF = "\
|
||||
${@['--enable-clocale=generic', ''][d.getVar('USE_NLS') != 'no']} \
|
||||
--with-gnu-ld \
|
||||
@@ -29,6 +31,7 @@ EXTRA_OECONF = "\
|
||||
--enable-languages=${LANGUAGES} \
|
||||
--enable-threads=${GCCTHREADS} \
|
||||
${GCCMULTILIB} \
|
||||
${GCCPIE} \
|
||||
--enable-c99 \
|
||||
--enable-long-long \
|
||||
--enable-symvers=gnu \
|
||||
|
||||
Reference in New Issue
Block a user