<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/gnu/lib/libssp, branch releng/9.3</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=releng%2F9.3</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=releng%2F9.3'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2009-07-14T21:19:13Z</updated>
<entry>
<title>Second attempt at eliminating .text relocations in shared libraries</title>
<updated>2009-07-14T21:19:13Z</updated>
<author>
<name>Alexander Kabaev</name>
<email>kan@FreeBSD.org</email>
</author>
<published>2009-07-14T21:19:13Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=2286fe763592aa13d320186bf3e233a560af749b'/>
<id>urn:sha1:2286fe763592aa13d320186bf3e233a560af749b</id>
<content type='text'>
compiled with stack protector.

Use libssp_nonshared library to pull __stack_chk_fail_local symbol into
each library that needs it instead of pulling it from libc. GCC
generates local calls to this function which result in absolute
relocations put into position-independent code segment, making dynamic
loader do extra work every time given shared library is being relocated
and making affected text pages non-shareable.

Reviewed by:        kib
Approved by:        re (kib)
</content>
</entry>
<entry>
<title>Back out previous revision until better tested fix is ready.</title>
<updated>2009-06-29T01:33:59Z</updated>
<author>
<name>Alexander Kabaev</name>
<email>kan@FreeBSD.org</email>
</author>
<published>2009-06-29T01:33:59Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=d48890cfb8cf92f9f2d49763781b20fd01e1e9d4'/>
<id>urn:sha1:d48890cfb8cf92f9f2d49763781b20fd01e1e9d4</id>
<content type='text'>
Approved by: re (impliciti, by approving previos check-in)
</content>
</entry>
<entry>
<title>Eliminate .text relocations in shared libraries compiled with stack protector.</title>
<updated>2009-06-28T23:51:39Z</updated>
<author>
<name>Alexander Kabaev</name>
<email>kan@FreeBSD.org</email>
</author>
<published>2009-06-28T23:51:39Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=a162c9ae9c55a9593b15ef618f4df0a045e39dbd'/>
<id>urn:sha1:a162c9ae9c55a9593b15ef618f4df0a045e39dbd</id>
<content type='text'>
Use libssp_nonshared library to pull __stack_chk_fail_local symbol into
each library that needs it instead of pulling it from libc. GCC generates
local calls to this function which result in absolute relocations put into
position-independent code segment, making dynamic loader do extra work everys
time given shared library is being relocated and making affected text pages
non-shareable.

Reviewed by:        kib
Approved by:        re (kensmith)
</content>
</entry>
<entry>
<title>Restore the install location of libssp.so.0.</title>
<updated>2009-02-24T16:14:15Z</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@FreeBSD.org</email>
</author>
<published>2009-02-24T16:14:15Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=107e14e304ca79f541f39b0be352ae3beacab771'/>
<id>urn:sha1:107e14e304ca79f541f39b0be352ae3beacab771</id>
<content type='text'>
Noticed by:	tegge
</content>
</entry>
<entry>
<title>Fix build when WITH_SSP is set explicitly.</title>
<updated>2009-02-21T15:04:31Z</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@FreeBSD.org</email>
</author>
<published>2009-02-21T15:04:31Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=d9ca85fca7bd0972742fae2a4c2d0ae6269ec059'/>
<id>urn:sha1:d9ca85fca7bd0972742fae2a4c2d0ae6269ec059</id>
<content type='text'>
Submitted by:	Jeremie Le Hen
</content>
</entry>
<entry>
<title>Enable GCC stack protection (aka Propolice) for userland:</title>
<updated>2008-06-25T21:33:28Z</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@FreeBSD.org</email>
</author>
<published>2008-06-25T21:33:28Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=042df2e2dadea9f43b62b79ed97534c0eecf1dad'/>
<id>urn:sha1:042df2e2dadea9f43b62b79ed97534c0eecf1dad</id>
<content type='text'>
- It is opt-out for now so as to give it maximum testing, but it may be
  turned opt-in for stable branches depending on the consensus.  You
  can turn it off with WITHOUT_SSP.
- WITHOUT_SSP was previously used to disable the build of GNU libssp.
  It is harmless to steal the knob as SSP symbols have been provided
  by libc for a long time, GNU libssp should not have been much used.
- SSP is disabled in a few corners such as system bootstrap programs
  (sys/boot), process bootstrap code (rtld, csu) and SSP symbols themselves.
- It should be safe to use -fstack-protector-all to build world, however
  libc will be automatically downgraded to -fstack-protector because it
  breaks rtld otherwise.
- This option is unavailable on ia64.

Enable GCC stack protection (aka Propolice) for kernel:
- It is opt-out for now so as to give it maximum testing.
- Do not compile your kernel with -fstack-protector-all, it won't work.

Submitted by:	Jeremie Le Hen &lt;jeremie@le-hen.org&gt;
</content>
</entry>
<entry>
<title>Don't forget to clean generated ssp.h.</title>
<updated>2007-05-22T10:40:58Z</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@FreeBSD.org</email>
</author>
<published>2007-05-22T10:40:58Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=0effeaaec347c4ed5967074bf1d69228e38c99e8'/>
<id>urn:sha1:0effeaaec347c4ed5967074bf1d69228e38c99e8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Update bmake glue to build GCC 4.2.</title>
<updated>2007-05-19T04:25:59Z</updated>
<author>
<name>Alexander Kabaev</name>
<email>kan@FreeBSD.org</email>
</author>
<published>2007-05-19T04:25:59Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=afb57df680a4b620d54eac30728eca95e51fc0e3'/>
<id>urn:sha1:afb57df680a4b620d54eac30728eca95e51fc0e3</id>
<content type='text'>
Also:
        Switch FreeBSD to use libgcc_s.so.1.

        Use dl_iterate_phdr to locate shared objects' exception frame
        info instead of depending on older register_frame_info machinery.
        This allows us to avoid depending on libgcc_s.so.1 in binaries
        that do not use exception handling directly. As an additional
        benefit it breaks circular libc &lt;=&gt; libgcc_s.so.1 dependency too.

        Build newly added libgomp.so.1 library, the runtime support
        bits for OpenMP.

        Build LGPLed libssp library. Our libc provides our own
        BSD-licensed SSP callbacks implementation, so this library
        is only built to benefit applications that have hadcoded
        knowledge of libssp.so and libssp_nonshared.a. When linked
        in from command line, these libraries override libc
        implementation.
</content>
</entry>
</feed>
