summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2014-03-19 10:06:25 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2014-03-19 10:06:25 +0100
commit8d4cfa7f2a9f10b201e85b67714fd0bc0e7e867c (patch)
tree9db4f69dd822cd237c659cacf7cf56a0e7bc1152
parented78ab954ca991cca578f59a32d147304025647d (diff)
parentdf23f6da3cb6dc12253dc864f0c56d149a339652 (diff)
Merge branch 'master' of git+ssh://www.openadk.org/git/openadk
-rw-r--r--README1
-rw-r--r--TODO1
-rw-r--r--mk/build.mk2
-rw-r--r--package/base-files/Makefile12
-rw-r--r--package/base-files/files/inittab.shell1
-rw-r--r--scripts/scan-tools.sh6
-rw-r--r--target/config/Config.in.runtime42
-rw-r--r--toolchain/musl/patches/musl-git-20140319.patch (renamed from toolchain/musl/patches/musl-git-20140318.patch)650
8 files changed, 440 insertions, 275 deletions
diff --git a/README b/README
index 687950abd..65011f0ad 100644
--- a/README
+++ b/README
@@ -19,6 +19,7 @@ Before you can start you need to install some tools:
- ncurses5 headers
- zlib headers
- perl
+- git
There is a check for the required versions of these tools in advance, though.
(to re-issue the checks, use "make prereq").
diff --git a/TODO b/TODO
index d3a55ea0b..6b54af848 100644
--- a/TODO
+++ b/TODO
@@ -1,5 +1,4 @@
- check gold for mozilla compile
-- getty + serial rework
- add daemon() function to functions.sh
- add printing of OK/FAIL (optional verbose bootup)
- fixup rework libgcc --export-symbols
diff --git a/mk/build.mk b/mk/build.mk
index ff9abd229..4cdccd8fd 100644
--- a/mk/build.mk
+++ b/mk/build.mk
@@ -98,7 +98,7 @@ POSTCONFIG= -@\
touch .rebuild.busybox;\
rebuild=1;\
fi; \
- for i in ADK_RUNTIME_PASSWORD ADK_RUNTIME_TMPFS_SIZE ADK_RUNTIME_HOSTNAME ADK_TARGET_ROOTFS ADK_RUNTIME_CONSOLE ADK_TARGET_QEMU_MICROBLAZE_MODEL;do \
+ for i in ADK_RUNTIME_PASSWORD ADK_RUNTIME_TMPFS_SIZE ADK_RUNTIME_HOSTNAME ADK_TARGET_ROOTFS ADK_RUNTIME_GETTY ADK_RUNTIME_SHELL;do \
if [ "$$(grep ^$$i .config|md5sum)" != "$$(grep ^$$i .config.old|md5sum)" ];then \
touch .rebuild.base-files;\
rebuild=1;\
diff --git a/package/base-files/Makefile b/package/base-files/Makefile
index 25314b5ec..0dee1aa94 100644
--- a/package/base-files/Makefile
+++ b/package/base-files/Makefile
@@ -6,7 +6,7 @@ include $(TOPDIR)/mk/rootfs.mk
PKG_NAME:= base-files
PKG_VERSION:= 1.0
-PKG_RELEASE:= 73
+PKG_RELEASE:= 74
PKG_SECTION:= base
PKG_DESCR:= basic files and scripts
PKG_BUILDDEP:= pkgconf-host file-host
@@ -55,14 +55,12 @@ endif
ln -sf ../proc/mounts $(IDIR_BASE_FILES)/etc/mtab
rm -rf $(IDIR_BASE_FILES)/var
ln -sf tmp $(IDIR_BASE_FILES)/var
- test -z $(ADK_RUNTIME_CONSOLE_VGA) || \
+ test -z $(ADK_RUNTIME_SHELL) || \
+ cat ./files/inittab.shell >> $(IDIR_BASE_FILES)/etc/inittab
+ test -z $(ADK_RUNTIME_GETTY_VGA) || \
cat ./files/inittab.vga >> $(IDIR_BASE_FILES)/etc/inittab
- test -z $(ADK_RUNTIME_CONSOLE_SERIAL) || \
+ test -z $(ADK_RUNTIME_GETTY_SERIAL) || \
cat ./files/inittab.serial >> $(IDIR_BASE_FILES)/etc/inittab
- test -z $(ADK_RUNTIME_CONSOLE_BOTH) || \
- cat ./files/inittab.serial >> $(IDIR_BASE_FILES)/etc/inittab
- test -z $(ADK_RUNTIME_CONSOLE_BOTH) || \
- cat ./files/inittab.vga >> $(IDIR_BASE_FILES)/etc/inittab
$(SED) 's#@DEVICE@#$(ADK_RUNTIME_CONSOLE_SERIAL_DEVICE)#' $(IDIR_BASE_FILES)/etc/inittab
$(SED) 's#@SPEED@#$(ADK_RUNTIME_CONSOLE_SERIAL_SPEED)#' $(IDIR_BASE_FILES)/etc/inittab
test -z $(ADK_RUNTIME_HOSTNAME) || \
diff --git a/package/base-files/files/inittab.shell b/package/base-files/files/inittab.shell
new file mode 100644
index 000000000..55e5e429f
--- /dev/null
+++ b/package/base-files/files/inittab.shell
@@ -0,0 +1 @@
+::askfirst:/bin/sh
diff --git a/scripts/scan-tools.sh b/scripts/scan-tools.sh
index c16aff609..33365483a 100644
--- a/scripts/scan-tools.sh
+++ b/scripts/scan-tools.sh
@@ -208,6 +208,12 @@ if ! which g++ >/dev/null 2>&1; then
out=1
fi
+if ! which git >/dev/null 2>&1; then
+ echo "You need git to continue."
+ echo
+ out=1
+fi
+
cd $topdir
rm -rf tmp
diff --git a/target/config/Config.in.runtime b/target/config/Config.in.runtime
index a459940d6..721f623de 100644
--- a/target/config/Config.in.runtime
+++ b/target/config/Config.in.runtime
@@ -37,27 +37,41 @@ config ADK_RUNTIME_TIMEZONE
Predefine the timezone for the embedded system.
choice
-prompt "Console output on embedded system"
-default ADK_RUNTIME_CONSOLE_BOTH if ADK_TARGET_WITH_VGA || ADK_TARGET_QEMU_WITH_GRAPHIC && !ADK_TARGET_SYSTEM_RASPBERRY_PI && !ADK_TARGET_SYSTEM_LEMOTE_YEELONG
-default ADK_RUNTIME_CONSOLE_VGA if ADK_TARGET_SYSTEM_RASPBERRY_PI || ADK_TARGET_SYSTEM_LEMOTE_YEELONG
-default ADK_RUNTIME_CONSOLE_SERIAL
+prompt "Start getty or shell after bootup"
+default ADK_RUNTIME_GETTY
-config ADK_RUNTIME_CONSOLE_VGA
- bool "console output on VGA"
+config ADK_RUNTIME_GETTY
+ boolean "start a getty after bootup"
help
- Start getty on VGA console. (tty1-tty6)
+ Start a getty after bootup.
-config ADK_RUNTIME_CONSOLE_SERIAL
- bool "console output on serial"
+config ADK_RUNTIME_SHELL
+ boolean "start a shell after bootup"
help
- Start getty on serial console.
+ Start a shell after bootup
+
+endchoice
-config ADK_RUNTIME_CONSOLE_BOTH
- bool "console output on VGA and serial"
+config ADK_RUNTIME_GETTY_VGA
+ boolean "start getty on VGA console (tty1-tty6)"
+ depends on ADK_RUNTIME_GETTY
+ default y if ADK_TARGET_QEMU_WITH_GRAPHIC
+ default y if ADK_TARGET_SYSTEM_RASPBERRY_PI
+ default y if ADK_TARGET_SYSTEM_LEMOTE_YEELONG
+ default y if ADK_TARGET_SYSTEM_IBM_X40
+ default n
help
- Start getty on VGA console and serial device.
+ Start getty on VGA console. (tty1-tty6)
-endchoice
+config ADK_RUNTIME_GETTY_SERIAL
+ boolean "start getty on serial console"
+ depends on ADK_RUNTIME_GETTY
+ default n if ADK_TARGET_SYSTEM_RASPBERRY_PI
+ default n if ADK_TARGET_SYSTEM_LEMOTE_YEELONG
+ default n if ADK_TARGET_SYSTEM_IBM_X40
+ default y
+ help
+ Start getty on serial console.
config ADK_RUNTIME_CONSOLE_SERIAL_DEVICE
string
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