openwrtv4/toolchain
John Crispin 491f3fc048 Support for building an hardened OpenWRT
Introduce configuration options to build an "hardened" OpenWRT.

Options to enable Stack-Smashing Protection, FORTIFY_SOURCE and RELRO
have been introduced.

uClibc makefile now automatically detects if SSP support is necessary.

hostapd makefile has been fixed to use "^" as sed separator since
using a comma was problematic when using "-Wl,-z,now" and the like in
TARGET_CFLAGS.

Currently enabling SSP on user space depends on enabling SSP kernel
side, this is due to the fact that TARGET_CFLAGS are used to build
kernel modules (at least). Suggestions on how to avoid this are welcome.
Using "select" instead of "depends on" doesn't seem to work with choice
entries.

Tested with a lantiq (WBMR) router, GCC 4.8, uClibc and a subset of
the available packages.
Needs to be tested with GCC 4.9 and the remaining packages.
PIE not currently included.

Signed-off-by: Alessandro Di Federico <ale+owrt@clearmind.me>

SVN-Revision: 44005
2015-01-17 14:31:30 +00:00
..
binutils binutils: run install twice instead of overwriting the final toolchain with the initial one 2014-12-27 13:00:09 +00:00
eglibc eglibc: enforce use of autoconf-2.69 2014-11-24 02:06:20 +00:00
gcc gcc: don't clobber stamp-bits with a symlink to itself 2014-12-12 17:01:57 +00:00
gdb build: remove check to nonexistant CONFIG_ENABLE_LOCALE variable and move DISABLE_NLS to package-defaults.mk 2014-03-21 15:54:07 +00:00
insight build: remove check to nonexistant CONFIG_ENABLE_LOCALE variable and move DISABLE_NLS to package-defaults.mk 2014-03-21 15:54:07 +00:00
kernel-headers toolchain-headers: also copy asm-eva.h for mips(el) for 3.15+ 2014-12-01 13:27:06 +00:00
llvm gcc: add llvm-gcc and llvm from trunk (does not successfully compile a target yet, but gets close) 2009-10-10 19:25:48 +00:00
musl musl: update to version 1.1.6 2015-01-15 21:40:44 +00:00
uClibc Support for building an hardened OpenWRT 2015-01-17 14:31:30 +00:00
wrapper buildroot: allow specifying libc personality for external toolchains 2013-02-20 15:06:10 +00:00
Config.in aarch64: add initial support 2014-11-24 06:33:13 +00:00
info.mk uClibc cleanup: - use full version string (0.9.30.1), instead of base (0.9.30) + extra (.1) - remove support for 0.9.28 and snapshots (building from SVN to be added later) 2009-04-24 02:07:24 +00:00
Makefile build: ensure tools are built before building the toolchain 2014-12-13 11:57:14 +00:00