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 include: remove trailing whitespaces 2015-03-29 07:29:18 +00:00
depends.mk build: add missing wildcard for ignoring .pkgdir in dependency checks 2017-02-05 22:17:30 +01:00
device_table.txt image: ensure that /dev/console exist in rootfs images 2013-08-27 12:02:58 +00:00
download.mk build: add PKG_SOURCE_URL_FILE support 2019-11-23 13:35:43 +01:00
feeds.mk build: suppress error output in feeds.mk 2019-03-22 00:40:29 +01:00
hardened-ld-pie.specs build: add hardened builds with PIE (ASLR) support 2018-01-27 16:46:45 +01:00
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: fix ar71xx legacy images 2017-07-15 07:02:59 +02:00
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 treewide: fix build depends to refer to source package names 2018-01-13 19:54:44 +01:00
package-bin.mk build: use if-then to avoid non-zero return codes in bin/ packaging code 2017-01-23 13:49:45 +01:00
package-defaults.mk include/package-defaults.mk: fix default Build/Prepare with empty ./src 2018-03-07 09:59:08 +01:00
package-dumpinfo.mk build: expose ABI version in .packageauxvars 2019-01-19 14:32:01 +01:00
package-ipkg.mk build: warn when packages have no associated install section 2019-06-25 14:42:07 +02:00
package-seccomp.mk include: add a seccomp filter install wrapper 2015-03-26 10:57:56 +00:00
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 build: Use LINUX_DIR for Kernel/Patch 2019-01-30 13:20:14 +01:00
rootfs.mk rootfs.mk: ensure all timestamp are set to SOURCE_DATE_EPOCH 2019-09-21 03:26:38 +02:00
scan.awk build: propagate override information to .packageinfo 2015-02-09 12:09:31 +00:00
scan.mk build: have scripts/feeds honor all toplevel .mk-files of a feed 2019-10-27 14:32:13 +01:00
shell.sh build: use mkhash to replace various quirky md5sum/openssl calls 2017-01-05 11:09:12 +01:00
subdir.mk build: remove GNU time dependency 2018-08-05 00:06:27 +02:00
target.mk build: add urandom-seed and urngd to default packages set 2019-06-11 08:06:28 +02:00
toolchain-build.mk toolchain: Include hardening.mk for toolchain build 2019-01-24 21:52:39 +01:00
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 include: unpack.mk: remove CRLF_WORKAROUND 2019-04-18 12:06:47 +02:00
verbose.mk include/verbose.mk: Add sc to failure message 2018-07-30 10:43:36 +02:00
version.mk version.mk: use https:// instead of http:// 2019-06-11 01:49:44 +02:00