summaryrefslogtreecommitdiff
path: root/toolchain
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2014-03-13 09:11:48 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2014-03-13 09:11:48 +0100
commit607c3fcd1d10a37c077c870df450b5389fb519bf (patch)
tree9c7c0e209d6373efe2296e379c63c29d27a8847b /toolchain
parentc16eb800d935d903d2ab38b3da8270324284e973 (diff)
parentf42fb988bae9d402b0b204614b54ba9b4261d877 (diff)
Merge branch 'master' of git+ssh://openadk.org/git/openadk
Diffstat (limited to 'toolchain')
-rw-r--r--toolchain/gcc/Makefile6
-rw-r--r--toolchain/kernel-headers/Makefile6
-rw-r--r--toolchain/kernel-headers/patches/3.10.30/cleankernel.patch11
-rw-r--r--toolchain/kernel-headers/patches/3.10.30/mkpiggy.patch28
-rw-r--r--toolchain/kernel-headers/patches/3.10.30/relocs.patch (renamed from toolchain/kernel-headers/patches/3.13.5/relocs.patch)0
-rw-r--r--toolchain/kernel-headers/patches/3.10.30/sgidefs.patch (renamed from toolchain/kernel-headers/patches/3.13.5/sgidefs.patch)0
-rw-r--r--toolchain/kernel-headers/patches/3.10.30/sortext.patch33
-rw-r--r--toolchain/kernel-headers/patches/3.13.6/cleankernel.patch (renamed from toolchain/kernel-headers/patches/3.13.5/cleankernel.patch)0
-rw-r--r--toolchain/kernel-headers/patches/3.13.6/microperl.patch (renamed from toolchain/kernel-headers/patches/3.13.5/microperl.patch)0
-rw-r--r--toolchain/kernel-headers/patches/3.13.6/mkpiggy.patch (renamed from toolchain/kernel-headers/patches/3.13.5/mkpiggy.patch)0
-rw-r--r--toolchain/kernel-headers/patches/3.13.6/relocs.patch2693
-rw-r--r--toolchain/kernel-headers/patches/3.13.6/sgidefs.patch18
-rw-r--r--toolchain/kernel-headers/patches/3.13.6/sortext.patch (renamed from toolchain/kernel-headers/patches/3.13.5/sortext.patch)0
-rw-r--r--toolchain/musl/patches/musl-git-20140310.patch (renamed from toolchain/musl/patches/musl-git-20140301.patch)709
-rw-r--r--toolchain/uClibc/Makefile44
15 files changed, 3294 insertions, 254 deletions
diff --git a/toolchain/gcc/Makefile b/toolchain/gcc/Makefile
index 138e3a0d0..d7527442f 100644
--- a/toolchain/gcc/Makefile
+++ b/toolchain/gcc/Makefile
@@ -18,6 +18,7 @@ GCC_CONFOPTS= --prefix=$(STAGING_HOST_DIR) \
--with-libelf=$(STAGING_HOST_DIR) \
--disable-__cxa_atexit \
--with-gnu-ld \
+ --with-gnu-as \
--disable-libsanitizer \
--disable-libitm \
--disable-libmudflap \
@@ -135,6 +136,8 @@ ifeq ($(ADK_LINUX_SH),y)
endif
sed -i '/k prot/agcc_cv_libc_provides_ssp=yes' $(WRKBUILD)/gcc/configure
cd $(GCC_BUILD_DIR_MINIMAL); PATH='$(TARGET_PATH)' \
+ CFLAGS="-O0 -g0" \
+ CXXFLAGS="-O0 -g0" \
$(WRKBUILD)/configure \
${GCC_CONFOPTS} \
--enable-languages=c \
@@ -153,6 +156,8 @@ $(WRKBUILD)/.headers: $(GCC_BUILD_DIR_MINIMAL)/.compiled
$(GCC_BUILD_DIR_INITIAL)/.configured:
mkdir -p $(GCC_BUILD_DIR_INITIAL)
cd $(GCC_BUILD_DIR_INITIAL); PATH='$(TARGET_PATH)' \
+ CFLAGS="-O0 -g0" \
+ CXXFLAGS="-O0 -g0" \
$(WRKBUILD)/configure \
${GCC_CONFOPTS} \
--enable-languages=c \
@@ -176,6 +181,7 @@ $(GCC_BUILD_DIR_FINAL)/.configured:
$(WRKBUILD)/configure \
${GCC_CONFOPTS} \
--enable-languages=$(LANGUAGES) \
+ --with-build-sysroot='$${prefix}/${STAGING_HOST2TARGET}' \
--with-sysroot='$${prefix}/${STAGING_HOST2TARGET}' \
--enable-shared
touch $@
diff --git a/toolchain/kernel-headers/Makefile b/toolchain/kernel-headers/Makefile
index e62b33e2d..4303accdc 100644
--- a/toolchain/kernel-headers/Makefile
+++ b/toolchain/kernel-headers/Makefile
@@ -10,10 +10,10 @@ $(WRKBUILD)/.headers:
$(MAKE) -C $(WRKBUILD) HOSTCC=$(CC_FOR_BUILD) ARCH=$(ARCH) V=1 \
headers_check
$(MAKE) -C $(WRKBUILD) HOSTCC=$(CC_FOR_BUILD) ARCH=$(ARCH) V=1 \
- INSTALL_HDR_PATH=$(STAGING_DIR)/usr \
+ INSTALL_HDR_PATH=$(STAGING_TARGET_DIR)/usr \
headers_install
- @-find $(STAGING_DIR)/usr/include -name .install -delete
- @-find $(STAGING_DIR)/usr/include -name ..install.cmd -delete
+ @-find $(STAGING_TARGET_DIR)/usr/include -name .install -delete
+ @-find $(STAGING_TARGET_DIR)/usr/include -name ..install.cmd -delete
touch $@
include ${TOPDIR}/mk/toolchain.mk
diff --git a/toolchain/kernel-headers/patches/3.10.30/cleankernel.patch b/toolchain/kernel-headers/patches/3.10.30/cleankernel.patch
new file mode 100644
index 000000000..5f26a6b72
--- /dev/null
+++ b/toolchain/kernel-headers/patches/3.10.30/cleankernel.patch
@@ -0,0 +1,11 @@
+diff -Nur linux-3.10.30.orig/scripts/Makefile.headersinst linux-3.10.30/scripts/Makefile.headersinst
+--- linux-3.10.30.orig/scripts/Makefile.headersinst 2014-02-13 22:48:15.000000000 +0100
++++ linux-3.10.30/scripts/Makefile.headersinst 2014-03-09 09:47:17.000000000 +0100
+@@ -99,7 +99,6 @@
+
+ targets += $(install-file)
+ $(install-file): scripts/headers_install.sh $(input-files) FORCE
+- $(if $(unwanted),$(call cmd,remove),)
+ $(if $(wildcard $(dir $@)),,$(shell mkdir -p $(dir $@)))
+ $(call if_changed,install)
+
diff --git a/toolchain/kernel-headers/patches/3.10.30/mkpiggy.patch b/toolchain/kernel-headers/patches/3.10.30/mkpiggy.patch
new file mode 100644
index 000000000..d4e815cd2
--- /dev/null
+++ b/toolchain/kernel-headers/patches/3.10.30/mkpiggy.patch
@@ -0,0 +1,28 @@
+diff -Nur linux-3.4.4.orig/arch/x86/boot/compressed/mkpiggy.c linux-3.4.4/arch/x86/boot/compressed/mkpiggy.c
+--- linux-3.4.4.orig/arch/x86/boot/compressed/mkpiggy.c 2012-06-22 20:37:50.000000000 +0200
++++ linux-3.4.4/arch/x86/boot/compressed/mkpiggy.c 2012-07-03 09:48:02.000000000 +0200
+@@ -29,7 +29,14 @@
+ #include <stdio.h>
+ #include <string.h>
+ #include <inttypes.h>
+-#include <tools/le_byteshift.h>
++
++static uint32_t getle32(const void *p)
++{
++ const uint8_t *cp = p;
++
++ return (uint32_t)cp[0] + ((uint32_t)cp[1] << 8) +
++ ((uint32_t)cp[2] << 16) + ((uint32_t)cp[3] << 24);
++}
+
+ int main(int argc, char *argv[])
+ {
+@@ -62,7 +69,7 @@
+ }
+
+ ilen = ftell(f);
+- olen = get_unaligned_le32(&olen);
++ olen = getle32(&olen);
+ fclose(f);
+
+ /*
diff --git a/toolchain/kernel-headers/patches/3.13.5/relocs.patch b/toolchain/kernel-headers/patches/3.10.30/relocs.patch
index 649b9e73e..649b9e73e 100644
--- a/toolchain/kernel-headers/patches/3.13.5/relocs.patch
+++ b/toolchain/kernel-headers/patches/3.10.30/relocs.patch
diff --git a/toolchain/kernel-headers/patches/3.13.5/sgidefs.patch b/toolchain/kernel-headers/patches/3.10.30/sgidefs.patch
index f00a284d9..f00a284d9 100644
--- a/toolchain/kernel-headers/patches/3.13.5/sgidefs.patch
+++ b/toolchain/kernel-headers/patches/3.10.30/sgidefs.patch
diff --git a/toolchain/kernel-headers/patches/3.10.30/sortext.patch b/toolchain/kernel-headers/patches/3.10.30/sortext.patch
new file mode 100644
index 000000000..65bbbb64b
--- /dev/null
+++ b/toolchain/kernel-headers/patches/3.10.30/sortext.patch
@@ -0,0 +1,33 @@
+diff -Nur linux-3.11.5.orig/arch/arm/Kconfig linux-3.11.5/arch/arm/Kconfig
+--- linux-3.11.5.orig/arch/arm/Kconfig 2013-10-14 03:14:45.000000000 +0200
++++ linux-3.11.5/arch/arm/Kconfig 2013-10-16 10:36:41.000000000 +0200
+@@ -6,7 +6,6 @@
+ select ARCH_HAVE_CUSTOM_GPIO_H
+ select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
+ select ARCH_WANT_IPC_PARSE_VERSION
+- select BUILDTIME_EXTABLE_SORT if MMU
+ select CPU_PM if (SUSPEND || CPU_IDLE)
+ select DCACHE_WORD_ACCESS if (CPU_V6 || CPU_V6K || CPU_V7) && !CPU_BIG_ENDIAN && MMU
+ select GENERIC_ATOMIC64 if (CPU_V7M || CPU_V6 || !CPU_32v6K || !AEABI)
+diff -Nur linux-3.11.5.orig/arch/mips/Kconfig linux-3.11.5/arch/mips/Kconfig
+--- linux-3.11.5.orig/arch/mips/Kconfig 2013-10-14 03:14:45.000000000 +0200
++++ linux-3.11.5/arch/mips/Kconfig 2013-10-16 10:36:41.000000000 +0200
+@@ -36,7 +36,6 @@
+ select HAVE_MEMBLOCK_NODE_MAP
+ select ARCH_DISCARD_MEMBLOCK
+ select GENERIC_SMP_IDLE_THREAD
+- select BUILDTIME_EXTABLE_SORT
+ select GENERIC_CLOCKEVENTS
+ select GENERIC_CMOS_UPDATE
+ select HAVE_MOD_ARCH_SPECIFIC
+diff -Nur linux-3.11.5.orig/arch/x86/Kconfig linux-3.11.5/arch/x86/Kconfig
+--- linux-3.11.5.orig/arch/x86/Kconfig 2013-10-14 03:14:45.000000000 +0200
++++ linux-3.11.5/arch/x86/Kconfig 2013-10-16 10:36:55.000000000 +0200
+@@ -101,7 +101,6 @@
+ select GENERIC_SMP_IDLE_THREAD
+ select ARCH_WANT_IPC_PARSE_VERSION if X86_32
+ select HAVE_ARCH_SECCOMP_FILTER
+- select BUILDTIME_EXTABLE_SORT
+ select GENERIC_CMOS_UPDATE
+ select HAVE_ARCH_SOFT_DIRTY
+ select CLOCKSOURCE_WATCHDOG
diff --git a/toolchain/kernel-headers/patches/3.13.5/cleankernel.patch b/toolchain/kernel-headers/patches/3.13.6/cleankernel.patch
index d8c055dc3..d8c055dc3 100644
--- a/toolchain/kernel-headers/patches/3.13.5/cleankernel.patch
+++ b/toolchain/kernel-headers/patches/3.13.6/cleankernel.patch
diff --git a/toolchain/kernel-headers/patches/3.13.5/microperl.patch b/toolchain/kernel-headers/patches/3.13.6/microperl.patch
index 298d96593..298d96593 100644
--- a/toolchain/kernel-headers/patches/3.13.5/microperl.patch
+++ b/toolchain/kernel-headers/patches/3.13.6/microperl.patch
diff --git a/toolchain/kernel-headers/patches/3.13.5/mkpiggy.patch b/toolchain/kernel-headers/patches/3.13.6/mkpiggy.patch
index 751678b74..751678b74 100644
--- a/toolchain/kernel-headers/patches/3.13.5/mkpiggy.patch
+++ b/toolchain/kernel-headers/patches/3.13.6/mkpiggy.patch
diff --git a/toolchain/kernel-headers/patches/3.13.6/relocs.patch b/toolchain/kernel-headers/patches/3.13.6/relocs.patch
new file mode 100644
index 000000000..649b9e73e
--- /dev/null
+++ b/toolchain/kernel-headers/patches/3.13.6/relocs.patch
@@ -0,0 +1,2693 @@
+diff -Nur linux-3.11.5.orig/arch/x86/tools/relocs.h linux-3.11.5/arch/x86/tools/relocs.h
+--- linux-3.11.5.orig/arch/x86/tools/relocs.h 2013-10-14 03:14:45.000000000 +0200
++++ linux-3.11.5/arch/x86/tools/relocs.h 2013-10-20 17:41:16.000000000 +0200
+@@ -9,10 +9,14 @@
+ #include <string.h>
+ #include <errno.h>
+ #include <unistd.h>
++#ifdef __linux__
+ #include <elf.h>
+ #include <byteswap.h>
+ #define USE_BSD
+ #include <endian.h>
++#else
++#include "elf.h"
++#endif
+ #include <regex.h>
+ #include <tools/le_byteshift.h>
+
+diff -Nur linux-3.11.5.orig/tools/include/elf.h linux-3.11.5/tools/include/elf.h
+--- linux-3.11.5.orig/tools/include/elf.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-3.11.5/tools/include/elf.h 2013-10-20 17:42:10.000000000 +0200
+@@ -0,0 +1,2671 @@
++#ifndef _ELF_H
++#define _ELF_H
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++#include <stdint.h>
++
++typedef uint16_t Elf32_Half;
++typedef uint16_t Elf64_Half;
++
++typedef uint32_t Elf32_Word;
++typedef int32_t Elf32_Sword;
++typedef uint32_t Elf64_Word;
++typedef int32_t Elf64_Sword;
++
++typedef uint64_t Elf32_Xword;
++typedef int64_t Elf32_Sxword;
++typedef uint64_t Elf64_Xword;
++typedef int64_t Elf64_Sxword;
++
++typedef uint32_t Elf32_Addr;
++typedef uint64_t Elf64_Addr;
++
++typedef uint32_t Elf32_Off;
++typedef uint64_t Elf64_Off;
++
++typedef uint16_t Elf32_Section;
++typedef uint16_t Elf64_Section;
++
++typedef Elf32_Half Elf32_Versym;
++typedef Elf64_Half Elf64_Versym;
++
++#define EI_NIDENT (16)
++
++typedef struct {
++ unsigned char e_ident[EI_NIDENT];
++ Elf32_Half e_type;
++ Elf32_Half e_machine;
++ Elf32_Word e_version;
++ Elf32_Addr e_entry;
++ Elf32_Off e_phoff;
++ Elf32_Off e_shoff;
++ Elf32_Word e_flags;
++ Elf32_Half e_ehsize;
++ Elf32_Half e_phentsize;
++ Elf32_Half e_phnum;
++ Elf32_Half e_shentsize;
++ Elf32_Half e_shnum;
++ Elf32_Half e_shstrndx;
++} Elf32_Ehdr;
++
++typedef struct {
++ unsigned char e_ident[EI_NIDENT];
++ Elf64_Half e_type;
++ Elf64_Half e_machine;
++ Elf64_Word e_version;
++ Elf64_Addr e_entry;
++ Elf64_Off e_phoff;
++ Elf64_Off e_shoff;
++ Elf64_Word e_flags;
++ Elf64_Half e_ehsize;
++ Elf64_Half e_phentsize;
++ Elf64_Half e_phnum;
++ Elf64_Half e_shentsize;
++ Elf64_Half e_shnum;
++ Elf64_Half e_shstrndx;
++} Elf64_Ehdr;
++
++#define EI_MAG0 0
++#define ELFMAG0 0x7f
++
++#define EI_MAG1 1
++#define ELFMAG1 'E'
++
++#define EI_MAG2 2
++#define ELFMAG2 'L'
++
++#define EI_MAG3 3
++#define ELFMAG3 'F'
++
++
++#define ELFMAG "\177ELF"
++#define SELFMAG 4
++
++#define EI_CLASS 4
++#define ELFCLASSNONE 0
++#define ELFCLASS32 1
++#define ELFCLASS64 2
++#define ELFCLASSNUM 3
++
++#define EI_DATA 5
++#define ELFDATANONE 0
++#define ELFDATA2LSB 1
++#define ELFDATA2MSB 2
++#define ELFDATANUM 3
++
++#define EI_VERSION 6
++
++
++#define EI_OSABI 7
++#define ELFOSABI_NONE 0
++#define ELFOSABI_SYSV 0
++#define ELFOSABI_HPUX 1
++#define ELFOSABI_NETBSD 2
++#define ELFOSABI_LINUX 3
++#define ELFOSABI_GNU 3
++#define ELFOSABI_SOLARIS 6
++#define ELFOSABI_AIX 7
++#define ELFOSABI_IRIX 8
++#define ELFOSABI_FREEBSD 9
++#define ELFOSABI_TRU64 10
++#define ELFOSABI_MODESTO 11
++#define ELFOSABI_OPENBSD 12
++#define ELFOSABI_ARM 97
++#define ELFOSABI_STANDALONE 255
++
++#define EI_ABIVERSION 8
++
++#define EI_PAD 9
++
++
++
++#define ET_NONE 0
++#define ET_REL 1
++#define ET_EXEC 2
++#define ET_DYN 3
++#define ET_CORE 4
++#define ET_NUM 5
++#define ET_LOOS 0xfe00
++#define ET_HIOS 0xfeff
++#define ET_LOPROC 0xff00
++#define ET_HIPROC 0xffff
++
++
++
++#define EM_NONE 0
++#define EM_M32 1
++#define EM_SPARC 2
++#define EM_386 3
++#define EM_68K 4
++#define EM_88K 5
++#define EM_860 7
++#define EM_MIPS 8
++#define EM_S370 9
++#define EM_MIPS_RS3_LE 10
++
++#define EM_PARISC 15
++#define EM_VPP500 17
++#define EM_SPARC32PLUS 18
++#define EM_960 19
++#define EM_PPC 20
++#define EM_PPC64 21
++#define EM_S390 22
++
++#define EM_V800 36
++#define EM_FR20 37
++#define EM_RH32 38
++#define EM_RCE 39
++#define EM_ARM 40
++#define EM_FAKE_ALPHA 41
++#define EM_SH 42
++#define EM_SPARCV9 43
++#define EM_TRICORE 44
++#define EM_ARC 45
++#define EM_H8_300 46
++#define EM_H8_300H 47
++#define EM_H8S 48
++#define EM_H8_500 49
++#define EM_IA_64 50
++#define EM_MIPS_X 51
++#define EM_COLDFIRE 52
++#define EM_68HC12 53
++#define EM_MMA 54
++#define EM_PCP 55
++#define EM_NCPU 56
++#define EM_NDR1 57
++#define EM_STARCORE 58
++#define EM_ME16 59
++#define EM_ST100 60
++#define EM_TINYJ 61
++#define EM_X86_64 62
++#define EM_PDSP 63
++
++#define EM_FX66 66
++#define EM_ST9PLUS 67
++#define EM_ST7 68
++#define EM_68HC16 69
++#define EM_68HC11 70
++#define EM_68HC08 71
++#define EM_68HC05 72
++#define EM_SVX 73
++#define EM_ST19 74
++#define EM_VAX 75
++#define EM_CRIS 76
++#define EM_JAVELIN 77
++#define EM_FIREPATH 78
++#define EM_ZSP 79
++#define EM_MMIX 80
++#define EM_HUANY 81
++#define EM_PRISM 82
++#define EM_AVR 83
++#define EM_FR30 84
++#define EM_D10V 85
++#define EM_D30V 86
++#define EM_V850 87
++#define EM_M32R 88
++#define EM_MN10300 89
++#define EM_MN10200 90
++#define EM_PJ 91
++#define EM_OPENRISC 92
++#define EM_ARC_A5 93
++#define EM_XTENSA 94
++#define EM_AARCH64 183
++#define EM_TILEPRO 188
++#define EM_MICROBLAZE 189
++#define EM_TILEGX 191
++#define EM_NUM 192
++#define EM_ALPHA 0x9026
++
++#define EV_NONE 0
++#define EV_CURRENT 1
++#define EV_NUM 2
++
++typedef struct {
++ Elf32_Word sh_name;
++ Elf32_Word sh_type;
++ Elf32_Word sh_flags;
++ Elf32_Addr sh_addr;
++ Elf32_Off sh_offset;
++ Elf32_Word sh_size;
++ Elf32_Word sh_link;
++ Elf32_Word sh_info;
++ Elf32_Word sh_addralign;
++ Elf32_Word sh_entsize;
++} Elf32_Shdr;
++
++typedef struct {
++ Elf64_Word sh_name;
++ Elf64_Word sh_type;
++ Elf64_Xword sh_flags;
++ Elf64_Addr sh_addr;
++ Elf64_Off sh_offset;
++ Elf64_Xword sh_size;
++ Elf64_Word sh_link;
++ Elf64_Word sh_info;
++ Elf64_Xword sh_addralign;
++ Elf64_Xword sh_entsize;
++} Elf64_Shdr;
++
++
++
++#define SHN_UNDEF 0
++#define SHN_LORESERVE 0xff00
++#define SHN_LOPROC 0xff00
++#define SHN_BEFORE 0xff00
++
++#define SHN_AFTER 0xff01
++
++#define SHN_HIPROC 0xff1f
++#define SHN_LOOS 0xff20
++#define SHN_HIOS 0xff3f
++#define SHN_ABS 0xfff1
++#define SHN_COMMON 0xfff2
++#define SHN_XINDEX 0xffff
++#define SHN_HIRESERVE 0xffff
++
++
++
++#define SHT_NULL 0
++#define SHT_PROGBITS 1
++#define SHT_SYMTAB 2
++#define SHT_STRTAB 3
++#define SHT_RELA 4
++#define SHT_HASH 5
++#define SHT_DYNAMIC 6
++#define SHT_NOTE 7
++#define SHT_NOBITS 8
++#define SHT_REL 9
++#define SHT_SHLIB 10
++#define SHT_DYNSYM 11
++#define SHT_INIT_ARRAY 14
++#define SHT_FINI_ARRAY 15
++#define SHT_PREINIT_ARRAY 16
++#define SHT_GROUP 17
++#define SHT_SYMTAB_SHNDX 18
++#define SHT_NUM 19
++#define SHT_LOOS 0x60000000
++#define SHT_GNU_ATTRIBUTES 0x6ffffff5
++#define SHT_GNU_HASH 0x6ffffff6
++#define SHT_GNU_LIBLIST 0x6ffffff7
++#define SHT_CHECKSUM 0x6ffffff8
++#define SHT_LOSUNW 0x6ffffffa
++#define SHT_SUNW_move 0x6ffffffa
++#define SHT_SUNW_COMDAT 0x6ffffffb
++#define SHT_SUNW_syminfo 0x6ffffffc
++#define SHT_GNU_verdef 0x6ffffffd
++#define SHT_GNU_verneed 0x6ffffffe
++#define SHT_GNU_versym 0x6fffffff
++#define SHT_HISUNW 0x6fffffff
++#define SHT_HIOS 0x6fffffff
++#define SHT_LOPROC 0x70000000
++#define SHT_HIPROC 0x7fffffff
++#define SHT_LOUSER 0x80000000
++#define SHT_HIUSER 0x8fffffff
++
++#define SHF_WRITE (1 << 0)
++#define SHF_ALLOC (1 << 1)
++#define SHF_EXECINSTR (1 << 2)
++#define SHF_MERGE (1 << 4)
++#define SHF_STRINGS (1 << 5)
++#define SHF_INFO_LINK (1 << 6)
++#define SHF_LINK_ORDER (1 << 7)
++#define SHF_OS_NONCONFORMING (1 << 8)
++
++#define SHF_GROUP (1 << 9)
++#define SHF_TLS (1 << 10)
++#define SHF_MASKOS 0x0ff00000
++#define SHF_MASKPROC 0xf0000000
++#define SHF_ORDERED (1 << 30)
++#define SHF_EXCLUDE (1 << 31)
++
++#define GRP_COMDAT 0x1
++
++typedef struct {
++ Elf32_Word st_name;
++ Elf32_Addr st_value;
++ Elf32_Word st_size;
++ unsigned char st_info;
++ unsigned char st_other;
++ Elf32_Section st_shndx;
++} Elf32_Sym;
++
++typedef struct {
++ Elf64_Word st_name;
++ unsigned char st_info;
++ unsigned char st_other;
++ Elf64_Section st_shndx;
++ Elf64_Addr st_value;
++ Elf64_Xword st_size;
++} Elf64_Sym;
++
++typedef struct {
++ Elf32_Half si_boundto;
++ Elf32_Half si_flags;
++} Elf32_Syminfo;
++
++typedef struct {
++ Elf64_Half si_boundto;
++ Elf64_Half si_flags;
++} Elf64_Syminfo;
++
++#define SYMINFO_BT_SELF 0xffff
++#define SYMINFO_BT_PARENT 0xfffe
++#define SYMINFO_BT_LOWRESERVE 0xff00
++
++#define SYMINFO_FLG_DIRECT 0x0001
++#define SYMINFO_FLG_PASSTHRU 0x0002
++#define SYMINFO_FLG_COPY 0x0004
++#define SYMINFO_FLG_LAZYLOAD 0x0008
++
++#define SYMINFO_NONE 0
++#define SYMINFO_CURRENT 1
++#define SYMINFO_NUM 2
++
++#define ELF32_ST_BIND(val) (((unsigned char) (val)) >> 4)
++#define ELF32_ST_TYPE(val) ((val) & 0xf)
++#define ELF32_ST_INFO(bind, type) (((bind) << 4) + ((type) & 0xf))
++
++#define ELF64_ST_BIND(val) ELF32_ST_BIND (val)
++#define ELF64_ST_TYPE(val) ELF32_ST_TYPE (val)
++#define ELF64_ST_INFO(bind, type) ELF32_ST_INFO ((bind), (type))
++
++#define STB_LOCAL 0
++#define STB_GLOBAL 1
++#define STB_WEAK 2
++#define STB_NUM 3
++#define STB_LOOS 10
++#define STB_GNU_UNIQUE 10
++#define STB_HIOS 12
++#define STB_LOPROC 13
++#define STB_HIPROC 15
++
++#define STT_NOTYPE 0
++#define STT_OBJECT 1
++#define STT_FUNC 2
++#define STT_SECTION 3
++#define STT_FILE 4
++#define STT_COMMON 5
++#define STT_TLS 6
++#define STT_NUM 7
++#define STT_LOOS 10
++#define STT_GNU_IFUNC 10
++#define STT_HIOS 12
++#define STT_LOPROC 13
++#define STT_HIPROC 15
++
++#define STN_UNDEF 0
++
++#define ELF32_ST_VISIBILITY(o) ((o) & 0x03)
++#define ELF64_ST_VISIBILITY(o) ELF32_ST_VISIBILITY (o)
++
++#define STV_DEFAULT 0
++#define STV_INTERNAL 1
++#define STV_HIDDEN 2
++#define STV_PROTECTED 3
++
++
++
++
++typedef struct
++{
++ Elf32_Addr r_offset;
++ Elf32_Word r_info;
++} Elf32_Rel;
++
++typedef struct {
++ Elf64_Addr r_offset;
++ Elf64_Xword r_info;
++} Elf64_Rel;
++
++
++
++typedef struct {
++ Elf32_Addr r_offset;
++ Elf32_Word r_info;
++ Elf32_Sword r_addend;
++} Elf32_Rela;
++
++typedef struct {
++ Elf64_Addr r_offset;
++ Elf64_Xword r_info;
++ Elf64_Sxword r_addend;
++} Elf64_Rela;
++
++
++
++#define ELF32_R_SYM(val) ((val) >> 8)
++#define ELF32_R_TYPE(val) ((val) & 0xff)
++#define ELF32_R_INFO(sym, type) (((sym) << 8) + ((type) & 0xff))
++
++#define ELF64_R_SYM(i) ((i) >> 32)
++#define ELF64_R_TYPE(i) ((i) & 0xffffffff)
++#define ELF64_R_INFO(sym,type) ((((Elf64_Xword) (sym)) << 32) + (type))
++
++
++
++typedef struct {
++ Elf32_Word p_type;
++ Elf32_Off p_offset;
++ Elf32_Addr p_vaddr;
++ Elf32_Addr p_paddr;
++ Elf32_Word p_filesz;
++ Elf32_Word p_memsz;
++ Elf32_Word p_flags;
++ Elf32_Word p_align;
++} Elf32_Phdr;
++
++typedef struct {
++ Elf64_Word p_type;
++ Elf64_Word p_flags;
++ Elf64_Off p_offset;
++ Elf64_Addr p_vaddr;
++ Elf64_Addr p_paddr;
++ Elf64_Xword p_filesz;
++ Elf64_Xword p_memsz;
++ Elf64_Xword p_align;
++} Elf64_Phdr;
++
++
++
++#define PT_NULL 0
++#define PT_LOAD 1
++#define PT_DYNAMIC 2
++#define PT_INTERP 3
++#define PT_NOTE 4
++#define PT_SHLIB 5
++#define PT_PHDR 6
++#define PT_TLS 7
++#define PT_NUM 8
++#define PT_LOOS 0x60000000
++#define PT_GNU_EH_FRAME 0x6474e550
++#define PT_GNU_STACK 0x6474e551
++#define PT_GNU_RELRO 0x6474e552
++#define PT_LOSUNW 0x6ffffffa
++#define PT_SUNWBSS 0x6ffffffa
++#define PT_SUNWSTACK 0x6ffffffb
++#define PT_HISUNW 0x6fffffff
++#define PT_HIOS 0x6fffffff
++#define PT_LOPROC 0x70000000
++#define PT_HIPROC 0x7fffffff
++
++
++#define PN_XNUM 0xffff
++
++
++#define PF_X (1 << 0)
++#define PF_W (1 << 1)
++#define PF_R (1 << 2)
++#define PF_MASKOS 0x0ff00000
++#define PF_MASKPROC 0xf0000000
++
++
++
++#define NT_PRSTATUS 1
++#define NT_FPREGSET 2
++#define NT_PRPSINFO 3
++#define NT_PRXREG 4
++#define NT_TASKSTRUCT 4
++#define NT_PLATFORM 5
++#define NT_AUXV 6
++#define NT_GWINDOWS 7
++#define NT_ASRS 8
++#define NT_PSTATUS 10
++#define NT_PSINFO 13
++#define NT_PRCRED 14
++#define NT_UTSNAME 15
++#define NT_LWPSTATUS 16
++#define NT_LWPSINFO 17
++#define NT_PRFPXREG 20
++#define NT_SIGINFO 0x53494749
++#define NT_FILE 0x46494c45
++#define NT_PRXFPREG 0x46e62b7f
++#define NT_PPC_VMX 0x100
++#define NT_PPC_SPE 0x101
++#define NT_PPC_VSX 0x102
++#define NT_386_TLS 0x200
++#define NT_386_IOPERM 0x201
++#define NT_X86_XSTATE 0x202
++#define NT_S390_HIGH_GPRS 0x300
++#define NT_S390_TIMER 0x301
++#define NT_S390_TODCMP 0x302
++#define NT_S390_TODPREG 0x303
++#define NT_S390_CTRS 0x304
++#define NT_S390_PREFIX 0x305
++#define NT_S390_LAST_BREAK 0x306
++#define NT_S390_SYSTEM_CALL 0x307
++#define NT_S390_TDB 0x308
++#define NT_ARM_VFP 0x400
++#define NT_ARM_TLS 0x401
++#define NT_ARM_HW_BREAK 0x402
++#define NT_ARM_HW_WATCH 0x403
++#define NT_METAG_CBUF 0x500
++#define NT_METAG_RPIPE 0x501
++#define NT_METAG_TLS 0x502
++#define NT_VERSION 1
++
++
++
++
++typedef struct {
++ Elf32_Sword d_tag;
++ union {
++ Elf32_Word d_val;
++ Elf32_Addr d_ptr;
++ } d_un;
++} Elf32_Dyn;
++
++typedef struct {
++ Elf64_Sxword d_tag;
++ union {
++ Elf64_Xword d_val;
++ Elf64_Addr d_ptr;
++ } d_un;
++} Elf64_Dyn;
++
++
++
++#define DT_NULL 0
++#define DT_NEEDED 1
++#define DT_PLTRELSZ 2
++#define DT_PLTGOT 3
++#define DT_HASH 4
++#define DT_STRTAB 5
++#define DT_SYMTAB 6
++#define DT_RELA 7
++#define DT_RELASZ 8
++#define DT_RELAENT 9
++#define DT_STRSZ 10
++#define DT_SYMENT 11
++#define DT_INIT 12
++#define DT_FINI 13
++#define DT_SONAME 14
++#define DT_RPATH 15
++#define DT_SYMBOLIC 16
++#define DT_REL 17
++#define DT_RELSZ 18
++#define DT_RELENT 19
++#define DT_PLTREL 20
++#define DT_DEBUG 21
++#define DT_TEXTREL 22
++#define DT_JMPREL 23
++#define DT_BIND_NOW 24
++#define DT_INIT_ARRAY 25
++#define DT_FINI_ARRAY 26
++#define DT_INIT_ARRAYSZ 27
++#define DT_FINI_ARRAYSZ 28
++#define DT_RUNPATH 29
++#define DT_FLAGS 30
++#define DT_ENCODING 32
++#define DT_PREINIT_ARRAY 32
++#define DT_PREINIT_ARRAYSZ 33
++#define DT_NUM 34
++#define DT_LOOS 0x6000000d
++#define DT_HIOS 0x6ffff000
++#define DT_LOPROC 0x70000000
++#define DT_HIPROC 0x7fffffff
++#define DT_PROCNUM DT_MIPS_NUM
++
++#define DT_VALRNGLO 0x6ffffd00
++#define DT_GNU_PRELINKED 0x6ffffdf5
++#define DT_GNU_CONFLICTSZ 0x6ffffdf6
++#define DT_GNU_LIBLISTSZ 0x6ffffdf7
++#define DT_CHECKSUM 0x6ffffdf8
++#define DT_PLTPADSZ 0x6ffffdf9
++#define DT_MOVEENT 0x6ffffdfa
++#define DT_MOVESZ 0x6ffffdfb
++#define DT_FEATURE_1 0x6ffffdfc
++#define DT_POSFLAG_1 0x6ffffdfd
++
++#define DT_SYMINSZ 0x6ffffdfe
++#define DT_SYMINENT 0x6ffffdff
++#define DT_VALRNGHI 0x6ffffdff
++#define DT_VALTAGIDX(tag) (DT_VALRNGHI - (tag))
++#define DT_VALNUM 12
++
++#define DT_ADDRRNGLO 0x6ffffe00
++#define DT_GNU_HASH 0x6ffffef5
++#define DT_TLSDESC_PLT 0x6ffffef6
++#define DT_TLSDESC_GOT 0x6ffffef7
++#define DT_GNU_CONFLICT 0x6ffffef8
++#define DT_GNU_LIBLIST 0x6ffffef9
++#define DT_CONFIG 0x6ffffefa
++#define DT_DEPAUDIT 0x6ffffefb
++#define DT_AUDIT 0x6ffffefc
++#define DT_PLTPAD 0x6ffffefd
++#define DT_MOVETAB 0x6ffffefe
++#define DT_SYMINFO 0x6ffffeff
++#define DT_ADDRRNGHI 0x6ffffeff
++#define DT_ADDRTAGIDX(tag) (DT_ADDRRNGHI - (tag))
++#define DT_ADDRNUM 11
++
++
++
++#define DT_VERSYM 0x6ffffff0
++
++#define DT_RELACOUNT 0x6ffffff9
++#define DT_RELCOUNT 0x6ffffffa
++
++
++#define DT_FLAGS_1 0x6ffffffb
++#define DT_VERDEF 0x6ffffffc
++
++#define DT_VERDEFNUM 0x6ffffffd
++#define DT_VERNEED 0x6ffffffe
++
++#define DT_VERNEEDNUM 0x6fffffff
++#define DT_VERSIONTAGIDX(tag) (DT_VERNEEDNUM - (tag))
++#define DT_VERSIONTAGNUM 16
++
++
++
++#define DT_AUXILIARY 0x7ffffffd
++#define DT_FILTER 0x7fffffff
++#define DT_EXTRATAGIDX(tag) ((Elf32_Word)-((Elf32_Sword) (tag) <<1>>1)-1)
++#define DT_EXTRANUM 3
++
++
++#define DF_ORIGIN 0x00000001
++#define DF_SYMBOLIC 0x00000002
++#define DF_TEXTREL 0x00000004
++#define DF_BIND_NOW 0x00000008
++#define DF_STATIC_TLS 0x00000010
++
++
++
++#define DF_1_NOW 0x00000001
++#define DF_1_GLOBAL 0x00000002
++#define DF_1_GROUP 0x00000004
++#define DF_1_NODELETE 0x00000008
++#define DF_1_LOADFLTR 0x00000010
++#define DF_1_INITFIRST 0x00000020
++#define DF_1_NOOPEN 0x00000040
++#define DF_1_ORIGIN 0x00000080
++#define DF_1_DIRECT 0x00000100
++#define DF_1_TRANS 0x00000200
++#define DF_1_INTERPOSE 0x00000400
++#define DF_1_NODEFLIB 0x00000800
++#define DF_1_NODUMP 0x00001000
++#define DF_1_CONFALT 0x00002000
++#define DF_1_ENDFILTEE 0x00004000
++#define DF_1_DISPRELDNE 0x00008000
++#define DF_1_DISPRELPND 0x00010000
++#define DF_1_NODIRECT 0x00020000
++#define DF_1_IGNMULDEF 0x00040000
++#define DF_1_NOKSYMS 0x00080000
++#define DF_1_NOHDR 0x00100000
++#define DF_1_EDITED 0x00200000
++#define DF_1_NORELOC 0x00400000
++#define DF_1_SYMINTPOSE 0x00800000
++#define DF_1_GLOBAUDIT 0x01000000
++#define DF_1_SINGLETON 0x02000000
++
++#define DTF_1_PARINIT 0x00000001
++#define DTF_1_CONFEXP 0x00000002
++
++
++#define DF_P1_LAZYLOAD 0x00000001
++#define DF_P1_GROUPPERM 0x00000002
++
++
++
++
++typedef struct {
++ Elf32_Half vd_version;
++ Elf32_Half vd_flags;
++ Elf32_Half vd_ndx;
++ Elf32_Half vd_cnt;
++ Elf32_Word vd_hash;
++ Elf32_Word vd_aux;
++ Elf32_Word vd_next;
++} Elf32_Verdef;
++
++typedef struct {
++ Elf64_Half vd_version;
++ Elf64_Half vd_flags;
++ Elf64_Half vd_ndx;
++ Elf64_Half vd_cnt;
++ Elf64_Word vd_hash;
++ Elf64_Word vd_aux;
++ Elf64_Word vd_next;
++} Elf64_Verdef;
++
++
++
++#define VER_DEF_NONE 0
++#define VER_DEF_CURRENT 1
++#define VER_DEF_NUM 2
++
++
++#define VER_FLG_BASE 0x1
++#define VER_FLG_WEAK 0x2
++
++
++#define VER_NDX_LOCAL 0
++#define VER_NDX_GLOBAL 1
++#define VER_NDX_LORESERVE 0xff00
++#define VER_NDX_ELIMINATE 0xff01
++
++
++
++typedef struct {
++ Elf32_Word vda_name;
++ Elf32_Word vda_next;
++} Elf32_Verdaux;
++
++typedef struct {
++ Elf64_Word vda_name;
++ Elf64_Word vda_next;
++} Elf64_Verdaux;
++
++
++
++
++typedef struct {
++ Elf32_Half vn_version;
++ Elf32_Half vn_cnt;
++ Elf32_Word vn_file;
++ Elf32_Word vn_aux;
++ Elf32_Word vn_next;
++} Elf32_Verneed;
++
++typedef struct {
++ Elf64_Half vn_version;
++ Elf64_Half vn_cnt;
++ Elf64_Word vn_file;
++ Elf64_Word vn_aux;
++ Elf64_Word vn_next;
++} Elf64_Verneed;
++
++
++
++#define VER_NEED_NONE 0
++#define VER_NEED_CURRENT 1
++#define VER_NEED_NUM 2
++
++
++
++typedef struct {
++ Elf32_Word vna_hash;
++ Elf32_Half vna_flags;
++ Elf32_Half vna_other;
++ Elf32_Word vna_name;
++ Elf32_Word vna_next;
++} Elf32_Vernaux;
++
++typedef struct {
++ Elf64_Word vna_hash;
++ Elf64_Half vna_flags;
++ Elf64_Half vna_other;
++ Elf64_Word vna_name;
++ Elf64_Word vna_next;
++} Elf64_Vernaux;
++
++
++
++#define VER_FLG_WEAK 0x2
++
++
++
++typedef struct {
++ uint32_t a_type;
++ union {
++ uint32_t a_val;
++ } a_un;
++} Elf32_auxv_t;
++
++typedef struct {
++ uint64_t a_type;
++ union {
++ uint64_t a_val;
++ } a_un;
++} Elf64_auxv_t;
++
++
++
++#define AT_NULL 0
++#define AT_IGNORE 1
++#define AT_EXECFD 2
++#define AT_PHDR 3
++#define AT_PHENT 4
++#define AT_PHNUM 5
++#define AT_PAGESZ 6
++#define AT_BASE 7
++#define AT_FLAGS 8
++#define AT_ENTRY 9
++#define AT_NOTELF 10
++#define AT_UID 11
++#define AT_EUID 12
++#define AT_GID 13
++#define AT_EGID 14
++#define AT_CLKTCK 17
++
++
++#define AT_PLATFORM 15
++#define AT_HWCAP 16
++
++
++
++
++#define AT_FPUCW 18
++
++
++#define AT_DCACHEBSIZE 19
++#define AT_ICACHEBSIZE 20
++#define AT_UCACHEBSIZE 21
++
++
++
++#define AT_IGNOREPPC 22
++
++#define AT_SECURE 23
++
++#define AT_BASE_PLATFORM 24
++
++#define AT_RANDOM 25
++
++#define AT_HWCAP2 26
++
++#define AT_EXECFN 31
++
++
++
++#define AT_SYSINFO 32
++#define AT_SYSINFO_EHDR 33
++
++
++
++#define AT_L1I_CACHESHAPE 34
++#define AT_L1D_CACHESHAPE 35
++#define AT_L2_CACHESHAPE 36
++#define AT_L3_CACHESHAPE 37
++
++
++
++
++typedef struct {
++ Elf32_Word n_namesz;
++ Elf32_Word n_descsz;
++ Elf32_Word n_type;
++} Elf32_Nhdr;
++
++typedef struct {
++ Elf64_Word n_namesz;
++ Elf64_Word n_descsz;
++ Elf64_Word n_type;
++} Elf64_Nhdr;
++
++
++
++
++#define ELF_NOTE_SOLARIS "SUNW Solaris"
++
++
++#define ELF_NOTE_GNU "GNU"
++
++
++
++
++
++#define ELF_NOTE_PAGESIZE_HINT 1
++
++
++#define NT_GNU_ABI_TAG 1
++#define ELF_NOTE_ABI NT_GNU_ABI_TAG
++
++
++
++#define ELF_NOTE_OS_LINUX 0
++#define ELF_NOTE_OS_GNU 1
++#define ELF_NOTE_OS_SOLARIS2 2
++#define ELF_NOTE_OS_FREEBSD 3
++
++#define NT_GNU_BUILD_ID 3
++#define NT_GNU_GOLD_VERSION 4
++
++
++
++typedef struct {
++ Elf32_Xword m_value;
++ Elf32_Word m_info;
++ Elf32_Word m_poffset;
++ Elf32_Half m_repeat;
++ Elf32_Half m_stride;
++} Elf32_Move;
++
++typedef struct {
++ Elf64_Xword m_value;
++ Elf64_Xword m_info;
++ Elf64_Xword m_poffset;
++ Elf64_Half m_repeat;
++ Elf64_Half m_stride;
++} Elf64_Move;
++
++
++#define ELF32_M_SYM(info) ((info) >> 8)
++#define ELF32_M_SIZE(info) ((unsigned char) (info))
++#define ELF32_M_INFO(sym, size) (((sym) << 8) + (unsigned char) (size))
++
++#define ELF64_M_SYM(info) ELF32_M_SYM (info)
++#define ELF64_M_SIZE(info) ELF32_M_SIZE (info)
++#define ELF64_M_INFO(sym, size) ELF32_M_INFO (sym, size)
++
++#define EF_CPU32 0x00810000
++
++#define R_68K_NONE 0
++#define R_68K_32 1
++#define R_68K_16 2
++#define R_68K_8 3
++#define R_68K_PC32 4
++#define R_68K_PC16 5
++#define R_68K_PC8 6
++#define R_68K_GOT32 7
++#define R_68K_GOT16 8
++#define R_68K_GOT8 9
++#define R_68K_GOT32O 10
++#define R_68K_GOT16O 11
++#define R_68K_GOT8O 12
++#define R_68K_PLT32 13
++#define R_68K_PLT16 14
++#define R_68K_PLT8 15
++#define R_68K_PLT32O 16
++#define R_68K_PLT16O 17
++#define R_68K_PLT8O 18
++#define R_68K_COPY 19
++#define R_68K_GLOB_DAT 20
++#define R_68K_JMP_SLOT 21
++#define R_68K_RELATIVE 22
++#define R_68K_NUM 23
++
++#define R_386_NONE 0
++#define R_386_32 1
++#define R_386_PC32 2
++#define R_386_GOT32 3
++#define R_386_PLT32 4
++#define R_386_COPY 5
++#define R_386_GLOB_DAT 6
++#define R_386_JMP_SLOT 7
++#define R_386_RELATIVE 8
++#define R_386_GOTOFF 9
++#define R_386_GOTPC 10
++#define R_386_32PLT 11
++#define R_386_TLS_TPOFF 14
++#define R_386_TLS_IE 15
++#define R_386_TLS_GOTIE 16
++#define R_386_TLS_LE 17
++#define R_386_TLS_GD 18
++#define R_386_TLS_LDM 19
++#define R_386_16 20
++#define R_386_PC16 21
++#define R_386_8 22
++#define R_386_PC8 23
++#define R_386_TLS_GD_32 24
++#define R_386_TLS_GD_PUSH 25
++#define R_386_TLS_GD_CALL 26
++#define R_386_TLS_GD_POP 27
++#define R_386_TLS_LDM_32 28
++#define R_386_TLS_LDM_PUSH 29
++#define R_386_TLS_LDM_CALL 30
++#define R_386_TLS_LDM_POP 31
++#define R_386_TLS_LDO_32 32
++#define R_386_TLS_IE_32 33
++#define R_386_TLS_LE_32 34
++#define R_386_TLS_DTPMOD32 35
++#define R_386_TLS_DTPOFF32 36
++#define R_386_TLS_TPOFF32 37
++#define R_386_SIZE32 38
++#define R_386_TLS_GOTDESC 39
++#define R_386_TLS_DESC_CALL 40
++#define R_386_TLS_DESC 41
++#define R_386_IRELATIVE 42
++#define R_386_NUM 43
++
++
++
++
++
++#define STT_SPARC_REGISTER 13
++
++
++
++#define EF_SPARCV9_MM 3
++#define EF_SPARCV9_TSO 0
++#define EF_SPARCV9_PSO 1
++#define EF_SPARCV9_RMO 2
++#define EF_SPARC_LEDATA 0x800000
++#define EF_SPARC_EXT_MASK 0xFFFF00
++#define EF_SPARC_32PLUS 0x000100
++#define EF_SPARC_SUN_US1 0x000200
++#define EF_SPARC_HAL_R1 0x000400
++#define EF_SPARC_SUN_US3 0x000800
++
++
++
++#define R_SPARC_NONE 0
++#define R_SPARC_8 1
++#define R_SPARC_16 2
++#define R_SPARC_32 3
++#define R_SPARC_DISP8 4
++#define R_SPARC_DISP16 5
++#define R_SPARC_DISP32 6
++#define R_SPARC_WDISP30 7
++#define R_SPARC_WDISP22 8
++#define R_SPARC_HI22 9
++#define R_SPARC_22 10
++#define R_SPARC_13 11
++#define R_SPARC_LO10 12
++#define R_SPARC_GOT10 13
++#define R_SPARC_GOT13 14
++#define R_SPARC_GOT22 15
++#define R_SPARC_PC10 16
++#define R_SPARC_PC22 17
++#define R_SPARC_WPLT30 18
++#define R_SPARC_COPY 19
++#define R_SPARC_GLOB_DAT 20
++#define R_SPARC_JMP_SLOT 21
++#define R_SPARC_RELATIVE 22
++#define R_SPARC_UA32 23
++
++
++
++#define R_SPARC_PLT32 24
++#define R_SPARC_HIPLT22 25
++#define R_SPARC_LOPLT10 26
++#define R_SPARC_PCPLT32 27
++#define R_SPARC_PCPLT22 28
++#define R_SPARC_PCPLT10 29
++#define R_SPARC_10 30
++#define R_SPARC_11 31
++#define R_SPARC_64 32
++#define R_SPARC_OLO10 33
++#define R_SPARC_HH22 34
++#define R_SPARC_HM10 35
++#define R_SPARC_LM22 36
++#define R_SPARC_PC_HH22 37
++#define R_SPARC_PC_HM10 38
++#define R_SPARC_PC_LM22 39
++#define R_SPARC_WDISP16 40
++#define R_SPARC_WDISP19 41
++#define R_SPARC_GLOB_JMP 42
++#define R_SPARC_7 43
++#define R_SPARC_5 44
++#define R_SPARC_6 45
++#define R_SPARC_DISP64 46
++#define R_SPARC_PLT64 47
++#define R_SPARC_HIX22 48
++#define R_SPARC_LOX10 49
++#define R_SPARC_H44 50
++#define R_SPARC_M44 51
++#define R_SPARC_L44 52
++#define R_SPARC_REGISTER 53
++#define R_SPARC_UA64 54
++#define R_SPARC_UA16 55
++#define R_SPARC_TLS_GD_HI22 56
++#define R_SPARC_TLS_GD_LO10 57
++#define R_SPARC_TLS_GD_ADD 58
++#define R_SPARC_TLS_GD_CALL 59
++#define R_SPARC_TLS_LDM_HI22 60
++#define R_SPARC_TLS_LDM_LO10 61
++#define R_SPARC_TLS_LDM_ADD 62
++#define R_SPARC_TLS_LDM_CALL 63
++#define R_SPARC_TLS_LDO_HIX22 64
++#define R_SPARC_TLS_LDO_LOX10 65
++#define R_SPARC_TLS_LDO_ADD 66
++#define R_SPARC_TLS_IE_HI22 67
++#define R_SPARC_TLS_IE_LO10 68
++#define R_SPARC_TLS_IE_LD 69
++#define R_SPARC_TLS_IE_LDX 70
++#define R_SPARC_TLS_IE_ADD 71
++#define R_SPARC_TLS_LE_HIX22 72
++#define R_SPARC_TLS_LE_LOX10 73
++#define R_SPARC_TLS_DTPMOD32 74
++#define R_SPARC_TLS_DTPMOD64 75
++#define R_SPARC_TLS_DTPOFF32 76
++#define R_SPARC_TLS_DTPOFF64 77
++#define R_SPARC_TLS_TPOFF32 78
++#define R_SPARC_TLS_TPOFF64 79
++#define R_SPARC_GOTDATA_HIX22 80
++#define R_SPARC_GOTDATA_LOX10 81
++#define R_SPARC_GOTDATA_OP_HIX22 82
++#define R_SPARC_GOTDATA_OP_LOX10 83
++#define R_SPARC_GOTDATA_OP 84
++#define R_SPARC_H34 85
++#define R_SPARC_SIZE32 86
++#define R_SPARC_SIZE64 87
++#define R_SPARC_GNU_VTINHERIT 250
++#define R_SPARC_GNU_VTENTRY 251
++#define R_SPARC_REV32 252
++
++#define R_SPARC_NUM 253
++
++
++
++#define DT_SPARC_REGISTER 0x70000001
++#define DT_SPARC_NUM 2
++
++
++#define EF_MIPS_NOREORDER 1
++#define EF_MIPS_PIC 2
++#define EF_MIPS_CPIC 4
++#define EF_MIPS_XGOT 8
++#define EF_MIPS_64BIT_WHIRL 16
++#define EF_MIPS_ABI2 32
++#define EF_MIPS_ABI_ON32 64
++#define EF_MIPS_ARCH 0xf0000000
++
++
++
++#define EF_MIPS_ARCH_1 0x00000000
++#define EF_MIPS_ARCH_2 0x10000000
++#define EF_MIPS_ARCH_3 0x20000000
++#define EF_MIPS_ARCH_4 0x30000000
++#define EF_MIPS_ARCH_5 0x40000000
++#define EF_MIPS_ARCH_32 0x50000000
++#define EF_MIPS_ARCH_64 0x60000000
++#define EF_MIPS_ARCH_32R2 0x70000000
++#define EF_MIPS_ARCH_64R2 0x80000000
++
++
++#define E_MIPS_ARCH_1 0x00000000
++#define E_MIPS_ARCH_2 0x10000000
++#define E_MIPS_ARCH_3 0x20000000
++#define E_MIPS_ARCH_4 0x30000000
++#define E_MIPS_ARCH_5 0x40000000
++#define E_MIPS_ARCH_32 0x50000000
++#define E_MIPS_ARCH_64 0x60000000
++
++
++
++#define SHN_MIPS_ACOMMON 0xff00
++#define SHN_MIPS_TEXT 0xff01
++#define SHN_MIPS_DATA 0xff02
++#define SHN_MIPS_SCOMMON 0xff03
++#define SHN_MIPS_SUNDEFINED 0xff04
++
++
++
++#define SHT_MIPS_LIBLIST 0x70000000
++#define SHT_MIPS_MSYM 0x70000001
++#define SHT_MIPS_CONFLICT 0x70000002
++#define SHT_MIPS_GPTAB 0x70000003
++#define SHT_MIPS_UCODE 0x70000004
++#define SHT_MIPS_DEBUG 0x70000005
++#define SHT_MIPS_REGINFO 0x70000006
++#define SHT_MIPS_PACKAGE 0x70000007
++#define SHT_MIPS_PACKSYM 0x70000008
++#define SHT_MIPS_RELD 0x70000009
++#define SHT_MIPS_IFACE 0x7000000b
++#define SHT_MIPS_CONTENT 0x7000000c
++#define SHT_MIPS_OPTIONS 0x7000000d
++#define SHT_MIPS_SHDR 0x70000010
++#define SHT_MIPS_FDESC 0x70000011
++#define SHT_MIPS_EXTSYM 0x70000012
++#define SHT_MIPS_DENSE 0x70000013
++#define SHT_MIPS_PDESC 0x70000014
++#define SHT_MIPS_LOCSYM 0x70000015
++#define SHT_MIPS_AUXSYM 0x70000016
++#define SHT_MIPS_OPTSYM 0x70000017
++#define SHT_MIPS_LOCSTR 0x70000018
++#define SHT_MIPS_LINE 0x70000019
++#define SHT_MIPS_RFDESC 0x7000001a
++#define SHT_MIPS_DELTASYM 0x7000001b
++#define SHT_MIPS_DELTAINST 0x7000001c
++#define SHT_MIPS_DELTACLASS 0x7000001d
++#define SHT_MIPS_DWARF 0x7000001e
++#define SHT_MIPS_DELTADECL 0x7000001f
++#define SHT_MIPS_SYMBOL_LIB 0x70000020
++#define SHT_MIPS_EVENTS 0x70000021
++#define SHT_MIPS_TRANSLATE 0x70000022
++#define SHT_MIPS_PIXIE 0x70000023
++#define SHT_MIPS_XLATE 0x70000024
++#define SHT_MIPS_XLATE_DEBUG 0x70000025
++#define SHT_MIPS_WHIRL 0x70000026
++#define SHT_MIPS_EH_REGION 0x70000027
++#define SHT_MIPS_XLATE_OLD 0x70000028
++#define SHT_MIPS_PDR_EXCEPTION 0x70000029
++
++
++
++#define SHF_MIPS_GPREL 0x10000000
++#define SHF_MIPS_MERGE 0x20000000
++#define SHF_MIPS_ADDR 0x40000000
++#define SHF_MIPS_STRINGS 0x80000000
++#define SHF_MIPS_NOSTRIP 0x08000000
++#define SHF_MIPS_LOCAL 0x04000000
++#define SHF_MIPS_NAMES 0x02000000
++#define SHF_MIPS_NODUPE 0x01000000
++
++
++
++
++
++#define STO_MIPS_DEFAULT 0x0
++#define STO_MIPS_INTERNAL 0x1
++#define STO_MIPS_HIDDEN 0x2
++#define STO_MIPS_PROTECTED 0x3
++#define STO_MIPS_PLT 0x8
++#define STO_MIPS_SC_ALIGN_UNUSED 0xff
++
++
++#define STB_MIPS_SPLIT_COMMON 13
++
++
++
++typedef union {
++ struct {
++ Elf32_Word gt_current_g_value;
++ Elf32_Word gt_unused;
++ } gt_header;
++ struct {
++ Elf32_Word gt_g_value;
++ Elf32_Word gt_bytes;
++ } gt_entry;
++} Elf32_gptab;
++
++
++
++typedef struct {
++ Elf32_Word ri_gprmask;
++ Elf32_Word ri_cprmask[4];
++ Elf32_Sword ri_gp_value;
++} Elf32_RegInfo;
++
++
++
++typedef struct {
++ unsigned char kind;
++
++ unsigned char size;
++ Elf32_Section section;
++
++ Elf32_Word info;
++} Elf_Options;
++
++
++
++#define ODK_NULL 0
++#define ODK_REGINFO 1
++#define ODK_EXCEPTIONS 2
++#define ODK_PAD 3
++#define ODK_HWPATCH 4
++#define ODK_FILL 5
++#define ODK_TAGS 6
++#define ODK_HWAND 7
++#define ODK_HWOR 8
++
++
++
++#define OEX_FPU_MIN 0x1f
++#define OEX_FPU_MAX 0x1f00
++#define OEX_PAGE0 0x10000
++#define OEX_SMM 0x20000
++#define OEX_FPDBUG 0x40000
++#define OEX_PRECISEFP OEX_FPDBUG
++#define OEX_DISMISS 0x80000
++
++#define OEX_FPU_INVAL 0x10
++#define OEX_FPU_DIV0 0x08
++#define OEX_FPU_OFLO 0x04
++#define OEX_FPU_UFLO 0x02
++#define OEX_FPU_INEX 0x01
++
++
++
++#define OHW_R4KEOP 0x1
++#define OHW_R8KPFETCH 0x2
++#define OHW_R5KEOP 0x4
++#define OHW_R5KCVTL 0x8
++
++#define OPAD_PREFIX 0x1
++#define OPAD_POSTFIX 0x2
++#define OPAD_SYMBOL 0x4
++
++
++
++typedef struct {
++ Elf32_Word hwp_flags1;
++ Elf32_Word hwp_flags2;
++} Elf_Options_Hw;
++
++
++
++#define OHWA0_R4KEOP_CHECKED 0x00000001
++#define OHWA1_R4KEOP_CLEAN 0x00000002
++
++
++
++#define R_MIPS_NONE 0
++#define R_MIPS_16 1
++#define R_MIPS_32 2
++#define R_MIPS_REL32 3
++#define R_MIPS_26 4
++#define R_MIPS_HI16 5
++#define R_MIPS_LO16 6
++#define R_MIPS_GPREL16 7
++#define R_MIPS_LITERAL 8
++#define R_MIPS_GOT16 9
++#define R_MIPS_PC16 10
++#define R_MIPS_CALL16 11
++#define R_MIPS_GPREL32 12
++
++#define R_MIPS_SHIFT5 16
++#define R_MIPS_SHIFT6 17
++#define R_MIPS_64 18
++#define R_MIPS_GOT_DISP 19
++#define R_MIPS_GOT_PAGE 20
++#define R_MIPS_GOT_OFST 21
++#define R_MIPS_GOT_HI16 22
++#define R_MIPS_GOT_LO16 23
++#define R_MIPS_SUB 24
++#define R_MIPS_INSERT_A 25
++#define R_MIPS_INSERT_B 26
++#define R_MIPS_DELETE 27
++#define R_MIPS_HIGHER 28
++#define R_MIPS_HIGHEST 29
++#define R_MIPS_CALL_HI16 30
++#define R_MIPS_CALL_LO16 31
++#define R_MIPS_SCN_DISP 32
++#define R_MIPS_REL16 33
++#define R_MIPS_ADD_IMMEDIATE 34
++#define R_MIPS_PJUMP 35
++#define R_MIPS_RELGOT 36
++#define R_MIPS_JALR 37
++#define R_MIPS_TLS_DTPMOD32 38
++#define R_MIPS_TLS_DTPREL32 39
++#define R_MIPS_TLS_DTPMOD64 40
++#define R_MIPS_TLS_DTPREL64 41
++#define R_MIPS_TLS_GD 42
++#define R_MIPS_TLS_LDM 43
++#define R_MIPS_TLS_DTPREL_HI16 44
++#define R_MIPS_TLS_DTPREL_LO16 45
++#define R_MIPS_TLS_GOTTPREL 46
++#define R_MIPS_TLS_TPREL32 47
++#define R_MIPS_TLS_TPREL64 48
++#define R_MIPS_TLS_TPREL_HI16 49
++#define R_MIPS_TLS_TPREL_LO16 50
++#define R_MIPS_GLOB_DAT 51
++#define R_MIPS_COPY 126
++#define R_MIPS_JUMP_SLOT 127
++
++#define R_MIPS_NUM 128
++
++
++
++#define PT_MIPS_REGINFO 0x70000000
++#define PT_MIPS_RTPROC 0x70000001
++#define PT_MIPS_OPTIONS 0x70000002
++
++
++
++#define PF_MIPS_LOCAL 0x10000000
++
++
++
++#define DT_MIPS_RLD_VERSION 0x70000001
++#define DT_MIPS_TIME_STAMP 0x70000002
++#define DT_MIPS_ICHECKSUM 0x70000003
++#define DT_MIPS_IVERSION 0x70000004
++#define DT_MIPS_FLAGS 0x70000005
++#define DT_MIPS_BASE_ADDRESS 0x70000006
++#define DT_MIPS_MSYM 0x70000007
++#define DT_MIPS_CONFLICT 0x70000008
++#define DT_MIPS_LIBLIST 0x70000009
++#define DT_MIPS_LOCAL_GOTNO 0x7000000a
++#define DT_MIPS_CONFLICTNO 0x7000000b
++#define DT_MIPS_LIBLISTNO 0x70000010
++#define DT_MIPS_SYMTABNO 0x70000011
++#define DT_MIPS_UNREFEXTNO 0x70000012
++#define DT_MIPS_GOTSYM 0x70000013
++#define DT_MIPS_HIPAGENO 0x70000014
++#define DT_MIPS_RLD_MAP 0x70000016
++#define DT_MIPS_DELTA_CLASS 0x70000017
++#define DT_MIPS_DELTA_CLASS_NO 0x70000018
++
++#define DT_MIPS_DELTA_INSTANCE 0x70000019
++#define DT_MIPS_DELTA_INSTANCE_NO 0x7000001a
++
++#define DT_MIPS_DELTA_RELOC 0x7000001b
++#define DT_MIPS_DELTA_RELOC_NO 0x7000001c
++
++#define DT_MIPS_DELTA_SYM 0x7000001d
++
++#define DT_MIPS_DELTA_SYM_NO 0x7000001e
++
++#define DT_MIPS_DELTA_CLASSSYM 0x70000020
++
++#define DT_MIPS_DELTA_CLASSSYM_NO 0x70000021
++
++#define DT_MIPS_CXX_FLAGS 0x70000022
++#define DT_MIPS_PIXIE_INIT 0x70000023
++#define DT_MIPS_SYMBOL_LIB 0x70000024
++#define DT_MIPS_LOCALPAGE_GOTIDX 0x70000025
++#define DT_MIPS_LOCAL_GOTIDX 0x70000026
++#define DT_MIPS_HIDDEN_GOTIDX 0x70000027
++#define DT_MIPS_PROTECTED_GOTIDX 0x70000028
++#define DT_MIPS_OPTIONS 0x70000029
++#define DT_MIPS_INTERFACE 0x7000002a
++#define DT_MIPS_DYNSTR_ALIGN 0x7000002b
++#define DT_MIPS_INTERFACE_SIZE 0x7000002c
++#define DT_MIPS_RLD_TEXT_RESOLVE_ADDR 0x7000002d
++
++#define DT_MIPS_PERF_SUFFIX 0x7000002e
++
++#define DT_MIPS_COMPACT_SIZE 0x7000002f
++#define DT_MIPS_GP_VALUE 0x70000030
++#define DT_MIPS_AUX_DYNAMIC 0x70000031
++
++#define DT_MIPS_PLTGOT 0x70000032
++
++#define DT_MIPS_RWPLT 0x70000034
++#define DT_MIPS_NUM 0x35
++
++
++
++#define RHF_NONE 0
++#define RHF_QUICKSTART (1 << 0)
++#define RHF_NOTPOT (1 << 1)
++#define RHF_NO_LIBRARY_REPLACEMENT (1 << 2)
++#define RHF_NO_MOVE (1 << 3)
++#define RHF_SGI_ONLY (1 << 4)
++#define RHF_GUARANTEE_INIT (1 << 5)
++#define RHF_DELTA_C_PLUS_PLUS (1 << 6)
++#define RHF_GUARANTEE_START_INIT (1 << 7)
++#define RHF_PIXIE (1 << 8)
++#define RHF_DEFAULT_DELAY_LOAD (1 << 9)
++#define RHF_REQUICKSTART (1 << 10)
++#define RHF_REQUICKSTARTED (1 << 11)
++#define RHF_CORD (1 << 12)
++#define RHF_NO_UNRES_UNDEF (1 << 13)
++#define RHF_RLD_ORDER_SAFE (1 << 14)
++
++
++
++typedef struct
++{
++ Elf32_Word l_name;
++ Elf32_Word l_time_stamp;
++ Elf32_Word l_checksum;
++ Elf32_Word l_version;
++ Elf32_Word l_flags;
++} Elf32_Lib;
++
++typedef struct
++{
++ Elf64_Word l_name;
++ Elf64_Word l_time_stamp;
++ Elf64_Word l_checksum;
++ Elf64_Word l_version;
++ Elf64_Word l_flags;
++} Elf64_Lib;
++
++
++
++
++#define LL_NONE 0
++#define LL_EXACT_MATCH (1 << 0)
++#define LL_IGNORE_INT_VER (1 << 1)
++#define LL_REQUIRE_MINOR (1 << 2)
++#define LL_EXPORTS (1 << 3)
++#define LL_DELAY_LOAD (1 << 4)
++#define LL_DELTA (1 << 5)
++
++
++
++typedef Elf32_Addr Elf32_Conflict;
++
++
++
++
++
++
++#define EF_PARISC_TRAPNIL 0x00010000
++#define EF_PARISC_EXT 0x00020000
++#define EF_PARISC_LSB 0x00040000
++#define EF_PARISC_WIDE 0x00080000
++#define EF_PARISC_NO_KABP 0x00100000
++
++#define EF_PARISC_LAZYSWAP 0x00400000
++#define EF_PARISC_ARCH 0x0000ffff
++
++
++
++#define EFA_PARISC_1_0 0x020b
++#define EFA_PARISC_1_1 0x0210
++#define EFA_PARISC_2_0 0x0214
++
++
++
++#define SHN_PARISC_ANSI_COMMON 0xff00
++
++#define SHN_PARISC_HUGE_COMMON 0xff01
++
++
++
++#define SHT_PARISC_EXT 0x70000000
++#define SHT_PARISC_UNWIND 0x70000001
++#define SHT_PARISC_DOC 0x70000002
++
++
++
++#define SHF_PARISC_SHORT 0x20000000
++#define SHF_PARISC_HUGE 0x40000000
++#define SHF_PARISC_SBP 0x80000000
++
++
++
++#define STT_PARISC_MILLICODE 13
++
++#define STT_HP_OPAQUE (STT_LOOS + 0x1)
++#define STT_HP_STUB (STT_LOOS + 0x2)
++
++
++
++#define R_PARISC_NONE 0
++#define R_PARISC_DIR32 1
++#define R_PARISC_DIR21L 2
++#define R_PARISC_DIR17R 3
++#define R_PARISC_DIR17F 4
++#define R_PARISC_DIR14R 6
++#define R_PARISC_PCREL32 9
++#define R_PARISC_PCREL21L 10
++#define R_PARISC_PCREL17R 11
++#define R_PARISC_PCREL17F 12
++#define R_PARISC_PCREL14R 14
++#define R_PARISC_DPREL21L 18
++#define R_PARISC_DPREL14R 22
++#define R_PARISC_GPREL21L 26
++#define R_PARISC_GPREL14R 30
++#define R_PARISC_LTOFF21L 34
++#define R_PARISC_LTOFF14R 38
++#define R_PARISC_SECREL32 41
++#define R_PARISC_SEGBASE 48
++#define R_PARISC_SEGREL32 49
++#define R_PARISC_PLTOFF21L 50
++#define R_PARISC_PLTOFF14R 54
++#define R_PARISC_LTOFF_FPTR32 57
++#define R_PARISC_LTOFF_FPTR21L 58
++#define R_PARISC_LTOFF_FPTR14R 62
++#define R_PARISC_FPTR64 64
++#define R_PARISC_PLABEL32 65
++#define R_PARISC_PLABEL21L 66
++#define R_PARISC_PLABEL14R 70
++#define R_PARISC_PCREL64 72
++#define R_PARISC_PCREL22F 74
++#define R_PARISC_PCREL14WR 75
++#define R_PARISC_PCREL14DR 76
++#define R_PARISC_PCREL16F 77
++#define R_PARISC_PCREL16WF 78
++#define R_PARISC_PCREL16DF 79
++#define R_PARISC_DIR64 80
++#define R_PARISC_DIR14WR 83
++#define R_PARISC_DIR14DR 84
++#define R_PARISC_DIR16F 85
++#define R_PARISC_DIR16WF 86
++#define R_PARISC_DIR16DF 87
++#define R_PARISC_GPREL64 88
++#define R_PARISC_GPREL14WR 91
++#define R_PARISC_GPREL14DR 92
++#define R_PARISC_GPREL16F 93
++#define R_PARISC_GPREL16WF 94
++#define R_PARISC_GPREL16DF 95
++#define R_PARISC_LTOFF64 96
++#define R_PARISC_LTOFF14WR 99
++#define R_PARISC_LTOFF14DR 100
++#define R_PARISC_LTOFF16F 101
++#define R_PARISC_LTOFF16WF 102
++#define R_PARISC_LTOFF16DF 103
++#define R_PARISC_SECREL64 104
++#define R_PARISC_SEGREL64 112
++#define R_PARISC_PLTOFF14WR 115
++#define R_PARISC_PLTOFF14DR 116
++#define R_PARISC_PLTOFF16F 117
++#define R_PARISC_PLTOFF16WF 118
++#define R_PARISC_PLTOFF16DF 119
++#define R_PARISC_LTOFF_FPTR64 120
++#define R_PARISC_LTOFF_FPTR14WR 123
++#define R_PARISC_LTOFF_FPTR14DR 124
++#define R_PARISC_LTOFF_FPTR16F 125
++#define R_PARISC_LTOFF_FPTR16WF 126
++#define R_PARISC_LTOFF_FPTR16DF 127
++#define R_PARISC_LORESERVE 128
++#define R_PARISC_COPY 128
++#define R_PARISC_IPLT 129
++#define R_PARISC_EPLT 130
++#define R_PARISC_TPREL32 153
++#define R_PARISC_TPREL21L 154
++#define R_PARISC_TPREL14R 158
++#define R_PARISC_LTOFF_TP21L 162
++#define R_PARISC_LTOFF_TP14R 166
++#define R_PARISC_LTOFF_TP14F 167
++#define R_PARISC_TPREL64 216
++#define R_PARISC_TPREL14WR 219
++#define R_PARISC_TPREL14DR 220
++#define R_PARISC_TPREL16F 221
++#define R_PARISC_TPREL16WF 222
++#define R_PARISC_TPREL16DF 223
++#define R_PARISC_LTOFF_TP64 224
++#define R_PARISC_LTOFF_TP14WR 227
++#define R_PARISC_LTOFF_TP14DR 228
++#define R_PARISC_LTOFF_TP16F 229
++#define R_PARISC_LTOFF_TP16WF 230
++#define R_PARISC_LTOFF_TP16DF 231
++#define R_PARISC_GNU_VTENTRY 232
++#define R_PARISC_GNU_VTINHERIT 233
++#define R_PARISC_TLS_GD21L 234
++#define R_PARISC_TLS_GD14R 235
++#define R_PARISC_TLS_GDCALL 236
++#define R_PARISC_TLS_LDM21L 237
++#define R_PARISC_TLS_LDM14R 238
++#define R_PARISC_TLS_LDMCALL 239
++#define R_PARISC_TLS_LDO21L 240
++#define R_PARISC_TLS_LDO14R 241
++#define R_PARISC_TLS_DTPMOD32 242
++#define R_PARISC_TLS_DTPMOD64 243
++#define R_PARISC_TLS_DTPOFF32 244
++#define R_PARISC_TLS_DTPOFF64 245
++#define R_PARISC_TLS_LE21L R_PARISC_TPREL21L
++#define R_PARISC_TLS_LE14R R_PARISC_TPREL14R
++#define R_PARISC_TLS_IE21L R_PARISC_LTOFF_TP21L
++#define R_PARISC_TLS_IE14R R_PARISC_LTOFF_TP14R
++#define R_PARISC_TLS_TPREL32 R_PARISC_TPREL32
++#define R_PARISC_TLS_TPREL64 R_PARISC_TPREL64
++#define R_PARISC_HIRESERVE 255
++
++
++
++#define PT_HP_TLS (PT_LOOS + 0x0)
++#define PT_HP_CORE_NONE (PT_LOOS + 0x1)
++#define PT_HP_CORE_VERSION (PT_LOOS + 0x2)
++#define PT_HP_CORE_KERNEL (PT_LOOS + 0x3)
++#define PT_HP_CORE_COMM (PT_LOOS + 0x4)
++#define PT_HP_CORE_PROC (PT_LOOS + 0x5)
++#define PT_HP_CORE_LOADABLE (PT_LOOS + 0x6)
++#define PT_HP_CORE_STACK (PT_LOOS + 0x7)
++#define PT_HP_CORE_SHM (PT_LOOS + 0x8)
++#define PT_HP_CORE_MMF (PT_LOOS + 0x9)
++#define PT_HP_PARALLEL (PT_LOOS + 0x10)
++#define PT_HP_FASTBIND (PT_LOOS + 0x11)
++#define PT_HP_OPT_ANNOT (PT_LOOS + 0x12)
++#define PT_HP_HSL_ANNOT (PT_LOOS + 0x13)
++#define PT_HP_STACK (PT_LOOS + 0x14)
++
++#define PT_PARISC_ARCHEXT 0x70000000
++#define PT_PARISC_UNWIND 0x70000001
++
++
++
++#define PF_PARISC_SBP 0x08000000
++
++#define PF_HP_PAGE_SIZE 0x00100000
++#define PF_HP_FAR_SHARED 0x00200000
++#define PF_HP_NEAR_SHARED 0x00400000
++#define PF_HP_CODE 0x01000000
++#define PF_HP_MODIFY 0x02000000
++#define PF_HP_LAZYSWAP 0x04000000
++#define PF_HP_SBP 0x08000000
++
++
++
++
++
++
++#define EF_ALPHA_32BIT 1
++#define EF_ALPHA_CANRELAX 2
++
++
++
++
++#define SHT_ALPHA_DEBUG 0x70000001
++#define SHT_ALPHA_REGINFO 0x70000002
++
++
++
++#define SHF_ALPHA_GPREL 0x10000000
++
++
++#define STO_ALPHA_NOPV 0x80
++#define STO_ALPHA_STD_GPLOAD 0x88
++
++
++
++#define R_ALPHA_NONE 0
++#define R_ALPHA_REFLONG 1
++#define R_ALPHA_REFQUAD 2
++#define R_ALPHA_GPREL32 3
++#define R_ALPHA_LITERAL 4
++#define R_ALPHA_LITUSE 5
++#define R_ALPHA_GPDISP 6
++#define R_ALPHA_BRADDR 7
++#define R_ALPHA_HINT 8
++#define R_ALPHA_SREL16 9
++#define R_ALPHA_SREL32 10
++#define R_ALPHA_SREL64 11
++#define R_ALPHA_GPRELHIGH 17
++#define R_ALPHA_GPRELLOW 18
++#define R_ALPHA_GPREL16 19
++#define R_ALPHA_COPY 24
++#define R_ALPHA_GLOB_DAT 25
++#define R_ALPHA_JMP_SLOT 26
++#define R_ALPHA_RELATIVE 27
++#define R_ALPHA_TLS_GD_HI 28
++#define R_ALPHA_TLSGD 29
++#define R_ALPHA_TLS_LDM 30
++#define R_ALPHA_DTPMOD64 31
++#define R_ALPHA_GOTDTPREL 32
++#define R_ALPHA_DTPREL64 33
++#define R_ALPHA_DTPRELHI 34
++#define R_ALPHA_DTPRELLO 35
++#define R_ALPHA_DTPREL16 36
++#define R_ALPHA_GOTTPREL 37
++#define R_ALPHA_TPREL64 38
++#define R_ALPHA_TPRELHI 39
++#define R_ALPHA_TPRELLO 40
++#define R_ALPHA_TPREL16 41
++
++#define R_ALPHA_NUM 46
++
++
++#define LITUSE_ALPHA_ADDR 0
++#define LITUSE_ALPHA_BASE 1
++#define LITUSE_ALPHA_BYTOFF 2
++#define LITUSE_ALPHA_JSR 3
++#define LITUSE_ALPHA_TLS_GD 4
++#define LITUSE_ALPHA_TLS_LDM 5
++
++
++#define DT_ALPHA_PLTRO (DT_LOPROC + 0)
++#define DT_ALPHA_NUM 1
++
++
++
++
++#define EF_PPC_EMB 0x80000000
++
++
++#define EF_PPC_RELOCATABLE 0x00010000
++#define EF_PPC_RELOCATABLE_LIB 0x00008000
++
++
++
++#define R_PPC_NONE 0
++#define R_PPC_ADDR32 1
++#define R_PPC_ADDR24 2
++#define R_PPC_ADDR16 3
++#define R_PPC_ADDR16_LO 4
++#define R_PPC_ADDR16_HI 5
++#define R_PPC_ADDR16_HA 6
++#define R_PPC_ADDR14 7
++#define R_PPC_ADDR14_BRTAKEN 8
++#define R_PPC_ADDR14_BRNTAKEN 9
++#define R_PPC_REL24 10
++#define R_PPC_REL14 11
++#define R_PPC_REL14_BRTAKEN 12
++#define R_PPC_REL14_BRNTAKEN 13
++#define R_PPC_GOT16 14
++#define R_PPC_GOT16_LO 15
++#define R_PPC_GOT16_HI 16
++#define R_PPC_GOT16_HA 17
++#define R_PPC_PLTREL24 18
++#define R_PPC_COPY 19
++#define R_PPC_GLOB_DAT 20
++#define R_PPC_JMP_SLOT 21
++#define R_PPC_RELATIVE 22
++#define R_PPC_LOCAL24PC 23
++#define R_PPC_UADDR32 24
++#define R_PPC_UADDR16 25
++#define R_PPC_REL32 26
++#define R_PPC_PLT32 27
++#define R_PPC_PLTREL32 28
++#define R_PPC_PLT16_LO 29
++#define R_PPC_PLT16_HI 30
++#define R_PPC_PLT16_HA 31
++#define R_PPC_SDAREL16 32
++#define R_PPC_SECTOFF 33
++#define R_PPC_SECTOFF_LO 34
++#define R_PPC_SECTOFF_HI 35
++#define R_PPC_SECTOFF_HA 36
++
++
++#define R_PPC_TLS 67
++#define R_PPC_DTPMOD32 68
++#define R_PPC_TPREL16 69
++#define R_PPC_TPREL16_LO 70
++#define R_PPC_TPREL16_HI 71
++#define R_PPC_TPREL16_HA 72
++#define R_PPC_TPREL32 73
++#define R_PPC_DTPREL16 74
++#define R_PPC_DTPREL16_LO 75
++#define R_PPC_DTPREL16_HI 76
++#define R_PPC_DTPREL16_HA 77
++#define R_PPC_DTPREL32 78
++#define R_PPC_GOT_TLSGD16 79
++#define R_PPC_GOT_TLSGD16_LO 80
++#define R_PPC_GOT_TLSGD16_HI 81
++#define R_PPC_GOT_TLSGD16_HA 82
++#define R_PPC_GOT_TLSLD16 83
++#define R_PPC_GOT_TLSLD16_LO 84
++#define R_PPC_GOT_TLSLD16_HI 85
++#define R_PPC_GOT_TLSLD16_HA 86
++#define R_PPC_GOT_TPREL16 87
++#define R_PPC_GOT_TPREL16_LO 88
++#define R_PPC_GOT_TPREL16_HI 89
++#define R_PPC_GOT_TPREL16_HA 90
++#define R_PPC_GOT_DTPREL16 91
++#define R_PPC_GOT_DTPREL16_LO 92
++#define R_PPC_GOT_DTPREL16_HI 93
++#define R_PPC_GOT_DTPREL16_HA 94
++
++
++
++#define R_PPC_EMB_NADDR32 101
++#define R_PPC_EMB_NADDR16 102
++#define R_PPC_EMB_NADDR16_LO 103
++#define R_PPC_EMB_NADDR16_HI 104
++#define R_PPC_EMB_NADDR16_HA 105
++#define R_PPC_EMB_SDAI16 106
++#define R_PPC_EMB_SDA2I16 107
++#define R_PPC_EMB_SDA2REL 108
++#define R_PPC_EMB_SDA21 109
++#define R_PPC_EMB_MRKREF 110
++#define R_PPC_EMB_RELSEC16 111
++#define R_PPC_EMB_RELST_LO 112
++#define R_PPC_EMB_RELST_HI 113
++#define R_PPC_EMB_RELST_HA 114
++#define R_PPC_EMB_BIT_FLD 115
++#define R_PPC_EMB_RELSDA 116
++
++
++#define R_PPC_DIAB_SDA21_LO 180
++#define R_PPC_DIAB_SDA21_HI 181
++#define R_PPC_DIAB_SDA21_HA 182
++#define R_PPC_DIAB_RELSDA_LO 183
++#define R_PPC_DIAB_RELSDA_HI 184
++#define R_PPC_DIAB_RELSDA_HA 185
++
++
++#define R_PPC_IRELATIVE 248
++
++
++#define R_PPC_REL16 249
++#define R_PPC_REL16_LO 250
++#define R_PPC_REL16_HI 251
++#define R_PPC_REL16_HA 252
++
++
++
++#define R_PPC_TOC16 255
++
++
++#define DT_PPC_GOT (DT_LOPROC + 0)
++#define DT_PPC_NUM 1
++
++
++#define R_PPC64_NONE R_PPC_NONE
++#define R_PPC64_ADDR32 R_PPC_ADDR32
++#define R_PPC64_ADDR24 R_PPC_ADDR24
++#define R_PPC64_ADDR16 R_PPC_ADDR16
++#define R_PPC64_ADDR16_LO R_PPC_ADDR16_LO
++#define R_PPC64_ADDR16_HI R_PPC_ADDR16_HI
++#define R_PPC64_ADDR16_HA R_PPC_ADDR16_HA
++#define R_PPC64_ADDR14 R_PPC_ADDR14
++#define R_PPC64_ADDR14_BRTAKEN R_PPC_ADDR14_BRTAKEN
++#define R_PPC64_ADDR14_BRNTAKEN R_PPC_ADDR14_BRNTAKEN
++#define R_PPC64_REL24 R_PPC_REL24
++#define R_PPC64_REL14 R_PPC_REL14
++#define R_PPC64_REL14_BRTAKEN R_PPC_REL14_BRTAKEN
++#define R_PPC64_REL14_BRNTAKEN R_PPC_REL14_BRNTAKEN
++#define R_PPC64_GOT16 R_PPC_GOT16
++#define R_PPC64_GOT16_LO R_PPC_GOT16_LO
++#define R_PPC64_GOT16_HI R_PPC_GOT16_HI
++#define R_PPC64_GOT16_HA R_PPC_GOT16_HA
++
++#define R_PPC64_COPY R_PPC_COPY
++#define R_PPC64_GLOB_DAT R_PPC_GLOB_DAT
++#define R_PPC64_JMP_SLOT R_PPC_JMP_SLOT
++#define R_PPC64_RELATIVE R_PPC_RELATIVE
++
++#define R_PPC64_UADDR32 R_PPC_UADDR32
++#define R_PPC64_UADDR16 R_PPC_UADDR16
++#define R_PPC64_REL32 R_PPC_REL32
++#define R_PPC64_PLT32 R_PPC_PLT32
++#define R_PPC64_PLTREL32 R_PPC_PLTREL32
++#define R_PPC64_PLT16_LO R_PPC_PLT16_LO
++#define R_PPC64_PLT16_HI R_PPC_PLT16_HI
++#define R_PPC64_PLT16_HA R_PPC_PLT16_HA
++
++#define R_PPC64_SECTOFF R_PPC_SECTOFF
++#define R_PPC64_SECTOFF_LO R_PPC_SECTOFF_LO
++#define R_PPC64_SECTOFF_HI R_PPC_SECTOFF_HI
++#define R_PPC64_SECTOFF_HA R_PPC_SECTOFF_HA
++#define R_PPC64_ADDR30 37
++#define R_PPC64_ADDR64 38
++#define R_PPC64_ADDR16_HIGHER 39
++#define R_PPC64_ADDR16_HIGHERA 40
++#define R_PPC64_ADDR16_HIGHEST 41
++#define R_PPC64_ADDR16_HIGHESTA 42
++#define R_PPC64_UADDR64 43
++#define R_PPC64_REL64 44
++#define R_PPC64_PLT64 45
++#define R_PPC64_PLTREL64 46
++#define R_PPC64_TOC16 47
++#define R_PPC64_TOC16_LO 48
++#define R_PPC64_TOC16_HI 49
++#define R_PPC64_TOC16_HA 50
++#define R_PPC64_TOC 51
++#define R_PPC64_PLTGOT16 52
++#define R_PPC64_PLTGOT16_LO 53
++#define R_PPC64_PLTGOT16_HI 54
++#define R_PPC64_PLTGOT16_HA 55
++
++#define R_PPC64_ADDR16_DS 56
++#define R_PPC64_ADDR16_LO_DS 57
++#define R_PPC64_GOT16_DS 58
++#define R_PPC64_GOT16_LO_DS 59
++#define R_PPC64_PLT16_LO_DS 60
++#define R_PPC64_SECTOFF_DS 61
++#define R_PPC64_SECTOFF_LO_DS 62
++#define R_PPC64_TOC16_DS 63
++#define R_PPC64_TOC16_LO_DS 64
++#define R_PPC64_PLTGOT16_DS 65
++#define R_PPC64_PLTGOT16_LO_DS 66
++
++
++#define R_PPC64_TLS 67
++#define R_PPC64_DTPMOD64 68
++#define R_PPC64_TPREL16 69
++#define R_PPC64_TPREL16_LO 70
++#define R_PPC64_TPREL16_HI 71
++#define R_PPC64_TPREL16_HA 72
++#define R_PPC64_TPREL64 73
++#define R_PPC64_DTPREL16 74
++#define R_PPC64_DTPREL16_LO 75
++#define R_PPC64_DTPREL16_HI 76
++#define R_PPC64_DTPREL16_HA 77
++#define R_PPC64_DTPREL64 78
++#define R_PPC64_GOT_TLSGD16 79
++#define R_PPC64_GOT_TLSGD16_LO 80
++#define R_PPC64_GOT_TLSGD16_HI 81
++#define R_PPC64_GOT_TLSGD16_HA 82
++#define R_PPC64_GOT_TLSLD16 83
++#define R_PPC64_GOT_TLSLD16_LO 84
++#define R_PPC64_GOT_TLSLD16_HI 85
++#define R_PPC64_GOT_TLSLD16_HA 86
++#define R_PPC64_GOT_TPREL16_DS 87
++#define R_PPC64_GOT_TPREL16_LO_DS 88
++#define R_PPC64_GOT_TPREL16_HI 89
++#define R_PPC64_GOT_TPREL16_HA 90
++#define R_PPC64_GOT_DTPREL16_DS 91
++#define R_PPC64_GOT_DTPREL16_LO_DS 92
++#define R_PPC64_GOT_DTPREL16_HI 93
++#define R_PPC64_GOT_DTPREL16_HA 94
++#define R_PPC64_TPREL16_DS 95
++#define R_PPC64_TPREL16_LO_DS 96
++#define R_PPC64_TPREL16_HIGHER 97
++#define R_PPC64_TPREL16_HIGHERA 98
++#define R_PPC64_TPREL16_HIGHEST 99
++#define R_PPC64_TPREL16_HIGHESTA 100
++#define R_PPC64_DTPREL16_DS 101
++#define R_PPC64_DTPREL16_LO_DS 102
++#define R_PPC64_DTPREL16_HIGHER 103
++#define R_PPC64_DTPREL16_HIGHERA 104
++#define R_PPC64_DTPREL16_HIGHEST 105
++#define R_PPC64_DTPREL16_HIGHESTA 106
++
++
++#define R_PPC64_JMP_IREL 247
++#define R_PPC64_IRELATIVE 248
++#define R_PPC64_REL16 249
++#define R_PPC64_REL16_LO 250
++#define R_PPC64_REL16_HI 251
++#define R_PPC64_REL16_HA 252
++
++
++#define DT_PPC64_GLINK (DT_LOPROC + 0)
++#define DT_PPC64_OPD (DT_LOPROC + 1)
++#define DT_PPC64_OPDSZ (DT_LOPROC + 2)
++#define DT_PPC64_NUM 3
++
++
++
++
++
++#define EF_ARM_RELEXEC 0x01
++#define EF_ARM_HASENTRY 0x02
++#define EF_ARM_INTERWORK 0x04
++#define EF_ARM_APCS_26 0x08
++#define EF_ARM_APCS_FLOAT 0x10
++#define EF_ARM_PIC 0x20
++#define EF_ARM_ALIGN8 0x40
++#define EF_ARM_NEW_ABI 0x80
++#define EF_ARM_OLD_ABI 0x100
++#define EF_ARM_SOFT_FLOAT 0x200
++#define EF_ARM_VFP_FLOAT 0x400
++#define EF_ARM_MAVERICK_FLOAT 0x800
++
++#define EF_ARM_ABI_FLOAT_SOFT 0x200
++#define EF_ARM_ABI_FLOAT_HARD 0x400
++
++
++#define EF_ARM_SYMSARESORTED 0x04
++#define EF_ARM_DYNSYMSUSESEGIDX 0x08
++#define EF_ARM_MAPSYMSFIRST 0x10
++#define EF_ARM_EABIMASK 0XFF000000
++
++
++#define EF_ARM_BE8 0x00800000
++#define EF_ARM_LE8 0x00400000
++
++#define EF_ARM_EABI_VERSION(flags) ((flags) & EF_ARM_EABIMASK)
++#define EF_ARM_EABI_UNKNOWN 0x00000000
++#define EF_ARM_EABI_VER1 0x01000000
++#define EF_ARM_EABI_VER2 0x02000000
++#define EF_ARM_EABI_VER3 0x03000000
++#define EF_ARM_EABI_VER4 0x04000000
++#define EF_ARM_EABI_VER5 0x05000000
++
++
++#define STT_ARM_TFUNC STT_LOPROC
++#define STT_ARM_16BIT STT_HIPROC
++
++
++#define SHF_ARM_ENTRYSECT 0x10000000
++#define SHF_ARM_COMDEF 0x80000000
++
++
++
++#define PF_ARM_SB 0x10000000
++
++#define PF_ARM_PI 0x20000000
++#define PF_ARM_ABS 0x40000000
++
++
++#define PT_ARM_EXIDX (PT_LOPROC + 1)
++
++
++#define SHT_ARM_EXIDX (SHT_LOPROC + 1)
++#define SHT_ARM_PREEMPTMAP (SHT_LOPROC + 2)
++#define SHT_ARM_ATTRIBUTES (SHT_LOPROC + 3)
++
++
++#define R_AARCH64_NONE 0
++#define R_AARCH64_ABS64 257
++#define R_AARCH64_ABS32 258
++#define R_AARCH64_COPY 1024
++#define R_AARCH64_GLOB_DAT 1025
++#define R_AARCH64_JUMP_SLOT 1026
++#define R_AARCH64_RELATIVE 1027
++#define R_AARCH64_TLS_DTPMOD64 1028
++#define R_AARCH64_TLS_DTPREL64 1029
++#define R_AARCH64_TLS_TPREL64 1030
++#define R_AARCH64_TLSDESC 1031
++
++
++#define R_ARM_NONE 0
++#define R_ARM_PC24 1
++#define R_ARM_ABS32 2
++#define R_ARM_REL32 3
++#define R_ARM_PC13 4
++#define R_ARM_ABS16 5
++#define R_ARM_ABS12 6
++#define R_ARM_THM_ABS5 7
++#define R_ARM_ABS8 8
++#define R_ARM_SBREL32 9
++#define R_ARM_THM_PC22 10
++#define R_ARM_THM_PC8 11
++#define R_ARM_AMP_VCALL9 12
++#define R_ARM_TLS_DESC 13
++#define R_ARM_THM_SWI8 14
++#define R_ARM_XPC25 15
++#define R_ARM_THM_XPC22 16
++#define R_ARM_TLS_DTPMOD32 17
++#define R_ARM_TLS_DTPOFF32 18
++#define R_ARM_TLS_TPOFF32 19
++#define R_ARM_COPY 20
++#define R_ARM_GLOB_DAT 21
++#define R_ARM_JUMP_SLOT 22
++#define R_ARM_RELATIVE 23
++#define R_ARM_GOTOFF 24
++#define R_ARM_GOTPC 25
++#define R_ARM_GOT32 26
++#define R_ARM_PLT32 27
++#define R_ARM_CALL 28
++#define R_ARM_JUMP24 29
++#define R_ARM_THM_JUMP24 30
++#define R_ARM_BASE_ABS 31
++#define R_ARM_ALU_PCREL_7_0 32
++#define R_ARM_ALU_PCREL_15_8 33
++#define R_ARM_ALU_PCREL_23_15 34
++#define R_ARM_LDR_SBREL_11_0 35
++#define R_ARM_ALU_SBREL_19_12 36
++#define R_ARM_ALU_SBREL_27_20 37
++#define R_ARM_TARGET1 38
++#define R_ARM_SBREL31 39
++#define R_ARM_V4BX 40
++#define R_ARM_TARGET2 41
++#define R_ARM_PREL31 42
++#define R_ARM_MOVW_ABS_NC 43
++#define R_ARM_MOVT_ABS 44
++#define R_ARM_MOVW_PREL_NC 45
++#define R_ARM_MOVT_PREL 46
++#define R_ARM_THM_MOVW_ABS_NC 47
++#define R_ARM_THM_MOVT_ABS 48
++#define R_ARM_THM_MOVW_PREL_NC 49
++#define R_ARM_THM_MOVT_PREL 50
++#define R_ARM_THM_JUMP19 51
++#define R_ARM_THM_JUMP6 52
++#define R_ARM_THM_ALU_PREL_11_0 53
++#define R_ARM_THM_PC12 54
++#define R_ARM_ABS32_NOI 55
++#define R_ARM_REL32_NOI 56
++#define R_ARM_ALU_PC_G0_NC 57
++#define R_ARM_ALU_PC_G0 58
++#define R_ARM_ALU_PC_G1_NC 59
++#define R_ARM_ALU_PC_G1 60
++#define R_ARM_ALU_PC_G2 61
++#define R_ARM_LDR_PC_G1 62
++#define R_ARM_LDR_PC_G2 63
++#define R_ARM_LDRS_PC_G0 64
++#define R_ARM_LDRS_PC_G1 65
++#define R_ARM_LDRS_PC_G2 66
++#define R_ARM_LDC_PC_G0 67
++#define R_ARM_LDC_PC_G1 68
++#define R_ARM_LDC_PC_G2 69
++#define R_ARM_ALU_SB_G0_NC 70
++#define R_ARM_ALU_SB_G0 71
++#define R_ARM_ALU_SB_G1_NC 72
++#define R_ARM_ALU_SB_G1 73
++#define R_ARM_ALU_SB_G2 74
++#define R_ARM_LDR_SB_G0 75
++#define R_ARM_LDR_SB_G1 76
++#define R_ARM_LDR_SB_G2 77
++#define R_ARM_LDRS_SB_G0 78
++#define R_ARM_LDRS_SB_G1 79
++#define R_ARM_LDRS_SB_G2 80
++#define R_ARM_LDC_SB_G0 81
++#define R_ARM_LDC_SB_G1 82
++#define R_ARM_LDC_SB_G2 83
++#define R_ARM_MOVW_BREL_NC 84
++#define R_ARM_MOVT_BREL 85
++#define R_ARM_MOVW_BREL 86
++#define R_ARM_THM_MOVW_BREL_NC 87
++#define R_ARM_THM_MOVT_BREL 88
++#define R_ARM_THM_MOVW_BREL 89
++#define R_ARM_TLS_GOTDESC 90
++#define R_ARM_TLS_CALL 91
++#define R_ARM_TLS_DESCSEQ 92
++#define R_ARM_THM_TLS_CALL 93
++#define R_ARM_PLT32_ABS 94
++#define R_ARM_GOT_ABS 95
++#define R_ARM_GOT_PREL 96
++#define R_ARM_GOT_BREL12 97
++#define R_ARM_GOTOFF12 98
++#define R_ARM_GOTRELAX 99
++#define R_ARM_GNU_VTENTRY 100
++#define R_ARM_GNU_VTINHERIT 101
++#define R_ARM_THM_PC11 102
++#define R_ARM_THM_PC9 103
++#define R_ARM_TLS_GD32 104
++
++#define R_ARM_TLS_LDM32 105
++
++#define R_ARM_TLS_LDO32 106
++
++#define R_ARM_TLS_IE32 107
++
++#define R_ARM_TLS_LE32 108
++#define R_ARM_TLS_LDO12 109
++#define R_ARM_TLS_LE12 110
++#define R_ARM_TLS_IE12GP 111
++#define R_ARM_ME_TOO 128
++#define R_ARM_THM_TLS_DESCSEQ 129
++#define R_ARM_THM_TLS_DESCSEQ16 129
++#define R_ARM_THM_TLS_DESCSEQ32 130
++#define R_ARM_THM_GOT_BREL12 131
++#define R_ARM_IRELATIVE 160
++#define R_ARM_RXPC25 249
++#define R_ARM_RSBREL32 250
++#define R_ARM_THM_RPC22 251
++#define R_ARM_RREL32 252
++#define R_ARM_RABS22 253
++#define R_ARM_RPC24 254
++#define R_ARM_RBASE 255
++
++#define R_ARM_NUM 256
++
++
++
++
++#define EF_IA_64_MASKOS 0x0000000f
++#define EF_IA_64_ABI64 0x00000010
++#define EF_IA_64_ARCH 0xff000000
++
++
++#define PT_IA_64_ARCHEXT (PT_LOPROC + 0)
++#define PT_IA_64_UNWIND (PT_LOPROC + 1)
++#define PT_IA_64_HP_OPT_ANOT (PT_LOOS + 0x12)
++#define PT_IA_64_HP_HSL_ANOT (PT_LOOS + 0x13)
++#define PT_IA_64_HP_STACK (PT_LOOS + 0x14)
++
++
++#define PF_IA_64_NORECOV 0x80000000
++
++
++#define SHT_IA_64_EXT (SHT_LOPROC + 0)
++#define SHT_IA_64_UNWIND (SHT_LOPROC + 1)
++
++
++#define SHF_IA_64_SHORT 0x10000000
++#define SHF_IA_64_NORECOV 0x20000000
++
++
++#define DT_IA_64_PLT_RESERVE (DT_LOPROC + 0)
++#define DT_IA_64_NUM 1
++
++
++#define R_IA64_NONE 0x00
++#define R_IA64_IMM14 0x21
++#define R_IA64_IMM22 0x22
++#define R_IA64_IMM64 0x23
++#define R_IA64_DIR32MSB 0x24
++#define R_IA64_DIR32LSB 0x25
++#define R_IA64_DIR64MSB 0x26
++#define R_IA64_DIR64LSB 0x27
++#define R_IA64_GPREL22 0x2a
++#define R_IA64_GPREL64I 0x2b
++#define R_IA64_GPREL32MSB 0x2c
++#define R_IA64_GPREL32LSB 0x2d
++#define R_IA64_GPREL64MSB 0x2e
++#define R_IA64_GPREL64LSB 0x2f
++#define R_IA64_LTOFF22 0x32
++#define R_IA64_LTOFF64I 0x33
++#define R_IA64_PLTOFF22 0x3a
++#define R_IA64_PLTOFF64I 0x3b
++#define R_IA64_PLTOFF64MSB 0x3e
++#define R_IA64_PLTOFF64LSB 0x3f
++#define R_IA64_FPTR64I 0x43
++#define R_IA64_FPTR32MSB 0x44
++#define R_IA64_FPTR32LSB 0x45
++#define R_IA64_FPTR64MSB 0x46
++#define R_IA64_FPTR64LSB 0x47
++#define R_IA64_PCREL60B 0x48
++#define R_IA64_PCREL21B 0x49
++#define R_IA64_PCREL21M 0x4a
++#define R_IA64_PCREL21F 0x4b
++#define R_IA64_PCREL32MSB 0x4c
++#define R_IA64_PCREL32LSB 0x4d
++#define R_IA64_PCREL64MSB 0x4e
++#define R_IA64_PCREL64LSB 0x4f
++#define R_IA64_LTOFF_FPTR22 0x52
++#define R_IA64_LTOFF_FPTR64I 0x53
++#define R_IA64_LTOFF_FPTR32MSB 0x54
++#define R_IA64_LTOFF_FPTR32LSB 0x55
++#define R_IA64_LTOFF_FPTR64MSB 0x56
++#define R_IA64_LTOFF_FPTR64LSB 0x57
++#define R_IA64_SEGREL32MSB 0x5c
++#define R_IA64_SEGREL32LSB 0x5d
++#define R_IA64_SEGREL64MSB 0x5e
++#define R_IA64_SEGREL64LSB 0x5f
++#define R_IA64_SECREL32MSB 0x64
++#define R_IA64_SECREL32LSB 0x65
++#define R_IA64_SECREL64MSB 0x66
++#define R_IA64_SECREL64LSB 0x67
++#define R_IA64_REL32MSB 0x6c
++#define R_IA64_REL32LSB 0x6d
++#define R_IA64_REL64MSB 0x6e
++#define R_IA64_REL64LSB 0x6f
++#define R_IA64_LTV32MSB 0x74
++#define R_IA64_LTV32LSB 0x75
++#define R_IA64_LTV64MSB 0x76
++#define R_IA64_LTV64LSB 0x77
++#define R_IA64_PCREL21BI 0x79
++#define R_IA64_PCREL22 0x7a
++#define R_IA64_PCREL64I 0x7b
++#define R_IA64_IPLTMSB 0x80
++#define R_IA64_IPLTLSB 0x81
++#define R_IA64_COPY 0x84
++#define R_IA64_SUB 0x85
++#define R_IA64_LTOFF22X 0x86
++#define R_IA64_LDXMOV 0x87
++#define R_IA64_TPREL14 0x91
++#define R_IA64_TPREL22 0x92
++#define R_IA64_TPREL64I 0x93
++#define R_IA64_TPREL64MSB 0x96
++#define R_IA64_TPREL64LSB 0x97
++#define R_IA64_LTOFF_TPREL22 0x9a
++#define R_IA64_DTPMOD64MSB 0xa6
++#define R_IA64_DTPMOD64LSB 0xa7
++#define R_IA64_LTOFF_DTPMOD22 0xaa
++#define R_IA64_DTPREL14 0xb1
++#define R_IA64_DTPREL22 0xb2
++#define R_IA64_DTPREL64I 0xb3
++#define R_IA64_DTPREL32MSB 0xb4
++#define R_IA64_DTPREL32LSB 0xb5
++#define R_IA64_DTPREL64MSB 0xb6
++#define R_IA64_DTPREL64LSB 0xb7
++#define R_IA64_LTOFF_DTPREL22 0xba
++
++
++
++
++#define R_SH_NONE 0
++#define R_SH_DIR32 1
++#define R_SH_REL32 2
++#define R_SH_DIR8WPN 3
++#define R_SH_IND12W 4
++#define R_SH_DIR8WPL 5
++#define R_SH_DIR8WPZ 6
++#define R_SH_DIR8BP 7
++#define R_SH_DIR8W 8
++#define R_SH_DIR8L 9
++#define R_SH_SWITCH16 25
++#define R_SH_SWITCH32 26
++#define R_SH_USES 27
++#define R_SH_COUNT 28
++#define R_SH_ALIGN 29
++#define R_SH_CODE 30
++#define R_SH_DATA 31
++#define R_SH_LABEL 32
++#define R_SH_SWITCH8 33
++#define R_SH_GNU_VTINHERIT 34
++#define R_SH_GNU_VTENTRY 35
++#define R_SH_TLS_GD_32 144
++#define R_SH_TLS_LD_32 145
++#define R_SH_TLS_LDO_32 146
++#define R_SH_TLS_IE_32 147
++#define R_SH_TLS_LE_32 148
++#define R_SH_TLS_DTPMOD32 149
++#define R_SH_TLS_DTPOFF32 150
++#define R_SH_TLS_TPOFF32 151
++#define R_SH_GOT32 160
++#define R_SH_PLT32 161
++#define R_SH_COPY 162
++#define R_SH_GLOB_DAT 163
++#define R_SH_JMP_SLOT 164
++#define R_SH_RELATIVE 165
++#define R_SH_GOTOFF 166
++#define R_SH_GOTPC 167
++
++#define R_SH_NUM 256
++
++
++
++#define R_390_NONE 0
++#define R_390_8 1
++#define R_390_12 2
++#define R_390_16 3
++#define R_390_32 4
++#define R_390_PC32 5
++#define R_390_GOT12 6
++#define R_390_GOT32 7
++#define R_390_PLT32 8
++#define R_390_COPY 9
++#define R_390_GLOB_DAT 10
++#define R_390_JMP_SLOT 11
++#define R_390_RELATIVE 12
++#define R_390_GOTOFF32 13
++#define R_390_GOTPC 14
++#define R_390_GOT16 15
++#define R_390_PC16 16
++#define R_390_PC16DBL 17
++#define R_390_PLT16DBL 18
++#define R_390_PC32DBL 19
++#define R_390_PLT32DBL 20
++#define R_390_GOTPCDBL 21
++#define R_390_64 22
++#define R_390_PC64 23
++#define R_390_GOT64 24
++#define R_390_PLT64 25
++#define R_390_GOTENT 26
++#define R_390_GOTOFF16 27
++#define R_390_GOTOFF64 28
++#define R_390_GOTPLT12 29
++#define R_390_GOTPLT16 30
++#define R_390_GOTPLT32 31
++#define R_390_GOTPLT64 32
++#define R_390_GOTPLTENT 33
++#define R_390_PLTOFF16 34
++#define R_390_PLTOFF32 35
++#define R_390_PLTOFF64 36
++#define R_390_TLS_LOAD 37
++#define R_390_TLS_GDCALL 38
++
++#define R_390_TLS_LDCALL 39
++
++#define R_390_TLS_GD32 40
++
++#define R_390_TLS_GD64 41
++
++#define R_390_TLS_GOTIE12 42
++
++#define R_390_TLS_GOTIE32 43
++
++#define R_390_TLS_GOTIE64 44
++
++#define R_390_TLS_LDM32 45
++
++#define R_390_TLS_LDM64 46
++
++#define R_390_TLS_IE32 47
++
++#define R_390_TLS_IE64 48
++
++#define R_390_TLS_IEENT 49
++
++#define R_390_TLS_LE32 50
++
++#define R_390_TLS_LE64 51
++
++#define R_390_TLS_LDO32 52
++
++#define R_390_TLS_LDO64 53
++
++#define R_390_TLS_DTPMOD 54
++#define R_390_TLS_DTPOFF 55
++#define R_390_TLS_TPOFF 56
++
++#define R_390_20 57
++#define R_390_GOT20 58
++#define R_390_GOTPLT20 59
++#define R_390_TLS_GOTIE20 60
++
++
++#define R_390_NUM 61
++
++
++
++#define R_CRIS_NONE 0
++#define R_CRIS_8 1
++#define R_CRIS_16 2
++#define R_CRIS_32 3
++#define R_CRIS_8_PCREL 4
++#define R_CRIS_16_PCREL 5
++#define R_CRIS_32_PCREL 6
++#define R_CRIS_GNU_VTINHERIT 7
++#define R_CRIS_GNU_VTENTRY 8
++#define R_CRIS_COPY 9
++#define R_CRIS_GLOB_DAT 10
++#define R_CRIS_JUMP_SLOT 11
++#define R_CRIS_RELATIVE 12
++#define R_CRIS_16_GOT 13
++#define R_CRIS_32_GOT 14
++#define R_CRIS_16_GOTPLT 15
++#define R_CRIS_32_GOTPLT 16
++#define R_CRIS_32_GOTREL 17
++#define R_CRIS_32_PLT_GOTREL 18
++#define R_CRIS_32_PLT_PCREL 19
++
++#define R_CRIS_NUM 20
++
++
++
++#define R_X86_64_NONE 0
++#define R_X86_64_64 1
++#define R_X86_64_PC32 2
++#define R_X86_64_GOT32 3
++#define R_X86_64_PLT32 4
++#define R_X86_64_COPY 5
++#define R_X86_64_GLOB_DAT 6
++#define R_X86_64_JUMP_SLOT 7
++#define R_X86_64_RELATIVE 8
++#define R_X86_64_GOTPCREL 9
++
++#define R_X86_64_32 10
++#define R_X86_64_32S 11
++#define R_X86_64_16 12
++#define R_X86_64_PC16 13
++#define R_X86_64_8 14
++#define R_X86_64_PC8 15
++#define R_X86_64_DTPMOD64 16
++#define R_X86_64_DTPOFF64 17
++#define R_X86_64_TPOFF64 18
++#define R_X86_64_TLSGD 19
++
++#define R_X86_64_TLSLD 20
++
++#define R_X86_64_DTPOFF32 21
++#define R_X86_64_GOTTPOFF 22
++
++#define R_X86_64_TPOFF32 23
++#define R_X86_64_PC64 24
++#define R_X86_64_GOTOFF64 25
++#define R_X86_64_GOTPC32 26
++#define R_X86_64_GOT64 27
++#define R_X86_64_GOTPCREL64 28
++#define R_X86_64_GOTPC64 29
++#define R_X86_64_GOTPLT64 30
++#define R_X86_64_PLTOFF64 31
++#define R_X86_64_SIZE32 32
++#define R_X86_64_SIZE64 33
++
++#define R_X86_64_GOTPC32_TLSDESC 34
++#define R_X86_64_TLSDESC_CALL 35
++
++#define R_X86_64_TLSDESC 36
++#define R_X86_64_IRELATIVE 37
++#define R_X86_64_RELATIVE64 38
++#define R_X86_64_NUM 39
++
++
++
++#define R_MN10300_NONE 0
++#define R_MN10300_32 1
++#define R_MN10300_16 2
++#define R_MN10300_8 3
++#define R_MN10300_PCREL32 4
++#define R_MN10300_PCREL16 5
++#define R_MN10300_PCREL8 6
++#define R_MN10300_GNU_VTINHERIT 7
++#define R_MN10300_GNU_VTENTRY 8
++#define R_MN10300_24 9
++#define R_MN10300_GOTPC32 10
++#define R_MN10300_GOTPC16 11
++#define R_MN10300_GOTOFF32 12
++#define R_MN10300_GOTOFF24 13
++#define R_MN10300_GOTOFF16 14
++#define R_MN10300_PLT32 15
++#define R_MN10300_PLT16 16
++#define R_MN10300_GOT32 17
++#define R_MN10300_GOT24 18
++#define R_MN10300_GOT16 19
++#define R_MN10300_COPY 20
++#define R_MN10300_GLOB_DAT 21
++#define R_MN10300_JMP_SLOT 22
++#define R_MN10300_RELATIVE 23
++
++#define R_MN10300_NUM 24
++
++
++
++#define R_M32R_NONE 0
++#define R_M32R_16 1
++#define R_M32R_32 2
++#define R_M32R_24 3
++#define R_M32R_10_PCREL 4
++#define R_M32R_18_PCREL 5
++#define R_M32R_26_PCREL 6
++#define R_M32R_HI16_ULO 7
++#define R_M32R_HI16_SLO 8
++#define R_M32R_LO16 9
++#define R_M32R_SDA16 10
++#define R_M32R_GNU_VTINHERIT 11
++#define R_M32R_GNU_VTENTRY 12
++
++#define R_M32R_16_RELA 33
++#define R_M32R_32_RELA 34
++#define R_M32R_24_RELA 35
++#define R_M32R_10_PCREL_RELA 36
++#define R_M32R_18_PCREL_RELA 37
++#define R_M32R_26_PCREL_RELA 38
++#define R_M32R_HI16_ULO_RELA 39
++#define R_M32R_HI16_SLO_RELA 40
++#define R_M32R_LO16_RELA 41
++#define R_M32R_SDA16_RELA 42
++#define R_M32R_RELA_GNU_VTINHERIT 43
++#define R_M32R_RELA_GNU_VTENTRY 44
++#define R_M32R_REL32 45
++
++#define R_M32R_GOT24 48
++#define R_M32R_26_PLTREL 49
++#define R_M32R_COPY 50
++#define R_M32R_GLOB_DAT 51
++#define R_M32R_JMP_SLOT 52
++#define R_M32R_RELATIVE 53
++#define R_M32R_GOTOFF 54
++#define R_M32R_GOTPC24 55
++#define R_M32R_GOT16_HI_ULO 56
++
++#define R_M32R_GOT16_HI_SLO 57
++
++#define R_M32R_GOT16_LO 58
++#define R_M32R_GOTPC_HI_ULO 59
++
++#define R_M32R_GOTPC_HI_SLO 60
++
++#define R_M32R_GOTPC_LO 61
++
++#define R_M32R_GOTOFF_HI_ULO 62
++
++#define R_M32R_GOTOFF_HI_SLO 63
++
++#define R_M32R_GOTOFF_LO 64
++#define R_M32R_NUM 256
++
++#define R_MICROBLAZE_NONE 0
++#define R_MICROBLAZE_32 1
++#define R_MICROBLAZE_32_PCREL 2
++#define R_MICROBLAZE_64_PCREL 3
++#define R_MICROBLAZE_32_PCREL_LO 4
++#define R_MICROBLAZE_64 5
++#define R_MICROBLAZE_32_LO 6
++#define R_MICROBLAZE_SRO32 7
++#define R_MICROBLAZE_SRW32 8
++#define R_MICROBLAZE_64_NONE 9
++#define R_MICROBLAZE_32_SYM_OP_SYM 10
++#define R_MICROBLAZE_GNU_VTINHERIT 11
++#define R_MICROBLAZE_GNU_VTENTRY 12
++#define R_MICROBLAZE_GOTPC_64 13
++#define R_MICROBLAZE_GOT_64 14
++#define R_MICROBLAZE_PLT_64 15
++#define R_MICROBLAZE_REL 16
++#define R_MICROBLAZE_JUMP_SLOT 17
++#define R_MICROBLAZE_GLOB_DAT 18
++#define R_MICROBLAZE_GOTOFF_64 19
++#define R_MICROBLAZE_GOTOFF_32 20
++#define R_MICROBLAZE_COPY 21
++#define R_MICROBLAZE_TLS 22
++#define R_MICROBLAZE_TLSGD 23
++#define R_MICROBLAZE_TLSLD 24
++#define R_MICROBLAZE_TLSDTPMOD32 25
++#define R_MICROBLAZE_TLSDTPREL32 26
++#define R_MICROBLAZE_TLSDTPREL64 27
++#define R_MICROBLAZE_TLSGOTTPREL32 28
++#define R_MICROBLAZE_TLSTPREL32 29
++
++#ifdef __cplusplus
++}
++#endif
++
++
++#endif
diff --git a/toolchain/kernel-headers/patches/3.13.6/sgidefs.patch b/toolchain/kernel-headers/patches/3.13.6/sgidefs.patch
new file mode 100644
index 000000000..f00a284d9
--- /dev/null
+++ b/toolchain/kernel-headers/patches/3.13.6/sgidefs.patch
@@ -0,0 +1,18 @@
+diff -Nur linux-3.11.5.orig/arch/mips/include/uapi/asm/sgidefs.h linux-3.11.5/arch/mips/include/uapi/asm/sgidefs.h
+--- linux-3.11.5.orig/arch/mips/include/uapi/asm/sgidefs.h 2013-10-14 03:14:45.000000000 +0200
++++ linux-3.11.5/arch/mips/include/uapi/asm/sgidefs.h 2013-11-08 22:01:28.000000000 +0100
+@@ -11,14 +11,6 @@
+ #define __ASM_SGIDEFS_H
+
+ /*
+- * Using a Linux compiler for building Linux seems logic but not to
+- * everybody.
+- */
+-#ifndef __linux__
+-#error Use a Linux compiler or give up.
+-#endif
+-
+-/*
+ * Definitions for the ISA levels
+ *
+ * With the introduction of MIPS32 / MIPS64 instruction sets definitions
diff --git a/toolchain/kernel-headers/patches/3.13.5/sortext.patch b/toolchain/kernel-headers/patches/3.13.6/sortext.patch
index 8fd4e1d6b..8fd4e1d6b 100644
--- a/toolchain/kernel-headers/patches/3.13.5/sortext.patch
+++ b/toolchain/kernel-headers/patches/3.13.6/sortext.patch
diff --git a/toolchain/musl/patches/musl-git-20140301.patch b/toolchain/musl/patches/musl-git-20140310.patch
index 1362c9ba9..29b58b843 100644
--- a/toolchain/musl/patches/musl-git-20140301.patch
+++ b/toolchain/musl/patches/musl-git-20140310.patch
@@ -1,6 +1,6 @@
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-01 08:58:13.000000000 +0100
++++ musl-git/arch/arm/bits/shm.h 2014-03-10 16:52:06.000000000 +0100
@@ -16,3 +16,14 @@
unsigned long __pad1;
unsigned long __pad2;
@@ -18,7 +18,7 @@ diff -Nur musl-0.9.15/arch/arm/bits/shm.h musl-git/arch/arm/bits/shm.h
+
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-01 08:58:13.000000000 +0100
++++ musl-git/arch/arm/bits/termios.h 2014-03-10 16:52:06.000000000 +0100
@@ -42,6 +42,7 @@
#define IXANY 0004000
#define IXOFF 0010000
@@ -74,7 +74,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-01 08:58:14.000000000 +0100
++++ musl-git/arch/arm/syscall_arch.h 2014-03-10 16:52:06.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))
@@ -86,7 +86,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/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-01 08:58:14.000000000 +0100
++++ musl-git/arch/i386/bits/shm.h 2014-03-10 16:52:06.000000000 +0100
@@ -16,3 +16,14 @@
unsigned long __pad1;
unsigned long __pad2;
@@ -104,7 +104,7 @@ diff -Nur musl-0.9.15/arch/i386/bits/shm.h musl-git/arch/i386/bits/shm.h
+
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-01 08:58:14.000000000 +0100
++++ musl-git/arch/i386/bits/termios.h 2014-03-10 16:52:06.000000000 +0100
@@ -42,6 +42,7 @@
#define IXANY 0004000
#define IXOFF 0010000
@@ -160,7 +160,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/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-01 08:58:14.000000000 +0100
++++ musl-git/arch/microblaze/bits/shm.h 2014-03-10 16:52:06.000000000 +0100
@@ -16,3 +16,14 @@
unsigned long __pad1;
unsigned long __pad2;
@@ -178,7 +178,7 @@ diff -Nur musl-0.9.15/arch/microblaze/bits/shm.h musl-git/arch/microblaze/bits/s
+
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-01 08:58:14.000000000 +0100
++++ musl-git/arch/microblaze/bits/termios.h 2014-03-10 16:52:06.000000000 +0100
@@ -42,6 +42,7 @@
#define IXANY 0004000
#define IXOFF 0010000
@@ -234,7 +234,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-01 08:58:14.000000000 +0100
++++ musl-git/arch/microblaze/syscall_arch.h 2014-03-10 16:52:06.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))
@@ -246,7 +246,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-01 08:58:14.000000000 +0100
++++ musl-git/arch/mips/bits/fenv.h 2014-03-10 16:52:06.000000000 +0100
@@ -1,3 +1,7 @@
+#ifdef __mips_soft_float
+#define FE_ALL_EXCEPT 0
@@ -265,7 +265,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/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-01 08:58:14.000000000 +0100
++++ musl-git/arch/mips/bits/shm.h 2014-03-10 16:52:06.000000000 +0100
@@ -13,3 +13,14 @@
unsigned long __pad1;
unsigned long __pad2;
@@ -283,7 +283,7 @@ diff -Nur musl-0.9.15/arch/mips/bits/shm.h musl-git/arch/mips/bits/shm.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-01 08:58:14.000000000 +0100
++++ musl-git/arch/mips/bits/termios.h 2014-03-10 16:52:06.000000000 +0100
@@ -77,9 +77,6 @@
#define VT0 0000000
#define VT1 0040000
@@ -334,7 +334,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-01 08:58:14.000000000 +0100
++++ musl-git/arch/mips/reloc.h 2014-03-10 16:52:06.000000000 +0100
@@ -8,7 +8,13 @@
#define ENDIAN_SUFFIX ""
#endif
@@ -352,7 +352,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-01 08:58:14.000000000 +0100
++++ musl-git/arch/mips/syscall_arch.h 2014-03-10 16:52:06.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))
@@ -364,7 +364,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/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-01 08:58:14.000000000 +0100
++++ musl-git/arch/powerpc/bits/shm.h 2014-03-10 16:52:06.000000000 +0100
@@ -16,3 +16,14 @@
unsigned long __pad1;
unsigned long __pad2;
@@ -382,7 +382,7 @@ diff -Nur musl-0.9.15/arch/powerpc/bits/shm.h musl-git/arch/powerpc/bits/shm.h
+
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-01 08:58:14.000000000 +0100
++++ musl-git/arch/powerpc/bits/termios.h 2014-03-10 16:52:06.000000000 +0100
@@ -66,7 +66,6 @@
#define TAB1 00002000
#define TAB2 00004000
@@ -442,7 +442,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-01 08:58:14.000000000 +0100
++++ musl-git/arch/sh/atomic.h 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,87 @@
+#ifndef _INTERNAL_ATOMIC_H
+#define _INTERNAL_ATOMIC_H
@@ -533,7 +533,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-01 08:58:14.000000000 +0100
++++ musl-git/arch/sh/bits/alltypes.h.in 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,23 @@
+#define _Addr int
+#define _Int64 long long
@@ -560,7 +560,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-01 08:58:14.000000000 +0100
++++ musl-git/arch/sh/bits/endian.h 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,5 @@
+#if __BIG_ENDIAN__
+#define __BYTE_ORDER __BIG_ENDIAN
@@ -569,7 +569,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-01 08:58:14.000000000 +0100
++++ musl-git/arch/sh/bits/errno.h 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,134 @@
+#define EPERM 1
+#define ENOENT 2
@@ -707,7 +707,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-01 08:58:14.000000000 +0100
++++ musl-git/arch/sh/bits/fcntl.h 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,39 @@
+#define O_CREAT 0100
+#define O_EXCL 0200
@@ -750,7 +750,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-01 08:58:14.000000000 +0100
++++ musl-git/arch/sh/bits/fenv.h 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,26 @@
+#ifndef __SH_FPU_ANY__
+
@@ -780,7 +780,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-01 08:58:14.000000000 +0100
++++ musl-git/arch/sh/bits/float.h 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,17 @@
+#define FLT_ROUNDS 1
+#define FLT_EVAL_METHOD 0
@@ -801,7 +801,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-01 08:58:14.000000000 +0100
++++ musl-git/arch/sh/bits/ioctl.h 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,205 @@
+#define _IOC(a,b,c,d) ( ((a)<<30) | ((b)<<8) | (c) | ((d)<<16) )
+#define _IOC_NONE 0U
@@ -1010,7 +1010,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-01 08:58:14.000000000 +0100
++++ musl-git/arch/sh/bits/ipc.h 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,14 @@
+struct ipc_perm
+{
@@ -1028,7 +1028,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-01 08:58:14.000000000 +0100
++++ musl-git/arch/sh/bits/limits.h 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,8 @@
+#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
+ || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
@@ -1040,7 +1040,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-01 08:58:14.000000000 +0100
++++ musl-git/arch/sh/bits/mman.h 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,62 @@
+#define MAP_FAILED ((void *) -1)
+
@@ -1106,7 +1106,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-01 08:58:14.000000000 +0100
++++ musl-git/arch/sh/bits/msg.h 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,16 @@
+struct msqid_ds
+{
@@ -1126,18 +1126,18 @@ 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-01 08:58:14.000000000 +0100
++++ musl-git/arch/sh/bits/posix.h 2014-03-10 16:52:06.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/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-01 08:58:14.000000000 +0100
++++ musl-git/arch/sh/bits/setjmp.h 2014-03-10 16:52:06.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-01 08:58:14.000000000 +0100
++++ musl-git/arch/sh/bits/shm.h 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,28 @@
+#define SHMLBA 16384
+
@@ -1169,7 +1169,7 @@ 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-01 08:58:14.000000000 +0100
++++ musl-git/arch/sh/bits/signal.h 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,76 @@
+#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
+ || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
@@ -1249,7 +1249,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-01 08:58:14.000000000 +0100
++++ musl-git/arch/sh/bits/socket.h 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,17 @@
+struct msghdr
+{
@@ -1270,7 +1270,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-01 08:58:14.000000000 +0100
++++ musl-git/arch/sh/bits/statfs.h 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,7 @@
+struct statfs {
+ unsigned long f_type, f_bsize;
@@ -1281,7 +1281,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-01 08:58:14.000000000 +0100
++++ musl-git/arch/sh/bits/stat.h 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,22 @@
+/* copied from kernel definition, but with padding replaced
+ * by the corresponding correctly-sized userspace types. */
@@ -1307,7 +1307,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-01 08:58:14.000000000 +0100
++++ musl-git/arch/sh/bits/stdarg.h 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,4 @@
+#define va_start(v,l) __builtin_va_start(v,l)
+#define va_end(v) __builtin_va_end(v)
@@ -1315,7 +1315,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-01 08:58:14.000000000 +0100
++++ musl-git/arch/sh/bits/stdint.h 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,20 @@
+typedef int32_t int_fast16_t;
+typedef int32_t int_fast32_t;
@@ -1339,7 +1339,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-01 08:58:14.000000000 +0100
++++ musl-git/arch/sh/bits/syscall.h 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,684 @@
+#define __NR_restart_syscall 0
+#define __NR_exit 1
@@ -2027,7 +2027,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-01 08:58:14.000000000 +0100
++++ musl-git/arch/sh/bits/termios.h 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,160 @@
+struct termios
+{
@@ -2189,9 +2189,88 @@ diff -Nur musl-0.9.15/arch/sh/bits/termios.h musl-git/arch/sh/bits/termios.h
+#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-10 16:52:06.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-01 08:58:14.000000000 +0100
++++ musl-git/arch/sh/crt_arch.h 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,9 @@
+__asm__("\
+.global _start \n\
@@ -2204,7 +2283,7 @@ diff -Nur musl-0.9.15/arch/sh/crt_arch.h musl-git/arch/sh/crt_arch.h
+");
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-01 08:58:14.000000000 +0100
++++ musl-git/arch/sh/pthread_arch.h 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,11 @@
+static inline struct pthread *__pthread_self()
+{
@@ -2219,7 +2298,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-01 08:58:14.000000000 +0100
++++ musl-git/arch/sh/reloc.h 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,47 @@
+#if __BYTE_ORDER == __BIG_ENDIAN
+#define ENDIAN_SUFFIX "eb"
@@ -2270,7 +2349,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-01 08:58:14.000000000 +0100
++++ musl-git/arch/sh/src/atomic.c 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,146 @@
+#include "libc.h"
+
@@ -2420,13 +2499,13 @@ diff -Nur musl-0.9.15/arch/sh/src/atomic.c musl-git/arch/sh/src/atomic.c
+}
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-01 08:58:14.000000000 +0100
++++ musl-git/arch/sh/src/__fpsrc_values.c 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,2 @@
+/* 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/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-01 08:58:14.000000000 +0100
++++ musl-git/arch/sh/syscall_arch.h 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,87 @@
+#define __SYSCALL_LL_E(x) \
+((union { long long ll; long l[2]; }){ .ll = x }).l[0], \
@@ -2517,7 +2596,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-01 08:58:14.000000000 +0100
++++ musl-git/arch/x32/atomic.h 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,125 @@
+#ifndef _INTERNAL_ATOMIC_H
+#define _INTERNAL_ATOMIC_H
@@ -2646,7 +2725,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-01 08:58:14.000000000 +0100
++++ musl-git/arch/x32/bits/alltypes.h.in 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,28 @@
+#define _Addr int
+#define _Int64 long long
@@ -2678,12 +2757,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-01 08:58:14.000000000 +0100
++++ musl-git/arch/x32/bits/endian.h 2014-03-10 16:52:06.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-01 08:58:14.000000000 +0100
++++ musl-git/arch/x32/bits/errno.h 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,134 @@
+#define EPERM 1
+#define ENOENT 2
@@ -2821,7 +2900,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-01 08:58:14.000000000 +0100
++++ musl-git/arch/x32/bits/fcntl.h 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,39 @@
+#define O_CREAT 0100
+#define O_EXCL 0200
@@ -2864,7 +2943,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-01 08:58:14.000000000 +0100
++++ musl-git/arch/x32/bits/fenv.h 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,34 @@
+#define FE_INVALID 1
+#define __FE_DENORM 2
@@ -2902,7 +2981,7 @@ diff -Nur musl-0.9.15/arch/x32/bits/fenv.h musl-git/arch/x32/bits/fenv.h
+#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-01 08:58:14.000000000 +0100
++++ musl-git/arch/x32/bits/float.h 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,21 @@
+#define FLT_ROUNDS 1
+#ifdef __FLT_EVAL_METHOD__
@@ -2927,7 +3006,7 @@ diff -Nur musl-0.9.15/arch/x32/bits/float.h musl-git/arch/x32/bits/float.h
+#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-01 08:58:14.000000000 +0100
++++ musl-git/arch/x32/bits/ioctl.h 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,197 @@
+#define _IOC(a,b,c,d) ( ((a)<<30) | ((b)<<8) | (c) | ((d)<<16) )
+#define _IOC_NONE 0U
@@ -3128,7 +3207,7 @@ diff -Nur musl-0.9.15/arch/x32/bits/ioctl.h musl-git/arch/x32/bits/ioctl.h
+#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-01 08:58:14.000000000 +0100
++++ musl-git/arch/x32/bits/io.h 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,77 @@
+static __inline void outb(unsigned char __val, unsigned short __port)
+{
@@ -3209,7 +3288,7 @@ diff -Nur musl-0.9.15/arch/x32/bits/io.h musl-git/arch/x32/bits/io.h
+}
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-01 08:58:14.000000000 +0100
++++ musl-git/arch/x32/bits/ipc.h 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,14 @@
+struct ipc_perm
+{
@@ -3227,7 +3306,7 @@ diff -Nur musl-0.9.15/arch/x32/bits/ipc.h musl-git/arch/x32/bits/ipc.h
+#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-01 08:58:14.000000000 +0100
++++ musl-git/arch/x32/bits/limits.h 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,8 @@
+#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
+ || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
@@ -3239,7 +3318,7 @@ diff -Nur musl-0.9.15/arch/x32/bits/limits.h musl-git/arch/x32/bits/limits.h
+#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-01 08:58:14.000000000 +0100
++++ musl-git/arch/x32/bits/mman.h 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,62 @@
+#define MAP_FAILED ((void *) -1)
+
@@ -3305,7 +3384,7 @@ diff -Nur musl-0.9.15/arch/x32/bits/mman.h musl-git/arch/x32/bits/mman.h
+#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-01 08:58:14.000000000 +0100
++++ musl-git/arch/x32/bits/msg.h 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,16 @@
+struct msqid_ds
+{
@@ -3325,13 +3404,13 @@ diff -Nur musl-0.9.15/arch/x32/bits/msg.h musl-git/arch/x32/bits/msg.h
+};
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-01 08:58:14.000000000 +0100
++++ musl-git/arch/x32/bits/posix.h 2014-03-10 16:52:06.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-01 08:58:14.000000000 +0100
++++ musl-git/arch/x32/bits/reg.h 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,29 @@
+#undef __WORDSIZE
+#define __WORDSIZE 32
@@ -3364,12 +3443,12 @@ diff -Nur musl-0.9.15/arch/x32/bits/reg.h musl-git/arch/x32/bits/reg.h
+#define GS 26
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-01 08:58:14.000000000 +0100
++++ musl-git/arch/x32/bits/setjmp.h 2014-03-10 16:52:06.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-01 08:58:14.000000000 +0100
++++ musl-git/arch/x32/bits/shm.h 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,33 @@
+#define SHMLBA 4096
+
@@ -3406,7 +3485,7 @@ diff -Nur musl-0.9.15/arch/x32/bits/shm.h musl-git/arch/x32/bits/shm.h
+;
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-01 08:58:14.000000000 +0100
++++ musl-git/arch/x32/bits/signal.h 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,119 @@
+#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
+ || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
@@ -3529,7 +3608,7 @@ diff -Nur musl-0.9.15/arch/x32/bits/signal.h musl-git/arch/x32/bits/signal.h
+
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-01 08:58:14.000000000 +0100
++++ musl-git/arch/x32/bits/socket.h 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,18 @@
+struct msghdr
+{
@@ -3551,7 +3630,7 @@ diff -Nur musl-0.9.15/arch/x32/bits/socket.h musl-git/arch/x32/bits/socket.h
+};
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-01 08:58:14.000000000 +0100
++++ musl-git/arch/x32/bits/statfs.h 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,7 @@
+struct statfs {
+ unsigned long f_type, f_bsize;
@@ -3562,7 +3641,7 @@ diff -Nur musl-0.9.15/arch/x32/bits/statfs.h musl-git/arch/x32/bits/statfs.h
+};
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-01 08:58:14.000000000 +0100
++++ musl-git/arch/x32/bits/stat.h 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,22 @@
+/* copied from kernel definition, but with padding replaced
+ * by the corresponding correctly-sized userspace types. */
@@ -3588,7 +3667,7 @@ diff -Nur musl-0.9.15/arch/x32/bits/stat.h musl-git/arch/x32/bits/stat.h
+};
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-01 08:58:14.000000000 +0100
++++ musl-git/arch/x32/bits/stdarg.h 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,4 @@
+#define va_start(v,l) __builtin_va_start(v,l)
+#define va_end(v) __builtin_va_end(v)
@@ -3596,7 +3675,7 @@ diff -Nur musl-0.9.15/arch/x32/bits/stdarg.h musl-git/arch/x32/bits/stdarg.h
+#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-01 08:58:14.000000000 +0100
++++ musl-git/arch/x32/bits/stdint.h 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,20 @@
+typedef int32_t int_fast16_t;
+typedef int32_t int_fast32_t;
@@ -3620,7 +3699,7 @@ diff -Nur musl-0.9.15/arch/x32/bits/stdint.h musl-git/arch/x32/bits/stdint.h
+#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-01 08:58:14.000000000 +0100
++++ musl-git/arch/x32/bits/syscall.h 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,634 @@
+#define __X32_SYSCALL_BIT 0x40000000
+#define __NR_read (__X32_SYSCALL_BIT + 0)
@@ -4258,7 +4337,7 @@ diff -Nur musl-0.9.15/arch/x32/bits/syscall.h musl-git/arch/x32/bits/syscall.h
+#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-01 08:58:14.000000000 +0100
++++ musl-git/arch/x32/bits/termios.h 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,160 @@
+struct termios
+{
@@ -4422,7 +4501,7 @@ diff -Nur musl-0.9.15/arch/x32/bits/termios.h musl-git/arch/x32/bits/termios.h
+#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-01 08:58:14.000000000 +0100
++++ musl-git/arch/x32/bits/user.h 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,44 @@
+#undef __WORDSIZE
+#define __WORDSIZE 64
@@ -4470,7 +4549,7 @@ diff -Nur musl-0.9.15/arch/x32/bits/user.h musl-git/arch/x32/bits/user.h
+#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-01 08:58:14.000000000 +0100
++++ musl-git/arch/x32/crt_arch.h 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,9 @@
+__asm__("\
+.text \n\
@@ -4483,7 +4562,7 @@ diff -Nur musl-0.9.15/arch/x32/crt_arch.h musl-git/arch/x32/crt_arch.h
+");
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-01 08:58:14.000000000 +0100
++++ musl-git/arch/x32/pthread_arch.h 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,10 @@
+static inline struct pthread *__pthread_self()
+{
@@ -4497,7 +4576,7 @@ diff -Nur musl-0.9.15/arch/x32/pthread_arch.h musl-git/arch/x32/pthread_arch.h
+#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-01 08:58:14.000000000 +0100
++++ musl-git/arch/x32/reloc.h 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,46 @@
+#include <stdint.h>
+#include <string.h>
@@ -4547,7 +4626,7 @@ diff -Nur musl-0.9.15/arch/x32/reloc.h musl-git/arch/x32/reloc.h
+}
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-01 08:58:14.000000000 +0100
++++ musl-git/arch/x32/src/syscall_cp_fixup.c 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,31 @@
+#include <sys/syscall.h>
+long __syscall_cp_internal(volatile void*, long long, long long, long long, long long,
@@ -4580,9 +4659,60 @@ diff -Nur musl-0.9.15/arch/x32/src/syscall_cp_fixup.c musl-git/arch/x32/src/sysc
+ 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-10 16:52:06.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-01 08:58:14.000000000 +0100
++++ musl-git/arch/x32/syscall_arch.h 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,117 @@
+#define __SYSCALL_LL_E(x) (x)
+#define __SYSCALL_LL_O(x) (x)
@@ -4703,7 +4833,7 @@ diff -Nur musl-0.9.15/arch/x32/syscall_arch.h musl-git/arch/x32/syscall_arch.h
+}
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-01 08:58:14.000000000 +0100
++++ musl-git/arch/x86_64/atomic.h 2014-03-10 16:52:06.000000000 +0100
@@ -5,38 +5,36 @@
static inline int a_ctz_64(uint64_t x)
@@ -4789,7 +4919,7 @@ diff -Nur musl-0.9.15/arch/x86_64/atomic.h musl-git/arch/x86_64/atomic.h
static inline void a_spin()
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-01 08:58:14.000000000 +0100
++++ musl-git/arch/x86_64/bits/shm.h 2014-03-10 16:52:06.000000000 +0100
@@ -13,3 +13,14 @@
unsigned long __pad1;
unsigned long __pad2;
@@ -4807,7 +4937,7 @@ diff -Nur musl-0.9.15/arch/x86_64/bits/shm.h musl-git/arch/x86_64/bits/shm.h
+
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-01 08:58:14.000000000 +0100
++++ musl-git/arch/x86_64/bits/stat.h 2014-03-10 16:52:06.000000000 +0100
@@ -2,7 +2,7 @@
* by the corresponding correctly-sized userspace types. */
@@ -4819,7 +4949,7 @@ diff -Nur musl-0.9.15/arch/x86_64/bits/stat.h musl-git/arch/x86_64/bits/stat.h
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-01 08:58:14.000000000 +0100
++++ musl-git/arch/x86_64/bits/termios.h 2014-03-10 16:52:06.000000000 +0100
@@ -42,6 +42,7 @@
#define IXANY 0004000
#define IXOFF 0010000
@@ -4875,7 +5005,7 @@ diff -Nur musl-0.9.15/arch/x86_64/bits/termios.h musl-git/arch/x86_64/bits/termi
+#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-01 08:58:14.000000000 +0100
++++ musl-git/arch/x86_64/pthread_arch.h 2014-03-10 16:52:06.000000000 +0100
@@ -1,7 +1,7 @@
static inline struct pthread *__pthread_self()
{
@@ -4887,7 +5017,7 @@ diff -Nur musl-0.9.15/arch/x86_64/pthread_arch.h musl-git/arch/x86_64/pthread_ar
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-01 08:58:14.000000000 +0100
++++ musl-git/configure 2014-03-10 16:52:06.000000000 +0100
@@ -222,12 +222,16 @@
# Convert to just ARCH
#
@@ -4952,9 +5082,29 @@ diff -Nur musl-0.9.15/configure musl-git/configure
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-10 16:52:06.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-01 08:58:14.000000000 +0100
++++ musl-git/crt/superh/crti.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,13 @@
+.section .init
+.global _init
@@ -4971,7 +5121,7 @@ diff -Nur musl-0.9.15/crt/superh/crti.s musl-git/crt/superh/crti.s
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/crt/superh/crtn.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,9 @@
+.section .init
+ lds.l @r15+, pr
@@ -4984,7 +5134,7 @@ diff -Nur musl-0.9.15/crt/superh/crtn.s musl-git/crt/superh/crtn.s
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/crt/x32/crti.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,9 @@
+.section .init
+.global _init
@@ -4997,7 +5147,7 @@ diff -Nur musl-0.9.15/crt/x32/crti.s musl-git/crt/x32/crti.s
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/crt/x32/crtn.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,7 @@
+.section .init
+ pop %rax
@@ -5008,7 +5158,7 @@ diff -Nur musl-0.9.15/crt/x32/crtn.s musl-git/crt/x32/crtn.s
+ 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-01 08:58:13.000000000 +0100
++++ musl-git/.gitignore 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,11 @@
+*.o
+*.lo
@@ -5023,7 +5173,7 @@ diff -Nur musl-0.9.15/.gitignore musl-git/.gitignore
+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-01 08:58:14.000000000 +0100
++++ musl-git/include/arpa/inet.h 2014-03-10 16:52:06.000000000 +0100
@@ -20,7 +20,7 @@
const char *inet_ntop (int, const void *__restrict, char *__restrict, socklen_t);
@@ -5035,7 +5185,7 @@ diff -Nur musl-0.9.15/include/arpa/inet.h musl-git/include/arpa/inet.h
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-01 08:58:14.000000000 +0100
++++ musl-git/include/dlfcn.h 2014-03-10 16:52:06.000000000 +0100
@@ -31,7 +31,7 @@
const char *dli_sname;
void *dli_saddr;
@@ -5047,7 +5197,7 @@ diff -Nur musl-0.9.15/include/dlfcn.h musl-git/include/dlfcn.h
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-01 08:58:14.000000000 +0100
++++ musl-git/include/elf.h 2014-03-10 16:52:06.000000000 +0100
@@ -1153,6 +1153,7 @@
#define EF_MIPS_64BIT_WHIRL 16
#define EF_MIPS_ABI2 32
@@ -5176,7 +5326,7 @@ diff -Nur musl-0.9.15/include/elf.h musl-git/include/elf.h
#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-01 08:58:14.000000000 +0100
++++ musl-git/include/fcntl.h 2014-03-10 16:52:06.000000000 +0100
@@ -148,6 +148,7 @@
#define SPLICE_F_MORE 4
#define SPLICE_F_GIFT 8
@@ -5193,9 +5343,29 @@ diff -Nur musl-0.9.15/include/fcntl.h musl-git/include/fcntl.h
#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-10 16:52:06.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-01 08:58:14.000000000 +0100
++++ musl-git/include/netdb.h 2014-03-10 16:52:06.000000000 +0100
@@ -131,6 +131,7 @@
#define TRY_AGAIN 2
#define NO_RECOVERY 3
@@ -5206,7 +5376,7 @@ diff -Nur musl-0.9.15/include/netdb.h musl-git/include/netdb.h
#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-01 08:58:14.000000000 +0100
++++ musl-git/include/netinet/if_ether.h 2014-03-10 16:52:06.000000000 +0100
@@ -54,6 +54,7 @@
#define ETH_P_8021AH 0x88E7
#define ETH_P_MVRP 0x88F5
@@ -5217,7 +5387,7 @@ diff -Nur musl-0.9.15/include/netinet/if_ether.h musl-git/include/netinet/if_eth
#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-01 08:58:14.000000000 +0100
++++ musl-git/include/netinet/in.h 2014-03-10 16:52:06.000000000 +0100
@@ -149,7 +149,7 @@
(IN6_IS_ADDR_MULTICAST(a) && ((((uint8_t *) (a))[1] & 0xf) == 0xe))
@@ -5326,7 +5496,7 @@ diff -Nur musl-0.9.15/include/netinet/in.h musl-git/include/netinet/in.h
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-01 08:58:14.000000000 +0100
++++ musl-git/include/netinet/tcp.h 2014-03-10 16:52:06.000000000 +0100
@@ -44,42 +44,80 @@
#define SOL_TCP 6
#include <sys/types.h>
@@ -5524,7 +5694,7 @@ diff -Nur musl-0.9.15/include/netinet/tcp.h musl-git/include/netinet/tcp.h
#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-01 08:58:14.000000000 +0100
++++ musl-git/include/netinet/udp.h 2014-03-10 16:52:06.000000000 +0100
@@ -5,19 +5,22 @@
extern "C" {
#endif
@@ -5557,7 +5727,7 @@ diff -Nur musl-0.9.15/include/netinet/udp.h musl-git/include/netinet/udp.h
#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-01 08:58:14.000000000 +0100
++++ musl-git/include/sched.h 2014-03-10 16:52:06.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 *);
@@ -5569,7 +5739,7 @@ diff -Nur musl-0.9.15/include/sched.h musl-git/include/sched.h
#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-01 08:58:14.000000000 +0100
++++ musl-git/include/signal.h 2014-03-10 16:52:06.000000000 +0100
@@ -227,8 +227,8 @@
typedef void (*sighandler_t)(int);
void (*bsd_signal(int, void (*)(int)))(int);
@@ -5583,7 +5753,7 @@ diff -Nur musl-0.9.15/include/signal.h musl-git/include/signal.h
#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-01 08:58:14.000000000 +0100
++++ musl-git/include/stdlib.h 2014-03-10 16:52:06.000000000 +0100
@@ -93,7 +93,7 @@
#define WSTOPSIG(s) WEXITSTATUS(s)
#define WIFEXITED(s) (!WTERMSIG(s))
@@ -5595,7 +5765,7 @@ diff -Nur musl-0.9.15/include/stdlib.h musl-git/include/stdlib.h
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-01 08:58:14.000000000 +0100
++++ musl-git/include/sys/inotify.h 2014-03-10 16:52:06.000000000 +0100
@@ -48,7 +48,7 @@
int inotify_init(void);
int inotify_init1(int);
@@ -5607,7 +5777,7 @@ diff -Nur musl-0.9.15/include/sys/inotify.h musl-git/include/sys/inotify.h
}
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-01 08:58:14.000000000 +0100
++++ musl-git/include/sys/mman.h 2014-03-10 16:52:06.000000000 +0100
@@ -33,7 +33,7 @@
#ifdef _GNU_SOURCE
@@ -5617,9 +5787,21 @@ diff -Nur musl-0.9.15/include/sys/mman.h musl-git/include/sys/mman.h
#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-10 16:52:06.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-01 08:58:14.000000000 +0100
++++ musl-git/include/sys/sem.h 2014-03-10 16:52:06.000000000 +0100
@@ -29,19 +29,19 @@
struct semid_ds {
@@ -5650,7 +5832,7 @@ diff -Nur musl-0.9.15/include/sys/sem.h musl-git/include/sys/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-01 08:58:14.000000000 +0100
++++ musl-git/include/sys/shm.h 2014-03-10 16:52:06.000000000 +0100
@@ -14,6 +14,13 @@
#include <bits/alltypes.h>
@@ -5688,7 +5870,7 @@ diff -Nur musl-0.9.15/include/sys/shm.h musl-git/include/sys/shm.h
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-01 08:58:14.000000000 +0100
++++ musl-git/include/sys/socket.h 2014-03-10 16:52:06.000000000 +0100
@@ -202,11 +202,16 @@
#define SO_LOCK_FILTER 44
#define SO_SELECT_ERR_QUEUE 45
@@ -5729,7 +5911,7 @@ diff -Nur musl-0.9.15/include/sys/sysctl.h musl-git/include/sys/sysctl.h
-#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-01 08:58:14.000000000 +0100
++++ musl-git/include/sys/time.h 2014-03-10 16:52:06.000000000 +0100
@@ -51,6 +51,17 @@
((a)->tv_usec += 1000000, (a)->tv_sec--) )
#endif
@@ -5750,7 +5932,7 @@ diff -Nur musl-0.9.15/include/sys/time.h musl-git/include/sys/time.h
#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-01 08:58:14.000000000 +0100
++++ musl-git/include/sys/wait.h 2014-03-10 16:52:06.000000000 +0100
@@ -50,7 +50,7 @@
#define WCOREDUMP(s) ((s) & 0x80)
#define WIFEXITED(s) (!WTERMSIG(s))
@@ -5762,7 +5944,7 @@ diff -Nur musl-0.9.15/include/sys/wait.h musl-git/include/sys/wait.h
#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-01 08:58:14.000000000 +0100
++++ musl-git/include/syslog.h 2014-03-10 16:52:06.000000000 +0100
@@ -21,7 +21,7 @@
#define LOG_MAKEPRI(f, p) (((f)<<3)|(p))
@@ -5774,7 +5956,7 @@ diff -Nur musl-0.9.15/include/syslog.h musl-git/include/syslog.h
#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-01 08:58:14.000000000 +0100
++++ musl-git/include/time.h 2014-03-10 16:52:06.000000000 +0100
@@ -125,7 +125,7 @@
@@ -5786,7 +5968,7 @@ diff -Nur musl-0.9.15/include/time.h musl-git/include/time.h
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-01 08:58:14.000000000 +0100
++++ musl-git/include/utmp.h 2014-03-10 16:52:06.000000000 +0100
@@ -10,6 +10,7 @@
#define ACCOUNTING 9
#define UT_NAMESIZE 32
@@ -5806,7 +5988,7 @@ diff -Nur musl-0.9.15/include/utmp.h musl-git/include/utmp.h
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-01 08:58:14.000000000 +0100
++++ musl-git/include/utmpx.h 2014-03-10 16:52:06.000000000 +0100
@@ -5,6 +5,8 @@
extern "C" {
#endif
@@ -5853,7 +6035,7 @@ diff -Nur musl-0.9.15/include/utmpx.h musl-git/include/utmpx.h
#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-01 08:58:14.000000000 +0100
++++ musl-git/src/crypt/crypt_des.c 2014-03-10 16:52:06.000000000 +0100
@@ -692,7 +692,7 @@
return saltbits;
}
@@ -5910,7 +6092,7 @@ diff -Nur musl-0.9.15/src/crypt/crypt_des.c musl-git/src/crypt/crypt_des.c
* 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-01 08:58:14.000000000 +0100
++++ musl-git/src/crypt/encrypt.c 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,60 @@
+#include <stdint.h>
+#include <stdlib.h>
@@ -5974,7 +6156,7 @@ diff -Nur musl-0.9.15/src/crypt/encrypt.c musl-git/src/crypt/encrypt.c
+}
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-01 08:58:14.000000000 +0100
++++ musl-git/src/dirent/readdir.c 2014-03-10 16:52:06.000000000 +0100
@@ -1,5 +1,7 @@
#include <dirent.h>
+#include <errno.h>
@@ -5997,11 +6179,44 @@ diff -Nur musl-0.9.15/src/dirent/readdir.c musl-git/src/dirent/readdir.c
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-10 16:52:06.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-01 08:58:14.000000000 +0100
-@@ -13,11 +13,11 @@
- arg = va_arg(ap, long);
++++ musl-git/src/fcntl/fcntl.c 2014-03-10 16:52:06.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);
@@ -6032,7 +6247,7 @@ diff -Nur musl-0.9.15/src/fcntl/fcntl.c musl-git/src/fcntl/fcntl.c
}
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-01 08:58:14.000000000 +0100
++++ musl-git/src/fcntl/posix_fadvise.c 2014-03-10 16:52:06.000000000 +0100
@@ -1,8 +1,11 @@
#include <fcntl.h>
#include "syscall.h"
@@ -6047,7 +6262,7 @@ diff -Nur musl-0.9.15/src/fcntl/posix_fadvise.c musl-git/src/fcntl/posix_fadvise
+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-01 08:58:14.000000000 +0100
++++ musl-git/src/fcntl/posix_fallocate.c 2014-03-10 16:52:06.000000000 +0100
@@ -1,8 +1,11 @@
#include <fcntl.h>
#include "syscall.h"
@@ -6062,7 +6277,7 @@ diff -Nur musl-0.9.15/src/fcntl/posix_fallocate.c musl-git/src/fcntl/posix_fallo
+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-01 08:58:14.000000000 +0100
++++ musl-git/src/fenv/i386/fenv.s 2014-03-10 16:52:06.000000000 +0100
@@ -126,7 +126,7 @@
push %eax
push %eax
@@ -6074,17 +6289,17 @@ diff -Nur musl-0.9.15/src/fenv/i386/fenv.s musl-git/src/fenv/i386/fenv.s
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-01 08:58:14.000000000 +0100
++++ musl-git/src/fenv/mipsel-sf/fenv.sub 2014-03-10 16:52:06.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-01 08:58:14.000000000 +0100
++++ musl-git/src/fenv/mips-sf/fenv.sub 2014-03-10 16:52:06.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-01 08:58:14.000000000 +0100
++++ musl-git/src/fenv/sh/fenv.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,74 @@
+.global fegetround
+.type fegetround, @function
@@ -6162,17 +6377,17 @@ diff -Nur musl-0.9.15/src/fenv/sh/fenv.s musl-git/src/fenv/sh/fenv.s
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/src/fenv/sheb-nofpu/fenv.sub 2014-03-10 16:52:06.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-01 08:58:14.000000000 +0100
++++ musl-git/src/fenv/sh-nofpu/fenv.sub 2014-03-10 16:52:06.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-01 08:58:14.000000000 +0100
++++ musl-git/src/fenv/x32/fenv.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,97 @@
+.global feclearexcept
+.type feclearexcept,@function
@@ -6273,7 +6488,7 @@ diff -Nur musl-0.9.15/src/fenv/x32/fenv.s musl-git/src/fenv/x32/fenv.s
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/src/fenv/x86_64/fenv.s 2014-03-10 16:52:06.000000000 +0100
@@ -76,7 +76,7 @@
ret
1: push %rax
@@ -6285,7 +6500,7 @@ diff -Nur musl-0.9.15/src/fenv/x86_64/fenv.s musl-git/src/fenv/x86_64/fenv.s
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-01 08:58:14.000000000 +0100
++++ musl-git/src/internal/sh/syscall.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,22 @@
+.global __syscall
+.type __syscall, @function
@@ -6311,7 +6526,7 @@ diff -Nur musl-0.9.15/src/internal/sh/syscall.s musl-git/src/internal/sh/syscall
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/src/internal/stdio_impl.h 2014-03-10 16:52:06.000000000 +0100
@@ -17,6 +17,7 @@
#define F_EOF 16
#define F_ERR 32
@@ -6322,7 +6537,7 @@ diff -Nur musl-0.9.15/src/internal/stdio_impl.h musl-git/src/internal/stdio_impl
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-01 08:58:14.000000000 +0100
++++ musl-git/src/internal/syscall.h 2014-03-10 16:52:06.000000000 +0100
@@ -1,22 +1,28 @@
#ifndef _INTERNAL_SYSCALL_H
#define _INTERNAL_SYSCALL_H
@@ -6386,7 +6601,7 @@ diff -Nur musl-0.9.15/src/internal/syscall.h musl-git/src/internal/syscall.h
#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-01 08:58:14.000000000 +0100
++++ musl-git/src/internal/x32/syscall.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,12 @@
+.global __syscall
+.type __syscall,@function
@@ -6402,7 +6617,7 @@ diff -Nur musl-0.9.15/src/internal/x32/syscall.s musl-git/src/internal/x32/sysca
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/src/ipc/semctl.c 2014-03-10 16:52:06.000000000 +0100
@@ -3,16 +3,22 @@
#include "syscall.h"
#include "ipc.h"
@@ -6432,7 +6647,7 @@ diff -Nur musl-0.9.15/src/ipc/semctl.c musl-git/src/ipc/semctl.c
}
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-01 08:58:14.000000000 +0100
++++ musl-git/src/ldso/dladdr.c 2014-03-10 16:52:06.000000000 +0100
@@ -1,9 +1,9 @@
#define _GNU_SOURCE
#include <dlfcn.h>
@@ -6447,7 +6662,7 @@ diff -Nur musl-0.9.15/src/ldso/dladdr.c musl-git/src/ldso/dladdr.c
}
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-01 08:58:14.000000000 +0100
++++ musl-git/src/ldso/dynlink.c 2014-03-10 16:52:06.000000000 +0100
@@ -253,7 +253,8 @@
name = strings + sym->st_name;
ctx = IS_COPY(type) ? head->next : head;
@@ -6478,7 +6693,7 @@ diff -Nur musl-0.9.15/src/ldso/dynlink.c musl-git/src/ldso/dynlink.c
}
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-01 08:58:14.000000000 +0100
++++ musl-git/src/ldso/sh/dlsym.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,10 @@
+.text
+.global dlsym
@@ -6492,7 +6707,7 @@ diff -Nur musl-0.9.15/src/ldso/sh/dlsym.s musl-git/src/ldso/sh/dlsym.s
+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-01 08:58:14.000000000 +0100
++++ musl-git/src/ldso/sh/start.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,26 @@
+.text
+.global _start
@@ -6522,7 +6737,7 @@ diff -Nur musl-0.9.15/src/ldso/sh/start.s musl-git/src/ldso/sh/start.s
+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-01 08:58:14.000000000 +0100
++++ musl-git/src/ldso/x32/dlsym.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,6 @@
+.text
+.global dlsym
@@ -6532,7 +6747,7 @@ diff -Nur musl-0.9.15/src/ldso/x32/dlsym.s musl-git/src/ldso/x32/dlsym.s
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/src/ldso/x32/start.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,24 @@
+.text
+.global _start
@@ -6560,7 +6775,7 @@ diff -Nur musl-0.9.15/src/ldso/x32/start.s musl-git/src/ldso/x32/start.s
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/src/linux/clone.c 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,19 @@
+#include <stdarg.h>
+#include <unistd.h>
@@ -6583,7 +6798,7 @@ diff -Nur musl-0.9.15/src/linux/clone.c musl-git/src/linux/clone.c
+}
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-01 08:58:14.000000000 +0100
++++ musl-git/src/linux/fallocate.c 2014-03-10 16:52:06.000000000 +0100
@@ -1,9 +1,13 @@
#define _GNU_SOURCE
#include <fcntl.h>
@@ -6600,7 +6815,7 @@ diff -Nur musl-0.9.15/src/linux/fallocate.c musl-git/src/linux/fallocate.c
+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-01 08:58:14.000000000 +0100
++++ musl-git/src/linux/inotify.c 2014-03-10 16:52:06.000000000 +0100
@@ -15,7 +15,7 @@
return syscall(SYS_inotify_add_watch, fd, pathname, mask);
}
@@ -6612,7 +6827,7 @@ diff -Nur musl-0.9.15/src/linux/inotify.c musl-git/src/linux/inotify.c
}
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-01 08:58:14.000000000 +0100
++++ musl-git/src/linux/remap_file_pages.c 2014-03-10 16:52:06.000000000 +0100
@@ -2,7 +2,7 @@
#include <sys/mman.h>
#include "syscall.h"
@@ -6624,7 +6839,7 @@ diff -Nur musl-0.9.15/src/linux/remap_file_pages.c musl-git/src/linux/remap_file
}
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-01 08:58:14.000000000 +0100
++++ musl-git/src/linux/stime.c 2014-03-10 16:52:06.000000000 +0100
@@ -2,7 +2,7 @@
#include <time.h>
#include <sys/time.h>
@@ -6634,9 +6849,18 @@ diff -Nur musl-0.9.15/src/linux/stime.c musl-git/src/linux/stime.c
{
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-10 16:52:06.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-01 08:58:14.000000000 +0100
++++ musl-git/src/locale/wcsxfrm.c 2014-03-10 16:52:06.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)
{
@@ -6654,7 +6878,7 @@ diff -Nur musl-0.9.15/src/locale/wcsxfrm.c musl-git/src/locale/wcsxfrm.c
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-01 08:58:14.000000000 +0100
++++ musl-git/src/math/i386/remainderf.s 2014-03-10 16:52:06.000000000 +0100
@@ -1,6 +1,9 @@
.global remainderf
.type remainderf,@function
@@ -6667,7 +6891,7 @@ diff -Nur musl-0.9.15/src/math/i386/remainderf.s musl-git/src/math/i386/remainde
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-01 08:58:14.000000000 +0100
++++ musl-git/src/math/i386/remainder.s 2014-03-10 16:52:06.000000000 +0100
@@ -1,6 +1,9 @@
.global remainder
.type remainder,@function
@@ -6680,7 +6904,7 @@ diff -Nur musl-0.9.15/src/math/i386/remainder.s musl-git/src/math/i386/remainder
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-01 08:58:14.000000000 +0100
++++ musl-git/src/math/x32/acosl.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,16 @@
+# see ../i386/acos.s
+
@@ -6700,7 +6924,7 @@ diff -Nur musl-0.9.15/src/math/x32/acosl.s musl-git/src/math/x32/acosl.s
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/src/math/x32/asinl.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,12 @@
+.global asinl
+.type asinl,@function
@@ -6716,7 +6940,7 @@ diff -Nur musl-0.9.15/src/math/x32/asinl.s musl-git/src/math/x32/asinl.s
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/src/math/x32/atan2l.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,7 @@
+.global atan2l
+.type atan2l,@function
@@ -6727,7 +6951,7 @@ diff -Nur musl-0.9.15/src/math/x32/atan2l.s musl-git/src/math/x32/atan2l.s
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/src/math/x32/atanl.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,7 @@
+.global atanl
+.type atanl,@function
@@ -6738,12 +6962,12 @@ diff -Nur musl-0.9.15/src/math/x32/atanl.s musl-git/src/math/x32/atanl.s
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/src/math/x32/ceill.s 2014-03-10 16:52:06.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-01 08:58:14.000000000 +0100
++++ musl-git/src/math/x32/exp2l.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,90 @@
+.global expm1l
+.type expm1l,@function
@@ -6837,7 +7061,7 @@ diff -Nur musl-0.9.15/src/math/x32/exp2l.s musl-git/src/math/x32/exp2l.s
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/src/math/x32/expl.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,101 @@
+# exp(x) = 2^hi + 2^hi (2^lo - 1)
+# where hi+lo = log2e*x with 128bit precision
@@ -6942,12 +7166,12 @@ diff -Nur musl-0.9.15/src/math/x32/expl.s musl-git/src/math/x32/expl.s
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/src/math/x32/expm1l.s 2014-03-10 16:52:06.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-01 08:58:14.000000000 +0100
++++ musl-git/src/math/x32/fabsf.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,7 @@
+.global fabsf
+.type fabsf,@function
@@ -6958,7 +7182,7 @@ diff -Nur musl-0.9.15/src/math/x32/fabsf.s musl-git/src/math/x32/fabsf.s
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/src/math/x32/fabsl.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,6 @@
+.global fabsl
+.type fabsl,@function
@@ -6968,7 +7192,7 @@ diff -Nur musl-0.9.15/src/math/x32/fabsl.s musl-git/src/math/x32/fabsl.s
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/src/math/x32/fabs.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,9 @@
+.global fabs
+.type fabs,@function
@@ -6981,7 +7205,7 @@ diff -Nur musl-0.9.15/src/math/x32/fabs.s musl-git/src/math/x32/fabs.s
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/src/math/x32/floorl.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,27 @@
+.global floorl
+.type floorl,@function
@@ -7012,7 +7236,7 @@ diff -Nur musl-0.9.15/src/math/x32/floorl.s musl-git/src/math/x32/floorl.s
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/src/math/x32/fmodl.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,11 @@
+.global fmodl
+.type fmodl,@function
@@ -7027,7 +7251,7 @@ diff -Nur musl-0.9.15/src/math/x32/fmodl.s musl-git/src/math/x32/fmodl.s
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/src/math/x32/llrintf.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,5 @@
+.global llrintf
+.type llrintf,@function
@@ -7036,7 +7260,7 @@ diff -Nur musl-0.9.15/src/math/x32/llrintf.s musl-git/src/math/x32/llrintf.s
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/src/math/x32/llrintl.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,7 @@
+.global llrintl
+.type llrintl,@function
@@ -7047,7 +7271,7 @@ diff -Nur musl-0.9.15/src/math/x32/llrintl.s musl-git/src/math/x32/llrintl.s
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/src/math/x32/llrint.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,5 @@
+.global llrint
+.type llrint,@function
@@ -7056,7 +7280,7 @@ diff -Nur musl-0.9.15/src/math/x32/llrint.s musl-git/src/math/x32/llrint.s
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/src/math/x32/log10l.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,7 @@
+.global log10l
+.type log10l,@function
@@ -7067,7 +7291,7 @@ diff -Nur musl-0.9.15/src/math/x32/log10l.s musl-git/src/math/x32/log10l.s
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/src/math/x32/log1pl.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,15 @@
+.global log1pl
+.type log1pl,@function
@@ -7086,7 +7310,7 @@ diff -Nur musl-0.9.15/src/math/x32/log1pl.s musl-git/src/math/x32/log1pl.s
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/src/math/x32/log2l.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,7 @@
+.global log2l
+.type log2l,@function
@@ -7097,7 +7321,7 @@ diff -Nur musl-0.9.15/src/math/x32/log2l.s musl-git/src/math/x32/log2l.s
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/src/math/x32/logl.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,7 @@
+.global logl
+.type logl,@function
@@ -7108,7 +7332,7 @@ diff -Nur musl-0.9.15/src/math/x32/logl.s musl-git/src/math/x32/logl.s
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/src/math/x32/lrintf.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,5 @@
+.global lrintf
+.type lrintf,@function
@@ -7117,7 +7341,7 @@ diff -Nur musl-0.9.15/src/math/x32/lrintf.s musl-git/src/math/x32/lrintf.s
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/src/math/x32/lrintl.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,7 @@
+.global lrintl
+.type lrintl,@function
@@ -7128,7 +7352,7 @@ diff -Nur musl-0.9.15/src/math/x32/lrintl.s musl-git/src/math/x32/lrintl.s
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/src/math/x32/lrint.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,5 @@
+.global lrint
+.type lrint,@function
@@ -7137,7 +7361,7 @@ diff -Nur musl-0.9.15/src/math/x32/lrint.s musl-git/src/math/x32/lrint.s
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/src/math/x32/remainderl.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,11 @@
+.global remainderl
+.type remainderl,@function
@@ -7152,7 +7376,7 @@ diff -Nur musl-0.9.15/src/math/x32/remainderl.s musl-git/src/math/x32/remainderl
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/src/math/x32/rintl.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,6 @@
+.global rintl
+.type rintl,@function
@@ -7162,7 +7386,7 @@ diff -Nur musl-0.9.15/src/math/x32/rintl.s musl-git/src/math/x32/rintl.s
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/src/math/x32/sqrtf.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,4 @@
+.global sqrtf
+.type sqrtf,@function
@@ -7170,7 +7394,7 @@ diff -Nur musl-0.9.15/src/math/x32/sqrtf.s musl-git/src/math/x32/sqrtf.s
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/src/math/x32/sqrtl.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,5 @@
+.global sqrtl
+.type sqrtl,@function
@@ -7179,7 +7403,7 @@ diff -Nur musl-0.9.15/src/math/x32/sqrtl.s musl-git/src/math/x32/sqrtl.s
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/src/math/x32/sqrt.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,4 @@
+.global sqrt
+.type sqrt,@function
@@ -7187,12 +7411,12 @@ diff -Nur musl-0.9.15/src/math/x32/sqrt.s musl-git/src/math/x32/sqrt.s
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/src/math/x32/truncl.s 2014-03-10 16:52:06.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-01 08:58:14.000000000 +0100
++++ musl-git/src/misc/nftw.c 2014-03-10 16:52:06.000000000 +0100
@@ -46,8 +46,7 @@
type = FTW_F;
}
@@ -7205,7 +7429,7 @@ diff -Nur musl-0.9.15/src/misc/nftw.c musl-git/src/misc/nftw.c
new.chain = h;
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-01 08:58:14.000000000 +0100
++++ musl-git/src/network/accept4.c 2014-03-10 16:52:06.000000000 +0100
@@ -1,9 +1,20 @@
#define _GNU_SOURCE
#include <sys/socket.h>
@@ -7230,7 +7454,7 @@ diff -Nur musl-0.9.15/src/network/accept4.c musl-git/src/network/accept4.c
}
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-01 08:58:14.000000000 +0100
++++ musl-git/src/network/inet_legacy.c 2014-03-10 16:52:06.000000000 +0100
@@ -16,9 +16,8 @@
return 1;
}
@@ -7244,7 +7468,7 @@ diff -Nur musl-0.9.15/src/network/inet_legacy.c musl-git/src/network/inet_legacy
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-01 08:58:14.000000000 +0100
++++ musl-git/src/network/proto.c 2014-03-10 16:52:06.000000000 +0100
@@ -4,7 +4,7 @@
/* do we really need all these?? */
@@ -7267,7 +7491,7 @@ diff -Nur musl-0.9.15/src/network/proto.c musl-git/src/network/proto.c
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-01 08:58:14.000000000 +0100
++++ musl-git/src/prng/random.c 2014-03-10 16:52:06.000000000 +0100
@@ -1,10 +1,3 @@
-/*
- * random.c - Copyright © 2011 Szabolcs Nagy
@@ -7302,7 +7526,7 @@ diff -Nur musl-0.9.15/src/prng/random.c musl-git/src/prng/random.c
}
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-01 08:58:14.000000000 +0100
++++ musl-git/src/process/posix_spawn.c 2014-03-10 16:52:06.000000000 +0100
@@ -166,7 +166,7 @@
close(args.p[0]);
@@ -7314,7 +7538,7 @@ diff -Nur musl-0.9.15/src/process/posix_spawn.c musl-git/src/process/posix_spawn
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-01 08:58:14.000000000 +0100
++++ musl-git/src/process/x32/vfork.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,12 @@
+.global __vfork
+.weak vfork
@@ -7330,17 +7554,17 @@ diff -Nur musl-0.9.15/src/process/x32/vfork.s musl-git/src/process/x32/vfork.s
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/src/setjmp/mipsel-sf/longjmp.sub 2014-03-10 16:52:06.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-01 08:58:14.000000000 +0100
++++ musl-git/src/setjmp/mipsel-sf/setjmp.sub 2014-03-10 16:52:06.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-01 08:58:14.000000000 +0100
++++ musl-git/src/setjmp/mips-sf/longjmp.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,25 @@
+.set noreorder
+
@@ -7369,12 +7593,12 @@ diff -Nur musl-0.9.15/src/setjmp/mips-sf/longjmp.s musl-git/src/setjmp/mips-sf/l
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/src/setjmp/mips-sf/longjmp.sub 2014-03-10 16:52:06.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-01 08:58:14.000000000 +0100
++++ musl-git/src/setjmp/mips-sf/setjmp.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,25 @@
+.set noreorder
+
@@ -7403,12 +7627,12 @@ diff -Nur musl-0.9.15/src/setjmp/mips-sf/setjmp.s musl-git/src/setjmp/mips-sf/se
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/src/setjmp/mips-sf/setjmp.sub 2014-03-10 16:52:06.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-01 08:58:14.000000000 +0100
++++ musl-git/src/setjmp/sh/longjmp.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,26 @@
+.global _longjmp
+.global longjmp
@@ -7438,7 +7662,7 @@ diff -Nur musl-0.9.15/src/setjmp/sh/longjmp.s musl-git/src/setjmp/sh/longjmp.s
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/src/setjmp/sh/setjmp.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,25 @@
+.global __setjmp
+.global _setjmp
@@ -7467,17 +7691,17 @@ diff -Nur musl-0.9.15/src/setjmp/sh/setjmp.s musl-git/src/setjmp/sh/setjmp.s
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/src/setjmp/sheb-nofpu/longjmp.sub 2014-03-10 16:52:06.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-01 08:58:14.000000000 +0100
++++ musl-git/src/setjmp/sheb-nofpu/setjmp.sub 2014-03-10 16:52:06.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-01 08:58:14.000000000 +0100
++++ musl-git/src/setjmp/sh-nofpu/longjmp.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,22 @@
+.global _longjmp
+.global longjmp
@@ -7503,12 +7727,12 @@ diff -Nur musl-0.9.15/src/setjmp/sh-nofpu/longjmp.s musl-git/src/setjmp/sh-nofpu
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/src/setjmp/sh-nofpu/longjmp.sub 2014-03-10 16:52:06.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-01 08:58:14.000000000 +0100
++++ musl-git/src/setjmp/sh-nofpu/setjmp.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,21 @@
+.global __setjmp
+.global _setjmp
@@ -7533,12 +7757,12 @@ diff -Nur musl-0.9.15/src/setjmp/sh-nofpu/setjmp.s musl-git/src/setjmp/sh-nofpu/
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/src/setjmp/sh-nofpu/setjmp.sub 2014-03-10 16:52:06.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-01 08:58:14.000000000 +0100
++++ musl-git/src/setjmp/x32/longjmp.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,22 @@
+/* Copyright 2011-2012 Nicholas J. Kain, licensed under standard MIT license */
+.global _longjmp
@@ -7564,7 +7788,7 @@ diff -Nur musl-0.9.15/src/setjmp/x32/longjmp.s musl-git/src/setjmp/x32/longjmp.s
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/src/setjmp/x32/setjmp.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,22 @@
+/* Copyright 2011-2012 Nicholas J. Kain, licensed under standard MIT license */
+.global __setjmp
@@ -7590,7 +7814,7 @@ diff -Nur musl-0.9.15/src/setjmp/x32/setjmp.s musl-git/src/setjmp/x32/setjmp.s
+ ret
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-01 08:58:14.000000000 +0100
++++ musl-git/src/signal/sh/restore.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,24 @@
+.global __restore
+.type __restore, @function
@@ -7618,7 +7842,7 @@ diff -Nur musl-0.9.15/src/signal/sh/restore.s musl-git/src/signal/sh/restore.s
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/src/signal/sh/sigsetjmp.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,27 @@
+.global sigsetjmp
+.type sigsetjmp, @function
@@ -7649,7 +7873,7 @@ diff -Nur musl-0.9.15/src/signal/sh/sigsetjmp.s musl-git/src/signal/sh/sigsetjmp
+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-01 08:58:14.000000000 +0100
++++ musl-git/src/signal/sigandset.c 2014-03-10 16:52:06.000000000 +0100
@@ -3,7 +3,7 @@
#define SST_SIZE (_NSIG/8/sizeof(long))
@@ -7661,7 +7885,7 @@ diff -Nur musl-0.9.15/src/signal/sigandset.c musl-git/src/signal/sigandset.c
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-01 08:58:14.000000000 +0100
++++ musl-git/src/signal/sigorset.c 2014-03-10 16:52:06.000000000 +0100
@@ -3,7 +3,7 @@
#define SST_SIZE (_NSIG/8/sizeof(long))
@@ -7673,7 +7897,7 @@ diff -Nur musl-0.9.15/src/signal/sigorset.c musl-git/src/signal/sigorset.c
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-01 08:58:14.000000000 +0100
++++ musl-git/src/signal/x32/restore.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,8 @@
+.global __restore_rt
+.global __restore
@@ -7685,7 +7909,7 @@ diff -Nur musl-0.9.15/src/signal/x32/restore.s musl-git/src/signal/x32/restore.s
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/src/signal/x32/sigsetjmp.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,14 @@
+/* Copyright 2011-2012 Nicholas J. Kain, licensed under standard MIT license */
+.global sigsetjmp
@@ -7703,7 +7927,7 @@ diff -Nur musl-0.9.15/src/signal/x32/sigsetjmp.s musl-git/src/signal/x32/sigsetj
+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-01 08:58:14.000000000 +0100
++++ musl-git/src/stdio/__fdopen.c 2014-03-10 16:52:06.000000000 +0100
@@ -32,7 +32,9 @@
/* Set append mode on fd if opened for append */
if (*mode == 'a') {
@@ -7717,7 +7941,7 @@ diff -Nur musl-0.9.15/src/stdio/__fdopen.c musl-git/src/stdio/__fdopen.c
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-01 08:58:14.000000000 +0100
++++ musl-git/src/stdio/ftell.c 2014-03-10 16:52:06.000000000 +0100
@@ -4,7 +4,9 @@
off_t __ftello_unlocked(FILE *f)
@@ -7729,9 +7953,40 @@ diff -Nur musl-0.9.15/src/stdio/ftell.c musl-git/src/stdio/ftell.c
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-10 16:52:06.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-01 08:58:14.000000000 +0100
++++ musl-git/src/stdio/vfscanf.c 2014-03-10 16:52:06.000000000 +0100
@@ -328,3 +328,5 @@
FUNLOCK(f);
return matches;
@@ -7740,7 +7995,7 @@ diff -Nur musl-0.9.15/src/stdio/vfscanf.c musl-git/src/stdio/vfscanf.c
+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-01 08:58:14.000000000 +0100
++++ musl-git/src/thread/arm/clone.s 2014-03-10 16:52:06.000000000 +0100
@@ -1,10 +1,7 @@
.text
.global __clone
@@ -7754,7 +8009,7 @@ diff -Nur musl-0.9.15/src/thread/arm/clone.s musl-git/src/thread/arm/clone.s
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-01 08:58:14.000000000 +0100
++++ musl-git/src/thread/cancel_dummy.c 2014-03-10 16:52:06.000000000 +0100
@@ -1,6 +1,9 @@
#include "pthread_impl.h"
+#include "syscall.h"
@@ -7768,7 +8023,7 @@ diff -Nur musl-0.9.15/src/thread/cancel_dummy.c musl-git/src/thread/cancel_dummy
}
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-01 08:58:14.000000000 +0100
++++ musl-git/src/thread/cancel_impl.c 2014-03-10 16:52:06.000000000 +0100
@@ -1,4 +1,5 @@
#include "pthread_impl.h"
+#include "syscall.h"
@@ -7793,7 +8048,7 @@ diff -Nur musl-0.9.15/src/thread/cancel_impl.c musl-git/src/thread/cancel_impl.c
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-01 08:58:14.000000000 +0100
++++ musl-git/src/thread/clone.c 2014-03-10 16:52:06.000000000 +0100
@@ -1,10 +1,7 @@
#include <errno.h>
-#include "libc.h"
@@ -7809,7 +8064,7 @@ diff -Nur musl-0.9.15/src/thread/clone.c musl-git/src/thread/clone.c
-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-01 08:58:14.000000000 +0100
++++ musl-git/src/thread/i386/clone.s 2014-03-10 16:52:06.000000000 +0100
@@ -1,10 +1,7 @@
.text
.global __clone
@@ -7823,7 +8078,7 @@ diff -Nur musl-0.9.15/src/thread/i386/clone.s musl-git/src/thread/i386/clone.s
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-01 08:58:14.000000000 +0100
++++ musl-git/src/thread/microblaze/clone.s 2014-03-10 16:52:06.000000000 +0100
@@ -1,14 +1,11 @@
.global __clone
-.weak clone
@@ -7850,7 +8105,7 @@ diff -Nur musl-0.9.15/src/thread/microblaze/clone.s musl-git/src/thread/microbla
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-01 08:58:14.000000000 +0100
++++ musl-git/src/thread/sh/clone.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,47 @@
+.text
+.global __clone
@@ -7901,7 +8156,7 @@ diff -Nur musl-0.9.15/src/thread/sh/clone.s musl-git/src/thread/sh/clone.s
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/src/thread/sh/__set_thread_area.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,5 @@
+.global __set_thread_area
+.type __set_thread_area, @function
@@ -7910,7 +8165,7 @@ diff -Nur musl-0.9.15/src/thread/sh/__set_thread_area.s musl-git/src/thread/sh/_
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/src/thread/sh/syscall_cp.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,39 @@
+.text
+.global __syscall_cp_asm
@@ -7953,7 +8208,7 @@ diff -Nur musl-0.9.15/src/thread/sh/syscall_cp.s musl-git/src/thread/sh/syscall_
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/src/thread/sh/__unmapself.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,22 @@
+.text
+.global __unmapself
@@ -7979,7 +8234,7 @@ diff -Nur musl-0.9.15/src/thread/sh/__unmapself.s musl-git/src/thread/sh/__unmap
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/src/thread/__wait.c 2014-03-10 16:52:06.000000000 +0100
@@ -10,6 +10,6 @@
}
if (waiters) a_inc(waiters);
@@ -7990,7 +8245,7 @@ diff -Nur musl-0.9.15/src/thread/__wait.c musl-git/src/thread/__wait.c
}
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-01 08:58:14.000000000 +0100
++++ musl-git/src/thread/x32/clone.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,25 @@
+.text
+.global __clone
@@ -8019,7 +8274,7 @@ diff -Nur musl-0.9.15/src/thread/x32/clone.s musl-git/src/thread/x32/clone.s
+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-01 08:58:14.000000000 +0100
++++ musl-git/src/thread/x32/__set_thread_area.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,10 @@
+/* Copyright 2011-2012 Nicholas J. Kain, licensed under standard MIT license */
+.text
@@ -8033,7 +8288,7 @@ diff -Nur musl-0.9.15/src/thread/x32/__set_thread_area.s musl-git/src/thread/x32
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/src/thread/x32/syscall_cp.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,23 @@
+.text
+.global __syscall_cp_internal
@@ -8060,7 +8315,7 @@ diff -Nur musl-0.9.15/src/thread/x32/syscall_cp.s musl-git/src/thread/x32/syscal
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/src/thread/x32/__unmapself.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,10 @@
+/* Copyright 2011-2012 Nicholas J. Kain, licensed under standard MIT license */
+.text
@@ -8074,7 +8329,7 @@ diff -Nur musl-0.9.15/src/thread/x32/__unmapself.s musl-git/src/thread/x32/__unm
+ 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-01 08:58:14.000000000 +0100
++++ musl-git/src/thread/x86_64/clone.s 2014-03-10 16:52:06.000000000 +0100
@@ -1,10 +1,7 @@
.text
.global __clone
@@ -8088,7 +8343,7 @@ diff -Nur musl-0.9.15/src/thread/x86_64/clone.s musl-git/src/thread/x86_64/clone
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-01 08:58:14.000000000 +0100
++++ musl-git/src/time/timer_delete.c 2014-03-10 16:52:06.000000000 +0100
@@ -10,5 +10,5 @@
__wake(&td->timer_id, 1, 1);
return 0;
@@ -8098,7 +8353,7 @@ diff -Nur musl-0.9.15/src/time/timer_delete.c musl-git/src/time/timer_delete.c
}
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-01 08:58:14.000000000 +0100
++++ musl-git/src/time/timer_getoverrun.c 2014-03-10 16:52:06.000000000 +0100
@@ -8,5 +8,5 @@
pthread_t td = (void *)((uintptr_t)t << 1);
t = (void *)(uintptr_t)(td->timer_id & INT_MAX);
@@ -8108,7 +8363,7 @@ diff -Nur musl-0.9.15/src/time/timer_getoverrun.c musl-git/src/time/timer_getove
}
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-01 08:58:14.000000000 +0100
++++ musl-git/src/time/timer_gettime.c 2014-03-10 16:52:06.000000000 +0100
@@ -8,5 +8,5 @@
pthread_t td = (void *)((uintptr_t)t << 1);
t = (void *)(uintptr_t)(td->timer_id & INT_MAX);
@@ -8118,7 +8373,7 @@ diff -Nur musl-0.9.15/src/time/timer_gettime.c musl-git/src/time/timer_gettime.c
}
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-01 08:58:14.000000000 +0100
++++ musl-git/src/time/timer_settime.c 2014-03-10 16:52:06.000000000 +0100
@@ -8,5 +8,5 @@
pthread_t td = (void *)((uintptr_t)t << 1);
t = (void *)(uintptr_t)(td->timer_id & INT_MAX);
@@ -8128,7 +8383,7 @@ diff -Nur musl-0.9.15/src/time/timer_settime.c musl-git/src/time/timer_settime.c
}
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-01 08:58:14.000000000 +0100
++++ musl-git/src/unistd/sh/pipe.s 2014-03-10 16:52:06.000000000 +0100
@@ -0,0 +1,27 @@
+.global pipe
+.type pipe, @function
@@ -8159,7 +8414,7 @@ diff -Nur musl-0.9.15/src/unistd/sh/pipe.s musl-git/src/unistd/sh/pipe.s
+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-01 08:58:14.000000000 +0100
++++ musl-git/tools/install.sh 2014-03-10 16:52:06.000000000 +0100
@@ -51,6 +51,7 @@
ln -s "$1" "$tmp"
else
diff --git a/toolchain/uClibc/Makefile b/toolchain/uClibc/Makefile
index 4ee9af510..18b94916f 100644
--- a/toolchain/uClibc/Makefile
+++ b/toolchain/uClibc/Makefile
@@ -14,41 +14,39 @@ ifeq (${ADK_MAKE_PARALLEL},y)
UCLIBC_MAKEOPTS+= -j${ADK_MAKE_JOBS}
endif
-UCLIBCCFG=uclibc.config
+$(WRKBUILD)/.headers:
+ $(SED) 's,^CROSS_COMPILE=.*,CROSS_COMPILE=$(TARGET_CROSS),g' $(WRKBUILD)/Rules.mak
+ sed -e 's^KERNEL_HEADERS.*$$KERNEL_HEADERS=\"${STAGING_TARGET_DIR}/usr/include\"' \
+ $(TOPDIR)/target/$(ADK_TARGET_ARCH)/uclibc.config >${WRKBUILD}/.config
ifeq ($(ADK_TARGET_ENDIAN),little)
-ifeq ($(ADK_CPU_MIPS64),y)
-UCLIBCCFG=uclibc.config.little.mips64
+ $(SED) 's/.*\(ARCH_LITTLE_ENDIAN\).*/\1=y/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(ARCH_WANTS_LITTLE_ENDIAN\).*/\1=y/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(ARCH_BIG_ENDIAN\).*/# \1 is not set/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(ARCH_WANTS_BIG_ENDIAN\).*/# \1 is not set/' ${WRKBUILD}/.config
else
-UCLIBCCFG=uclibc.config.little
+ $(SED) 's/.*\(ARCH_BIG_ENDIAN\).*/\1=y/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(ARCH_WANTS_BIG_ENDIAN\).*/\1=y/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(ARCH_LITTLE_ENDIAN\).*/# \1 is not set/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(ARCH_WANTS_LITTLE_ENDIAN\).*/# \1 is not set/' ${WRKBUILD}/.config
endif
-endif
-ifeq ($(ADK_TARGET_ENDIAN),big)
-ifeq ($(ADK_CPU_MIPS64),y)
-UCLIBCCFG=uclibc.config.big.mips64
+ifeq ($(ADK_LINUX_64),y)
+ $(SED) 's/.*\(CONFIG_MIPS_ISA_MIPS64\).*/\1=y/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(CONFIG_MIPS_ISA_MIPS32\).*/# \1 is not set/' ${WRKBUILD}/.config
else
-UCLIBCCFG=uclibc.config.big
-endif
+ $(SED) 's/.*\(CONFIG_MIPS_ISA_MIPS32\).*/\1=y/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(CONFIG_MIPS_ISA_MIPS64\).*/# \1 is not set/' ${WRKBUILD}/.config
endif
-
-ifeq ($(ADK_TARGET_SYSTEM_LEMOTE_YEELONG),y)
-UCLIBCCFG=uclibc.config.little.mips64
-endif
-
-$(WRKBUILD)/.headers:
- $(SED) 's,^CROSS_COMPILE=.*,CROSS_COMPILE=$(TARGET_CROSS),g' $(WRKBUILD)/Rules.mak
- sed -e 's^KERNEL_HEADERS.*$$KERNEL_HEADERS=\"${STAGING_TARGET_DIR}/usr/include\"' \
- $(TOPDIR)/target/$(ADK_TARGET_ARCH)/$(UCLIBCCFG) >${WRKBUILD}/.config
-ifeq ($(ADK_TARGET_ABI_N64),y)
+ifeq ($(ADK_n64),y)
$(SED) 's/.*\(CONFIG_MIPS_N64_ABI\).*/\1=y/' ${WRKBUILD}/.config
$(SED) 's/.*\(CONFIG_MIPS_O32_ABI\).*/# \1 is not set/' ${WRKBUILD}/.config
$(SED) 's/.*\(CONFIG_MIPS_N32_ABI\).*/# \1 is not set/' ${WRKBUILD}/.config
endif
-ifeq ($(ADK_TARGET_ABI_N32),y)
+ifeq ($(ADK_n32),y)
$(SED) 's/.*\(CONFIG_MIPS_N32_ABI\).*/\1=y/' ${WRKBUILD}/.config
$(SED) 's/.*\(CONFIG_MIPS_O32_ABI\).*/# \1 is not set/' ${WRKBUILD}/.config
$(SED) 's/.*\(CONFIG_MIPS_N64_ABI\).*/# \1 is not set/' ${WRKBUILD}/.config
endif
-ifeq ($(ADK_TARGET_ABI_O32),y)
+ifeq ($(ADK_o32),y)
$(SED) 's/.*\(CONFIG_MIPS_O32_ABI\).*/\1=y/' ${WRKBUILD}/.config
$(SED) 's/.*\(CONFIG_MIPS_N32_ABI\).*/# \1 is not set/' ${WRKBUILD}/.config
$(SED) 's/.*\(CONFIG_MIPS_N64_ABI\).*/# \1 is not set/' ${WRKBUILD}/.config
@@ -116,8 +114,6 @@ endif
RUNTIME_PREFIX=/ \
CPU_CFLAGS="$(TARGET_CFLAGS)" \
all install_runtime
- rm -rf $(STAGING_TARGET_DIR)/lib/libc.so
- ln -s libc.so.0 $(STAGING_TARGET_DIR)/lib/libc.so
# cleanup toolchain
-find $(STAGING_TARGET_DIR) $(STAGING_HOST_DIR) -name \*.la -delete
ifeq ($(ADK_TOOLCHAIN),y)