diff options
Diffstat (limited to 'main/gcc9/400-dlang-phobos.patch')
-rw-r--r-- | main/gcc9/400-dlang-phobos.patch | 1216 |
1 files changed, 0 insertions, 1216 deletions
diff --git a/main/gcc9/400-dlang-phobos.patch b/main/gcc9/400-dlang-phobos.patch deleted file mode 100644 index 7e434e78584..00000000000 --- a/main/gcc9/400-dlang-phobos.patch +++ /dev/null @@ -1,1216 +0,0 @@ -diff -Nurp a/libphobos/libdruntime/core/stdc/fenv.d b/libphobos/libdruntime/core/stdc/fenv.d ---- a/libphobos/libdruntime/core/stdc/fenv.d 2019-10-28 06:37:30.000000000 +0900 -+++ b/libphobos/libdruntime/core/stdc/fenv.d 2019-10-28 08:08:09.000000000 +0900 -@@ -375,7 +375,44 @@ else version (Solaris) - } - else version (CRuntime_Musl) - { -- version (X86_64) -+ version (AArch64) -+ { -+ struct fenv_t -+ { -+ uint __fpcr; -+ uint __fpsr; -+ } -+ alias uint fexcept_t; -+ } -+ else version (ARM) -+ { -+ import core.stdc.config : c_ulong; -+ -+ struct fenv_t -+ { -+ c_ulong __cw; -+ } -+ alias c_ulong fexcept_t; -+ } -+ else version (IBMZ_Any) -+ { -+ alias uint fenv_t; -+ alias uint fexcept_t; -+ } -+ else version (MIPS_Any) -+ { -+ struct fenv_t -+ { -+ uint __cw; -+ } -+ alias ushort fexcept_t; -+ } -+ else version (PPC_Any) -+ { -+ alias double fenv_t; -+ alias uint fexcept_t; -+ } -+ else version (X86_Any) - { - struct fenv_t - { -@@ -391,7 +428,8 @@ else version (CRuntime_Musl) - uint __data_offset; - ushort __data_selector; - ushort __unused5; -- uint __mxcsr; -+ version (X86_64) -+ uint __mxcsr; - } - alias ushort fexcept_t; - } -diff -Nurp a/libphobos/libdruntime/core/sys/posix/dirent.d b/libphobos/libdruntime/core/sys/posix/dirent.d ---- a/libphobos/libdruntime/core/sys/posix/dirent.d 2019-10-28 06:37:30.000000000 +0900 -+++ b/libphobos/libdruntime/core/sys/posix/dirent.d 2019-10-28 08:08:09.000000000 +0900 -@@ -506,7 +506,7 @@ else version (CRuntime_Bionic) - } - else version (CRuntime_Musl) - { -- -+ int readdir_r(DIR*, dirent*, dirent**); - } - else version (CRuntime_UClibc) - { -@@ -591,6 +591,8 @@ else version (CRuntime_Bionic) - } - else version (CRuntime_Musl) - { -+ void seekdir(DIR*, c_long); -+ c_long telldir(DIR*); - } - else version (CRuntime_UClibc) - { -diff -Nurp a/libphobos/libdruntime/core/sys/posix/pthread.d b/libphobos/libdruntime/core/sys/posix/pthread.d ---- a/libphobos/libdruntime/core/sys/posix/pthread.d 2019-10-28 06:37:30.000000000 +0900 -+++ b/libphobos/libdruntime/core/sys/posix/pthread.d 2019-10-28 08:08:09.000000000 +0900 -@@ -854,7 +854,15 @@ else version (CRuntime_Bionic) - } - else version (CRuntime_Musl) - { -+ enum PTHREAD_BARRIER_SERIAL_THREAD = -1; - -+ int pthread_barrier_destroy(pthread_barrier_t*); -+ int pthread_barrier_init(pthread_barrier_t*, in pthread_barrierattr_t*, uint); -+ int pthread_barrier_wait(pthread_barrier_t*); -+ int pthread_barrierattr_destroy(pthread_barrierattr_t*); -+ int pthread_barrierattr_getpshared(in pthread_barrierattr_t*, int*); -+ int pthread_barrierattr_init(pthread_barrierattr_t*); -+ int pthread_barrierattr_setpshared(pthread_barrierattr_t*, int); - } - else version (CRuntime_UClibc) - { -@@ -880,6 +888,55 @@ else - int pthread_condattr_getclock(in pthread_condattr_t*, clockid_t*); - int pthread_condattr_setclock(pthread_condattr_t*, clockid_t); - */ -+version (CRuntime_Glibc) -+{ -+ int pthread_condattr_getclock(in pthread_condattr_t*, clockid_t*); -+ int pthread_condattr_setclock(pthread_condattr_t*, clockid_t); -+} -+else version (FreeBSD) -+{ -+ int pthread_condattr_getclock(in pthread_condattr_t*, clockid_t*); -+ int pthread_condattr_setclock(pthread_condattr_t*, clockid_t); -+} -+else version (DragonFlyBSD) -+{ -+ int pthread_condattr_getclock(in pthread_condattr_t*, clockid_t*); -+ int pthread_condattr_setclock(pthread_condattr_t*, clockid_t); -+} -+else version (NetBSD) -+{ -+ int pthread_condattr_setclock(pthread_condattr_t*, clockid_t); -+} -+else version (OpenBSD) -+{ -+ int pthread_condattr_getclock(in pthread_condattr_t*, clockid_t*); -+ int pthread_condattr_setclock(pthread_condattr_t*, clockid_t); -+} -+else version (Darwin) -+{ -+} -+else version (Solaris) -+{ -+ int pthread_condattr_getclock(in pthread_condattr_t*, clockid_t*); -+ int pthread_condattr_setclock(pthread_condattr_t*, clockid_t); -+} -+else version (CRuntime_Bionic) -+{ -+} -+else version (CRuntime_Musl) -+{ -+ int pthread_condattr_getclock(in pthread_condattr_t*, clockid_t*); -+ int pthread_condattr_setclock(pthread_condattr_t*, clockid_t); -+} -+else version (CRuntime_UClibc) -+{ -+ int pthread_condattr_getclock(in pthread_condattr_t*, clockid_t*); -+ int pthread_condattr_setclock(pthread_condattr_t*, clockid_t); -+} -+else -+{ -+ static assert(false, "Unsupported platform"); -+} - - // - // Spinlock (SPI) -@@ -948,7 +1005,11 @@ else version (CRuntime_Bionic) - } - else version (CRuntime_Musl) - { -- -+ int pthread_spin_destroy(pthread_spinlock_t*); -+ int pthread_spin_init(pthread_spinlock_t*, int); -+ int pthread_spin_lock(pthread_spinlock_t*); -+ int pthread_spin_trylock(pthread_spinlock_t*); -+ int pthread_spin_unlock(pthread_spinlock_t*); - } - else version (CRuntime_UClibc) - { -@@ -1187,7 +1248,7 @@ else version (CRuntime_Bionic) - } - else version (CRuntime_Musl) - { -- -+ int pthread_getcpuclockid(pthread_t, clockid_t*); - } - else version (CRuntime_UClibc) - { -@@ -1256,7 +1317,9 @@ else version (CRuntime_Bionic) - } - else version (CRuntime_Musl) - { -- -+ int pthread_mutex_timedlock(pthread_mutex_t*, in timespec*); -+ int pthread_rwlock_timedrdlock(pthread_rwlock_t*, in timespec*); -+ int pthread_rwlock_timedwrlock(pthread_rwlock_t*, in timespec*); - } - else version (CRuntime_UClibc) - { -@@ -1693,7 +1756,12 @@ else version (CRuntime_Bionic) - } - else version (CRuntime_Musl) - { -- -+ int pthread_condattr_getpshared(pthread_condattr_t*, int*); -+ int pthread_condattr_setpshared(pthread_condattr_t*, int); -+ int pthread_mutexattr_getpshared(pthread_mutexattr_t*, int*); -+ int pthread_mutexattr_setpshared(pthread_mutexattr_t*, int); -+ int pthread_rwlockattr_getpshared(pthread_rwlockattr_t*, int*); -+ int pthread_rwlockattr_setpshared(pthread_rwlockattr_t*, int); - } - else version (CRuntime_UClibc) - { -diff -Nurp a/libphobos/libdruntime/core/sys/posix/pwd.d b/libphobos/libdruntime/core/sys/posix/pwd.d ---- a/libphobos/libdruntime/core/sys/posix/pwd.d 2019-10-28 06:37:30.000000000 +0900 -+++ b/libphobos/libdruntime/core/sys/posix/pwd.d 2019-10-28 08:08:09.000000000 +0900 -@@ -172,7 +172,8 @@ else version (CRuntime_Bionic) - } - else version (CRuntime_Musl) - { -- struct passwd { -+ struct passwd -+ { - char *pw_name; - char *pw_passwd; - uid_t pw_uid; -@@ -257,6 +258,8 @@ else version (CRuntime_Bionic) - } - else version (CRuntime_Musl) - { -+ int getpwnam_r(in char*, passwd*, char*, size_t, passwd**); -+ int getpwuid_r(uid_t, passwd*, char*, size_t, passwd**); - } - else version (CRuntime_UClibc) - { -@@ -325,8 +328,9 @@ else version (CRuntime_Bionic) - } - else version (CRuntime_Musl) - { -- int getpwnam_r(in char*, passwd*, char*, size_t, passwd**); -- int getpwuid_r(uid_t, passwd*, char*, size_t, passwd**); -+ void endpwent(); -+ passwd* getpwent(); -+ void setpwent(); - } - else version (CRuntime_UClibc) - { -diff -Nurp a/libphobos/libdruntime/core/sys/posix/signal.d b/libphobos/libdruntime/core/sys/posix/signal.d ---- a/libphobos/libdruntime/core/sys/posix/signal.d 2019-10-28 07:12:22.000000000 +0900 -+++ b/libphobos/libdruntime/core/sys/posix/signal.d 2019-10-28 08:08:09.000000000 +0900 -@@ -1136,55 +1136,57 @@ else version (NetBSD) - enum SIG_UNBLOCK = 2; - enum SIG_SETMASK = 3; - -- union sigval_t { -- int sival_int; -- void *sival_ptr; -- }; -- struct _rt{ -- pid_t _pid; -- uid_t _uid; -- sigval_t _value; -- }; -- struct _child{ -- pid_t _pid; -- uid_t _uid; -- int _status; -- clock_t _utime; -- clock_t _stime; -- }; -- struct _fault{ -- void *_addr; -- int _trap; -- int _trap2; -- int _trap3; -- }; -- struct _poll{ -- long _band; -- int _fd; -- }; -- union _reason{ -- _rt rt; -- _child child; -- _fault fault; -- _poll poll; -- }; -- struct _ksiginfo { -+ union sigval_t -+ { -+ int sival_int; -+ void* sival_ptr; -+ } -+ -+ struct _ksiginfo -+ { - int _signo; - int _code; - int _errno; --/+#ifdef _LP64 -- /* In _LP64 the union starts on an 8-byte boundary. */ -- int _pad; --#endif+/ -- _reason reason; -- }; -+ version (D_LP64) -+ int _pad; - -+ union reason_t -+ { -+ struct rt_t -+ { -+ pid_t _pid; -+ uid_t _uid; -+ sigval_t _value; -+ } rt_t _rt; -+ struct child_t -+ { -+ pid_t _pid; -+ uid_t _uid; -+ int _status; -+ clock_t _utime; -+ clock_t _stime; -+ } child_t _child; -+ struct fault_t -+ { -+ void* _addr; -+ int _trap; -+ int _trap2; -+ int _trap3; -+ } fault_t fault; -+ struct poll_t -+ { -+ c_long _band; -+ int _fd; -+ } poll_t _poll; -+ } -+ reason_t _reason; -+ } - - union siginfo_t - { -- ubyte[128] si_pad;/* Total size; for future expansion */ -+ ubyte[128] si_pad; - _ksiginfo _info; -- @property ref c_long si_band() return { return _info.reason.poll._band; } -+ @property ref c_long si_band() return { return _info._reason._poll._band; } - } - - enum SI_USER = 0; -@@ -1589,27 +1591,53 @@ else version (CRuntime_Bionic) - } - else version (CRuntime_Musl) - { -- struct sigset_t { -- ulong[128/long.sizeof] __bits; -+ struct sigset_t -+ { -+ c_ulong[128/c_long.sizeof] __bits; - } - -- enum SIG_BLOCK = 0; -- enum SIG_UNBLOCK = 1; -- enum SIG_SETMASK = 2; -+ version (MIPS_Any) -+ { -+ enum SIG_BLOCK = 1; -+ enum SIG_UNBLOCK = 2; -+ enum SIG_SETMASK = 3; -+ } -+ else -+ { -+ enum SIG_BLOCK = 0; -+ enum SIG_UNBLOCK = 1; -+ enum SIG_SETMASK = 2; -+ } - -- struct siginfo_t { -- int si_signo, si_errno, si_code; -- union __si_fields_t { -- char[128 - 2*int.sizeof - long.sizeof] __pad = 0; -- struct __si_common_t { -- union __first_t { -- struct __piduid_t { -+ struct siginfo_t -+ { -+ int si_signo; -+ version (MIPS_Any) // __SI_SWAP_ERRNO_CODE -+ { -+ int si_code; -+ int si_errno; -+ } -+ else -+ { -+ int si_errno; -+ int si_code; -+ } -+ union __si_fields_t -+ { -+ char[128 - 2*int.sizeof - c_long.sizeof] __pad = 0; -+ struct __si_common_t -+ { -+ union __first_t -+ { -+ struct __piduid_t -+ { - pid_t si_pid; - uid_t si_uid; - } - __piduid_t __piduid; - -- struct __timer_t { -+ struct __timer_t -+ { - int si_timerid; - int si_overrun; - } -@@ -1617,11 +1645,14 @@ else version (CRuntime_Musl) - } - __first_t __first; - -- union __second_t { -+ union __second_t -+ { - sigval si_value; -- struct __sigchld_t { -+ struct __sigchld_t -+ { - int si_status; -- clock_t si_utime, si_stime; -+ clock_t si_utime; -+ clock_t si_stime; - } - __sigchld_t __sigchld; - } -@@ -1629,11 +1660,14 @@ else version (CRuntime_Musl) - } - __si_common_t __si_common; - -- struct __sigfault_t { -+ struct __sigfault_t -+ { - void *si_addr; - short si_addr_lsb; -- union __first_t { -- struct __addr_bnd_t { -+ union __first_t -+ { -+ struct __addr_bnd_t -+ { - void *si_lower; - void *si_upper; - } -@@ -1644,13 +1678,15 @@ else version (CRuntime_Musl) - } - __sigfault_t __sigfault; - -- struct __sigpoll_t { -- long si_band; -+ struct __sigpoll_t -+ { -+ c_long si_band; - int si_fd; - } - __sigpoll_t __sigpoll; - -- struct __sigsys_t { -+ struct __sigsys_t -+ { - void *si_call_addr; - int si_syscall; - uint si_arch; -@@ -3030,7 +3066,177 @@ else version (CRuntime_Bionic) - } - else version (CRuntime_Musl) - { -- enum SA_RESTART = 0x10000000; -+ version (MIPS_Any) -+ { -+ enum SIGPOLL = 22; -+ enum SIGPROF = 29; -+ enum SIGSYS = 12; -+ enum SIGTRAP = 5; -+ enum SIGVTALRM = 28; -+ enum SIGXCPU = 30; -+ enum SIGXFSZ = 31; -+ -+ enum SA_ONSTACK = 0x08000000; -+ enum SA_RESETHAND = 0x80000000; -+ enum SA_RESTART = 0x10000000; -+ enum SA_SIGINFO = 8; -+ enum SA_NOCLDWAIT = 0x10000; -+ enum SA_NODEFER = 0x40000000; -+ } -+ else -+ { -+ enum SIGPOLL = 29; -+ enum SIGPROF = 27; -+ enum SIGSYS = 31; -+ enum SIGTRAP = 5; -+ enum SIGVTALRM = 26; -+ enum SIGXCPU = 24; -+ enum SIGXFSZ = 25; -+ -+ enum SA_ONSTACK = 0x08000000; -+ enum SA_RESETHAND = 0x80000000; -+ enum SA_RESTART = 0x10000000; -+ enum SA_SIGINFO = 4; -+ enum SA_NOCLDWAIT = 2; -+ enum SA_NODEFER = 0x40000000; -+ } -+ -+ enum SS_ONSTACK = 1; -+ enum SS_DISABLE = 2; -+ -+ version (ARM) -+ { -+ enum MINSIGSTKSZ = 2048; -+ enum SIGSTKSZ = 8192; -+ } -+ else version (AArch64) -+ { -+ enum MINSIGSTKSZ = 6144; -+ enum SIGSTKSZ = 12288; -+ } -+ else version (IBMZ_Any) -+ { -+ enum MINSIGSTKSZ = 4096; -+ enum SIGSTKSZ = 10240; -+ } -+ else version (MIPS_Any) -+ { -+ enum MINSIGSTKSZ = 2048; -+ enum SIGSTKSZ = 8192; -+ } -+ else version (PPC_Any) -+ { -+ enum MINSIGSTKSZ = 4096; -+ enum SIGSTKSZ = 10240; -+ } -+ else version (X86_Any) -+ { -+ enum MINSIGSTKSZ = 2048; -+ enum SIGSTKSZ = 8192; -+ } -+ else -+ static assert(0, "unimplemented"); -+ -+ //ucontext_t (defined in core.sys.posix.ucontext) -+ //mcontext_t (defined in core.sys.posix.ucontext) -+ -+ version (MIPS_Any) -+ { -+ struct stack_t -+ { -+ void* ss_sp; -+ size_t ss_size; -+ int ss_flags; -+ } -+ } -+ else -+ { -+ struct stack_t -+ { -+ void* ss_sp; -+ int ss_flags; -+ size_t ss_size; -+ } -+ } -+ -+ enum -+ { -+ ILL_ILLOPC = 1, -+ ILL_ILLOPN, -+ ILL_ILLADR, -+ ILL_ILLTRP, -+ ILL_PRVOPC, -+ ILL_PRVREG, -+ ILL_COPROC, -+ ILL_BADSTK -+ } -+ -+ enum -+ { -+ FPE_INTDIV = 1, -+ FPE_INTOVF, -+ FPE_FLTDIV, -+ FPE_FLTOVF, -+ FPE_FLTUND, -+ FPE_FLTRES, -+ FPE_FLTINV, -+ FPE_FLTSUB -+ } -+ -+ enum -+ { -+ SEGV_MAPERR = 1, -+ SEGV_ACCERR -+ } -+ -+ enum -+ { -+ BUS_ADRALN = 1, -+ BUS_ADRERR, -+ BUS_OBJERR -+ } -+ -+ enum -+ { -+ TRAP_BRKPT = 1, -+ TRAP_TRACE -+ } -+ -+ enum -+ { -+ CLD_EXITED = 1, -+ CLD_KILLED, -+ CLD_DUMPED, -+ CLD_TRAPPED, -+ CLD_STOPPED, -+ CLD_CONTINUED -+ } -+ -+ enum -+ { -+ POLL_IN = 1, -+ POLL_OUT, -+ POLL_MSG, -+ POLL_ERR, -+ POLL_PRI, -+ POLL_HUP -+ } -+ -+ sigfn_t bsd_signal(int sig, sigfn_t func); -+ sigfn_t sigset(int sig, sigfn_t func); -+ -+ nothrow: -+ @nogc: -+ sigfn_t2 bsd_signal(int sig, sigfn_t2 func); -+ sigfn_t2 sigset(int sig, sigfn_t2 func); -+ -+ int killpg(pid_t, int); -+ int sigaltstack(const scope stack_t*, stack_t*); -+ int sighold(int); -+ int sigignore(int); -+ int siginterrupt(int, int); -+ int sigpause(int); -+ int sigrelse(int); - } - else version (CRuntime_UClibc) - { -@@ -3483,7 +3689,7 @@ else version (CRuntime_Musl) - int sigev_notify; - void function(sigval) sigev_notify_function; - pthread_attr_t *sigev_notify_attributes; -- char[56 - 3 * long.sizeof] __pad = void; -+ char[56 - 3 * c_long.sizeof] __pad = void; - } - } - else version (CRuntime_UClibc) -diff -Nurp a/libphobos/libdruntime/core/sys/posix/sys/mman.d b/libphobos/libdruntime/core/sys/posix/sys/mman.d ---- a/libphobos/libdruntime/core/sys/posix/sys/mman.d 2019-10-28 07:12:22.000000000 +0900 -+++ b/libphobos/libdruntime/core/sys/posix/sys/mman.d 2019-10-28 08:08:09.000000000 +0900 -@@ -128,6 +128,15 @@ else version (CRuntime_Bionic) - } - else version (CRuntime_Musl) - { -+ enum -+ { -+ POSIX_MADV_NORMAL = 0, -+ POSIX_MADV_RANDOM = 1, -+ POSIX_MADV_SEQUENTIAL = 2, -+ POSIX_MADV_WILLNEED = 3, -+ POSIX_MADV_DONTNEED = 4, -+ } -+ int posix_madvise(void *, size_t, int); - } - else version (CRuntime_UClibc) - { -@@ -611,6 +620,14 @@ else version (CRuntime_Bionic) - } - else version (CRuntime_Musl) - { -+ enum -+ { -+ MCL_CURRENT = 1, -+ MCL_FUTURE = 2, -+ } -+ -+ int mlockall(int); -+ int munlockall(); - } - else version (CRuntime_UClibc) - { -@@ -674,6 +691,8 @@ else version (CRuntime_Bionic) - } - else version (CRuntime_Musl) - { -+ int mlock(in void*, size_t); -+ int munlock(in void*, size_t); - } - else version (CRuntime_UClibc) - { -@@ -776,6 +795,8 @@ else version (CRuntime_Bionic) - } - else version (CRuntime_Musl) - { -+ int shm_open(in char*, int, mode_t); -+ int shm_unlink(in char*); - } - else version (CRuntime_UClibc) - { -diff -Nurp a/libphobos/libdruntime/core/sys/posix/sys/socket.d b/libphobos/libdruntime/core/sys/posix/sys/socket.d ---- a/libphobos/libdruntime/core/sys/posix/sys/socket.d 2019-10-28 07:12:22.000000000 +0900 -+++ b/libphobos/libdruntime/core/sys/posix/sys/socket.d 2019-10-28 08:08:09.000000000 +0900 -@@ -1755,10 +1755,10 @@ else version (CRuntime_Musl) - c_ulong __ss_align; - } - -- enum { -+ enum -+ { - SOCK_STREAM = 1, - SOCK_DGRAM = 2, -- SOCK_RAW = 3, - SOCK_RDM = 4, - SOCK_SEQPACKET = 5, - SOCK_DCCP = 6, -@@ -2187,6 +2187,10 @@ else version (CRuntime_Bionic) - } - else version (CRuntime_Musl) - { -+ enum -+ { -+ SOCK_RAW = 3 -+ } - } - else version (CRuntime_UClibc) - { -diff -Nurp a/libphobos/libdruntime/core/sys/posix/sys/types.d b/libphobos/libdruntime/core/sys/posix/sys/types.d ---- a/libphobos/libdruntime/core/sys/posix/sys/types.d 2019-10-28 07:12:22.000000000 +0900 -+++ b/libphobos/libdruntime/core/sys/posix/sys/types.d 2019-10-28 08:07:51.000000000 +0900 -@@ -112,20 +112,25 @@ version (CRuntime_Glibc) - } - else version (CRuntime_Musl) - { -- alias long blksize_t; -- alias ulong nlink_t; -- alias long dev_t; -- alias long blkcnt_t; -- alias ulong ino_t; -- alias long off_t; -- alias long _Addr; -- alias int pid_t; -- alias uint uid_t; -- alias uint gid_t; -- alias long time_t; -- alias long clock_t; -- alias ulong pthread_t; -- alias _Addr ssize_t; -+ alias c_long blksize_t; -+ alias c_ulong nlink_t; -+ alias long dev_t; -+ alias long blkcnt_t; -+ alias ulong ino_t; -+ alias long off_t; -+ alias int pid_t; -+ alias uint uid_t; -+ alias uint gid_t; -+ version (D_X32) -+ alias long time_t; -+ else -+ alias c_long time_t; -+ alias c_long clock_t; -+ alias c_ulong pthread_t; -+ version (D_LP64) -+ alias c_long ssize_t; -+ else -+ alias int ssize_t; - } - else version (Darwin) - { -@@ -420,7 +425,10 @@ else version (CRuntime_Musl) - } - alias uint mode_t; - alias uint id_t; -- alias long suseconds_t; -+ version (D_X32) -+ alias long susseconds_t; -+ else -+ alias c_long suseconds_t; - } - else version (CRuntime_UClibc) - { -@@ -723,40 +746,77 @@ version (CRuntime_Glibc) - } - else version (CRuntime_Musl) - { -- version (X86_64) { -+ version (D_LP64) -+ { - union pthread_attr_t - { - int[14] __i; - ulong[7] __s; - } -+ - union pthread_cond_t - { - int[12] __i; - void*[6] __p; - } -+ - union pthread_mutex_t - { - int[10] __i; - void*[5] __p; - } -+ - union pthread_rwlock_t - { - int[14] __i; - void*[7] __p; - } -- struct pthread_rwlockattr_t -+ } -+ else -+ { -+ union pthread_attr_t -+ { -+ int[9] __i; -+ uint[9] __s; -+ } -+ -+ union pthread_cond_t -+ { -+ int[12] __i; -+ void*[12] __p; -+ } -+ -+ union pthread_mutex_t - { -- uint[2] __attr; -+ int[6] __i; -+ void*[6] __p; -+ } -+ -+ union pthread_rwlock_t -+ { -+ int[8] __i; -+ void*[8] __p; - } -- alias uint pthread_key_t; -- alias uint pthread_condattr_t; -- alias uint pthread_mutexattr_t; -- alias int pthread_once_t; - } -- else -+ -+ struct pthread_rwlockattr_t - { -- static assert (false, "Architecture unsupported"); -+ uint[2] __attr; - } -+ -+ alias uint pthread_key_t; -+ -+ struct pthread_condattr_t -+ { -+ uint __attr; -+ } -+ -+ struct pthread_mutexattr_t -+ { -+ uint __attr; -+ } -+ -+ alias int pthread_once_t; - } - else version (Darwin) - { -@@ -1300,6 +1360,27 @@ else version (CRuntime_Bionic) - } - else version (CRuntime_Musl) - { -+ version (D_LP64) -+ { -+ union pthread_barrier_t -+ { -+ int[8] __i; -+ void*[4] __p; -+ } -+ } -+ else -+ { -+ union pthread_barrier_t -+ { -+ int[5] __i; -+ void*[5] __p; -+ } -+ } -+ -+ struct pthread_barrierattr_t -+ { -+ uint __attr; -+ } - } - else version (CRuntime_UClibc) - { -@@ -1351,6 +1432,10 @@ else version (CRuntime_UClibc) - { - alias int pthread_spinlock_t; // volatile - } -+else version (CRuntime_Musl) -+{ -+ alias int pthread_spinlock_t; -+} - - // - // Timer (TMR) -diff -Nurp a/libphobos/libdruntime/core/sys/posix/sys/wait.d b/libphobos/libdruntime/core/sys/posix/sys/wait.d ---- a/libphobos/libdruntime/core/sys/posix/sys/wait.d 2019-10-28 07:12:22.000000000 +0900 -+++ b/libphobos/libdruntime/core/sys/posix/sys/wait.d 2019-10-28 08:08:09.000000000 +0900 -@@ -362,6 +362,19 @@ else version (CRuntime_Bionic) - } - else version (CRuntime_Musl) - { -+ enum WEXITED = 4; -+ enum WSTOPPED = 2; -+ enum WCONTINUED = 8; -+ enum WNOWAIT = 0x01000000; -+ -+ enum idtype_t -+ { -+ P_ALL, -+ P_PID, -+ P_PGID -+ } -+ -+ int waitid(idtype_t, id_t, siginfo_t*, int); - } - else version (CRuntime_UClibc) - { -diff -Nurp a/libphobos/libdruntime/core/sys/posix/ucontext.d b/libphobos/libdruntime/core/sys/posix/ucontext.d ---- a/libphobos/libdruntime/core/sys/posix/ucontext.d 2019-10-28 07:12:22.000000000 +0900 -+++ b/libphobos/libdruntime/core/sys/posix/ucontext.d 2019-10-28 08:08:09.000000000 +0900 -@@ -23,6 +23,10 @@ extern (C): - nothrow: - @nogc: - -+version (MIPS32) version = MIPS_Any; -+version (MIPS64) version = MIPS_Any; -+version (PPC) version = PPC_Any; -+version (PPC64) version = PPC_Any; - version (RISCV32) version = RISCV_Any; - version (RISCV64) version = RISCV_Any; - version (S390) version = IBMZ_Any; -@@ -770,6 +774,139 @@ version (CRuntime_Glibc) - else - static assert(0, "unimplemented"); - } -+else version (CRuntime_Musl) -+{ -+ version (AArch64) -+ { -+ struct mcontext_t -+ { -+ real[18+256] __regs; -+ } -+ -+ struct ucontext_t -+ { -+ c_ulong uc_flags; -+ ucontext_t* uc_link; -+ stack_t uc_stack; -+ sigset_t uc_sigmask; -+ mcontext_t uc_mcontext; -+ } -+ } -+ else version (ARM) -+ { -+ struct mcontext_t -+ { -+ c_ulong[21] __regs; -+ } -+ -+ struct ucontext_t -+ { -+ c_ulong uc_flags; -+ ucontext_t* uc_link; -+ stack_t uc_stack; -+ mcontext_t uc_mcontext; -+ sigset_t uc_sigmask; -+ ulong[64] uc_regspace; -+ } -+ } -+ else version (IBMZ_Any) -+ { -+ struct mcontext_t -+ { -+ c_ulong[18] __regs1; -+ uint[18] __regs2; -+ double[16] __regs3; -+ } -+ -+ struct ucontext_t -+ { -+ c_ulong uc_flags; -+ ucontext_t* uc_link; -+ stack_t uc_stack; -+ mcontext_t uc_mcontext; -+ sigset_t uc_sigmask; -+ } -+ } -+ else version (MIPS_Any) -+ { -+ version (MIPS_N32) -+ { -+ struct mcontext_t -+ { -+ ulong[32] __mc1; -+ double[32] __mc2; -+ ulong[9] __mc3; -+ uint[4] __mc4; -+ } -+ } -+ else version (MIPS64) -+ { -+ struct mcontext_t -+ { -+ ulong[32] __mc1; -+ double[32] __mc2; -+ ulong[9] __mc3; -+ uint[4] __mc4; -+ } -+ } -+ else -+ { -+ struct mcontext_t -+ { -+ uint[2] __mc1; -+ ulong[65] __mc2; -+ uint[5] __mc3; -+ ulong[2] __mc4; -+ uint[6] __mc5; -+ } -+ } -+ -+ struct ucontext_t -+ { -+ c_ulong uc_flags; -+ ucontext_t* uc_link; -+ stack_t uc_stack; -+ mcontext_t uc_mcontext; -+ sigset_t uc_sigmask; -+ } -+ } -+ else version (X86) -+ { -+ struct mcontext_t -+ { -+ uint[22] __space; -+ } -+ -+ struct ucontext_t -+ { -+ c_ulong uc_flags; -+ ucontext_t* uc_link; -+ stack_t uc_stack; -+ mcontext_t uc_mcontext; -+ sigset_t uc_sigmask; -+ c_ulong[28] __fpregs_mem; -+ } -+ } -+ else version (X86_64) -+ { -+ struct mcontext_t -+ { -+ ulong[32] __space; -+ } -+ -+ struct ucontext_t -+ { -+ c_ulong uc_flags; -+ ucontext_t* uc_link; -+ stack_t uc_stack; -+ mcontext_t uc_mcontext; -+ sigset_t uc_sigmask; -+ ulong[64] __fpregs_mem; -+ } -+ } -+ else -+ static assert(0, "unimplemented"); -+} - else version (FreeBSD) - { - // <machine/ucontext.h> -diff -Nurp a/libphobos/src/std/experimental/allocator/building_blocks/region.d b/libphobos/src/std/experimental/allocator/building_blocks/region.d ---- a/libphobos/src/std/experimental/allocator/building_blocks/region.d 2019-10-28 07:23:27.000000000 +0900 -+++ b/libphobos/src/std/experimental/allocator/building_blocks/region.d 2019-10-28 08:08:09.000000000 +0900 -@@ -580,6 +580,12 @@ struct InSituRegion(size_t size, size_t - assert(a.length == 2001); - } - -+version(CRuntime_Musl) -+{ -+ // sbrk and brk are disabled in Musl: -+ // https://git.musl-libc.org/cgit/musl/commit/?id=7a995fe706e519a4f55399776ef0df9596101f93 -+ // https://git.musl-libc.org/cgit/musl/commit/?id=863d628d93ea341b6a32661a1654320ce69f6a07 -+} else: - private extern(C) void* sbrk(long); - private extern(C) int brk(shared void*); - -diff -Nurp a/libphobos/src/std/socket.d b/libphobos/src/std/socket.d ---- a/libphobos/src/std/socket.d 2019-10-28 07:23:27.000000000 +0900 -+++ b/libphobos/src/std/socket.d 2019-10-28 08:08:09.000000000 +0900 -@@ -163,47 +163,7 @@ string formatSocketError(int err) @trust - { - cs = strerror_r(err, buf.ptr, buf.length); - } -- else version (OSX) -- { -- auto errs = strerror_r(err, buf.ptr, buf.length); -- if (errs == 0) -- cs = buf.ptr; -- else -- return "Socket error " ~ to!string(err); -- } -- else version (FreeBSD) -- { -- auto errs = strerror_r(err, buf.ptr, buf.length); -- if (errs == 0) -- cs = buf.ptr; -- else -- return "Socket error " ~ to!string(err); -- } -- else version (NetBSD) -- { -- auto errs = strerror_r(err, buf.ptr, buf.length); -- if (errs == 0) -- cs = buf.ptr; -- else -- return "Socket error " ~ to!string(err); -- } -- else version (DragonFlyBSD) -- { -- auto errs = strerror_r(err, buf.ptr, buf.length); -- if (errs == 0) -- cs = buf.ptr; -- else -- return "Socket error " ~ to!string(err); -- } -- else version (Solaris) -- { -- auto errs = strerror_r(err, buf.ptr, buf.length); -- if (errs == 0) -- cs = buf.ptr; -- else -- return "Socket error " ~ to!string(err); -- } -- else version (CRuntime_Bionic) -+ else - { - auto errs = strerror_r(err, buf.ptr, buf.length); - if (errs == 0) -@@ -211,8 +171,6 @@ string formatSocketError(int err) @trust - else - return "Socket error " ~ to!string(err); - } -- else -- static assert(0); - - auto len = strlen(cs); - -diff -Nurp a/libphobos/src/std/stdio.d b/libphobos/src/std/stdio.d ---- a/libphobos/src/std/stdio.d 2019-10-28 07:23:27.000000000 +0900 -+++ b/libphobos/src/std/stdio.d 2019-10-28 08:08:09.000000000 +0900 -@@ -44,38 +44,38 @@ version (CRuntime_Glibc) - version = GCC_IO; - version = HAS_GETDELIM; - } -- --version (OSX) -+else version (CRuntime_Bionic) - { - version = GENERIC_IO; - version = HAS_GETDELIM; - } -- --version (FreeBSD) -+else version (CRuntime_Musl) - { - version = GENERIC_IO; - version = HAS_GETDELIM; - } - --version (NetBSD) -+version (OSX) - { - version = GENERIC_IO; - version = HAS_GETDELIM; - } -- --version (DragonFlyBSD) -+else version (FreeBSD) - { - version = GENERIC_IO; - version = HAS_GETDELIM; - } -- --version (Solaris) -+else version (NetBSD) - { - version = GENERIC_IO; -- version = NO_GETDELIM; -+ version = HAS_GETDELIM; - } -- --version (CRuntime_Bionic) -+else version (DragonFlyBSD) -+{ -+ version = GENERIC_IO; -+ version = HAS_GETDELIM; -+} -+else version (Solaris) - { - version = GENERIC_IO; - version = NO_GETDELIM; |