summaryrefslogtreecommitdiff
path: root/toolchain
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2014-03-20 08:34:49 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2014-03-20 08:34:49 +0100
commit70092108cb10bd663687f2c7c21c279f5c40e233 (patch)
tree554abb84e6aed46fb47b4c2eea6aaecec89569f5 /toolchain
parent6f0464e8edacdd4d63da7ce556494c0c12520582 (diff)
parentfb3ce8f9ddf972e7eac5c2c6998c621e0100bda3 (diff)
Merge branch 'master' of git+ssh://openadk.org/git/openadk
Diffstat (limited to 'toolchain')
-rw-r--r--toolchain/binutils/Makefile2
-rw-r--r--toolchain/gcc/Makefile28
-rw-r--r--toolchain/glibc/Makefile7
-rw-r--r--toolchain/musl/Makefile5
-rw-r--r--toolchain/musl/patches/musl-git-20140319.patch (renamed from toolchain/musl/patches/musl-git-20140318.patch)650
-rw-r--r--toolchain/uClibc/Makefile8
6 files changed, 421 insertions, 279 deletions
diff --git a/toolchain/binutils/Makefile b/toolchain/binutils/Makefile
index 6a01f1c9a..6490c19aa 100644
--- a/toolchain/binutils/Makefile
+++ b/toolchain/binutils/Makefile
@@ -54,7 +54,7 @@ $(WRKBUILD)/.installed: $(WRKBUILD)/.compiled
$(MAKE) -C $(WRKBUILD) install
# needed on hosts without readelf, but strange things happen on Cygwin.
ifeq (${OStype},Darwin)
- $(CP) $(WRKBUILD)/binutils/readelf $(STAGING_HOST_DIR)/bin
+ $(CP) $(WRKBUILD)/binutils/readelf $(TOOLCHAIN_DIR)/usr/bin
endif
touch $@
diff --git a/toolchain/gcc/Makefile b/toolchain/gcc/Makefile
index f0096d453..5595f82dd 100644
--- a/toolchain/gcc/Makefile
+++ b/toolchain/gcc/Makefile
@@ -80,6 +80,9 @@ endif
ifeq ($(ARCH),arm)
GCC_CONFOPTS+= --with-float=$(ADK_TARGET_FLOAT)
GCC_CONFOPTS+= --with-mode=$(ADK_TARGET_ARM_MODE)
+ifneq ($(ADK_TARGET_FPU),)
+GCC_CONFOPTS+= --with-fpu=$(ADK_TARGET_FPU)
+endif
endif
ifeq ($(ADK_CPU_ARM926EJ_S),y)
@@ -87,11 +90,11 @@ GCC_CONFOPTS+= --with-arch=armv5te --with-tune=arm1176jzf-s
endif
ifeq ($(ADK_CPU_ARM1176JZF_S),y)
-GCC_CONFOPTS+= --with-arch=armv6 --with-tune=arm1176jzf-s --with-fpu=vfp
+GCC_CONFOPTS+= --with-arch=armv6 --with-tune=arm1176jzf-s
endif
ifeq ($(ADK_CPU_CORTEX_A9),y)
-GCC_CONFOPTS+= --with-arch=armv7-a --with-tune=cortex-a9 --with-fpu=neon
+GCC_CONFOPTS+= --with-arch=armv7-a --with-tune=cortex-a9
endif
ifeq ($(ADK_CPU_SPARC_V9),y)
@@ -120,11 +123,13 @@ GCC_BUILD_DIR_FINAL:= $(WRKBUILD)-final
$(GCC_BUILD_DIR_MINIMAL)/.configured:
mkdir -p $(GCC_BUILD_DIR_MINIMAL)
# these symlinks are very important, do not remove
- rm -rf $(TOOLCHAIN_DIR)/$(GNU_TARGET_NAME)/sys-include
- ln -sf ${STAGING_TARGET_DIR}/usr/include \
- $(TOOLCHAIN_DIR)/usr/$(GNU_TARGET_NAME)/sys-include
+ rm -rf $(TOOLCHAIN_DIR)/usr/$(GNU_TARGET_NAME)/sys-include
+ mkdir -p $(TOOLCHAIN_DIR)/usr/$(GNU_TARGET_NAME)
+ (cd $(TOOLCHAIN_DIR)/usr/$(GNU_TARGET_NAME); \
+ ln -s ../$(STAGING_HOST2TARGET)/usr/include sys-include)
rm -rf ${TOOLCHAIN_DIR}/usr/$(GNU_TARGET_NAME)/lib
- ln -sf ${STAGING_TARGET_DIR}/lib $(TOOLCHAIN_DIR)/usr/$(GNU_TARGET_NAME)/lib
+ (cd $(TOOLCHAIN_DIR)/usr/$(GNU_TARGET_NAME); \
+ ln -s ../$(STAGING_HOST2TARGET)/lib lib)
ifeq ($(ADK_LINUX_SH),y)
(cd ${STAGING_TARGET_DIR}/ && ln -sf . m4 && ln -sf . m4-nofpu)
endif
@@ -202,16 +207,7 @@ $(WRKBUILD)/.installed: $(WRKBUILD)/.compiled
done;
(cd $(TOOLCHAIN_DIR)/usr/bin && \
ln -sf $(GNU_TARGET_NAME)-gcc $(GNU_TARGET_NAME)-gcc-${PKG_VERSION})
- @-test -d $(STAGING_TARGET_DIR)/lib32 && \
- cd $(STAGING_TARGET_DIR)/lib32 && \
- ln -sf libstdc++.so.6.0.18 libstdc++.so && \
- ln -sf libstdc++.so.6.0.18 libstdc++.so.6
- @-test -d $(STAGING_TARGET_DIR)/libx32 && \
- cd $(STAGING_TARGET_DIR)/libx32 && \
- ln -sf libstdc++.so.6.0.18 libstdc++.so && \
- ln -sf libstdc++.so.6.0.18 libstdc++.so.6
- @-test -d $(STAGING_TARGET_DIR)/lib64 && \
- cd $(STAGING_TARGET_DIR)/lib64 && \
+ cd $(STAGING_TARGET_DIR)/lib && \
ln -sf libstdc++.so.6.0.18 libstdc++.so && \
ln -sf libstdc++.so.6.0.18 libstdc++.so.6
# cleanup unneeded docs
diff --git a/toolchain/glibc/Makefile b/toolchain/glibc/Makefile
index 996f9dd87..44f73c1ff 100644
--- a/toolchain/glibc/Makefile
+++ b/toolchain/glibc/Makefile
@@ -64,19 +64,18 @@ $(WRKBUILD)/.installed:
${GLIBC_ENV} $(MAKE) -C $(GLIBC_BUILD_DIR_FINAL) install_root=$(STAGING_TARGET_DIR) install
mkdir -p ${STAGING_TARGET_DIR}/etc
${INSTALL_DATA} ${WRKBUILD}/posix/gai.conf ${STAGING_TARGET_DIR}/etc
- ${INSTALL_DATA} ${WRKBUILD}/nscd/nscd.conf ${STAGING_TARGET_DIR}/etc
${INSTALL_DATA} ${WRKBUILD}/nss/nsswitch.conf ${STAGING_TARGET_DIR}/etc
touch $@
$(WRKBUILD)/.fixup:
-find $(STAGING_TARGET_DIR) $(STAGING_HOST_DIR) -name \*.la -delete
- -find $(STAGING_TARGET_DIR) -type f -name \*_pic\* -delete
rm -rf $(STAGING_TARGET_DIR)/usr/share/locale $(STAGING_TARGET_DIR)/usr/share/i18n
rm -rf $(STAGING_TARGET_DIR)/usr/lib/gconv
ifeq ($(ADK_TOOLCHAIN),y)
# strip target libs and host tools for toolchain builds
- PATH="$(TARGET_PATH)" debug='0' prefix='${TARGET_CROSS}' ${BASH} ${SCRIPT_DIR}/rstrip.sh $(STAGING_TARGET_DIR)
- debug='0' prefix=' ' ${BASH} ${SCRIPT_DIR}/rstrip.sh $(TOOLCHAIN_DIR)/usr
+ PATH="$(TARGET_PATH)" debug='0' prefix='${TARGET_CROSS}' ${BASH} ${SCRIPT_DIR}/rstrip.sh \
+ $(STAGING_TARGET_DIR) $(TOOLCHAIN_DIR)/usr/lib/gcc/$(GNU_TARGET_NAME)
+ debug='0' prefix=' ' ${BASH} ${SCRIPT_DIR}/rstrip.sh $(TOOLCHAIN_DIR)/usr/bin
endif
touch $@
diff --git a/toolchain/musl/Makefile b/toolchain/musl/Makefile
index aa5e8845c..f13a2613d 100644
--- a/toolchain/musl/Makefile
+++ b/toolchain/musl/Makefile
@@ -55,8 +55,9 @@ $(WRKBUILD)/.fixup:
-find $(STAGING_TARGET_DIR) $(STAGING_HOST_DIR) -name \*.la -delete
ifeq ($(ADK_TOOLCHAIN),y)
# strip target libs and host tools for toolchain builds
- PATH="$(TARGET_PATH)" debug='0' prefix='${TARGET_CROSS}' ${BASH} ${SCRIPT_DIR}/rstrip.sh $(STAGING_TARGET_DIR)
- debug='0' prefix=' ' ${BASH} ${SCRIPT_DIR}/rstrip.sh $(STAGING_HOST_DIR)
+ PATH="$(TARGET_PATH)" debug='0' prefix='${TARGET_CROSS}' ${BASH} ${SCRIPT_DIR}/rstrip.sh \
+ $(STAGING_TARGET_DIR) $(TOOLCHAIN_DIR)/usr/lib/gcc/$(GNU_TARGET_NAME)
+ debug='0' prefix=' ' ${BASH} ${SCRIPT_DIR}/rstrip.sh $(TOOLCHAIN_DIR)/usr/bin
endif
touch $@
diff --git a/toolchain/musl/patches/musl-git-20140318.patch b/toolchain/musl/patches/musl-git-20140319.patch
index 6b4a797f2..f319d904a 100644
--- a/toolchain/musl/patches/musl-git-20140318.patch
+++ b/toolchain/musl/patches/musl-git-20140319.patch
@@ -1,6 +1,6 @@
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-17 16:49:44.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;
@@ -20,7 +20,7 @@ diff -Nur musl-0.9.15/arch/arm/bits/sem.h musl-git/arch/arm/bits/sem.h
+};
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-17 16:49:44.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;
@@ -36,9 +36,25 @@ diff -Nur musl-0.9.15/arch/arm/bits/shm.h musl-git/arch/arm/bits/shm.h
+ 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-17 16:49:44.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
@@ -94,7 +110,7 @@ diff -Nur musl-0.9.15/arch/arm/bits/termios.h musl-git/arch/arm/bits/termios.h
+#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-17 16:49:44.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))
@@ -106,7 +122,7 @@ diff -Nur musl-0.9.15/arch/arm/syscall_arch.h musl-git/arch/arm/syscall_arch.h
#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-17 16:49:44.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;
@@ -126,7 +142,7 @@ diff -Nur musl-0.9.15/arch/i386/bits/sem.h musl-git/arch/i386/bits/sem.h
+};
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-17 16:49:44.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;
@@ -142,9 +158,25 @@ diff -Nur musl-0.9.15/arch/i386/bits/shm.h musl-git/arch/i386/bits/shm.h
+ 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-17 16:49:44.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
@@ -200,7 +232,7 @@ diff -Nur musl-0.9.15/arch/i386/bits/termios.h musl-git/arch/i386/bits/termios.h
+#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-17 16:49:44.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;
@@ -220,7 +252,7 @@ diff -Nur musl-0.9.15/arch/microblaze/bits/sem.h musl-git/arch/microblaze/bits/s
+};
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-17 16:49:44.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;
@@ -236,9 +268,25 @@ diff -Nur musl-0.9.15/arch/microblaze/bits/shm.h musl-git/arch/microblaze/bits/s
+ 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-17 16:49:44.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
@@ -294,7 +342,7 @@ diff -Nur musl-0.9.15/arch/microblaze/bits/termios.h musl-git/arch/microblaze/bi
+#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-17 16:49:44.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))
@@ -306,7 +354,7 @@ diff -Nur musl-0.9.15/arch/microblaze/syscall_arch.h musl-git/arch/microblaze/sy
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-17 16:49:44.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
@@ -325,7 +373,7 @@ diff -Nur musl-0.9.15/arch/mips/bits/fenv.h musl-git/arch/mips/bits/fenv.h
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-17 16:49:44.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;
@@ -341,9 +389,15 @@ diff -Nur musl-0.9.15/arch/mips/bits/sem.h musl-git/arch/mips/bits/sem.h
+ 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-17 16:49:44.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;
@@ -359,9 +413,32 @@ diff -Nur musl-0.9.15/arch/mips/bits/shm.h musl-git/arch/mips/bits/shm.h
+ 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-17 16:49:44.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;
@@ -376,7 +453,7 @@ diff -Nur musl-0.9.15/arch/mips/bits/statfs.h musl-git/arch/mips/bits/statfs.h
};
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-17 16:49:44.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
@@ -427,7 +504,7 @@ diff -Nur musl-0.9.15/arch/mips/bits/termios.h musl-git/arch/mips/bits/termios.h
+#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-17 16:49:44.000000000 +0100
++++ musl-git/arch/mips/reloc.h 2014-03-19 07:42:48.000000000 +0100
@@ -8,7 +8,13 @@
#define ENDIAN_SUFFIX ""
#endif
@@ -445,7 +522,7 @@ diff -Nur musl-0.9.15/arch/mips/reloc.h musl-git/arch/mips/reloc.h
#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-17 16:49:44.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))
@@ -457,7 +534,7 @@ diff -Nur musl-0.9.15/arch/mips/syscall_arch.h musl-git/arch/mips/syscall_arch.h
#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-17 16:49:44.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;
@@ -472,7 +549,7 @@ diff -Nur musl-0.9.15/arch/powerpc/bits/ipc.h musl-git/arch/powerpc/bits/ipc.h
#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-17 16:49:44.000000000 +0100
++++ musl-git/arch/powerpc/bits/msg.h 2014-03-19 07:42:48.000000000 +0100
@@ -1,12 +1,12 @@
struct msqid_ds
{
@@ -491,7 +568,7 @@ diff -Nur musl-0.9.15/arch/powerpc/bits/msg.h musl-git/arch/powerpc/bits/msg.h
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-17 16:49:44.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;
@@ -505,7 +582,7 @@ diff -Nur musl-0.9.15/arch/powerpc/bits/sem.h musl-git/arch/powerpc/bits/sem.h
+};
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-17 16:49:44.000000000 +0100
++++ musl-git/arch/powerpc/bits/shm.h 2014-03-19 07:42:48.000000000 +0100
@@ -3,16 +3,28 @@
struct shmid_ds
{
@@ -539,9 +616,25 @@ diff -Nur musl-0.9.15/arch/powerpc/bits/shm.h musl-git/arch/powerpc/bits/shm.h
+ 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-17 16:49:44.000000000 +0100
++++ musl-git/arch/powerpc/bits/socket.h 2014-03-19 07:42:48.000000000 +0100
@@ -1,12 +1,12 @@
struct msghdr
{
@@ -561,7 +654,7 @@ diff -Nur musl-0.9.15/arch/powerpc/bits/socket.h musl-git/arch/powerpc/bits/sock
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-17 16:49:44.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
@@ -621,7 +714,7 @@ diff -Nur musl-0.9.15/arch/powerpc/bits/termios.h musl-git/arch/powerpc/bits/ter
+#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-17 16:49:44.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
@@ -712,7 +805,7 @@ diff -Nur musl-0.9.15/arch/sh/atomic.h musl-git/arch/sh/atomic.h
+#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-17 16:49:44.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
@@ -739,7 +832,7 @@ diff -Nur musl-0.9.15/arch/sh/bits/alltypes.h.in musl-git/arch/sh/bits/alltypes.
+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-17 16:49:44.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
@@ -748,7 +841,7 @@ diff -Nur musl-0.9.15/arch/sh/bits/endian.h musl-git/arch/sh/bits/endian.h
+#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-17 16:49:44.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
@@ -886,7 +979,7 @@ diff -Nur musl-0.9.15/arch/sh/bits/errno.h musl-git/arch/sh/bits/errno.h
+#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-17 16:49:44.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
@@ -929,7 +1022,7 @@ diff -Nur musl-0.9.15/arch/sh/bits/fcntl.h musl-git/arch/sh/bits/fcntl.h
+#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-17 16:49:44.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__
+
@@ -959,7 +1052,7 @@ diff -Nur musl-0.9.15/arch/sh/bits/fenv.h musl-git/arch/sh/bits/fenv.h
+#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-17 16:49:44.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
@@ -980,7 +1073,7 @@ diff -Nur musl-0.9.15/arch/sh/bits/float.h musl-git/arch/sh/bits/float.h
+#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-17 16:49:44.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
@@ -1189,7 +1282,7 @@ diff -Nur musl-0.9.15/arch/sh/bits/ioctl.h musl-git/arch/sh/bits/ioctl.h
+#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-17 16:49:44.000000000 +0100
++++ musl-git/arch/sh/bits/ipc.h 2014-03-19 07:42:48.000000000 +0100
@@ -0,0 +1,14 @@
+struct ipc_perm
+{
@@ -1207,7 +1300,7 @@ diff -Nur musl-0.9.15/arch/sh/bits/ipc.h musl-git/arch/sh/bits/ipc.h
+#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-17 16:49:44.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)
@@ -1219,7 +1312,7 @@ diff -Nur musl-0.9.15/arch/sh/bits/limits.h musl-git/arch/sh/bits/limits.h
+#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-17 16:49:44.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)
+
@@ -1285,7 +1378,7 @@ diff -Nur musl-0.9.15/arch/sh/bits/mman.h musl-git/arch/sh/bits/mman.h
+#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-17 16:49:44.000000000 +0100
++++ musl-git/arch/sh/bits/msg.h 2014-03-19 07:42:48.000000000 +0100
@@ -0,0 +1,16 @@
+struct msqid_ds
+{
@@ -1305,13 +1398,13 @@ diff -Nur musl-0.9.15/arch/sh/bits/msg.h musl-git/arch/sh/bits/msg.h
+};
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-17 16:49:44.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-17 16:49:44.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;
@@ -1331,12 +1424,12 @@ diff -Nur musl-0.9.15/arch/sh/bits/sem.h musl-git/arch/sh/bits/sem.h
+};
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-17 16:49:44.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-17 16:49:44.000000000 +0100
++++ musl-git/arch/sh/bits/shm.h 2014-03-19 07:42:48.000000000 +0100
@@ -0,0 +1,28 @@
+#define SHMLBA 16384
+
@@ -1368,8 +1461,8 @@ diff -Nur musl-0.9.15/arch/sh/bits/shm.h musl-git/arch/sh/bits/shm.h
+};
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-17 16:49:44.000000000 +0100
-@@ -0,0 +1,76 @@
++++ 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)
+
@@ -1391,6 +1484,12 @@ diff -Nur musl-0.9.15/arch/sh/bits/signal.h musl-git/arch/sh/bits/signal.h
+} 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;
@@ -1448,7 +1547,7 @@ diff -Nur musl-0.9.15/arch/sh/bits/signal.h musl-git/arch/sh/bits/signal.h
+#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-17 16:49:44.000000000 +0100
++++ musl-git/arch/sh/bits/socket.h 2014-03-19 07:42:48.000000000 +0100
@@ -0,0 +1,17 @@
+struct msghdr
+{
@@ -1469,7 +1568,7 @@ diff -Nur musl-0.9.15/arch/sh/bits/socket.h musl-git/arch/sh/bits/socket.h
+};
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-17 16:49:44.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;
@@ -1480,7 +1579,7 @@ diff -Nur musl-0.9.15/arch/sh/bits/statfs.h musl-git/arch/sh/bits/statfs.h
+};
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-17 16:49:44.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. */
@@ -1506,7 +1605,7 @@ diff -Nur musl-0.9.15/arch/sh/bits/stat.h musl-git/arch/sh/bits/stat.h
+};
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-17 16:49:44.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)
@@ -1514,7 +1613,7 @@ diff -Nur musl-0.9.15/arch/sh/bits/stdarg.h musl-git/arch/sh/bits/stdarg.h
+#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-17 16:49:44.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;
@@ -1538,7 +1637,7 @@ diff -Nur musl-0.9.15/arch/sh/bits/stdint.h musl-git/arch/sh/bits/stdint.h
+#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-17 16:49:44.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
@@ -2226,7 +2325,7 @@ diff -Nur musl-0.9.15/arch/sh/bits/syscall.h musl-git/arch/sh/bits/syscall.h
+#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-17 16:49:44.000000000 +0100
++++ musl-git/arch/sh/bits/termios.h 2014-03-19 07:42:48.000000000 +0100
@@ -0,0 +1,160 @@
+struct termios
+{
@@ -2390,7 +2489,7 @@ diff -Nur musl-0.9.15/arch/sh/bits/termios.h musl-git/arch/sh/bits/termios.h
+#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-17 16:49:44.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
@@ -2469,7 +2568,7 @@ diff -Nur musl-0.9.15/arch/sh/bits/user.h musl-git/arch/sh/bits/user.h
+};
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-17 16:49:44.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\
@@ -2485,7 +2584,7 @@ diff -Nur musl-0.9.15/arch/sh/crt_arch.h musl-git/arch/sh/crt_arch.h
+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-17 16:49:44.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()
+{
@@ -2500,7 +2599,7 @@ diff -Nur musl-0.9.15/arch/sh/pthread_arch.h musl-git/arch/sh/pthread_arch.h
+#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-17 16:49:44.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"
@@ -2551,7 +2650,7 @@ diff -Nur musl-0.9.15/arch/sh/reloc.h musl-git/arch/sh/reloc.h
+}
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-17 16:49:44.000000000 +0100
++++ musl-git/arch/sh/src/atomic.c 2014-03-19 07:42:48.000000000 +0100
@@ -0,0 +1,146 @@
+#include "libc.h"
+
@@ -2699,9 +2798,9 @@ diff -Nur musl-0.9.15/arch/sh/src/atomic.c musl-git/arch/sh/src/atomic.c
+ : "=&r"(dummy) : "r"(x), "r"(v) : GUSA_CLOBBERS);
+ }
+}
-diff -Nur musl-0.9.15/arch/sh/src/__fpsrc_values.c musl-git/arch/sh/src/__fpsrc_values.c
---- musl-0.9.15/arch/sh/src/__fpsrc_values.c 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/src/__fpsrc_values.c 2014-03-17 16:49:44.000000000 +0100
+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"
+
@@ -2710,7 +2809,7 @@ diff -Nur musl-0.9.15/arch/sh/src/__fpsrc_values.c musl-git/arch/sh/src/__fpsrc_
+
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-17 16:49:44.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], \
@@ -2801,7 +2900,7 @@ diff -Nur musl-0.9.15/arch/sh/syscall_arch.h musl-git/arch/sh/syscall_arch.h
+}
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-17 16:49:44.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
@@ -2930,7 +3029,7 @@ diff -Nur musl-0.9.15/arch/x32/atomic.h musl-git/arch/x32/atomic.h
+#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-17 16:49:44.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
@@ -2962,12 +3061,12 @@ diff -Nur musl-0.9.15/arch/x32/bits/alltypes.h.in musl-git/arch/x32/bits/alltype
+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-17 16:49:44.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-17 16:49:44.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
@@ -3105,7 +3204,7 @@ diff -Nur musl-0.9.15/arch/x32/bits/errno.h musl-git/arch/x32/bits/errno.h
+#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-17 16:49:44.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
@@ -3148,7 +3247,7 @@ diff -Nur musl-0.9.15/arch/x32/bits/fcntl.h musl-git/arch/x32/bits/fcntl.h
+#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-17 16:49:44.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
@@ -3186,7 +3285,7 @@ diff -Nur musl-0.9.15/arch/x32/bits/fenv.h musl