<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test/lib/libc/powerpc64/gen, branch main</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test/atom?h=main</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/'/>
<updated>2020-08-06T17:49:19Z</updated>
<entry>
<title>[POWERPC] Fix ppc64 makecontext() parameter overflow handling.</title>
<updated>2020-08-06T17:49:19Z</updated>
<author>
<name>Brandon Bergren</name>
<email>bdragon@FreeBSD.org</email>
</author>
<published>2020-08-06T17:49:19Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=e039e3d1d2075c7f5ad596e6c7a3453775b691d0'/>
<id>urn:sha1:e039e3d1d2075c7f5ad596e6c7a3453775b691d0</id>
<content type='text'>
On ELFv2, the overflow parameters in the stack frame are at a different offset
from sp than ELFv1. Adjust code to use the correct offset in all cases.

This had resulted in argv[8] and up being copied to the incorrect address
in the new context's initial stack frame.

This is not necessarily the only bug in this function, I need to do a full
review still and ensure the rest of the math is sane for ELFv2 stack frames.

Reported by:	pherde (Probably. My notes are a bit unclear.)
Reviewed by:	jhibbits (in irc)
Sponsored by:	Tag1 Consulting, Inc.
</content>
</entry>
<entry>
<title>[PowerPC] Fix *context on ELFv2</title>
<updated>2019-11-16T20:33:46Z</updated>
<author>
<name>Brandon Bergren</name>
<email>bdragon@FreeBSD.org</email>
</author>
<published>2019-11-16T20:33:46Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=7316504cd5835ec85fdf3390496b9d4622b7acbd'/>
<id>urn:sha1:7316504cd5835ec85fdf3390496b9d4622b7acbd</id>
<content type='text'>
Due to ELFv1 specific code in _ctx_start.S and makecontext.c, userspace
context switching was completely broken on ELFv2.

With this change, we now pass the libthr test suite.

Approved by: jhibbits (mentor)
Differential Revision: https://reviews.freebsd.org/D22421
</content>
</entry>
<entry>
<title>Remove bogus checks against NCARGS.</title>
<updated>2018-01-31T17:57:59Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2018-01-31T17:57:59Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=80996ef878236f1a79ec55daadec150981b57901'/>
<id>urn:sha1:80996ef878236f1a79ec55daadec150981b57901</id>
<content type='text'>
NCARGS isn't a limit on the number of arguments to pass to a function,
but the number of bytes that can be consumed by arguments to exec.  As
such, it is not suitable for a limit on the count of arguments passed
to makecontext().

Sponsored by:	DARPA / AFRL
</content>
</entry>
<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-test/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>libc: make some more use of the nitems() macro.</title>
<updated>2016-04-16T17:52:00Z</updated>
<author>
<name>Pedro F. Giffuni</name>
<email>pfg@FreeBSD.org</email>
</author>
<published>2016-04-16T17:52:00Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=bf51882a09fb19789665c0b385c5fa2f51331079'/>
<id>urn:sha1:bf51882a09fb19789665c0b385c5fa2f51331079</id>
<content type='text'>
We have an nitems() macro in the &lt;sys/param.h&gt; header that is
convenient to re-use as it makes things easier to read.
Given that it is available already without adding additional
headers and other parts of libc already use it, extend a bit
more its use.
</content>
</entry>
<entry>
<title>Make unions in PowerPC libc endian-safe.</title>
<updated>2016-02-26T20:38:23Z</updated>
<author>
<name>Nathan Whitehorn</name>
<email>nwhitehorn@FreeBSD.org</email>
</author>
<published>2016-02-26T20:38:23Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=97a5390e6ddbe408a6ec8320d9081277d6ec6960'/>
<id>urn:sha1:97a5390e6ddbe408a6ec8320d9081277d6ec6960</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add include for declaration of _set_tp().  Eliminates -Wmissing-prototypes warnings.</title>
<updated>2015-09-20T04:59:01Z</updated>
<author>
<name>Craig Rodrigues</name>
<email>rodrigc@FreeBSD.org</email>
</author>
<published>2015-09-20T04:59:01Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=6874645fa9879ab2f06ff9cf9ee70ec34b72e65e'/>
<id>urn:sha1:6874645fa9879ab2f06ff9cf9ee70ec34b72e65e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Save and restore non-volatile floating-point registers during longjmp().</title>
<updated>2015-03-08T19:37:08Z</updated>
<author>
<name>Nathan Whitehorn</name>
<email>nwhitehorn@FreeBSD.org</email>
</author>
<published>2015-03-08T19:37:08Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=1ee35324519a6be759d752c4d70d6ef5acb42939'/>
<id>urn:sha1:1ee35324519a6be759d752c4d70d6ef5acb42939</id>
<content type='text'>
This should also save and restore non-volatile Altivec registers, but that
needs to wait on solving two problems:
1. Adding the nonvolatile vector registers means we need 5 more than _JBLEN
   entries in jmp_buf on 32-bit targets (64-bit is OK).
2. Need to figure out how to determine if saving/restoring vector regs
   is supported on the current CPU from userland.

MFC after:	1 month
</content>
</entry>
<entry>
<title>Remove duplicate copies of trivial getcontextx.c</title>
<updated>2015-01-12T18:13:38Z</updated>
<author>
<name>Ed Maste</name>
<email>emaste@FreeBSD.org</email>
</author>
<published>2015-01-12T18:13:38Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=4b12fb6103ac9323d2aaa89f6c7835d62c2c0996'/>
<id>urn:sha1:4b12fb6103ac9323d2aaa89f6c7835d62c2c0996</id>
<content type='text'>
Only i386 and amd64 provide a non-trivial __getcontextx(). Use a common
trivial implementation in gen/ for other architectures, rather than
copying the file to each MD subdirectory.

Reviewed by:	kib
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D1472
</content>
</entry>
<entry>
<title>Avoid use of register variables.  Clang 3.5 treats this as undefined behavior,</title>
<updated>2015-01-06T03:50:43Z</updated>
<author>
<name>Justin Hibbits</name>
<email>jhibbits@FreeBSD.org</email>
</author>
<published>2015-01-06T03:50:43Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=85eda151ff87716f13ec6b86af0a826e0ceddbec'/>
<id>urn:sha1:85eda151ff87716f13ec6b86af0a826e0ceddbec</id>
<content type='text'>
and bad things happen.

MFC after:	1 week
</content>
</entry>
</feed>
