<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test2/lib/libssp, branch master</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test2/atom?h=master</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test2/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/'/>
<updated>2020-03-14T15:15:27Z</updated>
<entry>
<title>libssp: don't compile with -fstack-protector*</title>
<updated>2020-03-14T15:15:27Z</updated>
<author>
<name>Kyle Evans</name>
<email>kevans@FreeBSD.org</email>
</author>
<published>2020-03-14T15:15:27Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=19fe57fdb4fd2c18a37f2a972617c8769609cdb8'/>
<id>urn:sha1:19fe57fdb4fd2c18a37f2a972617c8769609cdb8</id>
<content type='text'>
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 &lt;devin@sevenlayer.studio&gt;
MFC after:	3 days
</content>
</entry>
<entry>
<title>libssp: fix FORTIFY_SOURCE stub declarations</title>
<updated>2020-01-04T22:05:00Z</updated>
<author>
<name>Kyle Evans</name>
<email>kevans@FreeBSD.org</email>
</author>
<published>2020-01-04T22:05:00Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=0e4ea7835ee33dedf72e7e917fdb7b489f8b8548'/>
<id>urn:sha1:0e4ea7835ee33dedf72e7e917fdb7b489f8b8548</id>
<content type='text'>
The LSB 4.1 that I referenced omitted the varargs, and I failed to catch it.
The __vsnprintf_chk error was from just downright misreading the page. GCC6
caught all of these, but I had only tested GCC4.2.

X-MFC-With:	r356356
</content>
</entry>
<entry>
<title>Provide libssp based on libc</title>
<updated>2020-01-04T20:19:25Z</updated>
<author>
<name>Kyle Evans</name>
<email>kevans@FreeBSD.org</email>
</author>
<published>2020-01-04T20:19:25Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=cd0d51baaa4509a1db83251a601d34404d20c990'/>
<id>urn:sha1:cd0d51baaa4509a1db83251a601d34404d20c990</id>
<content type='text'>
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
</content>
</entry>
</feed>
