<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/lib/libc/amd64/gen/makecontext.c, branch releng/12.4</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=releng%2F12.4</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=releng%2F12.4'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2017-11-25T17:12:48Z</updated>
<entry>
<title>libc: further adoption of SPDX licensing ID tags.</title>
<updated>2017-11-25T17:12:48Z</updated>
<author>
<name>Pedro F. Giffuni</name>
<email>pfg@FreeBSD.org</email>
</author>
<published>2017-11-25T17:12:48Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=d915a14ef094c8dfc1a5aee70e135abfec01d0f1'/>
<id>urn:sha1:d915a14ef094c8dfc1a5aee70e135abfec01d0f1</id>
<content type='text'>
Mainly focus on files that use BSD 2-Clause license, however the tool I
was using mis-identified many licenses so this was mostly a manual - error
prone - task.

The Software Package Data Exchange (SPDX) group provides a specification
to make it easier for automated tools to detect and summarize well known
opensource licenses. We are gradually adopting the specification, noting
that the tags are considered only advisory and do not, in any way,
superceed or replace the license texts.
</content>
</entry>
<entry>
<title>1. Use correct alignment mask, -15 != ~15</title>
<updated>2004-07-31T01:41:41Z</updated>
<author>
<name>David Xu</name>
<email>davidxu@FreeBSD.org</email>
</author>
<published>2004-07-31T01:41:41Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=d3c6a920f1aaafdab6708ef32923afc88f0292e9'/>
<id>urn:sha1:d3c6a920f1aaafdab6708ef32923afc88f0292e9</id>
<content type='text'>
2. Make end of frames
</content>
</entry>
<entry>
<title>Fix Yet Another 16 byte stack alignment bug.  Thankfully, this one is</title>
<updated>2004-03-31T07:27:31Z</updated>
<author>
<name>Peter Wemm</name>
<email>peter@FreeBSD.org</email>
</author>
<published>2004-03-31T07:27:31Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=372603334815d131e18bf23d6d7e740a5485fd82'/>
<id>urn:sha1:372603334815d131e18bf23d6d7e740a5485fd82</id>
<content type='text'>
solved by a simple 'make world'.  The signalcontext function was going
to the trouble of generating an even 16 byte alignment, but in fact it
needed to be odd aligned to simulate the 8-byte return address having
been pushed by the caller.  This fixes yet another group of crashes in
applications using libpthread.  And yet again, it was my fault all along.

While here, rename the duplicate internal ctx_wrapper() functions to
makectx_wrapper() and sigctx_wrapper() so that traces aren't ambiguous.
</content>
</entry>
<entry>
<title>"Fix" makecontext() so that the C code begins execution with its</title>
<updated>2003-12-05T01:36:44Z</updated>
<author>
<name>Peter Wemm</name>
<email>peter@FreeBSD.org</email>
</author>
<published>2003-12-05T01:36:44Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=04cb6b3aa6b5510707e141f00c75103c16f16744'/>
<id>urn:sha1:04cb6b3aa6b5510707e141f00c75103c16f16744</id>
<content type='text'>
ABI-required stack alignment.  C code expects that the push of the
return address disturbed the 16 byte alignment and it will take corrective
measures to fix it before making another call.  Of course, if its wrong
to start with, then all hell breaks loose.  Essentially we "fix" this
by making the stack alignment odd to start with.

This was one of the things that broke on libkse with apps that use
floating point/varargs/etc.

Approved by:  re (scottl)
</content>
</entry>
<entry>
<title>Add amd64 versions of makecontext() and signalcontext() needed</title>
<updated>2003-07-19T04:41:08Z</updated>
<author>
<name>Daniel Eischen</name>
<email>deischen@FreeBSD.org</email>
</author>
<published>2003-07-19T04:41:08Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=4adc354c34875629d93a549e0fc98880d9f97c80'/>
<id>urn:sha1:4adc354c34875629d93a549e0fc98880d9f97c80</id>
<content type='text'>
for libkse (makecontext() is also needed for libthr).
These probably will need some tweaking.
</content>
</entry>
</feed>
