Improve locks and signals

- Introduce fast spinlock API
- Double rand64() perf w/ spinlock
- Improve raise() on New Technology
- Support gettid() across platforms
- Implement SA_NODEFER on New Technology
- Move the lock intrinsics into LIBC_INTRIN
- Make SIGTRAP recoverable on New Technology
- Block SIGCHLD in wait4() on New Technology
- Add threading prototypes for XNU and FreeBSD
- Rewrite abort() fixing its minor bugs on XNU/NT
- Shave down a lot of the content in libc/bits/bits.h
- Let signal handlers modify CPU registers on New Technology
This commit is contained in:
Justine Tunney 2022-04-12 05:20:17 -07:00
parent f68f1789bd
commit 046c7ebd4a
110 changed files with 1514 additions and 876 deletions

View file

@ -1,2 +0,0 @@
.include "o/libc/sysv/macros.internal.inc"
.scall setpgid,0x052052052205206d,globl

View file

@ -0,0 +1,2 @@
.include "o/libc/sysv/macros.internal.inc"
.scall sys_setpgid,0x052052052205206d,globl,hidden

View file

@ -149,7 +149,7 @@ scall getpgrp 0x051051051205106f globl
scall sys_setsid 0x0930930932093070 globl hidden
scall sys_getsid 0x11e0ff136213607c globl hidden
scall sys_getpgid 0x0cf0cf0cf2097079 globl hidden
scall setpgid 0x052052052205206d globl
scall sys_setpgid 0x052052052205206d globl hidden
scall geteuid 0xfff019019201906b globl
scall getegid 0xfff02b02b202b06c globl
scall getgroups 0x04f04f04f204f073 globl