Date: Sat, 14 Mar 2020 15:15:27 +0000 (UTC) From: Kyle Evans <kevans@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358993 - head/lib/libssp Message-ID: <202003141515.02EFFRIe031467@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: kevans Date: Sat Mar 14 15:15:27 2020 New Revision: 358993 URL: https://svnweb.freebsd.org/changeset/base/358993 Log: libssp: don't compile with -fstack-protector* This similarly matches what we do in libc; compiling libssp with -fstack-protector* is actively harmful. For instance, if the canary ctor ends up with a stack protector then it will trivially trigger a false positive as the canary's being initialized. This was noted by the reporter as irc/ircd-hybrid started crashing at start after our libssp was MFC'd to stable/11, as its build will explicitly link in libssp. On FreeBSD, this isn't necessary as SSP bits are included in libc, but it should absolutely not trigger runtime breakage -- it does mean that the canary will get initialized twice, but as this is happening early on in application startup it should just be redundant work. Reported by: Tod McQuillin <devin@sevenlayer.studio> MFC after: 3 days Modified: head/lib/libssp/Makefile Modified: head/lib/libssp/Makefile ============================================================================== --- head/lib/libssp/Makefile Sat Mar 14 14:04:55 2020 (r358992) +++ head/lib/libssp/Makefile Sat Mar 14 15:15:27 2020 (r358993) @@ -17,4 +17,8 @@ SRCS= stack_protector.c fortify_stubs.c CFLAGS.fortify_stubs.c= -Wno-unused-parameter +# Stack protection on libssp symbols should be considered harmful, as we may +# be talking about, for example, the guard setup constructor. +SSP_CFLAGS:= + .include <bsd.lib.mk>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202003141515.02EFFRIe031467>