]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Provide libssp based on libc
authorkevans <kevans@FreeBSD.org>
Sat, 4 Jan 2020 20:19:25 +0000 (20:19 +0000)
committerkevans <kevans@FreeBSD.org>
Sat, 4 Jan 2020 20:19:25 +0000 (20:19 +0000)
commitf6e2de4a71b998cf511fb81f167a87f57ec99f2f
treeeb42aafd43ec390da9bb3bcb3e55dc0eb685d7a2
parentf5405262d0dc93e21d608e6ab0a34ce1aae6b093
Provide libssp based on libc

For libssp.so, rebuild stack_protector.c with FORTIFY_SOURCE stubs that just
abort built into it.

For libssp_nonshared.a, steal stack_protector_compat.c from
^/lib/libc/secure and massage it to maintain that __stack_chk_fail_local
is a hidden symbol.

libssp is now built unconditionally regardless of {WITH,WITHOUT}_SSP in the
build environment, and the gcclibs version has been disconnected from the
build in favor of this one.

PR: 242950 (exp-run)
Reviewed by: kib, emaste, pfg, Oliver Pinter (earlier version)
Also discussed with: kan
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D22943
14 files changed:
Makefile.inc1
ObsoleteFiles.inc
gnu/lib/Makefile
lib/Makefile
lib/libssp/Makefile [new file with mode: 0644]
lib/libssp/Symbol.map [new file with mode: 0644]
lib/libssp/Versions.def [new file with mode: 0644]
lib/libssp/fortify_stubs.c [new file with mode: 0644]
lib/libssp_nonshared/Makefile [new file with mode: 0644]
lib/libssp_nonshared/libssp_nonshared.c [new file with mode: 0644]
share/mk/local.dirdeps.mk
share/mk/local.gendirdeps.mk
share/mk/src.libnames.mk
tools/build/mk/OptionalObsoleteFiles.inc