Browse Source

update musl to 1.0.0

Waldemar Brodkorb 10 years ago
parent
commit
3a22b41909
3 changed files with 2 additions and 8873 deletions
  1. 0 6
      toolchain/musl/Makefile
  2. 2 3
      toolchain/musl/Makefile.inc
  3. 0 8864
      toolchain/musl/patches/musl-git-20140319.patch

+ 0 - 6
toolchain/musl/Makefile

@@ -9,12 +9,6 @@ include ${TOPDIR}/mk/buildhlp.mk
 ifeq ($(CPU_ARCH),ppc)
 GNU_TARGET_NAME:= $(subst ppc,powerpc,$(GNU_TARGET_NAME))
 endif
-ifeq ($(CPU_ARCH),mips64el)
-GNU_TARGET_NAME:= $(subst mips64el,mips,$(GNU_TARGET_NAME))
-endif
-ifeq ($(CPU_ARCH),mips64)
-GNU_TARGET_NAME:= $(subst mips64,mips,$(GNU_TARGET_NAME))
-endif
 
 $(WRKBUILD)/.headers:
 	(cd $(WRKBUILD); CC='$(TARGET_CC)' CROSS_COMPILE='$(TARGET_CROSS)' \

+ 2 - 3
toolchain/musl/Makefile.inc

@@ -2,8 +2,7 @@
 # material, please see the LICENCE file in the top-level directory.
 
 PKG_NAME:=		musl
-PKG_VERSION:=		0.9.15
+PKG_VERSION:=		1.0.0
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		06f590a38c85722ee9343db2416425f4
+PKG_MD5SUM:=		e54664fdf211d27737e328c4462b545e
 PKG_SITES:=		http://www.musl-libc.org/releases/
-DISTFILES:=		$(PKG_NAME)-$(PKG_VERSION).tar.gz

+ 0 - 8864
toolchain/musl/patches/musl-git-20140319.patch

@@ -1,8864 +0,0 @@
-diff -Nur musl-0.9.15/arch/arm/bits/sem.h musl-git/arch/arm/bits/sem.h
---- musl-0.9.15/arch/arm/bits/sem.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/arm/bits/sem.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,16 @@
-+struct semid_ds {
-+	struct ipc_perm sem_perm;
-+	time_t sem_otime;
-+	time_t __unused1;
-+	time_t sem_ctime;
-+	time_t __unused2;
-+#if __BYTE_ORDER == __LITTLE_ENDIAN
-+	unsigned short sem_nsems;
-+	char __sem_nsems_pad[sizeof(time_t)-sizeof(short)];
-+#else
-+	char __sem_nsems_pad[sizeof(time_t)-sizeof(short)];
-+	unsigned short sem_nsems;
-+#endif
-+	time_t __unused3;
-+	time_t __unused4;
-+};
-diff -Nur musl-0.9.15/arch/arm/bits/shm.h musl-git/arch/arm/bits/shm.h
---- musl-0.9.15/arch/arm/bits/shm.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/arm/bits/shm.h	2014-03-19 07:42:48.000000000 +0100
-@@ -16,3 +16,14 @@
- 	unsigned long __pad1;
- 	unsigned long __pad2;
- };
-+
-+struct shminfo {
-+	unsigned long shmmax, shmmin, shmmni, shmseg, shmall, __unused[4];
-+};
-+
-+struct shm_info {
-+	int __used_ids;
-+	unsigned long shm_tot, shm_rss, shm_swp;
-+	unsigned long __swap_attempts, __swap_successes;
-+};
-+
-diff -Nur musl-0.9.15/arch/arm/bits/signal.h musl-git/arch/arm/bits/signal.h
---- musl-0.9.15/arch/arm/bits/signal.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/arm/bits/signal.h	2014-03-19 07:42:48.000000000 +0100
-@@ -18,6 +18,12 @@
- } mcontext_t;
- #endif
- 
-+struct sigaltstack {
-+	void *ss_sp;
-+	int ss_flags;
-+	size_t ss_size;
-+};
-+
- typedef struct __ucontext {
- 	unsigned long uc_flags;
- 	struct __ucontext *uc_link;
-diff -Nur musl-0.9.15/arch/arm/bits/termios.h musl-git/arch/arm/bits/termios.h
---- musl-0.9.15/arch/arm/bits/termios.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/arm/bits/termios.h	2014-03-19 07:42:48.000000000 +0100
-@@ -42,6 +42,7 @@
- #define IXANY   0004000
- #define IXOFF   0010000
- #define IMAXBEL 0020000
-+#define IUTF8   0040000
- 
- #define OPOST  0000001
- #define OLCUC  0000002
-@@ -75,9 +76,6 @@
- #define VT0    0000000
- #define VT1    0040000
- 
--/* ?? */
--#define XTABS  0014000
--
- #define B0       0000000
- #define B50      0000001
- #define B75      0000002
-@@ -125,8 +123,6 @@
- #define HUPCL  0002000
- #define CLOCAL 0004000
- 
--#define CRTSCTS  020000000000
--
- #define ISIG   0000001
- #define ICANON 0000002
- #define ECHO   0000010
-@@ -137,14 +133,11 @@
- #define TOSTOP 0000400
- #define IEXTEN 0100000
- 
--/* Extensions? */
--#define CBAUDEX 0010000
- #define ECHOCTL 0001000
- #define ECHOPRT 0002000
- #define ECHOKE 0004000
- #define FLUSHO 0010000
- #define PENDIN 0040000
--#define EXTPROC 0200000
- 
- #define TCOOFF 0
- #define TCOON  1
-@@ -158,3 +151,10 @@
- #define TCSANOW   0
- #define TCSADRAIN 1
- #define TCSAFLUSH 2
-+
-+#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-+#define CBAUDEX 0010000
-+#define CRTSCTS  020000000000
-+#define EXTPROC 0200000
-+#define XTABS  0014000
-+#endif
-diff -Nur musl-0.9.15/arch/arm/syscall_arch.h musl-git/arch/arm/syscall_arch.h
---- musl-0.9.15/arch/arm/syscall_arch.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/arm/syscall_arch.h	2014-03-19 07:42:48.000000000 +0100
-@@ -3,6 +3,8 @@
- ((union { long long ll; long l[2]; }){ .ll = x }).l[1]
- #define __SYSCALL_LL_O(x) 0, __SYSCALL_LL_E((x))
- 
-+long (__syscall)(long, ...);
-+
- #ifndef __clang__
- 
- #define __asm_syscall(...) do { \
-diff -Nur musl-0.9.15/arch/i386/bits/sem.h musl-git/arch/i386/bits/sem.h
---- musl-0.9.15/arch/i386/bits/sem.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/i386/bits/sem.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,16 @@
-+struct semid_ds {
-+	struct ipc_perm sem_perm;
-+	time_t sem_otime;
-+	time_t __unused1;
-+	time_t sem_ctime;
-+	time_t __unused2;
-+#if __BYTE_ORDER == __LITTLE_ENDIAN
-+	unsigned short sem_nsems;
-+	char __sem_nsems_pad[sizeof(time_t)-sizeof(short)];
-+#else
-+	char __sem_nsems_pad[sizeof(time_t)-sizeof(short)];
-+	unsigned short sem_nsems;
-+#endif
-+	time_t __unused3;
-+	time_t __unused4;
-+};
-diff -Nur musl-0.9.15/arch/i386/bits/shm.h musl-git/arch/i386/bits/shm.h
---- musl-0.9.15/arch/i386/bits/shm.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/i386/bits/shm.h	2014-03-19 07:42:48.000000000 +0100
-@@ -16,3 +16,14 @@
- 	unsigned long __pad1;
- 	unsigned long __pad2;
- };
-+
-+struct shminfo {
-+	unsigned long shmmax, shmmin, shmmni, shmseg, shmall, __unused[4];
-+};
-+
-+struct shm_info {
-+	int __used_ids;
-+	unsigned long shm_tot, shm_rss, shm_swp;
-+	unsigned long __swap_attempts, __swap_successes;
-+};
-+
-diff -Nur musl-0.9.15/arch/i386/bits/signal.h musl-git/arch/i386/bits/signal.h
---- musl-0.9.15/arch/i386/bits/signal.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/i386/bits/signal.h	2014-03-19 07:42:48.000000000 +0100
-@@ -53,6 +53,12 @@
- } mcontext_t;
- #endif
- 
-+struct sigaltstack {
-+	void *ss_sp;
-+	int ss_flags;
-+	size_t ss_size;
-+};
-+
- typedef struct __ucontext {
- 	unsigned long uc_flags;
- 	struct __ucontext *uc_link;
-diff -Nur musl-0.9.15/arch/i386/bits/termios.h musl-git/arch/i386/bits/termios.h
---- musl-0.9.15/arch/i386/bits/termios.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/i386/bits/termios.h	2014-03-19 07:42:48.000000000 +0100
-@@ -42,6 +42,7 @@
- #define IXANY   0004000
- #define IXOFF   0010000
- #define IMAXBEL 0020000
-+#define IUTF8   0040000
- 
- #define OPOST  0000001
- #define OLCUC  0000002
-@@ -75,9 +76,6 @@
- #define VT0    0000000
- #define VT1    0040000
- 
--/* ?? */
--#define XTABS  0014000
--
- #define B0       0000000
- #define B50      0000001
- #define B75      0000002
-@@ -125,8 +123,6 @@
- #define HUPCL  0002000
- #define CLOCAL 0004000
- 
--#define CRTSCTS  020000000000
--
- #define ISIG   0000001
- #define ICANON 0000002
- #define ECHO   0000010
-@@ -137,14 +133,11 @@
- #define TOSTOP 0000400
- #define IEXTEN 0100000
- 
--/* Extensions? */
--#define CBAUDEX 0010000
- #define ECHOCTL 0001000
- #define ECHOPRT 0002000
- #define ECHOKE 0004000
- #define FLUSHO 0010000
- #define PENDIN 0040000
--#define EXTPROC 0200000
- 
- #define TCOOFF 0
- #define TCOON  1
-@@ -158,3 +151,10 @@
- #define TCSANOW   0
- #define TCSADRAIN 1
- #define TCSAFLUSH 2
-+
-+#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-+#define CBAUDEX 0010000
-+#define CRTSCTS  020000000000
-+#define EXTPROC 0200000
-+#define XTABS  0014000
-+#endif
-diff -Nur musl-0.9.15/arch/microblaze/bits/sem.h musl-git/arch/microblaze/bits/sem.h
---- musl-0.9.15/arch/microblaze/bits/sem.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/microblaze/bits/sem.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,16 @@
-+struct semid_ds {
-+	struct ipc_perm sem_perm;
-+	time_t sem_otime;
-+	time_t __unused1;
-+	time_t sem_ctime;
-+	time_t __unused2;
-+#if __BYTE_ORDER == __LITTLE_ENDIAN
-+	unsigned short sem_nsems;
-+	char __sem_nsems_pad[sizeof(time_t)-sizeof(short)];
-+#else
-+	char __sem_nsems_pad[sizeof(time_t)-sizeof(short)];
-+	unsigned short sem_nsems;
-+#endif
-+	time_t __unused3;
-+	time_t __unused4;
-+};
-diff -Nur musl-0.9.15/arch/microblaze/bits/shm.h musl-git/arch/microblaze/bits/shm.h
---- musl-0.9.15/arch/microblaze/bits/shm.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/microblaze/bits/shm.h	2014-03-19 07:42:48.000000000 +0100
-@@ -16,3 +16,14 @@
- 	unsigned long __pad1;
- 	unsigned long __pad2;
- };
-+
-+struct shminfo {
-+	unsigned long shmmax, shmmin, shmmni, shmseg, shmall, __unused[4];
-+};
-+
-+struct shm_info {
-+	int __used_ids;
-+	unsigned long shm_tot, shm_rss, shm_swp;
-+	unsigned long __swap_attempts, __swap_successes;
-+};
-+
-diff -Nur musl-0.9.15/arch/microblaze/bits/signal.h musl-git/arch/microblaze/bits/signal.h
---- musl-0.9.15/arch/microblaze/bits/signal.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/microblaze/bits/signal.h	2014-03-19 07:42:48.000000000 +0100
-@@ -21,6 +21,12 @@
- } mcontext_t;
- #endif
- 
-+struct sigaltstack {
-+	void *ss_sp;
-+	int ss_flags;
-+	size_t ss_size;
-+};
-+
- typedef struct __ucontext {
- 	unsigned long uc_flags;
- 	struct __ucontext *uc_link;
-diff -Nur musl-0.9.15/arch/microblaze/bits/termios.h musl-git/arch/microblaze/bits/termios.h
---- musl-0.9.15/arch/microblaze/bits/termios.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/microblaze/bits/termios.h	2014-03-19 07:42:48.000000000 +0100
-@@ -42,6 +42,7 @@
- #define IXANY   0004000
- #define IXOFF   0010000
- #define IMAXBEL 0020000
-+#define IUTF8   0040000
- 
- #define OPOST  0000001
- #define OLCUC  0000002
-@@ -75,9 +76,6 @@
- #define VT0    0000000
- #define VT1    0040000
- 
--/* ?? */
--#define XTABS  0014000
--
- #define B0       0000000
- #define B50      0000001
- #define B75      0000002
-@@ -125,8 +123,6 @@
- #define HUPCL  0002000
- #define CLOCAL 0004000
- 
--#define CRTSCTS  020000000000
--
- #define ISIG   0000001
- #define ICANON 0000002
- #define ECHO   0000010
-@@ -137,14 +133,11 @@
- #define TOSTOP 0000400
- #define IEXTEN 0100000
- 
--/* Extensions? */
--#define CBAUDEX 0010000
- #define ECHOCTL 0001000
- #define ECHOPRT 0002000
- #define ECHOKE 0004000
- #define FLUSHO 0010000
- #define PENDIN 0040000
--#define EXTPROC 0200000
- 
- #define TCOOFF 0
- #define TCOON  1
-@@ -158,3 +151,10 @@
- #define TCSANOW   0
- #define TCSADRAIN 1
- #define TCSAFLUSH 2
-+
-+#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-+#define CBAUDEX 0010000
-+#define CRTSCTS  020000000000
-+#define EXTPROC 0200000
-+#define XTABS  0014000
-+#endif
-diff -Nur musl-0.9.15/arch/microblaze/syscall_arch.h musl-git/arch/microblaze/syscall_arch.h
---- musl-0.9.15/arch/microblaze/syscall_arch.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/microblaze/syscall_arch.h	2014-03-19 07:42:48.000000000 +0100
-@@ -3,6 +3,8 @@
- ((union { long long ll; long l[2]; }){ .ll = x }).l[1]
- #define __SYSCALL_LL_O(x) 0, __SYSCALL_LL_E((x))
- 
-+long (__syscall)(long, ...);
-+
- #ifndef __clang__
- 
- static __inline long __syscall0(long n)
-diff -Nur musl-0.9.15/arch/mips/bits/fenv.h musl-git/arch/mips/bits/fenv.h
---- musl-0.9.15/arch/mips/bits/fenv.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/mips/bits/fenv.h	2014-03-19 07:42:48.000000000 +0100
-@@ -1,3 +1,7 @@
-+#ifdef __mips_soft_float
-+#define FE_ALL_EXCEPT 0
-+#define FE_TONEAREST  0
-+#else
- #define FE_INEXACT    4
- #define FE_UNDERFLOW  8
- #define FE_OVERFLOW   16
-@@ -10,6 +14,7 @@
- #define FE_TOWARDZERO 1
- #define FE_UPWARD     2
- #define FE_DOWNWARD   3
-+#endif
- 
- typedef unsigned short fexcept_t;
- 
-diff -Nur musl-0.9.15/arch/mips/bits/sem.h musl-git/arch/mips/bits/sem.h
---- musl-0.9.15/arch/mips/bits/sem.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/mips/bits/sem.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,14 @@
-+struct semid_ds {
-+	struct ipc_perm sem_perm;
-+	time_t sem_otime;
-+	time_t sem_ctime;
-+#if __BYTE_ORDER == __LITTLE_ENDIAN
-+	unsigned short sem_nsems;
-+	char __sem_nsems_pad[sizeof(time_t)-sizeof(short)];
-+#else
-+	char __sem_nsems_pad[sizeof(time_t)-sizeof(short)];
-+	unsigned short sem_nsems;
-+#endif
-+	time_t __unused3;
-+	time_t __unused4;
-+};
-diff -Nur musl-0.9.15/arch/mips/bits/setjmp.h musl-git/arch/mips/bits/setjmp.h
---- musl-0.9.15/arch/mips/bits/setjmp.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/mips/bits/setjmp.h	2014-03-19 07:42:48.000000000 +0100
-@@ -1 +1 @@
--typedef unsigned long long __jmp_buf[15];
-+typedef unsigned long long __jmp_buf[13];
-diff -Nur musl-0.9.15/arch/mips/bits/shm.h musl-git/arch/mips/bits/shm.h
---- musl-0.9.15/arch/mips/bits/shm.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/mips/bits/shm.h	2014-03-19 07:42:48.000000000 +0100
-@@ -13,3 +13,14 @@
- 	unsigned long __pad1;
- 	unsigned long __pad2;
- };
-+
-+struct shminfo {
-+	unsigned long shmmax, shmmin, shmmni, shmseg, shmall, __unused[4];
-+};
-+
-+struct shm_info {
-+	int __used_ids;
-+	unsigned long shm_tot, shm_rss, shm_swp;
-+	unsigned long __swap_attempts, __swap_successes;
-+};
-+
-diff -Nur musl-0.9.15/arch/mips/bits/signal.h musl-git/arch/mips/bits/signal.h
---- musl-0.9.15/arch/mips/bits/signal.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/mips/bits/signal.h	2014-03-19 07:42:48.000000000 +0100
-@@ -38,13 +38,18 @@
- } mcontext_t;
- #endif
- 
-+struct sigaltstack {
-+	void *ss_sp;
-+	size_t ss_size;
-+	int ss_flags;
-+};
-+
- typedef struct __ucontext {
- 	unsigned long uc_flags;
- 	struct __ucontext *uc_link;
- 	stack_t uc_stack;
- 	mcontext_t uc_mcontext;
- 	sigset_t uc_sigmask;
--	unsigned long uc_regspace[128];
- } ucontext_t;
- 
- #define SA_NOCLDSTOP  1
-diff -Nur musl-0.9.15/arch/mips/bits/statfs.h musl-git/arch/mips/bits/statfs.h
---- musl-0.9.15/arch/mips/bits/statfs.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/mips/bits/statfs.h	2014-03-19 07:42:48.000000000 +0100
-@@ -1,7 +1,8 @@
- struct statfs {
--	unsigned long f_type, f_bsize;
--	fsblkcnt_t f_blocks, f_bfree, f_bavail;
-+	unsigned long f_type, f_bsize, f_frsize;
-+	fsblkcnt_t f_blocks, f_bfree;
- 	fsfilcnt_t f_files, f_ffree;
-+	fsblkcnt_t f_bavail;
- 	fsid_t f_fsid;
--	unsigned long f_namelen, f_frsize, f_flags, f_spare[4];
-+	unsigned long f_namelen, f_flags, f_spare[5];
- };
-diff -Nur musl-0.9.15/arch/mips/bits/termios.h musl-git/arch/mips/bits/termios.h
---- musl-0.9.15/arch/mips/bits/termios.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/mips/bits/termios.h	2014-03-19 07:42:48.000000000 +0100
-@@ -77,9 +77,6 @@
- #define VT0    0000000
- #define VT1    0040000
- 
--/* ?? */
--#define XTABS  0014000
--
- #define B0       0000000
- #define B50      0000001
- #define B75      0000002
-@@ -129,12 +126,6 @@
- #define PARODD 0001000
- #define HUPCL  0002000
- #define CLOCAL 0004000
--#define CBAUDEX 0010000
--
--#define CIBAUD   002003600000
--#define CMSPAR   010000000000
--#define CRTSCTS  020000000000
--#define IBSHIFT 16
- 
- #define ISIG   0000001
- #define ICANON 0000002
-@@ -152,9 +143,6 @@
- #define PENDIN 0040000
- #define TOSTOP 0100000
- #define ITOSTOP 0100000
--#define EXTPROC 0200000
--
--#define TIOCSER_TEMT 1
- 
- #define TCOOFF 0
- #define TCOON  1
-@@ -168,3 +156,14 @@
- #define TCSANOW   0
- #define TCSADRAIN 1
- #define TCSAFLUSH 2
-+
-+#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-+#define CBAUDEX 0010000
-+#define CIBAUD   002003600000
-+#define IBSHIFT 16
-+#define CMSPAR   010000000000
-+#define CRTSCTS  020000000000
-+#define EXTPROC 0200000
-+#define XTABS  0014000
-+#define TIOCSER_TEMT 1
-+#endif
-diff -Nur musl-0.9.15/arch/mips/reloc.h musl-git/arch/mips/reloc.h
---- musl-0.9.15/arch/mips/reloc.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/mips/reloc.h	2014-03-19 07:42:48.000000000 +0100
-@@ -8,7 +8,13 @@
- #define ENDIAN_SUFFIX ""
- #endif
- 
--#define LDSO_ARCH "mips" ENDIAN_SUFFIX
-+#ifdef __mips_soft_float
-+#define FP_SUFFIX "-sf"
-+#else
-+#define FP_SUFFIX ""
-+#endif
-+
-+#define LDSO_ARCH "mips" ENDIAN_SUFFIX FP_SUFFIX
- 
- #define IS_COPY(x) ((x)==R_MIPS_COPY)
- #define IS_PLT(x) 1
-diff -Nur musl-0.9.15/arch/mips/syscall_arch.h musl-git/arch/mips/syscall_arch.h
---- musl-0.9.15/arch/mips/syscall_arch.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/mips/syscall_arch.h	2014-03-19 07:42:48.000000000 +0100
-@@ -3,6 +3,8 @@
- ((union { long long ll; long l[2]; }){ .ll = x }).l[1]
- #define __SYSCALL_LL_O(x) 0, __SYSCALL_LL_E((x))
- 
-+long (__syscall)(long, ...);
-+
- #ifndef __clang__
- 
- #define __asm_syscall(...) do { \
-diff -Nur musl-0.9.15/arch/powerpc/bits/ipc.h musl-git/arch/powerpc/bits/ipc.h
---- musl-0.9.15/arch/powerpc/bits/ipc.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/powerpc/bits/ipc.h	2014-03-19 07:42:48.000000000 +0100
-@@ -7,8 +7,9 @@
- 	gid_t cgid;
- 	mode_t mode;
- 	int __ipc_perm_seq;
--	long __pad1;
--	long __pad2;
-+	int __pad1;
-+	long long __pad2;
-+	long long __pad3;
- };
- 
- #define IPC_64 0x100
-diff -Nur musl-0.9.15/arch/powerpc/bits/msg.h musl-git/arch/powerpc/bits/msg.h
---- musl-0.9.15/arch/powerpc/bits/msg.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/powerpc/bits/msg.h	2014-03-19 07:42:48.000000000 +0100
-@@ -1,12 +1,12 @@
- struct msqid_ds
- {
- 	struct ipc_perm msg_perm;
--	time_t msg_stime;
- 	int __unused1;
--	time_t msg_rtime;
-+	time_t msg_stime;
- 	int __unused2;
--	time_t msg_ctime;
-+	time_t msg_rtime;
- 	int __unused3;
-+	time_t msg_ctime;
- 	unsigned long msg_cbytes;
- 	msgqnum_t msg_qnum;
- 	msglen_t msg_qbytes;
-diff -Nur musl-0.9.15/arch/powerpc/bits/sem.h musl-git/arch/powerpc/bits/sem.h
---- musl-0.9.15/arch/powerpc/bits/sem.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/powerpc/bits/sem.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,10 @@
-+struct semid_ds {
-+	struct ipc_perm sem_perm;
-+	int __unused1;
-+	time_t sem_otime;
-+	int  __unused2;
-+	time_t sem_ctime;
-+	unsigned short __sem_nsems_pad, sem_nsems;
-+	long __unused3;
-+	long __unused4;
-+};
-diff -Nur musl-0.9.15/arch/powerpc/bits/shm.h musl-git/arch/powerpc/bits/shm.h
---- musl-0.9.15/arch/powerpc/bits/shm.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/powerpc/bits/shm.h	2014-03-19 07:42:48.000000000 +0100
-@@ -3,16 +3,28 @@
- struct shmid_ds
- {
- 	struct ipc_perm shm_perm;
--	size_t shm_segsz;
--	time_t shm_atime;
- 	int __unused1;
--	time_t shm_dtime;
-+	time_t shm_atime;
- 	int __unused2;
--	time_t shm_ctime;
-+	time_t shm_dtime;
- 	int __unused3;
-+	time_t shm_ctime;
-+	int __unused4;
-+	size_t shm_segsz;
- 	pid_t shm_cpid;
- 	pid_t shm_lpid;
- 	unsigned long shm_nattch;
- 	unsigned long __pad1;
- 	unsigned long __pad2;
- };
-+
-+struct shminfo {
-+	unsigned long shmmax, shmmin, shmmni, shmseg, shmall, __unused[4];
-+};
-+
-+struct shm_info {
-+	int __used_ids;
-+	unsigned long shm_tot, shm_rss, shm_swp;
-+	unsigned long __swap_attempts, __swap_successes;
-+};
-+
-diff -Nur musl-0.9.15/arch/powerpc/bits/signal.h musl-git/arch/powerpc/bits/signal.h
---- musl-0.9.15/arch/powerpc/bits/signal.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/powerpc/bits/signal.h	2014-03-19 07:42:48.000000000 +0100
-@@ -49,6 +49,12 @@
- 
- #endif
- 
-+struct sigaltstack {
-+	void *ss_sp;
-+	int ss_flags;
-+	size_t ss_size;
-+};
-+
- typedef struct __ucontext {
- 	unsigned long uc_flags;
- 	struct __ucontext *uc_link;
-diff -Nur musl-0.9.15/arch/powerpc/bits/socket.h musl-git/arch/powerpc/bits/socket.h
---- musl-0.9.15/arch/powerpc/bits/socket.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/powerpc/bits/socket.h	2014-03-19 07:42:48.000000000 +0100
-@@ -1,12 +1,12 @@
- struct msghdr
- {
- 	void *msg_name;
--	int msg_namelen;
-+	socklen_t msg_namelen;
- 	struct iovec *msg_iov;
--	unsigned long msg_iovlen;
-+	int msg_iovlen;
- 	void *msg_control;
--	unsigned long  msg_controllen;
--	unsigned msg_flags;
-+	socklen_t msg_controllen;
-+	int msg_flags;
- };
- 
- struct cmsghdr
-diff -Nur musl-0.9.15/arch/powerpc/bits/termios.h musl-git/arch/powerpc/bits/termios.h
---- musl-0.9.15/arch/powerpc/bits/termios.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/powerpc/bits/termios.h	2014-03-19 07:42:48.000000000 +0100
-@@ -66,7 +66,6 @@
- #define TAB1	00002000
- #define TAB2	00004000
- #define TAB3	00006000
--#define XTABS	00006000
- #define CRDLY	00030000
- #define CR0	00000000
- #define CR1	00010000
-@@ -101,7 +100,6 @@
- #define B38400	0000017
- #define EXTA	B19200
- #define EXTB	B38400
--#define CBAUDEX	0000000
- #define B57600	00020
- #define B115200	00021
- #define B230400	00022
-@@ -120,9 +118,6 @@
- #define B4000000	00036
- #define BOTHER	00037
- 
--#define CIBAUD	077600000
--#define IBSHIFT 16
--
- #define CSIZE	00001400
- #define CS5	00000000
- #define CS6	00000400
-@@ -136,8 +131,6 @@
- #define HUPCL	00040000
- 
- #define CLOCAL	00100000
--#define CMSPAR	010000000000
--#define CRTSCTS	020000000000
- 
- #define ISIG	0x00000080
- #define ICANON	0x00000100
-@@ -154,7 +147,6 @@
- #define FLUSHO	0x00800000
- #define PENDIN	0x20000000
- #define IEXTEN	0x00000400
--#define EXTPROC 0x10000000
- 
- #define TCOOFF	0
- #define TCOON	1
-@@ -168,3 +160,13 @@
- #define TCSANOW		0
- #define TCSADRAIN	1
- #define TCSAFLUSH	2
-+
-+#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-+#define CBAUDEX	0000000
-+#define CIBAUD	077600000
-+#define IBSHIFT 16
-+#define CMSPAR	010000000000
-+#define CRTSCTS	020000000000
-+#define EXTPROC 0x10000000
-+#define XTABS	00006000
-+#endif
-diff -Nur musl-0.9.15/arch/sh/atomic.h musl-git/arch/sh/atomic.h
---- musl-0.9.15/arch/sh/atomic.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/atomic.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,87 @@
-+#ifndef _INTERNAL_ATOMIC_H
-+#define _INTERNAL_ATOMIC_H
-+
-+#include <stdint.h>
-+
-+static inline int a_ctz_l(unsigned long x)
-+{
-+	static const char debruijn32[32] = {
-+		0, 1, 23, 2, 29, 24, 19, 3, 30, 27, 25, 11, 20, 8, 4, 13,
-+		31, 22, 28, 18, 26, 10, 7, 12, 21, 17, 9, 6, 16, 5, 15, 14
-+	};
-+	return debruijn32[(x&-x)*0x076be629 >> 27];
-+}
-+
-+static inline int a_ctz_64(uint64_t x)
-+{
-+	uint32_t y = x;
-+	if (!y) {
-+		y = x>>32;
-+		return 32 + a_ctz_l(y);
-+	}
-+	return a_ctz_l(y);
-+}
-+
-+int  __sh_cas(volatile int *, int, int);
-+int  __sh_swap(volatile int *, int);
-+int  __sh_fetch_add(volatile int *, int);
-+void __sh_store(volatile int *, int);
-+void __sh_and(volatile int *, int);
-+void __sh_or(volatile int *, int);
-+
-+#define a_cas(p,t,s)     __sh_cas(p,t,s)
-+#define a_swap(x,v)      __sh_swap(x,v)
-+#define a_fetch_add(x,v) __sh_fetch_add(x, v)
-+#define a_store(x,v)     __sh_store(x, v)
-+#define a_and(x,v)       __sh_and(x, v)
-+#define a_or(x,v)        __sh_or(x, v)
-+
-+static inline void *a_cas_p(volatile void *p, void *t, void *s)
-+{
-+	return (void *)a_cas(p, (int)t, (int)s);
-+}
-+
-+static inline long a_cas_l(volatile void *p, long t, long s)
-+{
-+	return a_cas(p, t, s);
-+}
-+
-+static inline void a_inc(volatile int *x)
-+{
-+	a_fetch_add(x, 1);
-+}
-+
-+static inline void a_dec(volatile int *x)
-+{
-+	a_fetch_add(x, -1);
-+}
-+
-+static inline void a_spin()
-+{
-+}
-+
-+static inline void a_crash()
-+{
-+	*(volatile char *)0=0;
-+}
-+
-+static inline void a_or_l(volatile void *p, long v)
-+{
-+	a_or(p, v);
-+}
-+
-+static inline void a_and_64(volatile uint64_t *p, uint64_t v)
-+{
-+	union { uint64_t v; uint32_t r[2]; } u = { v };
-+	a_and((int *)p,   u.r[0]);
-+	a_and((int *)p+1, u.r[1]);
-+}
-+
-+static inline void a_or_64(volatile uint64_t *p, uint64_t v)
-+{
-+	union { uint64_t v; uint32_t r[2]; } u = { v };
-+	a_or((int *)p,   u.r[0]);
-+	a_or((int *)p+1, u.r[1]);
-+}
-+
-+#endif
-diff -Nur musl-0.9.15/arch/sh/bits/alltypes.h.in musl-git/arch/sh/bits/alltypes.h.in
---- musl-0.9.15/arch/sh/bits/alltypes.h.in	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/bits/alltypes.h.in	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,23 @@
-+#define _Addr int
-+#define _Int64 long long
-+#define _Reg int
-+
-+TYPEDEF __builtin_va_list va_list;
-+TYPEDEF __builtin_va_list __isoc_va_list;
-+
-+#ifndef __cplusplus
-+TYPEDEF long wchar_t;
-+#endif
-+TYPEDEF unsigned wint_t;
-+
-+TYPEDEF float float_t;
-+TYPEDEF double double_t;
-+
-+TYPEDEF long time_t;
-+TYPEDEF long suseconds_t;
-+
-+TYPEDEF struct { union { int __i[9]; unsigned __s[9]; } __u; } pthread_attr_t;
-+TYPEDEF struct { union { int __i[6]; void *__p[6]; } __u; } pthread_mutex_t;
-+TYPEDEF struct { union { int __i[12]; void *__p[12]; } __u; } pthread_cond_t;
-+TYPEDEF struct { union { int __i[8]; void *__p[8]; } __u; } pthread_rwlock_t;
-+TYPEDEF struct { union { int __i[5]; void *__p[5]; } __u; } pthread_barrier_t;
-diff -Nur musl-0.9.15/arch/sh/bits/endian.h musl-git/arch/sh/bits/endian.h
---- musl-0.9.15/arch/sh/bits/endian.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/bits/endian.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,5 @@
-+#if __BIG_ENDIAN__
-+#define __BYTE_ORDER __BIG_ENDIAN
-+#else
-+#define __BYTE_ORDER __LITTLE_ENDIAN
-+#endif
-diff -Nur musl-0.9.15/arch/sh/bits/errno.h musl-git/arch/sh/bits/errno.h
---- musl-0.9.15/arch/sh/bits/errno.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/bits/errno.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,134 @@
-+#define EPERM            1
-+#define ENOENT           2
-+#define ESRCH            3
-+#define EINTR            4
-+#define EIO              5
-+#define ENXIO            6
-+#define E2BIG            7
-+#define ENOEXEC          8
-+#define EBADF            9
-+#define ECHILD          10
-+#define EAGAIN          11
-+#define ENOMEM          12
-+#define EACCES          13
-+#define EFAULT          14
-+#define ENOTBLK         15
-+#define EBUSY           16
-+#define EEXIST          17
-+#define EXDEV           18
-+#define ENODEV          19
-+#define ENOTDIR         20
-+#define EISDIR          21
-+#define EINVAL          22
-+#define ENFILE          23
-+#define EMFILE          24
-+#define ENOTTY          25
-+#define ETXTBSY         26
-+#define EFBIG           27
-+#define ENOSPC          28
-+#define ESPIPE          29
-+#define EROFS           30
-+#define EMLINK          31
-+#define EPIPE           32
-+#define EDOM            33
-+#define ERANGE          34
-+#define EDEADLK         35
-+#define ENAMETOOLONG    36
-+#define ENOLCK          37
-+#define ENOSYS          38
-+#define ENOTEMPTY       39
-+#define ELOOP           40
-+#define EWOULDBLOCK     EAGAIN
-+#define ENOMSG          42
-+#define EIDRM           43
-+#define ECHRNG          44
-+#define EL2NSYNC        45
-+#define EL3HLT          46
-+#define EL3RST          47
-+#define ELNRNG          48
-+#define EUNATCH         49
-+#define ENOCSI          50
-+#define EL2HLT          51
-+#define EBADE           52
-+#define EBADR           53
-+#define EXFULL          54
-+#define ENOANO          55
-+#define EBADRQC         56
-+#define EBADSLT         57
-+#define EDEADLOCK       EDEADLK
-+#define EBFONT          59
-+#define ENOSTR          60
-+#define ENODATA         61
-+#define ETIME           62
-+#define ENOSR           63
-+#define ENONET          64
-+#define ENOPKG          65
-+#define EREMOTE         66
-+#define ENOLINK         67
-+#define EADV            68
-+#define ESRMNT          69
-+#define ECOMM           70
-+#define EPROTO          71
-+#define EMULTIHOP       72
-+#define EDOTDOT         73
-+#define EBADMSG         74
-+#define EOVERFLOW       75
-+#define ENOTUNIQ        76
-+#define EBADFD          77
-+#define EREMCHG         78
-+#define ELIBACC         79
-+#define ELIBBAD         80
-+#define ELIBSCN         81
-+#define ELIBMAX         82
-+#define ELIBEXEC        83
-+#define EILSEQ          84
-+#define ERESTART        85
-+#define ESTRPIPE        86
-+#define EUSERS          87
-+#define ENOTSOCK        88
-+#define EDESTADDRREQ    89
-+#define EMSGSIZE        90
-+#define EPROTOTYPE      91
-+#define ENOPROTOOPT     92
-+#define EPROTONOSUPPORT 93
-+#define ESOCKTNOSUPPORT 94
-+#define EOPNOTSUPP      95
-+#define ENOTSUP         EOPNOTSUPP
-+#define EPFNOSUPPORT    96
-+#define EAFNOSUPPORT    97
-+#define EADDRINUSE      98
-+#define EADDRNOTAVAIL   99
-+#define ENETDOWN        100
-+#define ENETUNREACH     101
-+#define ENETRESET       102
-+#define ECONNABORTED    103
-+#define ECONNRESET      104
-+#define ENOBUFS         105
-+#define EISCONN         106
-+#define ENOTCONN        107
-+#define ESHUTDOWN       108
-+#define ETOOMANYREFS    109
-+#define ETIMEDOUT       110
-+#define ECONNREFUSED    111
-+#define EHOSTDOWN       112
-+#define EHOSTUNREACH    113
-+#define EALREADY        114
-+#define EINPROGRESS     115
-+#define ESTALE          116
-+#define EUCLEAN         117
-+#define ENOTNAM         118
-+#define ENAVAIL         119
-+#define EISNAM          120
-+#define EREMOTEIO       121
-+#define EDQUOT          122
-+#define ENOMEDIUM       123
-+#define EMEDIUMTYPE     124
-+#define ECANCELED       125
-+#define ENOKEY          126
-+#define EKEYEXPIRED     127
-+#define EKEYREVOKED     128
-+#define EKEYREJECTED    129
-+#define EOWNERDEAD      130
-+#define ENOTRECOVERABLE 131
-+#define ERFKILL         132
-+#define EHWPOISON       133
-diff -Nur musl-0.9.15/arch/sh/bits/fcntl.h musl-git/arch/sh/bits/fcntl.h
---- musl-0.9.15/arch/sh/bits/fcntl.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/bits/fcntl.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,39 @@
-+#define O_CREAT        0100
-+#define O_EXCL         0200
-+#define O_NOCTTY       0400
-+#define O_TRUNC       01000
-+#define O_APPEND      02000
-+#define O_NONBLOCK    04000
-+#define O_DSYNC      010000
-+#define O_SYNC     04010000
-+#define O_RSYNC    04010000
-+#define O_DIRECTORY 0200000
-+#define O_NOFOLLOW  0400000
-+#define O_CLOEXEC  02000000
-+
-+#define O_ASYNC      020000
-+#define O_DIRECT     040000
-+#define O_LARGEFILE 0100000
-+#define O_NOATIME  01000000
-+#define O_TMPFILE 020200000
-+#define O_NDELAY O_NONBLOCK
-+
-+#define F_DUPFD  0
-+#define F_GETFD  1
-+#define F_SETFD  2
-+#define F_GETFL  3
-+#define F_SETFL  4
-+
-+#define F_SETOWN 8
-+#define F_GETOWN 9
-+#define F_SETSIG 10
-+#define F_GETSIG 11
-+
-+#define F_GETLK 12
-+#define F_SETLK 13
-+#define F_SETLKW 14
-+
-+#define F_SETOWN_EX 15
-+#define F_GETOWN_EX 16
-+
-+#define F_GETOWNER_UIDS 17
-diff -Nur musl-0.9.15/arch/sh/bits/fenv.h musl-git/arch/sh/bits/fenv.h
---- musl-0.9.15/arch/sh/bits/fenv.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/bits/fenv.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,26 @@
-+#ifndef __SH_FPU_ANY__
-+
-+#define FE_ALL_EXCEPT 0
-+#define FE_TONEAREST  0
-+
-+#else
-+
-+#define FE_TONEAREST  0
-+#define FE_TOWARDZERO 1
-+
-+#define FE_INEXACT    0x04
-+#define FE_UNDERFLOW  0x08
-+#define FE_OVERFLOW   0x10
-+#define FE_DIVBYZERO  0x20
-+#define FE_INVALID    0x40
-+#define FE_ALL_EXCEPT 0x7c
-+
-+#endif
-+
-+typedef unsigned long fexcept_t;
-+
-+typedef struct {
-+	unsigned long __cw;
-+} fenv_t;
-+
-+#define FE_DFL_ENV    ((const fenv_t *) -1)
-diff -Nur musl-0.9.15/arch/sh/bits/float.h musl-git/arch/sh/bits/float.h
---- musl-0.9.15/arch/sh/bits/float.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/bits/float.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,17 @@
-+#define FLT_ROUNDS 1
-+#define FLT_EVAL_METHOD 0
-+
-+#define LDBL_TRUE_MIN 4.94065645841246544177e-324L
-+#define LDBL_MIN 2.22507385850720138309e-308L
-+#define LDBL_MAX 1.79769313486231570815e+308L
-+#define LDBL_EPSILON 2.22044604925031308085e-16L
-+
-+#define LDBL_MANT_DIG 53
-+#define LDBL_MIN_EXP (-1021)
-+#define LDBL_MAX_EXP 1024
-+
-+#define LDBL_DIG 15
-+#define LDBL_MIN_10_EXP (-307)
-+#define LDBL_MAX_10_EXP 308
-+
-+#define DECIMAL_DIG 17
-diff -Nur musl-0.9.15/arch/sh/bits/ioctl.h musl-git/arch/sh/bits/ioctl.h
---- musl-0.9.15/arch/sh/bits/ioctl.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/bits/ioctl.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,205 @@
-+#define _IOC(a,b,c,d) ( ((a)<<30) | ((b)<<8) | (c) | ((d)<<16) )
-+#define _IOC_NONE  0U
-+#define _IOC_WRITE 1U
-+#define _IOC_READ  2U
-+
-+#define _IO(a,b) _IOC(_IOC_NONE,(a),(b),0)
-+#define _IOW(a,b,c) _IOC(_IOC_WRITE,(a),(b),sizeof(c))
-+#define _IOR(a,b,c) _IOC(_IOC_READ,(a),(b),sizeof(c))
-+#define _IOWR(a,b,c) _IOC(_IOC_READ|_IOC_WRITE,(a),(b),sizeof(c))
-+
-+#define FIOCLEX             _IO('f',  1)
-+#define FIONCLEX            _IO('f',  2)
-+#define FIOASYNC            _IOW('f', 125, int)
-+#define FIONBIO             _IOW('f', 126, int)
-+#define FIONREAD            _IOR('f', 127, int)
-+#define TIOCINQ             FIONREAD
-+#define FIOQSIZE            _IOR('f', 128, char[8])
-+
-+#define TCGETA              _IOR('t', 23, char[18])
-+#define TCSETA              _IOW('t', 24, char[18])
-+#define TCSETAW             _IOW('t', 25, char[18])
-+#define TCSETAF             _IOW('t', 28, char[18])
-+
-+#define TCSBRK              _IO('t', 29)
-+#define TCXONC              _IO('t', 30)
-+#define TCFLSH              _IO('t', 31)
-+
-+#define TIOCSWINSZ          _IOW('t', 103, char[8])
-+#define TIOCGWINSZ          _IOR('t', 104, char[8])
-+#define TIOCSTART           _IO('t',  110)
-+#define TIOCSTOP            _IO('t',  111)
-+#define TIOCOUTQ            _IOR('t', 115, int)
-+
-+#define TIOCSPGRP           _IOW('t', 118, int)
-+#define TIOCGPGRP           _IOR('t', 119, int)
-+
-+#define TIOCEXCL            _IO('T', 12)
-+#define TIOCNXCL            _IO('T', 13)
-+#define TIOCSCTTY           _IO('T', 14)
-+
-+#define TIOCSTI             _IOW('T', 18, char)
-+#define TIOCMGET            _IOR('T', 21, unsigned int)
-+#define TIOCMBIS            _IOW('T', 22, unsigned int)
-+#define TIOCMBIC            _IOW('T', 23, unsigned int)
-+#define TIOCMSET            _IOW('T', 24, unsigned int)
-+#define TIOCM_LE            0x001
-+#define TIOCM_DTR           0x002
-+#define TIOCM_RTS           0x004
-+#define TIOCM_ST            0x008
-+#define TIOCM_SR            0x010
-+#define TIOCM_CTS           0x020
-+#define TIOCM_CAR           0x040
-+#define TIOCM_RNG           0x080
-+#define TIOCM_DSR           0x100
-+#define TIOCM_CD            TIOCM_CAR
-+#define TIOCM_RI            TIOCM_RNG
-+#define TIOCM_OUT1          0x2000
-+#define TIOCM_OUT2          0x4000
-+#define TIOCM_LOOP          0x8000
-+
-+#define TIOCGSOFTCAR        _IOR('T', 25, unsigned int)
-+#define TIOCSSOFTCAR        _IOW('T', 26, unsigned int)
-+#define TIOCLINUX           _IOW('T', 28, char)
-+#define TIOCCONS            _IO('T',  29)
-+#define TIOCGSERIAL         _IOR('T', 30, char[60])
-+#define TIOCSSERIAL         _IOW('T', 31, char[60])
-+#define TIOCPKT             _IOW('T', 32, int)
-+#define TIOCPKT_DATA        0
-+#define TIOCPKT_FLUSHREAD   1
-+#define TIOCPKT_FLUSHWRITE  2
-+#define TIOCPKT_STOP        4
-+#define TIOCPKT_START       8
-+#define TIOCPKT_NOSTOP      16
-+#define TIOCPKT_DOSTOP      32
-+#define TIOCPKT_IOCTL       64
-+
-+#define TIOCNOTTY           _IO('T',  34)
-+#define TIOCSETD            _IOW('T', 35, int)
-+#define TIOCGETD            _IOR('T', 36, int)
-+#define TCSBRKP             _IOW('T', 37, int)
-+#define TIOCSBRK            _IO('T',  39)
-+#define TIOCCBRK            _IO('T',  40)
-+#define TIOCGSID            _IOR('T', 41, int)
-+#define TCGETS              _IOR('T', 42, char[44])
-+#define TCSETS              _IOW('T', 43, char[44])
-+#define TCSETSW             _IOW('T', 44, char[44])
-+#define TCSETSF             _IOW('T', 45, char[44])
-+#define TIOCGPTN            _IOR('T', 48, unsigned int)
-+#define TIOCSPTLCK          _IOW('T', 49, int)
-+#define TIOCGDEV            _IOR('T', 50, unsigned int)
-+#define TIOCSIG             _IOW('T', 54, int)
-+#define TIOCVHANGUP         _IO('T',  55)
-+#define TIOCGPKT            _IOR('T', 56, int)
-+#define TIOCGPTLCK          _IOR('T', 57, int)
-+#define TIOCGEXCL           _IOR('T', 64, int)
-+
-+#define TIOCSERCONFIG       _IO('T',  83)
-+#define TIOCSERGWILD        _IOR('T', 84, int)
-+#define TIOCSERSWILD        _IOW('T', 85, int)
-+#define TIOCGLCKTRMIOS      _IO('T',  86)
-+#define TIOCSLCKTRMIOS      _IO('T',  87)
-+#define TIOCSERGSTRUCT      _IOR('T', 88, char[216])
-+#define TIOCSERGETLSR       _IOR('T', 89, unsigned int)
-+#define TIOCSER_TEMT        0x01
-+#define TIOCSERGETMULTI     _IOR('T', 90, char[168])
-+#define TIOCSERSETMULTI     _IOW('T', 91, char[168])
-+
-+#define TIOCMIWAIT          _IO('T', 92)
-+#define TIOCGICOUNT         _IO('T', 93)
-+
-+struct winsize {
-+    unsigned short ws_row;
-+    unsigned short ws_col;
-+    unsigned short ws_xpixel;
-+    unsigned short ws_ypixel;
-+};
-+
-+#define TIOCM_MODEM_BITS TIOCM_OUT2
-+
-+#define N_TTY           0
-+#define N_SLIP          1
-+#define N_MOUSE         2
-+#define N_PPP           3
-+#define N_STRIP         4
-+#define N_AX25          5
-+#define N_X25           6
-+#define N_6PACK         7
-+#define N_MASC          8
-+#define N_R3964         9
-+#define N_PROFIBUS_FDL  10
-+#define N_IRDA          11
-+#define N_SMSBLOCK      12
-+#define N_HDLC          13
-+#define N_SYNC_PPP      14
-+#define N_HCI           15
-+
-+#define FIOGETOWN       _IOR('f', 123, int)
-+#define FIOSETOWN       _IOW('f', 124, int)
-+
-+#define SIOCATMARK      _IOR('s', 7, int)
-+#define SIOCSPGRP       _IOW('s', 8, int)
-+#define SIOCGPGRP       _IOW('s', 9, int)
-+#define SIOCGSTAMP      _IOR('s', 100, char[8])
-+
-+#define SIOCADDRT       0x890B
-+#define SIOCDELRT       0x890C
-+#define SIOCRTMSG       0x890D
-+
-+#define SIOCGIFNAME     0x8910
-+#define SIOCSIFLINK     0x8911
-+#define SIOCGIFCONF     0x8912
-+#define SIOCGIFFLAGS    0x8913
-+#define SIOCSIFFLAGS    0x8914
-+#define SIOCGIFADDR     0x8915
-+#define SIOCSIFADDR     0x8916
-+#define SIOCGIFDSTADDR  0x8917
-+#define SIOCSIFDSTADDR  0x8918
-+#define SIOCGIFBRDADDR  0x8919
-+#define SIOCSIFBRDADDR  0x891a
-+#define SIOCGIFNETMASK  0x891b
-+#define SIOCSIFNETMASK  0x891c
-+#define SIOCGIFMETRIC   0x891d
-+#define SIOCSIFMETRIC   0x891e
-+#define SIOCGIFMEM      0x891f
-+#define SIOCSIFMEM      0x8920
-+#define SIOCGIFMTU      0x8921
-+#define SIOCSIFMTU      0x8922
-+#define SIOCSIFHWADDR   0x8924
-+#define SIOCGIFENCAP    0x8925
-+#define SIOCSIFENCAP    0x8926
-+#define SIOCGIFHWADDR   0x8927
-+#define SIOCGIFSLAVE    0x8929
-+#define SIOCSIFSLAVE    0x8930
-+#define SIOCADDMULTI    0x8931
-+#define SIOCDELMULTI    0x8932
-+#define SIOCGIFINDEX    0x8933
-+#define SIOGIFINDEX     SIOCGIFINDEX
-+#define SIOCSIFPFLAGS   0x8934
-+#define SIOCGIFPFLAGS   0x8935
-+#define SIOCDIFADDR     0x8936
-+#define SIOCSIFHWBROADCAST 0x8937
-+#define SIOCGIFCOUNT    0x8938
-+
-+#define SIOCGIFBR       0x8940
-+#define SIOCSIFBR       0x8941
-+
-+#define SIOCGIFTXQLEN   0x8942
-+#define SIOCSIFTXQLEN   0x8943
-+
-+#define SIOCDARP        0x8953
-+#define SIOCGARP        0x8954
-+#define SIOCSARP        0x8955
-+
-+#define SIOCDRARP       0x8960
-+#define SIOCGRARP       0x8961
-+#define SIOCSRARP       0x8962
-+
-+#define SIOCGIFMAP      0x8970
-+#define SIOCSIFMAP      0x8971
-+
-+#define SIOCADDDLCI     0x8980
-+#define SIOCDELDLCI     0x8981
-+
-+#define SIOCDEVPRIVATE      0x89F0
-+#define SIOCPROTOPRIVATE    0x89E0
-diff -Nur musl-0.9.15/arch/sh/bits/ipc.h musl-git/arch/sh/bits/ipc.h
---- musl-0.9.15/arch/sh/bits/ipc.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/bits/ipc.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,14 @@
-+struct ipc_perm
-+{
-+	key_t __ipc_perm_key;
-+	uid_t uid;
-+	gid_t gid;
-+	uid_t cuid;
-+	gid_t cgid;
-+	mode_t mode;
-+	int __ipc_perm_seq;
-+	long __pad1;
-+	long __pad2;
-+};
-+
-+#define IPC_64 0x100
-diff -Nur musl-0.9.15/arch/sh/bits/limits.h musl-git/arch/sh/bits/limits.h
---- musl-0.9.15/arch/sh/bits/limits.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/bits/limits.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,8 @@
-+#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
-+ || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-+#define PAGE_SIZE 4096
-+#define LONG_BIT 32
-+#endif
-+
-+#define LONG_MAX  0x7fffffffL
-+#define LLONG_MAX  0x7fffffffffffffffLL
-diff -Nur musl-0.9.15/arch/sh/bits/mman.h musl-git/arch/sh/bits/mman.h
---- musl-0.9.15/arch/sh/bits/mman.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/bits/mman.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,62 @@
-+#define MAP_FAILED ((void *) -1)
-+
-+#define	PROT_NONE      0
-+#define	PROT_READ      1
-+#define	PROT_WRITE     2
-+#define	PROT_EXEC      4
-+#define	PROT_GROWSDOWN 0x01000000
-+#define	PROT_GROWSUP   0x02000000
-+
-+#define	MAP_SHARED     0x01
-+#define	MAP_PRIVATE    0x02
-+#define	MAP_FIXED      0x10
-+
-+#define MAP_TYPE       0x0f
-+#define MAP_FILE       0x00
-+#define MAP_ANON       0x20
-+#define MAP_ANONYMOUS  MAP_ANON
-+#define MAP_32BIT      0x40
-+#define MAP_NORESERVE  0x4000
-+#define MAP_GROWSDOWN  0x0100
-+#define MAP_DENYWRITE  0x0800
-+#define MAP_EXECUTABLE 0x1000
-+#define MAP_LOCKED     0x2000
-+#define MAP_POPULATE   0x8000
-+#define MAP_NONBLOCK   0x10000
-+#define MAP_STACK      0x20000
-+#define MAP_HUGETLB    0x40000
-+
-+#define POSIX_MADV_NORMAL       0
-+#define POSIX_MADV_RANDOM       1
-+#define POSIX_MADV_SEQUENTIAL   2
-+#define POSIX_MADV_WILLNEED     3
-+#define POSIX_MADV_DONTNEED     4
-+
-+#define MS_ASYNC        1
-+#define MS_INVALIDATE   2
-+#define MS_SYNC         4
-+
-+#define MCL_CURRENT     1
-+#define MCL_FUTURE      2
-+
-+#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-+#define MADV_NORMAL      0
-+#define MADV_RANDOM      1
-+#define MADV_SEQUENTIAL  2
-+#define MADV_WILLNEED    3
-+#define MADV_DONTNEED    4
-+#define MADV_REMOVE      9
-+#define MADV_DONTFORK    10
-+#define MADV_DOFORK      11
-+#define MADV_MERGEABLE   12
-+#define MADV_UNMERGEABLE 13
-+#define MADV_HUGEPAGE    14
-+#define MADV_NOHUGEPAGE  15
-+#define MADV_DONTDUMP    16
-+#define MADV_DODUMP      17
-+#define MADV_HWPOISON    100
-+#define MADV_SOFT_OFFLINE 101
-+
-+#define MREMAP_MAYMOVE  1
-+#define MREMAP_FIXED    2
-+#endif
-diff -Nur musl-0.9.15/arch/sh/bits/msg.h musl-git/arch/sh/bits/msg.h
---- musl-0.9.15/arch/sh/bits/msg.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/bits/msg.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,16 @@
-+struct msqid_ds
-+{
-+	struct ipc_perm msg_perm;
-+	time_t msg_stime;
-+	int __unused1;
-+	time_t msg_rtime;
-+	int __unused2;
-+	time_t msg_ctime;
-+	int __unused3;
-+	unsigned long msg_cbytes;
-+	msgqnum_t msg_qnum;
-+	msglen_t msg_qbytes;
-+	pid_t msg_lspid;
-+	pid_t msg_lrpid;
-+	unsigned long __unused[2];
-+};
-diff -Nur musl-0.9.15/arch/sh/bits/posix.h musl-git/arch/sh/bits/posix.h
---- musl-0.9.15/arch/sh/bits/posix.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/bits/posix.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,2 @@
-+#define _POSIX_V6_ILP32_OFFBIG  1
-+#define _POSIX_V7_ILP32_OFFBIG  1
-diff -Nur musl-0.9.15/arch/sh/bits/sem.h musl-git/arch/sh/bits/sem.h
---- musl-0.9.15/arch/sh/bits/sem.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/bits/sem.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,16 @@
-+struct semid_ds {
-+	struct ipc_perm sem_perm;
-+	time_t sem_otime;
-+	time_t __unused1;
-+	time_t sem_ctime;
-+	time_t __unused2;
-+#if __BYTE_ORDER == __LITTLE_ENDIAN
-+	unsigned short sem_nsems;
-+	char __sem_nsems_pad[sizeof(time_t)-sizeof(short)];
-+#else
-+	char __sem_nsems_pad[sizeof(time_t)-sizeof(short)];
-+	unsigned short sem_nsems;
-+#endif
-+	time_t __unused3;
-+	time_t __unused4;
-+};
-diff -Nur musl-0.9.15/arch/sh/bits/setjmp.h musl-git/arch/sh/bits/setjmp.h
---- musl-0.9.15/arch/sh/bits/setjmp.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/bits/setjmp.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1 @@
-+typedef unsigned long __jmp_buf[13];
-diff -Nur musl-0.9.15/arch/sh/bits/shm.h musl-git/arch/sh/bits/shm.h
---- musl-0.9.15/arch/sh/bits/shm.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/bits/shm.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,28 @@
-+#define SHMLBA 16384
-+
-+struct shmid_ds
-+{
-+	struct ipc_perm shm_perm;
-+	size_t shm_segsz;
-+	time_t shm_atime;
-+	int __unused1;
-+	time_t shm_dtime;
-+	int __unused2;
-+	time_t shm_ctime;
-+	int __unused3;
-+	pid_t shm_cpid;
-+	pid_t shm_lpid;
-+	unsigned long shm_nattch;
-+	unsigned long __pad1;
-+	unsigned long __pad2;
-+};
-+
-+struct shminfo {
-+	unsigned long shmmax, shmmin, shmmni, shmseg, shmall, __unused[4];
-+};
-+
-+struct shm_info {
-+	int __used_ids;
-+	unsigned long shm_tot, shm_rss, shm_swp;
-+	unsigned long __swap_attempts, __swap_successes;
-+};
-diff -Nur musl-0.9.15/arch/sh/bits/signal.h musl-git/arch/sh/bits/signal.h
---- musl-0.9.15/arch/sh/bits/signal.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/bits/signal.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,82 @@
-+#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
-+ || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-+
-+#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-+typedef int greg_t, gregset_t[16];
-+typedef int freg_t, fpregset_t[16];
-+typedef struct sigcontext {
-+	unsigned long oldmask;
-+	unsigned long sc_regs[16];
-+	unsigned long sc_pc, sc_pr, sc_sr;
-+	unsigned long sc_gbr, sc_mach, sc_macl;
-+	unsigned long sc_fpregs[16];
-+	unsigned long sc_xfpregs[16];
-+	unsigned int sc_fpscr, sc_fpul, sc_ownedfp;
-+} mcontext_t;
-+#else
-+typedef struct {
-+	unsigned long __regs[58];
-+} mcontext_t;
-+#endif
-+
-+struct sigaltstack {
-+	void *ss_sp;
-+	int ss_flags;
-+	size_t ss_size;
-+};
-+
-+typedef struct __ucontext {
-+	unsigned long uc_flags;
-+	struct __ucontext *uc_link;
-+	stack_t uc_stack;
-+	mcontext_t uc_mcontext;
-+	sigset_t uc_sigmask;
-+} ucontext_t;
-+
-+#define SA_NOCLDSTOP  1
-+#define SA_NOCLDWAIT  2
-+#define SA_SIGINFO    4
-+#define SA_ONSTACK    0x08000000
-+#define SA_RESTART    0x10000000
-+#define SA_NODEFER    0x40000000
-+#define SA_RESETHAND  0x80000000
-+#define SA_RESTORER   0x04000000
-+
-+#endif
-+
-+#define SIGHUP    1
-+#define SIGINT    2
-+#define SIGQUIT   3
-+#define SIGILL    4
-+#define SIGTRAP   5
-+#define SIGABRT   6
-+#define SIGIOT    SIGABRT
-+#define SIGBUS    7
-+#define SIGFPE    8
-+#define SIGKILL   9
-+#define SIGUSR1   10
-+#define SIGSEGV   11
-+#define SIGUSR2   12
-+#define SIGPIPE   13
-+#define SIGALRM   14
-+#define SIGTERM   15
-+#define SIGSTKFLT 16
-+#define SIGCHLD   17
-+#define SIGCONT   18
-+#define SIGSTOP   19
-+#define SIGTSTP   20
-+#define SIGTTIN   21
-+#define SIGTTOU   22
-+#define SIGURG    23
-+#define SIGXCPU   24
-+#define SIGXFSZ   25
-+#define SIGVTALRM 26
-+#define SIGPROF   27
-+#define SIGWINCH  28
-+#define SIGIO     29
-+#define SIGPOLL   29
-+#define SIGPWR    30
-+#define SIGSYS    31
-+#define SIGUNUSED SIGSYS
-+
-+#define _NSIG 65
-diff -Nur musl-0.9.15/arch/sh/bits/socket.h musl-git/arch/sh/bits/socket.h
---- musl-0.9.15/arch/sh/bits/socket.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/bits/socket.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,17 @@
-+struct msghdr
-+{
-+	void *msg_name;
-+	socklen_t msg_namelen;
-+	struct iovec *msg_iov;
-+	int msg_iovlen;
-+	void *msg_control;
-+	socklen_t msg_controllen;
-+	int msg_flags;
-+};
-+
-+struct cmsghdr
-+{
-+	socklen_t cmsg_len;
-+	int cmsg_level;
-+	int cmsg_type;
-+};
-diff -Nur musl-0.9.15/arch/sh/bits/statfs.h musl-git/arch/sh/bits/statfs.h
---- musl-0.9.15/arch/sh/bits/statfs.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/bits/statfs.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,7 @@
-+struct statfs {
-+	unsigned long f_type, f_bsize;
-+	fsblkcnt_t f_blocks, f_bfree, f_bavail;
-+	fsfilcnt_t f_files, f_ffree;
-+	fsid_t f_fsid;
-+	unsigned long f_namelen, f_frsize, f_flags, f_spare[4];
-+};
-diff -Nur musl-0.9.15/arch/sh/bits/stat.h musl-git/arch/sh/bits/stat.h
---- musl-0.9.15/arch/sh/bits/stat.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/bits/stat.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,22 @@
-+/* copied from kernel definition, but with padding replaced
-+ * by the corresponding correctly-sized userspace types. */
-+
-+struct stat
-+{
-+	dev_t st_dev;
-+	int __st_dev_padding;
-+	long __st_ino_truncated;
-+	mode_t st_mode;
-+	nlink_t st_nlink;
-+	uid_t st_uid;
-+	gid_t st_gid;
-+	dev_t st_rdev;
-+	int __st_rdev_padding;
-+	off_t st_size;
-+	blksize_t st_blksize;
-+	blkcnt_t st_blocks;
-+	struct timespec st_atim;
-+	struct timespec st_mtim;
-+	struct timespec st_ctim;
-+	ino_t st_ino;
-+};
-diff -Nur musl-0.9.15/arch/sh/bits/stdarg.h musl-git/arch/sh/bits/stdarg.h
---- musl-0.9.15/arch/sh/bits/stdarg.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/bits/stdarg.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,4 @@
-+#define va_start(v,l)   __builtin_va_start(v,l)
-+#define va_end(v)       __builtin_va_end(v)
-+#define va_arg(v,l)     __builtin_va_arg(v,l)
-+#define va_copy(d,s)    __builtin_va_copy(d,s)
-diff -Nur musl-0.9.15/arch/sh/bits/stdint.h musl-git/arch/sh/bits/stdint.h
---- musl-0.9.15/arch/sh/bits/stdint.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/bits/stdint.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,20 @@
-+typedef int32_t int_fast16_t;
-+typedef int32_t int_fast32_t;
-+typedef uint32_t uint_fast16_t;
-+typedef uint32_t uint_fast32_t;
-+
-+#define INT_FAST16_MIN  INT32_MIN
-+#define INT_FAST32_MIN  INT32_MIN
-+
-+#define INT_FAST16_MAX  INT32_MAX
-+#define INT_FAST32_MAX  INT32_MAX
-+
-+#define UINT_FAST16_MAX UINT32_MAX
-+#define UINT_FAST32_MAX UINT32_MAX
-+
-+#define INTPTR_MIN      INT32_MIN
-+#define INTPTR_MAX      INT32_MAX
-+#define UINTPTR_MAX     UINT32_MAX
-+#define PTRDIFF_MIN     INT32_MIN
-+#define PTRDIFF_MAX     INT32_MAX
-+#define SIZE_MAX        UINT32_MAX
-diff -Nur musl-0.9.15/arch/sh/bits/syscall.h musl-git/arch/sh/bits/syscall.h
---- musl-0.9.15/arch/sh/bits/syscall.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/bits/syscall.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,684 @@
-+#define __NR_restart_syscall        0
-+#define __NR_exit                   1
-+#define __NR_fork                   2
-+#define __NR_read                   3
-+#define __NR_write                  4
-+#define __NR_open                   5
-+#define __NR_close                  6
-+#define __NR_waitpid                7
-+#define __NR_creat                  8
-+#define __NR_link                   9
-+#define __NR_unlink                 10
-+#define __NR_execve                 11
-+#define __NR_chdir                  12
-+#define __NR_time                   13
-+#define __NR_mknod                  14
-+#define __NR_chmod                  15
-+#define __NR_lchown                 16
-+#define __NR_oldstat                18
-+#define __NR_lseek                  19
-+#define __NR_getpid                 20
-+#define __NR_mount                  21
-+#define __NR_umount                 22
-+#define __NR_setuid                 23
-+#define __NR_getuid                 24
-+#define __NR_stime                  25
-+#define __NR_ptrace                 26
-+#define __NR_alarm                  27
-+#define __NR_oldfstat               28
-+#define __NR_pause                  29
-+#define __NR_utime                  30
-+#define __NR_access                 33
-+#define __NR_nice                   34
-+#define __NR_sync                   36
-+#define __NR_kill                   37
-+#define __NR_rename                 38
-+#define __NR_mkdir                  39
-+#define __NR_rmdir                  40
-+#define __NR_dup                    41
-+#define __NR_pipe                   42
-+#define __NR_times                  43
-+#define __NR_brk                    45
-+#define __NR_setgid                 46
-+#define __NR_getgid                 47
-+#define __NR_signal                 48
-+#define __NR_geteuid                49
-+#define __NR_getegid                50
-+#define __NR_acct                   51
-+#define __NR_umount2                52
-+#define __NR_ioctl                  54
-+#define __NR_fcntl                  55
-+#define __NR_setpgid                57
-+#define __NR_umask                  60
-+#define __NR_chroot                 61
-+#define __NR_ustat                  62
-+#define __NR_dup2                   63
-+#define __NR_getppid                64
-+#define __NR_getpgrp                65
-+#define __NR_setsid                 66
-+#define __NR_sigaction              67
-+#define __NR_sgetmask               68
-+#define __NR_ssetmask               69
-+#define __NR_setreuid               70
-+#define __NR_setregid               71
-+#define __NR_sigsuspend             72
-+#define __NR_sigpending             73
-+#define __NR_sethostname            74
-+#define __NR_setrlimit              75
-+#define __NR_getrlimit              76
-+#define __NR_getrusage              77
-+#define __NR_gettimeofday           78
-+#define __NR_settimeofday           79
-+#define __NR_getgroups              80
-+#define __NR_setgroups              81
-+#define __NR_symlink                83
-+#define __NR_oldlstat               84
-+#define __NR_readlink               85
-+#define __NR_uselib                 86
-+#define __NR_swapon                 87
-+#define __NR_reboot                 88
-+#define __NR_readdir                89
-+#define __NR_mmap                   90
-+#define __NR_munmap                 91
-+#define __NR_truncate               92
-+#define __NR_ftruncate              93
-+#define __NR_fchmod                 94
-+#define __NR_fchown                 95
-+#define __NR_getpriority            96
-+#define __NR_setpriority            97
-+#define __NR_statfs                 99
-+#define __NR_fstatfs                100
-+#define __NR_socketcall             102
-+#define __NR_syslog                 103
-+#define __NR_setitimer              104
-+#define __NR_getitimer              105
-+#define __NR_stat                   106
-+#define __NR_lstat                  107
-+#define __NR_fstat                  108
-+#define __NR_olduname               109
-+#define __NR_vhangup                111
-+#define __NR_wait4                  114
-+#define __NR_swapoff                115
-+#define __NR_sysinfo                116
-+#define __NR_ipc                    117
-+#define __NR_fsync                  118
-+#define __NR_sigreturn              119
-+#define __NR_clone                  120
-+#define __NR_setdomainname          121
-+#define __NR_uname                  122
-+#define __NR_cacheflush             123
-+#define __NR_adjtimex               124
-+#define __NR_mprotect               125
-+#define __NR_sigprocmask            126
-+#define __NR_init_module            128
-+#define __NR_delete_module          129
-+#define __NR_quotactl               131
-+#define __NR_getpgid                132
-+#define __NR_fchdir                 133
-+#define __NR_bdflush                134
-+#define __NR_sysfs                  135
-+#define __NR_personality            136
-+#define __NR_setfsuid               138
-+#define __NR_setfsgid               139
-+#define __NR__llseek                140
-+#define __NR_getdents               141
-+#define __NR__newselect             142
-+#define __NR_flock                  143
-+#define __NR_msync                  144
-+#define __NR_readv                  145
-+#define __NR_writev                 146
-+#define __NR_getsid                 147
-+#define __NR_fdatasync              148
-+#define __NR__sysctl                149
-+#define __NR_mlock                  150
-+#define __NR_munlock                151
-+#define __NR_mlockall               152
-+#define __NR_munlockall             153
-+#define __NR_sched_setparam         154
-+#define __NR_sched_getparam         155
-+#define __NR_sched_setscheduler     156
-+#define __NR_sched_getscheduler     157
-+#define __NR_sched_yield            158
-+#define __NR_sched_get_priority_max 159
-+#define __NR_sched_get_priority_min 160
-+#define __NR_sched_rr_get_interval  161
-+#define __NR_nanosleep              162
-+#define __NR_mremap                 163
-+#define __NR_setresuid              164
-+#define __NR_getresuid              165
-+#define __NR_poll                   168
-+#define __NR_nfsservctl             169
-+#define __NR_setresgid              170
-+#define __NR_getresgid              171
-+#define __NR_prctl                  172
-+#define __NR_rt_sigreturn           173
-+#define __NR_rt_sigaction           174
-+#define __NR_rt_sigprocmask         175
-+#define __NR_rt_sigpending          176
-+#define __NR_rt_sigtimedwait        177
-+#define __NR_rt_sigqueueinfo        178
-+#define __NR_rt_sigsuspend          179
-+#define __NR_pread64                180
-+#define __NR_pwrite64               181
-+#define __NR_chown                  182
-+#define __NR_getcwd                 183
-+#define __NR_capget                 184
-+#define __NR_capset                 185
-+#define __NR_sigaltstack            186
-+#define __NR_sendfile               187
-+#define __NR_vfork                  190
-+#define __NR_ugetrlimit             191
-+#define __NR_mmap2                  192
-+#define __NR_truncate64             193
-+#define __NR_ftruncate64            194
-+#define __NR_stat64                 195
-+#define __NR_lstat64                196
-+#define __NR_fstat64                197
-+#define __NR_lchown32               198
-+#define __NR_getuid32               199
-+#define __NR_getgid32               200
-+#define __NR_geteuid32              201
-+#define __NR_getegid32              202
-+#define __NR_setreuid32             203
-+#define __NR_setregid32             204
-+#define __NR_getgroups32            205
-+#define __NR_setgroups32            206
-+#define __NR_fchown32               207
-+#define __NR_setresuid32            208
-+#define __NR_getresuid32            209
-+#define __NR_setresgid32            210
-+#define __NR_getresgid32            211
-+#define __NR_chown32                212
-+#define __NR_setuid32               213
-+#define __NR_setgid32               214
-+#define __NR_setfsuid32             215
-+#define __NR_setfsgid32             216
-+#define __NR_pivot_root             217
-+#define __NR_mincore                218
-+#define __NR_madvise                219
-+#define __NR_getdents64             220
-+#define __NR_fcntl64                221
-+#define __NR_gettid                 224
-+#define __NR_readahead              225
-+#define __NR_setxattr               226
-+#define __NR_lsetxattr              227
-+#define __NR_fsetxattr              228
-+#define __NR_getxattr               229
-+#define __NR_lgetxattr              230
-+#define __NR_fgetxattr              231
-+#define __NR_listxattr              232
-+#define __NR_llistxattr             233
-+#define __NR_flistxattr             234
-+#define __NR_removexattr            235
-+#define __NR_lremovexattr           236
-+#define __NR_fremovexattr           237
-+#define __NR_tkill                  238
-+#define __NR_sendfile64             239
-+#define __NR_futex                  240
-+#define __NR_sched_setaffinity      241
-+#define __NR_sched_getaffinity      242
-+#define __NR_io_setup               245
-+#define __NR_io_destroy             246
-+#define __NR_io_getevents           247
-+#define __NR_io_submit              248
-+#define __NR_io_cancel              249
-+#define __NR_fadvise64              250
-+#define __NR_exit_group             252
-+#define __NR_lookup_dcookie         253
-+#define __NR_epoll_create           254
-+#define __NR_epoll_ctl              255
-+#define __NR_epoll_wait             256
-+#define __NR_remap_file_pages       257
-+#define __NR_set_tid_address        258
-+#define __NR_timer_create           259
-+#define __NR_timer_settime          260
-+#define __NR_timer_gettime          261
-+#define __NR_timer_getoverrun       262
-+#define __NR_timer_delete           263
-+#define __NR_clock_settime          264
-+#define __NR_clock_gettime          265
-+#define __NR_clock_getres           266
-+#define __NR_clock_nanosleep        267
-+#define __NR_statfs64               268
-+#define __NR_fstatfs64              269
-+#define __NR_tgkill                 270
-+#define __NR_utimes                 271
-+#define __NR_fadvise64_64           272
-+#define __NR_mbind                  274
-+#define __NR_get_mempolicy          275
-+#define __NR_set_mempolicy          276
-+#define __NR_mq_open                277
-+#define __NR_mq_unlink              278
-+#define __NR_mq_timedsend           279
-+#define __NR_mq_timedreceive        280
-+#define __NR_mq_notify              281
-+#define __NR_mq_getsetattr          282
-+#define __NR_kexec_load             283
-+#define __NR_waitid                 284
-+#define __NR_add_key                285
-+#define __NR_request_key            286
-+#define __NR_keyctl                 287
-+#define __NR_ioprio_set             288
-+#define __NR_ioprio_get             289
-+#define __NR_inotify_init           290
-+#define __NR_inotify_add_watch      291
-+#define __NR_inotify_rm_watch       292
-+#define __NR_migrate_pages          294
-+#define __NR_openat                 295
-+#define __NR_mkdirat                296
-+#define __NR_mknodat                297
-+#define __NR_fchownat               298
-+#define __NR_futimesat              299
-+#define __NR_fstatat64              300
-+#define __NR_unlinkat               301
-+#define __NR_renameat               302
-+#define __NR_linkat                 303
-+#define __NR_symlinkat              304
-+#define __NR_readlinkat             305
-+#define __NR_fchmodat               306
-+#define __NR_faccessat              307
-+#define __NR_pselect6               308
-+#define __NR_ppoll                  309
-+#define __NR_unshare                310
-+#define __NR_set_robust_list        311
-+#define __NR_get_robust_list        312
-+#define __NR_splice                 313
-+#define __NR_sync_file_range        314
-+#define __NR_tee                    315
-+#define __NR_vmsplice               316
-+#define __NR_move_pages             317
-+#define __NR_getcpu                 318
-+#define __NR_epoll_pwait            319
-+#define __NR_utimensat              320
-+#define __NR_signalfd               321
-+#define __NR_timerfd_create         322
-+#define __NR_eventfd                323
-+#define __NR_fallocate              324
-+#define __NR_timerfd_settime        325
-+#define __NR_timerfd_gettime        326
-+#define __NR_signalfd4              327
-+#define __NR_eventfd2               328
-+#define __NR_epoll_create1          329
-+#define __NR_dup3                   330
-+#define __NR_pipe2                  331
-+#define __NR_inotify_init1          332
-+#define __NR_preadv                 333
-+#define __NR_pwritev                334
-+#define __NR_rt_tgsigqueueinfo      335
-+#define __NR_perf_event_open        336
-+#define __NR_fanotify_init          337
-+#define __NR_fanotify_mark          338
-+#define __NR_prlimit64              339
-+#define __NR_socket                 340
-+#define __NR_bind                   341
-+#define __NR_connect                342
-+#define __NR_listen                 343
-+#define __NR_accept                 344
-+#define __NR_getsockname            345
-+#define __NR_getpeername            346
-+#define __NR_socketpair             347
-+#define __NR_send                   348
-+#define __NR_sendto                 349
-+#define __NR_recv                   350
-+#define __NR_recvfrom               351
-+#define __NR_shutdown               352
-+#define __NR_setsockopt             353
-+#define __NR_getsockopt             354
-+#define __NR_sendmsg                355
-+#define __NR_recvmsg                356
-+#define __NR_recvmmsg               357
-+#define __NR_accept4                358
-+#define __NR_name_to_handle_at      359
-+#define __NR_open_by_handle_at      360
-+#define __NR_clock_adjtime          361
-+#define __NR_syncfs                 362
-+#define __NR_sendmmsg               363
-+#define __NR_setns                  364
-+#define __NR_process_vm_readv       365
-+#define __NR_process_vm_writev      366
-+#define __NR_kcmp                   367
-+#define __NR_finit_module           368
-+
-+
-+/* Repeated with SYS_ prefix */
-+
-+#define SYS_restart_syscall         0
-+#define SYS_exit                    1
-+#define SYS_fork                    2
-+#define SYS_read                    3
-+#define SYS_write                   4
-+#define SYS_open                    5
-+#define SYS_close                   6
-+#define SYS_waitpid                 7
-+#define SYS_creat                   8
-+#define SYS_link                    9
-+#define SYS_unlink                  10
-+#define SYS_execve                  11
-+#define SYS_chdir                   12
-+#define SYS_time                    13
-+#define SYS_mknod                   14
-+#define SYS_chmod                   15
-+#define SYS_lchown                  16
-+#define SYS_oldstat                 18
-+#define SYS_lseek                   19
-+#define SYS_getpid                  20
-+#define SYS_mount                   21
-+#define SYS_umount                  22
-+#define SYS_setuid                  23
-+#define SYS_getuid                  24
-+#define SYS_stime                   25
-+#define SYS_ptrace                  26
-+#define SYS_alarm                   27
-+#define SYS_oldfstat                28
-+#define SYS_pause                   29
-+#define SYS_utime                   30
-+#define SYS_access                  33
-+#define SYS_nice                    34
-+#define SYS_sync                    36
-+#define SYS_kill                    37
-+#define SYS_rename                  38
-+#define SYS_mkdir                   39
-+#define SYS_rmdir                   40
-+#define SYS_dup                     41
-+#define SYS_pipe                    42
-+#define SYS_times                   43
-+#define SYS_brk                     45
-+#define SYS_setgid                  46
-+#define SYS_getgid                  47
-+#define SYS_signal                  48
-+#define SYS_geteuid                 49
-+#define SYS_getegid                 50
-+#define SYS_acct                    51
-+#define SYS_umount2                 52
-+#define SYS_ioctl                   54
-+#define SYS_fcntl                   55
-+#define SYS_setpgid                 57
-+#define SYS_umask                   60
-+#define SYS_chroot                  61
-+#define SYS_ustat                   62
-+#define SYS_dup2                    63
-+#define SYS_getppid                 64
-+#define SYS_getpgrp                 65
-+#define SYS_setsid                  66
-+#define SYS_sigaction               67
-+#define SYS_sgetmask                68
-+#define SYS_ssetmask                69
-+#define SYS_setreuid                70
-+#define SYS_setregid                71
-+#define SYS_sigsuspend              72
-+#define SYS_sigpending              73
-+#define SYS_sethostname             74
-+#define SYS_setrlimit               75
-+#define SYS_getrlimit               76
-+#define SYS_getrusage               77
-+#define SYS_gettimeofday            78
-+#define SYS_settimeofday            79
-+#define SYS_getgroups               80
-+#define SYS_setgroups               81
-+#define SYS_symlink                 83
-+#define SYS_oldlstat                84
-+#define SYS_readlink                85
-+#define SYS_uselib                  86
-+#define SYS_swapon                  87
-+#define SYS_reboot                  88
-+#define SYS_readdir                 89
-+#define SYS_mmap                    90
-+#define SYS_munmap                  91
-+#define SYS_truncate                92
-+#define SYS_ftruncate               93
-+#define SYS_fchmod                  94
-+#define SYS_fchown                  95
-+#define SYS_getpriority             96
-+#define SYS_setpriority             97
-+#define SYS_statfs                  99
-+#define SYS_fstatfs                 100
-+#define SYS_socketcall              102
-+#define SYS_syslog                  103
-+#define SYS_setitimer               104
-+#define SYS_getitimer               105
-+#define SYS_stat                    106
-+#define SYS_lstat                   107
-+#define SYS_fstat                   108
-+#define SYS_olduname                109
-+#define SYS_vhangup                 111
-+#define SYS_wait4                   114
-+#define SYS_swapoff                 115
-+#define SYS_sysinfo                 116
-+#define SYS_ipc                     117
-+#define SYS_fsync                   118
-+#define SYS_sigreturn               119
-+#define SYS_clone                   120
-+#define SYS_setdomainname           121
-+#define SYS_uname                   122
-+#define SYS_cacheflush              123
-+#define SYS_adjtimex                124
-+#define SYS_mprotect                125
-+#define SYS_sigprocmask             126
-+#define SYS_init_module             128
-+#define SYS_delete_module           129
-+#define SYS_quotactl                131
-+#define SYS_getpgid                 132
-+#define SYS_fchdir                  133
-+#define SYS_bdflush                 134
-+#define SYS_sysfs                   135
-+#define SYS_personality             136
-+#define SYS_setfsuid                138
-+#define SYS_setfsgid                139
-+#define SYS__llseek                 140
-+#define SYS_getdents                141
-+#define SYS__newselect              142
-+#define SYS_flock                   143
-+#define SYS_msync                   144
-+#define SYS_readv                   145
-+#define SYS_writev                  146
-+#define SYS_getsid                  147
-+#define SYS_fdatasync               148
-+#define SYS__sysctl                 149
-+#define SYS_mlock                   150
-+#define SYS_munlock                 151
-+#define SYS_mlockall                152
-+#define SYS_munlockall              153
-+#define SYS_sched_setparam          154
-+#define SYS_sched_getparam          155
-+#define SYS_sched_setscheduler      156
-+#define SYS_sched_getscheduler      157
-+#define SYS_sched_yield             158
-+#define SYS_sched_get_priority_max  159
-+#define SYS_sched_get_priority_min  160
-+#define SYS_sched_rr_get_interval   161
-+#define SYS_nanosleep               162
-+#define SYS_mremap                  163
-+#define SYS_setresuid               164
-+#define SYS_getresuid               165
-+#define SYS_poll                    168
-+#define SYS_nfsservctl              169
-+#define SYS_setresgid               170
-+#define SYS_getresgid               171
-+#define SYS_prctl                   172
-+#define SYS_rt_sigreturn            173
-+#define SYS_rt_sigaction            174
-+#define SYS_rt_sigprocmask          175
-+#define SYS_rt_sigpending           176
-+#define SYS_rt_sigtimedwait         177
-+#define SYS_rt_sigqueueinfo         178
-+#define SYS_rt_sigsuspend           179
-+#define SYS_pread64                 180
-+#define SYS_pwrite64                181
-+#define SYS_chown                   182
-+#define SYS_getcwd                  183
-+#define SYS_capget                  184
-+#define SYS_capset                  185
-+#define SYS_sigaltstack             186
-+#define SYS_sendfile                187
-+#define SYS_vfork                   190
-+#define SYS_ugetrlimit              191
-+#define SYS_mmap2                   192
-+#define SYS_truncate64              193
-+#define SYS_ftruncate64             194
-+#define SYS_stat64                  195
-+#define SYS_lstat64                 196
-+#define SYS_fstat64                 197
-+#define SYS_lchown32                198
-+#define SYS_getuid32                199
-+#define SYS_getgid32                200
-+#define SYS_geteuid32               201
-+#define SYS_getegid32               202
-+#define SYS_setreuid32              203
-+#define SYS_setregid32              204
-+#define SYS_getgroups32             205
-+#define SYS_setgroups32             206
-+#define SYS_fchown32                207
-+#define SYS_setresuid32             208
-+#define SYS_getresuid32             209
-+#define SYS_setresgid32             210
-+#define SYS_getresgid32             211
-+#define SYS_chown32                 212
-+#define SYS_setuid32                213
-+#define SYS_setgid32                214
-+#define SYS_setfsuid32              215
-+#define SYS_setfsgid32              216
-+#define SYS_pivot_root              217
-+#define SYS_mincore                 218
-+#define SYS_madvise                 219
-+#define SYS_getdents64              220
-+#define SYS_fcntl64                 221
-+#define SYS_gettid                  224
-+#define SYS_readahead               225
-+#define SYS_setxattr                226
-+#define SYS_lsetxattr               227
-+#define SYS_fsetxattr               228
-+#define SYS_getxattr                229
-+#define SYS_lgetxattr               230
-+#define SYS_fgetxattr               231
-+#define SYS_listxattr               232
-+#define SYS_llistxattr              233
-+#define SYS_flistxattr              234
-+#define SYS_removexattr             235
-+#define SYS_lremovexattr            236
-+#define SYS_fremovexattr            237
-+#define SYS_tkill                   238
-+#define SYS_sendfile64              239
-+#define SYS_futex                   240
-+#define SYS_sched_setaffinity       241
-+#define SYS_sched_getaffinity       242
-+#define SYS_io_setup                245
-+#define SYS_io_destroy              246
-+#define SYS_io_getevents            247
-+#define SYS_io_submit               248
-+#define SYS_io_cancel               249
-+#define SYS_fadvise64               250
-+#define SYS_exit_group              252
-+#define SYS_lookup_dcookie          253
-+#define SYS_epoll_create            254
-+#define SYS_epoll_ctl               255
-+#define SYS_epoll_wait              256
-+#define SYS_remap_file_pages        257
-+#define SYS_set_tid_address         258
-+#define SYS_timer_create            259
-+#define SYS_timer_settime           260
-+#define SYS_timer_gettime           261
-+#define SYS_timer_getoverrun        262
-+#define SYS_timer_delete            263
-+#define SYS_clock_settime           264
-+#define SYS_clock_gettime           265
-+#define SYS_clock_getres            266
-+#define SYS_clock_nanosleep         267
-+#define SYS_statfs64                268
-+#define SYS_fstatfs64               269
-+#define SYS_tgkill                  270
-+#define SYS_utimes                  271
-+#define SYS_fadvise64_64            272
-+#define SYS_mbind                   274
-+#define SYS_get_mempolicy           275
-+#define SYS_set_mempolicy           276
-+#define SYS_mq_open                 277
-+#define SYS_mq_unlink               278
-+#define SYS_mq_timedsend            279
-+#define SYS_mq_timedreceive         280
-+#define SYS_mq_notify               281
-+#define SYS_mq_getsetattr           282
-+#define SYS_kexec_load              283
-+#define SYS_waitid                  284
-+#define SYS_add_key                 285
-+#define SYS_request_key             286
-+#define SYS_keyctl                  287
-+#define SYS_ioprio_set              288
-+#define SYS_ioprio_get              289
-+#define SYS_inotify_init            290
-+#define SYS_inotify_add_watch       291
-+#define SYS_inotify_rm_watch        292
-+#define SYS_migrate_pages           294
-+#define SYS_openat                  295
-+#define SYS_mkdirat                 296
-+#define SYS_mknodat                 297
-+#define SYS_fchownat                298
-+#define SYS_futimesat               299
-+#define SYS_fstatat64               300
-+#define SYS_unlinkat                301
-+#define SYS_renameat                302
-+#define SYS_linkat                  303
-+#define SYS_symlinkat               304
-+#define SYS_readlinkat              305
-+#define SYS_fchmodat                306
-+#define SYS_faccessat               307
-+#define SYS_pselect6                308
-+#define SYS_ppoll                   309
-+#define SYS_unshare                 310
-+#define SYS_set_robust_list         311
-+#define SYS_get_robust_list         312
-+#define SYS_splice                  313
-+#define SYS_sync_file_range         314
-+#define SYS_tee                     315
-+#define SYS_vmsplice                316
-+#define SYS_move_pages              317
-+#define SYS_getcpu                  318
-+#define SYS_epoll_pwait             319
-+#define SYS_utimensat               320
-+#define SYS_signalfd                321
-+#define SYS_timerfd_create          322
-+#define SYS_eventfd                 323
-+#define SYS_fallocate               324
-+#define SYS_timerfd_settime         325
-+#define SYS_timerfd_gettime         326
-+#define SYS_signalfd4               327
-+#define SYS_eventfd2                328
-+#define SYS_epoll_create1           329
-+#define SYS_dup3                    330
-+#define SYS_pipe2                   331
-+#define SYS_inotify_init1           332
-+#define SYS_preadv                  333
-+#define SYS_pwritev                 334
-+#define SYS_rt_tgsigqueueinfo       335
-+#define SYS_perf_event_open         336
-+#define SYS_fanotify_init           337
-+#define SYS_fanotify_mark           338
-+#define SYS_prlimit64               339
-+#define SYS_socket                  340
-+#define SYS_bind                    341
-+#define SYS_connect                 342
-+#define SYS_listen                  343
-+#define SYS_accept                  344
-+#define SYS_getsockname             345
-+#define SYS_getpeername             346
-+#define SYS_socketpair              347
-+#define SYS_send                    348
-+#define SYS_sendto                  349
-+#define SYS_recv                    350
-+#define SYS_recvfrom                351
-+#define SYS_shutdown                352
-+#define SYS_setsockopt              353
-+#define SYS_getsockopt              354
-+#define SYS_sendmsg                 355
-+#define SYS_recvmsg                 356
-+#define SYS_recvmmsg                357
-+#define SYS_accept4                 358
-+#define SYS_name_to_handle_at       359
-+#define SYS_open_by_handle_at       360
-+#define SYS_clock_adjtime           361
-+#define SYS_syncfs                  362
-+#define SYS_sendmmsg                363
-+#define SYS_setns                   364
-+#define SYS_process_vm_readv        365
-+#define SYS_process_vm_writev       366
-+#define SYS_kcmp                    367
-+#define SYS_finit_module            368
-diff -Nur musl-0.9.15/arch/sh/bits/termios.h musl-git/arch/sh/bits/termios.h
---- musl-0.9.15/arch/sh/bits/termios.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/bits/termios.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,160 @@
-+struct termios
-+{
-+	tcflag_t c_iflag;
-+	tcflag_t c_oflag;
-+	tcflag_t c_cflag;
-+	tcflag_t c_lflag;
-+	cc_t c_line;
-+	cc_t c_cc[NCCS];
-+	speed_t __c_ispeed;
-+	speed_t __c_ospeed;
-+};
-+
-+#define VINTR     0
-+#define VQUIT     1
-+#define VERASE    2
-+#define VKILL     3
-+#define VEOF      4
-+#define VTIME     5
-+#define VMIN      6
-+#define VSWTC     7
-+#define VSTART    8
-+#define VSTOP     9
-+#define VSUSP    10
-+#define VEOL     11
-+#define VREPRINT 12
-+#define VDISCARD 13
-+#define VWERASE  14
-+#define VLNEXT   15
-+#define VEOL2    16
-+
-+#define IGNBRK  0000001
-+#define BRKINT  0000002
-+#define IGNPAR  0000004
-+#define PARMRK  0000010
-+#define INPCK   0000020
-+#define ISTRIP  0000040
-+#define INLCR   0000100
-+#define IGNCR   0000200
-+#define ICRNL   0000400
-+#define IUCLC   0001000
-+#define IXON    0002000
-+#define IXANY   0004000
-+#define IXOFF   0010000
-+#define IMAXBEL 0020000
-+#define IUTF8   0040000
-+
-+#define OPOST  0000001
-+#define OLCUC  0000002
-+#define ONLCR  0000004
-+#define OCRNL  0000010
-+#define ONOCR  0000020
-+#define ONLRET 0000040
-+#define OFILL  0000100
-+#define OFDEL  0000200
-+#define NLDLY  0000400
-+#define NL0    0000000
-+#define NL1    0000400
-+#define CRDLY  0003000
-+#define CR0    0000000
-+#define CR1    0001000
-+#define CR2    0002000
-+#define CR3    0003000
-+#define TABDLY 0014000
-+#define TAB0   0000000
-+#define TAB1   0004000
-+#define TAB2   0010000
-+#define TAB3   0014000
-+#define BSDLY  0020000
-+#define BS0    0000000
-+#define BS1    0020000
-+#define FFDLY  0100000
-+#define FF0    0000000
-+#define FF1    0100000
-+
-+#define VTDLY  0040000
-+#define VT0    0000000
-+#define VT1    0040000
-+
-+#define B0       0000000
-+#define B50      0000001
-+#define B75      0000002
-+#define B110     0000003
-+#define B134     0000004
-+#define B150     0000005
-+#define B200     0000006
-+#define B300     0000007
-+#define B600     0000010
-+#define B1200    0000011
-+#define B1800    0000012
-+#define B2400    0000013
-+#define B4800    0000014
-+#define B9600    0000015
-+#define B19200   0000016
-+#define B38400   0000017
-+
-+#define B57600   0010001
-+#define B115200  0010002
-+#define B230400  0010003
-+#define B460800  0010004
-+#define B500000  0010005
-+#define B576000  0010006
-+#define B921600  0010007
-+#define B1000000 0010010
-+#define B1152000 0010011
-+#define B1500000 0010012
-+#define B2000000 0010013
-+#define B2500000 0010014
-+#define B3000000 0010015
-+#define B3500000 0010016
-+#define B4000000 0010017
-+
-+#define CBAUD    0010017
-+
-+#define CSIZE  0000060
-+#define CS5    0000000
-+#define CS6    0000020
-+#define CS7    0000040
-+#define CS8    0000060
-+#define CSTOPB 0000100
-+#define CREAD  0000200
-+#define PARENB 0000400
-+#define PARODD 0001000
-+#define HUPCL  0002000
-+#define CLOCAL 0004000
-+
-+#define ISIG   0000001
-+#define ICANON 0000002
-+#define ECHO   0000010
-+#define ECHOE  0000020
-+#define ECHOK  0000040
-+#define ECHONL 0000100
-+#define NOFLSH 0000200
-+#define TOSTOP 0000400
-+#define IEXTEN 0100000
-+
-+#define ECHOCTL 0001000
-+#define ECHOPRT 0002000
-+#define ECHOKE 0004000
-+#define FLUSHO 0010000
-+#define PENDIN 0040000
-+
-+#define TCOOFF 0
-+#define TCOON  1
-+#define TCIOFF 2
-+#define TCION  3
-+
-+#define TCIFLUSH  0
-+#define TCOFLUSH  1
-+#define TCIOFLUSH 2
-+
-+#define TCSANOW   0
-+#define TCSADRAIN 1
-+#define TCSAFLUSH 2
-+
-+#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-+#define CBAUDEX 0010000
-+#define CRTSCTS  020000000000
-+#define EXTPROC 0200000
-+#define XTABS  0014000
-+#endif
-diff -Nur musl-0.9.15/arch/sh/bits/user.h musl-git/arch/sh/bits/user.h
---- musl-0.9.15/arch/sh/bits/user.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/bits/user.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,75 @@
-+#undef __WORDSIZE
-+#define __WORDSIZE 32
-+
-+#define REG_REG0	 0
-+#define REG_REG15	15
-+#define REG_PC		16
-+#define REG_PR		17
-+#define REG_SR		18
-+#define REG_GBR		19
-+#define REG_MACH	20
-+#define REG_MACL	21
-+#define REG_SYSCALL	22
-+#define REG_FPREG0	23
-+#define REG_FPREG15	38
-+#define REG_XFREG0	39
-+#define REG_XFREG15	54
-+#define REG_FPSCR	55
-+#define REG_FPUL	56
-+
-+struct pt_regs {
-+	unsigned long regs[16];
-+	unsigned long pc;
-+	unsigned long pr;
-+	unsigned long sr;
-+	unsigned long gbr;
-+	unsigned long mach;
-+	unsigned long macl;
-+	long tra;
-+};
-+
-+struct pt_dspregs {
-+	unsigned long a1;
-+	unsigned long a0g;
-+	unsigned long a1g;
-+	unsigned long m0;
-+	unsigned long m1;
-+	unsigned long a0;
-+	unsigned long x0;
-+	unsigned long x1;
-+	unsigned long y0;
-+	unsigned long y1;
-+	unsigned long dsr;
-+	unsigned long rs;
-+	unsigned long re;
-+	unsigned long mod;
-+};
-+
-+struct user_fpu_struct {
-+	unsigned long fp_regs[16];
-+	unsigned long xfp_regs[16];
-+	unsigned long fpscr;
-+	unsigned long fpul;
-+};
-+
-+#define ELF_NGREG 23
-+typedef unsigned long elf_greg_t;
-+typedef elf_greg_t elf_gregset_t[ELF_NGREG];
-+typedef struct user_fpu_struct elf_fpregset_t;
-+
-+struct user {
-+	struct pt_regs regs;
-+	struct user_fpu_struct fpu;
-+	int u_fpvalid;
-+	unsigned long u_tsize;
-+	unsigned long u_dsize;
-+	unsigned long u_ssize;
-+	unsigned long start_code;
-+	unsigned long start_data;
-+	unsigned long start_stack;
-+	long int signal;
-+	unsigned long u_ar0;
-+	struct user_fpu_struct *u_fpstate;
-+	unsigned long magic;
-+	char u_comm[32];
-+};
-diff -Nur musl-0.9.15/arch/sh/crt_arch.h musl-git/arch/sh/crt_arch.h
---- musl-0.9.15/arch/sh/crt_arch.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/crt_arch.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,12 @@
-+__asm__("\
-+.global _start \n\
-+_start: \n\
-+	mov r15, r4 \n\
-+	mov #-16, r0 \n\
-+	and r0, r15 \n\
-+	bsr __cstart \n\
-+	nop \n\
-+");
-+
-+/* used by gcc for switching the FPU between single and double precision */
-+const unsigned long __fpscr_values[2] = { 0, 0x80000 };
-diff -Nur musl-0.9.15/arch/sh/pthread_arch.h musl-git/arch/sh/pthread_arch.h
---- musl-0.9.15/arch/sh/pthread_arch.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/pthread_arch.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,11 @@
-+static inline struct pthread *__pthread_self()
-+{
-+	char *self;
-+	__asm__ __volatile__ ("stc gbr,%0" : "=r" (self) );
-+	return (struct pthread *) (self + 8 - sizeof(struct pthread));
-+}
-+
-+#define TLS_ABOVE_TP
-+#define TP_ADJ(p) ((char *)(p) + sizeof(struct pthread) - 8)
-+
-+#define CANCEL_REG_IP 17
-diff -Nur musl-0.9.15/arch/sh/reloc.h musl-git/arch/sh/reloc.h
---- musl-0.9.15/arch/sh/reloc.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/reloc.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,47 @@
-+#if __BYTE_ORDER == __BIG_ENDIAN
-+#define ENDIAN_SUFFIX "eb"
-+#else
-+#define ENDIAN_SUFFIX ""
-+#endif
-+
-+#define LDSO_ARCH "sh" ENDIAN_SUFFIX
-+
-+#define IS_COPY(x) ((x) == R_SH_COPY)
-+#define IS_PLT(x)  ((x) == R_SH_JMP_SLOT)
-+
-+static inline void do_single_reloc(
-+	struct dso *self, unsigned char *base_addr,
-+	size_t *reloc_addr, int type, size_t addend,
-+	Sym *sym, size_t sym_size,
-+	struct symdef def, size_t sym_val)
-+{
-+	switch(type) {
-+	case R_SH_GLOB_DAT:
-+	case R_SH_JMP_SLOT:
-+		*reloc_addr = sym_val;
-+		break;
-+	case R_SH_RELATIVE:
-+		*reloc_addr = (size_t)base_addr + addend;
-+		break;
-+	case R_SH_DIR32:
-+		*reloc_addr = sym_val + addend;
-+		break;
-+	case R_SH_REL32:
-+		*reloc_addr = sym_val + addend - (size_t)reloc_addr + (size_t)base_addr;
-+		break;
-+	case R_SH_COPY:
-+		memcpy(reloc_addr, (void *)sym_val, sym_size);
-+		break;
-+	case R_SH_TLS_DTPMOD32:
-+		*reloc_addr += def.dso ? def.dso->tls_id : self->tls_id;
-+		break;
-+	case R_SH_TLS_DTPOFF32:
-+		*reloc_addr += def.sym->st_value;
-+		break;
-+	case R_SH_TLS_TPOFF32:
-+		*reloc_addr += def.sym
-+			? def.sym->st_value + def.dso->tls_offset + 8
-+			: self->tls_offset + 8;
-+		break;
-+	}
-+}
-diff -Nur musl-0.9.15/arch/sh/src/atomic.c musl-git/arch/sh/src/atomic.c
---- musl-0.9.15/arch/sh/src/atomic.c	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/src/atomic.c	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,146 @@
-+#include "libc.h"
-+
-+#define LLSC_CLOBBERS   "r0", "t", "memory"
-+#define LLSC_START(mem)            \
-+	"0:	movli.l @" mem ", r0\n"
-+#define LLSC_END(mem)              \
-+	"1:	movco.l r0, @" mem "\n"    \
-+	"	bf 0b\n"                   \
-+	"	synco\n"
-+
-+/* gusa is a hack in the kernel which lets you create a sequence of instructions
-+ * which will be restarted if the process is preempted in the middle of the
-+ * sequence. It will do for implementing atomics on non-smp systems. ABI is:
-+ * r0  = address of first instruction after the atomic sequence
-+ * r1  = original stack pointer
-+ * r15 = -1 * length of atomic sequence in bytes
-+ */
-+#define GUSA_CLOBBERS   "r0", "r1", "memory"
-+#define GUSA_START(mem,old,nop)    \
-+	"	.align 2\n"                \
-+	"	mova 1f, r0\n"             \
-+	nop                            \
-+	"	mov r15, r1\n"             \
-+	"	mov #(0f-1f), r15\n"       \
-+	"0:	mov.l @" mem ", " old "\n"
-+/* the target of mova must be 4 byte aligned, so we may need a nop */
-+#define GUSA_START_ODD(mem,old)  GUSA_START(mem,old,"")
-+#define GUSA_START_EVEN(mem,old) GUSA_START(mem,old,"\tnop\n")
-+#define GUSA_END(mem,new)          \
-+	"	mov.l " new ", @" mem "\n" \
-+	"1:	mov r1, r15\n"
-+
-+#define CPU_HAS_LLSC 0x0040
-+
-+int __sh_cas(volatile int *p, int t, int s)
-+{
-+	int old;
-+	if (__hwcap & CPU_HAS_LLSC) {
-+		__asm__ __volatile__(
-+			LLSC_START("%1")
-+			"	mov r0, %0\n"
-+			"	cmp/eq %0, %2\n"
-+			"	bf 1f\n"
-+			"	mov %3, r0\n"
-+			LLSC_END("%1")
-+			: "=&r"(old) : "r"(p), "r"(t), "r"(s) : LLSC_CLOBBERS);
-+	} else {
-+		__asm__ __volatile__(
-+			GUSA_START_EVEN("%1", "%0")
-+			"	cmp/eq %0, %2\n"
-+			"	bf 1f\n"
-+			GUSA_END("%1", "%3")
-+			: "=&r"(old) : "r"(p), "r"(t), "r"(s) : GUSA_CLOBBERS, "t");
-+	}
-+	return old;
-+}
-+
-+int __sh_swap(volatile int *x, int v)
-+{
-+	int old;
-+	if (__hwcap & CPU_HAS_LLSC) {
-+		__asm__ __volatile__(
-+			LLSC_START("%1")
-+			"	mov r0, %0\n"
-+			"	mov %2, r0\n"
-+			LLSC_END("%1")
-+			: "=&r"(old) : "r"(x), "r"(v) : LLSC_CLOBBERS);
-+	} else {
-+		__asm__ __volatile__(
-+			GUSA_START_EVEN("%1", "%0")
-+			GUSA_END("%1", "%2")
-+			: "=&r"(old) : "r"(x), "r"(v) : GUSA_CLOBBERS);
-+	}
-+	return old;
-+}
-+
-+int __sh_fetch_add(volatile int *x, int v)
-+{
-+	int old, dummy;
-+	if (__hwcap & CPU_HAS_LLSC) {
-+		__asm__ __volatile__(
-+			LLSC_START("%1")
-+			"	mov r0, %0\n"
-+			"	add %2, r0\n"
-+			LLSC_END("%1")
-+			: "=&r"(old) : "r"(x), "r"(v) : LLSC_CLOBBERS);
-+	} else {
-+		__asm__ __volatile__(
-+			GUSA_START_EVEN("%2", "%0")
-+			"	mov %0, %1\n"
-+			"	add %3, %1\n"
-+			GUSA_END("%2", "%1")
-+			: "=&r"(old), "=&r"(dummy) : "r"(x), "r"(v) : GUSA_CLOBBERS);
-+	}
-+	return old;
-+}
-+
-+void __sh_store(volatile int *p, int x)
-+{
-+	if (__hwcap & CPU_HAS_LLSC) {
-+		__asm__ __volatile__(
-+			"	mov.l %1, @%0\n"
-+			"	synco\n"
-+			: : "r"(p), "r"(x) : "memory");
-+	} else {
-+		__asm__ __volatile__(
-+			"	mov.l %1, @%0\n"
-+			: : "r"(p), "r"(x) : "memory");
-+	}
-+}
-+
-+void __sh_and(volatile int *x, int v)
-+{
-+	int dummy;
-+	if (__hwcap & CPU_HAS_LLSC) {
-+		__asm__ __volatile__(
-+			LLSC_START("%0")
-+			"	and %1, r0\n"
-+			LLSC_END("%0")
-+			: : "r"(x), "r"(v) : LLSC_CLOBBERS);
-+	} else {
-+		__asm__ __volatile__(
-+			GUSA_START_ODD("%1", "%0")
-+			"	and %2, %0\n"
-+			GUSA_END("%1", "%0")
-+			: "=&r"(dummy) : "r"(x), "r"(v) : GUSA_CLOBBERS);
-+	}
-+}
-+
-+void __sh_or(volatile int *x, int v)
-+{
-+	int dummy;
-+	if (__hwcap & CPU_HAS_LLSC) {
-+		__asm__ __volatile__(
-+			LLSC_START("%0")
-+			"	or %1, r0\n"
-+			LLSC_END("%0")
-+			: : "r"(x), "r"(v) : LLSC_CLOBBERS);
-+	} else {
-+		__asm__ __volatile__(
-+			GUSA_START_ODD("%1", "%0")
-+			"	or %2, %0\n"
-+			GUSA_END("%1", "%0")
-+			: "=&r"(dummy) : "r"(x), "r"(v) : GUSA_CLOBBERS);
-+	}
-+}
-diff -Nur musl-0.9.15/arch/sh/src/__fpscr_values.c musl-git/arch/sh/src/__fpscr_values.c
---- musl-0.9.15/arch/sh/src/__fpscr_values.c	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/src/__fpscr_values.c	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,5 @@
-+#include "libc.h"
-+
-+/* used by gcc for switching the FPU between single and double precision */
-+const unsigned long __fpscr_values[2] ATTR_LIBC_VISIBILITY = { 0, 0x80000 };
-+
-diff -Nur musl-0.9.15/arch/sh/syscall_arch.h musl-git/arch/sh/syscall_arch.h
---- musl-0.9.15/arch/sh/syscall_arch.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/syscall_arch.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,87 @@
-+#define __SYSCALL_LL_E(x) \
-+((union { long long ll; long l[2]; }){ .ll = x }).l[0], \
-+((union { long long ll; long l[2]; }){ .ll = x }).l[1]
-+#define __SYSCALL_LL_O(x) __SYSCALL_LL_E((x))
-+
-+/* The extra OR instructions are to work around a hardware bug:
-+ * http://documentation.renesas.com/doc/products/mpumcu/tu/tnsh7456ae.pdf
-+ */
-+#define __asm_syscall(trapno, ...) do {   \
-+	__asm__ __volatile__ (                \
-+		"trapa #" #trapno "\n"            \
-+		"or r0, r0\n"                     \
-+		"or r0, r0\n"                     \
-+		"or r0, r0\n"                     \
-+		"or r0, r0\n"                     \
-+		"or r0, r0\n"                     \
-+	: "=r"(r0) : __VA_ARGS__ : "memory"); \
-+	return r0;                            \
-+	} while (0)
-+
-+static inline long __syscall0(long n)
-+{
-+	register long r3 __asm__("r3") = n;
-+	register long r0 __asm__("r0");
-+	__asm_syscall(16, "r"(r3));
-+}
-+
-+static inline long __syscall1(long n, long a)
-+{
-+	register long r3 __asm__("r3") = n;
-+	register long r4 __asm__("r4") = a;
-+	register long r0 __asm__("r0");
-+	__asm_syscall(17, "r"(r3), "r"(r4));
-+}
-+
-+static inline long __syscall2(long n, long a, long b)
-+{
-+	register long r3 __asm__("r3") = n;
-+	register long r4 __asm__("r4") = a;
-+	register long r5 __asm__("r5") = b;
-+	register long r0 __asm__("r0");
-+	__asm_syscall(18, "r"(r3), "r"(r4), "r"(r5));
-+}
-+
-+static inline long __syscall3(long n, long a, long b, long c)
-+{
-+	register long r3 __asm__("r3") = n;
-+	register long r4 __asm__("r4") = a;
-+	register long r5 __asm__("r5") = b;
-+	register long r6 __asm__("r6") = c;
-+	register long r0 __asm__("r0");
-+	__asm_syscall(19, "r"(r3), "r"(r4), "r"(r5), "r"(r6));
-+}
-+
-+static inline long __syscall4(long n, long a, long b, long c, long d)
-+{
-+	register long r3 __asm__("r3") = n;
-+	register long r4 __asm__("r4") = a;
-+	register long r5 __asm__("r5") = b;
-+	register long r6 __asm__("r6") = c;
-+	register long r7 __asm__("r7") = d;
-+	register long r0 __asm__("r0");
-+	__asm_syscall(20, "r"(r3), "r"(r4), "r"(r5), "r"(r6), "r"(r7));
-+}
-+
-+static inline long __syscall5(long n, long a, long b, long c, long d, long e)
-+{
-+	register long r3 __asm__("r3") = n;
-+	register long r4 __asm__("r4") = a;
-+	register long r5 __asm__("r5") = b;
-+	register long r6 __asm__("r6") = c;
-+	register long r7 __asm__("r7") = d;
-+	register long r0 __asm__("r0") = e;
-+	__asm_syscall(21, "r"(r3), "r"(r4), "r"(r5), "r"(r6), "r"(r7), "0"(r0));
-+}
-+
-+static inline long __syscall6(long n, long a, long b, long c, long d, long e, long f)
-+{
-+	register long r3 __asm__("r3") = n;
-+	register long r4 __asm__("r4") = a;
-+	register long r5 __asm__("r5") = b;
-+	register long r6 __asm__("r6") = c;
-+	register long r7 __asm__("r7") = d;
-+	register long r0 __asm__("r0") = e;
-+	register long r1 __asm__("r1") = f;
-+	__asm_syscall(22, "r"(r3), "r"(r4), "r"(r5), "r"(r6), "r"(r7), "0"(r0), "r"(r1));
-+}
-diff -Nur musl-0.9.15/arch/x32/atomic.h musl-git/arch/x32/atomic.h
---- musl-0.9.15/arch/x32/atomic.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/atomic.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,125 @@
-+#ifndef _INTERNAL_ATOMIC_H
-+#define _INTERNAL_ATOMIC_H
-+
-+#include <stdint.h>
-+
-+static inline int a_ctz_64(uint64_t x)
-+{
-+	__asm__( "bsf %1,%0" : "=r"(x) : "r"(x) );
-+	return x;
-+}
-+
-+static inline int a_ctz_l(unsigned long x)
-+{
-+	__asm__( "bsf %1,%0" : "=r"(x) : "r"(x) );
-+	return x;
-+}
-+
-+static inline void a_and_64(volatile uint64_t *p, uint64_t v)
-+{
-+	__asm__( "lock ; and %1, %0"
-+			 : "=m"(*p) : "r"(v) : "memory" );
-+}
-+
-+static inline void a_or_64(volatile uint64_t *p, uint64_t v)
-+{
-+	__asm__( "lock ; or %1, %0"
-+			 : "=m"(*p) : "r"(v) : "memory" );
-+}
-+
-+static inline void a_store_l(volatile void *p, long x)
-+{
-+	__asm__( "mov %1, %0" : "=m"(*(long *)p) : "r"(x) : "memory" );
-+}
-+
-+static inline void a_or_l(volatile void *p, long v)
-+{
-+	__asm__( "lock ; or %1, %0"
-+		: "=m"(*(long *)p) : "r"(v) : "memory" );
-+}
-+
-+static inline void *a_cas_p(volatile void *p, void *t, void *s)
-+{
-+	__asm__( "lock ; cmpxchg %3, %1"
-+		: "=a"(t), "=m"(*(long *)p) : "a"(t), "r"(s) : "memory" );
-+	return t;
-+}
-+
-+static inline long a_cas_l(volatile void *p, long t, long s)
-+{
-+	__asm__( "lock ; cmpxchg %3, %1"
-+		: "=a"(t), "=m"(*(long *)p) : "a"(t), "r"(s) : "memory" );
-+	return t;
-+}
-+
-+static inline int a_cas(volatile int *p, int t, int s)
-+{
-+	__asm__( "lock ; cmpxchg %3, %1"
-+		: "=a"(t), "=m"(*p) : "a"(t), "r"(s) : "memory" );
-+	return t;
-+}
-+
-+static inline void *a_swap_p(void *volatile *x, void *v)
-+{
-+	__asm__( "xchg %0, %1" : "=r"(v), "=m"(*(void **)x) : "0"(v) : "memory" );
-+	return v;
-+}
-+static inline long a_swap_l(volatile void *x, long v)
-+{
-+	__asm__( "xchg %0, %1" : "=r"(v), "=m"(*(long *)x) : "0"(v) : "memory" );
-+	return v;
-+}
-+
-+static inline void a_or(volatile void *p, int v)
-+{
-+	__asm__( "lock ; or %1, %0"
-+		: "=m"(*(int *)p) : "r"(v) : "memory" );
-+}
-+
-+static inline void a_and(volatile void *p, int v)
-+{
-+	__asm__( "lock ; and %1, %0"
-+		: "=m"(*(int *)p) : "r"(v) : "memory" );
-+}
-+
-+static inline int a_swap(volatile int *x, int v)
-+{
-+	__asm__( "xchg %0, %1" : "=r"(v), "=m"(*x) : "0"(v) : "memory" );
-+	return v;
-+}
-+
-+#define a_xchg a_swap
-+
-+static inline int a_fetch_add(volatile int *x, int v)
-+{
-+	__asm__( "lock ; xadd %0, %1" : "=r"(v), "=m"(*x) : "0"(v) : "memory" );
-+	return v;
-+}
-+
-+static inline void a_inc(volatile int *x)
-+{
-+	__asm__( "lock ; incl %0" : "=m"(*x) : "m"(*x) : "memory" );
-+}
-+
-+static inline void a_dec(volatile int *x)
-+{
-+	__asm__( "lock ; decl %0" : "=m"(*x) : "m"(*x) : "memory" );
-+}
-+
-+static inline void a_store(volatile int *p, int x)
-+{
-+	__asm__( "mov %1, %0" : "=m"(*p) : "r"(x) : "memory" );
-+}
-+
-+static inline void a_spin()
-+{
-+	__asm__ __volatile__( "pause" : : : "memory" );
-+}
-+
-+static inline void a_crash()
-+{
-+	__asm__ __volatile__( "hlt" : : : "memory" );
-+}
-+
-+
-+#endif
-diff -Nur musl-0.9.15/arch/x32/bits/alltypes.h.in musl-git/arch/x32/bits/alltypes.h.in
---- musl-0.9.15/arch/x32/bits/alltypes.h.in	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/alltypes.h.in	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,28 @@
-+#define _Addr int
-+#define _Int64 long long
-+#define _Reg long long
-+
-+TYPEDEF __builtin_va_list va_list;
-+TYPEDEF __builtin_va_list __isoc_va_list;
-+
-+#ifndef __cplusplus
-+TYPEDEF long wchar_t;
-+#endif
-+TYPEDEF unsigned wint_t;
-+
-+#if defined(__FLT_EVAL_METHOD__) && __FLT_EVAL_METHOD__ == 2
-+TYPEDEF long double float_t;
-+TYPEDEF long double double_t;
-+#else
-+TYPEDEF float float_t;
-+TYPEDEF double double_t;
-+#endif
-+
-+TYPEDEF long long time_t;
-+TYPEDEF long long suseconds_t;
-+
-+TYPEDEF struct { union { int __i[14]; unsigned long __s[7]; } __u; } pthread_attr_t;
-+TYPEDEF struct { union { int __i[10]; void *__p[5]; } __u; } pthread_mutex_t;
-+TYPEDEF struct { union { int __i[12]; void *__p[6]; } __u; } pthread_cond_t;
-+TYPEDEF struct { union { int __i[14]; void *__p[7]; } __u; } pthread_rwlock_t;
-+TYPEDEF struct { union { int __i[8]; void *__p[4]; } __u; } pthread_barrier_t;
-diff -Nur musl-0.9.15/arch/x32/bits/endian.h musl-git/arch/x32/bits/endian.h
---- musl-0.9.15/arch/x32/bits/endian.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/endian.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1 @@
-+#define __BYTE_ORDER __LITTLE_ENDIAN
-diff -Nur musl-0.9.15/arch/x32/bits/errno.h musl-git/arch/x32/bits/errno.h
---- musl-0.9.15/arch/x32/bits/errno.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/errno.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,134 @@
-+#define EPERM            1
-+#define ENOENT           2
-+#define ESRCH            3
-+#define EINTR            4
-+#define EIO              5
-+#define ENXIO            6
-+#define E2BIG            7
-+#define ENOEXEC          8
-+#define EBADF            9
-+#define ECHILD          10
-+#define EAGAIN          11
-+#define ENOMEM          12
-+#define EACCES          13
-+#define EFAULT          14
-+#define ENOTBLK         15
-+#define EBUSY           16
-+#define EEXIST          17
-+#define EXDEV           18
-+#define ENODEV          19
-+#define ENOTDIR         20
-+#define EISDIR          21
-+#define EINVAL          22
-+#define ENFILE          23
-+#define EMFILE          24
-+#define ENOTTY          25
-+#define ETXTBSY         26
-+#define EFBIG           27
-+#define ENOSPC          28
-+#define ESPIPE          29
-+#define EROFS           30
-+#define EMLINK          31
-+#define EPIPE           32
-+#define EDOM            33
-+#define ERANGE          34
-+#define EDEADLK         35
-+#define ENAMETOOLONG    36
-+#define ENOLCK          37
-+#define ENOSYS          38
-+#define ENOTEMPTY       39
-+#define ELOOP           40
-+#define EWOULDBLOCK     EAGAIN
-+#define ENOMSG          42
-+#define EIDRM           43
-+#define ECHRNG          44
-+#define EL2NSYNC        45
-+#define EL3HLT          46
-+#define EL3RST          47
-+#define ELNRNG          48
-+#define EUNATCH         49
-+#define ENOCSI          50
-+#define EL2HLT          51
-+#define EBADE           52
-+#define EBADR           53
-+#define EXFULL          54
-+#define ENOANO          55
-+#define EBADRQC         56
-+#define EBADSLT         57
-+#define EDEADLOCK       EDEADLK
-+#define EBFONT          59
-+#define ENOSTR          60
-+#define ENODATA         61
-+#define ETIME           62
-+#define ENOSR           63
-+#define ENONET          64
-+#define ENOPKG          65
-+#define EREMOTE         66
-+#define ENOLINK         67
-+#define EADV            68
-+#define ESRMNT          69
-+#define ECOMM           70
-+#define EPROTO          71
-+#define EMULTIHOP       72
-+#define EDOTDOT         73
-+#define EBADMSG         74
-+#define EOVERFLOW       75
-+#define ENOTUNIQ        76
-+#define EBADFD          77
-+#define EREMCHG         78
-+#define ELIBACC         79
-+#define ELIBBAD         80
-+#define ELIBSCN         81
-+#define ELIBMAX         82
-+#define ELIBEXEC        83
-+#define EILSEQ          84
-+#define ERESTART        85
-+#define ESTRPIPE        86
-+#define EUSERS          87
-+#define ENOTSOCK        88
-+#define EDESTADDRREQ    89
-+#define EMSGSIZE        90
-+#define EPROTOTYPE      91
-+#define ENOPROTOOPT     92
-+#define EPROTONOSUPPORT 93
-+#define ESOCKTNOSUPPORT 94
-+#define EOPNOTSUPP      95
-+#define ENOTSUP         EOPNOTSUPP
-+#define EPFNOSUPPORT    96
-+#define EAFNOSUPPORT    97
-+#define EADDRINUSE      98
-+#define EADDRNOTAVAIL   99
-+#define ENETDOWN        100
-+#define ENETUNREACH     101
-+#define ENETRESET       102
-+#define ECONNABORTED    103
-+#define ECONNRESET      104
-+#define ENOBUFS         105
-+#define EISCONN         106
-+#define ENOTCONN        107
-+#define ESHUTDOWN       108
-+#define ETOOMANYREFS    109
-+#define ETIMEDOUT       110
-+#define ECONNREFUSED    111
-+#define EHOSTDOWN       112
-+#define EHOSTUNREACH    113
-+#define EALREADY        114
-+#define EINPROGRESS     115
-+#define ESTALE          116
-+#define EUCLEAN         117
-+#define ENOTNAM         118
-+#define ENAVAIL         119
-+#define EISNAM          120
-+#define EREMOTEIO       121
-+#define EDQUOT          122
-+#define ENOMEDIUM       123
-+#define EMEDIUMTYPE     124
-+#define ECANCELED       125
-+#define ENOKEY          126
-+#define EKEYEXPIRED     127
-+#define EKEYREVOKED     128
-+#define EKEYREJECTED    129
-+#define EOWNERDEAD      130
-+#define ENOTRECOVERABLE 131
-+#define ERFKILL         132
-+#define EHWPOISON       133
-diff -Nur musl-0.9.15/arch/x32/bits/fcntl.h musl-git/arch/x32/bits/fcntl.h
---- musl-0.9.15/arch/x32/bits/fcntl.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/fcntl.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,39 @@
-+#define O_CREAT        0100
-+#define O_EXCL         0200
-+#define O_NOCTTY       0400
-+#define O_TRUNC       01000
-+#define O_APPEND      02000
-+#define O_NONBLOCK    04000
-+#define O_DSYNC      010000
-+#define O_SYNC     04010000
-+#define O_RSYNC    04010000
-+#define O_DIRECTORY 0200000
-+#define O_NOFOLLOW  0400000
-+#define O_CLOEXEC  02000000
-+
-+#define O_ASYNC      020000
-+#define O_DIRECT     040000
-+#define O_LARGEFILE       0
-+#define O_NOATIME  01000000
-+#define O_TMPFILE 020200000
-+#define O_NDELAY O_NONBLOCK
-+
-+#define F_DUPFD  0
-+#define F_GETFD  1
-+#define F_SETFD  2
-+#define F_GETFL  3
-+#define F_SETFL  4
-+
-+#define F_SETOWN 8
-+#define F_GETOWN 9
-+#define F_SETSIG 10
-+#define F_GETSIG 11
-+
-+#define F_GETLK 5
-+#define F_SETLK 6
-+#define F_SETLKW 7
-+
-+#define F_SETOWN_EX 15
-+#define F_GETOWN_EX 16
-+
-+#define F_GETOWNER_UIDS 17
-diff -Nur musl-0.9.15/arch/x32/bits/fenv.h musl-git/arch/x32/bits/fenv.h
---- musl-0.9.15/arch/x32/bits/fenv.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/fenv.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,34 @@
-+#define FE_INVALID    1
-+#define __FE_DENORM   2
-+#define FE_DIVBYZERO  4
-+#define FE_OVERFLOW   8
-+#define FE_UNDERFLOW  16
-+#define FE_INEXACT    32
-+
-+#define FE_ALL_EXCEPT 63
-+
-+#define FE_TONEAREST  0
-+#define FE_DOWNWARD   0x400
-+#define FE_UPWARD     0x800
-+#define FE_TOWARDZERO 0xc00
-+
-+typedef unsigned short fexcept_t;
-+
-+typedef struct {
-+	unsigned short __control_word;
-+	unsigned short __unused1;
-+	unsigned short __status_word;
-+	unsigned short __unused2;
-+	unsigned short __tags;
-+	unsigned short __unused3;
-+	unsigned int __eip;
-+	unsigned short __cs_selector;
-+	unsigned int __opcode:11;
-+	unsigned int __unused4:5;
-+	unsigned int __data_offset;
-+	unsigned short __data_selector;
-+	unsigned short __unused5;
-+	unsigned int __mxcsr;
-+} fenv_t;
-+
-+#define FE_DFL_ENV      ((const fenv_t *) -1)
-diff -Nur musl-0.9.15/arch/x32/bits/float.h musl-git/arch/x32/bits/float.h
---- musl-0.9.15/arch/x32/bits/float.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/float.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,21 @@
-+#define FLT_ROUNDS 1
-+#ifdef __FLT_EVAL_METHOD__
-+#define FLT_EVAL_METHOD __FLT_EVAL_METHOD__
-+#else
-+#define FLT_EVAL_METHOD 0
-+#endif
-+
-+#define LDBL_TRUE_MIN 3.6451995318824746025e-4951L
-+#define LDBL_MIN     3.3621031431120935063e-4932L
-+#define LDBL_MAX     1.1897314953572317650e+4932L
-+#define LDBL_EPSILON 1.0842021724855044340e-19L
-+
-+#define LDBL_MANT_DIG 64
-+#define LDBL_MIN_EXP (-16381)
-+#define LDBL_MAX_EXP 16384
-+
-+#define LDBL_DIG 18
-+#define LDBL_MIN_10_EXP (-4931)
-+#define LDBL_MAX_10_EXP 4932
-+
-+#define DECIMAL_DIG 21
-diff -Nur musl-0.9.15/arch/x32/bits/ioctl.h musl-git/arch/x32/bits/ioctl.h
---- musl-0.9.15/arch/x32/bits/ioctl.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/ioctl.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,197 @@
-+#define _IOC(a,b,c,d) ( ((a)<<30) | ((b)<<8) | (c) | ((d)<<16) )
-+#define _IOC_NONE  0U
-+#define _IOC_WRITE 1U
-+#define _IOC_READ  2U
-+
-+#define _IO(a,b) _IOC(_IOC_NONE,(a),(b),0)
-+#define _IOW(a,b,c) _IOC(_IOC_WRITE,(a),(b),sizeof(c))
-+#define _IOR(a,b,c) _IOC(_IOC_READ,(a),(b),sizeof(c))
-+#define _IOWR(a,b,c) _IOC(_IOC_READ|_IOC_WRITE,(a),(b),sizeof(c))
-+
-+#define TCGETS		0x5401
-+#define TCSETS		0x5402
-+#define TCSETSW		0x5403
-+#define TCSETSF		0x5404
-+#define TCGETA		0x5405
-+#define TCSETA		0x5406
-+#define TCSETAW		0x5407
-+#define TCSETAF		0x5408
-+#define TCSBRK		0x5409
-+#define TCXONC		0x540A
-+#define TCFLSH		0x540B
-+#define TIOCEXCL	0x540C
-+#define TIOCNXCL	0x540D
-+#define TIOCSCTTY	0x540E
-+#define TIOCGPGRP	0x540F
-+#define TIOCSPGRP	0x5410
-+#define TIOCOUTQ	0x5411
-+#define TIOCSTI		0x5412
-+#define TIOCGWINSZ	0x5413
-+#define TIOCSWINSZ	0x5414
-+#define TIOCMGET	0x5415
-+#define TIOCMBIS	0x5416
-+#define TIOCMBIC	0x5417
-+#define TIOCMSET	0x5418
-+#define TIOCGSOFTCAR	0x5419
-+#define TIOCSSOFTCAR	0x541A
-+#define FIONREAD	0x541B
-+#define TIOCINQ		FIONREAD
-+#define TIOCLINUX	0x541C
-+#define TIOCCONS	0x541D
-+#define TIOCGSERIAL	0x541E
-+#define TIOCSSERIAL	0x541F
-+#define TIOCPKT		0x5420
-+#define FIONBIO		0x5421
-+#define TIOCNOTTY	0x5422
-+#define TIOCSETD	0x5423
-+#define TIOCGETD	0x5424
-+#define TCSBRKP		0x5425
-+#define TIOCTTYGSTRUCT	0x5426
-+#define TIOCSBRK	0x5427
-+#define TIOCCBRK	0x5428
-+#define TIOCGSID	0x5429
-+#define TIOCGPTN	0x80045430
-+#define TIOCSPTLCK	0x40045431
-+#define TCGETX          0x5432
-+#define TCSETX          0x5433
-+#define TCSETXF         0x5434
-+#define TCSETXW         0x5435
-+
-+#define FIONCLEX	0x5450
-+#define FIOCLEX		0x5451
-+#define FIOASYNC	0x5452
-+#define TIOCSERCONFIG	0x5453
-+#define TIOCSERGWILD	0x5454
-+#define TIOCSERSWILD	0x5455
-+#define TIOCGLCKTRMIOS	0x5456
-+#define TIOCSLCKTRMIOS	0x5457
-+#define TIOCSERGSTRUCT	0x5458
-+#define TIOCSERGETLSR   0x5459
-+#define TIOCSERGETMULTI 0x545A
-+#define TIOCSERSETMULTI 0x545B
-+
-+#define TIOCMIWAIT	0x545C
-+#define TIOCGICOUNT	0x545D
-+#define TIOCGHAYESESP   0x545E
-+#define TIOCSHAYESESP   0x545F
-+#define FIOQSIZE	0x5460
-+
-+#define TIOCPKT_DATA		 0
-+#define TIOCPKT_FLUSHREAD	 1
-+#define TIOCPKT_FLUSHWRITE	 2
-+#define TIOCPKT_STOP		 4
-+#define TIOCPKT_START		 8
-+#define TIOCPKT_NOSTOP		16
-+#define TIOCPKT_DOSTOP		32
-+#define TIOCPKT_IOCTL           64
-+
-+#define TIOCSER_TEMT    0x01
-+
-+struct winsize {
-+	unsigned short ws_row;
-+	unsigned short ws_col;
-+	unsigned short ws_xpixel;
-+	unsigned short ws_ypixel;
-+};
-+
-+#define TIOCM_LE        0x001
-+#define TIOCM_DTR       0x002
-+#define TIOCM_RTS       0x004
-+#define TIOCM_ST        0x008
-+#define TIOCM_SR        0x010
-+#define TIOCM_CTS       0x020
-+#define TIOCM_CAR       0x040
-+#define TIOCM_RNG       0x080
-+#define TIOCM_DSR       0x100
-+#define TIOCM_CD        TIOCM_CAR
-+#define TIOCM_RI        TIOCM_RNG
-+#define TIOCM_OUT1      0x2000
-+#define TIOCM_OUT2      0x4000
-+#define TIOCM_LOOP      0x8000
-+#define TIOCM_MODEM_BITS TIOCM_OUT2
-+
-+#define N_TTY           0
-+#define N_SLIP          1
-+#define N_MOUSE         2
-+#define N_PPP           3
-+#define N_STRIP         4
-+#define N_AX25          5
-+#define N_X25           6
-+#define N_6PACK         7
-+#define N_MASC          8
-+#define N_R3964         9
-+#define N_PROFIBUS_FDL  10
-+#define N_IRDA          11
-+#define N_SMSBLOCK      12
-+#define N_HDLC          13
-+#define N_SYNC_PPP      14
-+#define N_HCI           15
-+
-+#define FIOSETOWN       0x8901
-+#define SIOCSPGRP       0x8902
-+#define FIOGETOWN       0x8903
-+#define SIOCGPGRP       0x8904
-+#define SIOCATMARK      0x8905
-+#define SIOCGSTAMP      0x8906
-+
-+#define SIOCADDRT       0x890B
-+#define SIOCDELRT       0x890C
-+#define SIOCRTMSG       0x890D
-+
-+#define SIOCGIFNAME     0x8910
-+#define SIOCSIFLINK     0x8911
-+#define SIOCGIFCONF     0x8912
-+#define SIOCGIFFLAGS    0x8913
-+#define SIOCSIFFLAGS    0x8914
-+#define SIOCGIFADDR     0x8915
-+#define SIOCSIFADDR     0x8916
-+#define SIOCGIFDSTADDR  0x8917
-+#define SIOCSIFDSTADDR  0x8918
-+#define SIOCGIFBRDADDR  0x8919
-+#define SIOCSIFBRDADDR  0x891a
-+#define SIOCGIFNETMASK  0x891b
-+#define SIOCSIFNETMASK  0x891c
-+#define SIOCGIFMETRIC   0x891d
-+#define SIOCSIFMETRIC   0x891e
-+#define SIOCGIFMEM      0x891f
-+#define SIOCSIFMEM      0x8920
-+#define SIOCGIFMTU      0x8921
-+#define SIOCSIFMTU      0x8922
-+#define SIOCSIFHWADDR   0x8924
-+#define SIOCGIFENCAP    0x8925
-+#define SIOCSIFENCAP    0x8926
-+#define SIOCGIFHWADDR   0x8927
-+#define SIOCGIFSLAVE    0x8929
-+#define SIOCSIFSLAVE    0x8930
-+#define SIOCADDMULTI    0x8931
-+#define SIOCDELMULTI    0x8932
-+#define SIOCGIFINDEX    0x8933
-+#define SIOGIFINDEX     SIOCGIFINDEX
-+#define SIOCSIFPFLAGS   0x8934
-+#define SIOCGIFPFLAGS   0x8935
-+#define SIOCDIFADDR     0x8936
-+#define SIOCSIFHWBROADCAST 0x8937
-+#define SIOCGIFCOUNT    0x8938
-+
-+#define SIOCGIFBR       0x8940
-+#define SIOCSIFBR       0x8941
-+
-+#define SIOCGIFTXQLEN   0x8942
-+#define SIOCSIFTXQLEN   0x8943
-+
-+#define SIOCDARP        0x8953
-+#define SIOCGARP        0x8954
-+#define SIOCSARP        0x8955
-+
-+#define SIOCDRARP       0x8960
-+#define SIOCGRARP       0x8961
-+#define SIOCSRARP       0x8962
-+
-+#define SIOCGIFMAP      0x8970
-+#define SIOCSIFMAP      0x8971
-+
-+#define SIOCADDDLCI     0x8980
-+#define SIOCDELDLCI     0x8981
-+
-+#define SIOCDEVPRIVATE  0x89F0
-+#define SIOCPROTOPRIVATE 0x89E0
-diff -Nur musl-0.9.15/arch/x32/bits/io.h musl-git/arch/x32/bits/io.h
---- musl-0.9.15/arch/x32/bits/io.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/io.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,77 @@
-+static __inline void outb(unsigned char __val, unsigned short __port)
-+{
-+	__asm__ volatile ("outb %0,%1" : : "a" (__val), "dN" (__port));
-+}
-+
-+static __inline void outw(unsigned short __val, unsigned short __port)
-+{
-+	__asm__ volatile ("outw %0,%1" : : "a" (__val), "dN" (__port));
-+}
-+
-+static __inline void outl(unsigned int __val, unsigned short __port)
-+{
-+	__asm__ volatile ("outl %0,%1" : : "a" (__val), "dN" (__port));
-+}
-+
-+static __inline unsigned char inb(unsigned short __port)
-+{
-+	unsigned char __val;
-+	__asm__ volatile ("inb %1,%0" : "=a" (__val) : "dN" (__port));
-+	return __val;
-+}
-+
-+static __inline unsigned short inw(unsigned short __port)
-+{
-+	unsigned short __val;
-+	__asm__ volatile ("inw %1,%0" : "=a" (__val) : "dN" (__port));
-+	return __val;
-+}
-+
-+static __inline unsigned int inl(unsigned short __port)
-+{
-+	unsigned int __val;
-+	__asm__ volatile ("inl %1,%0" : "=a" (__val) : "dN" (__port));
-+	return __val;
-+}
-+
-+static __inline void outsb(unsigned short __port, const void *__buf, unsigned long __n)
-+{
-+	__asm__ volatile ("cld; rep; outsb"
-+		      : "+S" (__buf), "+c" (__n)
-+		      : "d" (__port));
-+}
-+
-+static __inline void outsw(unsigned short __port, const void *__buf, unsigned long __n)
-+{
-+	__asm__ volatile ("cld; rep; outsw"
-+		      : "+S" (__buf), "+c" (__n)
-+		      : "d" (__port));
-+}
-+
-+static __inline void outsl(unsigned short __port, const void *__buf, unsigned long __n)
-+{
-+	__asm__ volatile ("cld; rep; outsl"
-+		      : "+S" (__buf), "+c"(__n)
-+		      : "d" (__port));
-+}
-+
-+static __inline void insb(unsigned short __port, void *__buf, unsigned long __n)
-+{
-+	__asm__ volatile ("cld; rep; insb"
-+		      : "+D" (__buf), "+c" (__n)
-+		      : "d" (__port));
-+}
-+
-+static __inline void insw(unsigned short __port, void *__buf, unsigned long __n)
-+{
-+	__asm__ volatile ("cld; rep; insw"
-+		      : "+D" (__buf), "+c" (__n)
-+		      : "d" (__port));
-+}
-+
-+static __inline void insl(unsigned short __port, void *__buf, unsigned long __n)
-+{
-+	__asm__ volatile ("cld; rep; insl"
-+		      : "+D" (__buf), "+c" (__n)
-+		      : "d" (__port));
-+}
-diff -Nur musl-0.9.15/arch/x32/bits/ipc.h musl-git/arch/x32/bits/ipc.h
---- musl-0.9.15/arch/x32/bits/ipc.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/ipc.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,14 @@
-+struct ipc_perm
-+{
-+	key_t __ipc_perm_key;
-+	uid_t uid;
-+	gid_t gid;
-+	uid_t cuid;
-+	gid_t cgid;
-+	mode_t mode;
-+	int __ipc_perm_seq;
-+	long long __pad1;
-+	long long __pad2;
-+};
-+
-+#define IPC_64 0
-diff -Nur musl-0.9.15/arch/x32/bits/limits.h musl-git/arch/x32/bits/limits.h
---- musl-0.9.15/arch/x32/bits/limits.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/limits.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,8 @@
-+#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
-+ || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-+#define PAGE_SIZE 4096
-+#define LONG_BIT 32
-+#endif
-+
-+#define LONG_MAX  0x7fffffffL
-+#define LLONG_MAX  0x7fffffffffffffffLL
-diff -Nur musl-0.9.15/arch/x32/bits/mman.h musl-git/arch/x32/bits/mman.h
---- musl-0.9.15/arch/x32/bits/mman.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/mman.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,62 @@
-+#define MAP_FAILED ((void *) -1)
-+
-+#define	PROT_NONE      0
-+#define	PROT_READ      1
-+#define	PROT_WRITE     2
-+#define	PROT_EXEC      4
-+#define PROT_GROWSDOWN  0x01000000
-+#define PROT_GROWSUP    0x02000000
-+
-+#define	MAP_SHARED     0x01
-+#define	MAP_PRIVATE    0x02
-+#define	MAP_FIXED      0x10
-+
-+#define MAP_TYPE       0x0f
-+#define MAP_FILE       0x00
-+#define MAP_ANON       0x20
-+#define MAP_ANONYMOUS  MAP_ANON
-+#define MAP_32BIT      0x40
-+#define MAP_NORESERVE  0x4000
-+#define MAP_GROWSDOWN  0x0100
-+#define MAP_DENYWRITE  0x0800
-+#define MAP_EXECUTABLE 0x1000
-+#define MAP_LOCKED     0x2000
-+#define MAP_POPULATE   0x8000
-+#define MAP_NONBLOCK   0x10000
-+#define MAP_STACK      0x20000
-+#define MAP_HUGETLB    0x40000
-+
-+#define POSIX_MADV_NORMAL       0
-+#define POSIX_MADV_RANDOM       1
-+#define POSIX_MADV_SEQUENTIAL   2
-+#define POSIX_MADV_WILLNEED     3
-+#define POSIX_MADV_DONTNEED     0
-+
-+#define MS_ASYNC        1
-+#define MS_INVALIDATE   2
-+#define MS_SYNC         4
-+
-+#define MCL_CURRENT     1
-+#define MCL_FUTURE      2
-+
-+#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-+#define MADV_NORMAL      0
-+#define MADV_RANDOM      1
-+#define MADV_SEQUENTIAL  2
-+#define MADV_WILLNEED    3
-+#define MADV_DONTNEED    4
-+#define MADV_REMOVE      9
-+#define MADV_DONTFORK    10
-+#define MADV_DOFORK      11
-+#define MADV_MERGEABLE   12
-+#define MADV_UNMERGEABLE 13
-+#define MADV_HUGEPAGE    14
-+#define MADV_NOHUGEPAGE  15
-+#define MADV_DONTDUMP    16
-+#define MADV_DODUMP      17
-+#define MADV_HWPOISON    100
-+#define MADV_SOFT_OFFLINE 101
-+
-+#define MREMAP_MAYMOVE  1
-+#define MREMAP_FIXED    2
-+#endif
-diff -Nur musl-0.9.15/arch/x32/bits/msg.h musl-git/arch/x32/bits/msg.h
---- musl-0.9.15/arch/x32/bits/msg.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/msg.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,16 @@
-+struct msqid_ds
-+{
-+	struct ipc_perm msg_perm;
-+	time_t msg_stime;
-+	time_t msg_rtime;
-+	time_t msg_ctime;
-+	unsigned long msg_cbytes;
-+	long __unused1;
-+	msgqnum_t msg_qnum;
-+	long __unused2;
-+	msglen_t msg_qbytes;
-+	long __unused3;
-+	pid_t msg_lspid;
-+	pid_t msg_lrpid;
-+	unsigned long long __unused[2];
-+};
-diff -Nur musl-0.9.15/arch/x32/bits/posix.h musl-git/arch/x32/bits/posix.h
---- musl-0.9.15/arch/x32/bits/posix.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/posix.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,2 @@
-+#define _POSIX_V6_LP64_OFF64  1
-+#define _POSIX_V7_LP64_OFF64  1
-diff -Nur musl-0.9.15/arch/x32/bits/reg.h musl-git/arch/x32/bits/reg.h
---- musl-0.9.15/arch/x32/bits/reg.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/reg.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,29 @@
-+#undef __WORDSIZE
-+#define __WORDSIZE 32
-+#define R15    0
-+#define R14    1
-+#define R13    2
-+#define R12    3
-+#define RBP    4
-+#define RBX    5
-+#define R11    6
-+#define R10    7
-+#define R9     8
-+#define R8     9
-+#define RAX    10
-+#define RCX    11
-+#define RDX    12
-+#define RSI    13
-+#define RDI    14
-+#define ORIG_RAX 15
-+#define RIP    16
-+#define CS     17
-+#define EFLAGS 18
-+#define RSP    19
-+#define SS     20
-+#define FS_BASE 21
-+#define GS_BASE 22
-+#define DS     23
-+#define ES     24
-+#define FS     25
-+#define GS     26
-diff -Nur musl-0.9.15/arch/x32/bits/sem.h musl-git/arch/x32/bits/sem.h
---- musl-0.9.15/arch/x32/bits/sem.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/sem.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,16 @@
-+struct semid_ds {
-+	struct ipc_perm sem_perm;
-+	time_t sem_otime;
-+	time_t __unused1;
-+	time_t sem_ctime;
-+	time_t __unused2;
-+#if __BYTE_ORDER == __LITTLE_ENDIAN
-+	unsigned short sem_nsems;
-+	char __sem_nsems_pad[sizeof(time_t)-sizeof(short)];
-+#else
-+	char __sem_nsems_pad[sizeof(time_t)-sizeof(short)];
-+	unsigned short sem_nsems;
-+#endif
-+	time_t __unused3;
-+	time_t __unused4;
-+};
-diff -Nur musl-0.9.15/arch/x32/bits/setjmp.h musl-git/arch/x32/bits/setjmp.h
---- musl-0.9.15/arch/x32/bits/setjmp.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/setjmp.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1 @@
-+typedef unsigned long long __jmp_buf[8];
-diff -Nur musl-0.9.15/arch/x32/bits/shm.h musl-git/arch/x32/bits/shm.h
---- musl-0.9.15/arch/x32/bits/shm.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/shm.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,33 @@
-+#define SHMLBA 4096
-+
-+struct shmid_ds
-+{
-+	struct ipc_perm shm_perm;
-+	size_t shm_segsz;
-+	time_t shm_atime;
-+	time_t shm_dtime;
-+	time_t shm_ctime;
-+	pid_t shm_cpid;
-+	pid_t shm_lpid;
-+	unsigned long shm_nattch;
-+	unsigned long __pad0;
-+	unsigned long long __pad1;
-+	unsigned long long __pad2;
-+};
-+
-+struct shminfo {
-+	unsigned long shmmax, __pad0, shmmin, __pad1, shmmni, __pad2,
-+	              shmseg, __pad3, shmall, __pad4;
-+	unsigned long long __unused[4];
-+};
-+
-+struct shm_info {
-+	int __used_ids;
-+	int __pad_ids;
-+	unsigned long shm_tot, __pad0, shm_rss, __pad1, shm_swp, __pad2;
-+	unsigned long __swap_attempts, __pad3, __swap_successes, __pad4;
-+}
-+#ifdef __GNUC__
-+__attribute__((__aligned__(8)))
-+#endif
-+;
-diff -Nur musl-0.9.15/arch/x32/bits/signal.h musl-git/arch/x32/bits/signal.h
---- musl-0.9.15/arch/x32/bits/signal.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/signal.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,125 @@
-+#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
-+ || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-+
-+#ifdef _GNU_SOURCE
-+#define REG_R8          0
-+#define REG_R9          1
-+#define REG_R10         2
-+#define REG_R11         3
-+#define REG_R12         4
-+#define REG_R13         5
-+#define REG_R14         6
-+#define REG_R15         7
-+#define REG_RDI         8
-+#define REG_RSI         9
-+#define REG_RBP         10
-+#define REG_RBX         11
-+#define REG_RDX         12
-+#define REG_RAX         13
-+#define REG_RCX         14
-+#define REG_RSP         15
-+#define REG_RIP         16
-+#define REG_EFL         17
-+#define REG_CSGSFS      18
-+#define REG_ERR         19
-+#define REG_TRAPNO      20
-+#define REG_OLDMASK     21
-+#define REG_CR2         22
-+#endif
-+
-+#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-+typedef long long greg_t, gregset_t[23];
-+typedef struct _fpstate {
-+	unsigned short cwd, swd, ftw, fop;
-+	unsigned long long rip, rdp;
-+	unsigned mxcsr, mxcr_mask;
-+	struct {
-+		unsigned short significand[4], exponent, padding[3];
-+	} _st[8];
-+	struct {
-+		unsigned element[4];
-+	} _xmm[16];
-+	unsigned padding[24];
-+} *fpregset_t;
-+struct sigcontext {
-+	unsigned long long r8, r9, r10, r11, r12, r13, r14, r15;
-+	unsigned long long rdi, rsi, rbp, rbx, rdx, rax, rcx, rsp, rip, eflags;
-+	unsigned short cs, gs, fs, __pad0;
-+	unsigned long long err, trapno, oldmask, cr2;
-+	struct _fpstate *fpstate;
-+	unsigned long long __reserved1[8];
-+};
-+typedef struct {
-+	gregset_t gregs;
-+	fpregset_t fpregs;
-+	unsigned long long __reserved1[8];
-+} mcontext_t;
-+#else
-+typedef struct {
-+	unsigned long long __space[32];
-+} mcontext_t;
-+#endif
-+
-+struct sigaltstack {
-+	void *ss_sp;
-+	int ss_flags;
-+	size_t ss_size;
-+};
-+
-+typedef struct __ucontext {
-+	unsigned long uc_flags;
-+	struct __ucontext *uc_link;
-+	stack_t uc_stack;
-+	mcontext_t uc_mcontext;
-+	sigset_t uc_sigmask;
-+	unsigned long long __fpregs_mem[64];
-+} ucontext_t;
-+
-+#define SA_NOCLDSTOP  1
-+#define SA_NOCLDWAIT  2
-+#define SA_SIGINFO    4
-+#define SA_ONSTACK    0x08000000
-+#define SA_RESTART    0x10000000
-+#define SA_NODEFER    0x40000000
-+#define SA_RESETHAND  0x80000000
-+#define SA_RESTORER   0x04000000
-+
-+#endif
-+
-+#define SIGHUP    1
-+#define SIGINT    2
-+#define SIGQUIT   3
-+#define SIGILL    4
-+#define SIGTRAP   5
-+#define SIGABRT   6
-+#define SIGIOT    SIGABRT
-+#define SIGBUS    7
-+#define SIGFPE    8
-+#define SIGKILL   9
-+#define SIGUSR1   10
-+#define SIGSEGV   11
-+#define SIGUSR2   12
-+#define SIGPIPE   13
-+#define SIGALRM   14
-+#define SIGTERM   15
-+#define SIGSTKFLT 16
-+#define SIGCHLD   17
-+#define SIGCONT   18
-+#define SIGSTOP   19
-+#define SIGTSTP   20
-+#define SIGTTIN   21
-+#define SIGTTOU   22
-+#define SIGURG    23
-+#define SIGXCPU   24
-+#define SIGXFSZ   25
-+#define SIGVTALRM 26
-+#define SIGPROF   27
-+#define SIGWINCH  28
-+#define SIGIO     29
-+#define SIGPOLL   29
-+#define SIGPWR    30
-+#define SIGSYS    31
-+#define SIGUNUSED SIGSYS
-+
-+#define _NSIG 65
-+
-diff -Nur musl-0.9.15/arch/x32/bits/socket.h musl-git/arch/x32/bits/socket.h
---- musl-0.9.15/arch/x32/bits/socket.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/socket.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,18 @@
-+struct msghdr
-+{
-+	void *msg_name;
-+	socklen_t msg_namelen;
-+	struct iovec *msg_iov;
-+	int msg_iovlen, __pad1;
-+	void *msg_control;
-+	socklen_t msg_controllen, __pad2;
-+	int msg_flags;
-+};
-+
-+struct cmsghdr
-+{
-+	socklen_t cmsg_len;
-+	int __pad1;
-+	int cmsg_level;
-+	int cmsg_type;
-+};
-diff -Nur musl-0.9.15/arch/x32/bits/statfs.h musl-git/arch/x32/bits/statfs.h
---- musl-0.9.15/arch/x32/bits/statfs.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/statfs.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,9 @@
-+struct statfs {
-+	unsigned long f_type, __pad0, f_bsize, __pad1;
-+	fsblkcnt_t f_blocks, f_bfree, f_bavail;
-+	fsfilcnt_t f_files, f_ffree;
-+	fsid_t f_fsid;
-+	unsigned long f_namelen, __pad2, f_frsize, __pad3;
-+	unsigned long f_flags, __pad4;
-+	unsigned long long f_spare[4];
-+};
-diff -Nur musl-0.9.15/arch/x32/bits/stat.h musl-git/arch/x32/bits/stat.h
---- musl-0.9.15/arch/x32/bits/stat.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/stat.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,22 @@
-+/* copied from kernel definition, but with padding replaced
-+ * by the corresponding correctly-sized userspace types. */
-+
-+struct stat {
-+	dev_t st_dev;
-+	ino_t st_ino;
-+	nlink_t st_nlink;
-+
-+	mode_t st_mode;
-+	uid_t st_uid;
-+	gid_t st_gid;
-+	unsigned int    __pad0;
-+	dev_t st_rdev;
-+	off_t st_size;
-+	blksize_t st_blksize;
-+	blkcnt_t st_blocks;
-+
-+	struct timespec st_atim;
-+	struct timespec st_mtim;
-+	struct timespec st_ctim;
-+	long long __unused[3];
-+};
-diff -Nur musl-0.9.15/arch/x32/bits/stdarg.h musl-git/arch/x32/bits/stdarg.h
---- musl-0.9.15/arch/x32/bits/stdarg.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/stdarg.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,4 @@
-+#define va_start(v,l)   __builtin_va_start(v,l)
-+#define va_end(v)       __builtin_va_end(v)
-+#define va_arg(v,l)     __builtin_va_arg(v,l)
-+#define va_copy(d,s)    __builtin_va_copy(d,s)
-diff -Nur musl-0.9.15/arch/x32/bits/stdint.h musl-git/arch/x32/bits/stdint.h
---- musl-0.9.15/arch/x32/bits/stdint.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/stdint.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,20 @@
-+typedef int32_t int_fast16_t;
-+typedef int32_t int_fast32_t;
-+typedef uint32_t uint_fast16_t;
-+typedef uint32_t uint_fast32_t;
-+
-+#define INT_FAST16_MIN  INT32_MIN
-+#define INT_FAST32_MIN  INT32_MIN
-+
-+#define INT_FAST16_MAX  INT32_MAX
-+#define INT_FAST32_MAX  INT32_MAX
-+
-+#define UINT_FAST16_MAX UINT32_MAX
-+#define UINT_FAST32_MAX UINT32_MAX
-+
-+#define INTPTR_MIN      INT32_MIN
-+#define INTPTR_MAX      INT32_MAX
-+#define UINTPTR_MAX     UINT32_MAX
-+#define PTRDIFF_MIN     INT32_MIN
-+#define PTRDIFF_MAX     INT32_MAX
-+#define SIZE_MAX        UINT32_MAX
-diff -Nur musl-0.9.15/arch/x32/bits/syscall.h musl-git/arch/x32/bits/syscall.h
---- musl-0.9.15/arch/x32/bits/syscall.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/syscall.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,634 @@
-+#define __X32_SYSCALL_BIT        0x40000000
-+#define __NR_read (__X32_SYSCALL_BIT + 0)
-+#define __NR_write (__X32_SYSCALL_BIT + 1)
-+#define __NR_open (__X32_SYSCALL_BIT + 2)
-+#define __NR_close (__X32_SYSCALL_BIT + 3)
-+#define __NR_stat (__X32_SYSCALL_BIT + 4)
-+#define __NR_fstat (__X32_SYSCALL_BIT + 5)
-+#define __NR_lstat (__X32_SYSCALL_BIT + 6)
-+#define __NR_poll (__X32_SYSCALL_BIT + 7)
-+#define __NR_lseek (__X32_SYSCALL_BIT + 8)
-+#define __NR_mmap (__X32_SYSCALL_BIT + 9)
-+#define __NR_mprotect (__X32_SYSCALL_BIT + 10)
-+#define __NR_munmap (__X32_SYSCALL_BIT + 11)
-+#define __NR_brk (__X32_SYSCALL_BIT + 12)
-+#define __NR_rt_sigprocmask (__X32_SYSCALL_BIT + 14)
-+#define __NR_pread64 (__X32_SYSCALL_BIT + 17)
-+#define __NR_pwrite64 (__X32_SYSCALL_BIT + 18)
-+#define __NR_access (__X32_SYSCALL_BIT + 21)
-+#define __NR_pipe (__X32_SYSCALL_BIT + 22)
-+#define __NR_select (__X32_SYSCALL_BIT + 23)
-+#define __NR_sched_yield (__X32_SYSCALL_BIT + 24)
-+#define __NR_mremap (__X32_SYSCALL_BIT + 25)
-+#define __NR_msync (__X32_SYSCALL_BIT + 26)
-+#define __NR_mincore (__X32_SYSCALL_BIT + 27)
-+#define __NR_madvise (__X32_SYSCALL_BIT + 28)
-+#define __NR_shmget (__X32_SYSCALL_BIT + 29)
-+#define __NR_shmat (__X32_SYSCALL_BIT + 30)
-+#define __NR_shmctl (__X32_SYSCALL_BIT + 31)
-+#define __NR_dup (__X32_SYSCALL_BIT + 32)
-+#define __NR_dup2 (__X32_SYSCALL_BIT + 33)
-+#define __NR_pause (__X32_SYSCALL_BIT + 34)
-+#define __NR_nanosleep (__X32_SYSCALL_BIT + 35)
-+#define __NR_getitimer (__X32_SYSCALL_BIT + 36)
-+#define __NR_alarm (__X32_SYSCALL_BIT + 37)
-+#define __NR_setitimer (__X32_SYSCALL_BIT + 38)
-+#define __NR_getpid (__X32_SYSCALL_BIT + 39)
-+#define __NR_sendfile (__X32_SYSCALL_BIT + 40)
-+#define __NR_socket (__X32_SYSCALL_BIT + 41)
-+#define __NR_connect (__X32_SYSCALL_BIT + 42)
-+#define __NR_accept (__X32_SYSCALL_BIT + 43)
-+#define __NR_sendto (__X32_SYSCALL_BIT + 44)
-+#define __NR_shutdown (__X32_SYSCALL_BIT + 48)
-+#define __NR_bind (__X32_SYSCALL_BIT + 49)
-+#define __NR_listen (__X32_SYSCALL_BIT + 50)
-+#define __NR_getsockname (__X32_SYSCALL_BIT + 51)
-+#define __NR_getpeername (__X32_SYSCALL_BIT + 52)
-+#define __NR_socketpair (__X32_SYSCALL_BIT + 53)
-+#define __NR_clone (__X32_SYSCALL_BIT + 56)
-+#define __NR_fork (__X32_SYSCALL_BIT + 57)
-+#define __NR_vfork (__X32_SYSCALL_BIT + 58)
-+#define __NR_exit (__X32_SYSCALL_BIT + 60)
-+#define __NR_wait4 (__X32_SYSCALL_BIT + 61)
-+#define __NR_kill (__X32_SYSCALL_BIT + 62)
-+#define __NR_uname (__X32_SYSCALL_BIT + 63)
-+#define __NR_semget (__X32_SYSCALL_BIT + 64)
-+#define __NR_semop (__X32_SYSCALL_BIT + 65)
-+#define __NR_semctl (__X32_SYSCALL_BIT + 66)
-+#define __NR_shmdt (__X32_SYSCALL_BIT + 67)
-+#define __NR_msgget (__X32_SYSCALL_BIT + 68)
-+#define __NR_msgsnd (__X32_SYSCALL_BIT + 69)
-+#define __NR_msgrcv (__X32_SYSCALL_BIT + 70)
-+#define __NR_msgctl (__X32_SYSCALL_BIT + 71)
-+#define __NR_fcntl (__X32_SYSCALL_BIT + 72)
-+#define __NR_flock (__X32_SYSCALL_BIT + 73)
-+#define __NR_fsync (__X32_SYSCALL_BIT + 74)
-+#define __NR_fdatasync (__X32_SYSCALL_BIT + 75)
-+#define __NR_truncate (__X32_SYSCALL_BIT + 76)
-+#define __NR_ftruncate (__X32_SYSCALL_BIT + 77)
-+#define __NR_getdents (__X32_SYSCALL_BIT + 78)
-+#define __NR_getcwd (__X32_SYSCALL_BIT + 79)
-+#define __NR_chdir (__X32_SYSCALL_BIT + 80)
-+#define __NR_fchdir (__X32_SYSCALL_BIT + 81)
-+#define __NR_rename (__X32_SYSCALL_BIT + 82)
-+#define __NR_mkdir (__X32_SYSCALL_BIT + 83)
-+#define __NR_rmdir (__X32_SYSCALL_BIT + 84)
-+#define __NR_creat (__X32_SYSCALL_BIT + 85)
-+#define __NR_link (__X32_SYSCALL_BIT + 86)
-+#define __NR_unlink (__X32_SYSCALL_BIT + 87)
-+#define __NR_symlink (__X32_SYSCALL_BIT + 88)
-+#define __NR_readlink (__X32_SYSCALL_BIT + 89)
-+#define __NR_chmod (__X32_SYSCALL_BIT + 90)
-+#define __NR_fchmod (__X32_SYSCALL_BIT + 91)
-+#define __NR_chown (__X32_SYSCALL_BIT + 92)
-+#define __NR_fchown (__X32_SYSCALL_BIT + 93)
-+#define __NR_lchown (__X32_SYSCALL_BIT + 94)
-+#define __NR_umask (__X32_SYSCALL_BIT + 95)
-+#define __NR_gettimeofday (__X32_SYSCALL_BIT + 96)
-+#define __NR_getrlimit (__X32_SYSCALL_BIT + 97)
-+#define __NR_getrusage (__X32_SYSCALL_BIT + 98)
-+#define __NR_sysinfo (__X32_SYSCALL_BIT + 99)
-+#define __NR_times (__X32_SYSCALL_BIT + 100)
-+#define __NR_getuid (__X32_SYSCALL_BIT + 102)
-+#define __NR_syslog (__X32_SYSCALL_BIT + 103)
-+#define __NR_getgid (__X32_SYSCALL_BIT + 104)
-+#define __NR_setuid (__X32_SYSCALL_BIT + 105)
-+#define __NR_setgid (__X32_SYSCALL_BIT + 106)
-+#define __NR_geteuid (__X32_SYSCALL_BIT + 107)
-+#define __NR_getegid (__X32_SYSCALL_BIT + 108)
-+#define __NR_setpgid (__X32_SYSCALL_BIT + 109)
-+#define __NR_getppid (__X32_SYSCALL_BIT + 110)
-+#define __NR_getpgrp (__X32_SYSCALL_BIT + 111)
-+#define __NR_setsid (__X32_SYSCALL_BIT + 112)
-+#define __NR_setreuid (__X32_SYSCALL_BIT + 113)
-+#define __NR_setregid (__X32_SYSCALL_BIT + 114)
-+#define __NR_getgroups (__X32_SYSCALL_BIT + 115)
-+#define __NR_setgroups (__X32_SYSCALL_BIT + 116)
-+#define __NR_setresuid (__X32_SYSCALL_BIT + 117)
-+#define __NR_getresuid (__X32_SYSCALL_BIT + 118)
-+#define __NR_setresgid (__X32_SYSCALL_BIT + 119)
-+#define __NR_getresgid (__X32_SYSCALL_BIT + 120)
-+#define __NR_getpgid (__X32_SYSCALL_BIT + 121)
-+#define __NR_setfsuid (__X32_SYSCALL_BIT + 122)
-+#define __NR_setfsgid (__X32_SYSCALL_BIT + 123)
-+#define __NR_getsid (__X32_SYSCALL_BIT + 124)
-+#define __NR_capget (__X32_SYSCALL_BIT + 125)
-+#define __NR_capset (__X32_SYSCALL_BIT + 126)
-+#define __NR_rt_sigsuspend (__X32_SYSCALL_BIT + 130)
-+#define __NR_utime (__X32_SYSCALL_BIT + 132)
-+#define __NR_mknod (__X32_SYSCALL_BIT + 133)
-+#define __NR_personality (__X32_SYSCALL_BIT + 135)
-+#define __NR_ustat (__X32_SYSCALL_BIT + 136)
-+#define __NR_statfs (__X32_SYSCALL_BIT + 137)
-+#define __NR_fstatfs (__X32_SYSCALL_BIT + 138)
-+#define __NR_sysfs (__X32_SYSCALL_BIT + 139)
-+#define __NR_getpriority (__X32_SYSCALL_BIT + 140)
-+#define __NR_setpriority (__X32_SYSCALL_BIT + 141)
-+#define __NR_sched_setparam (__X32_SYSCALL_BIT + 142)
-+#define __NR_sched_getparam (__X32_SYSCALL_BIT + 143)
-+#define __NR_sched_setscheduler (__X32_SYSCALL_BIT + 144)
-+#define __NR_sched_getscheduler (__X32_SYSCALL_BIT + 145)
-+#define __NR_sched_get_priority_max (__X32_SYSCALL_BIT + 146)
-+#define __NR_sched_get_priority_min (__X32_SYSCALL_BIT + 147)
-+#define __NR_sched_rr_get_interval (__X32_SYSCALL_BIT + 148)
-+#define __NR_mlock (__X32_SYSCALL_BIT + 149)
-+#define __NR_munlock (__X32_SYSCALL_BIT + 150)
-+#define __NR_mlockall (__X32_SYSCALL_BIT + 151)
-+#define __NR_munlockall (__X32_SYSCALL_BIT + 152)
-+#define __NR_vhangup (__X32_SYSCALL_BIT + 153)
-+#define __NR_modify_ldt (__X32_SYSCALL_BIT + 154)
-+#define __NR_pivot_root (__X32_SYSCALL_BIT + 155)
-+#define __NR_prctl (__X32_SYSCALL_BIT + 157)
-+#define __NR_arch_prctl (__X32_SYSCALL_BIT + 158)
-+#define __NR_adjtimex (__X32_SYSCALL_BIT + 159)
-+#define __NR_setrlimit (__X32_SYSCALL_BIT + 160)
-+#define __NR_chroot (__X32_SYSCALL_BIT + 161)
-+#define __NR_sync (__X32_SYSCALL_BIT + 162)
-+#define __NR_acct (__X32_SYSCALL_BIT + 163)
-+#define __NR_settimeofday (__X32_SYSCALL_BIT + 164)
-+#define __NR_mount (__X32_SYSCALL_BIT + 165)
-+#define __NR_umount2 (__X32_SYSCALL_BIT + 166)
-+#define __NR_swapon (__X32_SYSCALL_BIT + 167)
-+#define __NR_swapoff (__X32_SYSCALL_BIT + 168)
-+#define __NR_reboot (__X32_SYSCALL_BIT + 169)
-+#define __NR_sethostname (__X32_SYSCALL_BIT + 170)
-+#define __NR_setdomainname (__X32_SYSCALL_BIT + 171)
-+#define __NR_iopl (__X32_SYSCALL_BIT + 172)
-+#define __NR_ioperm (__X32_SYSCALL_BIT + 173)
-+#define __NR_init_module (__X32_SYSCALL_BIT + 175)
-+#define __NR_delete_module (__X32_SYSCALL_BIT + 176)
-+#define __NR_quotactl (__X32_SYSCALL_BIT + 179)
-+#define __NR_getpmsg (__X32_SYSCALL_BIT + 181)
-+#define __NR_putpmsg (__X32_SYSCALL_BIT + 182)
-+#define __NR_afs_syscall (__X32_SYSCALL_BIT + 183)
-+#define __NR_tuxcall (__X32_SYSCALL_BIT + 184)
-+#define __NR_security (__X32_SYSCALL_BIT + 185)
-+#define __NR_gettid (__X32_SYSCALL_BIT + 186)
-+#define __NR_readahead (__X32_SYSCALL_BIT + 187)
-+#define __NR_setxattr (__X32_SYSCALL_BIT + 188)
-+#define __NR_lsetxattr (__X32_SYSCALL_BIT + 189)
-+#define __NR_fsetxattr (__X32_SYSCALL_BIT + 190)
-+#define __NR_getxattr (__X32_SYSCALL_BIT + 191)
-+#define __NR_lgetxattr (__X32_SYSCALL_BIT + 192)
-+#define __NR_fgetxattr (__X32_SYSCALL_BIT + 193)
-+#define __NR_listxattr (__X32_SYSCALL_BIT + 194)
-+#define __NR_llistxattr (__X32_SYSCALL_BIT + 195)
-+#define __NR_flistxattr (__X32_SYSCALL_BIT + 196)
-+#define __NR_removexattr (__X32_SYSCALL_BIT + 197)
-+#define __NR_lremovexattr (__X32_SYSCALL_BIT + 198)
-+#define __NR_fremovexattr (__X32_SYSCALL_BIT + 199)
-+#define __NR_tkill (__X32_SYSCALL_BIT + 200)
-+#define __NR_time (__X32_SYSCALL_BIT + 201)
-+#define __NR_futex (__X32_SYSCALL_BIT + 202)
-+#define __NR_sched_setaffinity (__X32_SYSCALL_BIT + 203)
-+#define __NR_sched_getaffinity (__X32_SYSCALL_BIT + 204)
-+#define __NR_io_setup (__X32_SYSCALL_BIT + 206)
-+#define __NR_io_destroy (__X32_SYSCALL_BIT + 207)
-+#define __NR_io_getevents (__X32_SYSCALL_BIT + 208)
-+#define __NR_io_submit (__X32_SYSCALL_BIT + 209)
-+#define __NR_io_cancel (__X32_SYSCALL_BIT + 210)
-+#define __NR_lookup_dcookie (__X32_SYSCALL_BIT + 212)
-+#define __NR_epoll_create (__X32_SYSCALL_BIT + 213)
-+#define __NR_remap_file_pages (__X32_SYSCALL_BIT + 216)
-+#define __NR_getdents64 (__X32_SYSCALL_BIT + 217)
-+#define __NR_set_tid_address (__X32_SYSCALL_BIT + 218)
-+#define __NR_restart_syscall (__X32_SYSCALL_BIT + 219)
-+#define __NR_semtimedop (__X32_SYSCALL_BIT + 220)
-+#define __NR_fadvise64 (__X32_SYSCALL_BIT + 221)
-+#define __NR_timer_settime (__X32_SYSCALL_BIT + 223)
-+#define __NR_timer_gettime (__X32_SYSCALL_BIT + 224)
-+#define __NR_timer_getoverrun (__X32_SYSCALL_BIT + 225)
-+#define __NR_timer_delete (__X32_SYSCALL_BIT + 226)
-+#define __NR_clock_settime (__X32_SYSCALL_BIT + 227)
-+#define __NR_clock_gettime (__X32_SYSCALL_BIT + 228)
-+#define __NR_clock_getres (__X32_SYSCALL_BIT + 229)
-+#define __NR_clock_nanosleep (__X32_SYSCALL_BIT + 230)
-+#define __NR_exit_group (__X32_SYSCALL_BIT + 231)
-+#define __NR_epoll_wait (__X32_SYSCALL_BIT + 232)
-+#define __NR_epoll_ctl (__X32_SYSCALL_BIT + 233)
-+#define __NR_tgkill (__X32_SYSCALL_BIT + 234)
-+#define __NR_utimes (__X32_SYSCALL_BIT + 235)
-+#define __NR_mbind (__X32_SYSCALL_BIT + 237)
-+#define __NR_set_mempolicy (__X32_SYSCALL_BIT + 238)
-+#define __NR_get_mempolicy (__X32_SYSCALL_BIT + 239)
-+#define __NR_mq_open (__X32_SYSCALL_BIT + 240)
-+#define __NR_mq_unlink (__X32_SYSCALL_BIT + 241)
-+#define __NR_mq_timedsend (__X32_SYSCALL_BIT + 242)
-+#define __NR_mq_timedreceive (__X32_SYSCALL_BIT + 243)
-+#define __NR_mq_getsetattr (__X32_SYSCALL_BIT + 245)
-+#define __NR_add_key (__X32_SYSCALL_BIT + 248)
-+#define __NR_request_key (__X32_SYSCALL_BIT + 249)
-+#define __NR_keyctl (__X32_SYSCALL_BIT + 250)
-+#define __NR_ioprio_set (__X32_SYSCALL_BIT + 251)
-+#define __NR_ioprio_get (__X32_SYSCALL_BIT + 252)
-+#define __NR_inotify_init (__X32_SYSCALL_BIT + 253)
-+#define __NR_inotify_add_watch (__X32_SYSCALL_BIT + 254)
-+#define __NR_inotify_rm_watch (__X32_SYSCALL_BIT + 255)
-+#define __NR_migrate_pages (__X32_SYSCALL_BIT + 256)
-+#define __NR_openat (__X32_SYSCALL_BIT + 257)
-+#define __NR_mkdirat (__X32_SYSCALL_BIT + 258)
-+#define __NR_mknodat (__X32_SYSCALL_BIT + 259)
-+#define __NR_fchownat (__X32_SYSCALL_BIT + 260)
-+#define __NR_futimesat (__X32_SYSCALL_BIT + 261)
-+#define __NR_newfstatat (__X32_SYSCALL_BIT + 262)
-+#define __NR_unlinkat (__X32_SYSCALL_BIT + 263)
-+#define __NR_renameat (__X32_SYSCALL_BIT + 264)
-+#define __NR_linkat (__X32_SYSCALL_BIT + 265)
-+#define __NR_symlinkat (__X32_SYSCALL_BIT + 266)
-+#define __NR_readlinkat (__X32_SYSCALL_BIT + 267)
-+#define __NR_fchmodat (__X32_SYSCALL_BIT + 268)
-+#define __NR_faccessat (__X32_SYSCALL_BIT + 269)
-+#define __NR_pselect6 (__X32_SYSCALL_BIT + 270)
-+#define __NR_ppoll (__X32_SYSCALL_BIT + 271)
-+#define __NR_unshare (__X32_SYSCALL_BIT + 272)
-+#define __NR_splice (__X32_SYSCALL_BIT + 275)
-+#define __NR_tee (__X32_SYSCALL_BIT + 276)
-+#define __NR_sync_file_range (__X32_SYSCALL_BIT + 277)
-+#define __NR_utimensat (__X32_SYSCALL_BIT + 280)
-+#define __NR_epoll_pwait (__X32_SYSCALL_BIT + 281)
-+#define __NR_signalfd (__X32_SYSCALL_BIT + 282)
-+#define __NR_timerfd_create (__X32_SYSCALL_BIT + 283)
-+#define __NR_eventfd (__X32_SYSCALL_BIT + 284)
-+#define __NR_fallocate (__X32_SYSCALL_BIT + 285)
-+#define __NR_timerfd_settime (__X32_SYSCALL_BIT + 286)
-+#define __NR_timerfd_gettime (__X32_SYSCALL_BIT + 287)
-+#define __NR_accept4 (__X32_SYSCALL_BIT + 288)
-+#define __NR_signalfd4 (__X32_SYSCALL_BIT + 289)
-+#define __NR_eventfd2 (__X32_SYSCALL_BIT + 290)
-+#define __NR_epoll_create1 (__X32_SYSCALL_BIT + 291)
-+#define __NR_dup3 (__X32_SYSCALL_BIT + 292)
-+#define __NR_pipe2 (__X32_SYSCALL_BIT + 293)
-+#define __NR_inotify_init1 (__X32_SYSCALL_BIT + 294)
-+#define __NR_perf_event_open (__X32_SYSCALL_BIT + 298)
-+#define __NR_fanotify_init (__X32_SYSCALL_BIT + 300)
-+#define __NR_fanotify_mark (__X32_SYSCALL_BIT + 301)
-+#define __NR_prlimit64 (__X32_SYSCALL_BIT + 302)
-+#define __NR_name_to_handle_at (__X32_SYSCALL_BIT + 303)
-+#define __NR_open_by_handle_at (__X32_SYSCALL_BIT + 304)
-+#define __NR_clock_adjtime (__X32_SYSCALL_BIT + 305)
-+#define __NR_syncfs (__X32_SYSCALL_BIT + 306)
-+#define __NR_setns (__X32_SYSCALL_BIT + 308)
-+#define __NR_getcpu (__X32_SYSCALL_BIT + 309)
-+#define __NR_kcmp (__X32_SYSCALL_BIT + 312)
-+#define __NR_finit_module (__X32_SYSCALL_BIT + 313)
-+#define __NR_rt_sigaction (__X32_SYSCALL_BIT + 512)
-+#define __NR_rt_sigreturn (__X32_SYSCALL_BIT + 513)
-+#define __NR_ioctl (__X32_SYSCALL_BIT + 514)
-+#define __NR_readv (__X32_SYSCALL_BIT + 515)
-+#define __NR_writev (__X32_SYSCALL_BIT + 516)
-+#define __NR_recvfrom (__X32_SYSCALL_BIT + 517)
-+#define __NR_sendmsg (__X32_SYSCALL_BIT + 518)
-+#define __NR_recvmsg (__X32_SYSCALL_BIT + 519)
-+#define __NR_execve (__X32_SYSCALL_BIT + 520)
-+#define __NR_ptrace (__X32_SYSCALL_BIT + 521)
-+#define __NR_rt_sigpending (__X32_SYSCALL_BIT + 522)
-+#define __NR_rt_sigtimedwait (__X32_SYSCALL_BIT + 523)
-+#define __NR_rt_sigqueueinfo (__X32_SYSCALL_BIT + 524)
-+#define __NR_sigaltstack (__X32_SYSCALL_BIT + 525)
-+#define __NR_timer_create (__X32_SYSCALL_BIT + 526)
-+#define __NR_mq_notify (__X32_SYSCALL_BIT + 527)
-+#define __NR_kexec_load (__X32_SYSCALL_BIT + 528)
-+#define __NR_waitid (__X32_SYSCALL_BIT + 529)
-+#define __NR_set_robust_list (__X32_SYSCALL_BIT + 530)
-+#define __NR_get_robust_list (__X32_SYSCALL_BIT + 531)
-+#define __NR_vmsplice (__X32_SYSCALL_BIT + 532)
-+#define __NR_move_pages (__X32_SYSCALL_BIT + 533)
-+#define __NR_preadv (__X32_SYSCALL_BIT + 534)
-+#define __NR_pwritev (__X32_SYSCALL_BIT + 535)
-+#define __NR_rt_tgsigqueueinfo (__X32_SYSCALL_BIT + 536)
-+#define __NR_recvmmsg (__X32_SYSCALL_BIT + 537)
-+#define __NR_sendmmsg (__X32_SYSCALL_BIT + 538)
-+#define __NR_process_vm_readv (__X32_SYSCALL_BIT + 539)
-+#define __NR_process_vm_writev (__X32_SYSCALL_BIT + 540)
-+#define __NR_setsockopt (__X32_SYSCALL_BIT + 541)
-+#define __NR_getsockopt (__X32_SYSCALL_BIT + 542)
-+
-+#undef __NR_fstatat
-+#undef __NR_pread
-+#undef __NR_pwrite
-+#undef __NR_getdents
-+#define __NR_fstatat __NR_newfstatat
-+#define __NR_pread __NR_pread64
-+#define __NR_pwrite __NR_pwrite64
-+#define __NR_getdents __NR_getdents64
-+#define __NR_fadvise __NR_fadvise64
-+
-+
-+
-+/* Repeat with SYS_ prefix */
-+
-+
-+
-+#define SYS_read __NR_read
-+#define SYS_write __NR_write
-+#define SYS_open __NR_open
-+#define SYS_close __NR_close
-+#define SYS_stat __NR_stat
-+#define SYS_fstat __NR_fstat
-+#define SYS_lstat __NR_lstat
-+#define SYS_poll __NR_poll
-+#define SYS_lseek __NR_lseek
-+#define SYS_mmap __NR_mmap
-+#define SYS_mprotect __NR_mprotect
-+#define SYS_munmap __NR_munmap
-+#define SYS_brk __NR_brk
-+#define SYS_rt_sigprocmask __NR_rt_sigprocmask
-+#define SYS_pread64 __NR_pread64
-+#define SYS_pwrite64 __NR_pwrite64
-+#define SYS_access __NR_access
-+#define SYS_pipe __NR_pipe
-+#define SYS_select __NR_select
-+#define SYS_sched_yield __NR_sched_yield
-+#define SYS_mremap __NR_mremap
-+#define SYS_msync __NR_msync
-+#define SYS_mincore __NR_mincore
-+#define SYS_madvise __NR_madvise
-+#define SYS_shmget __NR_shmget
-+#define SYS_shmat __NR_shmat
-+#define SYS_shmctl __NR_shmctl
-+#define SYS_dup __NR_dup
-+#define SYS_dup2 __NR_dup2
-+#define SYS_pause __NR_pause
-+#define SYS_nanosleep __NR_nanosleep
-+#define SYS_getitimer __NR_getitimer
-+#define SYS_alarm __NR_alarm
-+#define SYS_setitimer __NR_setitimer
-+#define SYS_getpid __NR_getpid
-+#define SYS_sendfile __NR_sendfile
-+#define SYS_socket __NR_socket
-+#define SYS_connect __NR_connect
-+#define SYS_accept __NR_accept
-+#define SYS_sendto __NR_sendto
-+#define SYS_shutdown __NR_shutdown
-+#define SYS_bind __NR_bind
-+#define SYS_listen __NR_listen
-+#define SYS_getsockname __NR_getsockname
-+#define SYS_getpeername __NR_getpeername
-+#define SYS_socketpair __NR_socketpair
-+#define SYS_clone __NR_clone
-+#define SYS_fork __NR_fork
-+#define SYS_vfork __NR_vfork
-+#define SYS_exit __NR_exit
-+#define SYS_wait4 __NR_wait4
-+#define SYS_kill __NR_kill
-+#define SYS_uname __NR_uname
-+#define SYS_semget __NR_semget
-+#define SYS_semop __NR_semop
-+#define SYS_semctl __NR_semctl
-+#define SYS_shmdt __NR_shmdt
-+#define SYS_msgget __NR_msgget
-+#define SYS_msgsnd __NR_msgsnd
-+#define SYS_msgrcv __NR_msgrcv
-+#define SYS_msgctl __NR_msgctl
-+#define SYS_fcntl __NR_fcntl
-+#define SYS_flock __NR_flock
-+#define SYS_fsync __NR_fsync
-+#define SYS_fdatasync __NR_fdatasync
-+#define SYS_truncate __NR_truncate
-+#define SYS_ftruncate __NR_ftruncate
-+#define SYS_getdents __NR_getdents
-+#define SYS_getcwd __NR_getcwd
-+#define SYS_chdir __NR_chdir
-+#define SYS_fchdir __NR_fchdir
-+#define SYS_rename __NR_rename
-+#define SYS_mkdir __NR_mkdir
-+#define SYS_rmdir __NR_rmdir
-+#define SYS_creat __NR_creat
-+#define SYS_link __NR_link
-+#define SYS_unlink __NR_unlink
-+#define SYS_symlink __NR_symlink
-+#define SYS_readlink __NR_readlink
-+#define SYS_chmod __NR_chmod
-+#define SYS_fchmod __NR_fchmod
-+#define SYS_chown __NR_chown
-+#define SYS_fchown __NR_fchown
-+#define SYS_lchown __NR_lchown
-+#define SYS_umask __NR_umask
-+#define SYS_gettimeofday __NR_gettimeofday
-+#define SYS_getrlimit __NR_getrlimit
-+#define SYS_getrusage __NR_getrusage
-+#define SYS_sysinfo __NR_sysinfo
-+#define SYS_times __NR_times
-+#define SYS_getuid __NR_getuid
-+#define SYS_syslog __NR_syslog
-+#define SYS_getgid __NR_getgid
-+#define SYS_setuid __NR_setuid
-+#define SYS_setgid __NR_setgid
-+#define SYS_geteuid __NR_geteuid
-+#define SYS_getegid __NR_getegid
-+#define SYS_setpgid __NR_setpgid
-+#define SYS_getppid __NR_getppid
-+#define SYS_getpgrp __NR_getpgrp
-+#define SYS_setsid __NR_setsid
-+#define SYS_setreuid __NR_setreuid
-+#define SYS_setregid __NR_setregid
-+#define SYS_getgroups __NR_getgroups
-+#define SYS_setgroups __NR_setgroups
-+#define SYS_setresuid __NR_setresuid
-+#define SYS_getresuid __NR_getresuid
-+#define SYS_setresgid __NR_setresgid
-+#define SYS_getresgid __NR_getresgid
-+#define SYS_getpgid __NR_getpgid
-+#define SYS_setfsuid __NR_setfsuid
-+#define SYS_setfsgid __NR_setfsgid
-+#define SYS_getsid __NR_getsid
-+#define SYS_capget __NR_capget
-+#define SYS_capset __NR_capset
-+#define SYS_rt_sigsuspend __NR_rt_sigsuspend
-+#define SYS_utime __NR_utime
-+#define SYS_mknod __NR_mknod
-+#define SYS_personality __NR_personality
-+#define SYS_ustat __NR_ustat
-+#define SYS_statfs __NR_statfs
-+#define SYS_fstatfs __NR_fstatfs
-+#define SYS_sysfs __NR_sysfs
-+#define SYS_getpriority __NR_getpriority
-+#define SYS_setpriority __NR_setpriority
-+#define SYS_sched_setparam __NR_sched_setparam
-+#define SYS_sched_getparam __NR_sched_getparam
-+#define SYS_sched_setscheduler __NR_sched_setscheduler
-+#define SYS_sched_getscheduler __NR_sched_getscheduler
-+#define SYS_sched_get_priority_max __NR_sched_get_priority_max
-+#define SYS_sched_get_priority_min __NR_sched_get_priority_min
-+#define SYS_sched_rr_get_interval __NR_sched_rr_get_interval
-+#define SYS_mlock __NR_mlock
-+#define SYS_munlock __NR_munlock
-+#define SYS_mlockall __NR_mlockall
-+#define SYS_munlockall __NR_munlockall
-+#define SYS_vhangup __NR_vhangup
-+#define SYS_modify_ldt __NR_modify_ldt
-+#define SYS_pivot_root __NR_pivot_root
-+#define SYS_prctl __NR_prctl
-+#define SYS_arch_prctl __NR_arch_prctl
-+#define SYS_adjtimex __NR_adjtimex
-+#define SYS_setrlimit __NR_setrlimit
-+#define SYS_chroot __NR_chroot
-+#define SYS_sync __NR_sync
-+#define SYS_acct __NR_acct
-+#define SYS_settimeofday __NR_settimeofday
-+#define SYS_mount __NR_mount
-+#define SYS_umount2 __NR_umount2
-+#define SYS_swapon __NR_swapon
-+#define SYS_swapoff __NR_swapoff
-+#define SYS_reboot __NR_reboot
-+#define SYS_sethostname __NR_sethostname
-+#define SYS_setdomainname __NR_setdomainname
-+#define SYS_iopl __NR_iopl
-+#define SYS_ioperm __NR_ioperm
-+#define SYS_init_module __NR_init_module
-+#define SYS_delete_module __NR_delete_module
-+#define SYS_quotactl __NR_quotactl
-+#define SYS_getpmsg __NR_getpmsg
-+#define SYS_putpmsg __NR_putpmsg
-+#define SYS_afs_syscall __NR_afs_syscall
-+#define SYS_tuxcall __NR_tuxcall
-+#define SYS_security __NR_security
-+#define SYS_gettid __NR_gettid
-+#define SYS_readahead __NR_readahead
-+#define SYS_setxattr __NR_setxattr
-+#define SYS_lsetxattr __NR_lsetxattr
-+#define SYS_fsetxattr __NR_fsetxattr
-+#define SYS_getxattr __NR_getxattr
-+#define SYS_lgetxattr __NR_lgetxattr
-+#define SYS_fgetxattr __NR_fgetxattr
-+#define SYS_listxattr __NR_listxattr
-+#define SYS_llistxattr __NR_llistxattr
-+#define SYS_flistxattr __NR_flistxattr
-+#define SYS_removexattr __NR_removexattr
-+#define SYS_lremovexattr __NR_lremovexattr
-+#define SYS_fremovexattr __NR_fremovexattr
-+#define SYS_tkill __NR_tkill
-+#define SYS_time __NR_time
-+#define SYS_futex __NR_futex
-+#define SYS_sched_setaffinity __NR_sched_setaffinity
-+#define SYS_sched_getaffinity __NR_sched_getaffinity
-+#define SYS_io_setup __NR_io_setup
-+#define SYS_io_destroy __NR_io_destroy
-+#define SYS_io_getevents __NR_io_getevents
-+#define SYS_io_submit __NR_io_submit
-+#define SYS_io_cancel __NR_io_cancel
-+#define SYS_lookup_dcookie __NR_lookup_dcookie
-+#define SYS_epoll_create __NR_epoll_create
-+#define SYS_remap_file_pages __NR_remap_file_pages
-+#define SYS_getdents64 __NR_getdents64
-+#define SYS_set_tid_address __NR_set_tid_address
-+#define SYS_restart_syscall __NR_restart_syscall
-+#define SYS_semtimedop __NR_semtimedop
-+#define SYS_fadvise64 __NR_fadvise64
-+#define SYS_timer_settime __NR_timer_settime
-+#define SYS_timer_gettime __NR_timer_gettime
-+#define SYS_timer_getoverrun __NR_timer_getoverrun
-+#define SYS_timer_delete __NR_timer_delete
-+#define SYS_clock_settime __NR_clock_settime
-+#define SYS_clock_gettime __NR_clock_gettime
-+#define SYS_clock_getres __NR_clock_getres
-+#define SYS_clock_nanosleep __NR_clock_nanosleep
-+#define SYS_exit_group __NR_exit_group
-+#define SYS_epoll_wait __NR_epoll_wait
-+#define SYS_epoll_ctl __NR_epoll_ctl
-+#define SYS_tgkill __NR_tgkill
-+#define SYS_utimes __NR_utimes
-+#define SYS_mbind __NR_mbind
-+#define SYS_set_mempolicy __NR_set_mempolicy
-+#define SYS_get_mempolicy __NR_get_mempolicy
-+#define SYS_mq_open __NR_mq_open
-+#define SYS_mq_unlink __NR_mq_unlink
-+#define SYS_mq_timedsend __NR_mq_timedsend
-+#define SYS_mq_timedreceive __NR_mq_timedreceive
-+#define SYS_mq_getsetattr __NR_mq_getsetattr
-+#define SYS_add_key __NR_add_key
-+#define SYS_request_key __NR_request_key
-+#define SYS_keyctl __NR_keyctl
-+#define SYS_ioprio_set __NR_ioprio_set
-+#define SYS_ioprio_get __NR_ioprio_get
-+#define SYS_inotify_init __NR_inotify_init
-+#define SYS_inotify_add_watch __NR_inotify_add_watch
-+#define SYS_inotify_rm_watch __NR_inotify_rm_watch
-+#define SYS_migrate_pages __NR_migrate_pages
-+#define SYS_openat __NR_openat
-+#define SYS_mkdirat __NR_mkdirat
-+#define SYS_mknodat __NR_mknodat
-+#define SYS_fchownat __NR_fchownat
-+#define SYS_futimesat __NR_futimesat
-+#define SYS_newfstatat __NR_newfstatat
-+#define SYS_unlinkat __NR_unlinkat
-+#define SYS_renameat __NR_renameat
-+#define SYS_linkat __NR_linkat
-+#define SYS_symlinkat __NR_symlinkat
-+#define SYS_readlinkat __NR_readlinkat
-+#define SYS_fchmodat __NR_fchmodat
-+#define SYS_faccessat __NR_faccessat
-+#define SYS_pselect6 __NR_pselect6
-+#define SYS_ppoll __NR_ppoll
-+#define SYS_unshare __NR_unshare
-+#define SYS_splice __NR_splice
-+#define SYS_tee __NR_tee
-+#define SYS_sync_file_range __NR_sync_file_range
-+#define SYS_utimensat __NR_utimensat
-+#define SYS_epoll_pwait __NR_epoll_pwait
-+#define SYS_signalfd __NR_signalfd
-+#define SYS_timerfd_create __NR_timerfd_create
-+#define SYS_eventfd __NR_eventfd
-+#define SYS_fallocate __NR_fallocate
-+#define SYS_timerfd_settime __NR_timerfd_settime
-+#define SYS_timerfd_gettime __NR_timerfd_gettime
-+#define SYS_accept4 __NR_accept4
-+#define SYS_signalfd4 __NR_signalfd4
-+#define SYS_eventfd2 __NR_eventfd2
-+#define SYS_epoll_create1 __NR_epoll_create1
-+#define SYS_dup3 __NR_dup3
-+#define SYS_pipe2 __NR_pipe2
-+#define SYS_inotify_init1 __NR_inotify_init1
-+#define SYS_perf_event_open __NR_perf_event_open
-+#define SYS_fanotify_init __NR_fanotify_init
-+#define SYS_fanotify_mark __NR_fanotify_mark
-+#define SYS_prlimit64 __NR_prlimit64
-+#define SYS_name_to_handle_at __NR_name_to_handle_at
-+#define SYS_open_by_handle_at __NR_open_by_handle_at
-+#define SYS_clock_adjtime __NR_clock_adjtime
-+#define SYS_syncfs __NR_syncfs
-+#define SYS_setns __NR_setns
-+#define SYS_getcpu __NR_getcpu
-+#define SYS_kcmp __NR_kcmp
-+#define SYS_finit_module __NR_finit_module
-+#define SYS_rt_sigaction __NR_rt_sigaction
-+#define SYS_rt_sigreturn __NR_rt_sigreturn
-+#define SYS_ioctl __NR_ioctl
-+#define SYS_readv __NR_readv
-+#define SYS_writev __NR_writev
-+#define SYS_recvfrom __NR_recvfrom
-+#define SYS_sendmsg __NR_sendmsg
-+#define SYS_recvmsg __NR_recvmsg
-+#define SYS_execve __NR_execve
-+#define SYS_ptrace __NR_ptrace
-+#define SYS_rt_sigpending __NR_rt_sigpending
-+#define SYS_rt_sigtimedwait __NR_rt_sigtimedwait
-+#define SYS_rt_sigqueueinfo __NR_rt_sigqueueinfo
-+#define SYS_sigaltstack __NR_sigaltstack
-+#define SYS_timer_create __NR_timer_create
-+#define SYS_mq_notify __NR_mq_notify
-+#define SYS_kexec_load __NR_kexec_load
-+#define SYS_waitid __NR_waitid
-+#define SYS_set_robust_list __NR_set_robust_list
-+#define SYS_get_robust_list __NR_get_robust_list
-+#define SYS_vmsplice __NR_vmsplice
-+#define SYS_move_pages __NR_move_pages
-+#define SYS_preadv __NR_preadv
-+#define SYS_pwritev __NR_pwritev
-+#define SYS_rt_tgsigqueueinfo __NR_rt_tgsigqueueinfo
-+#define SYS_recvmmsg __NR_recvmmsg
-+#define SYS_sendmmsg __NR_sendmmsg
-+#define SYS_process_vm_readv __NR_process_vm_readv
-+#define SYS_process_vm_writev __NR_process_vm_writev
-+#define SYS_setsockopt __NR_setsockopt
-+#define SYS_getsockopt __NR_getsockopt
-+
-+#undef SYS_fstatat
-+#undef SYS_pread
-+#undef SYS_pwrite
-+#undef SYS_getdents
-+#define SYS_fstatat SYS_newfstatat
-+#define SYS_pread SYS_pread64
-+#define SYS_pwrite SYS_pwrite64
-+#define SYS_getdents SYS_getdents64
-+#define SYS_fadvise SYS_fadvise64
-diff -Nur musl-0.9.15/arch/x32/bits/termios.h musl-git/arch/x32/bits/termios.h
---- musl-0.9.15/arch/x32/bits/termios.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/termios.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,160 @@
-+struct termios
-+{
-+	tcflag_t c_iflag;
-+	tcflag_t c_oflag;
-+	tcflag_t c_cflag;
-+	tcflag_t c_lflag;
-+	cc_t c_line;
-+	cc_t c_cc[NCCS];
-+	speed_t __c_ispeed;
-+	speed_t __c_ospeed;
-+};
-+
-+#define VINTR     0
-+#define VQUIT     1
-+#define VERASE    2
-+#define VKILL     3
-+#define VEOF      4
-+#define VTIME     5
-+#define VMIN      6
-+#define VSWTC     7
-+#define VSTART    8
-+#define VSTOP     9
-+#define VSUSP    10
-+#define VEOL     11
-+#define VREPRINT 12
-+#define VDISCARD 13
-+#define VWERASE  14
-+#define VLNEXT   15
-+#define VEOL2    16
-+
-+#define IGNBRK  0000001
-+#define BRKINT  0000002
-+#define IGNPAR  0000004
-+#define PARMRK  0000010
-+#define INPCK   0000020
-+#define ISTRIP  0000040
-+#define INLCR   0000100
-+#define IGNCR   0000200
-+#define ICRNL   0000400
-+#define IUCLC   0001000
-+#define IXON    0002000
-+#define IXANY   0004000
-+#define IXOFF   0010000
-+#define IMAXBEL 0020000
-+#define IUTF8   0040000
-+
-+#define OPOST  0000001
-+#define OLCUC  0000002
-+#define ONLCR  0000004
-+#define OCRNL  0000010
-+#define ONOCR  0000020
-+#define ONLRET 0000040
-+#define OFILL  0000100
-+#define OFDEL  0000200
-+#define NLDLY  0000400
-+#define NL0    0000000
-+#define NL1    0000400
-+#define CRDLY  0003000
-+#define CR0    0000000
-+#define CR1    0001000
-+#define CR2    0002000
-+#define CR3    0003000
-+#define TABDLY 0014000
-+#define TAB0   0000000
-+#define TAB1   0004000
-+#define TAB2   0010000
-+#define TAB3   0014000
-+#define BSDLY  0020000
-+#define BS0    0000000
-+#define BS1    0020000
-+#define FFDLY  0100000
-+#define FF0    0000000
-+#define FF1    0100000
-+
-+#define VTDLY  0040000
-+#define VT0    0000000
-+#define VT1    0040000
-+
-+#define B0       0000000
-+#define B50      0000001
-+#define B75      0000002
-+#define B110     0000003
-+#define B134     0000004
-+#define B150     0000005
-+#define B200     0000006
-+#define B300     0000007
-+#define B600     0000010
-+#define B1200    0000011
-+#define B1800    0000012
-+#define B2400    0000013
-+#define B4800    0000014
-+#define B9600    0000015
-+#define B19200   0000016
-+#define B38400   0000017
-+
-+#define B57600   0010001
-+#define B115200  0010002
-+#define B230400  0010003
-+#define B460800  0010004
-+#define B500000  0010005
-+#define B576000  0010006
-+#define B921600  0010007
-+#define B1000000 0010010
-+#define B1152000 0010011
-+#define B1500000 0010012
-+#define B2000000 0010013
-+#define B2500000 0010014
-+#define B3000000 0010015
-+#define B3500000 0010016
-+#define B4000000 0010017
-+
-+#define CBAUD    0010017
-+
-+#define CSIZE  0000060
-+#define CS5    0000000
-+#define CS6    0000020
-+#define CS7    0000040
-+#define CS8    0000060
-+#define CSTOPB 0000100
-+#define CREAD  0000200
-+#define PARENB 0000400
-+#define PARODD 0001000
-+#define HUPCL  0002000
-+#define CLOCAL 0004000
-+
-+#define ISIG   0000001
-+#define ICANON 0000002
-+#define ECHO   0000010
-+#define ECHOE  0000020
-+#define ECHOK  0000040
-+#define ECHONL 0000100
-+#define NOFLSH 0000200
-+#define TOSTOP 0000400
-+#define IEXTEN 0100000
-+
-+#define ECHOCTL 0001000
-+#define ECHOPRT 0002000
-+#define ECHOKE 0004000
-+#define FLUSHO 0010000
-+#define PENDIN 0040000
-+
-+#define TCOOFF 0
-+#define TCOON  1
-+#define TCIOFF 2
-+#define TCION  3
-+
-+#define TCIFLUSH  0
-+#define TCOFLUSH  1
-+#define TCIOFLUSH 2
-+
-+#define TCSANOW   0
-+#define TCSADRAIN 1
-+#define TCSAFLUSH 2
-+
-+#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-+#define CBAUDEX 0010000
-+#define CRTSCTS  020000000000
-+#define EXTPROC 0200000
-+#define XTABS  0014000
-+#endif
-diff -Nur musl-0.9.15/arch/x32/bits/user.h musl-git/arch/x32/bits/user.h
---- musl-0.9.15/arch/x32/bits/user.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/user.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,44 @@
-+#undef __WORDSIZE
-+#define __WORDSIZE 64
-+
-+typedef struct user_fpregs_struct
-+{
-+	uint16_t cwd, swd, ftw, fop;
-+	uint64_t rip, rdp;
-+	uint32_t mxcsr, mxcs_mask;
-+	uint32_t st_space[32], xmm_space[64], padding[24];
-+} elf_fpregset_t;
-+
-+struct user_regs_struct
-+{
-+	unsigned long r15, r14, r13, r12, rbp, rbx, r11, r10, r9, r8;
-+	unsigned long rax, rcx, rdx, rsi, rdi, orig_rax, rip;
-+	unsigned long cs, eflags, rsp, ss, fs_base, gs_base, ds, es, fs, gs;
-+};
-+#define ELF_NGREG 27
-+typedef unsigned long long elf_greg_t, elf_gregset_t[ELF_NGREG];
-+
-+struct user
-+{
-+	struct user_regs_struct		regs;
-+	int				u_fpvalid;
-+	struct user_fpregs_struct	i387;
-+	unsigned long			u_tsize;
-+	unsigned long			u_dsize;
-+	unsigned long			u_ssize;
-+	unsigned long			start_code;
-+	unsigned long			start_stack;
-+	long				signal;
-+	int				reserved;
-+	struct user_regs_struct		*u_ar0;
-+	struct user_fpregs_struct	*u_fpstate;
-+	unsigned long			magic;
-+	char				u_comm[32];
-+	unsigned long			u_debugreg[8];
-+};
-+
-+#define PAGE_MASK		(~(PAGE_SIZE-1))
-+#define NBPG			PAGE_SIZE
-+#define UPAGES			1
-+#define HOST_TEXT_START_ADDR	(u.start_code)
-+#define HOST_STACK_END_ADDR	(u.start_stack + u.u_ssize * NBPG)
-diff -Nur musl-0.9.15/arch/x32/crt_arch.h musl-git/arch/x32/crt_arch.h
---- musl-0.9.15/arch/x32/crt_arch.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/crt_arch.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,9 @@
-+__asm__("\
-+.text \n\
-+.global _start \n\
-+_start: \n\
-+	xor %rbp,%rbp \n\
-+	mov %rsp,%rdi \n\
-+	andq $-16,%rsp \n\
-+	call __cstart \n\
-+");
-diff -Nur musl-0.9.15/arch/x32/pthread_arch.h musl-git/arch/x32/pthread_arch.h
---- musl-0.9.15/arch/x32/pthread_arch.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/pthread_arch.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,10 @@
-+static inline struct pthread *__pthread_self()
-+{
-+	struct pthread *self;
-+	__asm__ __volatile__ ("mov %%fs:0,%0" : "=r" (self) );
-+	return self;
-+}
-+
-+#define TP_ADJ(p) (p)
-+
-+#define CANCEL_REG_IP 16
-diff -Nur musl-0.9.15/arch/x32/reloc.h musl-git/arch/x32/reloc.h
---- musl-0.9.15/arch/x32/reloc.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/reloc.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,46 @@
-+#include <stdint.h>
-+#include <string.h>
-+#include <elf.h>
-+
-+#define LDSO_ARCH "x32"
-+
-+#define IS_COPY(x) ((x)==R_X86_64_COPY)
-+#define IS_PLT(x) ((x)==R_X86_64_JUMP_SLOT)
-+
-+static inline void do_single_reloc(
-+	struct dso *self, unsigned char *base_addr,
-+	size_t *reloc_addr, int type, size_t addend,
-+	Sym *sym, size_t sym_size,
-+	struct symdef def, size_t sym_val)
-+{
-+	switch(type) {
-+	case R_X86_64_GLOB_DAT:
-+	case R_X86_64_JUMP_SLOT:
-+	case R_X86_64_64:
-+		*reloc_addr = sym_val + addend;
-+		break;
-+	case R_X86_64_32:
-+		*(uint32_t *)reloc_addr = sym_val + addend;
-+		break;
-+	case R_X86_64_PC32:
-+		*reloc_addr = sym_val + addend - (size_t)reloc_addr + (size_t)base_addr;
-+		break;
-+	case R_X86_64_RELATIVE:
-+		*reloc_addr = (size_t)base_addr + addend;
-+		break;
-+	case R_X86_64_COPY:
-+		memcpy(reloc_addr, (void *)sym_val, sym_size);
-+		break;
-+	case R_X86_64_DTPMOD64:
-+		*reloc_addr = def.dso ? def.dso->tls_id : self->tls_id;
-+		break;
-+	case R_X86_64_DTPOFF64:
-+		*reloc_addr = def.sym->st_value + addend;
-+		break;
-+	case R_X86_64_TPOFF64:
-+		*reloc_addr = (def.sym
-+			? def.sym->st_value - def.dso->tls_offset
-+			: 0 - self->tls_offset) + addend;
-+		break;
-+	}
-+}
-diff -Nur musl-0.9.15/arch/x32/src/syscall_cp_fixup.c musl-git/arch/x32/src/syscall_cp_fixup.c
---- musl-0.9.15/arch/x32/src/syscall_cp_fixup.c	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/src/syscall_cp_fixup.c	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,31 @@
-+#include <sys/syscall.h>
-+long __syscall_cp_internal(volatile void*, long long, long long, long long, long long,
-+                             long long, long long, long long);
-+
-+struct __timespec { long long tv_sec; long tv_nsec; };
-+struct __timespec_kernel { long long tv_sec; long long tv_nsec; };
-+#define __tsc(X) ((struct __timespec*)(unsigned long)(X))
-+#define __fixup(X) do { if(X) X = (unsigned long) (&(struct __timespec_kernel) \
-+                   { .tv_sec = __tsc(X)->tv_sec, .tv_nsec = __tsc(X)->tv_nsec}); } while(0)
-+
-+long __syscall_cp_asm (volatile void * foo, long long n, long long a1, long long a2, long long a3,
-+	                     long long a4, long long a5, long long a6) {
-+	switch (n) {
-+	case SYS_mq_timedsend: case SYS_mq_timedreceive: case SYS_pselect6:
-+		__fixup(a5);
-+		break;
-+	case SYS_futex:
-+		if((a2 & (~128 /* FUTEX_PRIVATE_FLAG */)) == 0 /* FUTEX_WAIT */)
-+			__fixup(a4);
-+		break;
-+	case SYS_clock_nanosleep:
-+	case SYS_rt_sigtimedwait: case SYS_ppoll:
-+		__fixup(a3);
-+		break;
-+	case SYS_nanosleep:
-+		__fixup(a1);
-+		break;
-+	}
-+	return __syscall_cp_internal(foo, n, a1, a2, a3, a4, a5, a6);
-+}
-+
-diff -Nur musl-0.9.15/arch/x32/src/sysinfo.c musl-git/arch/x32/src/sysinfo.c
---- musl-0.9.15/arch/x32/src/sysinfo.c	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/src/sysinfo.c	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,47 @@
-+#include <sys/sysinfo.h>
-+#include "syscall.h"
-+
-+#define klong long long
-+#define kulong unsigned long long
-+
-+struct kernel_sysinfo {
-+	klong uptime;
-+	kulong loads[3];
-+	kulong totalram;
-+	kulong freeram;
-+	kulong sharedram;
-+	kulong bufferram;
-+	kulong totalswap;
-+	kulong freeswap;
-+	short procs;
-+	short pad;
-+	kulong totalhigh;
-+	kulong freehigh;
-+	unsigned mem_unit;
-+};
-+
-+int __x32_sysinfo(struct sysinfo *info)
-+{
-+	struct kernel_sysinfo tmp;
-+	int ret = syscall(SYS_sysinfo, &tmp);
-+	if(ret == -1) return ret;
-+	info->uptime = tmp.uptime;
-+	info->loads[0] = tmp.loads[0];
-+	info->loads[1] = tmp.loads[1];
-+	info->loads[2] = tmp.loads[2];
-+	kulong shifts;
-+	kulong max = tmp.totalram | tmp.totalswap;
-+	__asm__("bsr %1,%0" : "=r"(shifts) : "r"(max));
-+	shifts = shifts >= 32 ? shifts - 31 : 0;
-+	info->totalram = tmp.totalram >> shifts;
-+	info->freeram = tmp.freeram >> shifts;
-+	info->sharedram = tmp.sharedram >> shifts;
-+	info->bufferram = tmp.bufferram >> shifts;
-+	info->totalswap = tmp.totalswap >> shifts;
-+	info->freeswap = tmp.freeswap >> shifts;
-+	info->procs = tmp.procs ;
-+	info->totalhigh = tmp.totalhigh >> shifts;
-+	info->freehigh = tmp.freehigh >> shifts;
-+	info->mem_unit = (tmp.mem_unit ? tmp.mem_unit : 1) << shifts;
-+	return ret;
-+}
-diff -Nur musl-0.9.15/arch/x32/syscall_arch.h musl-git/arch/x32/syscall_arch.h
---- musl-0.9.15/arch/x32/syscall_arch.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/syscall_arch.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,117 @@
-+#define __SYSCALL_LL_E(x) (x)
-+#define __SYSCALL_LL_O(x) (x)
-+
-+#define __scc(X) sizeof(1?(X):0ULL) < 8 ? (unsigned long) (X) : (long long) (X)
-+typedef long long syscall_arg_t;
-+struct __timespec { long long tv_sec; long tv_nsec; };
-+struct __timespec_kernel { long long tv_sec; long long tv_nsec; };
-+#define __tsc(X) ((struct __timespec*)(unsigned long)(X))
-+#define __fixup(X) do { if(X) X = (unsigned long) (&(struct __timespec_kernel) \
-+                   { .tv_sec = __tsc(X)->tv_sec, .tv_nsec = __tsc(X)->tv_nsec}); } while(0)
-+#define __fixup_case_2 \
-+	case SYS_nanosleep: \
-+		__fixup(a1); break; \
-+	case SYS_clock_settime: \
-+		__fixup(a2); break;
-+#define __fixup_case_3 \
-+	case SYS_clock_nanosleep: case SYS_rt_sigtimedwait: case SYS_ppoll: \
-+		__fixup(a3); break; \
-+	case SYS_utimensat: \
-+		if(a3) a3 = (unsigned long) ((struct __timespec_kernel[2]) { \
-+		[0] = {.tv_sec = __tsc(a3)[0].tv_sec, .tv_nsec = __tsc(a3)[0].tv_nsec}, \
-+		[1] = {.tv_sec = __tsc(a3)[1].tv_sec, .tv_nsec = __tsc(a3)[1].tv_nsec}, \
-+		}); break;
-+#define __fixup_case_4 \
-+	case SYS_futex: \
-+		if((a2 & (~128 /* FUTEX_PRIVATE_FLAG */)) == 0 /* FUTEX_WAIT */) __fixup(a4); break;
-+#define __fixup_case_5 \
-+	case SYS_mq_timedsend: case SYS_mq_timedreceive: case SYS_pselect6: \
-+		__fixup(a5); break;
-+
-+static __inline long __syscall0(long long n)
-+{
-+	unsigned long ret;
-+	__asm__ __volatile__ ("syscall" : "=a"(ret) : "a"(n) : "rcx", "r11", "memory");
-+	return ret;
-+}
-+
-+static __inline long __syscall1(long long n, long long a1)
-+{
-+	unsigned long ret;
-+	__asm__ __volatile__ ("syscall" : "=a"(ret) : "a"(n), "D"(a1) : "rcx", "r11", "memory");
-+	return ret;
-+}
-+
-+static __inline long __syscall2(long long n, long long a1, long long a2)
-+{
-+	unsigned long ret;
-+	struct __timespec *ts2 = 0;
-+	switch (n) {
-+		__fixup_case_2;
-+	}
-+	__asm__ __volatile__ ("syscall" : "=a"(ret) : "a"(n), "D"(a1), "S"(a2)
-+					: "rcx", "r11", "memory");
-+	return ret;
-+}
-+
-+static __inline long __syscall3(long long n, long long a1, long long a2, long long a3)
-+{
-+	unsigned long ret;
-+	switch (n) {
-+		__fixup_case_2;
-+		__fixup_case_3;
-+	}
-+	__asm__ __volatile__ ("syscall" : "=a"(ret) : "a"(n), "D"(a1), "S"(a2),
-+						  "d"(a3) : "rcx", "r11", "memory");
-+	return ret;
-+}
-+
-+static __inline long __syscall4(long long n, long long a1, long long a2, long long a3,
-+                                     long long a4_)
-+{
-+	unsigned long ret;
-+	register long long a4 __asm__("r10") = a4_;
-+	switch (n) {
-+		__fixup_case_2;
-+		__fixup_case_3;
-+		__fixup_case_4;
-+	}
-+	__asm__ __volatile__ ("syscall" : "=a"(ret) : "a"(n), "D"(a1), "S"(a2),
-+					  "d"(a3), "r"(a4): "rcx", "r11", "memory");
-+	return ret;
-+}
-+
-+static __inline long __syscall5(long long n, long long a1, long long a2, long long a3,
-+                                     long long a4_, long long a5_)
-+{
-+	unsigned long ret;
-+	register long long a4 __asm__("r10") = a4_;
-+	register long long a5 __asm__("r8") = a5_;
-+	switch (n) {
-+		__fixup_case_2;
-+		__fixup_case_3;
-+		__fixup_case_4;
-+		__fixup_case_5;
-+	}
-+	__asm__ __volatile__ ("syscall" : "=a"(ret) : "a"(n), "D"(a1), "S"(a2),
-+					  "d"(a3), "r"(a4), "r"(a5) : "rcx", "r11", "memory");
-+	return ret;
-+}
-+
-+static __inline long __syscall6(long long n, long long a1, long long a2, long long a3,
-+                                     long long a4_, long long a5_, long long a6_)
-+{
-+	unsigned long ret;
-+	register long long a4 __asm__("r10") = a4_;
-+	register long long a5 __asm__("r8") = a5_;
-+	register long long a6 __asm__("r9") = a6_;
-+	switch (n) {
-+		__fixup_case_2;
-+		__fixup_case_3;
-+		__fixup_case_4;
-+		__fixup_case_5;
-+	}
-+	__asm__ __volatile__ ("syscall" : "=a"(ret) : "a"(n), "D"(a1), "S"(a2),
-+					  "d"(a3), "r"(a4), "r"(a5), "r"(a6) : "rcx", "r11", "memory");
-+	return ret;
-+}
-diff -Nur musl-0.9.15/arch/x86_64/atomic.h musl-git/arch/x86_64/atomic.h
---- musl-0.9.15/arch/x86_64/atomic.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/x86_64/atomic.h	2014-03-19 07:42:48.000000000 +0100
-@@ -5,38 +5,36 @@
- 
- static inline int a_ctz_64(uint64_t x)
- {
--	long r;
--	__asm__( "bsf %1,%0" : "=r"(r) : "r"(x) );
--	return r;
-+	__asm__( "bsf %1,%0" : "=r"(x) : "r"(x) );
-+	return x;
- }
- 
- static inline int a_ctz_l(unsigned long x)
- {
--	long r;
--	__asm__( "bsf %1,%0" : "=r"(r) : "r"(x) );
--	return r;
-+	__asm__( "bsf %1,%0" : "=r"(x) : "r"(x) );
-+	return x;
- }
- 
- static inline void a_and_64(volatile uint64_t *p, uint64_t v)
- {
--	__asm__( "lock ; andq %1, %0"
--			 : "=m"(*(long *)p) : "r"(v) : "memory" );
-+	__asm__( "lock ; and %1, %0"
-+			 : "=m"(*p) : "r"(v) : "memory" );
- }
- 
- static inline void a_or_64(volatile uint64_t *p, uint64_t v)
- {
--	__asm__( "lock ; orq %1, %0"
--			 : "=m"(*(long *)p) : "r"(v) : "memory" );
-+	__asm__( "lock ; or %1, %0"
-+			 : "=m"(*p) : "r"(v) : "memory" );
- }
- 
- static inline void a_store_l(volatile void *p, long x)
- {
--	__asm__( "movq %1, %0" : "=m"(*(long *)p) : "r"(x) : "memory" );
-+	__asm__( "mov %1, %0" : "=m"(*(long *)p) : "r"(x) : "memory" );
- }
- 
- static inline void a_or_l(volatile void *p, long v)
- {
--	__asm__( "lock ; orq %1, %0"
-+	__asm__( "lock ; or %1, %0"
- 		: "=m"(*(long *)p) : "r"(v) : "memory" );
- }
- 
-@@ -56,7 +54,7 @@
- 
- static inline int a_cas(volatile int *p, int t, int s)
- {
--	__asm__( "lock ; cmpxchgl %3, %1"
-+	__asm__( "lock ; cmpxchg %3, %1"
- 		: "=a"(t), "=m"(*p) : "a"(t), "r"(s) : "memory" );
- 	return t;
- }
-@@ -74,13 +72,13 @@
- 
- static inline void a_or(volatile void *p, int v)
- {
--	__asm__( "lock ; orl %1, %0"
-+	__asm__( "lock ; or %1, %0"
- 		: "=m"(*(int *)p) : "r"(v) : "memory" );
- }
- 
- static inline void a_and(volatile void *p, int v)
- {
--	__asm__( "lock ; andl %1, %0"
-+	__asm__( "lock ; and %1, %0"
- 		: "=m"(*(int *)p) : "r"(v) : "memory" );
- }
- 
-@@ -110,7 +108,7 @@
- 
- static inline void a_store(volatile int *p, int x)
- {
--	__asm__( "movl %1, %0" : "=m"(*p) : "r"(x) : "memory" );
-+	__asm__( "mov %1, %0" : "=m"(*p) : "r"(x) : "memory" );
- }
- 
- static inline void a_spin()
-diff -Nur musl-0.9.15/arch/x86_64/bits/sem.h musl-git/arch/x86_64/bits/sem.h
---- musl-0.9.15/arch/x86_64/bits/sem.h	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x86_64/bits/sem.h	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,16 @@
-+struct semid_ds {
-+	struct ipc_perm sem_perm;
-+	time_t sem_otime;
-+	time_t __unused1;
-+	time_t sem_ctime;
-+	time_t __unused2;
-+#if __BYTE_ORDER == __LITTLE_ENDIAN
-+	unsigned short sem_nsems;
-+	char __sem_nsems_pad[sizeof(time_t)-sizeof(short)];
-+#else
-+	char __sem_nsems_pad[sizeof(time_t)-sizeof(short)];
-+	unsigned short sem_nsems;
-+#endif
-+	time_t __unused3;
-+	time_t __unused4;
-+};
-diff -Nur musl-0.9.15/arch/x86_64/bits/shm.h musl-git/arch/x86_64/bits/shm.h
---- musl-0.9.15/arch/x86_64/bits/shm.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/x86_64/bits/shm.h	2014-03-19 07:42:48.000000000 +0100
-@@ -13,3 +13,14 @@
- 	unsigned long __pad1;
- 	unsigned long __pad2;
- };
-+
-+struct shminfo {
-+	unsigned long shmmax, shmmin, shmmni, shmseg, shmall, __unused[4];
-+};
-+
-+struct shm_info {
-+	int __used_ids;
-+	unsigned long shm_tot, shm_rss, shm_swp;
-+	unsigned long __swap_attempts, __swap_successes;
-+};
-+
-diff -Nur musl-0.9.15/arch/x86_64/bits/signal.h musl-git/arch/x86_64/bits/signal.h
---- musl-0.9.15/arch/x86_64/bits/signal.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/x86_64/bits/signal.h	2014-03-19 07:42:48.000000000 +0100
-@@ -60,6 +60,12 @@
- } mcontext_t;
- #endif
- 
-+struct sigaltstack {
-+	void *ss_sp;
-+	int ss_flags;
-+	size_t ss_size;
-+};
-+
- typedef struct __ucontext {
- 	unsigned long uc_flags;
- 	struct __ucontext *uc_link;
-diff -Nur musl-0.9.15/arch/x86_64/bits/stat.h musl-git/arch/x86_64/bits/stat.h
---- musl-0.9.15/arch/x86_64/bits/stat.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/x86_64/bits/stat.h	2014-03-19 07:42:48.000000000 +0100
-@@ -2,7 +2,7 @@
-  * by the corresponding correctly-sized userspace types. */
- 
- struct stat {
--	unsigned long st_dev;
-+	dev_t st_dev;
- 	ino_t st_ino;
- 	nlink_t st_nlink;
- 
-diff -Nur musl-0.9.15/arch/x86_64/bits/termios.h musl-git/arch/x86_64/bits/termios.h
---- musl-0.9.15/arch/x86_64/bits/termios.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/x86_64/bits/termios.h	2014-03-19 07:42:48.000000000 +0100
-@@ -42,6 +42,7 @@
- #define IXANY   0004000
- #define IXOFF   0010000
- #define IMAXBEL 0020000
-+#define IUTF8   0040000
- 
- #define OPOST  0000001
- #define OLCUC  0000002
-@@ -75,9 +76,6 @@
- #define VT0    0000000
- #define VT1    0040000
- 
--/* ?? */
--#define XTABS  0014000
--
- #define B0       0000000
- #define B50      0000001
- #define B75      0000002
-@@ -125,8 +123,6 @@
- #define HUPCL  0002000
- #define CLOCAL 0004000
- 
--#define CRTSCTS  020000000000
--
- #define ISIG   0000001
- #define ICANON 0000002
- #define ECHO   0000010
-@@ -137,14 +133,11 @@
- #define TOSTOP 0000400
- #define IEXTEN 0100000
- 
--/* Extensions? */
--#define CBAUDEX 0010000
- #define ECHOCTL 0001000
- #define ECHOPRT 0002000
- #define ECHOKE 0004000
- #define FLUSHO 0010000
- #define PENDIN 0040000
--#define EXTPROC 0200000
- 
- #define TCOOFF 0
- #define TCOON  1
-@@ -158,3 +151,10 @@
- #define TCSANOW   0
- #define TCSADRAIN 1
- #define TCSAFLUSH 2
-+
-+#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-+#define CBAUDEX 0010000
-+#define CRTSCTS  020000000000
-+#define EXTPROC 0200000
-+#define XTABS  0014000
-+#endif
-diff -Nur musl-0.9.15/arch/x86_64/pthread_arch.h musl-git/arch/x86_64/pthread_arch.h
---- musl-0.9.15/arch/x86_64/pthread_arch.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/x86_64/pthread_arch.h	2014-03-19 07:42:48.000000000 +0100
-@@ -1,7 +1,7 @@
- static inline struct pthread *__pthread_self()
- {
- 	struct pthread *self;
--	__asm__ __volatile__ ("movq %%fs:0,%0" : "=r" (self) );
-+	__asm__ __volatile__ ("mov %%fs:0,%0" : "=r" (self) );
- 	return self;
- }
- 
-diff -Nur musl-0.9.15/configure musl-git/configure
---- musl-0.9.15/configure	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/configure	2014-03-19 07:42:48.000000000 +0100
-@@ -222,12 +222,16 @@
- # Convert to just ARCH
- #
- case "$target" in
-+# Catch these early to simplify matching for 32-bit archs
-+mips64*|powerpc64*) fail "$0: unsupported target \"$target\"" ;;
- arm*) ARCH=arm ;;
- i?86*) ARCH=i386 ;;
-+x86_64-x32*|x32*|x86_64*x32) ARCH=x32 ;;
- x86_64*) ARCH=x86_64 ;;
--mips-*|mipsel-*) ARCH=mips ;;
--microblaze-*) ARCH=microblaze ;;
--powerpc-*) ARCH=powerpc ;;
-+mips*) ARCH=mips ;;
-+microblaze*) ARCH=microblaze ;;
-+powerpc*) ARCH=powerpc ;;
-+sh[1-9bel-]*|sh|superh*) ARCH=sh ;;
- unknown) fail "$0: unable to detect target arch; try $0 --target=..." ;;
- *) fail "$0: unknown or unsupported target \"$target\"" ;;
- esac
-@@ -381,6 +385,7 @@
- tryflag CFLAGS_AUTO -Wno-unused-value
- tryflag CFLAGS_AUTO -Wno-unused-but-set-variable
- tryflag CFLAGS_AUTO -Wno-unknown-pragmas
-+tryflag CFLAGS_AUTO -Wno-pointer-to-int-cast
- fi
- 
- # Some patched GCC builds have these defaults messed up...
-@@ -410,12 +415,33 @@
- trycppif __ARM_PCS_VFP "$t" && SUBARCH=${SUBARCH}hf
- fi
- 
--test "$ARCH" = "mips" && trycppif "_MIPSEL || __MIPSEL || __MIPSEL__" "$t" \
--&& SUBARCH=${SUBARCH}el
-+if test "$ARCH" = "mips" ; then
-+trycppif "_MIPSEL || __MIPSEL || __MIPSEL__" "$t" && SUBARCH=${SUBARCH}el
-+trycppif __mips_soft_float "$t" && SUBARCH=${SUBARCH}-sf
-+fi
- 
- test "$ARCH" = "microblaze" && trycppif __MICROBLAZEEL__ "$t" \
- && SUBARCH=${SUBARCH}el
- 
-+if test "$ARCH" = "sh" ; then
-+trycppif __BIG_ENDIAN__ "$t" && SUBARCH=${SUBARCH}eb
-+if trycppif __SH_FPU_ANY__ "$t" ; then
-+# Some sh configurations are broken and replace double with float
-+# rather than using softfloat when the fpu is present but only
-+# supports single precision. Reject them.
-+printf "checking whether compiler's double type is IEEE double... "
-+echo 'typedef char dblcheck[(int)sizeof(double)-5];' > "$tmpc"
-+if $CC $CFLAGS_C99FSE $CPPFLAGS $CFLAGS -c -o /dev/null "$tmpc" >/dev/null 2>&1 ; then
-+printf "yes\n"
-+else
-+printf "no\n"
-+fail "$0: error: compiler's floating point configuration is unsupported"
-+fi
-+else
-+SUBARCH=${SUBARCH}-nofpu
-+fi
-+fi
-+
- test "$SUBARCH" \
- && printf "configured for %s variant: %s\n" "$ARCH" "$ARCH$SUBARCH"
- 
-diff -Nur musl-0.9.15/COPYRIGHT musl-git/COPYRIGHT
---- musl-0.9.15/COPYRIGHT	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/COPYRIGHT	2014-03-19 07:42:48.000000000 +0100
-@@ -1,6 +1,6 @@
- musl as a whole is licensed under the following standard MIT license:
- 
--Copyright © 2005-2013 Rich Felker
-+Copyright © 2005-2014 Rich Felker
- 
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
-@@ -79,7 +79,7 @@
- from Bionic libc, used on Android.
- 
- All other files which have no copyright comments are original works
--Copyright © 2005-2013 Rich Felker, the main author of this library.
-+Copyright © 2005-2014 Rich Felker, the main author of this library.
- The decision to exclude such comments is intentional, as it should be
- possible to carry around the complete source code on tiny storage
- media. All public header files (include/* and arch/*/bits/*) should be
-diff -Nur musl-0.9.15/crt/superh/crti.s musl-git/crt/superh/crti.s
---- musl-0.9.15/crt/superh/crti.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/crt/superh/crti.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,13 @@
-+.section .init
-+.global  _init
-+.type    _init, @function
-+_init:
-+	sts.l pr, @-r15
-+	nop
-+
-+.section .fini
-+.global  _fini
-+.type    _fini, @function
-+_fini:
-+	sts.l pr, @-r15
-+	nop
-diff -Nur musl-0.9.15/crt/superh/crtn.s musl-git/crt/superh/crtn.s
---- musl-0.9.15/crt/superh/crtn.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/crt/superh/crtn.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,9 @@
-+.section .init
-+	lds.l @r15+, pr
-+	rts
-+	 nop
-+
-+.section .fini
-+	lds.l @r15+, pr
-+	rts
-+	 nop
-diff -Nur musl-0.9.15/crt/x32/crti.s musl-git/crt/x32/crti.s
---- musl-0.9.15/crt/x32/crti.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/crt/x32/crti.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,9 @@
-+.section .init
-+.global _init
-+_init:
-+	push %rax
-+
-+.section .fini
-+.global _fini
-+_fini:
-+	push %rax
-diff -Nur musl-0.9.15/crt/x32/crtn.s musl-git/crt/x32/crtn.s
---- musl-0.9.15/crt/x32/crtn.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/crt/x32/crtn.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,7 @@
-+.section .init
-+	pop %rax
-+	ret
-+
-+.section .fini
-+	pop %rax
-+	ret
-diff -Nur musl-0.9.15/.gitignore musl-git/.gitignore
---- musl-0.9.15/.gitignore	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/.gitignore	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,11 @@
-+*.o
-+*.lo
-+*.a
-+*.so
-+*.so.1
-+arch/*/bits/alltypes.h
-+config.mak
-+include/bits
-+tools/musl-gcc
-+lib/musl-gcc.specs
-+src/internal/version.h
-diff -Nur musl-0.9.15/include/arpa/inet.h musl-git/include/arpa/inet.h
---- musl-0.9.15/include/arpa/inet.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/arpa/inet.h	2014-03-19 07:42:48.000000000 +0100
-@@ -20,7 +20,7 @@
- const char *inet_ntop (int, const void *__restrict, char *__restrict, socklen_t);
- 
- int inet_aton (const char *, struct in_addr *);
--struct in_addr inet_makeaddr(int, int);
-+struct in_addr inet_makeaddr(in_addr_t, in_addr_t);
- in_addr_t inet_lnaof(struct in_addr);
- in_addr_t inet_netof(struct in_addr);
- 
-diff -Nur musl-0.9.15/include/dlfcn.h musl-git/include/dlfcn.h
---- musl-0.9.15/include/dlfcn.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/dlfcn.h	2014-03-19 07:42:48.000000000 +0100
-@@ -31,7 +31,7 @@
- 	const char *dli_sname;
- 	void *dli_saddr;
- } Dl_info;
--int dladdr(void *, Dl_info *);
-+int dladdr(const void *, Dl_info *);
- int dlinfo(void *, int, void *);
- #endif
- 
-diff -Nur musl-0.9.15/include/elf.h musl-git/include/elf.h
---- musl-0.9.15/include/elf.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/elf.h	2014-03-19 07:42:48.000000000 +0100
-@@ -1153,6 +1153,7 @@
- #define EF_MIPS_64BIT_WHIRL 16
- #define EF_MIPS_ABI2	    32
- #define EF_MIPS_ABI_ON32    64
-+#define EF_MIPS_NAN2008     1024
- #define EF_MIPS_ARCH	    0xf0000000
- 
- 
-@@ -2092,6 +2093,117 @@
- #define R_AARCH64_NONE            0
- #define R_AARCH64_ABS64         257
- #define R_AARCH64_ABS32         258
-+#define R_AARCH64_ABS16		259
-+#define R_AARCH64_PREL64	260
-+#define R_AARCH64_PREL32	261
-+#define R_AARCH64_PREL16	262
-+#define R_AARCH64_MOVW_UABS_G0	263
-+#define R_AARCH64_MOVW_UABS_G0_NC 264
-+#define R_AARCH64_MOVW_UABS_G1	265
-+#define R_AARCH64_MOVW_UABS_G1_NC 266
-+#define R_AARCH64_MOVW_UABS_G2	267
-+#define R_AARCH64_MOVW_UABS_G2_NC 268
-+#define R_AARCH64_MOVW_UABS_G3	269
-+#define R_AARCH64_MOVW_SABS_G0	270
-+#define R_AARCH64_MOVW_SABS_G1	271
-+#define R_AARCH64_MOVW_SABS_G2	272
-+#define R_AARCH64_LD_PREL_LO19	273
-+#define R_AARCH64_ADR_PREL_LO21	274
-+#define R_AARCH64_ADR_PREL_PG_HI21 275
-+#define R_AARCH64_ADR_PREL_PG_HI21_NC 276
-+#define R_AARCH64_ADD_ABS_LO12_NC 277
-+#define R_AARCH64_LDST8_ABS_LO12_NC 278
-+#define R_AARCH64_TSTBR14	279
-+#define R_AARCH64_CONDBR19	280
-+#define R_AARCH64_JUMP26	282
-+#define R_AARCH64_CALL26	283
-+#define R_AARCH64_LDST16_ABS_LO12_NC 284
-+#define R_AARCH64_LDST32_ABS_LO12_NC 285
-+#define R_AARCH64_LDST64_ABS_LO12_NC 286
-+#define R_AARCH64_MOVW_PREL_G0	287
-+#define R_AARCH64_MOVW_PREL_G0_NC 288
-+#define R_AARCH64_MOVW_PREL_G1	289
-+#define R_AARCH64_MOVW_PREL_G1_NC 290
-+#define R_AARCH64_MOVW_PREL_G2	291
-+#define R_AARCH64_MOVW_PREL_G2_NC 292
-+#define R_AARCH64_MOVW_PREL_G3	293
-+#define R_AARCH64_LDST128_ABS_LO12_NC 299
-+#define R_AARCH64_MOVW_GOTOFF_G0 300
-+#define R_AARCH64_MOVW_GOTOFF_G0_NC 301
-+#define R_AARCH64_MOVW_GOTOFF_G1 302
-+#define R_AARCH64_MOVW_GOTOFF_G1_NC 303
-+#define R_AARCH64_MOVW_GOTOFF_G2 304
-+#define R_AARCH64_MOVW_GOTOFF_G2_NC 305
-+#define R_AARCH64_MOVW_GOTOFF_G3 306
-+#define R_AARCH64_GOTREL64	307
-+#define R_AARCH64_GOTREL32	308
-+#define R_AARCH64_GOT_LD_PREL19	309
-+#define R_AARCH64_LD64_GOTOFF_LO15 310
-+#define R_AARCH64_ADR_GOT_PAGE	311
-+#define R_AARCH64_LD64_GOT_LO12_NC 312
-+#define R_AARCH64_LD64_GOTPAGE_LO15 313
-+#define R_AARCH64_TLSGD_ADR_PREL21 512
-+#define R_AARCH64_TLSGD_ADR_PAGE21 513
-+#define R_AARCH64_TLSGD_ADD_LO12_NC 514
-+#define R_AARCH64_TLSGD_MOVW_G1	515
-+#define R_AARCH64_TLSGD_MOVW_G0_NC 516
-+#define R_AARCH64_TLSLD_ADR_PREL21 517
-+#define R_AARCH64_TLSLD_ADR_PAGE21 518
-+#define R_AARCH64_TLSLD_ADD_LO12_NC 519
-+#define R_AARCH64_TLSLD_MOVW_G1	520
-+#define R_AARCH64_TLSLD_MOVW_G0_NC 521
-+#define R_AARCH64_TLSLD_LD_PREL19 522
-+#define R_AARCH64_TLSLD_MOVW_DTPREL_G2 523
-+#define R_AARCH64_TLSLD_MOVW_DTPREL_G1 524
-+#define R_AARCH64_TLSLD_MOVW_DTPREL_G1_NC 525
-+#define R_AARCH64_TLSLD_MOVW_DTPREL_G0 526
-+#define R_AARCH64_TLSLD_MOVW_DTPREL_G0_NC 527
-+#define R_AARCH64_TLSLD_ADD_DTPREL_HI12 528
-+#define R_AARCH64_TLSLD_ADD_DTPREL_LO12 529
-+#define R_AARCH64_TLSLD_ADD_DTPREL_LO12_NC 530
-+#define R_AARCH64_TLSLD_LDST8_DTPREL_LO12 531
-+#define R_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC 532
-+#define R_AARCH64_TLSLD_LDST16_DTPREL_LO12 533
-+#define R_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC 534
-+#define R_AARCH64_TLSLD_LDST32_DTPREL_LO12 535
-+#define R_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC 536
-+#define R_AARCH64_TLSLD_LDST64_DTPREL_LO12 537
-+#define R_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC 538
-+#define R_AARCH64_TLSIE_MOVW_GOTTPREL_G1 539
-+#define R_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC 540
-+#define R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21 541
-+#define R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC 542
-+#define R_AARCH64_TLSIE_LD_GOTTPREL_PREL19 543
-+#define R_AARCH64_TLSLE_MOVW_TPREL_G2 544
-+#define R_AARCH64_TLSLE_MOVW_TPREL_G1 545
-+#define R_AARCH64_TLSLE_MOVW_TPREL_G1_NC 546
-+#define R_AARCH64_TLSLE_MOVW_TPREL_G0 547
-+#define R_AARCH64_TLSLE_MOVW_TPREL_G0_NC 548
-+#define R_AARCH64_TLSLE_ADD_TPREL_HI12 549
-+#define R_AARCH64_TLSLE_ADD_TPREL_LO12 550
-+#define R_AARCH64_TLSLE_ADD_TPREL_LO12_NC 551
-+#define R_AARCH64_TLSLE_LDST8_TPREL_LO12 552
-+#define R_AARCH64_TLSLE_LDST8_TPREL_LO12_NC 553
-+#define R_AARCH64_TLSLE_LDST16_TPREL_LO12 554
-+#define R_AARCH64_TLSLE_LDST16_TPREL_LO12_NC 555
-+#define R_AARCH64_TLSLE_LDST32_TPREL_LO12 556
-+#define R_AARCH64_TLSLE_LDST32_TPREL_LO12_NC 557
-+#define R_AARCH64_TLSLE_LDST64_TPREL_LO12 558
-+#define R_AARCH64_TLSLE_LDST64_TPREL_LO12_NC 559
-+#define R_AARCH64_TLSDESC_LD_PREL19 560
-+#define R_AARCH64_TLSDESC_ADR_PREL21 561
-+#define R_AARCH64_TLSDESC_ADR_PAGE21 562
-+#define R_AARCH64_TLSDESC_LD64_LO12 563
-+#define R_AARCH64_TLSDESC_ADD_LO12 564
-+#define R_AARCH64_TLSDESC_OFF_G1 565
-+#define R_AARCH64_TLSDESC_OFF_G0_NC 566
-+#define R_AARCH64_TLSDESC_LDR	567
-+#define R_AARCH64_TLSDESC_ADD	568
-+#define R_AARCH64_TLSDESC_CALL	569
-+#define R_AARCH64_TLSLE_LDST128_TPREL_LO12 570
-+#define R_AARCH64_TLSLE_LDST128_TPREL_LO12_NC 571
-+#define R_AARCH64_TLSLD_LDST128_DTPREL_LO12 572
-+#define R_AARCH64_TLSLD_LDST128_DTPREL_LO12_NC 573
- #define R_AARCH64_COPY         1024
- #define R_AARCH64_GLOB_DAT     1025
- #define R_AARCH64_JUMP_SLOT    1026
-diff -Nur musl-0.9.15/include/fcntl.h musl-git/include/fcntl.h
---- musl-0.9.15/include/fcntl.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/fcntl.h	2014-03-19 07:42:48.000000000 +0100
-@@ -148,6 +148,7 @@
- #define SPLICE_F_MORE 4
- #define SPLICE_F_GIFT 8
- int fallocate(int, int, off_t, off_t);
-+#define fallocate64 fallocate
- ssize_t readahead(int, off_t, size_t);
- int sync_file_range(int, off_t, off_t, unsigned);
- ssize_t vmsplice(int, const struct iovec *, size_t, unsigned);
-@@ -160,6 +161,7 @@
- #define F_GETLK64 F_GETLK
- #define F_SETLK64 F_SETLK
- #define F_SETLKW64 F_SETLKW
-+#define flock64 flock
- #define open64 open
- #define openat64 openat
- #define creat64 creat
-diff -Nur musl-0.9.15/include/math.h musl-git/include/math.h
---- musl-0.9.15/include/math.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/math.h	2014-03-19 07:42:48.000000000 +0100
-@@ -42,12 +42,14 @@
- 
- static __inline unsigned __FLOAT_BITS(float __f)
- {
--	union {float __f; unsigned __i;} __u = {__f};
-+	union {float __f; unsigned __i;} __u;
-+	__u.__f = __f;
- 	return __u.__i;
- }
- static __inline unsigned long long __DOUBLE_BITS(double __f)
- {
--	union {double __f; unsigned long long __i;} __u = {__f};
-+	union {double __f; unsigned long long __i;} __u;
-+	__u.__f = __f;
- 	return __u.__i;
- }
- 
-diff -Nur musl-0.9.15/include/netdb.h musl-git/include/netdb.h
---- musl-0.9.15/include/netdb.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/netdb.h	2014-03-19 07:42:48.000000000 +0100
-@@ -131,6 +131,7 @@
- #define TRY_AGAIN      2
- #define NO_RECOVERY    3
- #define NO_DATA        4
-+#define NO_ADDRESS     NO_DATA
- #endif
- 
- #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-diff -Nur musl-0.9.15/include/netinet/if_ether.h musl-git/include/netinet/if_ether.h
---- musl-0.9.15/include/netinet/if_ether.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/netinet/if_ether.h	2014-03-19 07:42:48.000000000 +0100
-@@ -54,6 +54,7 @@
- #define ETH_P_8021AH	0x88E7
- #define ETH_P_MVRP	0x88F5
- #define ETH_P_1588	0x88F7
-+#define ETH_P_PRP	0x88FB
- #define ETH_P_FCOE	0x8906
- #define ETH_P_TDLS	0x890D
- #define ETH_P_FIP	0x8914
-diff -Nur musl-0.9.15/include/netinet/in.h musl-git/include/netinet/in.h
---- musl-0.9.15/include/netinet/in.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/netinet/in.h	2014-03-19 07:42:48.000000000 +0100
-@@ -149,7 +149,7 @@
-         (IN6_IS_ADDR_MULTICAST(a) && ((((uint8_t *) (a))[1] & 0xf) == 0xe))
- 
- #define __ARE_4_EQUAL(a,b) \
--	(!( 0[a]-0[b] | 1[a]-1[b] | 2[a]-2[b] | 3[a]-3[b] ))
-+	(!( (0[a]-0[b]) | (1[a]-1[b]) | (2[a]-2[b]) | (3[a]-3[b]) ))
- #define IN6_ARE_ADDR_EQUAL(a,b) \
- 	__ARE_4_EQUAL((const uint32_t *)(a), (const uint32_t *)(b))
- 
-@@ -211,27 +211,13 @@
- #define IP_MULTICAST_ALL   49
- #define IP_UNICAST_IF      50
- 
--#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
--#define MCAST_JOIN_GROUP   42
--#define MCAST_BLOCK_SOURCE 43
--#define MCAST_UNBLOCK_SOURCE      44
--#define MCAST_LEAVE_GROUP  45
--#define MCAST_JOIN_SOURCE_GROUP   46
--#define MCAST_LEAVE_SOURCE_GROUP  47
--#define MCAST_MSFILTER     48
--
--#define MCAST_EXCLUDE 0
--#define MCAST_INCLUDE 1
--#endif
--
- #define IP_RECVRETOPTS IP_RETOPTS
- 
- #define IP_PMTUDISC_DONT   0
- #define IP_PMTUDISC_WANT   1
- #define IP_PMTUDISC_DO     2
- #define IP_PMTUDISC_PROBE  3
--
--#define SOL_IP 0
-+#define IP_PMTUDISC_INTERFACE 4
- 
- #define IP_DEFAULT_MULTICAST_TTL        1
- #define IP_DEFAULT_MULTICAST_LOOP       1
-@@ -243,6 +229,19 @@
- 	char ip_opts[40];
- };
- 
-+#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-+
-+#define MCAST_JOIN_GROUP   42
-+#define MCAST_BLOCK_SOURCE 43
-+#define MCAST_UNBLOCK_SOURCE      44
-+#define MCAST_LEAVE_GROUP  45
-+#define MCAST_JOIN_SOURCE_GROUP   46
-+#define MCAST_LEAVE_SOURCE_GROUP  47
-+#define MCAST_MSFILTER     48
-+
-+#define MCAST_EXCLUDE 0
-+#define MCAST_INCLUDE 1
-+
- struct ip_mreq
- {
- 	struct in_addr imr_multiaddr;
-@@ -273,7 +272,6 @@
- 	(sizeof(struct ip_msfilter) - sizeof(struct in_addr) \
- 	+ (numsrc) * sizeof(struct in_addr))
- 
--#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
- struct group_req {
- 	uint32_t gr_interface;
- 	struct sockaddr_storage gr_group;
-@@ -295,7 +293,6 @@
- #define GROUP_FILTER_SIZE(numsrc) \
- 	(sizeof(struct group_filter) - sizeof(struct sockaddr_storage) \
- 	+ (numsrc) * sizeof(struct sockaddr_storage))
--#endif
- 
- struct in_pktinfo
- {
-@@ -315,6 +312,7 @@
- 	struct sockaddr_in6 ip6m_addr;
- 	uint32_t ip6m_mtu;
- };
-+#endif
- 
- #define IPV6_ADDRFORM           1
- #define IPV6_2292PKTINFO        2
-@@ -324,7 +322,6 @@
- #define IPV6_2292PKTOPTIONS     6
- #define IPV6_CHECKSUM           7
- #define IPV6_2292HOPLIMIT       8
--#define SCM_SRCRT               IPV6_RXSRCRT
- #define IPV6_NEXTHOP            9
- #define IPV6_AUTHHDR            10
- #define IPV6_UNICAST_HOPS       16
-@@ -363,15 +360,11 @@
- #define IPV6_RXHOPOPTS          IPV6_HOPOPTS
- #define IPV6_RXDSTOPTS          IPV6_DSTOPTS
- 
--
- #define IPV6_PMTUDISC_DONT      0
- #define IPV6_PMTUDISC_WANT      1
- #define IPV6_PMTUDISC_DO        2
- #define IPV6_PMTUDISC_PROBE     3
- 
--#define SOL_IPV6        41
--#define SOL_ICMPV6      58
--
- #define IPV6_RTHDR_LOOSE        0
- #define IPV6_RTHDR_STRICT       1
- 
-diff -Nur musl-0.9.15/include/netinet/tcp.h musl-git/include/netinet/tcp.h
---- musl-0.9.15/include/netinet/tcp.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/netinet/tcp.h	2014-03-19 07:42:48.000000000 +0100
-@@ -44,42 +44,80 @@
- #define SOL_TCP 6
- #include <sys/types.h>
- #include <sys/socket.h>
--#endif
-+#include <stdint.h>
-+#include <endian.h>
-+
-+typedef uint32_t tcp_seq;
- 
-+#define TH_FIN 0x01
-+#define TH_SYN 0x02
-+#define TH_RST 0x04
-+#define TH_PUSH 0x08
-+#define TH_ACK 0x10
-+#define TH_URG 0x20
-+
-+struct tcphdr {
- #ifdef _GNU_SOURCE
--#include <endian.h>
--struct tcphdr
--{
--	u_int16_t source;
--	u_int16_t dest;
--	u_int32_t seq;
--	u_int32_t ack_seq;
-+#ifdef __GNUC__
-+	__extension__
-+#endif
-+	union { struct {
-+
-+	uint16_t source;
-+	uint16_t dest;
-+	uint32_t seq;
-+	uint32_t ack_seq;
-+#if __BYTE_ORDER == __LITTLE_ENDIAN
-+	uint16_t res1:4;
-+	uint16_t doff:4;
-+	uint16_t fin:1;
-+	uint16_t syn:1;
-+	uint16_t rst:1;
-+	uint16_t psh:1;
-+	uint16_t ack:1;
-+	uint16_t urg:1;
-+	uint16_t res2:2;
-+#else
-+	uint16_t doff:4;
-+	uint16_t res1:4;
-+	uint16_t res2:2;
-+	uint16_t urg:1;
-+	uint16_t ack:1;
-+	uint16_t psh:1;
-+	uint16_t rst:1;
-+	uint16_t syn:1;
-+	uint16_t fin:1;
-+#endif
-+	uint16_t window;
-+	uint16_t check;
-+	uint16_t urg_ptr;
-+
-+	}; struct {
-+#endif
-+
-+	uint16_t th_sport;
-+	uint16_t th_dport;
-+	uint32_t th_seq;
-+	uint32_t th_ack;
- #if __BYTE_ORDER == __LITTLE_ENDIAN
--	u_int16_t res1:4;
--	u_int16_t doff:4;
--	u_int16_t fin:1;
--	u_int16_t syn:1;
--	u_int16_t rst:1;
--	u_int16_t psh:1;
--	u_int16_t ack:1;
--	u_int16_t urg:1;
--	u_int16_t res2:2;
-+	uint8_t th_x2:4;
-+	uint8_t th_off:4;
- #else
--	u_int16_t doff:4;
--	u_int16_t res1:4;
--	u_int16_t res2:2;
--	u_int16_t urg:1;
--	u_int16_t ack:1;
--	u_int16_t psh:1;
--	u_int16_t rst:1;
--	u_int16_t syn:1;
--	u_int16_t fin:1;
--#endif
--	u_int16_t window;
--	u_int16_t check;
--	u_int16_t urg_ptr;
-+	uint8_t th_off:4;
-+	uint8_t th_x2:4;
-+#endif
-+	uint8_t th_flags;
-+	uint16_t th_win;
-+	uint16_t th_sum;
-+	uint16_t th_urp;
-+
-+#ifdef _GNU_SOURCE
-+	}; };
-+#endif
- };
-+#endif
- 
-+#ifdef _GNU_SOURCE
- #define TCPI_OPT_TIMESTAMPS	1
- #define TCPI_OPT_SACK		2
- #define TCPI_OPT_WSCALE		4
-@@ -93,37 +131,37 @@
- 
- struct tcp_info
- {
--	u_int8_t tcpi_state;
--	u_int8_t tcpi_ca_state;
--	u_int8_t tcpi_retransmits;
--	u_int8_t tcpi_probes;
--	u_int8_t tcpi_backoff;
--	u_int8_t tcpi_options;
--	u_int8_t tcpi_snd_wscale : 4, tcpi_rcv_wscale : 4;
--	u_int32_t tcpi_rto;
--	u_int32_t tcpi_ato;
--	u_int32_t tcpi_snd_mss;
--	u_int32_t tcpi_rcv_mss;
--	u_int32_t tcpi_unacked;
--	u_int32_t tcpi_sacked;
--	u_int32_t tcpi_lost;
--	u_int32_t tcpi_retrans;
--	u_int32_t tcpi_fackets;
--	u_int32_t tcpi_last_data_sent;
--	u_int32_t tcpi_last_ack_sent;
--	u_int32_t tcpi_last_data_recv;
--	u_int32_t tcpi_last_ack_recv;
--	u_int32_t tcpi_pmtu;
--	u_int32_t tcpi_rcv_ssthresh;
--	u_int32_t tcpi_rtt;
--	u_int32_t tcpi_rttvar;
--	u_int32_t tcpi_snd_ssthresh;
--	u_int32_t tcpi_snd_cwnd;
--	u_int32_t tcpi_advmss;
--	u_int32_t tcpi_reordering;
--	u_int32_t tcpi_rcv_rtt;
--	u_int32_t tcpi_rcv_space;
--	u_int32_t tcpi_total_retrans;
-+	uint8_t tcpi_state;
-+	uint8_t tcpi_ca_state;
-+	uint8_t tcpi_retransmits;
-+	uint8_t tcpi_probes;
-+	uint8_t tcpi_backoff;
-+	uint8_t tcpi_options;
-+	uint8_t tcpi_snd_wscale : 4, tcpi_rcv_wscale : 4;
-+	uint32_t tcpi_rto;
-+	uint32_t tcpi_ato;
-+	uint32_t tcpi_snd_mss;
-+	uint32_t tcpi_rcv_mss;
-+	uint32_t tcpi_unacked;
-+	uint32_t tcpi_sacked;
-+	uint32_t tcpi_lost;
-+	uint32_t tcpi_retrans;
-+	uint32_t tcpi_fackets;
-+	uint32_t tcpi_last_data_sent;
-+	uint32_t tcpi_last_ack_sent;
-+	uint32_t tcpi_last_data_recv;
-+	uint32_t tcpi_last_ack_recv;
-+	uint32_t tcpi_pmtu;
-+	uint32_t tcpi_rcv_ssthresh;
-+	uint32_t tcpi_rtt;
-+	uint32_t tcpi_rttvar;
-+	uint32_t tcpi_snd_ssthresh;
-+	uint32_t tcpi_snd_cwnd;
-+	uint32_t tcpi_advmss;
-+	uint32_t tcpi_reordering;
-+	uint32_t tcpi_rcv_rtt;
-+	uint32_t tcpi_rcv_space;
-+	uint32_t tcpi_total_retrans;
- };
- 
- #define TCP_MD5SIG_MAXKEYLEN    80
-@@ -131,10 +169,10 @@
- struct tcp_md5sig
- {
- 	struct sockaddr_storage tcpm_addr;
--	u_int16_t __tcpm_pad1;
--	u_int16_t tcpm_keylen;
--	u_int32_t __tcpm_pad2;
--	u_int8_t tcpm_key[TCP_MD5SIG_MAXKEYLEN];
-+	uint16_t __tcpm_pad1;
-+	uint16_t tcpm_keylen;
-+	uint32_t __tcpm_pad2;
-+	uint8_t tcpm_key[TCP_MD5SIG_MAXKEYLEN];
- };
- 
- #endif
-diff -Nur musl-0.9.15/include/netinet/udp.h musl-git/include/netinet/udp.h
---- musl-0.9.15/include/netinet/udp.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/netinet/udp.h	2014-03-19 07:42:48.000000000 +0100
-@@ -5,19 +5,22 @@
- extern "C" {
- #endif
- 
-+#include <features.h>
- #include <stdint.h>
- 
--struct udphdr {
--	uint16_t source;
--	uint16_t dest;
--	uint16_t len;
--	uint16_t check;
--};
--
-+#ifdef _GNU_SOURCE
- #define uh_sport source
- #define uh_dport dest
- #define uh_ulen len
- #define uh_sum check
-+#endif
-+
-+struct udphdr {
-+	uint16_t uh_sport;
-+	uint16_t uh_dport;
-+	uint16_t uh_ulen;
-+	uint16_t uh_sum;
-+};
- 
- #define UDP_CORK	1
- #define UDP_ENCAP	100
-diff -Nur musl-0.9.15/include/sched.h musl-git/include/sched.h
---- musl-0.9.15/include/sched.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/sched.h	2014-03-19 07:42:48.000000000 +0100
-@@ -78,7 +78,7 @@
- int sched_getaffinity(pid_t, size_t, cpu_set_t *);
- int sched_setaffinity(pid_t, size_t, const cpu_set_t *);
- 
--#define __CPU_op_S(i, size, set, op) ( (i)/8 >= (size) ? 0 : \
-+#define __CPU_op_S(i, size, set, op) ( (i)/8U >= (size) ? 0 : \
- 	((set)->__bits[(i)/8/sizeof(long)] op (1UL<<((i)%(8*sizeof(long))))) )
- 
- #define CPU_SET_S(i, size, set) __CPU_op_S(i, size, set, |=)
-diff -Nur musl-0.9.15/include/signal.h musl-git/include/signal.h
---- musl-0.9.15/include/signal.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/signal.h	2014-03-19 07:42:48.000000000 +0100
-@@ -77,11 +77,7 @@
- #define CLD_STOPPED 5
- #define CLD_CONTINUED 6
- 
--typedef struct sigaltstack {
--	void *ss_sp;
--	int ss_flags;
--	size_t ss_size;
--} stack_t;
-+typedef struct sigaltstack stack_t;
- 
- union sigval {
- 	int sival_int;
-@@ -227,8 +223,8 @@
- typedef void (*sighandler_t)(int);
- void (*bsd_signal(int, void (*)(int)))(int);
- int sigisemptyset(const sigset_t *);
--int sigorset (sigset_t *, sigset_t *, sigset_t *);
--int sigandset(sigset_t *, sigset_t *, sigset_t *);
-+int sigorset (sigset_t *, const sigset_t *, const sigset_t *);
-+int sigandset(sigset_t *, const sigset_t *, const sigset_t *);
- 
- #define SA_NOMASK SA_NODEFER
- #define SA_ONESHOT SA_RESETHAND
-diff -Nur musl-0.9.15/include/stdlib.h musl-git/include/stdlib.h
---- musl-0.9.15/include/stdlib.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/stdlib.h	2014-03-19 07:42:48.000000000 +0100
-@@ -93,7 +93,7 @@
- #define WSTOPSIG(s) WEXITSTATUS(s)
- #define WIFEXITED(s) (!WTERMSIG(s))
- #define WIFSTOPPED(s) ((short)((((s)&0xffff)*0x10001)>>8) > 0x7f00)
--#define WIFSIGNALED(s) (((s)&0xffff)-1 < 0xffu)
-+#define WIFSIGNALED(s) (((s)&0xffff)-1U < 0xffu)
- 
- int posix_memalign (void **, size_t, size_t);
- int setenv (const char *, const char *, int);
-diff -Nur musl-0.9.15/include/sys/inotify.h musl-git/include/sys/inotify.h
---- musl-0.9.15/include/sys/inotify.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/sys/inotify.h	2014-03-19 07:42:48.000000000 +0100
-@@ -48,7 +48,7 @@
- int inotify_init(void);
- int inotify_init1(int);
- int inotify_add_watch(int, const char *, uint32_t);
--int inotify_rm_watch(int, uint32_t);
-+int inotify_rm_watch(int, int);
- 
- #ifdef __cplusplus
- }
-diff -Nur musl-0.9.15/include/sys/mman.h musl-git/include/sys/mman.h
---- musl-0.9.15/include/sys/mman.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/sys/mman.h	2014-03-19 07:42:48.000000000 +0100
-@@ -33,7 +33,7 @@
- 
- #ifdef _GNU_SOURCE
- void *mremap (void *, size_t, size_t, int, ...);
--int remap_file_pages (void *, size_t, int, ssize_t, int);
-+int remap_file_pages (void *, size_t, int, size_t, int);
- #endif
- 
- #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-diff -Nur musl-0.9.15/include/sys/procfs.h musl-git/include/sys/procfs.h
---- musl-0.9.15/include/sys/procfs.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/sys/procfs.h	2014-03-19 07:42:48.000000000 +0100
-@@ -40,7 +40,7 @@
- 	char pr_zomb;
- 	char pr_nice;
- 	unsigned long int pr_flag;
--#if __WORDSIZE == 32
-+#if UINTPTR_MAX == 0xffffffff
- 	unsigned short int pr_uid;
- 	unsigned short int pr_gid;
- #else
-diff -Nur musl-0.9.15/include/sys/sem.h musl-git/include/sys/sem.h
---- musl-0.9.15/include/sys/sem.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/sys/sem.h	2014-03-19 07:42:48.000000000 +0100
-@@ -27,22 +27,7 @@
- 
- #include <endian.h>
- 
--struct semid_ds {
--	struct ipc_perm sem_perm;
--	long sem_otime;
--	unsigned long __unused1;
--	long sem_ctime;
--	unsigned long __unused2;
--#if __BYTE_ORDER == __LITTLE_ENDIAN
--	unsigned short sem_nsems;
--	char __sem_nsems_pad[sizeof(long)-sizeof(short)];
--#else
--	char __sem_nsems_pad[sizeof(long)-sizeof(short)];
--	unsigned short sem_nsems;
--#endif
--	unsigned long __unused3;
--	unsigned long __unused4;
--};
-+#include <bits/sem.h>
- 
- #define _SEM_SEMUN_UNDEFINED 1
- 
-diff -Nur musl-0.9.15/include/sys/shm.h musl-git/include/sys/shm.h
---- musl-0.9.15/include/sys/shm.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/sys/shm.h	2014-03-19 07:42:48.000000000 +0100
-@@ -14,6 +14,13 @@
- #include <bits/alltypes.h>
- 
- #include <sys/ipc.h>
-+
-+#ifdef _GNU_SOURCE
-+#define __used_ids used_ids
-+#define __swap_attempts swap_attempts
-+#define __swap_successes swap_successes
-+#endif
-+
- #include <bits/shm.h>
- 
- #define SHM_R 0400
-@@ -33,20 +40,6 @@
- #define SHM_HUGETLB 04000
- #define SHM_NORESERVE 010000
- 
--struct shminfo {
--	unsigned long shmmax, shmmin, shmmni, shmseg, shmall, __unused[4];
--};
--
--struct shm_info {
--	int used_ids;
--	unsigned long shm_tot, shm_rss, shm_swp;
--#ifdef _GNU_SOURCE
--	unsigned long swap_attempts, swap_successes;
--#else
--	unsigned long __reserved[2];
--#endif
--};
--
- typedef unsigned long shmatt_t;
- 
- void *shmat(int, const void *, int);
-diff -Nur musl-0.9.15/include/sys/socket.h musl-git/include/sys/socket.h
---- musl-0.9.15/include/sys/socket.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/sys/socket.h	2014-03-19 07:42:48.000000000 +0100
-@@ -202,11 +202,16 @@
- #define SO_LOCK_FILTER          44
- #define SO_SELECT_ERR_QUEUE     45
- #define SO_BUSY_POLL            46
-+#define SO_MAX_PACING_RATE      47
- 
- #ifndef SOL_SOCKET
- #define SOL_SOCKET      1
- #endif
- 
-+#define SOL_IP          0
-+#define SOL_IPV6        41
-+#define SOL_ICMPV6      58
-+
- #define SOL_RAW         255
- #define SOL_DECNET      261
- #define SOL_X25         262
-diff -Nur musl-0.9.15/include/sys/sysctl.h musl-git/include/sys/sysctl.h
---- musl-0.9.15/include/sys/sysctl.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/sys/sysctl.h	1970-01-01 01:00:00.000000000 +0100
-@@ -1,17 +0,0 @@
--#ifndef	_SYS_SYSCTL_H
--#define	_SYS_SYSCTL_H
--
--#ifdef __cplusplus
--extern "C" {
--#endif
--
--#define __NEED_size_t
--#include <bits/alltypes.h>
--
--int sysctl (int *, int, void *, size_t *, void *, size_t);
--
--#ifdef __cplusplus
--}
--#endif
--
--#endif
-diff -Nur musl-0.9.15/include/sys/time.h musl-git/include/sys/time.h
---- musl-0.9.15/include/sys/time.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/sys/time.h	2014-03-19 07:42:48.000000000 +0100
-@@ -51,6 +51,17 @@
- 	((a)->tv_usec += 1000000, (a)->tv_sec--) )
- #endif
- 
-+#if defined(_GNU_SOURCE)
-+#define TIMEVAL_TO_TIMESPEC(tv, ts) ( \
-+	(ts)->tv_sec = (tv)->tv_sec, \
-+	(ts)->tv_nsec = (tv)->tv_usec * 1000, \
-+	(void)0 )
-+#define TIMESPEC_TO_TIMEVAL(tv, ts) ( \
-+	(tv)->tv_sec = (ts)->tv_sec, \
-+	(tv)->tv_usec = (ts)->tv_nsec / 1000, \
-+	(void)0 )
-+#endif
-+
- #ifdef __cplusplus
- }
- #endif
-diff -Nur musl-0.9.15/include/sys/wait.h musl-git/include/sys/wait.h
---- musl-0.9.15/include/sys/wait.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/sys/wait.h	2014-03-19 07:42:48.000000000 +0100
-@@ -50,7 +50,7 @@
- #define WCOREDUMP(s) ((s) & 0x80)
- #define WIFEXITED(s) (!WTERMSIG(s))
- #define WIFSTOPPED(s) ((short)((((s)&0xffff)*0x10001)>>8) > 0x7f00)
--#define WIFSIGNALED(s) (((s)&0xffff)-1 < 0xffu)
-+#define WIFSIGNALED(s) (((s)&0xffff)-1U < 0xffu)
- #define WIFCONTINUED(s) ((s) == 0xffff)
- 
- #ifdef __cplusplus
-diff -Nur musl-0.9.15/include/syslog.h musl-git/include/syslog.h
---- musl-0.9.15/include/syslog.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/syslog.h	2014-03-19 07:42:48.000000000 +0100
-@@ -21,7 +21,7 @@
- #define	LOG_MAKEPRI(f, p) (((f)<<3)|(p))
- 
- #define LOG_MASK(p) (1<<(p))
--#define LOG_UPTO(p) ((1<<(p)+1)-1)
-+#define LOG_UPTO(p) ((1<<((p)+1))-1)
- 
- #define LOG_KERN     (0<<3)
- #define LOG_USER     (1<<3)
-diff -Nur musl-0.9.15/include/time.h musl-git/include/time.h
---- musl-0.9.15/include/time.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/time.h	2014-03-19 07:42:48.000000000 +0100
-@@ -125,7 +125,7 @@
- 
- 
- #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
--int stime(time_t *);
-+int stime(const time_t *);
- time_t timegm(struct tm *);
- #endif
- 
-diff -Nur musl-0.9.15/include/utmp.h musl-git/include/utmp.h
---- musl-0.9.15/include/utmp.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/utmp.h	2014-03-19 07:42:48.000000000 +0100
-@@ -10,6 +10,7 @@
- #define ACCOUNTING 9
- #define UT_NAMESIZE 32
- #define UT_HOSTSIZE 256
-+#define UT_LINESIZE 32
- 
- struct lastlog {
- 	time_t ll_time;
-@@ -22,6 +23,8 @@
- #define ut_addr ut_addr_v6[0]
- #define utmp utmpx
- #define utmpname(x) (-1)
-+#define e_exit __e_exit
-+#define e_termination __e_termination
- 
- void         endutent(void);
- struct utmp *getutent(void);
-diff -Nur musl-0.9.15/include/utmpx.h musl-git/include/utmpx.h
---- musl-0.9.15/include/utmpx.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/utmpx.h	2014-03-19 07:42:48.000000000 +0100
-@@ -5,6 +5,8 @@
- extern "C" {
- #endif
- 
-+#include <features.h>
-+
- #define __NEED_pid_t
- #define __NEED_time_t
- #define __NEED_suseconds_t
-@@ -12,19 +14,17 @@
- 
- #include <bits/alltypes.h>
- 
--#define UT_LINESIZE 32
--
- struct utmpx
- {
- 	short ut_type;
- 	pid_t ut_pid;
--	char ut_line[UT_LINESIZE];
-+	char ut_line[32];
- 	char ut_id[4];
- 	char ut_user[32];
- 	char ut_host[256];
- 	struct {
--		short e_termination;
--		short e_exit;
-+		short __e_termination;
-+		short __e_exit;
- 	} ut_exit;
- 	long ut_session;
- 	struct timeval ut_tv;
-@@ -39,7 +39,11 @@
- struct utmpx *pututxline(const struct utmpx *);
- void          setutxent(void);
- 
-+#if defined(_BSD_SOURCE) | defined(_GNU_SOURCE)
-+#define e_exit __e_exit
-+#define e_termination __e_termination
- void updwtmpx(const char *, const struct utmpx *);
-+#endif
- 
- #define EMPTY           0
- #define RUN_LVL         1
-diff -Nur musl-0.9.15/src/crypt/crypt_des.c musl-git/src/crypt/crypt_des.c
---- musl-0.9.15/src/crypt/crypt_des.c	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/src/crypt/crypt_des.c	2014-03-19 07:42:48.000000000 +0100
-@@ -692,7 +692,7 @@
- 	return saltbits;
- }
- 
--static void des_setkey(const unsigned char *key, struct expanded_key *ekey)
-+void __des_setkey(const unsigned char *key, struct expanded_key *ekey)
- {
- 	uint32_t k0, k1, rawkey0, rawkey1;
- 	unsigned int shifts, round, i, ibit;
-@@ -753,7 +753,7 @@
- /*
-  * l_in, r_in, l_out, and r_out are in pseudo-"big-endian" format.
-  */
--static void do_des(uint32_t l_in, uint32_t r_in,
-+void __do_des(uint32_t l_in, uint32_t r_in,
-     uint32_t *l_out, uint32_t *r_out,
-     uint32_t count, uint32_t saltbits, const struct expanded_key *ekey)
- {
-@@ -862,7 +862,7 @@
- 	    ((uint32_t)in[5] << 16) |
- 	    ((uint32_t)in[4] << 24);
- 
--	do_des(rawl, rawr, &l_out, &r_out, count, saltbits, ekey);
-+	__do_des(rawl, rawr, &l_out, &r_out, count, saltbits, ekey);
- 
- 	out[0] = l_out >> 24;
- 	out[1] = l_out >> 16;
-@@ -894,7 +894,7 @@
- 		if (*key)
- 			key++;
- 	}
--	des_setkey(keybuf, &ekey);
-+	__des_setkey(keybuf, &ekey);
- 
- 	if (*setting == _PASSWORD_EFMT1) {
- 		/*
-@@ -929,7 +929,7 @@
- 			q = keybuf;
- 			while (q <= &keybuf[sizeof(keybuf) - 1] && *key)
- 				*q++ ^= *key++ << 1;
--			des_setkey(keybuf, &ekey);
-+			__des_setkey(keybuf, &ekey);
- 		}
- 
- 		memcpy(output, setting, 9);
-@@ -957,7 +957,7 @@
- 	/*
- 	 * Do it.
- 	 */
--	do_des(0, 0, &r0, &r1, count, setup_salt(salt), &ekey);
-+	__do_des(0, 0, &r0, &r1, count, setup_salt(salt), &ekey);
- 
- 	/*
- 	 * Now encode the result...
-diff -Nur musl-0.9.15/src/crypt/encrypt.c musl-git/src/crypt/encrypt.c
---- musl-0.9.15/src/crypt/encrypt.c	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/crypt/encrypt.c	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,60 @@
-+#include <stdint.h>
-+#include <stdlib.h>
-+#include <unistd.h>
-+
-+struct expanded_key {
-+        uint32_t l[16], r[16];
-+};
-+
-+void __des_setkey(const unsigned char *key, struct expanded_key *ekey);
-+void __do_des(uint32_t l_in, uint32_t r_in,
-+    uint32_t *l_out, uint32_t *r_out,
-+    uint32_t count, uint32_t saltbits, const struct expanded_key *ekey);
-+
-+
-+static struct expanded_key __encrypt_key;
-+
-+void setkey(const char *key)
-+{
-+	unsigned char bkey[8];
-+	int i, j;
-+
-+	for (i = 0; i < 8; i++) {
-+		bkey[i] = 0;
-+		for (j = 7; j >= 0; j--, key++)
-+			bkey[i] |= (uint32_t)(*key & 1) << j;
-+	}
-+
-+	__des_setkey(bkey, &__encrypt_key);
-+}
-+
-+void encrypt(char *block, int edflag)
-+{
-+	struct expanded_key decrypt_key, *key;
-+	uint32_t b[2];
-+	int i, j;
-+	char *p;
-+
-+	p = block;
-+	for (i = 0; i < 2; i++) {
-+		b[i] = 0;
-+		for (j = 31; j >= 0; j--, p++)
-+			b[i] |= (uint32_t)(*p & 1) << j;
-+	}
-+
-+	key = &__encrypt_key;
-+	if (edflag) {
-+		key = &decrypt_key;
-+		for (i = 0; i < 16; i++) {
-+			decrypt_key.l[i] = __encrypt_key.l[15-i];
-+			decrypt_key.r[i] = __encrypt_key.r[15-i];
-+		}
-+	}
-+
-+	__do_des(b[0], b[1], b, b + 1, 1, 0, key);
-+
-+	p = block;
-+	for (i = 0; i < 2; i++)
-+		for (j = 31; j >= 0; j--)
-+			*p++ = b[i]>>j & 1;
-+}
-diff -Nur musl-0.9.15/src/dirent/readdir.c musl-git/src/dirent/readdir.c
---- musl-0.9.15/src/dirent/readdir.c	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/src/dirent/readdir.c	2014-03-19 07:42:48.000000000 +0100
-@@ -1,5 +1,7 @@
- #include <dirent.h>
-+#include <errno.h>
- #include "__dirent.h"
-+#include "syscall.h"
- #include "libc.h"
- 
- int __getdents(int, struct dirent *, size_t);
-@@ -9,8 +11,11 @@
- 	struct dirent *de;
- 	
- 	if (dir->buf_pos >= dir->buf_end) {
--		int len = __getdents(dir->fd, (void *)dir->buf, sizeof dir->buf);
--		if (len <= 0) return 0;
-+		int len = __syscall(SYS_getdents, dir->fd, dir->buf, sizeof dir->buf);
-+		if (len <= 0) {
-+			if (len < 0 && len != -ENOENT) errno = -len;
-+			return 0;
-+		}
- 		dir->buf_end = len;
- 		dir->buf_pos = 0;
- 	}
-diff -Nur musl-0.9.15/src/errno/strerror.c musl-git/src/errno/strerror.c
---- musl-0.9.15/src/errno/strerror.c	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/src/errno/strerror.c	2014-03-19 07:42:48.000000000 +0100
-@@ -1,7 +1,7 @@
- #include <errno.h>
- #include <string.h>
- 
--#define E(a,b) a,
-+#define E(a,b) ((unsigned char)a),
- static const unsigned char errid[] = {
- #include "__strerror.h"
- };
-@@ -16,6 +16,12 @@
- {
- 	const char *s;
- 	int i;
-+	/* mips has one error code outside of the 8-bit range due to a
-+	 * historical typo, so we just remap it. */
-+	if (EDQUOT==1133) {
-+		if (e==109) e=-1;
-+		else if (e==EDQUOT) e=109;
-+	}
- 	for (i=0; errid[i] && errid[i] != e; i++);
- 	for (s=errmsg; i; s++, i--) for (; *s; s++);
- 	return (char *)s;
-diff -Nur musl-0.9.15/src/fcntl/fcntl.c musl-git/src/fcntl/fcntl.c
---- musl-0.9.15/src/fcntl/fcntl.c	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/src/fcntl/fcntl.c	2014-03-19 07:42:48.000000000 +0100
-@@ -7,17 +7,17 @@
- 
- int fcntl(int fd, int cmd, ...)
- {
--	long arg;
-+	unsigned long arg;
- 	va_list ap;
- 	va_start(ap, cmd);
--	arg = va_arg(ap, long);
-+	arg = va_arg(ap, unsigned long);
- 	va_end(ap);
- 	if (cmd == F_SETFL) arg |= O_LARGEFILE;
--	if (cmd == F_SETLKW) return syscall_cp(SYS_fcntl, fd, cmd, arg);
-+	if (cmd == F_SETLKW) return syscall_cp(SYS_fcntl, fd, cmd, (void *)arg);
- 	if (cmd == F_GETOWN) {
- 		struct f_owner_ex ex;
- 		int ret = __syscall(SYS_fcntl, fd, F_GETOWN_EX, &ex);
--		if (ret == -EINVAL) return __syscall(SYS_fcntl, fd, cmd, arg);
-+		if (ret == -EINVAL) return __syscall(SYS_fcntl, fd, cmd, (void *)arg);
- 		if (ret) return __syscall_ret(ret);
- 		return ex.type == F_OWNER_PGRP ? -ex.pid : ex.pid;
- 	}
-@@ -37,5 +37,14 @@
- 		if (ret >= 0) __syscall(SYS_fcntl, ret, F_SETFD, FD_CLOEXEC);
- 		return __syscall_ret(ret);
- 	}
--	return syscall(SYS_fcntl, fd, cmd, arg);
-+	switch (cmd) {
-+	case F_SETLK:
-+	case F_SETLKW:
-+	case F_GETLK:
-+	case F_GETOWN_EX:
-+	case F_SETOWN_EX:
-+		return syscall(SYS_fcntl, fd, cmd, (void *)arg);
-+	default:
-+		return syscall(SYS_fcntl, fd, cmd, arg);
-+	}
- }
-diff -Nur musl-0.9.15/src/fcntl/posix_fadvise.c musl-git/src/fcntl/posix_fadvise.c
---- musl-0.9.15/src/fcntl/posix_fadvise.c	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/src/fcntl/posix_fadvise.c	2014-03-19 07:42:48.000000000 +0100
-@@ -1,8 +1,11 @@
- #include <fcntl.h>
- #include "syscall.h"
-+#include "libc.h"
- 
- int posix_fadvise(int fd, off_t base, off_t len, int advice)
- {
- 	return -(__syscall)(SYS_fadvise, fd, __SYSCALL_LL_O(base),
- 		__SYSCALL_LL_E(len), advice);
- }
-+
-+LFS64(posix_fadvise);
-diff -Nur musl-0.9.15/src/fcntl/posix_fallocate.c musl-git/src/fcntl/posix_fallocate.c
---- musl-0.9.15/src/fcntl/posix_fallocate.c	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/src/fcntl/posix_fallocate.c	2014-03-19 07:42:48.000000000 +0100
-@@ -1,8 +1,11 @@
- #include <fcntl.h>
- #include "syscall.h"
-+#include "libc.h"
- 
- int posix_fallocate(int fd, off_t base, off_t len)
- {
- 	return -__syscall(SYS_fallocate, fd, 0, __SYSCALL_LL_E(base),
- 		__SYSCALL_LL_E(len));
- }
-+
-+LFS64(posix_fallocate);
-diff -Nur musl-0.9.15/src/fenv/i386/fenv.s musl-git/src/fenv/i386/fenv.s
---- musl-0.9.15/src/fenv/i386/fenv.s	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/src/fenv/i386/fenv.s	2014-03-19 07:42:48.000000000 +0100
-@@ -126,7 +126,7 @@
- 	push %eax
- 	push %eax
- 	push %eax
--	push %eax
-+	pushl $0xffff
- 	push %eax
- 	pushl $0x37f
- 	fldenv (%esp)
-diff -Nur musl-0.9.15/src/fenv/mipsel-sf/fenv.sub musl-git/src/fenv/mipsel-sf/fenv.sub
---- musl-0.9.15/src/fenv/mipsel-sf/fenv.sub	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/fenv/mipsel-sf/fenv.sub	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1 @@
-+../fenv.c
-diff -Nur musl-0.9.15/src/fenv/mips-sf/fenv.sub musl-git/src/fenv/mips-sf/fenv.sub
---- musl-0.9.15/src/fenv/mips-sf/fenv.sub	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/fenv/mips-sf/fenv.sub	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1 @@
-+../fenv.c
-diff -Nur musl-0.9.15/src/fenv/sh/fenv.s musl-git/src/fenv/sh/fenv.s
---- musl-0.9.15/src/fenv/sh/fenv.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/fenv/sh/fenv.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,74 @@
-+.global fegetround
-+.type   fegetround, @function
-+fegetround:
-+	sts fpscr, r0
-+	rts
-+	 and #3, r0
-+
-+.global __fesetround
-+.type   __fesetround, @function
-+__fesetround:
-+	sts fpscr, r0
-+	or  r4, r0
-+	lds r0, fpscr
-+	rts
-+	 mov #0, r0
-+
-+.global fetestexcept
-+.type   fetestexcept, @function
-+fetestexcept:
-+	sts fpscr, r0
-+	and r4, r0
-+	rts
-+	 and #0x7c, r0
-+
-+.global feclearexcept
-+.type   feclearexcept, @function
-+feclearexcept:
-+	mov r4, r0
-+	and #0x7c, r0
-+	not r0, r4
-+	sts fpscr, r0
-+	and r4, r0
-+	lds r0, fpscr
-+	rts
-+	 mov #0, r0
-+
-+.global feraiseexcept
-+.type   feraiseexcept, @function
-+feraiseexcept:
-+	mov r4, r0
-+	and #0x7c, r0
-+	sts fpscr, r4
-+	or  r4, r0
-+	lds r0, fpscr
-+	rts
-+	 mov #0, r0
-+
-+.global fegetenv
-+.type   fegetenv, @function
-+fegetenv:
-+	sts fpscr, r0
-+	mov.l r0, @r4
-+	rts
-+	 mov #0, r0
-+
-+.global fesetenv
-+.type   fesetenv, @function
-+fesetenv:
-+	mov r4, r0
-+	cmp/eq #-1, r0
-+	bf 1f
-+
-+	! the default environment is complicated by the fact that we need to
-+	! preserve the current precision bit, which we do not know a priori
-+	sts fpscr, r0
-+	mov #8, r1
-+	swap.w r1, r1
-+	bra 2f
-+	 and r1, r0
-+
-+1:	mov.l @r4, r0      ! non-default environment
-+2:	lds r0, fpscr
-+	rts
-+	 mov #0, r0
-diff -Nur musl-0.9.15/src/fenv/sheb-nofpu/fenv.sub musl-git/src/fenv/sheb-nofpu/fenv.sub
---- musl-0.9.15/src/fenv/sheb-nofpu/fenv.sub	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/fenv/sheb-nofpu/fenv.sub	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1 @@
-+../fenv.c
-diff -Nur musl-0.9.15/src/fenv/sh-nofpu/fenv.sub musl-git/src/fenv/sh-nofpu/fenv.sub
---- musl-0.9.15/src/fenv/sh-nofpu/fenv.sub	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/fenv/sh-nofpu/fenv.sub	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1 @@
-+../fenv.c
-diff -Nur musl-0.9.15/src/fenv/x32/fenv.s musl-git/src/fenv/x32/fenv.s
---- musl-0.9.15/src/fenv/x32/fenv.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/fenv/x32/fenv.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,97 @@
-+.global feclearexcept
-+.type feclearexcept,@function
-+feclearexcept:
-+		# maintain exceptions in the sse mxcsr, clear x87 exceptions
-+	mov %edi,%ecx
-+	and $0x3f,%ecx
-+	fnstsw %ax
-+	test %eax,%ecx
-+	jz 1f
-+	fnclex
-+1:	stmxcsr -8(%esp)
-+	and $0x3f,%eax
-+	or %eax,-8(%esp)
-+	test %ecx,-8(%esp)
-+	jz 1f
-+	not %ecx
-+	and %ecx,-8(%esp)
-+	ldmxcsr -8(%esp)
-+1:	xor %eax,%eax
-+	ret
-+
-+.global feraiseexcept
-+.type feraiseexcept,@function
-+feraiseexcept:
-+	and $0x3f,%edi
-+	stmxcsr -8(%esp)
-+	or %edi,-8(%esp)
-+	ldmxcsr -8(%esp)
-+	xor %eax,%eax
-+	ret
-+
-+.global __fesetround
-+.type __fesetround,@function
-+__fesetround:
-+	push %rax
-+	xor %eax,%eax
-+	mov %edi,%ecx
-+	fnstcw (%esp)
-+	andb $0xf3,1(%esp)
-+	or %ch,1(%esp)
-+	fldcw (%esp)
-+	stmxcsr (%esp)
-+	shl $3,%ch
-+	andb $0x9f,1(%esp)
-+	or %ch,1(%esp)
-+	ldmxcsr (%esp)
-+	pop %rcx
-+	ret
-+
-+.global fegetround
-+.type fegetround,@function
-+fegetround:
-+	push %rax
-+	stmxcsr (%esp)
-+	pop %rax
-+	shr $3,%eax
-+	and $0xc00,%eax
-+	ret
-+
-+.global fegetenv
-+.type fegetenv,@function
-+fegetenv:
-+	xor %eax,%eax
-+	fnstenv (%edi)
-+	stmxcsr 28(%edi)
-+	ret
-+
-+.global fesetenv
-+.type fesetenv,@function
-+fesetenv:
-+	xor %eax,%eax
-+	inc %edi
-+	jz 1f
-+	fldenv -1(%edi)
-+	ldmxcsr 27(%edi)
-+	ret
-+1:	push %rax
-+	push %rax
-+	pushq $0xffff
-+	pushq $0x37f
-+	fldenv (%esp)
-+	pushq $0x1f80
-+	ldmxcsr (%esp)
-+	add $40,%esp
-+	ret
-+
-+.global fetestexcept
-+.type fetestexcept,@function
-+fetestexcept:
-+	and $0x3f,%edi
-+	push %rax
-+	stmxcsr (%esp)
-+	pop %rsi
-+	fnstsw %ax
-+	or %esi,%eax
-+	and %edi,%eax
-+	ret
-diff -Nur musl-0.9.15/src/fenv/x86_64/fenv.s musl-git/src/fenv/x86_64/fenv.s
---- musl-0.9.15/src/fenv/x86_64/fenv.s	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/src/fenv/x86_64/fenv.s	2014-03-19 07:42:48.000000000 +0100
-@@ -76,7 +76,7 @@
- 	ret
- 1:	push %rax
- 	push %rax
--	push %rax
-+	pushq $0xffff
- 	pushq $0x37f
- 	fldenv (%rsp)
- 	pushq $0x1f80
-diff -Nur musl-0.9.15/src/internal/sh/syscall.s musl-git/src/internal/sh/syscall.s
---- musl-0.9.15/src/internal/sh/syscall.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/internal/sh/syscall.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,22 @@
-+.global __syscall
-+.type   __syscall, @function
-+__syscall:
-+	! The kernel syscall entry point documents that the trap number indicates
-+	! the number of arguments being passed, but it then ignores that information.
-+	! Since we do not actually know how many arguments are being passed, we will
-+	! say there are six, since that is the maximum we support here.
-+	mov r4, r3
-+	mov r5, r4
-+	mov r6, r5
-+	mov r7, r6
-+	mov.l @r15, r7
-+	mov.l @(4,r15), r0
-+	mov.l @(8,r15), r1
-+	trapa #22
-+	or r0, r0
-+	or r0, r0
-+	or r0, r0
-+	or r0, r0
-+	or r0, r0
-+	rts
-+	 nop
-diff -Nur musl-0.9.15/src/internal/stdio_impl.h musl-git/src/internal/stdio_impl.h
---- musl-0.9.15/src/internal/stdio_impl.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/src/internal/stdio_impl.h	2014-03-19 07:42:48.000000000 +0100
-@@ -17,6 +17,7 @@
- #define F_EOF 16
- #define F_ERR 32
- #define F_SVB 64
-+#define F_APP 128
- 
- struct _IO_FILE {
- 	unsigned flags;
-diff -Nur musl-0.9.15/src/internal/syscall.h musl-git/src/internal/syscall.h
---- musl-0.9.15/src/internal/syscall.h	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/src/internal/syscall.h	2014-03-19 07:42:48.000000000 +0100
-@@ -1,22 +1,28 @@
- #ifndef _INTERNAL_SYSCALL_H
- #define _INTERNAL_SYSCALL_H
- 
--#if defined(__PIC__) && (100*__GNUC__+__GNUC_MINOR__ >= 303)
--__attribute__((visibility("protected")))
--#endif
--long __syscall_ret(unsigned long), __syscall(long, ...),
--	__syscall_cp(long, long, long, long, long, long, long);
--
- #include <sys/syscall.h>
- #include "syscall_arch.h"
- 
--#define __syscall1(n,a) __syscall1(n,(long)(a))
--#define __syscall2(n,a,b) __syscall2(n,(long)(a),(long)(b))
--#define __syscall3(n,a,b,c) __syscall3(n,(long)(a),(long)(b),(long)(c))
--#define __syscall4(n,a,b,c,d) __syscall4(n,(long)(a),(long)(b),(long)(c),(long)(d))
--#define __syscall5(n,a,b,c,d,e) __syscall5(n,(long)(a),(long)(b),(long)(c),(long)(d),(long)(e))
--#define __syscall6(n,a,b,c,d,e,f) __syscall6(n,(long)(a),(long)(b),(long)(c),(long)(d),(long)(e),(long)(f))
--#define __syscall7(n,a,b,c,d,e,f,g) (__syscall)(n,(long)(a),(long)(b),(long)(c),(long)(d),(long)(e),(long)(f),(long)g)
-+#ifndef __scc
-+#define __scc(X) ((long) (X))
-+typedef long syscall_arg_t;
-+#endif
-+
-+#if defined(__PIC__) && (100*__GNUC__+__GNUC_MINOR__ >= 303)
-+__attribute__((visibility("protected")))
-+#endif
-+long __syscall_ret(unsigned long), __syscall(syscall_arg_t, ...),
-+	__syscall_cp(syscall_arg_t, syscall_arg_t, syscall_arg_t, syscall_arg_t,
-+	             syscall_arg_t, syscall_arg_t, syscall_arg_t);
-+
-+#define __syscall1(n,a) __syscall1(n,__scc(a))
-+#define __syscall2(n,a,b) __syscall2(n,__scc(a),__scc(b))
-+#define __syscall3(n,a,b,c) __syscall3(n,__scc(a),__scc(b),__scc(c))
-+#define __syscall4(n,a,b,c,d) __syscall4(n,__scc(a),__scc(b),__scc(c),__scc(d))
-+#define __syscall5(n,a,b,c,d,e) __syscall5(n,__scc(a),__scc(b),__scc(c),__scc(d),__scc(e))
-+#define __syscall6(n,a,b,c,d,e,f) __syscall6(n,__scc(a),__scc(b),__scc(c),__scc(d),__scc(e),__scc(f))
-+#define __syscall7(n,a,b,c,d,e,f,g) (__syscall)(n,__scc(a),__scc(b),__scc(c),__scc(d),__scc(e),__scc(f),__scc(g))
- 
- #define __SYSCALL_NARGS_X(a,b,c,d,e,f,g,h,n,...) n
- #define __SYSCALL_NARGS(...) __SYSCALL_NARGS_X(__VA_ARGS__,7,6,5,4,3,2,1,0,)
-@@ -31,12 +37,12 @@
- #define socketcall_cp __socketcall_cp
- 
- #define __syscall_cp0(n) (__syscall_cp)(n,0,0,0,0,0,0)
--#define __syscall_cp1(n,a) (__syscall_cp)(n,(long)(a),0,0,0,0,0)
--#define __syscall_cp2(n,a,b) (__syscall_cp)(n,(long)(a),(long)(b),0,0,0,0)
--#define __syscall_cp3(n,a,b,c) (__syscall_cp)(n,(long)(a),(long)(b),(long)(c),0,0,0)
--#define __syscall_cp4(n,a,b,c,d) (__syscall_cp)(n,(long)(a),(long)(b),(long)(c),(long)(d),0,0)
--#define __syscall_cp5(n,a,b,c,d,e) (__syscall_cp)(n,(long)(a),(long)(b),(long)(c),(long)(d),(long)(e),0)
--#define __syscall_cp6(n,a,b,c,d,e,f) (__syscall_cp)(n,(long)(a),(long)(b),(long)(c),(long)(d),(long)(e),(long)(f))
-+#define __syscall_cp1(n,a) (__syscall_cp)(n,__scc(a),0,0,0,0,0)
-+#define __syscall_cp2(n,a,b) (__syscall_cp)(n,__scc(a),__scc(b),0,0,0,0)
-+#define __syscall_cp3(n,a,b,c) (__syscall_cp)(n,__scc(a),__scc(b),__scc(c),0,0,0)
-+#define __syscall_cp4(n,a,b,c,d) (__syscall_cp)(n,__scc(a),__scc(b),__scc(c),__scc(d),0,0)
-+#define __syscall_cp5(n,a,b,c,d,e) (__syscall_cp)(n,__scc(a),__scc(b),__scc(c),__scc(d),__scc(e),0)
-+#define __syscall_cp6(n,a,b,c,d,e,f) (__syscall_cp)(n,__scc(a),__scc(b),__scc(c),__scc(d),__scc(e),__scc(f))
- 
- #define __syscall_cp(...) __SYSCALL_DISP(__syscall_cp,__VA_ARGS__)
- #define syscall_cp(...) __syscall_ret(__syscall_cp(__VA_ARGS__))
-diff -Nur musl-0.9.15/src/internal/x32/syscall.s musl-git/src/internal/x32/syscall.s
---- musl-0.9.15/src/internal/x32/syscall.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/internal/x32/syscall.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,12 @@
-+.global __syscall
-+.type __syscall,@function
-+__syscall:
-+	movq %rdi,%rax
-+	movq %rsi,%rdi
-+	movq %rdx,%rsi
-+	movq %rcx,%rdx
-+	movq %r8,%r10
-+	movq %r9,%r8
-+	movq 8(%rsp),%r9
-+	syscall
-+	ret
-diff -Nur musl-0.9.15/src/ipc/semctl.c musl-git/src/ipc/semctl.c
---- musl-0.9.15/src/ipc/semctl.c	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/src/ipc/semctl.c	2014-03-19 07:42:48.000000000 +0100
-@@ -3,16 +3,26 @@
- #include "syscall.h"
- #include "ipc.h"
- 
-+union semun {
-+	int val;
-+	struct semid_ds *buf;
-+	unsigned short *array;
-+};
-+
- int semctl(int id, int num, int cmd, ...)
- {
--	long arg;
-+	union semun arg = {0};
- 	va_list ap;
--	va_start(ap, cmd);
--	arg = va_arg(ap, long);
--	va_end(ap);
-+	switch (cmd) {
-+	case SETVAL: case GETALL: case SETALL: case IPC_STAT: case IPC_SET:
-+	case IPC_INFO: case SEM_INFO: case SEM_STAT:
-+		va_start(ap, cmd);
-+		arg = va_arg(ap, union semun);
-+		va_end(ap);
-+	}
- #ifdef SYS_semctl
--	return syscall(SYS_semctl, id, num, cmd | IPC_64, arg);
-+	return syscall(SYS_semctl, id, num, cmd | IPC_64, arg.buf);
- #else
--	return syscall(SYS_ipc, IPCOP_semctl, id, num, cmd | IPC_64, &arg);
-+	return syscall(SYS_ipc, IPCOP_semctl, id, num, cmd | IPC_64, &arg.buf);
- #endif
- }
-diff -Nur musl-0.9.15/src/ldso/dladdr.c musl-git/src/ldso/dladdr.c
---- musl-0.9.15/src/ldso/dladdr.c	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/src/ldso/dladdr.c	2014-03-19 07:42:48.000000000 +0100
-@@ -1,9 +1,9 @@
- #define _GNU_SOURCE
- #include <dlfcn.h>
- 
--int __dladdr(void *, Dl_info *);
-+int __dladdr(const void *, Dl_info *);
- 
--int dladdr(void *addr, Dl_info *info)
-+int dladdr(const void *addr, Dl_info *info)
- {
- 	return __dladdr(addr, info);
- }
-diff -Nur musl-0.9.15/src/ldso/dynlink.c musl-git/src/ldso/dynlink.c
---- musl-0.9.15/src/ldso/dynlink.c	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/src/ldso/dynlink.c	2014-03-19 07:42:48.000000000 +0100
-@@ -253,7 +253,8 @@
- 			name = strings + sym->st_name;
- 			ctx = IS_COPY(type) ? head->next : head;
- 			def = find_sym(ctx, name, IS_PLT(type));
--			if (!def.sym && sym->st_info>>4 != STB_WEAK) {
-+			if (!def.sym && (sym->st_shndx != SHN_UNDEF
-+			    || sym->st_info>>4 != STB_WEAK)) {
- 				snprintf(errbuf, sizeof errbuf,
- 					"Error relocating %s: %s: symbol not found",
- 					dso->name, name);
-@@ -1331,7 +1332,7 @@
- 	return 0;
- }
- 
--int __dladdr(void *addr, Dl_info *info)
-+int __dladdr(const void *addr, Dl_info *info)
- {
- 	struct dso *p;
- 	Sym *sym;
-@@ -1441,7 +1442,7 @@
- {
- 	return 0;
- }
--int __dladdr (void *addr, Dl_info *info)
-+int __dladdr (const void *addr, Dl_info *info)
- {
- 	return 0;
- }
-diff -Nur musl-0.9.15/src/ldso/sh/dlsym.s musl-git/src/ldso/sh/dlsym.s
---- musl-0.9.15/src/ldso/sh/dlsym.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/ldso/sh/dlsym.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,10 @@
-+.text
-+.global dlsym
-+.type   dlsym, @function
-+dlsym:
-+	mov.l L1, r0
-+	braf  r0
-+1:	 mov.l @r15, r6
-+
-+.align 2
-+L1:	.long __dlsym@PLT-(1b-.)
-diff -Nur musl-0.9.15/src/ldso/sh/start.s musl-git/src/ldso/sh/start.s
---- musl-0.9.15/src/ldso/sh/start.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/ldso/sh/start.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,26 @@
-+.text
-+.global _start
-+.type   _start, @function
-+_start:
-+	mov.l  @r15, r4
-+	mov    r15, r5
-+	mov.l  L1, r0
-+	bsrf   r0
-+	 add   #4, r5
-+
-+2:	mov    r0, r2
-+	mov.l  @r15+, r1
-+1:	mov.l  @r15+, r0
-+	cmp/eq #-1, r0
-+	bt/s   1b
-+	 add   #-1, r1
-+
-+	add    #1, r1
-+	mov.l  r0, @-r15
-+	mov.l  r1, @-r15
-+	mov    #0, r4
-+	jmp    @r2
-+	 nop
-+
-+.align 2
-+L1:	.long __dynlink@PLT-(2b-.)
-diff -Nur musl-0.9.15/src/ldso/x32/dlsym.s musl-git/src/ldso/x32/dlsym.s
---- musl-0.9.15/src/ldso/x32/dlsym.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/ldso/x32/dlsym.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,6 @@
-+.text
-+.global dlsym
-+.type dlsym,@function
-+dlsym:
-+	mov (%rsp),%rdx
-+	jmp __dlsym
-diff -Nur musl-0.9.15/src/ldso/x32/start.s musl-git/src/ldso/x32/start.s
---- musl-0.9.15/src/ldso/x32/start.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/ldso/x32/start.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,24 @@
-+.text
-+.global _start
-+_start:
-+	mov (%rsp),%rdi  /* move argc into 1st argument slot */
-+	lea 4(%rsp),%rsi /* move argv into 2nd argument slot */
-+	call __dynlink
-+	/* in case the dynlinker was called directly, it sets the "consumed"
-+	   argv values to -1. so we must loop over the array as long as -1
-+	   is in the top argv slot, decrement argc, and then set the stackpointer
-+	   to the new argc as well as argc's new value.
-+	   as the x32 abi has longs in the argv array, we cannot use push/pop.*/
-+	movl (%rsp),%edi /* copy argc into edi */
-+	xor %rdx,%rdx /* we use rdx as an offset to the current argv member */
-+1:	dec %edi
-+	addl $4, %edx
-+	movl (%rsp, %rdx), %esi
-+	cmp $-1,%esi
-+	jz 1b
-+	inc %edi
-+	subl $4, %edx
-+	lea (%rsp, %rdx), %rsp /* set rsp to new argv[-1] */
-+	movl %edi, (%rsp)      /* write new argc there */
-+	xor %edx,%edx
-+	jmp *%rax
-diff -Nur musl-0.9.15/src/linux/clone.c musl-git/src/linux/clone.c
---- musl-0.9.15/src/linux/clone.c	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/linux/clone.c	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,19 @@
-+#include <stdarg.h>
-+#include <unistd.h>
-+#include "pthread_impl.h"
-+#include "syscall.h"
-+
-+int clone(int (*func)(void *), void *stack, int flags, void *arg, ...)
-+{
-+	va_list ap;
-+	pid_t *ptid, *ctid;
-+	void  *tls;
-+
-+	va_start(ap, arg);
-+	ptid = va_arg(ap, pid_t *);
-+	tls  = va_arg(ap, void *);
-+	ctid = va_arg(ap, pid_t *);
-+	va_end(ap);
-+
-+	return __syscall_ret(__clone(func, stack, flags, arg, ptid, tls, ctid));
-+}
-diff -Nur musl-0.9.15/src/linux/fallocate.c musl-git/src/linux/fallocate.c
---- musl-0.9.15/src/linux/fallocate.c	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/src/linux/fallocate.c	2014-03-19 07:42:48.000000000 +0100
-@@ -1,9 +1,13 @@
- #define _GNU_SOURCE
- #include <fcntl.h>
- #include "syscall.h"
-+#include "libc.h"
- 
- int fallocate(int fd, int mode, off_t base, off_t len)
- {
- 	return syscall(SYS_fallocate, fd, mode, __SYSCALL_LL_E(base),
- 		__SYSCALL_LL_E(len));
- }
-+
-+#undef fallocate64
-+LFS64(fallocate);
-diff -Nur musl-0.9.15/src/linux/inotify.c musl-git/src/linux/inotify.c
---- musl-0.9.15/src/linux/inotify.c	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/src/linux/inotify.c	2014-03-19 07:42:48.000000000 +0100
-@@ -15,7 +15,7 @@
- 	return syscall(SYS_inotify_add_watch, fd, pathname, mask);
- }
- 
--int inotify_rm_watch(int fd, uint32_t wd)
-+int inotify_rm_watch(int fd, int wd)
- {
- 	return syscall(SYS_inotify_rm_watch, fd, wd);
- }
-diff -Nur musl-0.9.15/src/linux/remap_file_pages.c musl-git/src/linux/remap_file_pages.c
---- musl-0.9.15/src/linux/remap_file_pages.c	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/src/linux/remap_file_pages.c	2014-03-19 07:42:48.000000000 +0100
-@@ -2,7 +2,7 @@
- #include <sys/mman.h>
- #include "syscall.h"
- 
--int remap_file_pages(void *addr, size_t size, int prot, ssize_t pgoff, int flags)
-+int remap_file_pages(void *addr, size_t size, int prot, size_t pgoff, int flags)
- {
- 	return syscall(SYS_remap_file_pages, addr, size, prot, pgoff, flags);
- }
-diff -Nur musl-0.9.15/src/linux/stime.c musl-git/src/linux/stime.c
---- musl-0.9.15/src/linux/stime.c	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/src/linux/stime.c	2014-03-19 07:42:48.000000000 +0100
-@@ -2,7 +2,7 @@
- #include <time.h>
- #include <sys/time.h>
- 
--int stime(time_t *t)
-+int stime(const time_t *t)
- {
- 	struct timeval tv = { .tv_sec = *t, .tv_usec = 0 };
- 	return settimeofday(&tv, (void *)0);
-diff -Nur musl-0.9.15/src/linux/x32/sysinfo.s musl-git/src/linux/x32/sysinfo.s
---- musl-0.9.15/src/linux/x32/sysinfo.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/linux/x32/sysinfo.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,5 @@
-+.text
-+.global sysinfo
-+.type   sysinfo,@function
-+sysinfo:
-+	jmp __x32_sysinfo
-diff -Nur musl-0.9.15/src/locale/wcsxfrm.c musl-git/src/locale/wcsxfrm.c
---- musl-0.9.15/src/locale/wcsxfrm.c	2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/src/locale/wcsxfrm.c	2014-03-19 07:42:48.000000000 +0100
-@@ -6,10 +6,12 @@
- size_t __wcsxfrm_l(wchar_t *restrict dest, const wchar_t *restrict src, size_t n, locale_t loc)
- {
- 	size_t l = wcslen(src);
--	if (l >= n) {
-+	if (l < n) {
-+		wmemcpy(dest, src, l+1);
-+	} else if (n) {
- 		wmemcpy(dest, src, n-1);
- 		dest[n-1] = 0;
--	} else wcscpy(dest, src);
-+	}
- 	return l;
- }
- 
-diff -Nur musl-0.9.15/src/math/i386/remainderf.s musl-git/src/math/i386/remainderf.s
---- musl-0.9.15/src/math/i386/remainderf.s	2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/math/i386/remainderf.s	2014-03-19 07:42:48.000000000 +0100
-@@ -1,6 +1,9 @@
- .global remainderf
- .type remainderf,@function
- remainderf:
-+.weak dremf
-+.type dremf,@function
-+dremf:
- 	flds 8(%esp)
- 	flds 4(%esp)
- 1:	fprem1
-diff -Nur musl-0.9.15/src/math/i386/remainder.s musl-git/src/math/i386/remainder.s
---- musl-0.9.15/src/math/i386/remainder.s	2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/math/i386/remainder.s	2014-03-19 07:42:48.000000000 +0100
-@@ -1,6 +1,9 @@
- .global remainder
- .type remainder,@function
- remainder:
-+.weak drem
-+.type drem,@function
-+drem:
- 	fldl 12(%esp)
- 	fldl 4(%esp)
- 1:	fprem1
-diff -Nur musl-0.9.15/src/math/x32/acosl.s musl-git/src/math/x32/acosl.s
---- musl-0.9.15/src/math/x32/acosl.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/acosl.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,16 @@
-+# see ../i386/acos.s
-+
-+.global acosl
-+.type acosl,@function
-+acosl:
-+	fldt 8(%esp)
-+1:	fld %st(0)
-+	fld1
-+	fsub %st(0),%st(1)
-+	fadd %st(2)
-+	fmulp
-+	fsqrt
-+	fabs
-+	fxch %st(1)
-+	fpatan
-+	ret
-diff -Nur musl-0.9.15/src/math/x32/asinl.s musl-git/src/math/x32/asinl.s
---- musl-0.9.15/src/math/x32/asinl.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/asinl.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,12 @@
-+.global asinl
-+.type asinl,@function
-+asinl:
-+	fldt 8(%esp)
-+1:	fld %st(0)
-+	fld1
-+	fsub %st(0),%st(1)
-+	fadd %st(2)
-+	fmulp
-+	fsqrt
-+	fpatan
-+	ret
-diff -Nur musl-0.9.15/src/math/x32/atan2l.s musl-git/src/math/x32/atan2l.s
---- musl-0.9.15/src/math/x32/atan2l.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/atan2l.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,7 @@
-+.global atan2l
-+.type atan2l,@function
-+atan2l:
-+	fldt 8(%esp)
-+	fldt 24(%esp)
-+	fpatan
-+	ret
-diff -Nur musl-0.9.15/src/math/x32/atanl.s musl-git/src/math/x32/atanl.s
---- musl-0.9.15/src/math/x32/atanl.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/atanl.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,7 @@
-+.global atanl
-+.type atanl,@function
-+atanl:
-+	fldt 8(%esp)
-+	fld1
-+	fpatan
-+	ret
-diff -Nur musl-0.9.15/src/math/x32/ceill.s musl-git/src/math/x32/ceill.s
---- musl-0.9.15/src/math/x32/ceill.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/ceill.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1 @@
-+# see floorl.s
-diff -Nur musl-0.9.15/src/math/x32/exp2l.s musl-git/src/math/x32/exp2l.s
---- musl-0.9.15/src/math/x32/exp2l.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/exp2l.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,90 @@
-+.global expm1l
-+.type expm1l,@function
-+expm1l:
-+	fldt 8(%esp)
-+	fldl2e
-+	fmulp
-+	movl $0xc2820000,-4(%esp)
-+	flds -4(%esp)
-+	fucomp %st(1)
-+	fnstsw %ax
-+	sahf
-+	fld1
-+	jb 1f
-+		# x*log2e <= -65, return -1 without underflow
-+	fstp %st(1)
-+	fchs
-+	ret
-+1:	fld %st(1)
-+	fabs
-+	fucom %st(1)
-+	fnstsw %ax
-+	fstp %st(0)
-+	fstp %st(0)
-+	sahf
-+	ja 1f
-+	f2xm1
-+	ret
-+1:	push %rax
-+	call 1f
-+	pop %rax
-+	fld1
-+	fsubrp
-+	ret
-+
-+.global exp2l
-+.type exp2l,@function
-+exp2l:
-+	fldt 8(%esp)
-+1:	fld %st(0)
-+	sub $16,%esp
-+	fstpt (%esp)
-+	mov 8(%esp),%ax
-+	and $0x7fff,%ax
-+	cmp $0x3fff+13,%ax
-+	jb 4f             # |x| < 8192
-+	cmp $0x3fff+15,%ax
-+	jae 3f            # |x| >= 32768
-+	fsts (%esp)
-+	cmpl $0xc67ff800,(%esp)
-+	jb 2f             # x > -16382
-+	movl $0x5f000000,(%esp)
-+	flds (%esp)       # 0x1p63
-+	fld %st(1)
-+	fsub %st(1)
-+	faddp
-+	fucomp %st(1)
-+	fnstsw
-+	sahf
-+	je 2f             # x - 0x1p63 + 0x1p63 == x
-+	movl $1,(%esp)
-+	flds (%esp)       # 0x1p-149
-+	fdiv %st(1)
-+	fstps (%esp)      # raise underflow
-+2:	fld1
-+	fld %st(1)
-+	frndint
-+	fxch %st(2)
-+	fsub %st(2)       # st(0)=x-rint(x), st(1)=1, st(2)=rint(x)
-+	f2xm1
-+	faddp             # 2^(x-rint(x))
-+1:	fscale
-+	fstp %st(1)
-+	add $16,%esp
-+	ret
-+3:	xor %eax,%eax
-+4:	cmp $0x3fff-64,%ax
-+	fld1
-+	jb 1b             # |x| < 0x1p-64
-+	fstpt (%esp)
-+	fistl 8(%esp)
-+	fildl 8(%esp)
-+	fsubrp %st(1)
-+	addl $0x3fff,8(%esp)
-+	f2xm1
-+	fld1
-+	faddp             # 2^(x-rint(x))
-+	fldt (%esp)       # 2^rint(x)
-+	fmulp
-+	add $16,%esp
-+	ret
-diff -Nur musl-0.9.15/src/math/x32/expl.s musl-git/src/math/x32/expl.s
---- musl-0.9.15/src/math/x32/expl.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/expl.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,101 @@
-+# exp(x) = 2^hi + 2^hi (2^lo - 1)
-+# where hi+lo = log2e*x with 128bit precision
-+# exact log2e*x calculation depends on nearest rounding mode
-+# using the exact multiplication method of Dekker and Veltkamp
-+
-+.global expl
-+.type expl,@function
-+expl:
-+	fldt 8(%esp)
-+
-+		# interesting case: 0x1p-32 <= |x| < 16384
-+		# check if (exponent|0x8000) is in [0xbfff-32, 0xbfff+13]
-+	mov 16(%esp), %ax
-+	or $0x8000, %ax
-+	sub $0xbfdf, %ax
-+	cmp $45, %ax
-+	jbe 2f
-+	test %ax, %ax
-+	fld1
-+	js 1f
-+		# if |x|>=0x1p14 or nan return 2^trunc(x)
-+	fscale
-+	fstp %st(1)
-+	ret
-+		# if |x|<0x1p-32 return 1+x
-+1:	faddp
-+	ret
-+
-+		# should be 0x1.71547652b82fe178p0L == 0x3fff b8aa3b29 5c17f0bc
-+		# it will be wrong on non-nearest rounding mode
-+2:	fldl2e
-+	sub $48, %esp
-+		# hi = log2e_hi*x
-+		# 2^hi = exp2l(hi)
-+	fmul %st(1),%st
-+	fld %st(0)
-+	fstpt (%esp)
-+	fstpt 16(%esp)
-+	fstpt 32(%esp)
-+	call exp2l
-+		# if 2^hi == inf return 2^hi
-+	fld %st(0)
-+	fstpt (%esp)
-+	cmpw $0x7fff, 8(%esp)
-+	je 1f
-+	fldt 32(%esp)
-+	fldt 16(%esp)
-+		# fpu stack: 2^hi x hi
-+		# exact mult: x*log2e
-+	fld %st(1)
-+		# c = 0x1p32+1
-+	movq $0x41f0000000100000,%rax
-+	pushq %rax
-+	fldl (%esp)
-+		# xh = x - c*x + c*x
-+		# xl = x - xh
-+	fmulp
-+	fld %st(2)
-+	fsub %st(1), %st
-+	faddp
-+	fld %st(2)
-+	fsub %st(1), %st
-+		# yh = log2e_hi - c*log2e_hi + c*log2e_hi
-+	movq $0x3ff7154765200000,%rax
-+	pushq %rax
-+	fldl (%esp)
-+		# fpu stack: 2^hi x hi xh xl yh
-+		# lo = hi - xh*yh + xl*yh
-+	fld %st(2)
-+	fmul %st(1), %st
-+	fsubp %st, %st(4)
-+	fmul %st(1), %st
-+	faddp %st, %st(3)
-+		# yl = log2e_hi - yh
-+	movq $0x3de705fc2f000000,%rax
-+	pushq %rax
-+	fldl (%esp)
-+		# fpu stack: 2^hi x lo xh xl yl
-+		# lo += xh*yl + xl*yl
-+	fmul %st, %st(2)
-+	fmulp %st, %st(1)
-+	fxch %st(2)
-+	faddp
-+	faddp
-+		# log2e_lo
-+	movq $0xbfbe,%rax
-+	pushq %rax
-+	movq $0x82f0025f2dc582ee,%rax
-+	pushq %rax
-+	fldt (%esp)
-+	add $40,%esp
-+		# fpu stack: 2^hi x lo log2e_lo
-+		# lo += log2e_lo*x
-+		# return 2^hi + 2^hi (2^lo - 1)
-+	fmulp %st, %st(2)
-+	faddp
-+	f2xm1
-+	fmul %st(1), %st
-+	faddp
-+1:	add $48, %esp
-+	ret
-diff -Nur musl-0.9.15/src/math/x32/expm1l.s musl-git/src/math/x32/expm1l.s
---- musl-0.9.15/src/math/x32/expm1l.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/expm1l.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1 @@
-+# see exp2l.s
-diff -Nur musl-0.9.15/src/math/x32/fabsf.s musl-git/src/math/x32/fabsf.s
---- musl-0.9.15/src/math/x32/fabsf.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/fabsf.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,7 @@
-+.global fabsf
-+.type fabsf,@function
-+fabsf:
-+	mov $0x7fffffff,%eax
-+	movq %rax,%xmm1
-+	andps %xmm1,%xmm0
-+	ret
-diff -Nur musl-0.9.15/src/math/x32/fabsl.s musl-git/src/math/x32/fabsl.s
---- musl-0.9.15/src/math/x32/fabsl.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/fabsl.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,6 @@
-+.global fabsl
-+.type fabsl,@function
-+fabsl:
-+	fldt 8(%esp)
-+	fabs
-+	ret
-diff -Nur musl-0.9.15/src/math/x32/fabs.s musl-git/src/math/x32/fabs.s
---- musl-0.9.15/src/math/x32/fabs.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/fabs.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,9 @@
-+.global fabs
-+.type fabs,@function
-+fabs:
-+	xor %eax,%eax
-+	dec %rax
-+	shr %rax
-+	movq %rax,%xmm1
-+	andpd %xmm1,%xmm0
-+	ret
-diff -Nur musl-0.9.15/src/math/x32/floorl.s musl-git/src/math/x32/floorl.s
---- musl-0.9.15/src/math/x32/floorl.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/floorl.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,27 @@
-+.global floorl
-+.type floorl,@function
-+floorl:
-+	fldt 8(%esp)
-+1:	mov $0x7,%al
-+1:	fstcw 8(%esp)
-+	mov 9(%esp),%ah
-+	mov %al,9(%esp)
-+	fldcw 8(%esp)
-+	frndint
-+	mov %ah,9(%esp)
-+	fldcw 8(%esp)
-+	ret
-+
-+.global ceill
-+.type ceill,@function
-+ceill:
-+	fldt 8(%esp)
-+	mov $0xb,%al
-+	jmp 1b
-+
-+.global truncl
-+.type truncl,@function
-+truncl:
-+	fldt 8(%esp)
-+	mov $0xf,%al
-+	jmp 1b
-diff -Nur musl-0.9.15/src/math/x32/fmodl.s musl-git/src/math/x32/fmodl.s
---- musl-0.9.15/src/math/x32/fmodl.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/fmodl.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,11 @@
-+.global fmodl
-+.type fmodl,@function
-+fmodl:
-+	fldt 24(%esp)
-+	fldt 8(%esp)
-+1:	fprem
-+	fstsw %ax
-+	sahf
-+	jp 1b
-+	fstp %st(1)
-+	ret
-diff -Nur musl-0.9.15/src/math/x32/llrintf.s musl-git/src/math/x32/llrintf.s
---- musl-0.9.15/src/math/x32/llrintf.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/llrintf.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,5 @@
-+.global llrintf
-+.type llrintf,@function
-+llrintf:
-+	cvtss2si %xmm0,%rax
-+	ret
-diff -Nur musl-0.9.15/src/math/x32/llrintl.s musl-git/src/math/x32/llrintl.s
---- musl-0.9.15/src/math/x32/llrintl.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/llrintl.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,7 @@
-+.global llrintl
-+.type llrintl,@function
-+llrintl:
-+	fldt 8(%esp)
-+	fistpll 8(%esp)
-+	mov 8(%esp),%rax
-+	ret
-diff -Nur musl-0.9.15/src/math/x32/llrint.s musl-git/src/math/x32/llrint.s
---- musl-0.9.15/src/math/x32/llrint.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/llrint.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,5 @@
-+.global llrint
-+.type llrint,@function
-+llrint:
-+	cvtsd2si %xmm0,%rax
-+	ret
-diff -Nur musl-0.9.15/src/math/x32/log10l.s musl-git/src/math/x32/log10l.s
---- musl-0.9.15/src/math/x32/log10l.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/log10l.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,7 @@
-+.global log10l
-+.type log10l,@function
-+log10l:
-+	fldlg2
-+	fldt 8(%esp)
-+	fyl2x
-+	ret
-diff -Nur musl-0.9.15/src/math/x32/log1pl.s musl-git/src/math/x32/log1pl.s
---- musl-0.9.15/src/math/x32/log1pl.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/log1pl.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,15 @@
-+.global log1pl
-+.type log1pl,@function
-+log1pl:
-+	mov 14(%esp),%eax
-+	fldln2
-+	and $0x7fffffff,%eax
-+	fldt 8(%esp)
-+	cmp $0x3ffd9400,%eax
-+	ja 1f
-+	fyl2xp1
-+	ret
-+1:	fld1
-+	faddp
-+	fyl2x
-+	ret
-diff -Nur musl-0.9.15/src/math/x32/log2l.s musl-git/src/math/x32/log2l.s
---- musl-0.9.15/src/math/x32/log2l.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/log2l.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,7 @@
-+.global log2l
-+.type log2l,@function
-+log2l:
-+	fld1
-+	fldt 8(%esp)
-+	fyl2x
-+	ret
-diff -Nur musl-0.9.15/src/math/x32/logl.s musl-git/src/math/x32/logl.s
---- musl-0.9.15/src/math/x32/logl.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/logl.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,7 @@
-+.global logl
-+.type logl,@function
-+logl:
-+	fldln2
-+	fldt 8(%esp)
-+	fyl2x
-+	ret
-diff -Nur musl-0.9.15/src/math/x32/lrintf.s musl-git/src/math/x32/lrintf.s
---- musl-0.9.15/src/math/x32/lrintf.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/lrintf.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,5 @@
-+.global lrintf
-+.type lrintf,@function
-+lrintf:
-+	cvtss2si %xmm0,%rax
-+	ret
-diff -Nur musl-0.9.15/src/math/x32/lrintl.s musl-git/src/math/x32/lrintl.s
---- musl-0.9.15/src/math/x32/lrintl.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/lrintl.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,7 @@
-+.global lrintl
-+.type lrintl,@function
-+lrintl:
-+	fldt 8(%esp)
-+	fistpll 8(%esp)
-+	mov 8(%esp),%rax
-+	ret
-diff -Nur musl-0.9.15/src/math/x32/lrint.s musl-git/src/math/x32/lrint.s
---- musl-0.9.15/src/math/x32/lrint.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/lrint.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,5 @@
-+.global lrint
-+.type lrint,@function
-+lrint:
-+	cvtsd2si %xmm0,%rax
-+	ret
-diff -Nur musl-0.9.15/src/math/x32/remainderl.s musl-git/src/math/x32/remainderl.s
---- musl-0.9.15/src/math/x32/remainderl.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/remainderl.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,11 @@
-+.global remainderl
-+.type remainderl,@function
-+remainderl:
-+	fldt 24(%esp)
-+	fldt 8(%esp)
-+1:	fprem1
-+	fstsw %ax
-+	sahf
-+	jp 1b
-+	fstp %st(1)
-+	ret
-diff -Nur musl-0.9.15/src/math/x32/rintl.s musl-git/src/math/x32/rintl.s
---- musl-0.9.15/src/math/x32/rintl.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/rintl.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,6 @@
-+.global rintl
-+.type rintl,@function
-+rintl:
-+	fldt 8(%esp)
-+	frndint
-+	ret
-diff -Nur musl-0.9.15/src/math/x32/sqrtf.s musl-git/src/math/x32/sqrtf.s
---- musl-0.9.15/src/math/x32/sqrtf.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/sqrtf.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,4 @@
-+.global sqrtf
-+.type sqrtf,@function
-+sqrtf:  sqrtss %xmm0, %xmm0
-+	ret
-diff -Nur musl-0.9.15/src/math/x32/sqrtl.s musl-git/src/math/x32/sqrtl.s
---- musl-0.9.15/src/math/x32/sqrtl.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/sqrtl.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,5 @@
-+.global sqrtl
-+.type sqrtl,@function
-+sqrtl:	fldt 8(%esp)
-+	fsqrt
-+	ret
-diff -Nur musl-0.9.15/src/math/x32/sqrt.s musl-git/src/math/x32/sqrt.s
---- musl-0.9.15/src/math/x32/sqrt.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/sqrt.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,4 @@
-+.global sqrt
-+.type sqrt,@function
-+sqrt:	sqrtsd %xmm0, %xmm0
-+	ret
-diff -Nur musl-0.9.15/src/math/x32/truncl.s musl-git/src/math/x32/truncl.s
---- musl-0.9.15/src/math/x32/truncl.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/truncl.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1 @@
-+# see floorl.s
-diff -Nur musl-0.9.15/src/misc/nftw.c musl-git/src/misc/nftw.c
---- musl-0.9.15/src/misc/nftw.c	2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/misc/nftw.c	2014-03-19 07:42:48.000000000 +0100
-@@ -46,8 +46,7 @@
- 		type = FTW_F;
- 	}
- 
--	if ((flags & FTW_MOUNT) && h
--	 && (st.st_dev != h->dev || st.st_ino != h->ino))
-+	if ((flags & FTW_MOUNT) && h && st.st_dev != h->dev)
- 		return 0;
- 	
- 	new.chain = h;
-diff -Nur musl-0.9.15/src/misc/pty.c musl-git/src/misc/pty.c
---- musl-0.9.15/src/misc/pty.c	2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/misc/pty.c	2014-03-19 07:42:48.000000000 +0100
-@@ -26,7 +26,7 @@
- {
- 	int pty, err;
- 	if (!buf) len = 0;
--	if ((err = __syscall(SYS_ioctl, fd, TIOCGPTN, &pty))) return err;
-+	if ((err = __syscall(SYS_ioctl, fd, TIOCGPTN, &pty))) return -err;
- 	if (snprintf(buf, len, "/dev/pts/%d", pty) >= len) return ERANGE;
- 	return 0;
- }
-diff -Nur musl-0.9.15/src/misc/syscall.c musl-git/src/misc/syscall.c
---- musl-0.9.15/src/misc/syscall.c	2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/misc/syscall.c	2014-03-19 07:42:48.000000000 +0100
-@@ -6,14 +6,14 @@
- long syscall(long n, ...)
- {
- 	va_list ap;
--	long a,b,c,d,e,f;
-+	syscall_arg_t a,b,c,d,e,f;
- 	va_start(ap, n);
--	a=va_arg(ap, long);
--	b=va_arg(ap, long);
--	c=va_arg(ap, long);
--	d=va_arg(ap, long);
--	e=va_arg(ap, long);
--	f=va_arg(ap, long);
-+	a=va_arg(ap, syscall_arg_t);
-+	b=va_arg(ap, syscall_arg_t);
-+	c=va_arg(ap, syscall_arg_t);
-+	d=va_arg(ap, syscall_arg_t);
-+	e=va_arg(ap, syscall_arg_t);
-+	f=va_arg(ap, syscall_arg_t);
- 	va_end(ap);
- 	return __syscall_ret(__syscall(n,a,b,c,d,e,f));
- }
-diff -Nur musl-0.9.15/src/network/accept4.c musl-git/src/network/accept4.c
---- musl-0.9.15/src/network/accept4.c	2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/network/accept4.c	2014-03-19 07:42:48.000000000 +0100
-@@ -1,9 +1,20 @@
- #define _GNU_SOURCE
- #include <sys/socket.h>
-+#include <errno.h>
-+#include <fcntl.h>
- #include "syscall.h"
- #include "libc.h"
- 
- int accept4(int fd, struct sockaddr *restrict addr, socklen_t *restrict len, int flg)
- {
--	return socketcall_cp(accept4, fd, addr, len, flg, 0, 0);
-+	if (!flg) return accept(fd, addr, len);
-+	int ret = socketcall_cp(accept4, fd, addr, len, flg, 0, 0);
-+	if (ret>=0 || (errno != ENOSYS && errno != EINVAL)) return ret;
-+	ret = accept(fd, addr, len);
-+	if (ret<0) return ret;
-+	if (flg & SOCK_CLOEXEC)
-+		__syscall(SYS_fcntl, ret, F_SETFD, FD_CLOEXEC);
-+	if (flg & SOCK_NONBLOCK)
-+		__syscall(SYS_fcntl, ret, F_SETFL, O_NONBLOCK);
-+	return ret;
- }
-diff -Nur musl-0.9.15/src/network/inet_legacy.c musl-git/src/network/inet_legacy.c
---- musl-0.9.15/src/network/inet_legacy.c	2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/network/inet_legacy.c	2014-03-19 07:42:48.000000000 +0100
-@@ -16,9 +16,8 @@
- 	return 1;
- }
- 
--struct in_addr inet_makeaddr(int net, int host)
-+struct in_addr inet_makeaddr(in_addr_t n, in_addr_t h)
- {
--	uint32_t n = net, h = host;
- 	if (n < 256) h |= n<<24;
- 	else if (n < 65536) h |= n<<16;
- 	else h |= n<<8;
-diff -Nur musl-0.9.15/src/network/proto.c musl-git/src/network/proto.c
---- musl-0.9.15/src/network/proto.c	2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/network/proto.c	2014-03-19 07:42:48.000000000 +0100
-@@ -4,7 +4,7 @@
- /* do we really need all these?? */
- 
- static int idx;
--static const unsigned char protos[][6] = {
-+static const unsigned char protos[][8] = {
- 	"\000ip",
- 	"\001icmp",
- 	"\002igmp",
-@@ -13,7 +13,9 @@
- 	"\014pup",
- 	"\021udp",
- 	"\026idp",
--	"\377raw"
-+	"\051ipv6",
-+	"\072icmpv6",
-+	"\377raw",
- 	"\0\0"
- };
- 
-diff -Nur musl-0.9.15/src/prng/random.c musl-git/src/prng/random.c
---- musl-0.9.15/src/prng/random.c	2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/prng/random.c	2014-03-19 07:42:48.000000000 +0100
-@@ -1,10 +1,3 @@
--/*
-- * random.c - Copyright © 2011 Szabolcs Nagy
-- * Permission to use, copy, modify, and/or distribute this code
-- * for any purpose with or without fee is hereby granted.
-- * There is no warranty.
--*/
--
- #include <stdlib.h>
- #include <stdint.h>
- #include "libc.h"
-@@ -12,11 +5,7 @@
- /*
- this code uses the same lagged fibonacci generator as the
- original bsd random implementation except for the seeding
--
--different seeds produce different sequences with long period
--(other libcs seed the state with a park-miller generator
--when seed=0 some fail to produce good random sequence
--others produce the same sequence as another seed)
-+which was broken in the original
- */
- 
- static uint32_t init[] = {
-@@ -98,6 +87,7 @@
- 		n = 63;
- 	x = (uint32_t*)state + 1;
- 	__srandom(seed);
-+	savestate();
- 	UNLOCK(lock);
- 	return old;
- }
-diff -Nur musl-0.9.15/src/process/posix_spawn.c musl-git/src/process/posix_spawn.c
---- musl-0.9.15/src/process/posix_spawn.c	2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/process/posix_spawn.c	2014-03-19 07:42:48.000000000 +0100
-@@ -166,7 +166,7 @@
- 
- 	close(args.p[0]);
- 
--	if (!ec) *res = pid;
-+	if (!ec && res) *res = pid;
- 
- 	pthread_sigmask(SIG_SETMASK, &args.oldmask, 0);
- 	pthread_setcancelstate(cs, 0);
-diff -Nur musl-0.9.15/src/process/x32/vfork.s musl-git/src/process/x32/vfork.s
---- musl-0.9.15/src/process/x32/vfork.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/process/x32/vfork.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,12 @@
-+.global __vfork
-+.weak vfork
-+.type __vfork,@function
-+.type vfork,@function
-+__vfork:
-+vfork:
-+	pop %rdx
-+	mov $0x4000003a,%eax /* SYS_vfork */
-+	syscall
-+	push %rdx
-+	mov %rax,%rdi
-+	jmp __syscall_ret
-diff -Nur musl-0.9.15/src/setjmp/mipsel-sf/longjmp.sub musl-git/src/setjmp/mipsel-sf/longjmp.sub
---- musl-0.9.15/src/setjmp/mipsel-sf/longjmp.sub	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/setjmp/mipsel-sf/longjmp.sub	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1 @@
-+../mips-sf/longjmp.s
-diff -Nur musl-0.9.15/src/setjmp/mipsel-sf/setjmp.sub musl-git/src/setjmp/mipsel-sf/setjmp.sub
---- musl-0.9.15/src/setjmp/mipsel-sf/setjmp.sub	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/setjmp/mipsel-sf/setjmp.sub	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1 @@
-+../mips-sf/setjmp.s
-diff -Nur musl-0.9.15/src/setjmp/mips-sf/longjmp.s musl-git/src/setjmp/mips-sf/longjmp.s
---- musl-0.9.15/src/setjmp/mips-sf/longjmp.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/setjmp/mips-sf/longjmp.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,25 @@
-+.set noreorder
-+
-+.global _longjmp
-+.global longjmp
-+.type   _longjmp,@function
-+.type   longjmp,@function
-+_longjmp:
-+longjmp:
-+	move    $2, $5
-+	bne     $2, $0, 1f
-+	nop
-+	addu    $2, $2, 1
-+1:	lw      $ra,  0($4)
-+	lw      $sp,  4($4)
-+	lw      $16,  8($4)
-+	lw      $17, 12($4)
-+	lw      $18, 16($4)
-+	lw      $19, 20($4)
-+	lw      $20, 24($4)
-+	lw      $21, 28($4)
-+	lw      $22, 32($4)
-+	lw      $23, 36($4)
-+	lw      $30, 40($4)
-+	jr      $ra
-+	lw      $28, 44($4)
-diff -Nur musl-0.9.15/src/setjmp/mips-sf/longjmp.sub musl-git/src/setjmp/mips-sf/longjmp.sub
---- musl-0.9.15/src/setjmp/mips-sf/longjmp.sub	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/setjmp/mips-sf/longjmp.sub	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1 @@
-+longjmp.s
-diff -Nur musl-0.9.15/src/setjmp/mips-sf/setjmp.s musl-git/src/setjmp/mips-sf/setjmp.s
---- musl-0.9.15/src/setjmp/mips-sf/setjmp.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/setjmp/mips-sf/setjmp.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,25 @@
-+.set noreorder
-+
-+.global __setjmp
-+.global _setjmp
-+.global setjmp
-+.type   __setjmp,@function
-+.type   _setjmp,@function
-+.type   setjmp,@function
-+__setjmp:
-+_setjmp:
-+setjmp:
-+	sw      $ra,  0($4)
-+	sw      $sp,  4($4)
-+	sw      $16,  8($4)
-+	sw      $17, 12($4)
-+	sw      $18, 16($4)
-+	sw      $19, 20($4)
-+	sw      $20, 24($4)
-+	sw      $21, 28($4)
-+	sw      $22, 32($4)
-+	sw      $23, 36($4)
-+	sw      $30, 40($4)
-+	sw      $28, 44($4)
-+	jr      $ra
-+	li      $2, 0
-diff -Nur musl-0.9.15/src/setjmp/mips-sf/setjmp.sub musl-git/src/setjmp/mips-sf/setjmp.sub
---- musl-0.9.15/src/setjmp/mips-sf/setjmp.sub	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/setjmp/mips-sf/setjmp.sub	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1 @@
-+setjmp.s
-diff -Nur musl-0.9.15/src/setjmp/sh/longjmp.s musl-git/src/setjmp/sh/longjmp.s
---- musl-0.9.15/src/setjmp/sh/longjmp.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/setjmp/sh/longjmp.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,26 @@
-+.global _longjmp
-+.global longjmp
-+.type   _longjmp, @function
-+.type   longjmp,  @function
-+_longjmp:
-+longjmp:
-+	mov.l  @r4+, r8
-+	mov.l  @r4+, r9
-+	mov.l  @r4+, r10
-+	mov.l  @r4+, r11
-+	mov.l  @r4+, r12
-+	mov.l  @r4+, r13
-+	mov.l  @r4+, r14
-+	mov.l  @r4+, r15
-+	lds.l  @r4+, pr
-+	fmov.s @r4+, fr12
-+	fmov.s @r4+, fr13
-+	fmov.s @r4+, fr14
-+	fmov.s @r4+, fr15
-+
-+	tst  r5, r5
-+	movt r0
-+	add  r5, r0
-+
-+	rts
-+	 nop
-diff -Nur musl-0.9.15/src/setjmp/sh/setjmp.s musl-git/src/setjmp/sh/setjmp.s
---- musl-0.9.15/src/setjmp/sh/setjmp.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/setjmp/sh/setjmp.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,25 @@
-+.global __setjmp
-+.global _setjmp
-+.global setjmp
-+.type   __setjmp, @function
-+.type   _setjmp,  @function
-+.type   setjmp,   @function
-+__setjmp:
-+_setjmp:
-+setjmp:
-+	add   #52, r4
-+	fmov.s fr15, @-r4
-+	fmov.s fr14, @-r4
-+	fmov.s fr13, @-r4
-+	fmov.s fr12, @-r4
-+	sts.l  pr,   @-r4
-+	mov.l  r15   @-r4
-+	mov.l  r14,  @-r4
-+	mov.l  r13,  @-r4
-+	mov.l  r12,  @-r4
-+	mov.l  r11,  @-r4
-+	mov.l  r10,  @-r4
-+	mov.l  r9,   @-r4
-+	mov.l  r8,   @-r4
-+	rts
-+	 mov  #0, r0
-diff -Nur musl-0.9.15/src/setjmp/sheb-nofpu/longjmp.sub musl-git/src/setjmp/sheb-nofpu/longjmp.sub
---- musl-0.9.15/src/setjmp/sheb-nofpu/longjmp.sub	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/setjmp/sheb-nofpu/longjmp.sub	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1 @@
-+../sh-nofpu/longjmp.s
-diff -Nur musl-0.9.15/src/setjmp/sheb-nofpu/setjmp.sub musl-git/src/setjmp/sheb-nofpu/setjmp.sub
---- musl-0.9.15/src/setjmp/sheb-nofpu/setjmp.sub	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/setjmp/sheb-nofpu/setjmp.sub	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1 @@
-+../sh-nofpu/setjmp.s
-diff -Nur musl-0.9.15/src/setjmp/sh-nofpu/longjmp.s musl-git/src/setjmp/sh-nofpu/longjmp.s
---- musl-0.9.15/src/setjmp/sh-nofpu/longjmp.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/setjmp/sh-nofpu/longjmp.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,22 @@
-+.global _longjmp
-+.global longjmp
-+.type   _longjmp, @function
-+.type   longjmp,  @function
-+_longjmp:
-+longjmp:
-+	mov.l  @r4+, r8
-+	mov.l  @r4+, r9
-+	mov.l  @r4+, r10
-+	mov.l  @r4+, r11
-+	mov.l  @r4+, r12
-+	mov.l  @r4+, r13
-+	mov.l  @r4+, r14
-+	mov.l  @r4+, r15
-+	lds.l  @r4+, pr
-+
-+	tst  r5, r5
-+	movt r0
-+	add  r5, r0
-+
-+	rts
-+	 nop
-diff -Nur musl-0.9.15/src/setjmp/sh-nofpu/longjmp.sub musl-git/src/setjmp/sh-nofpu/longjmp.sub
---- musl-0.9.15/src/setjmp/sh-nofpu/longjmp.sub	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/setjmp/sh-nofpu/longjmp.sub	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1 @@
-+longjmp.s
-diff -Nur musl-0.9.15/src/setjmp/sh-nofpu/setjmp.s musl-git/src/setjmp/sh-nofpu/setjmp.s
---- musl-0.9.15/src/setjmp/sh-nofpu/setjmp.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/setjmp/sh-nofpu/setjmp.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,21 @@
-+.global __setjmp
-+.global _setjmp
-+.global setjmp
-+.type   __setjmp, @function
-+.type   _setjmp,  @function
-+.type   setjmp,   @function
-+__setjmp:
-+_setjmp:
-+setjmp:
-+	add   #36, r4
-+	sts.l  pr,   @-r4
-+	mov.l  r15   @-r4
-+	mov.l  r14,  @-r4
-+	mov.l  r13,  @-r4
-+	mov.l  r12,  @-r4
-+	mov.l  r11,  @-r4
-+	mov.l  r10,  @-r4
-+	mov.l  r9,   @-r4
-+	mov.l  r8,   @-r4
-+	rts
-+	 mov  #0, r0
-diff -Nur musl-0.9.15/src/setjmp/sh-nofpu/setjmp.sub musl-git/src/setjmp/sh-nofpu/setjmp.sub
---- musl-0.9.15/src/setjmp/sh-nofpu/setjmp.sub	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/setjmp/sh-nofpu/setjmp.sub	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1 @@
-+setjmp.s
-diff -Nur musl-0.9.15/src/setjmp/x32/longjmp.s musl-git/src/setjmp/x32/longjmp.s
---- musl-0.9.15/src/setjmp/x32/longjmp.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/setjmp/x32/longjmp.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,22 @@
-+/* Copyright 2011-2012 Nicholas J. Kain, licensed under standard MIT license */
-+.global _longjmp
-+.global longjmp
-+.type _longjmp,@function
-+.type longjmp,@function
-+_longjmp:
-+longjmp:
-+	mov %rsi,%rax           /* val will be longjmp return */
-+	test %rax,%rax
-+	jnz 1f
-+	inc %rax                /* if val==0, val=1 per longjmp semantics */
-+1:
-+	mov (%rdi),%rbx         /* rdi is the jmp_buf, restore regs from it */
-+	mov 8(%rdi),%rbp
-+	mov 16(%rdi),%r12
-+	mov 24(%rdi),%r13
-+	mov 32(%rdi),%r14
-+	mov 40(%rdi),%r15
-+	mov 48(%rdi),%rdx       /* this ends up being the stack pointer */
-+	mov %rdx,%rsp
-+	mov 56(%rdi),%rdx       /* this is the instruction pointer */
-+	jmp *%rdx               /* goto saved address without altering rsp */
-diff -Nur musl-0.9.15/src/setjmp/x32/setjmp.s musl-git/src/setjmp/x32/setjmp.s
---- musl-0.9.15/src/setjmp/x32/setjmp.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/setjmp/x32/setjmp.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,22 @@
-+/* Copyright 2011-2012 Nicholas J. Kain, licensed under standard MIT license */
-+.global __setjmp
-+.global _setjmp
-+.global setjmp
-+.type __setjmp,@function
-+.type _setjmp,@function
-+.type setjmp,@function
-+__setjmp:
-+_setjmp:
-+setjmp:
-+	mov %rbx,(%rdi)         /* rdi is jmp_buf, move registers onto it */
-+	mov %rbp,8(%rdi)
-+	mov %r12,16(%rdi)
-+	mov %r13,24(%rdi)
-+	mov %r14,32(%rdi)
-+	mov %r15,40(%rdi)
-+	lea 8(%rsp),%rdx        /* this is our rsp WITHOUT current ret addr */
-+	mov %rdx,48(%rdi)
-+	mov (%rsp),%rdx         /* save return addr ptr for new rip */
-+	mov %rdx,56(%rdi)
-+	xor %rax,%rax           /* always return 0 */
-+	ret
-diff -Nur musl-0.9.15/src/signal/mips/sigsetjmp.s musl-git/src/signal/mips/sigsetjmp.s
---- musl-0.9.15/src/signal/mips/sigsetjmp.s	2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/signal/mips/sigsetjmp.s	2014-03-19 07:42:48.000000000 +0100
-@@ -11,7 +11,7 @@
- 	sw $4, 20($sp)
- 	sw $ra, 24($sp)
- 	sw $gp, 28($sp)
--	addu $6, $4, 124
-+	addu $6, $4, 108
- 	li $5, 0
- 	li $4, 1
- 	sw $4, -4($6)
-diff -Nur musl-0.9.15/src/signal/sh/restore.s musl-git/src/signal/sh/restore.s
---- musl-0.9.15/src/signal/sh/restore.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/signal/sh/restore.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,24 @@
-+.global __restore
-+.type   __restore, @function
-+__restore:
-+	mov   #119, r3  !__NR_sigreturn
-+	trapa #16
-+
-+	or    r0, r0
-+	or    r0, r0
-+	or    r0, r0
-+	or    r0, r0
-+	or    r0, r0
-+
-+.global __restore_rt
-+.type   __restore_rt, @function
-+__restore_rt:
-+	mov   #100, r3  !__NR_rt_sigreturn
-+	add   #73, r3
-+	trapa #16
-+
-+	or    r0, r0
-+	or    r0, r0
-+	or    r0, r0
-+	or    r0, r0
-+	or    r0, r0
-diff -Nur musl-0.9.15/src/signal/sh/sigsetjmp.s musl-git/src/signal/sh/sigsetjmp.s
---- musl-0.9.15/src/signal/sh/sigsetjmp.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/signal/sh/sigsetjmp.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,27 @@
-+.global sigsetjmp
-+.type   sigsetjmp, @function
-+sigsetjmp:
-+	mov.l r5, @(36,r4)
-+	tst r5, r5
-+	bf  2f
-+
-+	sts.l pr, @-r15
-+	mov.l r4, @-r15
-+	mov r4, r6
-+	add #40, r6
-+	mov #0, r5
-+	mov #2, r4
-+	mov.l L1, r0
-+	bsrf  r0
-+	 nop
-+1:	mov.l @r15+, r4
-+	lds.l @r15+, pr
-+
-+2:	mov.l L2, r0
-+	braf  r0
-+	 nop
-+3:
-+
-+.align 2
-+L1:	.long pthread_sigmask@PLT-(1b-.)
-+L2:	.long setjmp@PLT-(3b-.)
-diff -Nur musl-0.9.15/src/signal/sigandset.c musl-git/src/signal/sigandset.c
---- musl-0.9.15/src/signal/sigandset.c	2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/signal/sigandset.c	2014-03-19 07:42:48.000000000 +0100
-@@ -3,7 +3,7 @@
- 
- #define SST_SIZE (_NSIG/8/sizeof(long))
- 
--int sigandset(sigset_t *dest, sigset_t *left, sigset_t *right)
-+int sigandset(sigset_t *dest, const sigset_t *left, const sigset_t *right)
- {
- 	unsigned long i = 0, *d = (void*) dest, *l = (void*) left, *r = (void*) right;
- 	for(; i < SST_SIZE; i++) d[i] = l[i] & r[i];
-diff -Nur musl-0.9.15/src/signal/sigorset.c musl-git/src/signal/sigorset.c
---- musl-0.9.15/src/signal/sigorset.c	2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/signal/sigorset.c	2014-03-19 07:42:48.000000000 +0100
-@@ -3,7 +3,7 @@
- 
- #define SST_SIZE (_NSIG/8/sizeof(long))
- 
--int sigorset(sigset_t *dest, sigset_t *left, sigset_t *right)
-+int sigorset(sigset_t *dest, const sigset_t *left, const sigset_t *right)
- {
- 	unsigned long i = 0, *d = (void*) dest, *l = (void*) left, *r = (void*) right;
- 	for(; i < SST_SIZE; i++) d[i] = l[i] | r[i];
-diff -Nur musl-0.9.15/src/signal/x32/restore.s musl-git/src/signal/x32/restore.s
---- musl-0.9.15/src/signal/x32/restore.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/signal/x32/restore.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,8 @@
-+.global __restore_rt
-+.global __restore
-+.type __restore_rt,@function
-+.type __restore,@function
-+__restore_rt:
-+__restore:
-+	movl $0x40000201, %eax /* SYS_rt_sigreturn */
-+	syscall
-diff -Nur musl-0.9.15/src/signal/x32/sigsetjmp.s musl-git/src/signal/x32/sigsetjmp.s
---- musl-0.9.15/src/signal/x32/sigsetjmp.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/signal/x32/sigsetjmp.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,14 @@
-+/* Copyright 2011-2012 Nicholas J. Kain, licensed under standard MIT license */
-+.global sigsetjmp
-+.type sigsetjmp,@function
-+sigsetjmp:
-+	andl %esi,%esi
-+	movq %rsi,64(%rdi)
-+	jz 1f
-+	pushq %rdi
-+	leaq 72(%rdi),%rdx
-+	xorl %esi,%esi
-+	movl $2,%edi
-+	call sigprocmask
-+	popq %rdi
-+1:	jmp setjmp
-diff -Nur musl-0.9.15/src/stdio/__fdopen.c musl-git/src/stdio/__fdopen.c
---- musl-0.9.15/src/stdio/__fdopen.c	2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/stdio/__fdopen.c	2014-03-19 07:42:48.000000000 +0100
-@@ -32,7 +32,9 @@
- 	/* Set append mode on fd if opened for append */
- 	if (*mode == 'a') {
- 		int flags = __syscall(SYS_fcntl, fd, F_GETFL);
--		__syscall(SYS_fcntl, fd, F_SETFL, flags | O_APPEND);
-+		if (!(flags & O_APPEND))
-+			__syscall(SYS_fcntl, fd, F_SETFL, flags | O_APPEND);
-+		f->flags |= F_APP;
- 	}
- 
- 	f->fd = fd;
-diff -Nur musl-0.9.15/src/stdio/ftell.c musl-git/src/stdio/ftell.c
---- musl-0.9.15/src/stdio/ftell.c	2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/stdio/ftell.c	2014-03-19 07:42:48.000000000 +0100
-@@ -4,7 +4,9 @@
- 
- off_t __ftello_unlocked(FILE *f)
- {
--	off_t pos = f->seek(f, 0, SEEK_CUR);
-+	off_t pos = f->seek(f, 0,
-+		(f->flags & F_APP) && f->wpos > f->wbase
-+		? SEEK_END : SEEK_CUR);
- 	if (pos < 0) return pos;
- 
- 	/* Adjust for data in buffer. */
-diff -Nur musl-0.9.15/src/stdio/vfprintf.c musl-git/src/stdio/vfprintf.c
---- musl-0.9.15/src/stdio/vfprintf.c	2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/stdio/vfprintf.c	2014-03-19 07:42:48.000000000 +0100
-@@ -207,7 +207,8 @@
- 
- static int fmt_fp(FILE *f, long double y, int w, int p, int fl, int t)
- {
--	uint32_t big[(LDBL_MAX_EXP+LDBL_MANT_DIG)/9+1];
-+	uint32_t big[(LDBL_MANT_DIG+28)/29 + 1          // mantissa expansion
-+		+ (LDBL_MAX_EXP+LDBL_MANT_DIG+28+8)/9]; // exponent expansion
- 	uint32_t *a, *d, *r, *z;
- 	int e2=0, e, i, j, l;
- 	char buf[9+LDBL_MANT_DIG/4], *s;
-@@ -313,7 +314,7 @@
- 	}
- 	while (e2<0) {
- 		uint32_t carry=0, *b;
--		int sh=MIN(9,-e2);
-+		int sh=MIN(9,-e2), need=1+(p+LDBL_MANT_DIG/3+8)/9;
- 		for (d=a; d<z; d++) {
- 			uint32_t rm = *d & (1<<sh)-1;
- 			*d = (*d>>sh) + carry;
-@@ -323,7 +324,7 @@
- 		if (carry) *z++ = carry;
- 		/* Avoid (slow!) computation past requested precision */
- 		b = (t|32)=='f' ? r : a;
--		if (z-b > 2+p/9) z = b+2+p/9;
-+		if (z-b > need) z = b+need;
- 		e2+=sh;
- 	}
- 
-diff -Nur musl-0.9.15/src/stdio/vfscanf.c musl-git/src/stdio/vfscanf.c
---- musl-0.9.15/src/stdio/vfscanf.c	2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/stdio/vfscanf.c	2014-03-19 07:42:48.000000000 +0100
-@@ -328,3 +328,5 @@
- 	FUNLOCK(f);
- 	return matches;
- }
-+
-+weak_alias(vfscanf,__isoc99_vfscanf);
-diff -Nur musl-0.9.15/src/thread/arm/clone.s musl-git/src/thread/arm/clone.s
---- musl-0.9.15/src/thread/arm/clone.s	2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/thread/arm/clone.s	2014-03-19 07:42:48.000000000 +0100
-@@ -1,10 +1,7 @@
- .text
- .global __clone
--.weak clone
- .type   __clone,%function
--.type   clone,%function
- __clone:
--clone:
- 	stmfd sp!,{r4,r5,r6,r7}
- 	mov r7,#120
- 	mov r6,r3
-diff -Nur musl-0.9.15/src/thread/cancel_dummy.c musl-git/src/thread/cancel_dummy.c
---- musl-0.9.15/src/thread/cancel_dummy.c	2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/thread/cancel_dummy.c	2014-03-19 07:42:48.000000000 +0100
-@@ -1,6 +1,9 @@
- #include "pthread_impl.h"
-+#include "syscall.h"
- 
--static long sccp(long nr, long u, long v, long w, long x, long y, long z)
-+static long sccp(syscall_arg_t nr,
-+                 syscall_arg_t u, syscall_arg_t v, syscall_arg_t w,
-+                 syscall_arg_t x, syscall_arg_t y, syscall_arg_t z)
- {
- 	return (__syscall)(nr, u, v, w, x, y, z);
- }
-diff -Nur musl-0.9.15/src/thread/cancel_impl.c musl-git/src/thread/cancel_impl.c
---- musl-0.9.15/src/thread/cancel_impl.c	2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/thread/cancel_impl.c	2014-03-19 07:42:48.000000000 +0100
-@@ -1,4 +1,5 @@
- #include "pthread_impl.h"
-+#include "syscall.h"
- 
- void __cancel()
- {
-@@ -8,9 +9,13 @@
- 	pthread_exit(PTHREAD_CANCELED);
- }
- 
--long __syscall_cp_asm(volatile void *, long, long, long, long, long, long, long);
-+long __syscall_cp_asm(volatile void *, syscall_arg_t,
-+                      syscall_arg_t, syscall_arg_t, syscall_arg_t,
-+                      syscall_arg_t, syscall_arg_t, syscall_arg_t);
- 
--long (__syscall_cp)(long nr, long u, long v, long w, long x, long y, long z)
-+long (__syscall_cp)(syscall_arg_t nr,
-+                    syscall_arg_t u, syscall_arg_t v, syscall_arg_t w,
-+                    syscall_arg_t x, syscall_arg_t y, syscall_arg_t z)
- {
- 	pthread_t self;
- 	long r;
-diff -Nur musl-0.9.15/src/thread/clone.c musl-git/src/thread/clone.c
---- musl-0.9.15/src/thread/clone.c	2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/thread/clone.c	2014-03-19 07:42:48.000000000 +0100
-@@ -1,10 +1,7 @@
- #include <errno.h>
--#include "libc.h"
-+#include "pthread_impl.h"
- 
- int __clone(int (*func)(void *), void *stack, int flags, void *arg, ...)
- {
--	errno = ENOSYS;
--	return -1;
-+	return -ENOSYS;
- }
--
--weak_alias(__clone, clone);
-diff -Nur musl-0.9.15/src/thread/i386/clone.s musl-git/src/thread/i386/clone.s
---- musl-0.9.15/src/thread/i386/clone.s	2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/thread/i386/clone.s	2014-03-19 07:42:48.000000000 +0100
-@@ -1,10 +1,7 @@
- .text
- .global __clone
--.weak clone
- .type   __clone,@function
--.type   clone,@function
- __clone:
--clone:
- 	push %ebp
- 	mov %esp,%ebp
- 	push %ebx
-diff -Nur musl-0.9.15/src/thread/microblaze/clone.s musl-git/src/thread/microblaze/clone.s
---- musl-0.9.15/src/thread/microblaze/clone.s	2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/thread/microblaze/clone.s	2014-03-19 07:42:48.000000000 +0100
-@@ -1,14 +1,11 @@
- .global __clone
--.weak clone
- .type   __clone,@function
--.type   clone,@function
- 
- # r5, r6, r7, r8, r9, r10, stack
- # fn, st, fl, ar, pt, tl, ct
- # fl, st, __, pt, ct, tl
- 
- __clone:
--clone:
- 	andi    r6, r6, -16
- 	addi    r6, r6, -16
- 	swi     r5, r6, 0
-@@ -23,7 +20,7 @@
- 	beqi	r3, 1f
- 	rtsd    r15, 8
- 	nop
--	
-+
- 1:	lwi     r3, r1, 0
- 	lwi     r5, r1, 4
- 	brald   r15, r3
-diff -Nur musl-0.9.15/src/thread/sh/clone.s musl-git/src/thread/sh/clone.s
---- musl-0.9.15/src/thread/sh/clone.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/thread/sh/clone.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,47 @@
-+.text
-+.global __clone
-+.type   __clone, @function
-+__clone:
-+! incoming: fn stack flags arg ptid tls      ctid
-+!           r4 r5    r6    r7  @r15 @(4,r15) @(8,r15)
-+
-+	mov   #-16, r0
-+	and   r0, r5
-+
-+	mov   r4, r1         ! r1 = fn
-+	mov   r7, r2         ! r2 = arg
-+
-+	mov   #120,     r3   ! r3 = __NR_clone
-+	mov   r6,       r4   ! r4 = flags
-+	!mov  r5,       r5   ! r5 = stack
-+	mov.l @r15,     r6   ! r6 = ptid
-+	mov.l @(8,r15), r7   ! r7 = ctid
-+	mov.l @(4,r15), r0   ! r0 = tls
-+	trapa #21
-+
-+	or r0, r0
-+	or r0, r0
-+	or r0, r0
-+	or r0, r0
-+	or r0, r0
-+
-+	cmp/eq #0, r0
-+	bt     1f
-+
-+	! we are the parent, return
-+	rts
-+	 nop
-+
-+1:	! we are the child, call fn(arg)
-+	jsr    @r1
-+	 mov   r2, r4
-+
-+	mov   #1, r3   ! __NR_exit
-+	mov   r0, r4
-+	trapa #17
-+
-+	or   r0, r0
-+	or   r0, r0
-+	or   r0, r0
-+	or   r0, r0
-+	or   r0, r0
-diff -Nur musl-0.9.15/src/thread/sh/__set_thread_area.s musl-git/src/thread/sh/__set_thread_area.s
---- musl-0.9.15/src/thread/sh/__set_thread_area.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/thread/sh/__set_thread_area.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,5 @@
-+.global __set_thread_area
-+.type   __set_thread_area, @function
-+__set_thread_area:
-+	rts
-+	 ldc r4, gbr
-diff -Nur musl-0.9.15/src/thread/sh/syscall_cp.s musl-git/src/thread/sh/syscall_cp.s
---- musl-0.9.15/src/thread/sh/syscall_cp.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/thread/sh/syscall_cp.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,39 @@
-+.text
-+.global __syscall_cp_asm
-+.type   __syscall_cp_asm, @function
-+__syscall_cp_asm:
-+
-+.global __cp_begin
-+__cp_begin:
-+	mov.l @r4, r4
-+	tst   r4, r4
-+	bt    2f
-+
-+	mov.l L1, r0
-+	braf  r0
-+	 nop
-+1:
-+
-+.align 2
-+L1:	.long __cancel@PLT-(1b-.)
-+
-+2:	mov   r5, r3
-+	mov   r6, r4
-+	mov   r7, r5
-+	mov.l @r15, r6
-+	mov.l @(4,r15), r7
-+	mov.l @(8,r15), r0
-+	mov.l @(12,r15), r1
-+	trapa #22
-+
-+.global __cp_end
-+__cp_end:
-+	! work around hardware bug
-+	or   r0, r0
-+	or   r0, r0
-+	or   r0, r0
-+	or   r0, r0
-+	or   r0, r0
-+
-+	rts
-+	 nop
-diff -Nur musl-0.9.15/src/thread/sh/__unmapself.s musl-git/src/thread/sh/__unmapself.s
---- musl-0.9.15/src/thread/sh/__unmapself.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/thread/sh/__unmapself.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,22 @@
-+.text
-+.global __unmapself
-+.type   __unmapself, @function
-+__unmapself:
-+	mov   #91, r3  ! SYS_munmap
-+	trapa #18
-+
-+	or    r0, r0
-+	or    r0, r0
-+	or    r0, r0
-+	or    r0, r0
-+	or    r0, r0
-+
-+	mov   #1, r3   ! SYS_exit
-+	mov   #0, r4
-+	trapa #17
-+
-+	or    r0, r0
-+	or    r0, r0
-+	or    r0, r0
-+	or    r0, r0
-+	or    r0, r0
-diff -Nur musl-0.9.15/src/thread/__wait.c musl-git/src/thread/__wait.c
---- musl-0.9.15/src/thread/__wait.c	2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/thread/__wait.c	2014-03-19 07:42:48.000000000 +0100
-@@ -10,6 +10,6 @@
- 	}
- 	if (waiters) a_inc(waiters);
- 	while (*addr==val)
--		__syscall(SYS_futex, (long)addr, FUTEX_WAIT|priv, val, 0);
-+		__syscall(SYS_futex, addr, FUTEX_WAIT|priv, val, 0);
- 	if (waiters) a_dec(waiters);
- }
-diff -Nur musl-0.9.15/src/thread/x32/clone.s musl-git/src/thread/x32/clone.s
---- musl-0.9.15/src/thread/x32/clone.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/thread/x32/clone.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,25 @@
-+.text
-+.global __clone
-+.type   __clone,@function
-+__clone:
-+	movl $0x40000038,%eax /* SYS_clone */
-+	mov %rdi,%r11
-+	mov %rdx,%rdi
-+	mov %r8,%rdx
-+	mov %r9,%r8
-+	mov 8(%rsp),%r10
-+	mov %r11,%r9
-+	and $-16,%rsi
-+	sub $8,%rsi
-+	mov %rcx,(%rsi)
-+	syscall
-+	test %eax,%eax
-+	jnz 1f
-+	xor %ebp,%ebp
-+	pop %rdi
-+	call *%r9
-+	mov %eax,%edi
-+	movl $0x4000003c,%eax /* SYS_exit */
-+	syscall
-+	hlt
-+1:	ret
-diff -Nur musl-0.9.15/src/thread/x32/__set_thread_area.s musl-git/src/thread/x32/__set_thread_area.s
---- musl-0.9.15/src/thread/x32/__set_thread_area.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/thread/x32/__set_thread_area.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,10 @@
-+/* Copyright 2011-2012 Nicholas J. Kain, licensed under standard MIT license */
-+.text
-+.global __set_thread_area
-+.type __set_thread_area,@function
-+__set_thread_area:
-+	mov %rdi,%rsi           /* shift for syscall */
-+	movl $0x1002,%edi       /* SET_FS register */
-+	movl $0x4000009e,%eax          /* set fs segment to */
-+	syscall                 /* arch_prctl(SET_FS, arg)*/
-+	ret
-diff -Nur musl-0.9.15/src/thread/x32/syscall_cp.s musl-git/src/thread/x32/syscall_cp.s
---- musl-0.9.15/src/thread/x32/syscall_cp.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/thread/x32/syscall_cp.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,23 @@
-+.text
-+.global __syscall_cp_internal
-+.type   __syscall_cp_internal,@function
-+__syscall_cp_internal:
-+
-+.global __cp_begin
-+__cp_begin:
-+	mov (%rdi),%eax
-+	test %eax,%eax
-+	jnz __cancel
-+	mov %rdi,%r11
-+	mov %rsi,%rax
-+	mov %rdx,%rdi
-+	mov %rcx,%rsi
-+	mov %r8,%rdx
-+	mov %r9,%r10
-+	mov 8(%rsp),%r8
-+	mov 16(%rsp),%r9
-+	mov %r11,8(%rsp)
-+	syscall
-+.global __cp_end
-+__cp_end:
-+	ret
-diff -Nur musl-0.9.15/src/thread/x32/__unmapself.s musl-git/src/thread/x32/__unmapself.s
---- musl-0.9.15/src/thread/x32/__unmapself.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/thread/x32/__unmapself.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,10 @@
-+/* Copyright 2011-2012 Nicholas J. Kain, licensed under standard MIT license */
-+.text
-+.global __unmapself
-+.type   __unmapself,@function
-+__unmapself:
-+	movl $0x4000000b,%eax   /* SYS_munmap */
-+	syscall         /* munmap(arg2,arg3) */
-+	xor %rdi,%rdi   /* exit() args: always return success */
-+	movl $0x4000003c,%eax   /* SYS_exit */
-+	syscall         /* exit(0) */
-diff -Nur musl-0.9.15/src/thread/x86_64/clone.s musl-git/src/thread/x86_64/clone.s
---- musl-0.9.15/src/thread/x86_64/clone.s	2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/thread/x86_64/clone.s	2014-03-19 07:42:48.000000000 +0100
-@@ -1,10 +1,7 @@
- .text
- .global __clone
--.weak clone
- .type   __clone,@function
--.type   clone,@function
- __clone:
--clone:
- 	xor %eax,%eax
- 	mov $56,%al
- 	mov %rdi,%r11
-diff -Nur musl-0.9.15/src/time/timer_delete.c musl-git/src/time/timer_delete.c
---- musl-0.9.15/src/time/timer_delete.c	2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/time/timer_delete.c	2014-03-19 07:42:48.000000000 +0100
-@@ -10,5 +10,5 @@
- 		__wake(&td->timer_id, 1, 1);
- 		return 0;
- 	}
--	return __syscall(SYS_timer_delete, (long)t);
-+	return __syscall(SYS_timer_delete, t);
- }
-diff -Nur musl-0.9.15/src/time/timer_getoverrun.c musl-git/src/time/timer_getoverrun.c
---- musl-0.9.15/src/time/timer_getoverrun.c	2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/time/timer_getoverrun.c	2014-03-19 07:42:48.000000000 +0100
-@@ -8,5 +8,5 @@
- 		pthread_t td = (void *)((uintptr_t)t << 1);
- 		t = (void *)(uintptr_t)(td->timer_id & INT_MAX);
- 	}
--	return syscall(SYS_timer_getoverrun, (long)t);
-+	return syscall(SYS_timer_getoverrun, t);
- }
-diff -Nur musl-0.9.15/src/time/timer_gettime.c musl-git/src/time/timer_gettime.c
---- musl-0.9.15/src/time/timer_gettime.c	2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/time/timer_gettime.c	2014-03-19 07:42:48.000000000 +0100
-@@ -8,5 +8,5 @@
- 		pthread_t td = (void *)((uintptr_t)t << 1);
- 		t = (void *)(uintptr_t)(td->timer_id & INT_MAX);
- 	}
--	return syscall(SYS_timer_gettime, (long)t, val);
-+	return syscall(SYS_timer_gettime, t, val);
- }
-diff -Nur musl-0.9.15/src/time/timer_settime.c musl-git/src/time/timer_settime.c
---- musl-0.9.15/src/time/timer_settime.c	2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/time/timer_settime.c	2014-03-19 07:42:48.000000000 +0100
-@@ -8,5 +8,5 @@
- 		pthread_t td = (void *)((uintptr_t)t << 1);
- 		t = (void *)(uintptr_t)(td->timer_id & INT_MAX);
- 	}
--	return syscall(SYS_timer_settime, (long)t, flags, val, old);
-+	return syscall(SYS_timer_settime, t, flags, val, old);
- }
-diff -Nur musl-0.9.15/src/unistd/sh/pipe.s musl-git/src/unistd/sh/pipe.s
---- musl-0.9.15/src/unistd/sh/pipe.s	1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/unistd/sh/pipe.s	2014-03-19 07:42:48.000000000 +0100
-@@ -0,0 +1,27 @@
-+.global pipe
-+.type   pipe, @function
-+pipe:
-+	mov    #42, r3
-+	trapa  #17
-+
-+	! work around hardware bug
-+	or     r0, r0
-+	or     r0, r0
-+	or     r0, r0
-+	or     r0, r0
-+	or     r0, r0
-+
-+	cmp/pz r0
-+	bt     1f
-+
-+	mov.l  L1, r1
-+	braf   r1
-+	 mov   r0, r4
-+
-+1:	mov.l  r0, @(0,r4)
-+	mov.l  r1, @(4,r4)
-+	rts
-+	 mov   #0, r0
-+
-+.align 2
-+L1:	.long __syscall_ret@PLT-(1b-.)
-diff -Nur musl-0.9.15/tools/install.sh musl-git/tools/install.sh
---- musl-0.9.15/tools/install.sh	2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/tools/install.sh	2014-03-19 07:42:48.000000000 +0100
-@@ -51,6 +51,7 @@
- ln -s "$1" "$tmp"
- else
- cat < "$1" > "$tmp"
-+chmod "$mode" "$tmp"
- fi
- 
- mv -f "$tmp" "$2"
-@@ -60,6 +61,4 @@
- exit 1
- }
- 
--test "$symlink" || chmod "$mode" "$2"
--
- exit 0