mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-06-27 06:48: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
29
third_party/openmp/util2.S
vendored
29
third_party/openmp/util2.S
vendored
|
@ -11,6 +11,14 @@
|
|||
////===----------------------------------------------------------------------===//
|
||||
//
|
||||
|
||||
#ifdef __COSMOPOLITAN__
|
||||
.macro no.comm name:req size:req align:req
|
||||
.globl \name
|
||||
\name: .align \align
|
||||
.byte \size
|
||||
.endm
|
||||
#endif
|
||||
|
||||
// -----------------------------------------------------------------------
|
||||
// macros
|
||||
// -----------------------------------------------------------------------
|
||||
|
@ -180,11 +188,11 @@ KMP_PREFIX_UNDERSCORE(\proc):
|
|||
|
||||
.macro COMMON name, size, align_power
|
||||
#if KMP_OS_DARWIN
|
||||
.comm \name, \size
|
||||
no.comm \name, \size
|
||||
#elif KMP_OS_WINDOWS
|
||||
.comm \name, \size, \align_power
|
||||
no.comm \name, \size, \align_power
|
||||
#else // !KMP_OS_DARWIN && !KMP_OS_WINDOWS
|
||||
.comm \name, \size, (1<<(\align_power))
|
||||
no.comm \name, \size, (1<<(\align_power))
|
||||
#endif
|
||||
.endm
|
||||
|
||||
|
@ -202,14 +210,14 @@ KMP_PREFIX_UNDERSCORE(\proc):
|
|||
# if KMP_ARCH_X86
|
||||
# if KMP_OS_DARWIN
|
||||
.data
|
||||
.comm .gomp_critical_user_,32
|
||||
no.comm .gomp_critical_user_,32
|
||||
.data
|
||||
.globl ___kmp_unnamed_critical_addr
|
||||
___kmp_unnamed_critical_addr:
|
||||
.long .gomp_critical_user_
|
||||
# else /* Linux* OS */
|
||||
.data
|
||||
.comm .gomp_critical_user_,32,8
|
||||
no.comm .gomp_critical_user_,32,8
|
||||
.data
|
||||
ALIGN 4
|
||||
.global __kmp_unnamed_critical_addr
|
||||
|
@ -223,21 +231,14 @@ __kmp_unnamed_critical_addr:
|
|||
# if KMP_ARCH_X86_64
|
||||
# if KMP_OS_DARWIN
|
||||
.data
|
||||
.comm .gomp_critical_user_,32
|
||||
no.comm .gomp_critical_user_,32
|
||||
.data
|
||||
.globl ___kmp_unnamed_critical_addr
|
||||
___kmp_unnamed_critical_addr:
|
||||
.quad .gomp_critical_user_
|
||||
# else /* Linux* OS */
|
||||
.data
|
||||
#ifdef __COSMOPOLITAN__
|
||||
.globl .gomp_critical_user_
|
||||
".gomp_critical_user_":
|
||||
.align 8
|
||||
.byte 32
|
||||
#else
|
||||
.comm .gomp_critical_user_,32,8
|
||||
#endif
|
||||
no.comm .gomp_critical_user_,32,8
|
||||
.data
|
||||
ALIGN 8
|
||||
.global __kmp_unnamed_critical_addr
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue