Get threads working well on MacOS Arm64

- Now using 10x better GCD semaphores
- We now generate Linux-like thread ids
- We now use fast system clock / sleep libraries
- The APE M1 loader now generates Linux-like stacks
This commit is contained in:
Justine Tunney 2023-06-04 01:57:10 -07:00
parent b5eab2b0b7
commit bcf9af94bf
No known key found for this signature in database
GPG key ID: BE714B4575D6E328
2037 changed files with 4664 additions and 4451 deletions

View file

@ -27,7 +27,7 @@
#define ENCODE .balign 8 ; .quad
#endif
.macro .syscon group:req name:req linux:req linux_aarch64:req xnu:req freebsd:req openbsd:req netbsd:req windows:req
.macro .syscon group:req name:req linux:req linux_aarch64:req xnu:req xnu_aarch64:req freebsd:req openbsd:req netbsd:req windows:req
.section .piro.bss.sort.syscon.2.\group\().\name,"aw",@nobits
.balign 8
@ -47,7 +47,11 @@
#if SupportsXnu()
.section .sort.rodata.syscon.xnu.2.\group\().\name,"a",@progbits
#ifdef __aarch64__
ENCODE \xnu_aarch64
#else
ENCODE \xnu
#endif
.previous
#endif