buildsystem: Make PIE ASLR option tristate
authorHauke Mehrtens <hauke@hauke-m.de>
Sun, 27 Oct 2019 13:37:45 +0000 (14:37 +0100)
committerPetr Štetiar <ynezz@true.cz>
Mon, 13 Jan 2020 14:34:36 +0000 (15:34 +0100)
commit19cbac7d264dfca1f75849de64beb98830fbb1e4
tree72e81effb93a3f309a8385bdb7d31cd84626b4e5
parent3446702cdba0a1998a75468dfc7fbbc20f4a545d
buildsystem: Make PIE ASLR option tristate

This tristate choose allows to select to build only some applications
with PIE enabled. On MIPS binaries are getting about 30% bigger when PIE
is activated for the, which is a huge increase.

Network exposed applications like dnsmasq should then be build with PIE
enabled, but some applications which are normally not parsing data from
the network do not have it activated. The regular option should give a
good trade off between extra flash and RAM memory usage and security.

This changes the default from building no applications with PIE to build
some specifically marked applications with PIE enabled. This option is
only activated for targets with bigger flash and RAM to not consume
extra memory on the very small targets. On SDK builds the Regular option
should always be selected, because some tiny targets share the
applications with big targets and only the images for the tiny targets
should contain the none PIE applications, but the images for the normal
targets should use PIE. The shared packages should always use PIE when
it should be normally activated.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Acked-by: Petr Štetiar <ynezz@true.cz>
config/Config-build.in
include/hardening.mk