mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-07-06 03:08:31 +00:00
Make improvements
- Let OpenMP be usable via cosmocc - Let libunwind be usable via cosmocc - Make X86_HAVE(AVXVNNI) work correctly - Avoid using MAP_GROWSDOWN on qemu-aarch64 - Introduce in6addr_any and in6addr_loopback - Have thread stacks use MAP_GROWSDOWN by default - Ask OpenMP to not use filesystem to manage threads - Make NI_MAXHOST and NI_MAXSERV available w/o _GNU_SOURCE
This commit is contained in:
parent
5f8e9f14c1
commit
369aebfc48
36 changed files with 416 additions and 80 deletions
|
@ -38,7 +38,7 @@
|
|||
errno_t pthread_attr_init(pthread_attr_t *attr) {
|
||||
*attr = (pthread_attr_t){
|
||||
.__stacksize = GetStackSize(),
|
||||
.__guardsize = GetGuardSize(),
|
||||
.__guardsize = getauxval(AT_PAGESZ),
|
||||
};
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -216,7 +216,9 @@ static errno_t pthread_create_impl(pthread_t *thread,
|
|||
_pthread_free(pt, false);
|
||||
return EINVAL;
|
||||
}
|
||||
if (pt->pt_attr.__guardsize == pagesize) {
|
||||
if (pt->pt_attr.__guardsize == pagesize &&
|
||||
!(IsAarch64() && IsLinux() && IsQemuUser())) {
|
||||
// MAP_GROWSDOWN doesn't work very well on qemu-aarch64
|
||||
pt->pt_attr.__stackaddr =
|
||||
mmap(0, pt->pt_attr.__stacksize, PROT_READ | PROT_WRITE,
|
||||
MAP_STACK | MAP_ANONYMOUS, -1, 0);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue