| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
We have an nitems() macro in the <sys/param.h> 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.
|
| |
|
|
|
|
| |
warnings.
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
and bad things happen.
MFC after: 1 week
|
|
|
|
|
|
|
| |
It allows to build with newer binutils
Differential Revision: https://reviews.freebsd.org/D877
Reviewed by: jhibbits
|
|
|
|
|
|
| |
This WIP should not have been committed yet.
Pointyhat to: avg
|
|
|
|
| |
MFC after: 21 days
|
|
|
|
|
|
|
| |
Per the NetBSD Foundation statement
Third parties are encouraged to change the license on any files which
have a 4-clause license contributed to the NetBSD Foundation to a
2-clause license.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
check_deferred_signal() returns twice, since handle_signal() emulates
the return from the normal signal handler by sigreturn(2)ing the
passed context. Second return is performed on the destroyed stack
frame, because __fillcontextx() has already returned. This causes
undefined and bad behaviour, usually the victim thread gets SIGSEGV.
Avoid nested frame and the need to return from it by doing direct call
to getcontext() in the check_deferred_signal() and using a new private
libc helper __fillcontextx2() to complement the context with the
extended CPU state if the deferred signal is still present.
The __fillcontextx() is now unused, but is kept to allow older
libthr.so to be used with the new libc.
Mark __fillcontextx() as returning twice [1].
Reported by: pgj
Pointy hat to: kib
Discussed with: dim
Tested by: pgj, dim
Suggested by: jilles [1]
MFC after: 1 week
|
|
|
|
|
|
|
|
|
|
| |
usermode context switches (long jumps and ucontext operations). If these
are used across threads, multiple threads can end up with the same TLS base.
Madness will then result.
This makes behavior on PPC match that on x86 systems and on Linux.
MFC after: 10 days
|
|
|
|
|
|
|
| |
is a descriptor, not a code address), which prevents crashes when starting
a context. This fixes QEMU on powerpc64.
MFC after: 3 days
|
|
|
|
|
|
|
|
|
| |
has the same API as __weak_reference(). Give 'x' in SYS.h a more meaningful
name.
Tested on 32- and 64-bit PowerMac.
Reviewed by: bde
|
|
|
|
|
|
|
| |
of __getcontextx_size(3) from size_t to int.
PR: ports/164654
MFC after: 1 month
|
|
|
|
|
|
|
|
|
|
|
| |
fit into existing mcontext_t.
On i386 and amd64 do return the extended FPU states using
getcontextx(3). For other architectures, getcontextx(3) returns the
same information as getcontext(2).
Tested by: pho
MFC after: 1 month
|
| |
|
|
|
|
|
|
|
| |
working MI one. The MI one only needs to be overridden on machines
with non-IEEE754 arithmetic. (The last supported one was the VAX.)
It can also be overridden if someone comes up with a faster one that
actually passes the regression tests -- but this is harder than it sounds.
|
|
|
|
|
|
| |
PR: bin/154928
Submitted by: Eitan Adler <lists at eitanadler.com>
MFC after: 3 days
|
|
|
|
|
| |
we have a binutils that supports it. Kernel dot symbols remain on to assist
DDB.
|
|
|
|
| |
Reviewed and tested by: nwhitehorn
|
|
Obtained from: projects/ppc64
|