v1.4.6 — build hardening (M14)
timps v1.4.6
Build hardening (M14)
Compiler/linker defense-in-depth for the root-running network daemon, now part
of the build system (previously applied only in local builds):
-fstack-protector-strongand-D_FORTIFY_SOURCE=2on libcs that support
them (host + thingino musl); the thingino uClibc toolchain is built
--disable-libsspwith incomplete_*_chkwrappers, so it correctly gets
neither (use--libc-muslfor full compiler hardening).- Full RELRO (
-Wl,-z,relro -Wl,-z,now) and non-executable stack
(-Wl,-z,noexecstack), applied unconditionally (linker-only, safe under both
libcs). - Two central switches to dial it back on a stubborn toolchain:
HARDEN=0
(no compiler hardening) andFORTIFY=0(keep SSP, drop only FORTIFY).
Mirrored in bothMakefile(coversmake sim/ directmake target) and
build.sh(the MIPS cross build), each libc-aware.
No source/behaviour change to the streamer itself — this only strengthens how
the binary is compiled and linked. See docs/M14-build-hardening.md.
Full changelog: v1.4.5...v1.4.6