History log of /src/lib/libc/arch/sparc/gen/longjmp.c |
Revision | | Date | Author | Comments |
1.6 |
| 24-Apr-2025 |
riastradh | sparc, sparc64 longjmp: Use _UC_SIGMASK to restore signal mask.
This way, restoring the signal mask and restoring the stack pointer happen atomically with respect to signal handler calls, whereas using sigprocmask would restore the signal mask _before_ the stack pointer, breaking sigaltstack.
The motivation for using sigprocmask first and then setcontext later, rather than _UC_SIGMASK in setcontext, was to get SA-based libpthead sigprocmask interposition. But that's long gone and unlikely to come back.
PR lib/57946: longjmp fails to restore stack first before restoring signal mask on most architectures
|
1.5 |
| 20-Feb-2024 |
uwe | branches: 1.5.2; fix typo in comment
|
1.4 |
| 03-Sep-2023 |
mrg | avoid array-bounds issues by using more complete types.
also, don't cast to a type that includes an extra, unused, member.
while here, replace the hard coded offsets in setjmp.S and some asserts in longjmp.c with assym.h and shared structures for all the movings parts, and asserts based upon those structures.
avoids GCC 12 warnings.
|
1.3 |
| 30-Apr-2011 |
martin | Save a few global registers during set/longjmp - at least the application registers and the only currently used system register (%g7). Sparc now passes the setjmp tests (and should be able to build perl again).
|
1.2 |
| 28-Apr-2008 |
martin | branches: 1.2.8; Remove clause 3 and 4 from TNF licenses
|
1.1 |
| 15-Oct-2005 |
uwe | branches: 1.1.18; Switch sparc to the new compat code layout.
|
1.1.18.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.2.8.2 |
| 28-Apr-2008 |
martin | Remove clause 3 and 4 from TNF licenses
|
1.2.8.1 |
| 28-Apr-2008 |
martin | file longjmp.c was added on branch christos-time_t on 2008-04-28 20:22:58 +0000
|
1.5.2.1 |
| 02-Aug-2025 |
perseant | Sync with HEAD
|