openwrt/include
Hauke Mehrtens 19cbac7d26 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>
2020-01-13 15:34:36 +01:00
..
site Revert faulty tree push 2019-08-12 12:27:06 +02:00
autotools.mk autotools.mk: autoreconf: fix missing install-sh 2019-07-26 08:09:16 +02:00
cmake.mk cmake: Install host packages to lib instead of lib64 2019-12-23 00:22:07 +01:00
debug.mk
depends.mk
device_table.txt
download.mk build: add PKG_SOURCE_URL_FILE support 2019-11-23 13:35:43 +01:00
feeds.mk
hardened-ld-pie.specs
hardening.mk buildsystem: Make PIE ASLR option tristate 2020-01-13 15:34:36 +01:00
host-build.mk build: call Host/Uninstall before wiping the host build dir 2019-10-21 14:18:17 +02:00
image-commands.mk treewide: move mktplinkfw to tplink-v1-image in image-commands.mk 2020-01-08 16:15:29 +01:00
image-legacy.mk
image.mk build: image: add SOC device variable 2019-12-20 01:07:25 +01:00
kernel-build.mk kernel-build: ignore runtime config options during reconfig 2019-11-24 14:19:43 +01:00
kernel-defaults.mk kernel-defaults: ensure SOURCE_DATE_EPOCH on /init 2019-10-02 17:11:44 +02:00
kernel-version.mk kernel: remove support for kernel 4.9 2020-01-08 16:45:08 +01:00
kernel.mk kernel.mk: add KCFLAGS to make kmods reproducible 2019-10-09 09:13:44 +02:00
netfilter.mk netfilter: add back nft_hash 2020-01-12 18:59:07 +01:00
nls.mk
package-bin.mk
package-defaults.mk
package-dumpinfo.mk
package-ipkg.mk build: warn when packages have no associated install section 2019-06-25 14:42:07 +02:00
package-seccomp.mk
package.mk Revert faulty tree push 2019-08-12 12:27:06 +02:00
prereq-build.mk build: prereq: add support for Python 3.8 2019-11-14 22:53:31 +01:00
prereq.mk build: cleanup possibly dangling Python 2 host symlink 2019-07-26 08:09:16 +02:00
quilt.mk
rootfs.mk rootfs.mk: ensure all timestamp are set to SOURCE_DATE_EPOCH 2019-09-21 03:26:38 +02:00
scan.awk
scan.mk build: have scripts/feeds honor all toplevel .mk-files of a feed 2019-10-27 14:32:13 +01:00
shell.sh
subdir.mk
target.mk build: add urandom-seed and urngd to default packages set 2019-06-11 08:06:28 +02:00
toolchain-build.mk
toplevel.mk build: fix host menu config targets using ncurses 2019-09-25 12:50:24 +02:00
u-boot.mk u-boot.mk: use openwrt url instead of lede project 2019-08-18 15:14:13 +00:00
uclibc++.mk libcxx: Add package 2019-12-23 00:22:07 +01:00
unpack.mk
verbose.mk
version.mk version.mk: use https:// instead of http:// 2019-06-11 01:49:44 +02:00