summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--README6
-rw-r--r--mk/build.mk44
-rw-r--r--mk/host.mk2
-rw-r--r--mk/image.mk12
-rw-r--r--mk/kernel-vars.mk2
-rw-r--r--mk/kernel-ver.mk2
-rw-r--r--mk/package.mk2
-rw-r--r--mk/pkg-bottom.mk6
-rw-r--r--mk/vars.mk45
-rw-r--r--package/base-files/Makefile2
-rw-r--r--package/gcc/Makefile11
-rw-r--r--package/gcc/patches/4.8.2/musl-cross.patch698
-rw-r--r--package/gcj/Makefile8
-rw-r--r--package/openjdk7/Makefile2
-rw-r--r--package/perl/files/config.sh.mips64.eglibc1118
-rw-r--r--package/perl/files/config.sh.mips64.uclibc1118
-rw-r--r--package/perl/files/config.sh.mipsel.musl1118
-rw-r--r--package/xbmc/Makefile2
-rw-r--r--rules.mk1
-rwxr-xr-xscripts/create.sh5
-rw-r--r--scripts/scan-tools.sh36
-rw-r--r--target/arm/sys-available/toolchain-arm4
-rw-r--r--target/arm/sys-available/toolchain-armeb11
-rw-r--r--target/config/Config.in23
-rw-r--r--target/config/Config.in.tools40
-rw-r--r--target/linux/config/Config.in.kernel8
-rw-r--r--target/microblaze/Makefile17
-rw-r--r--target/mips/Makefile14
-rw-r--r--target/ppc/sys-available/toolchain-ppc1
-rw-r--r--target/ppc64/sys-available/toolchain-ppc641
-rw-r--r--target/tarch.lst1
-rw-r--r--target/tools/addpattern/Makefile4
-rw-r--r--target/tools/lzma-loader/.svn/entries300
-rw-r--r--target/tools/lzma-loader/.svn/text-base/LzmaDecode.c.svn-base663
-rw-r--r--target/tools/lzma-loader/.svn/text-base/LzmaDecode.h.svn-base100
-rw-r--r--target/tools/lzma-loader/.svn/text-base/Makefile.svn-base77
-rw-r--r--target/tools/lzma-loader/.svn/text-base/README.svn-base55
-rw-r--r--target/tools/lzma-loader/.svn/text-base/decompress.c.svn-base186
-rw-r--r--target/tools/lzma-loader/.svn/text-base/decompress.lds.in.svn-base20
-rw-r--r--target/tools/lzma-loader/.svn/text-base/head.S.svn-base160
-rw-r--r--target/tools/lzma-loader/.svn/text-base/loader.lds.in.svn-base17
-rw-r--r--target/tools/mkfimage/Makefile4
-rw-r--r--target/tools/rules.mk7
-rw-r--r--target/tools/srec2bin/Makefile4
-rw-r--r--target/tools/trx/Makefile4
-rw-r--r--target/x86/kernel/qemu-i6863
-rw-r--r--toolchain/eglibc/Makefile7
-rw-r--r--toolchain/gcc/Makefile8
-rw-r--r--toolchain/gcc/Makefile.inc7
-rw-r--r--toolchain/gcc/patches/4.8.2/cflags.patch231
-rw-r--r--toolchain/gcc/patches/4.8.2/musl-stubs.patch49
-rw-r--r--toolchain/glibc/Makefile6
-rw-r--r--toolchain/kernel-headers/Makefile2
-rw-r--r--toolchain/musl/Makefile4
-rw-r--r--toolchain/musl/patches/musl-git-20140301.patch (renamed from toolchain/musl/patches/musl-git-20140225.patch)832
-rw-r--r--toolchain/uClibc/Makefile4
-rw-r--r--tools/Makefile30
-rw-r--r--tools/addpattern/Makefile4
-rw-r--r--tools/addpattern/addpattern.c (renamed from target/tools/addpattern/addpattern.c)0
-rw-r--r--tools/adk/Makefile8
-rw-r--r--tools/bc/Makefile6
-rw-r--r--tools/bzip2/Makefile24
-rw-r--r--tools/cdrtools/Makefile6
-rw-r--r--tools/cpio/Makefile4
-rw-r--r--tools/genext2fs/Makefile6
-rw-r--r--tools/gperf/Makefile6
-rw-r--r--tools/lzma-loader/Makefile (renamed from target/tools/lzma-loader/Makefile)0
-rw-r--r--tools/lzma-loader/src/LzmaDecode.c (renamed from target/tools/lzma-loader/src/LzmaDecode.c)0
-rw-r--r--tools/lzma-loader/src/LzmaDecode.h (renamed from target/tools/lzma-loader/src/LzmaDecode.h)0
-rw-r--r--tools/lzma-loader/src/LzmaDecode.o (renamed from target/tools/lzma-loader/src/LzmaDecode.o)bin6248 -> 6248 bytes
-rw-r--r--tools/lzma-loader/src/Makefile (renamed from target/tools/lzma-loader/src/Makefile)0
-rw-r--r--tools/lzma-loader/src/README (renamed from target/tools/lzma-loader/src/README)0
-rw-r--r--tools/lzma-loader/src/data.lds (renamed from target/tools/lzma-loader/src/data.lds)0
-rw-r--r--tools/lzma-loader/src/data.o (renamed from target/tools/lzma-loader/src/data.o)bin3996 -> 3996 bytes
-rwxr-xr-xtools/lzma-loader/src/decompress (renamed from target/tools/lzma-loader/src/decompress)bin71097 -> 71097 bytes
-rw-r--r--tools/lzma-loader/src/decompress.c (renamed from target/tools/lzma-loader/src/decompress.c)0
-rwxr-xr-xtools/lzma-loader/src/decompress.image (renamed from target/tools/lzma-loader/src/decompress.image)bin3484 -> 3484 bytes
-rw-r--r--tools/lzma-loader/src/decompress.lds (renamed from target/tools/lzma-loader/src/decompress.lds)0
-rw-r--r--tools/lzma-loader/src/decompress.lds.in (renamed from target/tools/lzma-loader/src/decompress.lds.in)0
-rw-r--r--tools/lzma-loader/src/decompress.o (renamed from target/tools/lzma-loader/src/decompress.o)bin2680 -> 2680 bytes
-rw-r--r--tools/lzma-loader/src/head.S (renamed from target/tools/lzma-loader/src/head.S)0
-rw-r--r--tools/lzma-loader/src/head.o (renamed from target/tools/lzma-loader/src/head.o)bin1204 -> 1204 bytes
-rwxr-xr-xtools/lzma-loader/src/loader (renamed from target/tools/lzma-loader/src/loader)bin3804 -> 3804 bytes
-rwxr-xr-xtools/lzma-loader/src/loader.elf (renamed from target/tools/lzma-loader/src/loader.elf)bin8486 -> 8486 bytes
-rw-r--r--tools/lzma-loader/src/loader.gz (renamed from target/tools/lzma-loader/src/loader.gz)bin2374 -> 2374 bytes
-rw-r--r--tools/lzma-loader/src/loader.lds (renamed from target/tools/lzma-loader/src/loader.lds)0
-rw-r--r--tools/lzma-loader/src/loader.lds.in (renamed from target/tools/lzma-loader/src/loader.lds.in)0
-rwxr-xr-xtools/lzma-loader/src/loader.o (renamed from target/tools/lzma-loader/src/loader.o)bin8486 -> 8486 bytes
-rw-r--r--tools/lzma/Makefile (renamed from target/tools/lzma/Makefile)7
-rw-r--r--tools/lzma/patches/001-large_files.patch (renamed from target/tools/lzma/patches/001-large_files.patch)0
-rw-r--r--tools/lzma/patches/002-lzmp.patch (renamed from target/tools/lzma/patches/002-lzmp.patch)0
-rw-r--r--tools/lzma/patches/003-compile_fixes.patch (renamed from target/tools/lzma/patches/003-compile_fixes.patch)0
-rw-r--r--tools/lzma/patches/100-static_library.patch (renamed from target/tools/lzma/patches/100-static_library.patch)0
-rw-r--r--tools/lzo/Makefile28
-rw-r--r--tools/lzop/Makefile30
-rw-r--r--tools/m4/Makefile25
-rw-r--r--tools/mkcrypt/Makefile4
-rw-r--r--tools/mkfimage/Makefile4
-rw-r--r--tools/mkfimage/mkfimage.c (renamed from target/tools/mkfimage/mkfimage.c)0
-rw-r--r--tools/mkimage/Makefile4
-rw-r--r--tools/mtd-utils/Makefile (renamed from target/tools/mtd-utils/Makefile)6
-rw-r--r--tools/mtd-utils/patches/lzo.patch (renamed from target/tools/mtd-utils/patches/lzo.patch)0
-rw-r--r--tools/squashfs/Makefile (renamed from target/tools/squashfs/Makefile)8
-rw-r--r--tools/squashfs/patches/cppflags.patch (renamed from target/tools/squashfs/patches/cppflags.patch)0
-rw-r--r--tools/srec2bin/Makefile4
-rw-r--r--tools/srec2bin/srec2bin.c (renamed from target/tools/srec2bin/srec2bin.c)0
-rw-r--r--tools/syslinux/Makefile13
-rw-r--r--tools/trx/Makefile4
-rw-r--r--tools/trx/trx.c (renamed from target/tools/trx/trx.c)0
-rw-r--r--tools/xz/Makefile (renamed from target/tools/xz/Makefile)8
111 files changed, 5197 insertions, 2157 deletions
diff --git a/.gitignore b/.gitignore
index a4d67734a..fc81d7882 100644
--- a/.gitignore
+++ b/.gitignore
@@ -30,7 +30,6 @@
/host_*/
/pkg_*/
/root_*/
-/bin/
/firmware/
/build_*/
/config/*.o
diff --git a/README b/README
index 820cc95c9..3e280c165 100644
--- a/README
+++ b/README
@@ -8,16 +8,11 @@ Before you can start you need to install some tools:
- gcc
- binutils
- GNU make
-- GNU m4
- GNU awk
- GNU sed
- tar
- patch
- gzip
-- bzip2
-- lzop
-- lzma
-- xz
- wget
- libc headers
- ncurses5 headers
@@ -39,3 +34,4 @@ To switch to another target configuration, simply run "make switch". This will
backup your existing configuration and will start with an empty one.
Sunshine!
+ Waldemar Brodkorb <wbx@openadk.org>
diff --git a/mk/build.mk b/mk/build.mk
index eadccdcb3..90fce65a8 100644
--- a/mk/build.mk
+++ b/mk/build.mk
@@ -91,7 +91,7 @@ POSTCONFIG= -@\
if [ -f .adkinit ];then rm .adkinit;\
else \
if [ -f .config.old ];then \
- $(TOPDIR)/bin/pkgrebuild;\
+ $(TOPDIR)/host_$(GNU_HOST_NAME)/usr/bin/pkgrebuild;\
rebuild=0; \
if [ "$$(grep ^BUSYBOX .config|md5sum)" != "$$(grep ^BUSYBOX .config.old|md5sum)" ];then \
touch .rebuild.busybox;\
@@ -138,7 +138,7 @@ include $(TOPDIR)/rules.mk
all: world
${TOPDIR}/package/Depends.mk: ${TOPDIR}/.config $(wildcard ${TOPDIR}/package/*/Makefile)
- $(BIN_DIR)/depmaker > ${TOPDIR}/package/Depends.mk
+ $(STAGING_HOST_DIR)/usr/bin/depmaker > ${TOPDIR}/package/Depends.mk
.NOTPARALLEL:
.PHONY: all world clean cleantarget cleandir distclean image_clean
@@ -155,12 +155,12 @@ ifeq ($(ADK_NATIVE),y)
else
ifeq ($(ADK_TOOLCHAIN),y)
ifeq ($(ADK_TOOLCHAIN_ONLY),y)
- $(MAKE) -f mk/build.mk toolchain/fixup tools/install package/compile
+ $(MAKE) -f mk/build.mk tools/install toolchain/fixup package/compile
else
- $(MAKE) -f mk/build.mk toolchain/fixup tools/install package/compile root_clean package/install
+ $(MAKE) -f mk/build.mk tools/install toolchain/fixup package/compile root_clean package/install
endif
else
- $(MAKE) -f mk/build.mk toolchain/fixup tools/install target/config-prepare target/compile package/compile root_clean package/install target/install package_index
+ $(MAKE) -f mk/build.mk tools/install toolchain/fixup target/config-prepare target/compile package/compile root_clean package/install target/install package_index
endif
endif
@@ -250,13 +250,13 @@ root_clean:
clean:
@$(TRACE) clean
$(MAKE) -C $(CONFIG) clean
- for d in ${STAGING_PKG_DIR}; do \
- for f in $$(ls $$d/[a-z]* 2>/dev/null |grep -v [A-Z] 2>/dev/null); do \
- while read file ; do \
- rm ${STAGING_DIR}/$$file 2>/dev/null;\
- done < $$f ; \
- rm $$f ; \
- done \
+ for f in $$(ls ${STAGING_PKG_DIR}/ 2>/dev/null |grep -v [A-Z]|grep -v stamps 2>/dev/null); do \
+ while read file ; do \
+ echo ${STAGING_DIR}/$$file ;\
+ rm ${STAGING_DIR}/$$file 2>/dev/null;\
+ done < $$f ; \
+ echo ${STAGING_PKG_DIR}/$$f ;\
+ rm ${STAGING_PKG_DIR}/$$f ; \
done
rm -rf $(BUILD_DIR) $(FW_DIR) $(TARGET_DIR) \
${TOPDIR}/package/pkglist.d
@@ -535,7 +535,7 @@ bulktoolchain:
$(GMAKE) prereq && \
$(GMAKE) ARCH=$$tarch SYSTEM=toolchain-$$arch LIBC=$$libc defconfig; \
$(GMAKE) VERBOSE=1 all; if [ $$? -ne 0 ]; then touch .exit;fi; \
- tar -cJf ${TOPDIR}/firmware/toolchain_$${arch}_$${libc}.tar.xz host_$${arch}_*_$${libc} target_$${arch}_*_$${libc}; \
+ tar -cvJf ${TOPDIR}/firmware/toolchain_$${arch}_$${libc}.tar.xz host_$${arch}_*_$${libc} target_$${arch}_*_$${libc}; \
rm .config; \
) 2>&1 | tee $(TOPDIR)/firmware/toolchain_$${arch}_$${libc}/build.log; \
if [ -f .exit ];then break;fi \
@@ -619,24 +619,24 @@ bulkallmod:
if [ -f .exit ];then echo "Bulk build failed!"; cat .exit;rm .exit; exit 1;fi \
done
-${TOPDIR}/bin/pkgmaker: $(TOPDIR)/tools/adk/pkgmaker.c $(TOPDIR)/tools/adk/sortfile.c $(TOPDIR)/tools/adk/strmap.c
- @mkdir -p ${TOPDIR}/bin
+$(TOPDIR)/host_$(GNU_HOST_NAME)/usr/bin/pkgmaker: $(TOPDIR)/tools/adk/pkgmaker.c $(TOPDIR)/tools/adk/sortfile.c $(TOPDIR)/tools/adk/strmap.c
+ @mkdir -p host_$(GNU_HOST_NAME)/usr/bin
@$(CC_FOR_BUILD) -g -o $@ tools/adk/pkgmaker.c tools/adk/sortfile.c tools/adk/strmap.c
-${TOPDIR}/bin/pkgrebuild: $(TOPDIR)/tools/adk/pkgrebuild.c $(TOPDIR)/tools/adk/strmap.c
+$(TOPDIR)/host_$(GNU_HOST_NAME)/usr/bin/pkgrebuild: $(TOPDIR)/tools/adk/pkgrebuild.c $(TOPDIR)/tools/adk/strmap.c
@$(CC_FOR_BUILD) -g -o $@ tools/adk/pkgrebuild.c tools/adk/strmap.c
-package/Config.in.auto menu .menu: $(wildcard ${TOPDIR}/package/*/Makefile) ${TOPDIR}/bin/pkgmaker ${TOPDIR}/bin/pkgrebuild
+package/Config.in.auto menu .menu: $(wildcard ${TOPDIR}/package/*/Makefile) $(TOPDIR)/host_$(GNU_HOST_NAME)/usr/bin/pkgmaker $(TOPDIR)/host_$(GNU_HOST_NAME)/usr/bin/pkgrebuild
@echo "Generating menu structure ..."
- @$(TOPDIR)/bin/pkgmaker
+ @$(TOPDIR)/host_$(GNU_HOST_NAME)/usr/bin/pkgmaker
@:>.menu
-${TOPDIR}/bin/depmaker: $(TOPDIR)/tools/adk/depmaker.c
- $(CC_FOR_BUILD) -g -o $(TOPDIR)/bin/depmaker $(TOPDIR)/tools/adk/depmaker.c
+$(TOPDIR)/host_$(GNU_HOST_NAME)/usr/bin/depmaker: $(TOPDIR)/tools/adk/depmaker.c
+ $(CC_FOR_BUILD) -g -o $@ $(TOPDIR)/tools/adk/depmaker.c
-dep: $(TOPDIR)/bin/depmaker
+dep: $(TOPDIR)/host_$(GNU_HOST_NAME)/usr/bin/depmaker
@echo "Generating dependencies ..."
- @$(TOPDIR)/bin/depmaker > ${TOPDIR}/package/Depends.mk
+ @$(TOPDIR)/host_$(GNU_HOST_NAME)/usr/bin/depmaker > ${TOPDIR}/package/Depends.mk
.PHONY: menu dep
diff --git a/mk/host.mk b/mk/host.mk
index 3fcca0664..aa88bab44 100644
--- a/mk/host.mk
+++ b/mk/host.mk
@@ -37,7 +37,7 @@ _HOST_PATCH_COOKIE= ${WRKDIST}/.prepared
_HOST_CONFIGURE_COOKIE= ${WRKDIR}/.host_configure_done
_HOST_BUILD_COOKIE= ${WRKDIR}/.host_build_done
_HOST_FAKE_COOKIE= ${HOST_WRKINST}/.host_fake_done
-_HOST_COOKIE= ${STAGING_PKG_DIR}/${PKG_NAME}${PKG_VERSION}-${PKG_RELEASE}-host
+_HOST_COOKIE= ${STAGING_PKG_DIR}/stamps/${PKG_NAME}${PKG_VERSION}-${PKG_RELEASE}-host
hostextract: ${_HOST_EXTRACT_COOKIE}
hostpatch: ${_HOST_PATCH_COOKIE}
diff --git a/mk/image.mk b/mk/image.mk
index 9b60c2400..571752eaf 100644
--- a/mk/image.mk
+++ b/mk/image.mk
@@ -136,15 +136,15 @@ endif
${FW_DIR}/${ROOTFSTARBALL}: ${TARGET_DIR} kernel-package
cd ${TARGET_DIR}; find . | sed -n '/^\.\//s///p' | \
sed "s#\(.*\)#:0:0::::::\1#" | sort | \
- ${BIN_DIR}/cpio -o -Hustar -P | gzip -n9 >$@
+ ${STAGING_HOST_DIR}/usr/bin/cpio -o -Hustar -P | gzip -n9 >$@
${FW_DIR}/${ROOTFSUSERTARBALL}: ${TARGET_DIR}
cd ${TARGET_DIR}; find . | grep -v ./boot/ | sed -n '/^\.\//s///p' | \
sed "s#\(.*\)#:0:0::::::\1#" | sort | \
- ${BIN_DIR}/cpio -o -Hustar -P | gzip -n9 >$@
+ ${STAGING_HOST_DIR}/usr/bin/cpio -o -Hustar -P | gzip -n9 >$@
${FW_DIR}/${INITRAMFS}_list: ${TARGET_DIR}
- bash ${LINUX_DIR}/scripts/gen_initramfs_list.sh -u squash -g squash \
+ $(BASH) ${LINUX_DIR}/scripts/gen_initramfs_list.sh -u squash -g squash \
${TARGET_DIR}/ >$@
( \
echo "nod /dev/console 0644 0 0 c 5 1"; \
@@ -162,12 +162,12 @@ ${FW_DIR}/${INITRAMFS}: ${FW_DIR}/${INITRAMFS}_list
${ADK_COMPRESSION_TOOL} -c >$@
${BUILD_DIR}/root.squashfs: ${TARGET_DIR}
- ${STAGING_HOST_DIR}/bin/mksquashfs ${TARGET_DIR} \
+ ${STAGING_HOST_DIR}/usr/bin/mksquashfs ${TARGET_DIR} \
${BUILD_DIR}/root.squashfs -comp xz \
-nopad -noappend -root-owned $(MAKE_TRACE)
${FW_DIR}/${ROOTFSJFFS2}: ${TARGET_DIR}
- ${STAGING_HOST_DIR}/bin/mkfs.jffs2 $(ADK_JFFS2_OPTS) -q -r ${TARGET_DIR} \
+ ${STAGING_HOST_DIR}/usr/bin/mkfs.jffs2 $(ADK_JFFS2_OPTS) -q -r ${TARGET_DIR} \
--pad=$(ADK_TARGET_MTD_SIZE) -o ${FW_DIR}/${ROOTFSJFFS2} $(MAKE_TRACE)
createinitramfs: ${FW_DIR}/${INITRAMFS}_list
@@ -242,7 +242,7 @@ ${FW_DIR}/${ROOTFSISO}: ${TARGET_DIR} kernel-package
${TARGET_DIR}/boot/syslinux
echo 'DEFAULT /boot/kernel root=/dev/sr0 init=/init' > \
${TARGET_DIR}/boot/syslinux/isolinux.cfg
- ${BIN_DIR}/mkisofs -R -uid 0 -gid 0 -o $@ \
+ ${STAGING_HOST_DIR}/usr/bin/mkisofs -R -uid 0 -gid 0 -o $@ \
-b boot/syslinux/isolinux.bin \
-c boot/syslinux/boot.cat -no-emul-boot \
-boot-load-size 4 -boot-info-table ${TARGET_DIR}
diff --git a/mk/kernel-vars.mk b/mk/kernel-vars.mk
index d668f7edb..0b3e7ddbb 100644
--- a/mk/kernel-vars.mk
+++ b/mk/kernel-vars.mk
@@ -25,4 +25,4 @@ ADK_KCPPFLAGS+= -DBCM47XX_OVERRIDE_FLASHSIZE=0x800000 \
endif
KERNEL_MAKE_ENV+= KCPPFLAGS='${ADK_KCPPFLAGS}' \
- PATH="${BIN_DIR}:$$PATH"
+ PATH="${STAGING_HOST_DIR}/usr/bin:$$PATH"
diff --git a/mk/kernel-ver.mk b/mk/kernel-ver.mk
index 17f189d04..09362fbae 100644
--- a/mk/kernel-ver.mk
+++ b/mk/kernel-ver.mk
@@ -2,7 +2,7 @@ ifeq ($(ADK_KERNEL_VERSION_TOOLCHAIN),y)
KERNEL_VERSION:= 3.12.13
KERNEL_MOD_VERSION:= $(KERNEL_VERSION)
KERNEL_RELEASE:= 1
-KERNEL_MD5SUM:= c5b0775d187bc79992bae17ae781de1e
+KERNEL_MD5SUM:= 345f5883cfb906dac4aef87e303d3a2d
endif
ifeq ($(ADK_KERNEL_VERSION_3_13_5),y)
KERNEL_VERSION:= 3.13.5
diff --git a/mk/package.mk b/mk/package.mk
index 125ed3d26..264cd06e0 100644
--- a/mk/package.mk
+++ b/mk/package.mk
@@ -249,7 +249,7 @@ endif
find usr ! -type d 2>/dev/null | \
grep -E -v -e '^usr/lib/pkgconfig' -e '^usr/share' -e '^usr/doc' -e '^usr/src' -e '^usr/man' -e '^usr/info' -e '^usr/lib/libc.so' -e '^usr/bin/[a-z0-9-]+-config' | \
tee '$${STAGING_PKG_DIR}/$(1)' | \
- $(BIN_DIR)/cpio -padlmu '$${STAGING_DIR}'
+ $(STAGING_HOST_DIR)/usr/bin/cpio -padlmu '$${STAGING_DIR}'
@cd '$${STAGING_DIR}'; grep 'usr/lib/.*\.la$$$$' \
'$${STAGING_PKG_DIR}/$(1)' | while read fn; do \
chmod u+w $$$$fn; \
diff --git a/mk/pkg-bottom.mk b/mk/pkg-bottom.mk
index d82a653ea..3988a676f 100644
--- a/mk/pkg-bottom.mk
+++ b/mk/pkg-bottom.mk
@@ -171,11 +171,11 @@ ifneq (,$(filter dev,${PKG_OPTS}))
@mkdir -p $(WRKDIR)/fake-${CPU_ARCH}/pkg-$(PKG_LIBNAME)-dev/usr/include
@test -d ${WRKINST}/usr/include && cd ${WRKINST}/usr/include; \
find . -name \*.h | \
- $(BIN_DIR)/cpio -padlmu $(WRKDIR)/fake-${CPU_ARCH}/pkg-$(PKG_LIBNAME)-dev/usr/include
+ $(STAGING_HOST_DIR)/usr/bin/cpio -padlmu $(WRKDIR)/fake-${CPU_ARCH}/pkg-$(PKG_LIBNAME)-dev/usr/include
@mkdir -p $(WRKDIR)/fake-${CPU_ARCH}/pkg-$(PKG_LIBNAME)-dev/usr/lib/pkgconfig
@test -d ${WRKINST}/usr/lib/pkgconfig && cd ${WRKINST}/usr/lib/pkgconfig; \
find . -name \*.pc | \
- $(BIN_DIR)/cpio -padlmu $(WRKDIR)/fake-${CPU_ARCH}/pkg-$(PKG_LIBNAME)-dev/usr/lib/pkgconfig
+ $(STAGING_HOST_DIR)/usr/bin/cpio -padlmu $(WRKDIR)/fake-${CPU_ARCH}/pkg-$(PKG_LIBNAME)-dev/usr/lib/pkgconfig
@for a in ${WRKINST}/usr/bin/*-config*; do \
[[ -e $$a ]] || continue; \
mkdir -p $(WRKDIR)/fake-${CPU_ARCH}/pkg-$(PKG_LIBNAME)-dev/usr/bin; \
@@ -191,7 +191,7 @@ endif
find usr ! -type d 2>/dev/null | \
grep -E -v -e '^usr/lib/pkgconfig' -e '^usr/share' -e '^usr/src' -e '^usr/doc' -e '^usr/local' -e '^usr/man' -e '^usr/info' -e '^usr/lib/libc.so' -e '^usr/bin/[a-z0-9-]+-config*' -e '^/usr/lib/libpthread_nonshared.a' | \
tee '${STAGING_PKG_DIR}/${PKG_NAME}' | \
- $(BIN_DIR)/cpio -padlmu '${STAGING_DIR}'
+ $(STAGING_HOST_DIR)/usr/bin/cpio -padlmu '${STAGING_DIR}'
@cd '${STAGING_DIR}'; grep 'usr/lib/.*\.la$$' \
'${STAGING_PKG_DIR}/${PKG_NAME}' | while read fn; do \
chmod u+w $$fn; \
diff --git a/mk/vars.mk b/mk/vars.mk
index 427b5b4ec..a0898ae2d 100644
--- a/mk/vars.mk
+++ b/mk/vars.mk
@@ -16,34 +16,38 @@ BUILD_DIR:= ${BASE_DIR}/build_${ADK_TARGET_SYSTEM}_${CPU_ARCH}_${ADK_TARGET_LIB
BUILD_DIR_PFX:= $(BASE_DIR)/build_*
STAGING_PKG_DIR:= ${BASE_DIR}/pkg_${ADK_TARGET_SYSTEM}_${CPU_ARCH}_${ADK_TARGET_LIBC}
STAGING_PKG_DIR_PFX:= ${BASE_DIR}/pkg_*
-STAGING_HOST_DIR:= ${BASE_DIR}/host_${CPU_ARCH}_${ADK_TARGET_SUFFIX}_${ADK_TARGET_LIBC}
+STAGING_HOST_DIR:= ${BASE_DIR}/host_${GNU_HOST_NAME}
STAGING_HOST_DIR_PFX:= ${BASE_DIR}/host_*
# use headers and foo-config from system
ifeq ($(ADK_NATIVE),y)
STAGING_TARGET_DIR:=
SCRIPT_TARGET_DIR:= /usr/bin
else
-STAGING_TARGET_DIR:= ${BASE_DIR}/target_${CPU_ARCH}_${ADK_TARGET_SUFFIX}_${ADK_TARGET_LIBC}
+ifeq ($(ADK_TARGET_ABI),)
+STAGING_TARGET_DIR:= ${BASE_DIR}/target_${CPU_ARCH}_${ADK_TARGET_LIBC}
+STAGING_DIR:= ${BASE_DIR}/target_${CPU_ARCH}_${ADK_TARGET_LIBC}
+STAGING_HOST2TARGET:= ../target_${CPU_ARCH}_${ADK_TARGET_LIBC}
+TOOLCHAIN_BUILD_DIR= $(BASE_DIR)/toolchain_build_${CPU_ARCH}_${ADK_TARGET_LIBC}
+else
+STAGING_TARGET_DIR:= ${BASE_DIR}/target_${CPU_ARCH}_${ADK_TARGET_LIBC}_${ADK_TARGET_ABI}
+STAGING_DIR:= ${BASE_DIR}/target_${CPU_ARCH}_${ADK_TARGET_LIBC}_${ADK_TARGET_ABI}
+STAGING_HOST2TARGET:= ../target_${CPU_ARCH}_${ADK_TARGET_LIBC}_${ADK_TARGET_ABI}
+TOOLCHAIN_BUILD_DIR= $(BASE_DIR)/toolchain_build_${CPU_ARCH}_${ADK_TARGET_LIBC}_${ADK_TARGET_ABI}
+endif
SCRIPT_TARGET_DIR:= ${STAGING_TARGET_DIR}/scripts
endif
-STAGING_DIR:= ${BASE_DIR}/target_${CPU_ARCH}_${ADK_TARGET_SUFFIX}_${ADK_TARGET_LIBC}
STAGING_TARGET_DIR_PFX:=${BASE_DIR}/target_*
-# relation from STAGING_HOST_DIR to STAGING_TARGET_DIR (for gcc to find
-# its sysroot while staying relocatable)
-STAGING_HOST2TARGET:= ../target_${CPU_ARCH}_${ADK_TARGET_SUFFIX}_${ADK_TARGET_LIBC}
-TOOLCHAIN_BUILD_DIR= $(BASE_DIR)/toolchain_build_${CPU_ARCH}_${ADK_TARGET_SUFFIX}_${ADK_TARGET_LIBC}
TOOLCHAIN_BUILD_DIR_PFX=$(BASE_DIR)/toolchain_build_*
TOOLS_BUILD_DIR= $(BASE_DIR)/tools_build
-BIN_DIR:= $(BASE_DIR)/bin
SCRIPT_DIR:= $(BASE_DIR)/scripts
FW_DIR:= $(BASE_DIR)/firmware/${ADK_TARGET_SYSTEM}_${CPU_ARCH}_${ADK_TARGET_LIBC}
FW_DIR_PFX:= $(BASE_DIR)/firmware
PACKAGE_DIR:= $(FW_DIR)/packages
TARGET_DIR:= $(BASE_DIR)/root_${ADK_TARGET_SYSTEM}_${CPU_ARCH}_${ADK_TARGET_LIBC}
TARGET_DIR_PFX:= $(BASE_DIR)/root_*
-TARGET_PATH= ${SCRIPT_DIR}:${BIN_DIR}:${STAGING_TARGET_DIR}/scripts:${STAGING_HOST_DIR}/bin:${STAGING_HOST_DIR}/usr/bin:${_PATH}
-HOST_PATH= ${SCRIPT_DIR}:${BIN_DIR}:${STAGING_HOST_DIR}/bin:${STAGING_HOST_DIR}/usr/bin:${_PATH}
-AUTOTOOL_PATH= ${BIN_DIR}:${STAGING_HOST_DIR}/bin:${STAGING_HOST_DIR}/usr/bin:${STAGING_TARGET_DIR}/scripts:${_PATH}
+TARGET_PATH= ${SCRIPT_DIR}:${STAGING_TARGET_DIR}/scripts:${STAGING_HOST_DIR}/bin:${STAGING_HOST_DIR}/usr/bin:${_PATH}
+HOST_PATH= ${SCRIPT_DIR}:${STAGING_HOST_DIR}/bin:${STAGING_HOST_DIR}/usr/bin:${_PATH}
+AUTOTOOL_PATH= ${STAGING_HOST_DIR}/bin:${STAGING_HOST_DIR}/usr/bin:${STAGING_TARGET_DIR}/scripts:${_PATH}
REAL_GNU_TARGET_NAME= $(CPU_ARCH)-$(ADK_VENDOR)-linux-$(ADK_TARGET_SUFFIX)
GNU_TARGET_NAME= $(CPU_ARCH)-$(ADK_VENDOR)-linux
@@ -82,13 +86,8 @@ endif
endif
TARGET_CPPFLAGS:=
-ifeq ($(ADK_LINUX_MICROBLAZE),y)
-TARGET_CFLAGS:= $(TARGET_CFLAGS_ARCH) -fwrapv -fno-ident $(ADK_TARGET_ABI_CFLAGS)
-TARGET_CFLAGS_LIBC:= $(TARGET_CFLAGS_ARCH) -fwrapv -fno-ident $(TARGET_OPTIMIZATION)
-else
TARGET_CFLAGS:= $(TARGET_CFLAGS_ARCH) -fwrapv -fno-ident -fhonour-copts $(ADK_TARGET_ABI_CFLAGS) $(MODE_FLAGS)
TARGET_CFLAGS_LIBC:= $(TARGET_CFLAGS_ARCH) -fwrapv -fno-ident -fhonour-copts $(TARGET_OPTIMIZATION) $(MODE_FLAGS)
-endif
TARGET_CXXFLAGS:= $(TARGET_CFLAGS_ARCH) -fwrapv -fno-ident $(MODE_FLAGS)
TARGET_LDFLAGS:= -L$(STAGING_TARGET_DIR)/lib -L$(STAGING_TARGET_DIR)/usr/lib \
-Wl,-O1 -Wl,-rpath -Wl,/usr/lib \
@@ -185,7 +184,7 @@ PKG_INSTALL:= IPKG_TMP=$(BUILD_DIR)/tmp \
IPKG_INSTROOT=$(TARGET_DIR) \
IPKG_CONF_DIR=$(STAGING_TARGET_DIR)/etc \
IPKG_OFFLINE_ROOT=$(TARGET_DIR) \
- BIN_DIR=$(BIN_DIR) \
+ BIN_DIR=$(STAGING_HOST_DIR)/usr/bin \
${BASH} ${SCRIPT_DIR}/ipkg \
-force-defaults -force-depends install
PKG_STATE_DIR:= $(TARGET_DIR)/usr/lib/ipkg
@@ -208,21 +207,21 @@ EXTRACT_CMD= mkdir -p ${WRKDIR}; \
cd ${WRKDIR} && \
for file in ${FULLDISTFILES}; do case $$file in \
*.cpio) \
- cat $$file | $(BIN_DIR)/cpio -i -d ;; \
+ cat $$file | $(STAGING_HOST_DIR)/usr/bin/cpio -i -d ;; \
*.tar) \
tar -xf $$file ;; \
*.cpio.Z | *.cpio.gz | *.cgz | *.mcz) \
- gzip -dc $$file | $(BIN_DIR)/cpio -i -d ;; \
+ gzip -dc $$file | $(STAGING_HOST_DIR)/usr/bin/cpio -i -d ;; \
*.tar.xz | *.txz) \
- xz -dc $$file | tar -xf - ;; \
+ $(STAGING_HOST_DIR)/usr/bin/xz -dc $$file | tar -xf - ;; \
*.tar.Z | *.tar.gz | *.taz | *.tgz) \
gzip -dc $$file | tar -xf - ;; \
*.cpio.bz2 | *.cbz) \
- bzip2 -dc $$file | $(BIN_DIR)/cpio -i -d ;; \
+ $(STAGING_HOST_DIR)/usr/bin/bzip2 -dc $$file | $(STAGING_HOST_DIR)/usr/bin/cpio -i -d ;; \
*.tar.bz2 | *.tbz | *.tbz2) \
- bzip2 -dc $$file | tar -xf - ;; \
+ $(STAGING_HOST_DIR)/usr/bin/bzip2 -dc $$file | tar -xf - ;; \
*.zip) \
- cat $$file | $(BIN_DIR)/cpio -ivd -H zip ;; \
+ cat $$file | $(STAGING_HOST_DIR)/usr/bin/cpio -ivd -H zip ;; \
*.arm) \
cp $$file ${WRKDIR} ;; \
*) \
diff --git a/package/base-files/Makefile b/package/base-files/Makefile
index 0eb3a40b3..ad09f8d3d 100644
--- a/package/base-files/Makefile
+++ b/package/base-files/Makefile
@@ -85,7 +85,7 @@ endif
echo "::1 localhost" >> $(IDIR_BASE_FILES)/etc/hosts
echo "127.0.1.1 $(ADK_RUNTIME_HOSTNAME)" >> $(IDIR_BASE_FILES)/etc/hosts
test -z $(ADK_RUNTIME_PASSWORD) || \
- $(SED) 's,\*NP\*,'"$$(${TOPDIR}/bin/mkcrypt \
+ $(SED) 's,\*NP\*,'"$$($(STAGING_HOST_DIR)/usr/bin/mkcrypt \
${ADK_RUNTIME_PASSWORD}),g" $(IDIR_BASE_FILES)/etc/shadow
git log -1|head -1|sed -e 's#commit ##' \
> $(IDIR_BASE_FILES)/etc/adkversion
diff --git a/package/gcc/Makefile b/package/gcc/Makefile
index 4b8480342..99984ac20 100644
--- a/package/gcc/Makefile
+++ b/package/gcc/Makefile
@@ -23,16 +23,16 @@ $(eval $(call PKG_template,GXX,g++,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},
TARGET_CPPFLAGS:= ''
TARGET_CFLAGS:= ''
-TARGET_CXXFLAGS:= $(filter-out -fstack-protector,$(TARGET_CXXFLAGS))
+TARGET_CXXFLAGS:= ''
ifeq ($(ADK_TARGET_SYSTEM_LEMOTE_YEELONG),y)
-CONFIGURE_ARGS+= --with-abi=$(ADK_TARGET_ABI)
+CONFIGURE_ARGS+= --with-abi=$(ADK_TARGET_MIPS_ABI)
endif
ifeq ($(ADK_TARGET_SYSTEM_QEMU_MIPS64),y)
-CONFIGURE_ARGS+= --with-abi=$(ADK_TARGET_ABI)
+CONFIGURE_ARGS+= --with-abi=$(ADK_TARGET_MIPS_ABI)
endif
ifeq ($(ADK_TARGET_SYSTEM_QEMU_MIPS64EL),y)
-CONFIGURE_ARGS+= --with-abi=$(ADK_TARGET_ABI)
+CONFIGURE_ARGS+= --with-abi=$(ADK_TARGET_MIPS_ABI)
endif
ifeq ($(ADK_TOOLCHAIN_GCC_SJLJ),y)
@@ -57,6 +57,7 @@ endif
CONFIGURE_ENV+= have_sys_sdt_h=no
CONFIGURE_ARGS+= --host=$(REAL_GNU_TARGET_NAME) \
--target=$(REAL_GNU_TARGET_NAME) \
+ --build=$(GNU_HOST_NAME) \
--disable-__cxa_atexit \
--without-headers \
--libexecdir=/usr/lib \
@@ -66,6 +67,8 @@ CONFIGURE_ARGS+= --host=$(REAL_GNU_TARGET_NAME) \
--disable-libgomp \
--disable-multilib \
--disable-libstdcxx-pch \
+ --disable-libsanitizer \
+ --disable-libitm \
--enable-cxx-flags="${TARGET_LDFLAGS}"
# disable honour cflags stuff
diff --git a/package/gcc/patches/4.8.2/musl-cross.patch b/package/gcc/patches/4.8.2/musl-cross.patch
new file mode 100644
index 000000000..5c5db86b3
--- /dev/null
+++ b/package/gcc/patches/4.8.2/musl-cross.patch
@@ -0,0 +1,698 @@
+# HG changeset patch
+# Parent df1a439b9058b07024ca556225d55535f5feb5dd
+Use the generic implementation of libstdc++ primitives when we're on musl, not the glibc one.
+
+diff -r df1a439b9058 libstdc++-v3/configure.host
+--- a/libstdc++-v3/configure.host Tue Dec 31 14:52:24 2013 -0500
++++ b/libstdc++-v3/configure.host Tue Dec 31 14:54:49 2013 -0500
+@@ -264,6 +264,13 @@
+ os_include_dir="os/bsd/freebsd"
+ ;;
+ gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu)
++ # check for musl by target
++ case "${host_os}" in
++ *-musl*)
++ os_include_dir="os/generic"
++ ;;
++ *)
++
+ if [ "$uclibc" = "yes" ]; then
+ os_include_dir="os/uclibc"
+ elif [ "$bionic" = "yes" ]; then
+@@ -272,6 +279,9 @@
+ os_include_dir="os/gnu-linux"
+ fi
+ ;;
++
++ esac
++ ;;
+ hpux*)
+ os_include_dir="os/hpux"
+ ;;
+# HG changeset patch
+# Parent e5b4564f249f8634194bdabef4b3057d0e54ee97
+Adding -mmusl as a musl libc specifier, and the necessary hacks for it to know how to find musl's dynamic linker.
+
+diff -r e5b4564f249f gcc/config.gcc
+--- a/gcc/config.gcc Tue Dec 31 14:54:49 2013 -0500
++++ b/gcc/config.gcc Tue Dec 31 14:54:52 2013 -0500
+@@ -550,7 +550,7 @@
+ esac
+
+ # Common C libraries.
+-tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3"
++tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3 LIBC_MUSL=4"
+
+ # Common parts for widely ported systems.
+ case ${target} in
+@@ -653,6 +653,9 @@
+ *-*-*uclibc*)
+ tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC"
+ ;;
++ *-*-*musl*)
++ tm_defines="$tm_defines DEFAULT_LIBC=LIBC_MUSL"
++ ;;
+ *)
+ tm_defines="$tm_defines DEFAULT_LIBC=LIBC_GLIBC"
+ ;;
+diff -r e5b4564f249f gcc/config/linux.h
+--- a/gcc/config/linux.h Tue Dec 31 14:54:49 2013 -0500
++++ b/gcc/config/linux.h Tue Dec 31 14:54:52 2013 -0500
+@@ -32,10 +32,12 @@
+ #define OPTION_GLIBC (DEFAULT_LIBC == LIBC_GLIBC)
+ #define OPTION_UCLIBC (DEFAULT_LIBC == LIBC_UCLIBC)
+ #define OPTION_BIONIC (DEFAULT_LIBC == LIBC_BIONIC)
++#define OPTION_MUSL (DEFAULT_LIBC == LIBC_MUSL)
+ #else
+ #define OPTION_GLIBC (linux_libc == LIBC_GLIBC)
+ #define OPTION_UCLIBC (linux_libc == LIBC_UCLIBC)
+ #define OPTION_BIONIC (linux_libc == LIBC_BIONIC)
++#define OPTION_MUSL (linux_libc == LIBC_MUSL)
+ #endif
+
+ #define GNU_USER_TARGET_OS_CPP_BUILTINS() \
+@@ -53,18 +55,21 @@
+ uClibc or Bionic is the default C library and whether
+ -muclibc or -mglibc or -mbionic has been passed to change the default. */
+
+-#define CHOOSE_DYNAMIC_LINKER1(LIBC1, LIBC2, LIBC3, LD1, LD2, LD3) \
+- "%{" LIBC2 ":" LD2 ";:%{" LIBC3 ":" LD3 ";:" LD1 "}}"
++#define CHOOSE_DYNAMIC_LINKER1(LIBC1, LIBC2, LIBC3, LIBC4, LD1, LD2, LD3, LD4) \
++ "%{" LIBC2 ":" LD2 ";:%{" LIBC3 ":" LD3 ";:%{" LIBC4 ":" LD4 ";:" LD1 "}}}"
+
+ #if DEFAULT_LIBC == LIBC_GLIBC
+-#define CHOOSE_DYNAMIC_LINKER(G, U, B) \
+- CHOOSE_DYNAMIC_LINKER1 ("mglibc", "muclibc", "mbionic", G, U, B)
++#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \
++ CHOOSE_DYNAMIC_LINKER1 ("mglibc", "muclibc", "mbionic", "mmusl", G, U, B, M)
+ #elif DEFAULT_LIBC == LIBC_UCLIBC
+-#define CHOOSE_DYNAMIC_LINKER(G, U, B) \
+- CHOOSE_DYNAMIC_LINKER1 ("muclibc", "mglibc", "mbionic", U, G, B)
++#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \
++ CHOOSE_DYNAMIC_LINKER1 ("muclibc", "mglibc", "mbionic", "mmusl", U, G, B, M)
+ #elif DEFAULT_LIBC == LIBC_BIONIC
+-#define CHOOSE_DYNAMIC_LINKER(G, U, B) \
+- CHOOSE_DYNAMIC_LINKER1 ("mbionic", "mglibc", "muclibc", B, G, U)
++#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \
++ CHOOSE_DYNAMIC_LINKER1 ("mbionic", "mglibc", "muclibc", "mmusl", B, G, U, M)
++#elif DEFAULT_LIBC == LIBC_MUSL
++#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \
++ CHOOSE_DYNAMIC_LINKER1 ("mmusl", "mglibc", "muclibc", "mbionic", M, G, U, B)
+ #else
+ #error "Unsupported DEFAULT_LIBC"
+ #endif /* DEFAULT_LIBC */
+@@ -84,21 +89,21 @@
+
+ #define GNU_USER_DYNAMIC_LINKER \
+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, \
+- BIONIC_DYNAMIC_LINKER)
++ BIONIC_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER)
+ #define GNU_USER_DYNAMIC_LINKER32 \
+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER32, \
+- BIONIC_DYNAMIC_LINKER32)
++ BIONIC_DYNAMIC_LINKER32, MUSL_DYNAMIC_LINKER32)
+ #define GNU_USER_DYNAMIC_LINKER64 \
+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64, \
+- BIONIC_DYNAMIC_LINKER64)
++ BIONIC_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKER64)
+ #define GNU_USER_DYNAMIC_LINKERX32 \
+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERX32, UCLIBC_DYNAMIC_LINKERX32, \
+- BIONIC_DYNAMIC_LINKERX32)
++ BIONIC_DYNAMIC_LINKERX32, MUSL_DYNAMIC_LINKERX32)
+
+ /* Determine whether the entire c99 runtime
+ is present in the runtime library. */
+ #undef TARGET_C99_FUNCTIONS
+-#define TARGET_C99_FUNCTIONS (OPTION_GLIBC)
++#define TARGET_C99_FUNCTIONS (OPTION_GLIBC || OPTION_MUSL)
+
+ /* Whether we have sincos that follows the GNU extension. */
+ #undef TARGET_HAS_SINCOS
+@@ -107,3 +112,74 @@
+ /* Whether we have Bionic libc runtime */
+ #undef TARGET_HAS_BIONIC
+ #define TARGET_HAS_BIONIC (OPTION_BIONIC)
++
++/* musl avoids problematic includes by rearranging the include directories.
++ * Unfortunately, this is mostly duplicated from cppdefault.c */
++#if DEFAULT_LIBC == LIBC_MUSL
++#define INCLUDE_DEFAULTS_MUSL_GPP \
++ { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1, \
++ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 }, \
++ { GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1, \
++ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 1 }, \
++ { GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1, \
++ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 },
++
++#ifdef LOCAL_INCLUDE_DIR
++#define INCLUDE_DEFAULTS_MUSL_LOCAL \
++ { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 }, \
++ { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 0 },
++#else
++#define INCLUDE_DEFAULTS_MUSL_LOCAL
++#endif
++
++#ifdef PREFIX_INCLUDE_DIR
++#define INCLUDE_DEFAULTS_MUSL_PREFIX \
++ { PREFIX_INCLUDE_DIR, 0, 0, 1, 0, 0},
++#else
++#define INCLUDE_DEFAULTS_MUSL_PREFIX
++#endif
++
++#ifdef CROSS_INCLUDE_DIR
++#define INCLUDE_DEFAULTS_MUSL_CROSS \
++ { CROSS_INCLUDE_DIR, "GCC", 0, 0, 0, 0},
++#else
++#define INCLUDE_DEFAULTS_MUSL_CROSS
++#endif
++
++#ifdef TOOL_INCLUDE_DIR
++#define INCLUDE_DEFAULTS_MUSL_TOOL \
++ { TOOL_INCLUDE_DIR, "BINUTILS", 0, 1, 0, 0},
++#else
++#define INCLUDE_DEFAULTS_MUSL_TOOL
++#endif
++
++#ifdef NATIVE_SYSTEM_HEADER_DIR
++#define INCLUDE_DEFAULTS_MUSL_NATIVE \
++ { NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 2 }, \
++ { NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 0 },
++#else
++#define INCLUDE_DEFAULTS_MUSL_NATIVE
++#endif
++
++#if defined (CROSS_DIRECTORY_STRUCTURE) && !defined (TARGET_SYSTEM_ROOT)
++# undef INCLUDE_DEFAULTS_MUSL_LOCAL
++# define INCLUDE_DEFAULTS_MUSL_LOCAL
++# undef INCLUDE_DEFAULTS_MUSL_NATIVE
++# define INCLUDE_DEFAULTS_MUSL_NATIVE
++#else
++# undef INCLUDE_DEFAULTS_MUSL_CROSS
++# define INCLUDE_DEFAULTS_MUSL_CROSS
++#endif
++
++#undef INCLUDE_DEFAULTS
++#define INCLUDE_DEFAULTS \
++ { \
++ INCLUDE_DEFAULTS_MUSL_GPP \
++ INCLUDE_DEFAULTS_MUSL_PREFIX \
++ INCLUDE_DEFAULTS_MUSL_CROSS \
++ INCLUDE_DEFAULTS_MUSL_TOOL \
++ INCLUDE_DEFAULTS_MUSL_NATIVE \
++ { GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \
++ { 0, 0, 0, 0, 0, 0 } \
++ }
++#endif
+diff -r e5b4564f249f gcc/config/linux.opt
+--- a/gcc/config/linux.opt Tue Dec 31 14:54:49 2013 -0500
++++ b/gcc/config/linux.opt Tue Dec 31 14:54:52 2013 -0500
+@@ -30,3 +30,7 @@
+ muclibc
+ Target Report RejectNegative Var(linux_libc,LIBC_UCLIBC) Negative(mbionic)
+ Use uClibc C library
++
++mmusl
++Target Report RejectNegative Var(linux_libc,LIBC_MUSL) Negative(mglibc)
++Use musl C library
+diff -r e5b4564f249f gcc/ginclude/stddef.h
+--- a/gcc/ginclude/stddef.h Tue Dec 31 14:54:49 2013 -0500
++++ b/gcc/ginclude/stddef.h Tue Dec 31 14:54:52 2013 -0500
+@@ -181,6 +181,7 @@
+ #ifndef _GCC_SIZE_T
+ #ifndef _SIZET_
+ #ifndef __size_t
++#ifndef __DEFINED_size_t /* musl */
+ #define __size_t__ /* BeOS */
+ #define __SIZE_T__ /* Cray Unicos/Mk */
+ #define _SIZE_T
+@@ -197,6 +198,7 @@
+ #define ___int_size_t_h
+ #define _GCC_SIZE_T
+ #define _SIZET_
++#define __DEFINED_size_t /* musl */
+ #if (defined (__FreeBSD__) && (__FreeBSD__ >= 5)) \
+ || defined(__FreeBSD_kernel__)
+ /* __size_t is a typedef on FreeBSD 5, must not trash it. */
+@@ -214,6 +216,7 @@
+ typedef long ssize_t;
+ #endif /* __BEOS__ */
+ #endif /* !(defined (__GNUG__) && defined (size_t)) */
++#endif /* __DEFINED_size_t */
+ #endif /* __size_t */
+ #endif /* _SIZET_ */
+ #endif /* _GCC_SIZE_T */
+# HG changeset patch
+# Parent e08e44e39f5edde422f444487422046147d5821e
+A fix for libgomp to correctly request a POSIX version for time support.
+
+diff -r e08e44e39f5e libgomp/config/posix/time.c
+--- a/libgomp/config/posix/time.c Tue Dec 31 14:54:52 2013 -0500
++++ b/libgomp/config/posix/time.c Tue Dec 31 14:54:55 2013 -0500
+@@ -28,6 +28,8 @@
+ The following implementation uses the most simple POSIX routines.
+ If present, POSIX 4 clocks should be used instead. */
+
++#define _POSIX_C_SOURCE 199309L /* for clocks */
++
+ #include "libgomp.h"
+ #include <unistd.h>
+ #if TIME_WITH_SYS_TIME
+diff -r 809c85574bfe libgcc/unwind-dw2-fde-dip.c
+--- a/libgcc/unwind-dw2-fde-dip.c Tue Dec 31 14:54:55 2013 -0500
++++ b/libgcc/unwind-dw2-fde-dip.c Tue Dec 31 14:54:58 2013 -0500
+@@ -46,33 +46,13 @@
+ #include "unwind-compat.h"
+ #include "gthr.h"
+
+-#if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \
+- && (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) \
+- || (__GLIBC__ == 2 && __GLIBC_MINOR__ == 2 && defined(DT_CONFIG)))
++#if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) && defined(TARGET_DL_ITERATE_PHDR)
+ # define USE_PT_GNU_EH_FRAME
+-#endif
+-
+-#if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \
+- && defined(__BIONIC__)
+-# define USE_PT_GNU_EH_FRAME
+-#endif
+-
+-#if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \
+- && defined(__FreeBSD__) && __FreeBSD__ >= 7
+-# define ElfW __ElfN
+-# define USE_PT_GNU_EH_FRAME
+-#endif
+-
+-#if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \
+- && defined(__OpenBSD__)
+-# define ElfW(type) Elf_##type
+-# define USE_PT_GNU_EH_FRAME
+-#endif
+-
+-#if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \
+- && defined(TARGET_DL_ITERATE_PHDR) \
+- && defined(__sun__) && defined(__svr4__)
+-# define USE_PT_GNU_EH_FRAME
++# ifdef __OpenBSD__
++# define ElfW(type) Elf_##typ
++# elif defined(__FreeBSD__) && __FreeBSD__ >= 7
++# define ElfW __ElfN
++# endif
+ #endif
+
+ #if defined(USE_PT_GNU_EH_FRAME)
+diff -r 03604918697c gcc/configure
+--- a/gcc/configure Tue Dec 31 14:54:58 2013 -0500
++++ b/gcc/configure Tue Dec 31 14:55:01 2013 -0500
+@@ -26739,6 +26739,9 @@
+ else
+ gcc_cv_libc_provides_ssp=no
+ case "$target" in
++ *-*-musl*)
++ # All versions of musl provide stack protector
++ gcc_cv_libc_provides_ssp=yes;;
+ *-*-linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu)
+ # glibc 2.4 and later provides __stack_chk_fail and
+ # either __stack_chk_guard, or TLS access to stack guard canary.
+@@ -26772,6 +26775,7 @@
+ # <http://gcc.gnu.org/ml/gcc/2008-10/msg00130.html>) and for now
+ # simply assert that glibc does provide this, which is true for all
+ # realistically usable GNU/Hurd configurations.
++ # All supported versions of musl provide it as well
+ gcc_cv_libc_provides_ssp=yes;;
+ *-*-darwin* | *-*-freebsd*)
+ ac_fn_c_check_func "$LINENO" "__stack_chk_fail" "ac_cv_func___stack_chk_fail"
+@@ -26854,6 +26858,9 @@
+ gcc_cv_target_dl_iterate_phdr=no
+ fi
+ ;;
++ *-linux-musl*)
++ gcc_cv_target_dl_iterate_phdr=yes
++ ;;
+ esac
+
+ if test x$gcc_cv_target_dl_iterate_phdr = xyes; then
+diff -r 03604918697c gcc/configure.ac
+--- a/gcc/configure.ac Tue Dec 31 14:54:58 2013 -0500
++++ b/gcc/configure.ac Tue Dec 31 14:55:01 2013 -0500
+@@ -4722,6 +4722,9 @@
+ gcc_cv_libc_provides_ssp,
+ [gcc_cv_libc_provides_ssp=no
+ case "$target" in
++ *-*-musl*)
++ # All versions of musl provide stack protector
++ gcc_cv_libc_provides_ssp=yes;;
+ *-*-linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu)
+ [# glibc 2.4 and later provides __stack_chk_fail and
+ # either __stack_chk_guard, or TLS access to stack guard canary.
+@@ -4755,6 +4758,7 @@
+ # <http://gcc.gnu.org/ml/gcc/2008-10/msg00130.html>) and for now
+ # simply assert that glibc does provide this, which is true for all
+ # realistically usable GNU/Hurd configurations.
++ # All supported versions of musl provide it as well
+ gcc_cv_libc_provides_ssp=yes;;
+ *-*-darwin* | *-*-freebsd*)
+ AC_CHECK_FUNC(__stack_chk_fail,[gcc_cv_libc_provides_ssp=yes],
+@@ -4820,6 +4824,9 @@
+ gcc_cv_target_dl_iterate_phdr=no
+ fi
+ ;;
++ *-linux-musl*)
++ gcc_cv_target_dl_iterate_phdr=yes
++ ;;
+ esac
+ GCC_TARGET_TEMPLATE([TARGET_DL_ITERATE_PHDR])
+ if test x$gcc_cv_target_dl_iterate_phdr = xyes; then
+# HG changeset patch
+# Parent 600a8a422ccaf5627ad1f5a138e7398df2b9e9d8
+Get rid of ever-broken fixincludes on musl.
+
+diff -r 600a8a422cca fixincludes/mkfixinc.sh
+--- a/fixincludes/mkfixinc.sh Tue Dec 31 14:55:01 2013 -0500
++++ b/fixincludes/mkfixinc.sh Tue Dec 31 14:55:04 2013 -0500
+@@ -19,7 +19,8 @@
+ powerpc-*-eabi* | \
+ powerpc-*-rtems* | \
+ powerpcle-*-eabisim* | \
+- powerpcle-*-eabi* )
++ powerpcle-*-eabi* | \
++ *-musl* )
+ # IF there is no include fixing,
+ # THEN create a no-op fixer and exit
+ (echo "#! /bin/sh" ; echo "exit 0" ) > ${target}
+# HG changeset patch
+# Parent 4696c3bf3d913eca88e9385ea9717541dfe1e033
+Support for i386-linux-musl and x86_64-linux-musl.
+
+diff -r 4696c3bf3d91 gcc/config/i386/linux.h
+--- a/gcc/config/i386/linux.h Tue Dec 31 14:55:04 2013 -0500
++++ b/gcc/config/i386/linux.h Tue Dec 31 14:55:08 2013 -0500
+@@ -21,3 +21,4 @@
+
+ #define GNU_USER_LINK_EMULATION "elf_i386"
+ #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
++#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-i386.so.1"
+diff -r 4696c3bf3d91 gcc/config/i386/linux64.h
+--- a/gcc/config/i386/linux64.h Tue Dec 31 14:55:04 2013 -0500
++++ b/gcc/config/i386/linux64.h Tue Dec 31 14:55:08 2013 -0500
+@@ -30,3 +30,7 @@
+ #define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
+ #define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
+ #define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2"
++
++#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-i386.so.1"
++#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-x86_64.so.1"
++#define MUSL_DYNAMIC_LINKERX32 "/lib/ld-musl-x32.so.1"
+diff -r 4696c3bf3d91 libitm/config/linux/x86/tls.h
+--- a/libitm/config/linux/x86/tls.h Tue Dec 31 14:55:04 2013 -0500
++++ b/libitm/config/linux/x86/tls.h Tue Dec 31 14:55:08 2013 -0500
+@@ -25,16 +25,19 @@
+ #ifndef LIBITM_X86_TLS_H
+ #define LIBITM_X86_TLS_H 1
+
+-#if defined(__GLIBC_PREREQ) && __GLIBC_PREREQ(2, 10)
++#if defined(__GLIBC_PREREQ)
++#if __GLIBC_PREREQ(2, 10)
+ /* Use slots in the TCB head rather than __thread lookups.
+ GLIBC has reserved words 10 through 13 for TM. */
+ #define HAVE_ARCH_GTM_THREAD 1
+ #define HAVE_ARCH_GTM_THREAD_DISP 1
+ #endif
++#endif
+
+ #include "config/generic/tls.h"
+
+-#if defined(__GLIBC_PREREQ) && __GLIBC_PREREQ(2, 10)
++#if defined(__GLIBC_PREREQ)
++#if __GLIBC_PREREQ(2, 10)
+ namespace GTM HIDDEN {
+
+ #ifdef __x86_64__
+@@ -101,5 +104,6 @@
+
+ } // namespace GTM
+ #endif /* >= GLIBC 2.10 */
++#endif
+
+ #endif // LIBITM_X86_TLS_H
+# HG changeset patch
+# Parent 6738fd6f6fcc2a72f2ba527bda3325642af26885
+Support for arm-linux-musl.
+
+diff -r 6738fd6f6fcc gcc/config/arm/linux-eabi.h
+--- a/gcc/config/arm/linux-eabi.h Tue Dec 31 14:55:08 2013 -0500
++++ b/gcc/config/arm/linux-eabi.h Tue Dec 31 14:55:11 2013 -0500
+@@ -77,6 +77,23 @@
+ %{mfloat-abi=soft*:" GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "} \
+ %{!mfloat-abi=*:" GLIBC_DYNAMIC_LINKER_DEFAULT "}"
+
++/* For ARM musl currently supports four dynamic linkers:
++ - ld-musl-arm.so.1 - for the EABI-derived soft-float ABI
++ - ld-musl-armhf.so.1 - for the EABI-derived hard-float ABI
++ - ld-musl-armeb.so.1 - for the EABI-derived soft-float ABI, EB
++ - ld-musl-armebhf.so.1 - for the EABI-derived hard-float ABI, EB
++ musl does not support the legacy OABI mode.
++ All the dynamic linkers live in /lib.
++ We default to soft-float, EL. */
++#undef MUSL_DYNAMIC_LINKER
++#if TARGET_BIG_ENDIAN_DEFAULT
++#define MUSL_DYNAMIC_LINKER_E "%{mlittle-endian:;:eb}"
++#else
++#define MUSL_DYNAMIC_LINKER_E "%{mbig-endian:eb}"
++#endif
++#define MUSL_DYNAMIC_LINKER \
++ "/lib/ld-musl-arm" MUSL_DYNAMIC_LINKER_E "%{mfloat-abi=hard:hf}.so.1"
++
+ /* At this point, bpabi.h will have clobbered LINK_SPEC. We want to
+ use the GNU/Linux version, not the generic BPABI version. */
+ #undef LINK_SPEC
+diff -r 6738fd6f6fcc libitm/config/arm/hwcap.cc
+--- a/libitm/config/arm/hwcap.cc Tue Dec 31 14:55:08 2013 -0500
++++ b/libitm/config/arm/hwcap.cc Tue Dec 31 14:55:11 2013 -0500
+@@ -40,7 +40,11 @@
+
+ #ifdef __linux__
+ #include <unistd.h>
++#ifdef __GLIBC__
+ #include <sys/fcntl.h>
++#else
++#include <fcntl.h>
++#endif
+ #include <elf.h>
+
+ static void __attribute__((constructor))
+# HG changeset patch
+# Parent 7d7383f638705a01fdc18e0e7e0c9cdb6387fc5d
+Support for mips-linux-musl.
+
+diff -r 7d7383f63870 gcc/config/mips/linux.h
+--- a/gcc/config/mips/linux.h Tue Dec 31 14:55:11 2013 -0500
++++ b/gcc/config/mips/linux.h Tue Dec 31 14:55:14 2013 -0500
+@@ -18,3 +18,10 @@
+ <http://www.gnu.org/licenses/>. */
+
+ #define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
++
++#if TARGET_ENDIAN_DEFAULT == 0 /* LE */
++#define MUSL_DYNAMIC_LINKER_E "%{EB:;:el}"
++#else
++#define MUSL_DYNAMIC_LINKER_E "%{EL:el}"
++#endif
++#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-mips" MUSL_DYNAMIC_LINKER_E ".so.1"
+# HG changeset patch
+# Parent 89df6d7e91c686da676ce27ef9b9d10522810c26
+Support for powerpc-linux-musl.
+
+diff -r 89df6d7e91c6 gcc/config.gcc
+--- a/gcc/config.gcc Tue Dec 31 14:55:14 2013 -0500
++++ b/gcc/config.gcc Tue Dec 31 14:55:17 2013 -0500
+@@ -2117,6 +2117,10 @@
+ powerpc*-*-linux*paired*)
+ tm_file="${tm_file} rs6000/750cl.h" ;;
+ esac
++ case ${target} in
++ *-linux*-musl*)
++ enable_secureplt=yes ;;
++ esac
+ if test x${enable_secureplt} = xyes; then
+ tm_file="rs6000/secureplt.h ${tm_file}"
+ fi
+diff -r 89df6d7e91c6 gcc/config/rs6000/linux64.h
+--- a/gcc/config/rs6000/linux64.h Tue Dec 31 14:55:14 2013 -0500
++++ b/gcc/config/rs6000/linux64.h Tue Dec 31 14:55:17 2013 -0500
+@@ -354,17 +354,21 @@
+ #define GLIBC_DYNAMIC_LINKER64 "/lib64/ld64.so.1"
+ #define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0"
+ #define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
++#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-powerpc.so.1"
++#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-powerpc64.so.1"
+ #if DEFAULT_LIBC == LIBC_UCLIBC
+-#define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}"
++#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{mmusl:" M ";:" U "}}"
+ #elif DEFAULT_LIBC == LIBC_GLIBC
+-#define CHOOSE_DYNAMIC_LINKER(G, U) "%{muclibc:" U ";:" G "}"
++#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{muclibc:" U ";:%{mmusl:" M ";:" G "}}"
++#elif DEFAULT_LIBC == LIBC_MUSL
++#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{muclibc:" U ";:" M "}}"
+ #else
+ #error "Unsupported DEFAULT_LIBC"
+ #endif
+ #define GNU_USER_DYNAMIC_LINKER32 \
+- CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER32)
++ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER32, MUSL_DYNAMIC_LINKER32)
+ #define GNU_USER_DYNAMIC_LINKER64 \
+- CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64)
++ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKER64)
+
+ #undef DEFAULT_ASM_ENDIAN
+ #if (TARGET_DEFAULT & MASK_LITTLE_ENDIAN)
+diff -r 89df6d7e91c6 gcc/config/rs6000/secureplt.h
+--- a/gcc/config/rs6000/secureplt.h Tue Dec 31 14:55:14 2013 -0500
++++ b/gcc/config/rs6000/secureplt.h Tue Dec 31 14:55:17 2013 -0500
+@@ -18,3 +18,4 @@
+ <http://www.gnu.org/licenses/>. */
+
+ #define CC1_SECURE_PLT_DEFAULT_SPEC "-msecure-plt"
++#define LINK_SECURE_PLT_DEFAULT_SPEC "--secure-plt"
+diff -r 89df6d7e91c6 gcc/config/rs6000/sysv4.h
+--- a/gcc/config/rs6000/sysv4.h Tue Dec 31 14:55:14 2013 -0500
++++ b/gcc/config/rs6000/sysv4.h Tue Dec 31 14:55:17 2013 -0500
+@@ -550,6 +550,9 @@
+ #ifndef CC1_SECURE_PLT_DEFAULT_SPEC
+ #define CC1_SECURE_PLT_DEFAULT_SPEC ""
+ #endif
++#ifndef LINK_SECURE_PLT_DEFAULT_SPEC
++#define LINK_SECURE_PLT_DEFAULT_SPEC ""
++#endif
+
+ /* Pass -G xxx to the compiler and set correct endian mode. */
+ #define CC1_SPEC "%{G*} %(cc1_cpu)" \
+@@ -600,7 +603,8 @@
+
+ /* Override the default target of the linker. */
+ #define LINK_TARGET_SPEC \
+- ENDIAN_SELECT("", " --oformat elf32-powerpcle", "")
++ ENDIAN_SELECT("", " --oformat elf32-powerpcle", "") \
++ "%{!mbss-plt: %{!msecure-plt: %(link_secure_plt_default)}}"
+
+ /* Any specific OS flags. */
+ #define LINK_OS_SPEC "\
+@@ -778,15 +782,18 @@
+
+ #define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
+ #define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
++#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-powerpc.so.1"
+ #if DEFAULT_LIBC == LIBC_UCLIBC
+-#define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}"
++#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{mmusl:" M ";:" U "}}"
++#elif DEFAULT_LIBC == LIBC_MUSL
++#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{muclibc:" U ";:" M "}}"
+ #elif !defined (DEFAULT_LIBC) || DEFAULT_LIBC == LIBC_GLIBC
+-#define CHOOSE_DYNAMIC_LINKER(G, U) "%{muclibc:" U ";:" G "}"
++#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{muclibc:" U ";:%{mmusl:" M ";:" G "}}"
+ #else
+ #error "Unsupported DEFAULT_LIBC"
+ #endif
+ #define GNU_USER_DYNAMIC_LINKER \
+- CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER)
++ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER)
+
+ #define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \
+ %{rdynamic:-export-dynamic} \
+@@ -912,6 +919,7 @@
+ { "cc1_endian_little", CC1_ENDIAN_LITTLE_SPEC }, \
+ { "cc1_endian_default", CC1_ENDIAN_DEFAULT_SPEC }, \
+ { "cc1_secure_plt_default", CC1_SECURE_PLT_DEFAULT_SPEC }, \
++ { "link_secure_plt_default", LINK_SECURE_PLT_DEFAULT_SPEC }, \
+ { "cpp_os_ads", CPP_OS_ADS_SPEC }, \
+ { "cpp_os_yellowknife", CPP_OS_YELLOWKNIFE_SPEC }, \
+ { "cpp_os_mvme", CPP_OS_MVME_SPEC }, \
+diff -r d7ce17b2f2d6 gcc/config/aarch64/aarch64-linux.h
+--- a/gcc/config/aarch64/aarch64-linux.h Tue Dec 31 14:55:17 2013 -0500
++++ b/gcc/config/aarch64/aarch64-linux.h Tue Dec 31 14:55:20 2013 -0500
+@@ -21,7 +21,11 @@
+ #ifndef GCC_AARCH64_LINUX_H
+ #define GCC_AARCH64_LINUX_H
+
++/* The AArch64 port currently supports two dynamic linkers:
++ - ld-linux-aarch64.so.1 - GLIBC dynamic linker
++ - ld-musl-aarch64.so.1 - musl libc dynamic linker */
+ #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-aarch64.so.1"
++#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-aarch64.so.1"
+
+ #define CPP_SPEC "%{pthread:-D_REENTRANT}"
+
+# HG changeset patch
+# Parent f2601e4063d0d58d8ab04185e8baefd560d09496
+Microblaze support (again).
+
+
+diff -r f2601e4063d0 -r 0736dfe1aa0d gcc/config/microblaze/linux.h
+--- a/gcc/config/microblaze/linux.h Tue Dec 31 14:55:20 2013 -0500
++++ b/gcc/config/microblaze/linux.h Tue Dec 31 15:09:52 2013 -0500
+@@ -25,7 +25,22 @@
+ #undef TLS_NEEDS_GOT
+ #define TLS_NEEDS_GOT 1
+
+-#define DYNAMIC_LINKER "/lib/ld.so.1"
++#if TARGET_BIG_ENDIAN_DEFAULT == 0 /* LE */
++#define MUSL_DYNAMIC_LINKER_E "%{EB:;:el}"
++#else
++#define MUSL_DYNAMIC_LINKER_E "%{EL:el}"
++#endif
++
++#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-microblaze" MUSL_DYNAMIC_LINKER_E ".so.1"
++#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
++
++#if DEFAULT_LIBC == LIBC_MUSL
++#define DYNAMIC_LINKER MUSL_DYNAMIC_LINKER
++#else
++#define DYNAMIC_LINKER GLIBC_DYNAMIC_LINKER
++#endif
++
++
+ #undef SUBTARGET_EXTRA_SPECS
+ #define SUBTARGET_EXTRA_SPECS \
+ { "dynamic_linker", DYNAMIC_LINKER }
+From 478ee0c03a08e2ef9371fd88d516738936943e78 Mon Sep 17 00:00:00 2001
+From: David Holsgrove <david.holsgrove@xilinx.com>
+Date: Fri, 28 Sep 2012 16:32:03 +1000
+Subject: [PATCH 06/11] [Patch, microblaze]: Add SIZE_TYPE and PTRDIFF_TYPE to
+ microblaze.h
+
+Fixes warnings like;
+
+warning: format '%zX' expects argument of type 'size_t',
+but argument 3 has type 'unsigned int' [-Wformat]
+
+Changelog
+
+2013-03-18 David Holsgrove <david.holsgrove@xilinx.com>
+
+ * gcc/config/microblaze/microblaze.h: Define SIZE_TYPE
+ and PTRDIFF_TYPE.
+
+Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
+---
+ gcc/config/microblaze/microblaze.h | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
+index 19cdfed..e772a3f 100644
+--- a/gcc/config/microblaze/microblaze.h
++++ b/gcc/config/microblaze/microblaze.h
+@@ -213,6 +213,12 @@ extern enum pipeline_type microblaze_pipe;
+ #define STRICT_ALIGNMENT 1
+ #define PCC_BITFIELD_TYPE_MATTERS 1
+
++#undef SIZE_TYPE
++#define SIZE_TYPE "unsigned int"
++
++#undef PTRDIFF_TYPE
++#define PTRDIFF_TYPE "int"
++
+ #define CONSTANT_ALIGNMENT(EXP, ALIGN) \
+ ((TREE_CODE (EXP) == STRING_CST || TREE_CODE (EXP) == CONSTRUCTOR) \
+ && (ALIGN) < BITS_PER_WORD \
+--
+1.7.9.5
+
diff --git a/package/gcj/Makefile b/package/gcj/Makefile
index f7669a740..be7059def 100644
--- a/package/gcj/Makefile
+++ b/package/gcj/Makefile
@@ -4,12 +4,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= gcj
-PKG_VERSION:= 4.7.3
+PKG_VERSION:= 4.8.2
PKG_RELEASE:= 1
-PKG_MD5SUM:= 86f428a30379bdee0224e353ee2f999e
+PKG_MD5SUM:= a3d7d63b9cb6b6ea049469a0c4a43c9d
PKG_DESCR:= GNU java compiler
PKG_SECTION:= lang
PKG_SITES:= ${MASTER_SITE_GNU:=gcc/gcc-${PKG_VERSION}/}
+
DISTFILES:= gcc-$(PKG_VERSION).tar.bz2
PKG_ARCH_DEPENDS:= native
@@ -22,7 +23,8 @@ $(eval $(call HOST_template,GCJ,gcj,$(PKG_VERSION)-${PKG_RELEASE}))
HOST_STYLE:= auto
HOST_MAKE_ENV+= "JAR=no LDFLAGS=-liconv"
-HOST_CONFIGURE_ARGS:= \
+# http://gcc.gnu.org/bugzilla/attachment.cgi?id=30880&action=diff
+HOST_CONFIGURE_ARGS:= --enable-dependency-tracking \
--enable-java-home \
--enable-languages=java \
--enable-shared \
diff --git a/package/openjdk7/Makefile b/package/openjdk7/Makefile
index 3556f1c01..57a9248bb 100644
--- a/package/openjdk7/Makefile
+++ b/package/openjdk7/Makefile
@@ -26,7 +26,7 @@ PKG_SITES:= http://icedtea.classpath.org/download/source/
DISTFILES:= icedtea-$(PKG_VERSION).tar.gz
WRKDIST= ${WRKDIR}/icedtea-${PKG_VERSION}
-GCJ_VER:= 4.7.3
+GCJ_VER:= 4.8.2
PKG_HOST_DEPENDS:= linux
PKG_ARCH_DEPENDS:= arm mips ppc x86 x86_64
diff --git a/package/perl/files/config.sh.mips64.eglibc b/package/perl/files/config.sh.mips64.eglibc
new file mode 100644
index 000000000..c9381ce4d
--- /dev/null
+++ b/package/perl/files/config.sh.mips64.eglibc
@@ -0,0 +1,1118 @@
+#!/bin/sh
+#
+# This file was produced by running the Configure script. It holds all the
+# definitions figured out by Configure. Should you modify one of these values,
+# do not forget to propagate your changes by running "Configure -der". You may
+# instead choose to run each of the .SH files by yourself, or "Configure -S".
+#
+
+# Package name : perl5
+# Source directory : .
+# Configuration time: Wed Feb 26 18:23:00 CET 2014
+# Configured by : root
+# Target system : linux openadk 3.13.5 #2 wed feb 26 14:24:46 cet 2014 mips64 gnulinux
+
+: Configure command line arguments.
+config_arg0='./Configure'
+config_args='-des'
+config_argc=1
+config_arg1='-des'
+
+Author=''
+Date='$Date'
+Header=''
+Id='$Id'
+Locker=''
+Log='$Log'
+RCSfile='$RCSfile'
+Revision='$Revision'
+Source=''
+State=''
+_a='.a'
+_exe=''
+_o='.o'
+afs='false'
+afsroot='/afs'
+alignbytes='8'
+ansi2knr=''
+aphostname='/bin/hostname'
+api_revision='5'
+api_subversion='0'
+api_version='18'
+api_versionstring='5.18.0'
+ar='ar'
+archlib='/usr/lib/perl5/5.18.1/mips64-linux'
+archlibexp='/usr/lib/perl5/5.18.1/mips64-linux'
+archname64=''
+archname='mips64-linux'
+archobjs=''
+asctime_r_proto='0'
+awk='awk'
+baserev='5.0'
+bash=''
+bin='/usr/bin'
+bin_ELF='define'
+binexp='/usr/bin'
+bison='bison'
+bootstrap_charset='undef'
+byacc='byacc'
+byteorder='87654321'
+c=''
+castflags='0'
+cat='cat'
+cc='%%CC%%'
+cccdlflags='-fPIC'
+ccdlflags='-Wl,-E'
+ccflags='%%CFLAGS%%'
+ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
+ccname='gcc'
+ccsymbols=''
+ccversion=''
+cf_by='root'
+cf_email='root@openadk.nonet'
+cf_time='Wed Feb 26 18:23:00 CET 2014'
+charbits='8'
+charsize='1'
+chgrp=''
+chmod='chmod'
+chown=''
+clocktype='clock_t'
+comm='comm'
+compress=''
+contains='grep'
+cp='cp'
+cpio=''
+cpp='cpp'
+cpp_stuff='42'
+cppccsymbols=''
+cppflags='%%CPPFLAGS%%'
+cpplast='-'
+cppminus='-'
+cpprun='%%CPP%%'
+cppstdin='%%CPP%%'
+cppsymbols='LANGUAGE_C=1 MIPSEB=1 R4000=1 _ABI64=3 _FILE_OFFSET_BITS=64 _LANGUAGE_C=1 _LARGEFILE_SOURCE=1 _LP64=1 _MIPSEB=1 _MIPS_ARCH="mips3" _MIPS_ARCH_MIPS3=1 _MIPS_FPSET=32 _MIPS_ISA=_MIPS_ISA_MIPS3 _MIPS_SIM=3 _MIPS_SZINT=32 _MIPS_SZLONG=64 _MIPS_SZPTR=64 _MIPS_TUNE="mips3" _MIPS_TUNE_MIPS3=1 _POSIX_C_SOURCE=200809L _POSIX_SOURCE=1 _R4000=1 __ACCUM_EPSILON__=0x1P-15K __ACCUM_FBIT__=15 __ACCUM_IBIT__=16 __ACCUM_MAX__=0X7FFFFFFFP-15K __ACCUM_MIN__=(-0X1P15K-0X1P15K) __ATOMIC_ACQUIRE=2 __ATOMIC_ACQ_REL=4 __ATOMIC_CONSUME=1 __ATOMIC_RELAXED=0 __ATOMIC_RELEASE=3 __ATOMIC_SEQ_CST=5 __BIGGEST_ALIGNMENT__=16 __BYTE_ORDER__=4321 __CHAR16_TYPE__=short\ unsigned\ int __CHAR32_TYPE__=unsigned\ int __CHAR_BIT__=8 __DA_FBIT__=31 __DA_IBIT__=32 __DBL_DECIMAL_DIG__=17 __DBL_DENORM_MIN__=((double)4.94065645841246544176568792868221372e-324L) __DBL_DIG__=15 __DBL_EPSILON__=((double)2.22044604925031308084726333618164062e-16L) __DBL_HAS_DENORM__=1 __DBL_HAS_INFINITY__=1 __DBL_HAS_QUIET_NAN__=1 __DBL_MANT_DIG__=53 __DBL_MAX_10_EXP__=308 __DBL_MAX_EXP__=1024 __DBL_MAX__=((double)1.79769313486231570814527423731704357e+308L) __DBL_MIN_10_EXP__=(-307) __DBL_MIN_EXP__=(-1021) __DBL_MIN__=((double)2.22507385850720138309023271733240406e-308L) __DEC128_EPSILON__=1E-33DL __DEC128_MANT_DIG__=34 __DEC128_MAX_EXP__=6145 __DEC128_MAX__=9.999999999999999999999999999999999E6144DL __DEC128_MIN_EXP__=(-6142) __DEC128_MIN__=1E-6143DL __DEC128_SUBNORMAL_MIN__=0.000000000000000000000000000000001E-6143DL __DEC32_EPSILON__=1E-6DF __DEC32_MANT_DIG__=7 __DEC32_MAX_EXP__=97 __DEC32_MAX__=9.999999E96DF __DEC32_MIN_EXP__=(-94) __DEC32_MIN__=1E-95DF __DEC32_SUBNORMAL_MIN__=0.000001E-95DF __DEC64_EPSILON__=1E-15DD __DEC64_MANT_DIG__=16 __DEC64_MAX_EXP__=385 __DEC64_MAX__=9.999999999999999E384DD __DEC64_MIN_EXP__=(-382) __DEC64_MIN__=1E-383DD __DEC64_SUBNORMAL_MIN__=0.000000000000001E-383DD __DECIMAL_DIG__=36 __DEC_EVAL_METHOD__=2 __DQ_FBIT__=63 __DQ_IBIT__=0 __ELF__=1 __FINITE_MATH_ONLY__=0 __FLOAT_WORD_ORDER__=4321 __FLT_DECIMAL_DIG__=9 __FLT_DENORM_MIN__=1.40129846432481707092372958328991613e-45F __FLT_DIG__=6 __FLT_EPSILON__=1.19209289550781250000000000000000000e-7F __FLT_EVAL_METHOD__=0 __FLT_HAS_DENORM__=1 __FLT_HAS_INFINITY__=1 __FLT_HAS_QUIET_NAN__=1 __FLT_MANT_DIG__=24 __FLT_MAX_10_EXP__=38 __FLT_MAX_EXP__=128 __FLT_MAX__=3.40282346638528859811704183484516925e+38F __FLT_MIN_10_EXP__=(-37) __FLT_MIN_EXP__=(-125) __FLT_MIN__=1.17549435082228750796873653722224568e-38F __FLT_RADIX__=2 __FRACT_EPSILON__=0x1P-15R __FRACT_FBIT__=15 __FRACT_IBIT__=0 __FRACT_MAX__=0X7FFFP-15R __FRACT_MIN__=(-0.5R-0.5R) __GCC_ATOMIC_BOOL_LOCK_FREE=2 __GCC_ATOMIC_CHAR16_T_LOCK_FREE=2 __GCC_ATOMIC_CHAR32_T_LOCK_FREE=2 __GCC_ATOMIC_CHAR_LOCK_FREE=2 __GCC_ATOMIC_INT_LOCK_FREE=2 __GCC_ATOMIC_LLONG_LOCK_FREE=2 __GCC_ATOMIC_LONG_LOCK_FREE=2 __GCC_ATOMIC_POINTER_LOCK_FREE=2 __GCC_ATOMIC_SHORT_LOCK_FREE=2 __GCC_ATOMIC_TEST_AND_SET_TRUEVAL=1 __GCC_ATOMIC_WCHAR_T_LOCK_FREE=2 __GCC_HAVE_BUILTIN_MIPS_CACHE=1 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1=1 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2=1 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4=1 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8=1 __GLIBC_MINOR__=19 __GLIBC__=2 __GNUC_GNU_INLINE__=1 __GNUC_MINOR__=7 __GNUC_PATCHLEVEL__=3 __GNUC__=4 __GNU_LIBRARY__=6 __GXX_ABI_VERSION=1002 __HA_FBIT__=7 __HA_IBIT__=8 __HQ_FBIT__=15 __HQ_IBIT__=0 __INT16_C=__INT16_C __INT16_MAX__=32767 __INT16_TYPE__=short\ int __INT32_C=__INT32_C __INT32_MAX__=2147483647 __INT32_TYPE__=int __INT64_C=__INT64_C __INT64_MAX__=9223372036854775807L __INT64_TYPE__=long\ int __INT8_C=__INT8_C __INT8_MAX__=127 __INT8_TYPE__=signed\ char __INTMAX_C=__INTMAX_C __INTMAX_MAX__=9223372036854775807L __INTMAX_TYPE__=long\ int __INTPTR_MAX__=9223372036854775807L __INTPTR_TYPE__=long\ int __INT_FAST16_MAX__=9223372036854775807L __INT_FAST16_TYPE__=long\ int __INT_FAST32_MAX__=9223372036854775807L __INT_FAST32_TYPE__=long\ int __INT_FAST64_MAX__=9223372036854775807L __INT_FAST64_TYPE__=long\ int __INT_FAST8_MAX__=127 __INT_FAST8_TYPE__=signed\ char __INT_LEAST16_MAX__=32767 __INT_LEAST16_TYPE__=short\ int __INT_LEAST32_MAX__=2147483647 __INT_LEAST32_TYPE__=int __INT_LEAST64_MAX__=9223372036854775807L __INT_LEAST64_TYPE__=long\ int __INT_LEAST8_MAX__=127 __INT_LEAST8_TYPE__=signed\ char __INT_MAX__=2147483647 __LACCUM_EPSILON__=0x1P-31LK __LACCUM_FBIT__=31 __LACCUM_IBIT__=32 __LACCUM_MAX__=0X7FFFFFFFFFFFFFFFP-31LK __LACCUM_MIN__=(-0X1P31LK-0X1P31LK) __LANGUAGE_C=1 __LANGUAGE_C__=1 __LDBL_DENORM_MIN__=6.47517511943802511092443895822764655e-4966L __LDBL_DIG__=33 __LDBL_EPSILON__=1.92592994438723585305597794258492732e-34L __LDBL_HAS_DENORM__=1 __LDBL_HAS_INFINITY__=1 __LDBL_HAS_QUIET_NAN__=1 __LDBL_MANT_DIG__=113 __LDBL_MAX_10_EXP__=4932 __LDBL_MAX_EXP__=16384 __LDBL_MAX__=1.18973149535723176508575932662800702e+4932L __LDBL_MIN_10_EXP__=(-4931) __LDBL_MIN_EXP__=(-16381) __LDBL_MIN__=3.36210314311209350626267781732175260e-4932L __LFRACT_EPSILON__=0x1P-31LR __LFRACT_FBIT__=31 __LFRACT_IBIT__=0 __LFRACT_MAX__=0X7FFFFFFFP-31LR __LFRACT_MIN__=(-0.5LR-0.5LR) __LLACCUM_EPSILON__=0x1P-63LLK __LLACCUM_FBIT__=63 __LLACCUM_IBIT__=64 __LLACCUM_MAX__=0X7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFP-63LLK __LLACCUM_MIN__=(-0X1P63LLK-0X1P63LLK) __LLFRACT_EPSILON__=0x1P-63LLR __LLFRACT_FBIT__=63 __LLFRACT_IBIT__=0 __LLFRACT_MAX__=0X7FFFFFFFFFFFFFFFP-63LLR __LLFRACT_MIN__=(-0.5LLR-0.5LLR) __LONG_LONG_MAX__=9223372036854775807LL __LONG_MAX__=9223372036854775807L __LP64__=1 __MIPSEB=1 __MIPSEB__=1 __ORDER_BIG_ENDIAN__=4321 __ORDER_LITTLE_ENDIAN__=1234 __ORDER_PDP_ENDIAN__=3412 __PIC__=1 __PRAGMA_REDEFINE_EXTNAME=1 __PTRDIFF_MAX__=9223372036854775807L __PTRDIFF_TYPE__=long\ int __QQ_FBIT__=7 __QQ_IBIT__=0 __R4000=1 __R4000__=1 __REGISTER_PREFIX__= __SACCUM_EPSILON__=0x1P-7HK __SACCUM_FBIT__=7 __SACCUM_IBIT__=8 __SACCUM_MAX__=0X7FFFP-7HK __SACCUM_MIN__=(-0X1P7HK-0X1P7HK) __SA_FBIT__=15 __SA_IBIT__=16 __SCHAR_MAX__=127 __SFRACT_EPSILON__=0x1P-7HR __SFRACT_FBIT__=7 __SFRACT_IBIT__=0 __SFRACT_MAX__=0X7FP-7HR __SFRACT_MIN__=(-0.5HR-0.5HR) __SHRT_MAX__=32767 __SIG_ATOMIC_MAX__=2147483647 __SIG_ATOMIC_MIN__=(-2147483647\ -\ 1) __SIG_ATOMIC_TYPE__=int __SIZEOF_DOUBLE__=8 __SIZEOF_FLOAT__=4 __SIZEOF_INT128__=16 __SIZEOF_INT__=4 __SIZEOF_LONG_DOUBLE__=16 __SIZEOF_LONG_LONG__=8 __SIZEOF_LONG__=8 __SIZEOF_POINTER__=8 __SIZEOF_PTRDIFF_T__=8 __SIZEOF_SHORT__=2 __SIZEOF_SIZE_T__=8 __SIZEOF_WCHAR_T__=4 __SIZEOF_WINT_T__=4 __SIZE_MAX__=18446744073709551615UL __SIZE_TYPE__=long\ unsigned\ int __SQ_FBIT__=31 __SQ_IBIT__=0 __STDC_HOSTED__=1 __STDC__=1 __TA_FBIT__=63 __TA_IBIT__=64 __TQ_FBIT__=127 __TQ_IBIT__=0 __UACCUM_EPSILON__=0x1P-16UK __UACCUM_FBIT__=16 __UACCUM_IBIT__=16 __UACCUM_MAX__=0XFFFFFFFFP-16UK __UACCUM_MIN__=0.0UK __UDA_FBIT__=32 __UDA_IBIT__=32 __UDQ_FBIT__=64 __UDQ_IBIT__=0 __UFRACT_EPSILON__=0x1P-16UR __UFRACT_FBIT__=16 __UFRACT_IBIT__=0 __UFRACT_MAX__=0XFFFFP-16UR __UFRACT_MIN__=0.0UR __UHA_FBIT__=8 __UHA_IBIT__=8 __UHQ_FBIT__=16 __UHQ_IBIT__=0 __UINT16_C=__UINT16_C __UINT16_MAX__=65535 __UINT16_TYPE__=short\ unsigned\ int __UINT32_C=__UINT32_C __UINT32_MAX__=4294967295U __UINT32_TYPE__=unsigned\ int __UINT64_C=__UINT64_C __UINT64_MAX__=18446744073709551615UL __UINT64_TYPE__=long\ unsigned\ int __UINT8_C=__UINT8_C __UINT8_MAX__=255 __UINT8_TYPE__=unsigned\ char __UINTMAX_C=__UINTMAX_C __UINTMAX_MAX__=18446744073709551615UL __UINTMAX_TYPE__=long\ unsigned\ int __UINTPTR_MAX__=18446744073709551615UL __UINTPTR_TYPE__=long\ unsigned\ int __UINT_FAST16_MAX__=18446744073709551615UL __UINT_FAST16_TYPE__=long\ unsigned\ int __UINT_FAST32_MAX__=18446744073709551615UL __UINT_FAST32_TYPE__=long\ unsigned\ int __UINT_FAST64_MAX__=18446744073709551615UL __UINT_FAST64_TYPE__=long\ unsigned\ int __UINT_FAST8_MAX__=255 __UINT_FAST8_TYPE__=unsigned\ char __UINT_LEAST16_MAX__=65535 __UINT_LEAST16_TYPE__=short\ unsigned\ int __UINT_LEAST32_MAX__=4294967295U __UINT_LEAST32_TYPE__=unsigned\ int __UINT_LEAST64_MAX__=18446744073709551615UL __UINT_LEAST64_TYPE__=long\ unsigned\ int __UINT_LEAST8_MAX__=255 __UINT_LEAST8_TYPE__=unsigned\ char __ULACCUM_EPSILON__=0x1P-32ULK __ULACCUM_FBIT__=32 __ULACCUM_IBIT__=32 __ULACCUM_MAX__=0XFFFFFFFFFFFFFFFFP-32ULK __ULACCUM_MIN__=0.0ULK __ULFRACT_EPSILON__=0x1P-32ULR __ULFRACT_FBIT__=32 __ULFRACT_IBIT__=0 __ULFRACT_MAX__=0XFFFFFFFFP-32ULR __ULFRACT_MIN__=0.0ULR __ULLACCUM_EPSILON__=0x1P-64ULLK __ULLACCUM_FBIT__=64 __ULLACCUM_IBIT__=64 __ULLACCUM_MAX__=0XFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFP-64ULLK __ULLACCUM_MIN__=0.0ULLK __ULLFRACT_EPSILON__=0x1P-64ULLR __ULLFRACT_FBIT__=64 __ULLFRACT_IBIT__=0 __ULLFRACT_MAX__=0XFFFFFFFFFFFFFFFFP-64ULLR __ULLFRACT_MIN__=0.0ULLR __UQQ_FBIT__=8 __UQQ_IBIT__=0 __USACCUM_EPSILON__=0x1P-8UHK __USACCUM_FBIT__=8 __USACCUM_IBIT__=8 __USACCUM_MAX__=0XFFFFP-8UHK __USACCUM_MIN__=0.0UHK __USA_FBIT__=16 __USA_IBIT__=16 __USER_LABEL_PREFIX__= __USE_BSD=1 __USE_FILE_OFFSET64=1 __USE_LARGEFILE=1 __USE_MISC=1 __USE_POSIX199309=1 __USE_POSIX199506=1 __USE_POSIX2=1 __USE_POSIX=1 __USE_SVID=1 __USFRACT_EPSILON__=0x1P-8UHR __USFRACT_FBIT__=8 __USFRACT_IBIT__=0 __USFRACT_MAX__=0XFFP-8UHR __USFRACT_MIN__=0.0UHR __USQ_FBIT__=32 __USQ_IBIT__=0 __UTA_FBIT__=64 __UTA_IBIT__=64 __UTQ_FBIT__=128 __UTQ_IBIT__=0 __VERSION__="4.7.3" __WCHAR_MAX__=2147483647 __WCHAR_MIN__=(-2147483647\ -\ 1) __WCHAR_TYPE__=int __WINT_MAX__=4294967295U __WINT_MIN__=0U __WINT_TYPE__=unsigned\ int __gnu_linux__=1 __linux=1 __linux__=1 __mips64=1 __mips=3 __mips__=1 __mips_abicalls=1 __mips_fpr=64 __mips_hard_float=1 __pic__=1 __unix=1 __unix__=1 _mips=1 linux=1 mips=1 unix=1'
+crypt_r_proto='0'
+cryptlib=''
+csh='csh'
+ctermid_r_proto='0'
+ctime_r_proto='0'
+d_Gconvert='gcvt((x),(n),(b))'
+d_PRIEUldbl='define'
+d_PRIFUldbl='define'
+d_PRIGUldbl='define'
+d_PRIXU64='define'
+d_PRId64='define'
+d_PRIeldbl='define'
+d_PRIfldbl='define'
+d_PRIgldbl='define'
+d_PRIi64='define'
+d_PRIo64='define'
+d_PRIu64='define'
+d_PRIx64='define'
+d_SCNfldbl='define'
+d__fwalk='undef'
+d_access='define'
+d_accessx='undef'
+d_aintl='undef'
+d_alarm='define'
+d_archlib='define'
+d_asctime64='undef'
+d_asctime_r='undef'
+d_atolf='undef'
+d_atoll='define'
+d_attribute_deprecated='define'
+d_attribute_format='define'
+d_attribute_malloc='define'
+d_attribute_nonnull='define'
+d_attribute_noreturn='define'
+d_attribute_pure='define'
+d_attribute_unused='define'
+d_attribute_warn_unused_result='define'
+d_bcmp='define'
+d_bcopy='define'
+d_bsd='undef'
+d_bsdgetpgrp='undef'
+d_bsdsetpgrp='undef'
+d_builtin_choose_expr='define'
+d_builtin_expect='define'
+d_bzero='define'
+d_c99_variadic_macros='define'
+d_casti32='define'
+d_castneg='define'
+d_charvspr='undef'
+d_chown='define'
+d_chroot='define'
+d_chsize='undef'
+d_class='undef'
+d_clearenv='define'
+d_closedir='define'
+d_cmsghdr_s='define'
+d_const='define'
+d_copysignl='define'
+d_cplusplus='undef'
+d_crypt='define'
+d_crypt_r='undef'
+d_csh='undef'
+d_ctermid='define'
+d_ctermid_r='undef'
+d_ctime64='undef'
+d_ctime_r='undef'
+d_cuserid='define'
+d_dbl_dig='define'
+d_dbminitproto='undef'
+d_difftime64='undef'
+d_difftime='define'
+d_dir_dd_fd='undef'
+d_dirfd='define'
+d_dirnamlen='undef'
+d_dlerror='define'
+d_dlopen='define'
+d_dlsymun='undef'
+d_dosuid='undef'
+d_drand48_r='undef'
+d_drand48proto='define'
+d_dup2='define'
+d_eaccess='define'
+d_endgrent='define'
+d_endgrent_r='undef'
+d_endhent='define'
+d_endhostent_r='undef'
+d_endnent='define'
+d_endnetent_r='undef'
+d_endpent='define'
+d_endprotoent_r='undef'
+d_endpwent='define'
+d_endpwent_r='undef'
+d_endsent='define'
+d_endservent_r='undef'
+d_eofnblk='define'
+d_eunice='undef'
+d_faststdio='define'
+d_fchdir='define'
+d_fchmod='define'
+d_fchown='define'
+d_fcntl='define'
+d_fcntl_can_lock='define'
+d_fd_macros='define'
+d_fd_set='define'
+d_fds_bits='undef'
+d_fgetpos='define'
+d_finite='define'
+d_finitel='define'
+d_flexfnam='define'
+d_flock='define'
+d_flockproto='define'
+d_fork='define'
+d_fp_class='undef'
+d_fpathconf='define'
+d_fpclass='undef'
+d_fpclassify='undef'
+d_fpclassl='undef'
+d_fpos64_t='undef'
+d_frexpl='define'
+d_fs_data_s='undef'
+d_fseeko='define'
+d_fsetpos='define'
+d_fstatfs='define'
+d_fstatvfs='define'
+d_fsync='define'
+d_ftello='define'
+d_ftime='undef'
+d_futimes='define'
+d_gdbm_ndbm_h_uses_prototypes='undef'
+d_gdbmndbm_h_uses_prototypes='undef'
+d_getaddrinfo='define'
+d_getcwd='define'
+d_getespwnam='undef'
+d_getfsstat='undef'
+d_getgrent='define'
+d_getgrent_r='undef'
+d_getgrgid_r='undef'
+d_getgrnam_r='undef'
+d_getgrps='define'
+d_gethbyaddr='define'
+d_gethbyname='define'
+d_gethent='define'
+d_gethname='define'
+d_gethostbyaddr_r='undef'
+d_gethostbyname_r='undef'
+d_gethostent_r='undef'
+d_gethostprotos='define'
+d_getitimer='define'
+d_getlogin='define'
+d_getlogin_r='undef'
+d_getmnt='undef'
+d_getmntent='define'
+d_getnameinfo='define'
+d_getnbyaddr='define'
+d_getnbyname='define'
+d_getnent='define'
+d_getnetbyaddr_r='undef'
+d_getnetbyname_r='undef'
+d_getnetent_r='undef'
+d_getnetprotos='define'
+d_getpagsz='define'
+d_getpbyname='define'
+d_getpbynumber='define'
+d_getpent='define'
+d_getpgid='define'
+d_getpgrp2='undef'
+d_getpgrp='define'
+d_getppid='define'
+d_getprior='define'
+d_getprotobyname_r='undef'
+d_getprotobynumber_r='undef'
+d_getprotoent_r='undef'
+d_getprotoprotos='define'
+d_getprpwnam='undef'
+d_getpwent='define'
+d_getpwent_r='undef'
+d_getpwnam_r='undef'
+d_getpwuid_r='undef'
+d_getsbyname='define'
+d_getsbyport='define'
+d_getsent='define'
+d_getservbyname_r='undef'
+d_getservbyport_r='undef'
+d_getservent_r='undef'
+d_getservprotos='define'
+d_getspnam='define'
+d_getspnam_r='undef'
+d_gettimeod='define'
+d_gmtime64='undef'
+d_gmtime_r='undef'
+d_gnulibc='define'
+d_grpasswd='define'
+d_hasmntopt='define'
+d_htonl='define'
+d_ilogbl='define'
+d_inc_version_list='undef'
+d_index='undef'
+d_inetaton='define'
+d_inetntop='define'
+d_inetpton='define'
+d_int64_t='define'
+d_ip_mreq='define'
+d_ip_mreq_source='define'
+d_ipv6_mreq='define'
+d_ipv6_mreq_source='undef'
+d_isascii='define'
+d_isblank='define'
+d_isfinite='undef'
+d_isinf='define'
+d_isnan='define'
+d_isnanl='define'
+d_killpg='define'
+d_lchown='define'
+d_ldbl_dig='define'
+d_libm_lib_version='define'
+d_link='define'
+d_localtime64='undef'
+d_localtime_r='undef'
+d_localtime_r_needs_tzset='undef'
+d_locconv='define'
+d_lockf='define'
+d_longdbl='define'
+d_longlong='define'
+d_lseekproto='define'
+d_lstat='define'
+d_madvise='define'
+d_malloc_good_size='undef'
+d_malloc_size='undef'
+d_mblen='define'
+d_mbstowcs='define'
+d_mbtowc='define'
+d_memchr='define'
+d_memcmp='define'
+d_memcpy='define'
+d_memmove='define'
+d_memset='define'
+d_mkdir='define'
+d_mkdtemp='define'
+d_mkfifo='define'
+d_mkstemp='define'
+d_mkstemps='define'
+d_mktime64='undef'
+d_mktime='define'
+d_mmap='define'
+d_modfl='define'
+d_modfl_pow32_bug='undef'
+d_modflproto='define'
+d_mprotect='define'
+d_msg='define'
+d_msg_ctrunc='define'
+d_msg_dontroute='define'
+d_msg_oob='define'
+d_msg_peek='define'
+d_msg_proxy='define'
+d_msgctl='define'
+d_msgget='define'
+d_msghdr_s='define'
+d_msgrcv='define'
+d_msgsnd='define'
+d_msync='define'
+d_munmap='define'
+d_mymalloc='undef'
+d_ndbm='undef'
+d_ndbm_h_uses_prototypes='undef'
+d_nice='define'
+d_nl_langinfo='define'
+d_nv_preserves_uv='undef'
+d_nv_zero_is_allbits_zero='define'
+d_off64_t='undef'
+d_old_pthread_create_joinable='undef'
+d_oldpthreads='undef'
+d_oldsock='undef'
+d_open3='define'
+d_pathconf='define'
+d_pause='define'
+d_perl_otherlibdirs='undef'
+d_phostname='undef'
+d_pipe='define'
+d_poll='define'
+d_portable='define'
+d_prctl='define'
+d_prctl_set_name='define'
+d_printf_format_null='undef'
+d_procselfexe='undef'
+d_pseudofork='undef'
+d_pthread_atfork='undef'
+d_pthread_attr_setscope='define'
+d_pthread_yield='undef'
+d_pwage='undef'
+d_pwchange='undef'
+d_pwclass='undef'
+d_pwcomment='undef'
+d_pwexpire='undef'
+d_pwgecos='define'
+d_pwpasswd='define'
+d_pwquota='undef'
+d_qgcvt='define'
+d_quad='define'
+d_random_r='undef'
+d_readdir64_r='undef'
+d_readdir='define'
+d_readdir_r='undef'
+d_readlink='define'
+d_readv='define'
+d_recvmsg='define'
+d_rename='define'
+d_rewinddir='define'
+d_rmdir='define'
+d_safebcpy='undef'
+d_safemcpy='undef'
+d_sanemcmp='define'
+d_sbrkproto='define'
+d_scalbnl='define'
+d_sched_yield='define'
+d_scm_rights='define'
+d_seekdir='define'
+d_select='define'
+d_sem='define'
+d_semctl='define'
+d_semctl_semid_ds='define'
+d_semctl_semun='define'
+d_semget='define'
+d_semop='define'
+d_sendmsg='define'
+d_setegid='define'
+d_seteuid='define'
+d_setgrent='define'
+d_setgrent_r='undef'
+d_setgrps='define'
+d_sethent='define'
+d_sethostent_r='undef'
+d_setitimer='define'
+d_setlinebuf='define'
+d_setlocale='define'
+d_setlocale_r='undef'
+d_setnent='define'
+d_setnetent_r='undef'
+d_setpent='define'
+d_setpgid='define'
+d_setpgrp2='undef'
+d_setpgrp='define'
+d_setprior='define'
+d_setproctitle='undef'
+d_setprotoent_r='undef'
+d_setpwent='define'
+d_setpwent_r='undef'
+d_setregid='define'
+d_setresgid='define'
+d_setresuid='define'
+d_setreuid='define'
+d_setrgid='undef'
+d_setruid='undef'
+d_setsent='define'
+d_setservent_r='undef'
+d_setsid='define'
+d_setvbuf='define'
+d_sfio='undef'
+d_shm='define'
+d_shmat='define'
+d_shmatprototype='define'
+d_shmctl='define'
+d_shmdt='define'
+d_shmget='define'
+d_sigaction='define'
+d_signbit='define'
+d_sigprocmask='define'
+d_sigsetjmp='define'
+d_sin6_scope_id='define'
+d_sitearch='define'
+d_snprintf='define'
+d_sockaddr_in6='define'
+d_sockaddr_sa_len='undef'
+d_sockatmark='define'
+d_sockatmarkproto='define'
+d_socket='define'
+d_socklen_t='define'
+d_sockpair='define'
+d_socks5_init='undef'
+d_sprintf_returns_strlen='define'
+d_sqrtl='define'
+d_srand48_r='undef'
+d_srandom_r='undef'
+d_sresgproto='undef'
+d_sresuproto='undef'
+d_statblks='define'
+d_statfs_f_flags='define'
+d_statfs_s='define'
+d_static_inline='define'
+d_statvfs='define'
+d_stdio_cnt_lval='undef'
+d_stdio_ptr_lval='define'
+d_stdio_ptr_lval_nochange_cnt='undef'
+d_stdio_ptr_lval_sets_cnt='define'
+d_stdio_stream_array='undef'
+d_stdiobase='define'
+d_stdstdio='define'
+d_strchr='define'
+d_strcoll='define'
+d_strctcpy='define'
+d_strerrm='strerror(e)'
+d_strerror='define'
+d_strerror_r='undef'
+d_strftime='define'
+d_strlcat='undef'
+d_strlcpy='undef'
+d_strtod='define'
+d_strtol='define'
+d_strtold='define'
+d_strtoll='define'
+d_strtoq='define'
+d_strtoul='define'
+d_strtoull='define'
+d_strtouq='define'
+d_strxfrm='define'
+d_suidsafe='undef'
+d_symlink='define'
+d_syscall='define'
+d_syscallproto='define'
+d_sysconf='define'
+d_sysernlst=''
+d_syserrlst='define'
+d_system='define'
+d_tcgetpgrp='define'
+d_tcsetpgrp='define'
+d_telldir='define'
+d_telldirproto='define'
+d_time='define'
+d_timegm='define'
+d_times='define'
+d_tm_tm_gmtoff='define'
+d_tm_tm_zone='define'
+d_tmpnam_r='undef'
+d_truncate='define'
+d_ttyname_r='undef'
+d_tzname='define'
+d_u32align='define'
+d_ualarm='define'
+d_umask='define'
+d_uname='define'
+d_union_semun='undef'
+d_unordered='undef'
+d_unsetenv='define'
+d_usleep='define'
+d_usleepproto='define'
+d_ustat='define'
+d_vendorarch='undef'
+d_vendorbin='undef'
+d_vendorlib='undef'
+d_vendorscript='undef'
+d_vfork='undef'
+d_void_closedir='undef'
+d_voidsig='define'
+d_voidtty=''
+d_volatile='define'
+d_vprintf='define'
+d_vsnprintf='define'
+d_wait4='define'
+d_waitpid='define'
+d_wcstombs='define'
+d_wctomb='define'
+d_writev='define'
+d_xenix='undef'
+date='date'
+db_hashtype='u_int32_t'
+db_prefixtype='size_t'
+db_version_major=''
+db_version_minor=''
+db_version_patch=''
+defvoidused='15'
+direntrytype='struct dirent'
+dlext='so'
+dlsrc='dl_dlopen.xs'
+doublesize='8'
+drand01='drand48()'
+drand48_r_proto='0'
+dtrace=''
+dynamic_ext='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd Data/Dumper Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/DosGlob File/Glob Filter/Util/Call Hash/Util Hash/Util/FieldHash I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Math/BigInt/FastCalc Opcode POSIX PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Text/Soundex Tie/Hash/NamedCapture Time/HiRes Time/Piece Unicode/Collate Unicode/Normalize XS/APItest XS/Typemap arybase attributes mro re threads threads/shared'
+eagain='EAGAIN'
+ebcdic='undef'
+echo='echo'
+egrep='egrep'
+emacs=''
+endgrent_r_proto='0'
+endhostent_r_proto='0'
+endnetent_r_proto='0'
+endprotoent_r_proto='0'
+endpwent_r_proto='0'
+endservent_r_proto='0'
+eunicefix=':'
+exe_ext=''
+expr='expr'
+extensions='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd Data/Dumper Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/DosGlob File/Glob Filter/Util/Call Hash/Util Hash/Util/FieldHash I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Math/BigInt/FastCalc Opcode POSIX PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Text/Soundex Tie/Hash/NamedCapture Time/HiRes Time/Piece Unicode/Collate Unicode/Normalize XS/APItest XS/Typemap arybase attributes mro re threads threads/shared Archive/Extract Archive/Tar Attribute/Handlers AutoLoader B/Debug B/Deparse B/Lint CGI CPAN CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML CPANPLUS CPANPLUS/Dist/Build Carp Config/Perl/V Devel/SelfStubber Digest Dumpvalue Env Errno ExtUtils/CBuilder ExtUtils/Command ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/ParseXS File/CheckTree File/Fetch File/Path File/Temp FileCache Filter/Simple Getopt/Long HTTP/Tiny I18N/Collate I18N/LangTags IO/Compress IO/Zlib IPC/Cmd IPC/Open3 JSON/PP Locale/Codes Locale/Maketext Locale/Maketext/Simple Log/Message Log/Message/Simple Math/BigInt Math/BigRat Math/Complex Memoize Module/Build Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata Module/Pluggable NEXT Net/Ping Object/Accessor Package/Constants Params/Check Parse/CPAN/Meta Perl/OSType PerlIO/via/QuotedPrint Pod/Checker Pod/Escapes Pod/Functions Pod/Html Pod/LaTeX Pod/Parser Pod/Perldoc Pod/Simple Pod/Usage Safe Search/Dict SelfLoader Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Term/UI Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Memoize Tie/RefHash Time/Local XSLoader autodie autouse base bignum constant encoding/warnings if lib libnet parent perlfaq podlators'
+extern_C='extern'
+extras=''
+fflushNULL='define'
+fflushall='undef'
+find=''
+firstmakefile='makefile'
+flex=''
+fpossize='16'
+fpostype='fpos_t'
+freetype='void'
+from=':'
+full_ar='%%AR%%'
+full_csh='csh'
+full_sed='/bin/sed'
+gccansipedantic=''
+gccosandvers=''
+gccversion='4.7.3'
+getgrent_r_proto='0'
+getgrgid_r_proto='0'
+getgrnam_r_proto='0'
+gethostbyaddr_r_proto='0'
+gethostbyname_r_proto='0'
+gethostent_r_proto='0'
+getlogin_r_proto='0'
+getnetbyaddr_r_proto='0'
+getnetbyname_r_proto='0'
+getnetent_r_proto='0'
+getprotobyname_r_proto='0'
+getprotobynumber_r_proto='0'
+getprotoent_r_proto='0'
+getpwent_r_proto='0'
+getpwnam_r_proto='0'
+getpwuid_r_proto='0'
+getservbyname_r_proto='0'
+getservbyport_r_proto='0'
+getservent_r_proto='0'
+getspnam_r_proto='0'
+gidformat='"u"'
+gidsign='1'
+gidsize='4'
+gidtype='gid_t'
+glibpth='/usr/shlib /lib /usr/lib /usr/lib/386 /lib/386 /usr/ccs/lib /usr/ucblib /usr/local/lib /lib64 /usr/lib64 /usr/local/lib64 '
+gmake='gmake'
+gmtime_r_proto='0'
+gnulibc_version='2.19'
+grep='grep'
+groupcat='cat /etc/group'
+groupstype='gid_t'
+gzip='gzip'
+h_fcntl='false'
+h_sysfile='true'
+hint='recommended'
+hostcat='cat /etc/hosts'
+html1dir=' '
+html1direxp=''
+html3dir=' '
+html3direxp=''
+i16size='2'
+i16type='short'
+i32size='4'
+i32type='int'
+i64size='8'
+i64type='long'
+i8size='1'
+i8type='signed char'
+i_arpainet='define'
+i_assert='define'
+i_bsdioctl=''
+i_crypt='define'
+i_db='undef'
+i_dbm='undef'
+i_dirent='define'
+i_dld='undef'
+i_dlfcn='define'
+i_fcntl='undef'
+i_float='define'
+i_fp='undef'
+i_fp_class='undef'
+i_gdbm='undef'
+i_gdbm_ndbm='undef'
+i_gdbmndbm='undef'
+i_grp='define'
+i_ieeefp='undef'
+i_inttypes='define'
+i_langinfo='define'
+i_libutil='undef'
+i_limits='define'
+i_locale='define'
+i_machcthr='undef'
+i_malloc='define'
+i_mallocmalloc='undef'
+i_math='define'
+i_memory='undef'
+i_mntent='define'
+i_ndbm='undef'
+i_netdb='define'
+i_neterrno='undef'
+i_netinettcp='define'
+i_niin='define'
+i_poll='define'
+i_prot='undef'
+i_pthread='define'
+i_pwd='define'
+i_rpcsvcdbm='undef'
+i_sfio='undef'
+i_sgtty='undef'
+i_shadow='define'
+i_socks='undef'
+i_stdarg='define'
+i_stdbool='define'
+i_stddef='define'
+i_stdlib='define'
+i_string='define'
+i_sunmath='undef'
+i_sysaccess='undef'
+i_sysdir='define'
+i_sysfile='define'
+i_sysfilio='undef'
+i_sysin='undef'
+i_sysioctl='define'
+i_syslog='define'
+i_sysmman='define'
+i_sysmode='undef'
+i_sysmount='define'
+i_sysndir='undef'
+i_sysparam='define'
+i_syspoll='define'
+i_sysresrc='define'
+i_syssecrt='undef'
+i_sysselct='define'
+i_syssockio='undef'
+i_sysstat='define'
+i_sysstatfs='define'
+i_sysstatvfs='define'
+i_systime='define'
+i_systimek='undef'
+i_systimes='define'
+i_systypes='define'
+i_sysuio='define'
+i_sysun='define'
+i_sysutsname='define'
+i_sysvfs='define'
+i_syswait='define'
+i_termio='undef'
+i_termios='define'
+i_time='define'
+i_unistd='define'
+i_ustat='define'
+i_utime='define'
+i_values='define'
+i_varargs='undef'
+i_varhdr='stdarg.h'
+i_vfork='undef'
+ignore_versioned_solibs='y'
+inc_version_list=' '
+inc_version_list_init='0'
+incpath=''
+inews=''
+initialinstalllocation='/usr/bin'
+installarchlib='/usr/lib/perl5/5.18.1/mips64-linux'
+installbin='/usr/bin'
+installhtml1dir=''
+installhtml3dir=''
+installman1dir=''
+installman3dir=''
+installprefix='/usr'
+installprefixexp='/usr'
+installprivlib='/usr/lib/perl5/5.18.1'
+installscript='/usr/bin'
+installsitearch='/usr/lib/perl5/site_perl/5.18.1/mips64-linux'
+installsitebin='/usr/bin'
+installsitehtml1dir=''
+installsitehtml3dir=''
+installsitelib='/usr/lib/perl5/site_perl/5.18.1'
+installsiteman1dir=''
+installsiteman3dir=''
+installsitescript='/usr/bin'
+installstyle='lib/perl5'
+installusrbinperl='undef'
+installvendorarch=''
+installvendorbin=''
+installvendorhtml1dir=''
+installvendorhtml3dir=''
+installvendorlib=''
+installvendorman1dir=''
+installvendorman3dir=''
+installvendorscript=''
+intsize='4'
+issymlink='test -h'
+ivdformat='"ld"'
+ivsize='8'
+ivtype='long'
+known_extensions='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd DB_File Data/Dumper Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/DosGlob File/Glob Filter/Util/Call GDBM_File Hash/Util Hash/Util/FieldHash I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Math/BigInt/FastCalc NDBM_File ODBM_File Opcode POSIX PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Text/Soundex Tie/Hash/NamedCapture Time/HiRes Time/Piece Unicode/Collate Unicode/Normalize VMS/DCLsym VMS/Stdio Win32 Win32API/File Win32CORE XS/APItest XS/Typemap arybase attributes mro re threads threads/shared '
+ksh=''
+ld='%%LD%%'
+ld_can_script='define'
+lddlflags='-shared %%LDFLAGS%%'
+ldflags='%%LDFLAGS%%'
+ldflags_uselargefiles=''
+ldlibpthname='LD_LIBRARY_PATH'
+less='less'
+lib_ext='.a'
+libc=''
+libperl='libperl.a'
+libpth='%%LIBDIRS%%'
+libs='-ldl -lm -lcrypt -lutil -lc'
+libsdirs='%%LIBDIRS%%'
+libsfiles=' libdl.so libm.so libcrypt.so libutil.so libc.so'
+#libsfound=' /lib/../lib64/libdl.so /lib/../lib64/libm.so /lib/../lib64/libcrypt.so /lib/../lib64/libutil.so /usr/lib/../lib64/libc.so'
+libspath='%%LIBDIRS%%'
+libswanted='sfio socket inet nsl nm ndbm gdbm dbm db malloc dl dld ld sun m crypt sec util c cposix posix ucb BSD gdbm_compat'
+libswanted_uselargefiles=''
+line=''
+lint=''
+lkflags=''
+ln='ln'
+lns='/bin/ln -s'
+localtime_r_proto='0'
+locincpth='/usr/local/include /opt/local/include /usr/gnu/include /opt/gnu/include /usr/GNU/include /opt/GNU/include'
+loclibpth='/usr/local/lib /opt/local/lib /usr/gnu/lib /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib'
+longdblsize='16'
+longlongsize='8'
+longsize='8'
+lp=''
+lpr=''
+ls='ls'
+lseeksize='8'
+lseektype='off_t'
+mad='undef'
+madlyh=''
+madlyobj=''
+madlysrc=''
+mail=''
+mailx=''
+make='make'
+make_set_make='#'
+mallocobj=''
+mallocsrc=''
+malloctype='void *'
+man1dir=' '
+man1direxp=''
+man1ext='0'
+man3dir=' '
+man3direxp=''
+man3ext='0'
+mips_type=''
+mistrustnm=''
+mkdir='mkdir'
+mmaptype='void *'
+modetype='mode_t'
+more='more'
+multiarch='undef'
+mv=''
+myarchname='mips64-linux'
+mydomain='.nonet'
+myhostname='openadk'
+myuname='linux openadk 3.13.5 #2 wed feb 26 14:24:46 cet 2014 mips64 gnulinux '
+n='-n'
+need_va_copy='undef'
+netdb_hlen_type='size_t'
+netdb_host_type='char *'
+netdb_name_type='const char *'
+netdb_net_type='in_addr_t'
+nm='nm'
+nm_opt=''
+nm_so_opt='--dynamic'
+nonxs_ext='Archive/Extract Archive/Tar Attribute/Handlers AutoLoader B/Debug B/Deparse B/Lint CGI CPAN CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML CPANPLUS CPANPLUS/Dist/Build Carp Config/Perl/V Devel/SelfStubber Digest Dumpvalue Env Errno ExtUtils/CBuilder ExtUtils/Command ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/ParseXS File/CheckTree File/Fetch File/Path File/Temp FileCache Filter/Simple Getopt/Long HTTP/Tiny I18N/Collate I18N/LangTags IO/Compress IO/Zlib IPC/Cmd IPC/Open3 JSON/PP Locale/Codes Locale/Maketext Locale/Maketext/Simple Log/Message Log/Message/Simple Math/BigInt Math/BigRat Math/Complex Memoize Module/Build Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata Module/Pluggable NEXT Net/Ping Object/Accessor Package/Constants Params/Check Parse/CPAN/Meta Perl/OSType PerlIO/via/QuotedPrint Pod/Checker Pod/Escapes Pod/Functions Pod/Html Pod/LaTeX Pod/Parser Pod/Perldoc Pod/Simple Pod/Usage Safe Search/Dict SelfLoader Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Term/UI Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Memoize Tie/RefHash Time/Local XSLoader autodie autouse base bignum constant encoding/warnings if lib libnet parent perlfaq podlators'
+nroff='nroff'
+nvEUformat='"E"'
+nvFUformat='"F"'
+nvGUformat='"G"'
+nv_overflows_integers_at='256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0'
+nv_preserves_uv_bits='53'
+nveformat='"e"'
+nvfformat='"f"'
+nvgformat='"g"'
+nvsize='8'
+nvtype='double'
+o_nonblock='O_NONBLOCK'
+obj_ext='.o'
+old_pthread_create_joinable=''
+optimize='-O2'
+orderlib='false'
+osname='linux'
+osvers='3.13.5'
+otherlibdirs=' '
+package='perl5'
+pager='/usr/bin/less -R'
+passcat='cat /etc/passwd'
+patchlevel='18'
+path_sep=':'
+perl5=''
+perl='perl'
+perl_patchlevel=''
+perl_static_inline='static __inline__'
+perladmin='root@openadk.nonet'
+perllibs='-ldl -lm -lcrypt -lutil -lc'
+perlpath='/usr/bin/perl'
+pg='pg'
+phostname='hostname'
+pidtype='pid_t'
+plibpth='/lib/mips64-openadk-linux-gnu/4.7.3 /lib/mips64-linux-gnuabi64 /lib/../lib64 /usr/lib/mips64-openadk-linux-gnu/4.7.3 /usr/lib/mips64-linux-gnuabi64 /usr/lib/../lib64 /lib /usr/lib'
+pmake=''
+pr=''
+prefix='/usr'
+prefixexp='/usr'
+privlib='/usr/lib/perl5/5.18.1'
+privlibexp='/usr/lib/perl5/5.18.1'
+procselfexe=''
+prototype='define'
+ptrsize='8'
+quadkind='2'
+quadtype='long'
+randbits='48'
+randfunc='drand48'
+random_r_proto='0'
+randseedtype='long'
+ranlib=':'
+rd_nodata='-1'
+readdir64_r_proto='0'
+readdir_r_proto='0'
+revision='5'
+rm='rm'
+rm_try='/bin/rm -f try try a.out .out try.[cho] try..o core core.try* try.core*'
+rmail=''
+run=''
+runnm='false'
+sGMTIME_max='67768036191676799'
+sGMTIME_min='-62167219200'
+sLOCALTIME_max='67768036191673199'
+sLOCALTIME_min='-62167222408'
+sPRIEUldbl='"LE"'
+sPRIFUldbl='"LF"'
+sPRIGUldbl='"LG"'
+sPRIXU64='"lX"'
+sPRId64='"ld"'
+sPRIeldbl='"Le"'
+sPRIfldbl='"Lf"'
+sPRIgldbl='"Lg"'
+sPRIi64='"li"'
+sPRIo64='"lo"'
+sPRIu64='"lu"'
+sPRIx64='"lx"'
+sSCNfldbl='"Lf"'
+sched_yield='sched_yield()'
+scriptdir='/usr/bin'
+scriptdirexp='/usr/bin'
+sed='sed'
+seedfunc='srand48'
+selectminbits='64'
+selecttype='fd_set *'
+sendmail=''
+setgrent_r_proto='0'
+sethostent_r_proto='0'
+setlocale_r_proto='0'
+setnetent_r_proto='0'
+setprotoent_r_proto='0'
+setpwent_r_proto='0'
+setservent_r_proto='0'
+sh='/bin/sh'
+shar=''
+sharpbang='#!'
+shmattype='void *'
+shortsize='2'
+shrpenv=''
+shsharp='true'
+sig_count='128'
+sig_name='ZERO HUP INT QUIT ILL TRAP ABRT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM USR1 USR2 CHLD PWR WINCH URG IO STOP TSTP CONT TTIN TTOU VTALRM PROF XCPU XFSZ NUM32 NUM33 RTMIN NUM35 NUM36 NUM37 NUM38 NUM39 NUM40 NUM41 NUM42 NUM43 NUM44 NUM45 NUM46 NUM47 NUM48 NUM49 NUM50 NUM51 NUM52 NUM53 NUM54 NUM55 NUM56 NUM57 NUM58 NUM59 NUM60 NUM61 NUM62 NUM63 NUM64 NUM65 NUM66 NUM67 NUM68 NUM69 NUM70 NUM71 NUM72 NUM73 NUM74 NUM75 NUM76 NUM77 NUM78 NUM79 NUM80 NUM81 NUM82 NUM83 NUM84 NUM85 NUM86 NUM87 NUM88 NUM89 NUM90 NUM91 NUM92 NUM93 NUM94 NUM95 NUM96 NUM97 NUM98 NUM99 NUM100 NUM101 NUM102 NUM103 NUM104 NUM105 NUM106 NUM107 NUM108 NUM109 NUM110 NUM111 NUM112 NUM113 NUM114 NUM115 NUM116 NUM117 NUM118 NUM119 NUM120 NUM121 NUM122 NUM123 NUM124 NUM125 NUM126 RTMAX IOT CLD POLL '
+sig_name_init='"ZERO", "HUP", "INT", "QUIT", "ILL", "TRAP", "ABRT", "EMT", "FPE", "KILL", "BUS", "SEGV", "SYS", "PIPE", "ALRM", "TERM", "USR1", "USR2", "CHLD", "PWR", "WINCH", "URG", "IO", "STOP", "TSTP", "CONT", "TTIN", "TTOU", "VTALRM", "PROF", "XCPU", "XFSZ", "NUM32", "NUM33", "RTMIN", "NUM35", "NUM36", "NUM37", "NUM38", "NUM39", "NUM40", "NUM41", "NUM42", "NUM43", "NUM44", "NUM45", "NUM46", "NUM47", "NUM48", "NUM49", "NUM50", "NUM51", "NUM52", "NUM53", "NUM54", "NUM55", "NUM56", "NUM57", "NUM58", "NUM59", "NUM60", "NUM61", "NUM62", "NUM63", "NUM64", "NUM65", "NUM66", "NUM67", "NUM68", "NUM69", "NUM70", "NUM71", "NUM72", "NUM73", "NUM74", "NUM75", "NUM76", "NUM77", "NUM78", "NUM79", "NUM80", "NUM81", "NUM82", "NUM83", "NUM84", "NUM85", "NUM86", "NUM87", "NUM88", "NUM89", "NUM90", "NUM91", "NUM92", "NUM93", "NUM94", "NUM95", "NUM96", "NUM97", "NUM98", "NUM99", "NUM100", "NUM101", "NUM102", "NUM103", "NUM104", "NUM105", "NUM106", "NUM107", "NUM108", "NUM109", "NUM110", "NUM111", "NUM112", "NUM113", "NUM114", "NUM115", "NUM116", "NUM117", "NUM118", "NUM119", "NUM120", "NUM121", "NUM122", "NUM123", "NUM124", "NUM125", "NUM126", "RTMAX", "IOT", "CLD", "POLL", 0'
+sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 6 18 22 '
+sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 6, 18, 22, 0'
+sig_size='131'
+signal_t='void'
+sitearch='/usr/lib/perl5/site_perl/5.18.1/mips64-linux'
+sitearchexp='/usr/lib/perl5/site_perl/5.18.1/mips64-linux'
+sitebin='/usr/bin'
+sitebinexp='/usr/bin'
+sitehtml1dir=''
+sitehtml1direxp=''
+sitehtml3dir=''
+sitehtml3direxp=''
+sitelib='/usr/lib/perl5/site_perl/5.18.1'
+sitelib_stem='/usr/lib/perl5/site_perl'
+sitelibexp='/usr/lib/perl5/site_perl/5.18.1'
+siteman1dir=''
+siteman1direxp=''
+siteman3dir=''
+siteman3direxp=''
+siteprefix='/usr'
+siteprefixexp='/usr'
+sitescript='/usr/bin'
+sitescriptexp='/usr/bin'
+sizesize='8'
+sizetype='size_t'
+sleep=''
+smail=''
+so='so'
+sockethdr=''
+socketlib=''
+socksizetype='socklen_t'
+sort='sort'
+spackage='Perl5'
+spitshell='cat'
+srand48_r_proto='0'
+srandom_r_proto='0'
+src='.'
+ssizetype='ssize_t'
+st_ino_sign='1'
+st_ino_size='8'
+startperl='#!/usr/bin/perl'
+startsh='#!/bin/sh'
+static_ext=' '
+stdchar='char'
+stdio_base='((fp)->_IO_read_base)'
+stdio_bufsiz='((fp)->_IO_read_end - (fp)->_IO_read_base)'
+stdio_cnt='((fp)->_IO_read_end - (fp)->_IO_read_ptr)'
+stdio_filbuf=''
+stdio_ptr='((fp)->_IO_read_ptr)'
+stdio_stream_array=''
+strerror_r_proto='0'
+strings='/usr/include/string.h'
+submit=''
+subversion='1'
+sysman='/usr/man/man1'
+tail=''
+tar=''
+targetarch=''
+tbl=''
+tee=''
+test='test'
+timeincl='/usr/include/sys/time.h /usr/include/time.h '
+timetype='time_t'
+tmpnam_r_proto='0'
+to=':'
+touch='touch'
+tr='tr'
+trnl='\n'
+troff=''
+ttyname_r_proto='0'
+u16size='2'
+u16type='unsigned short'
+u32size='4'
+u32type='unsigned int'
+u64size='8'
+u64type='unsigned long'
+u8size='1'
+u8type='unsigned char'
+uidformat='"u"'
+uidsign='1'
+uidsize='4'
+uidtype='uid_t'
+uname='uname'
+uniq='uniq'
+uquadtype='unsigned long'
+use5005threads='undef'
+use64bitall='define'
+use64bitint='define'
+usecrosscompile='undef'
+usedevel='undef'
+usedl='define'
+usedtrace='undef'
+usefaststdio='undef'
+useithreads='undef'
+usekernprocpathname='undef'
+uselargefiles='define'
+uselongdouble='undef'
+usemallocwrap='define'
+usemorebits='undef'
+usemultiplicity='undef'
+usemymalloc='n'
+usenm='false'
+usensgetexecutablepath='undef'
+useopcode='true'
+useperlio='define'
+useposix='true'
+usereentrant='undef'
+userelocatableinc='undef'
+usesfio='false'
+useshrplib='false'
+usesitecustomize='undef'
+usesocks='undef'
+usethreads='undef'
+usevendorprefix='undef'
+useversionedarchname='undef'
+usevfork='false'
+usrinc='%%INCDIRS%%'
+uuname=''
+uvXUformat='"lX"'
+uvoformat='"lo"'
+uvsize='8'
+uvtype='unsigned long'
+uvuformat='"lu"'
+uvxformat='"lx"'
+vaproto='define'
+vendorarch=''
+vendorarchexp=''
+vendorbin=''
+vendorbinexp=''
+vendorhtml1dir=' '
+vendorhtml1direxp=''
+vendorhtml3dir=' '
+vendorhtml3direxp=''
+vendorlib=''
+vendorlib_stem=''
+vendorlibexp=''
+vendorman1dir=' '
+vendorman1direxp=''
+vendorman3dir=' '
+vendorman3direxp=''
+vendorprefix=''
+vendorprefixexp=''
+vendorscript=''
+vendorscriptexp=''
+version='5.18.1'
+version_patchlevel_string='version 18 subversion 1'
+versiononly='undef'
+vi=''
+voidflags='15'
+xlibpth='/usr/lib/386 /lib/386'
+yacc='yacc'
+yaccflags=''
+zcat=''
+zip='zip'
+PERL_REVISION=5
+PERL_VERSION=18
+PERL_SUBVERSION=1
+PERL_API_REVISION=5
+PERL_API_VERSION=18
+PERL_API_SUBVERSION=0
+PERL_PATCHLEVEL=''
+PERL_CONFIG_SH=true
+: Variables propagated from previous config.sh file.
+libdb_needs_pthread='N'
diff --git a/package/perl/files/config.sh.mips64.uclibc b/package/perl/files/config.sh.mips64.uclibc
new file mode 100644
index 000000000..fb7c937ec
--- /dev/null
+++ b/package/perl/files/config.sh.mips64.uclibc
@@ -0,0 +1,1118 @@
+#!/bin/sh
+#
+# This file was produced by running the Configure script. It holds all the
+# definitions figured out by Configure. Should you modify one of these values,
+# do not forget to propagate your changes by running "Configure -der". You may
+# instead choose to run each of the .SH files by yourself, or "Configure -S".
+#
+
+# Package name : perl5
+# Source directory : .
+# Configuration time: Fri Feb 28 07:56:44 CET 2014
+# Configured by : root
+# Target system : linux openadk 3.13.5 #1 thu feb 27 21:38:48 cet 2014 mips64 gnulinux
+
+: Configure command line arguments.
+config_arg0='./Configure'
+config_args='-des'
+config_argc=1
+config_arg1='-des'
+
+Author=''
+Date='$Date'
+Header=''
+Id='$Id'
+Locker=''
+Log='$Log'
+RCSfile='$RCSfile'
+Revision='$Revision'
+Source=''
+State=''
+_a='.a'
+_exe=''
+_o='.o'
+afs='false'
+afsroot='/afs'
+alignbytes='8'
+ansi2knr=''
+aphostname='/bin/hostname'
+api_revision='5'
+api_subversion='0'
+api_version='18'
+api_versionstring='5.18.0'
+ar='ar'
+archlib='/usr/lib/perl5/5.18.1/mips64-linux'
+archlibexp='/usr/lib/perl5/5.18.1/mips64-linux'
+archname64=''
+archname='mips64-linux'
+archobjs=''
+asctime_r_proto='0'
+awk='awk'
+baserev='5.0'
+bash=''
+bin='/usr/bin'
+bin_ELF='define'
+binexp='/usr/bin'
+bison='bison'
+bootstrap_charset='undef'
+byacc='byacc'
+byteorder='4321'
+c=''
+castflags='7'
+cat='cat'
+cc='%%CC%%'
+cccdlflags='-fPIC'
+ccdlflags='-Wl,-E'
+ccflags='%%CFLAGS%%'
+ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
+ccname='gcc'
+ccsymbols=''
+ccversion=''
+cf_by='root'
+cf_email='root@openadk.nonet'
+cf_time='Fri Feb 28 07:56:44 CET 2014'
+charbits='8'
+charsize='1'
+chgrp=''
+chmod='chmod'
+chown=''
+clocktype='clock_t'
+comm='comm'
+compress=''
+contains='grep'
+cp='cp'
+cpio=''
+cpp='cpp'
+cpp_stuff='42'
+cppccsymbols=''
+cppflags='%%CPPFLAGS%%'
+cpplast='-'
+cppminus='-'
+cpprun='%%CPP%%'
+cppstdin='%%CPP%%'
+cppsymbols='BIG_ENDIAN=4321 LANGUAGE_C=1 LITTLE_ENDIAN=1234 MIPSEB=1 R4000=1 _ABI64=3 _FILE_OFFSET_BITS=64 _LANGUAGE_C=1 _LARGEFILE_SOURCE=1 _LP64=1 _MIPSEB=1 _MIPS_ARCH="mips3" _MIPS_ARCH_MIPS3=1 _MIPS_FPSET=32 _MIPS_ISA=3 _MIPS_SIM=3 _MIPS_SZINT=32 _MIPS_SZLONG=64 _MIPS_SZPTR=64 _MIPS_TUNE="mips3" _MIPS_TUNE_MIPS3=1 _POSIX_C_SOURCE=200809L _POSIX_SOURCE=1 _R4000=1 __ACCUM_EPSILON__=0x1P-15K __ACCUM_FBIT__=15 __ACCUM_IBIT__=16 __ACCUM_MAX__=0X7FFFFFFFP-15K __ACCUM_MIN__=(-0X1P15K-0X1P15K) __ATOMIC_ACQUIRE=2 __ATOMIC_ACQ_REL=4 __ATOMIC_CONSUME=1 __ATOMIC_RELAXED=0 __ATOMIC_RELEASE=3 __ATOMIC_SEQ_CST=5 __BIGGEST_ALIGNMENT__=16 __BIG_ENDIAN=4321 __BYTE_ORDER__=4321 __CHAR16_TYPE__=short\ unsigned\ int __CHAR32_TYPE__=unsigned\ int __CHAR_BIT__=8 __DA_FBIT__=31 __DA_IBIT__=32 __DBL_DECIMAL_DIG__=17 __DBL_DENORM_MIN__=((double)4.94065645841246544176568792868221372e-324L) __DBL_DIG__=15 __DBL_EPSILON__=((double)2.22044604925031308084726333618164062e-16L) __DBL_HAS_DENORM__=1 __DBL_HAS_INFINITY__=1 __DBL_HAS_QUIET_NAN__=1 __DBL_MANT_DIG__=53 __DBL_MAX_10_EXP__=308 __DBL_MAX_EXP__=1024 __DBL_MAX__=((double)1.79769313486231570814527423731704357e+308L) __DBL_MIN_10_EXP__=(-307) __DBL_MIN_EXP__=(-1021) __DBL_MIN__=((double)2.22507385850720138309023271733240406e-308L) __DEC128_EPSILON__=1E-33DL __DEC128_MANT_DIG__=34 __DEC128_MAX_EXP__=6145 __DEC128_MAX__=9.999999999999999999999999999999999E6144DL __DEC128_MIN_EXP__=(-6142) __DEC128_MIN__=1E-6143DL __DEC128_SUBNORMAL_MIN__=0.000000000000000000000000000000001E-6143DL __DEC32_EPSILON__=1E-6DF __DEC32_MANT_DIG__=7 __DEC32_MAX_EXP__=97 __DEC32_MAX__=9.999999E96DF __DEC32_MIN_EXP__=(-94) __DEC32_MIN__=1E-95DF __DEC32_SUBNORMAL_MIN__=0.000001E-95DF __DEC64_EPSILON__=1E-15DD __DEC64_MANT_DIG__=16 __DEC64_MAX_EXP__=385 __DEC64_MAX__=9.999999999999999E384DD __DEC64_MIN_EXP__=(-382) __DEC64_MIN__=1E-383DD __DEC64_SUBNORMAL_MIN__=0.000000000000001E-383DD __DECIMAL_DIG__=36 __DEC_EVAL_METHOD__=2 __DQ_FBIT__=63 __DQ_IBIT__=0 __ELF__=1 __FINITE_MATH_ONLY__=0 __FLOAT_WORD_ORDER__=4321 __FLT_DECIMAL_DIG__=9 __FLT_DENORM_MIN__=1.40129846432481707092372958328991613e-45F __FLT_DIG__=6 __FLT_EPSILON__=1.19209289550781250000000000000000000e-7F __FLT_EVAL_METHOD__=0 __FLT_HAS_DENORM__=1 __FLT_HAS_INFINITY__=1 __FLT_HAS_QUIET_NAN__=1 __FLT_MANT_DIG__=24 __FLT_MAX_10_EXP__=38 __FLT_MAX_EXP__=128 __FLT_MAX__=3.40282346638528859811704183484516925e+38F __FLT_MIN_10_EXP__=(-37) __FLT_MIN_EXP__=(-125) __FLT_MIN__=1.17549435082228750796873653722224568e-38F __FLT_RADIX__=2 __FRACT_EPSILON__=0x1P-15R __FRACT_FBIT__=15 __FRACT_IBIT__=0 __FRACT_MAX__=0X7FFFP-15R __FRACT_MIN__=(-0.5R-0.5R) __GCC_ATOMIC_BOOL_LOCK_FREE=2 __GCC_ATOMIC_CHAR16_T_LOCK_FREE=2 __GCC_ATOMIC_CHAR32_T_LOCK_FREE=2 __GCC_ATOMIC_CHAR_LOCK_FREE=2 __GCC_ATOMIC_INT_LOCK_FREE=2 __GCC_ATOMIC_LLONG_LOCK_FREE=2 __GCC_ATOMIC_LONG_LOCK_FREE=2 __GCC_ATOMIC_POINTER_LOCK_FREE=2 __GCC_ATOMIC_SHORT_LOCK_FREE=2 __GCC_ATOMIC_TEST_AND_SET_TRUEVAL=1 __GCC_ATOMIC_WCHAR_T_LOCK_FREE=2 __GCC_HAVE_BUILTIN_MIPS_CACHE=1 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1=1 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2=1 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4=1 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8=1 __GLIBC_MINOR__=2 __GLIBC__=2 __GNUC_GNU_INLINE__=1 __GNUC_MINOR__=7 __GNUC_PATCHLEVEL__=3 __GNUC__=4 __GNU_LIBRARY__=6 __GXX_ABI_VERSION=1002 __HA_FBIT__=7 __HA_IBIT__=8 __HQ_FBIT__=15 __HQ_IBIT__=0 __INT16_C=__INT16_C __INT16_MAX__=32767 __INT16_TYPE__=short\ int __INT32_C=__INT32_C __INT32_MAX__=2147483647 __INT32_TYPE__=int __INT64_C=__INT64_C __INT64_MAX__=9223372036854775807L __INT64_TYPE__=long\ int __INT8_C=__INT8_C __INT8_MAX__=127 __INT8_TYPE__=signed\ char __INTMAX_C=__INTMAX_C __INTMAX_MAX__=9223372036854775807L __INTMAX_TYPE__=long\ int __INTPTR_MAX__=9223372036854775807L __INTPTR_TYPE__=long\ int __INT_FAST16_MAX__=9223372036854775807L __INT_FAST16_TYPE__=long\ int __INT_FAST32_MAX__=9223372036854775807L __INT_FAST32_TYPE__=long\ int __INT_FAST64_MAX__=9223372036854775807L __INT_FAST64_TYPE__=long\ int __INT_FAST8_MAX__=127 __INT_FAST8_TYPE__=signed\ char __INT_LEAST16_MAX__=32767 __INT_LEAST16_TYPE__=short\ int __INT_LEAST32_MAX__=2147483647 __INT_LEAST32_TYPE__=int __INT_LEAST64_MAX__=9223372036854775807L __INT_LEAST64_TYPE__=long\ int __INT_LEAST8_MAX__=127 __INT_LEAST8_TYPE__=signed\ char __INT_MAX__=2147483647 __LACCUM_EPSILON__=0x1P-31LK __LACCUM_FBIT__=31 __LACCUM_IBIT__=32 __LACCUM_MAX__=0X7FFFFFFFFFFFFFFFP-31LK __LACCUM_MIN__=(-0X1P31LK-0X1P31LK) __LANGUAGE_C=1 __LANGUAGE_C__=1 __LDBL_DENORM_MIN__=6.47517511943802511092443895822764655e-4966L __LDBL_DIG__=33 __LDBL_EPSILON__=1.92592994438723585305597794258492732e-34L __LDBL_HAS_DENORM__=1 __LDBL_HAS_INFINITY__=1 __LDBL_HAS_QUIET_NAN__=1 __LDBL_MANT_DIG__=113 __LDBL_MAX_10_EXP__=4932 __LDBL_MAX_EXP__=16384 __LDBL_MAX__=1.18973149535723176508575932662800702e+4932L __LDBL_MIN_10_EXP__=(-4931) __LDBL_MIN_EXP__=(-16381) __LDBL_MIN__=3.36210314311209350626267781732175260e-4932L __LFRACT_EPSILON__=0x1P-31LR __LFRACT_FBIT__=31 __LFRACT_IBIT__=0 __LFRACT_MAX__=0X7FFFFFFFP-31LR __LFRACT_MIN__=(-0.5LR-0.5LR) __LITTLE_ENDIAN=1234 __LLACCUM_EPSILON__=0x1P-63LLK __LLACCUM_FBIT__=63 __LLACCUM_IBIT__=64 __LLACCUM_MAX__=0X7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFP-63LLK __LLACCUM_MIN__=(-0X1P63LLK-0X1P63LLK) __LLFRACT_EPSILON__=0x1P-63LLR __LLFRACT_FBIT__=63 __LLFRACT_IBIT__=0 __LLFRACT_MAX__=0X7FFFFFFFFFFFFFFFP-63LLR __LLFRACT_MIN__=(-0.5LLR-0.5LLR) __LONG_LONG_MAX__=9223372036854775807LL __LONG_MAX__=9223372036854775807L __LP64__=1 __MIPSEB=1 __MIPSEB__=1 __ORDER_BIG_ENDIAN__=4321 __ORDER_LITTLE_ENDIAN__=1234 __ORDER_PDP_ENDIAN__=3412 __PIC__=1 __PRAGMA_REDEFINE_EXTNAME=1 __PTRDIFF_MAX__=9223372036854775807L __PTRDIFF_TYPE__=long\ int __QQ_FBIT__=7 __QQ_IBIT__=0 __R4000=1 __R4000__=1 __REGISTER_PREFIX__= __SACCUM_EPSILON__=0x1P-7HK __SACCUM_FBIT__=7 __SACCUM_IBIT__=8 __SACCUM_MAX__=0X7FFFP-7HK __SACCUM_MIN__=(-0X1P7HK-0X1P7HK) __SA_FBIT__=15 __SA_IBIT__=16 __SCHAR_MAX__=127 __SFRACT_EPSILON__=0x1P-7HR __SFRACT_FBIT__=7 __SFRACT_IBIT__=0 __SFRACT_MAX__=0X7FP-7HR __SFRACT_MIN__=(-0.5HR-0.5HR) __SHRT_MAX__=32767 __SIG_ATOMIC_MAX__=2147483647 __SIG_ATOMIC_MIN__=(-2147483647\ -\ 1) __SIG_ATOMIC_TYPE__=int __SIZEOF_DOUBLE__=8 __SIZEOF_FLOAT__=4 __SIZEOF_INT128__=16 __SIZEOF_INT__=4 __SIZEOF_LONG_DOUBLE__=16 __SIZEOF_LONG_LONG__=8 __SIZEOF_LONG__=8 __SIZEOF_POINTER__=8 __SIZEOF_PTRDIFF_T__=8 __SIZEOF_SHORT__=2 __SIZEOF_SIZE_T__=8 __SIZEOF_WCHAR_T__=4 __SIZEOF_WINT_T__=4 __SIZE_MAX__=18446744073709551615UL __SIZE_TYPE__=long\ unsigned\ int __SQ_FBIT__=31 __SQ_IBIT__=0 __STDC_HOSTED__=1 __STDC__=1 __TA_FBIT__=63 __TA_IBIT__=64 __TQ_FBIT__=127 __TQ_IBIT__=0 __UACCUM_EPSILON__=0x1P-16UK __UACCUM_FBIT__=16 __UACCUM_IBIT__=16 __UACCUM_MAX__=0XFFFFFFFFP-16UK __UACCUM_MIN__=0.0UK __UDA_FBIT__=32 __UDA_IBIT__=32 __UDQ_FBIT__=64 __UDQ_IBIT__=0 __UFRACT_EPSILON__=0x1P-16UR __UFRACT_FBIT__=16 __UFRACT_IBIT__=0 __UFRACT_MAX__=0XFFFFP-16UR __UFRACT_MIN__=0.0UR __UHA_FBIT__=8 __UHA_IBIT__=8 __UHQ_FBIT__=16 __UHQ_IBIT__=0 __UINT16_C=__UINT16_C __UINT16_MAX__=65535 __UINT16_TYPE__=short\ unsigned\ int __UINT32_C=__UINT32_C __UINT32_MAX__=4294967295U __UINT32_TYPE__=unsigned\ int __UINT64_C=__UINT64_C __UINT64_MAX__=18446744073709551615UL __UINT64_TYPE__=long\ unsigned\ int __UINT8_C=__UINT8_C __UINT8_MAX__=255 __UINT8_TYPE__=unsigned\ char __UINTMAX_C=__UINTMAX_C __UINTMAX_MAX__=18446744073709551615UL __UINTMAX_TYPE__=long\ unsigned\ int __UINTPTR_MAX__=18446744073709551615UL __UINTPTR_TYPE__=long\ unsigned\ int __UINT_FAST16_MAX__=18446744073709551615UL __UINT_FAST16_TYPE__=long\ unsigned\ int __UINT_FAST32_MAX__=18446744073709551615UL __UINT_FAST32_TYPE__=long\ unsigned\ int __UINT_FAST64_MAX__=18446744073709551615UL __UINT_FAST64_TYPE__=long\ unsigned\ int __UINT_FAST8_MAX__=255 __UINT_FAST8_TYPE__=unsigned\ char __UINT_LEAST16_MAX__=65535 __UINT_LEAST16_TYPE__=short\ unsigned\ int __UINT_LEAST32_MAX__=4294967295U __UINT_LEAST32_TYPE__=unsigned\ int __UINT_LEAST64_MAX__=18446744073709551615UL __UINT_LEAST64_TYPE__=long\ unsigned\ int __UINT_LEAST8_MAX__=255 __UINT_LEAST8_TYPE__=unsigned\ char __ULACCUM_EPSILON__=0x1P-32ULK __ULACCUM_FBIT__=32 __ULACCUM_IBIT__=32 __ULACCUM_MAX__=0XFFFFFFFFFFFFFFFFP-32ULK __ULACCUM_MIN__=0.0ULK __ULFRACT_EPSILON__=0x1P-32ULR __ULFRACT_FBIT__=32 __ULFRACT_IBIT__=0 __ULFRACT_MAX__=0XFFFFFFFFP-32ULR __ULFRACT_MIN__=0.0ULR __ULLACCUM_EPSILON__=0x1P-64ULLK __ULLACCUM_FBIT__=64 __ULLACCUM_IBIT__=64 __ULLACCUM_MAX__=0XFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFP-64ULLK __ULLACCUM_MIN__=0.0ULLK __ULLFRACT_EPSILON__=0x1P-64ULLR __ULLFRACT_FBIT__=64 __ULLFRACT_IBIT__=0 __ULLFRACT_MAX__=0XFFFFFFFFFFFFFFFFP-64ULLR __ULLFRACT_MIN__=0.0ULLR __UQQ_FBIT__=8 __UQQ_IBIT__=0 __USACCUM_EPSILON__=0x1P-8UHK __USACCUM_FBIT__=8 __USACCUM_IBIT__=8 __USACCUM_MAX__=0XFFFFP-8UHK __USACCUM_MIN__=0.0UHK __USA_FBIT__=16 __USA_IBIT__=16 __USER_LABEL_PREFIX__= __USE_BSD=1 __USE_FILE_OFFSET64=1 __USE_LARGEFILE=1 __USE_MISC=1 __USE_POSIX199309=1 __USE_POSIX199506=1 __USE_POSIX2=1 __USE_POSIX=1 __USE_SVID=1 __USFRACT_EPSILON__=0x1P-8UHR __USFRACT_FBIT__=8 __USFRACT_IBIT__=0 __USFRACT_MAX__=0XFFP-8UHR __USFRACT_MIN__=0.0UHR __USQ_FBIT__=32 __USQ_IBIT__=0 __UTA_FBIT__=64 __UTA_IBIT__=64 __UTQ_FBIT__=128 __UTQ_IBIT__=0 __VERSION__="4.7.3" __WCHAR_MAX__=2147483647 __WCHAR_MIN__=(-2147483647\ -\ 1) __WCHAR_TYPE__=int __WINT_MAX__=4294967295U __WINT_MIN__=0U __WINT_TYPE__=unsigned\ int __linux=1 __linux__=1 __mips64=1 __mips=3 __mips__=1 __mips_abicalls=1 __mips_fpr=64 __mips_hard_float=1 __pic__=1 __unix=1 __unix__=1 _mips=1 linux=1 mips=1 unix=1'
+crypt_r_proto='0'
+cryptlib=''
+csh='csh'
+ctermid_r_proto='0'
+ctime_r_proto='0'
+d_Gconvert='sprintf((b),"%.*g",(n),(x))'
+d_PRIEUldbl='define'
+d_PRIFUldbl='define'
+d_PRIGUldbl='define'
+d_PRIXU64='define'
+d_PRId64='define'
+d_PRIeldbl='define'
+d_PRIfldbl='define'
+d_PRIgldbl='define'
+d_PRIi64='define'
+d_PRIo64='define'
+d_PRIu64='define'
+d_PRIx64='define'
+d_SCNfldbl='define'
+d__fwalk='undef'
+d_access='define'
+d_accessx='undef'
+d_aintl='undef'
+d_alarm='define'
+d_archlib='define'
+d_asctime64='undef'
+d_asctime_r='undef'
+d_atolf='undef'
+d_atoll='define'
+d_attribute_deprecated='define'
+d_attribute_format='define'
+d_attribute_malloc='define'
+d_attribute_nonnull='define'
+d_attribute_noreturn='define'
+d_attribute_pure='define'
+d_attribute_unused='define'
+d_attribute_warn_unused_result='define'
+d_bcmp='define'
+d_bcopy='define'
+d_bsd='undef'
+d_bsdgetpgrp='undef'
+d_bsdsetpgrp='undef'
+d_builtin_choose_expr='define'
+d_builtin_expect='define'
+d_bzero='define'
+d_c99_variadic_macros='undef'
+d_casti32='undef'
+d_castneg='undef'
+d_charvspr='undef'
+d_chown='define'
+d_chroot='define'
+d_chsize='undef'
+d_class='undef'
+d_clearenv='define'
+d_closedir='define'
+d_cmsghdr_s='define'
+d_const='define'
+d_copysignl='undef'
+d_cplusplus='undef'
+d_crypt='define'
+d_crypt_r='undef'
+d_csh='undef'
+d_ctermid='define'
+d_ctermid_r='undef'
+d_ctime64='undef'
+d_ctime_r='undef'
+d_cuserid='define'
+d_dbl_dig='define'
+d_dbminitproto='undef'
+d_difftime64='undef'
+d_difftime='define'
+d_dir_dd_fd='undef'
+d_dirfd='define'
+d_dirnamlen='undef'
+d_dlerror='define'
+d_dlopen='define'
+d_dlsymun='undef'
+d_dosuid='undef'
+d_drand48_r='undef'
+d_drand48proto='define'
+d_dup2='define'
+d_eaccess='undef'
+d_endgrent='define'
+d_endgrent_r='undef'
+d_endhent='define'
+d_endhostent_r='undef'
+d_endnent='define'
+d_endnetent_r='undef'
+d_endpent='define'
+d_endprotoent_r='undef'
+d_endpwent='define'
+d_endpwent_r='undef'
+d_endsent='define'
+d_endservent_r='undef'
+d_eofnblk='undef'
+d_eunice='undef'
+d_faststdio='undef'
+d_fchdir='define'
+d_fchmod='define'
+d_fchown='define'
+d_fcntl='define'
+d_fcntl_can_lock='define'
+d_fd_macros='define'
+d_fd_set='define'
+d_fds_bits='undef'
+d_fgetpos='define'
+d_finite='undef'
+d_finitel='undef'
+d_flexfnam='define'
+d_flock='define'
+d_flockproto='define'
+d_fork='define'
+d_fp_class='undef'
+d_fpathconf='define'
+d_fpclass='undef'
+d_fpclassify='undef'
+d_fpclassl='undef'
+d_fpos64_t='undef'
+d_frexpl='undef'
+d_fs_data_s='undef'
+d_fseeko='define'
+d_fsetpos='define'
+d_fstatfs='define'
+d_fstatvfs='define'
+d_fsync='define'
+d_ftello='define'
+d_ftime='undef'
+d_futimes='undef'
+d_gdbm_ndbm_h_uses_prototypes='undef'
+d_gdbmndbm_h_uses_prototypes='undef'
+d_getaddrinfo='define'
+d_getcwd='define'
+d_getespwnam='undef'
+d_getfsstat='undef'
+d_getgrent='define'
+d_getgrent_r='undef'
+d_getgrgid_r='undef'
+d_getgrnam_r='undef'
+d_getgrps='define'
+d_gethbyaddr='define'
+d_gethbyname='define'
+d_gethent='define'
+d_gethname='define'
+d_gethostbyaddr_r='undef'
+d_gethostbyname_r='undef'
+d_gethostent_r='undef'
+d_gethostprotos='define'
+d_getitimer='define'
+d_getlogin='define'
+d_getlogin_r='undef'
+d_getmnt='undef'
+d_getmntent='define'
+d_getnameinfo='define'
+d_getnbyaddr='define'
+d_getnbyname='define'
+d_getnent='define'
+d_getnetbyaddr_r='undef'
+d_getnetbyname_r='undef'
+d_getnetent_r='undef'
+d_getnetprotos='define'
+d_getpagsz='define'
+d_getpbyname='define'
+d_getpbynumber='define'
+d_getpent='define'
+d_getpgid='define'
+d_getpgrp2='undef'
+d_getpgrp='define'
+d_getppid='define'
+d_getprior='define'
+d_getprotobyname_r='undef'
+d_getprotobynumber_r='undef'
+d_getprotoent_r='undef'
+d_getprotoprotos='define'
+d_getprpwnam='undef'
+d_getpwent='define'
+d_getpwent_r='undef'
+d_getpwnam_r='undef'
+d_getpwuid_r='undef'
+d_getsbyname='define'
+d_getsbyport='define'
+d_getsent='define'
+d_getservbyname_r='undef'
+d_getservbyport_r='undef'
+d_getservent_r='undef'
+d_getservprotos='define'
+d_getspnam='define'
+d_getspnam_r='undef'
+d_gettimeod='define'
+d_gmtime64='undef'
+d_gmtime_r='undef'
+d_gnulibc='undef'
+d_grpasswd='define'
+d_hasmntopt='define'
+d_htonl='define'
+d_ilogbl='undef'
+d_inc_version_list='undef'
+d_index='undef'
+d_inetaton='define'
+d_inetntop='define'
+d_inetpton='define'
+d_int64_t='define'
+d_ip_mreq='define'
+d_ip_mreq_source='define'
+d_ipv6_mreq='undef'
+d_ipv6_mreq_source='undef'
+d_isascii='define'
+d_isblank='define'
+d_isfinite='undef'
+d_isinf='undef'
+d_isnan='undef'
+d_isnanl='undef'
+d_killpg='define'
+d_lchown='define'
+d_ldbl_dig='define'
+d_libm_lib_version='define'
+d_link='define'
+d_localtime64='undef'
+d_localtime_r='undef'
+d_localtime_r_needs_tzset='undef'
+d_locconv='define'
+d_lockf='define'
+d_longdbl='define'
+d_longlong='define'
+d_lseekproto='define'
+d_lstat='define'
+d_madvise='define'
+d_malloc_good_size='undef'
+d_malloc_size='undef'
+d_mblen='define'
+d_mbstowcs='define'
+d_mbtowc='define'
+d_memchr='define'
+d_memcmp='define'
+d_memcpy='define'
+d_memmove='define'
+d_memset='define'
+d_mkdir='define'
+d_mkdtemp='define'
+d_mkfifo='define'
+d_mkstemp='define'
+d_mkstemps='undef'
+d_mktime64='undef'
+d_mktime='define'
+d_mmap='define'
+d_modfl='undef'
+d_modfl_pow32_bug='undef'
+d_modflproto='undef'
+d_mprotect='define'
+d_msg='define'
+d_msg_ctrunc='define'
+d_msg_dontroute='define'
+d_msg_oob='define'
+d_msg_peek='define'
+d_msg_proxy='define'
+d_msgctl='define'
+d_msgget='define'
+d_msghdr_s='define'
+d_msgrcv='define'
+d_msgsnd='define'
+d_msync='define'
+d_munmap='define'
+d_mymalloc='undef'
+d_ndbm='undef'
+d_ndbm_h_uses_prototypes='undef'
+d_nice='define'
+d_nl_langinfo='define'
+d_nv_preserves_uv='undef'
+d_nv_zero_is_allbits_zero='define'
+d_off64_t='undef'
+d_old_pthread_create_joinable='undef'
+d_oldpthreads='undef'
+d_oldsock='undef'
+d_open3='define'
+d_pathconf='define'
+d_pause='define'
+d_perl_otherlibdirs='undef'
+d_phostname='undef'
+d_pipe='define'
+d_poll='define'
+d_portable='define'
+d_prctl='define'
+d_prctl_set_name='define'
+d_printf_format_null='undef'
+d_procselfexe='undef'
+d_pseudofork='undef'
+d_pthread_atfork='undef'
+d_pthread_attr_setscope='define'
+d_pthread_yield='undef'
+d_pwage='undef'
+d_pwchange='undef'
+d_pwclass='undef'
+d_pwcomment='undef'
+d_pwexpire='undef'
+d_pwgecos='define'
+d_pwpasswd='define'
+d_pwquota='undef'
+d_qgcvt='undef'
+d_quad='define'
+d_random_r='undef'
+d_readdir64_r='undef'
+d_readdir='define'
+d_readdir_r='undef'
+d_readlink='define'
+d_readv='define'
+d_recvmsg='define'
+d_rename='define'
+d_rewinddir='define'
+d_rmdir='define'
+d_safebcpy='undef'
+d_safemcpy='undef'
+d_sanemcmp='define'
+d_sbrkproto='define'
+d_scalbnl='undef'
+d_sched_yield='define'
+d_scm_rights='define'
+d_seekdir='define'
+d_select='define'
+d_sem='define'
+d_semctl='define'
+d_semctl_semid_ds='define'
+d_semctl_semun='define'
+d_semget='define'
+d_semop='define'
+d_sendmsg='define'
+d_setegid='define'
+d_seteuid='define'
+d_setgrent='define'
+d_setgrent_r='undef'
+d_setgrps='define'
+d_sethent='define'
+d_sethostent_r='undef'
+d_setitimer='define'
+d_setlinebuf='define'
+d_setlocale='define'
+d_setlocale_r='undef'
+d_setnent='define'
+d_setnetent_r='undef'
+d_setpent='define'
+d_setpgid='define'
+d_setpgrp2='undef'
+d_setpgrp='define'
+d_setprior='define'
+d_setproctitle='undef'
+d_setprotoent_r='undef'
+d_setpwent='define'
+d_setpwent_r='undef'
+d_setregid='define'
+d_setresgid='define'
+d_setresuid='define'
+d_setreuid='define'
+d_setrgid='undef'
+d_setruid='undef'
+d_setsent='define'
+d_setservent_r='undef'
+d_setsid='define'
+d_setvbuf='define'
+d_sfio='undef'
+d_shm='define'
+d_shmat='define'
+d_shmatprototype='define'
+d_shmctl='define'
+d_shmdt='define'
+d_shmget='define'
+d_sigaction='define'
+d_signbit='define'
+d_sigprocmask='define'
+d_sigsetjmp='define'
+d_sin6_scope_id='undef'
+d_sitearch='define'
+d_snprintf='define'
+d_sockaddr_in6='undef'
+d_sockaddr_sa_len='undef'
+d_sockatmark='undef'
+d_sockatmarkproto='undef'
+d_socket='define'
+d_socklen_t='define'
+d_sockpair='define'
+d_socks5_init='undef'
+d_sprintf_returns_strlen='define'
+d_sqrtl='undef'
+d_srand48_r='undef'
+d_srandom_r='undef'
+d_sresgproto='undef'
+d_sresuproto='undef'
+d_statblks='define'
+d_statfs_f_flags='undef'
+d_statfs_s='define'
+d_static_inline='define'
+d_statvfs='define'
+d_stdio_cnt_lval='undef'
+d_stdio_ptr_lval='undef'
+d_stdio_ptr_lval_nochange_cnt='undef'
+d_stdio_ptr_lval_sets_cnt='undef'
+d_stdio_stream_array='undef'
+d_stdiobase='undef'
+d_stdstdio='undef'
+d_strchr='define'
+d_strcoll='define'
+d_strctcpy='define'
+d_strerrm='strerror(e)'
+d_strerror='define'
+d_strerror_r='undef'
+d_strftime='define'
+d_strlcat='define'
+d_strlcpy='define'
+d_strtod='define'
+d_strtol='define'
+d_strtold='define'
+d_strtoll='define'
+d_strtoq='define'
+d_strtoul='define'
+d_strtoull='define'
+d_strtouq='define'
+d_strxfrm='define'
+d_suidsafe='undef'
+d_symlink='define'
+d_syscall='define'
+d_syscallproto='define'
+d_sysconf='define'
+d_sysernlst=''
+d_syserrlst='undef'
+d_system='define'
+d_tcgetpgrp='define'
+d_tcsetpgrp='define'
+d_telldir='define'
+d_telldirproto='define'
+d_time='define'
+d_timegm='define'
+d_times='define'
+d_tm_tm_gmtoff='define'
+d_tm_tm_zone='define'
+d_tmpnam_r='undef'
+d_truncate='define'
+d_ttyname_r='undef'
+d_tzname='define'
+d_u32align='define'
+d_ualarm='define'
+d_umask='define'
+d_uname='define'
+d_union_semun='undef'
+d_unordered='undef'
+d_unsetenv='define'
+d_usleep='define'
+d_usleepproto='define'
+d_ustat='undef'
+d_vendorarch='undef'
+d_vendorbin='undef'
+d_vendorlib='undef'
+d_vendorscript='undef'
+d_vfork='undef'
+d_void_closedir='undef'
+d_voidsig='define'
+d_voidtty=''
+d_volatile='define'
+d_vprintf='define'
+d_vsnprintf='define'
+d_wait4='define'
+d_waitpid='define'
+d_wcstombs='define'
+d_wctomb='define'
+d_writev='define'
+d_xenix='undef'
+date='date'
+db_hashtype='u_int32_t'
+db_prefixtype='size_t'
+db_version_major=''
+db_version_minor=''
+db_version_patch=''
+defvoidused='15'
+direntrytype='struct dirent'
+dlext='so'
+dlsrc='dl_dlopen.xs'
+doublesize='8'
+drand01='drand48()'
+drand48_r_proto='0'
+dtrace=''
+dynamic_ext='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd Data/Dumper Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/DosGlob File/Glob Filter/Util/Call Hash/Util Hash/Util/FieldHash I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Math/BigInt/FastCalc Opcode POSIX PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Text/Soundex Tie/Hash/NamedCapture Time/HiRes Time/Piece Unicode/Collate Unicode/Normalize XS/APItest XS/Typemap arybase attributes mro re threads threads/shared'
+eagain='EAGAIN'
+ebcdic='undef'
+echo='echo'
+egrep='egrep'
+emacs=''
+endgrent_r_proto='0'
+endhostent_r_proto='0'
+endnetent_r_proto='0'
+endprotoent_r_proto='0'
+endpwent_r_proto='0'
+endservent_r_proto='0'
+eunicefix=':'
+exe_ext=''
+expr='expr'
+extensions='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd Data/Dumper Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/DosGlob File/Glob Filter/Util/Call Hash/Util Hash/Util/FieldHash I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Math/BigInt/FastCalc Opcode POSIX PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Text/Soundex Tie/Hash/NamedCapture Time/HiRes Time/Piece Unicode/Collate Unicode/Normalize XS/APItest XS/Typemap arybase attributes mro re threads threads/shared Archive/Extract Archive/Tar Attribute/Handlers AutoLoader B/Debug B/Deparse B/Lint CGI CPAN CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML CPANPLUS CPANPLUS/Dist/Build Carp Config/Perl/V Devel/SelfStubber Digest Dumpvalue Env Errno ExtUtils/CBuilder ExtUtils/Command ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/ParseXS File/CheckTree File/Fetch File/Path File/Temp FileCache Filter/Simple Getopt/Long HTTP/Tiny I18N/Collate I18N/LangTags IO/Compress IO/Zlib IPC/Cmd IPC/Open3 JSON/PP Locale/Codes Locale/Maketext Locale/Maketext/Simple Log/Message Log/Message/Simple Math/BigInt Math/BigRat Math/Complex Memoize Module/Build Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata Module/Pluggable NEXT Net/Ping Object/Accessor Package/Constants Params/Check Parse/CPAN/Meta Perl/OSType PerlIO/via/QuotedPrint Pod/Checker Pod/Escapes Pod/Functions Pod/Html Pod/LaTeX Pod/Parser Pod/Perldoc Pod/Simple Pod/Usage Safe Search/Dict SelfLoader Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Term/UI Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Memoize Tie/RefHash Time/Local XSLoader autodie autouse base bignum constant encoding/warnings if lib libnet parent perlfaq podlators'
+extern_C='extern'
+extras=''
+fflushNULL='define'
+fflushall='undef'
+find=''
+firstmakefile='makefile'
+flex=''
+fpossize='24'
+fpostype='fpos_t'
+freetype='void'
+from=':'
+full_ar='%%AR%%'
+full_csh='csh'
+full_sed='/bin/sed'
+gccansipedantic=''
+gccosandvers=''
+gccversion='4.7.3'
+getgrent_r_proto='0'
+getgrgid_r_proto='0'
+getgrnam_r_proto='0'
+gethostbyaddr_r_proto='0'
+gethostbyname_r_proto='0'
+gethostent_r_proto='0'
+getlogin_r_proto='0'
+getnetbyaddr_r_proto='0'
+getnetbyname_r_proto='0'
+getnetent_r_proto='0'
+getprotobyname_r_proto='0'
+getprotobynumber_r_proto='0'
+getprotoent_r_proto='0'
+getpwent_r_proto='0'
+getpwnam_r_proto='0'
+getpwuid_r_proto='0'
+getservbyname_r_proto='0'
+getservbyport_r_proto='0'
+getservent_r_proto='0'
+getspnam_r_proto='0'
+gidformat='"u"'
+gidsign='1'
+gidsize='4'
+gidtype='gid_t'
+glibpth='/usr/shlib /lib /usr/lib /usr/lib/386 /lib/386 /usr/ccs/lib /usr/ucblib /usr/local/lib /lib64 /usr/lib64 /usr/local/lib64 '
+gmake='gmake'
+gmtime_r_proto='0'
+gnulibc_version=''
+grep='grep'
+groupcat='cat /etc/group'
+groupstype='gid_t'
+gzip='gzip'
+h_fcntl='false'
+h_sysfile='true'
+hint='recommended'
+hostcat='cat /etc/hosts'
+html1dir=' '
+html1direxp=''
+html3dir=' '
+html3direxp=''
+i16size='2'
+i16type='short'
+i32size='4'
+i32type='int'
+i64size='8'
+i64type='long'
+i8size='1'
+i8type='signed char'
+i_arpainet='define'
+i_assert='define'
+i_bsdioctl=''
+i_crypt='define'
+i_db='undef'
+i_dbm='undef'
+i_dirent='define'
+i_dld='undef'
+i_dlfcn='define'
+i_fcntl='undef'
+i_float='define'
+i_fp='undef'
+i_fp_class='undef'
+i_gdbm='undef'
+i_gdbm_ndbm='undef'
+i_gdbmndbm='undef'
+i_grp='define'
+i_ieeefp='undef'
+i_inttypes='define'
+i_langinfo='define'
+i_libutil='undef'
+i_limits='define'
+i_locale='define'
+i_machcthr='undef'
+i_malloc='define'
+i_mallocmalloc='undef'
+i_math='define'
+i_memory='undef'
+i_mntent='define'
+i_ndbm='undef'
+i_netdb='define'
+i_neterrno='undef'
+i_netinettcp='define'
+i_niin='define'
+i_poll='define'
+i_prot='undef'
+i_pthread='define'
+i_pwd='define'
+i_rpcsvcdbm='undef'
+i_sfio='undef'
+i_sgtty='undef'
+i_shadow='define'
+i_socks='undef'
+i_stdarg='define'
+i_stdbool='define'
+i_stddef='define'
+i_stdlib='define'
+i_string='define'
+i_sunmath='undef'
+i_sysaccess='undef'
+i_sysdir='define'
+i_sysfile='define'
+i_sysfilio='undef'
+i_sysin='undef'
+i_sysioctl='define'
+i_syslog='define'
+i_sysmman='define'
+i_sysmode='undef'
+i_sysmount='define'
+i_sysndir='undef'
+i_sysparam='define'
+i_syspoll='define'
+i_sysresrc='define'
+i_syssecrt='undef'
+i_sysselct='define'
+i_syssockio='undef'
+i_sysstat='define'
+i_sysstatfs='define'
+i_sysstatvfs='define'
+i_systime='define'
+i_systimek='undef'
+i_systimes='define'
+i_systypes='define'
+i_sysuio='define'
+i_sysun='define'
+i_sysutsname='define'
+i_sysvfs='define'
+i_syswait='define'
+i_termio='undef'
+i_termios='define'
+i_time='define'
+i_unistd='define'
+i_ustat='undef'
+i_utime='define'
+i_values='define'
+i_varargs='undef'
+i_varhdr='stdarg.h'
+i_vfork='undef'
+ignore_versioned_solibs='y'
+inc_version_list=' '
+inc_version_list_init='0'
+incpath=''
+inews=''
+initialinstalllocation='/usr/bin'
+installarchlib='/usr/lib/perl5/5.18.1/mips64-linux'
+installbin='/usr/bin'
+installhtml1dir=''
+installhtml3dir=''
+installman1dir=''
+installman3dir=''
+installprefix='/usr'
+installprefixexp='/usr'
+installprivlib='/usr/lib/perl5/5.18.1'
+installscript='/usr/bin'
+installsitearch='/usr/lib/perl5/site_perl/5.18.1/mips64-linux'
+installsitebin='/usr/bin'
+installsitehtml1dir=''
+installsitehtml3dir=''
+installsitelib='/usr/lib/perl5/site_perl/5.18.1'
+installsiteman1dir=''
+installsiteman3dir=''
+installsitescript='/usr/bin'
+installstyle='lib/perl5'
+installusrbinperl='undef'
+installvendorarch=''
+installvendorbin=''
+installvendorhtml1dir=''
+installvendorhtml3dir=''
+installvendorlib=''
+installvendorman1dir=''
+installvendorman3dir=''
+installvendorscript=''
+intsize='4'
+issymlink='test -h'
+ivdformat='"ld"'
+ivsize='8'
+ivtype='long'
+known_extensions='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd DB_File Data/Dumper Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/DosGlob File/Glob Filter/Util/Call GDBM_File Hash/Util Hash/Util/FieldHash I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Math/BigInt/FastCalc NDBM_File ODBM_File Opcode POSIX PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Text/Soundex Tie/Hash/NamedCapture Time/HiRes Time/Piece Unicode/Collate Unicode/Normalize VMS/DCLsym VMS/Stdio Win32 Win32API/File Win32CORE XS/APItest XS/Typemap arybase attributes mro re threads threads/shared '
+ksh=''
+ld='%%LD%%'
+ld_can_script='define'
+lddlflags='-shared %%LDFLAGS%%'
+ldflags='%%LDFLAGS%%'
+ldflags_uselargefiles=''
+ldlibpthname='LD_LIBRARY_PATH'
+less='less'
+lib_ext='.a'
+libc=''
+libperl='libperl.a'
+libpth='%%LIBDIRS%%'
+libs='-ldl -lm -lcrypt -lutil -lc'
+libsdirs='%%LIBDIRS%%'
+libsfiles=' libdl.so libm.so libcrypt.so libutil.so libc.so'
+#libsfound=' /lib/../lib64/libdl.so /lib/../lib64/libm.so /lib/../lib64/libcrypt.so /lib/../lib64/libutil.so /usr/lib/../lib64/libc.so'
+libspath='%%LIBDIRS%%'
+libswanted='sfio socket inet nsl nm ndbm gdbm dbm db malloc dl dld ld sun m crypt sec util c cposix posix ucb BSD gdbm_compat'
+libswanted_uselargefiles=''
+line=''
+lint=''
+lkflags=''
+ln='ln'
+lns='/bin/ln -s'
+localtime_r_proto='0'
+locincpth='/usr/local/include /opt/local/include /usr/gnu/include /opt/gnu/include /usr/GNU/include /opt/GNU/include'
+loclibpth='/usr/local/lib /opt/local/lib /usr/gnu/lib /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib'
+longdblsize='16'
+longlongsize='8'
+longsize='8'
+lp=''
+lpr=''
+ls='ls'
+lseeksize='8'
+lseektype='off_t'
+mad='undef'
+madlyh=''
+madlyobj=''
+madlysrc=''
+mail=''
+mailx=''
+make='make'
+make_set_make='#'
+mallocobj=''
+mallocsrc=''
+malloctype='void *'
+man1dir=' '
+man1direxp=''
+man1ext='0'
+man3dir=' '
+man3direxp=''
+man3ext='0'
+mips_type=''
+mistrustnm=''
+mkdir='mkdir'
+mmaptype='void *'
+modetype='mode_t'
+more='more'
+multiarch='undef'
+mv=''
+myarchname='mips64-linux'
+mydomain='.nonet'
+myhostname='openadk'
+myuname='linux openadk 3.13.5 #1 thu feb 27 21:38:48 cet 2014 mips64 gnulinux '
+n='-n'
+need_va_copy='undef'
+netdb_hlen_type='size_t'
+netdb_host_type='char *'
+netdb_name_type='const char *'
+netdb_net_type='in_addr_t'
+nm='nm'
+nm_opt=''
+nm_so_opt='--dynamic'
+nonxs_ext='Archive/Extract Archive/Tar Attribute/Handlers AutoLoader B/Debug B/Deparse B/Lint CGI CPAN CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML CPANPLUS CPANPLUS/Dist/Build Carp Config/Perl/V Devel/SelfStubber Digest Dumpvalue Env Errno ExtUtils/CBuilder ExtUtils/Command ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/ParseXS File/CheckTree File/Fetch File/Path File/Temp FileCache Filter/Simple Getopt/Long HTTP/Tiny I18N/Collate I18N/LangTags IO/Compress IO/Zlib IPC/Cmd IPC/Open3 JSON/PP Locale/Codes Locale/Maketext Locale/Maketext/Simple Log/Message Log/Message/Simple Math/BigInt Math/BigRat Math/Complex Memoize Module/Build Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata Module/Pluggable NEXT Net/Ping Object/Accessor Package/Constants Params/Check Parse/CPAN/Meta Perl/OSType PerlIO/via/QuotedPrint Pod/Checker Pod/Escapes Pod/Functions Pod/Html Pod/LaTeX Pod/Parser Pod/Perldoc Pod/Simple Pod/Usage Safe Search/Dict SelfLoader Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Term/UI Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Memoize Tie/RefHash Time/Local XSLoader autodie autouse base bignum constant encoding/warnings if lib libnet parent perlfaq podlators'
+nroff='nroff'
+nvEUformat='"E"'
+nvFUformat='"F"'
+nvGUformat='"G"'
+nv_overflows_integers_at='256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0'
+nv_preserves_uv_bits='53'
+nveformat='"e"'
+nvfformat='"f"'
+nvgformat='"g"'
+nvsize='8'
+nvtype='double'
+o_nonblock='O_NONBLOCK'
+obj_ext='.o'
+old_pthread_create_joinable=''
+optimize='-O2'
+orderlib='false'
+osname='linux'
+osvers='3.13.5'
+otherlibdirs=' '
+package='perl5'
+pager='/usr/bin/less -R'
+passcat='cat /etc/passwd'
+patchlevel='18'
+path_sep=':'
+perl5=''
+perl='perl'
+perl_patchlevel=''
+perl_static_inline='static __inline__'
+perladmin='root@openadk.nonet'
+perllibs='-ldl -lm -lcrypt -lutil -lc'
+perlpath='/usr/bin/perl'
+pg='pg'
+phostname='hostname'
+pidtype='pid_t'
+plibpth='/lib/mips64-openadk-linux-uclibc/4.7.3 /lib/mips64-linux-gnuabi64 /lib/../lib64 /usr/lib/mips64-openadk-linux-uclibc/4.7.3 /usr/lib/mips64-linux-gnuabi64 /usr/lib/../lib64 /lib /usr/lib'
+pmake=''
+pr=''
+prefix='/usr'
+prefixexp='/usr'
+privlib='/usr/lib/perl5/5.18.1'
+privlibexp='/usr/lib/perl5/5.18.1'
+procselfexe=''
+prototype='define'
+ptrsize='8'
+quadkind='2'
+quadtype='long'
+randbits='48'
+randfunc='drand48'
+random_r_proto='0'
+randseedtype='long'
+ranlib=':'
+rd_nodata=''
+readdir64_r_proto='0'
+readdir_r_proto='0'
+revision='5'
+rm='rm'
+rm_try='/bin/rm -f try try a.out .out try.[cho] try..o core core.try* try.core*'
+rmail=''
+run=''
+runnm='true'
+sGMTIME_max='72057594037927935'
+sGMTIME_min='-62167219200'
+sLOCALTIME_max='72057594037927935'
+sLOCALTIME_min='-62167222800'
+sPRIEUldbl='"LE"'
+sPRIFUldbl='"LF"'
+sPRIGUldbl='"LG"'
+sPRIXU64='"lX"'
+sPRId64='"ld"'
+sPRIeldbl='"Le"'
+sPRIfldbl='"Lf"'
+sPRIgldbl='"Lg"'
+sPRIi64='"li"'
+sPRIo64='"lo"'
+sPRIu64='"lu"'
+sPRIx64='"lx"'
+sSCNfldbl='"Lf"'
+sched_yield='sched_yield()'
+scriptdir='/usr/bin'
+scriptdirexp='/usr/bin'
+sed='sed'
+seedfunc='srand48'
+selectminbits='64'
+selecttype='fd_set *'
+sendmail=''
+setgrent_r_proto='0'
+sethostent_r_proto='0'
+setlocale_r_proto='0'
+setnetent_r_proto='0'
+setprotoent_r_proto='0'
+setpwent_r_proto='0'
+setservent_r_proto='0'
+sh='/bin/sh'
+shar=''
+sharpbang='#!'
+shmattype='void *'
+shortsize='2'
+shrpenv=''
+shsharp='true'
+sig_count='128'
+sig_name='ZERO HUP INT QUIT ILL TRAP ABRT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM USR1 USR2 CHLD PWR WINCH URG IO STOP TSTP CONT TTIN TTOU VTALRM PROF XCPU XFSZ NUM32 NUM33 RTMIN NUM35 NUM36 NUM37 NUM38 NUM39 NUM40 NUM41 NUM42 NUM43 NUM44 NUM45 NUM46 NUM47 NUM48 NUM49 NUM50 NUM51 NUM52 NUM53 NUM54 NUM55 NUM56 NUM57 NUM58 NUM59 NUM60 NUM61 NUM62 NUM63 NUM64 NUM65 NUM66 NUM67 NUM68 NUM69 NUM70 NUM71 NUM72 NUM73 NUM74 NUM75 NUM76 NUM77 NUM78 NUM79 NUM80 NUM81 NUM82 NUM83 NUM84 NUM85 NUM86 NUM87 NUM88 NUM89 NUM90 NUM91 NUM92 NUM93 NUM94 NUM95 NUM96 NUM97 NUM98 NUM99 NUM100 NUM101 NUM102 NUM103 NUM104 NUM105 NUM106 NUM107 NUM108 NUM109 NUM110 NUM111 NUM112 NUM113 NUM114 NUM115 NUM116 NUM117 NUM118 NUM119 NUM120 NUM121 NUM122 NUM123 NUM124 NUM125 NUM126 RTMAX IOT CLD POLL '
+sig_name_init='"ZERO", "HUP", "INT", "QUIT", "ILL", "TRAP", "ABRT", "EMT", "FPE", "KILL", "BUS", "SEGV", "SYS", "PIPE", "ALRM", "TERM", "USR1", "USR2", "CHLD", "PWR", "WINCH", "URG", "IO", "STOP", "TSTP", "CONT", "TTIN", "TTOU", "VTALRM", "PROF", "XCPU", "XFSZ", "NUM32", "NUM33", "RTMIN", "NUM35", "NUM36", "NUM37", "NUM38", "NUM39", "NUM40", "NUM41", "NUM42", "NUM43", "NUM44", "NUM45", "NUM46", "NUM47", "NUM48", "NUM49", "NUM50", "NUM51", "NUM52", "NUM53", "NUM54", "NUM55", "NUM56", "NUM57", "NUM58", "NUM59", "NUM60", "NUM61", "NUM62", "NUM63", "NUM64", "NUM65", "NUM66", "NUM67", "NUM68", "NUM69", "NUM70", "NUM71", "NUM72", "NUM73", "NUM74", "NUM75", "NUM76", "NUM77", "NUM78", "NUM79", "NUM80", "NUM81", "NUM82", "NUM83", "NUM84", "NUM85", "NUM86", "NUM87", "NUM88", "NUM89", "NUM90", "NUM91", "NUM92", "NUM93", "NUM94", "NUM95", "NUM96", "NUM97", "NUM98", "NUM99", "NUM100", "NUM101", "NUM102", "NUM103", "NUM104", "NUM105", "NUM106", "NUM107", "NUM108", "NUM109", "NUM110", "NUM111", "NUM112", "NUM113", "NUM114", "NUM115", "NUM116", "NUM117", "NUM118", "NUM119", "NUM120", "NUM121", "NUM122", "NUM123", "NUM124", "NUM125", "NUM126", "RTMAX", "IOT", "CLD", "POLL", 0'
+sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 6 18 22 '
+sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 6, 18, 22, 0'
+sig_size='131'
+signal_t='void'
+sitearch='/usr/lib/perl5/site_perl/5.18.1/mips64-linux'
+sitearchexp='/usr/lib/perl5/site_perl/5.18.1/mips64-linux'
+sitebin='/usr/bin'
+sitebinexp='/usr/bin'
+sitehtml1dir=''
+sitehtml1direxp=''
+sitehtml3dir=''
+sitehtml3direxp=''
+sitelib='/usr/lib/perl5/site_perl/5.18.1'
+sitelib_stem='/usr/lib/perl5/site_perl'
+sitelibexp='/usr/lib/perl5/site_perl/5.18.1'
+siteman1dir=''
+siteman1direxp=''
+siteman3dir=''
+siteman3direxp=''
+siteprefix='/usr'
+siteprefixexp='/usr'
+sitescript='/usr/bin'
+sitescriptexp='/usr/bin'
+sizesize='8'
+sizetype='size_t'
+sleep=''
+smail=''
+so='so'
+sockethdr=''
+socketlib=''
+socksizetype='socklen_t'
+sort='sort'
+spackage='Perl5'
+spitshell='cat'
+srand48_r_proto='0'
+srandom_r_proto='0'
+src='.'
+ssizetype='ssize_t'
+st_ino_sign='1'
+st_ino_size='8'
+startperl='#!/usr/bin/perl'
+startsh='#!/bin/sh'
+static_ext=' '
+stdchar='char'
+stdio_base='((fp)->_base)'
+stdio_bufsiz='((fp)->_cnt + (fp)->_ptr - (fp)->_base)'
+stdio_cnt='((fp)->_cnt)'
+stdio_filbuf=''
+stdio_ptr='((fp)->_ptr)'
+stdio_stream_array=''
+strerror_r_proto='0'
+strings='/usr/include/string.h'
+submit=''
+subversion='1'
+sysman='/usr/man/man1'
+tail=''
+tar=''
+targetarch=''
+tbl=''
+tee=''
+test='test'
+timeincl='/usr/include/sys/time.h /usr/include/time.h '
+timetype='time_t'
+tmpnam_r_proto='0'
+to=':'
+touch='touch'
+tr='tr'
+trnl='\n'
+troff=''
+ttyname_r_proto='0'
+u16size='2'
+u16type='unsigned short'
+u32size='4'
+u32type='unsigned int'
+u64size='8'
+u64type='unsigned long'
+u8size='1'
+u8type='unsigned char'
+uidformat='"u"'
+uidsign='1'
+uidsize='4'
+uidtype='uid_t'
+uname='uname'
+uniq='uniq'
+uquadtype='unsigned long'
+use5005threads='undef'
+use64bitall='define'
+use64bitint='define'
+usecrosscompile='undef'
+usedevel='undef'
+usedl='define'
+usedtrace='undef'
+usefaststdio='undef'
+useithreads='undef'
+usekernprocpathname='undef'
+uselargefiles='define'
+uselongdouble='undef'
+usemallocwrap='define'
+usemorebits='undef'
+usemultiplicity='undef'
+usemymalloc='n'
+usenm='true'
+usensgetexecutablepath='undef'
+useopcode='true'
+useperlio='define'
+useposix='true'
+usereentrant='undef'
+userelocatableinc='undef'
+usesfio='false'
+useshrplib='false'
+usesitecustomize='undef'
+usesocks='undef'
+usethreads='undef'
+usevendorprefix='undef'
+useversionedarchname='undef'
+usevfork='false'
+usrinc='%%INCDIRS%%'
+uuname=''
+uvXUformat='"lX"'
+uvoformat='"lo"'
+uvsize='8'
+uvtype='unsigned long'
+uvuformat='"lu"'
+uvxformat='"lx"'
+vaproto='define'
+vendorarch=''
+vendorarchexp=''
+vendorbin=''
+vendorbinexp=''
+vendorhtml1dir=' '
+vendorhtml1direxp=''
+vendorhtml3dir=' '
+vendorhtml3direxp=''
+vendorlib=''
+vendorlib_stem=''
+vendorlibexp=''
+vendorman1dir=' '
+vendorman1direxp=''
+vendorman3dir=' '
+vendorman3direxp=''
+vendorprefix=''
+vendorprefixexp=''
+vendorscript=''
+vendorscriptexp=''
+version='5.18.1'
+version_patchlevel_string='version 18 subversion 1'
+versiononly='undef'
+vi=''
+voidflags='15'
+xlibpth='/usr/lib/386 /lib/386'
+yacc='yacc'
+yaccflags=''
+zcat=''
+zip='zip'
+PERL_REVISION=5
+PERL_VERSION=18
+PERL_SUBVERSION=1
+PERL_API_REVISION=5
+PERL_API_VERSION=18
+PERL_API_SUBVERSION=0
+PERL_PATCHLEVEL=''
+PERL_CONFIG_SH=true
+: Variables propagated from previous config.sh file.
+libdb_needs_pthread='N'
diff --git a/package/perl/files/config.sh.mipsel.musl b/package/perl/files/config.sh.mipsel.musl
new file mode 100644
index 000000000..ec4306c20
--- /dev/null
+++ b/package/perl/files/config.sh.mipsel.musl
@@ -0,0 +1,1118 @@
+#!/bin/sh
+#
+# This file was produced by running the Configure script. It holds all the
+# definitions figured out by Configure. Should you modify one of these values,
+# do not forget to propagate your changes by running "Configure -der". You may
+# instead choose to run each of the .SH files by yourself, or "Configure -S".
+#
+
+# Package name : perl5
+# Source directory : .
+# Configuration time: Tue Feb 25 14:13:39 GMT 2014
+# Configured by : root
+# Target system : linux openadk 3.13.5 #1 tue feb 25 13:45:44 cet 2014 mips gnulinux
+
+: Configure command line arguments.
+config_arg0='./Configure'
+config_args='-des'
+config_argc=1
+config_arg1='-des'
+
+Author=''
+Date='$Date'
+Header=''
+Id='$Id'
+Locker=''
+Log='$Log'
+RCSfile='$RCSfile'
+Revision='$Revision'
+Source=''
+State=''
+_a='.a'
+_exe=''
+_o='.o'
+afs='false'
+afsroot='/afs'
+alignbytes='8'
+ansi2knr=''
+aphostname='/bin/hostname'
+api_revision='5'
+api_subversion='0'
+api_version='18'
+api_versionstring='5.18.0'
+ar='ar'
+archlib='/usr/lib/perl5/5.18.1/mips-linux'
+archlibexp='/usr/lib/perl5/5.18.1/mips-linux'
+archname64=''
+archname='mips-linux'
+archobjs=''
+asctime_r_proto='0'
+awk='awk'
+baserev='5.0'
+bash=''
+bin='/usr/bin'
+bin_ELF='define'
+binexp='/usr/bin'
+bison='bison'
+bootstrap_charset='undef'
+byacc='byacc'
+byteorder='1234'
+c=''
+castflags='0'
+cat='cat'
+cc='%%CC%%'
+cccdlflags='-fPIC'
+ccdlflags='-Wl,-E'
+ccflags='%%CFLAGS%%'
+ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
+ccname='gcc'
+ccsymbols=''
+ccversion=''
+cf_by='root'
+cf_email='root@openadk.nonet'
+cf_time='Tue Feb 25 14:13:39 GMT 2014'
+charbits='8'
+charsize='1'
+chgrp=''
+chmod='chmod'
+chown=''
+clocktype='clock_t'
+comm='comm'
+compress=''
+contains='grep'
+cp='cp'
+cpio=''
+cpp='cpp'
+cpp_stuff='42'
+cppccsymbols=''
+cppflags='%%CPPFLAGS%%'
+cpplast='-'
+cppminus='-'
+cpprun='%%CPP%%'
+cppstdin='%%CPP%%'
+cppsymbols='LANGUAGE_C=1 MIPSEL=1 R3000=1 _ABIO32=1 _FILE_OFFSET_BITS=64 _LANGUAGE_C=1 _LARGEFILE_SOURCE=1 _MIPSEL=1 _MIPS_ARCH="mips1" _MIPS_ARCH_MIPS1=1 _MIPS_FPSET=16 _MIPS_ISA=_MIPS_ISA_MIPS1 _MIPS_SIM=1 _MIPS_SZINT=32 _MIPS_SZLONG=32 _MIPS_SZPTR=32 _MIPS_TUNE="mips1" _MIPS_TUNE_MIPS1=1 _R3000=1 _XOPEN_SOURCE=700 __ACCUM_EPSILON__=0x1P-15K __ACCUM_FBIT__=15 __ACCUM_IBIT__=16 __ACCUM_MAX__=0X7FFFFFFFP-15K __ACCUM_MIN__=(-0X1P15K-0X1P15K) __ATOMIC_ACQUIRE=2 __ATOMIC_ACQ_REL=4 __ATOMIC_CONSUME=1 __ATOMIC_RELAXED=0 __ATOMIC_RELEASE=3 __ATOMIC_SEQ_CST=5 __BIGGEST_ALIGNMENT__=8 __BYTE_ORDER__=1234 __CHAR16_TYPE__=short\ unsigned\ int __CHAR32_TYPE__=unsigned\ int __CHAR_BIT__=8 __DA_FBIT__=31 __DA_IBIT__=32 __DBL_DECIMAL_DIG__=17 __DBL_DENORM_MIN__=((double)4.9406564584124654e-324L) __DBL_DIG__=15 __DBL_EPSILON__=((double)2.2204460492503131e-16L) __DBL_HAS_DENORM__=1 __DBL_HAS_INFINITY__=1 __DBL_HAS_QUIET_NAN__=1 __DBL_MANT_DIG__=53 __DBL_MAX_10_EXP__=308 __DBL_MAX_EXP__=1024 __DBL_MAX__=((double)1.7976931348623157e+308L) __DBL_MIN_10_EXP__=(-307) __DBL_MIN_EXP__=(-1021) __DBL_MIN__=((double)2.2250738585072014e-308L) __DEC128_EPSILON__=1E-33DL __DEC128_MANT_DIG__=34 __DEC128_MAX_EXP__=6145 __DEC128_MAX__=9.999999999999999999999999999999999E6144DL __DEC128_MIN_EXP__=(-6142) __DEC128_MIN__=1E-6143DL __DEC128_SUBNORMAL_MIN__=0.000000000000000000000000000000001E-6143DL __DEC32_EPSILON__=1E-6DF __DEC32_MANT_DIG__=7 __DEC32_MAX_EXP__=97 __DEC32_MAX__=9.999999E96DF __DEC32_MIN_EXP__=(-94) __DEC32_MIN__=1E-95DF __DEC32_SUBNORMAL_MIN__=0.000001E-95DF __DEC64_EPSILON__=1E-15DD __DEC64_MANT_DIG__=16 __DEC64_MAX_EXP__=385 __DEC64_MAX__=9.999999999999999E384DD __DEC64_MIN_EXP__=(-382) __DEC64_MIN__=1E-383DD __DEC64_SUBNORMAL_MIN__=0.000000000000001E-383DD __DECIMAL_DIG__=17 __DEC_EVAL_METHOD__=2 __DQ_FBIT__=63 __DQ_IBIT__=0 __ELF__=1 __FINITE_MATH_ONLY__=0 __FLOAT_WORD_ORDER__=1234 __FLT_DECIMAL_DIG__=9 __FLT_DENORM_MIN__=1.4012984643248171e-45F __FLT_DIG__=6 __FLT_EPSILON__=1.1920928955078125e-7F __FLT_EVAL_METHOD__=0 __FLT_HAS_DENORM__=1 __FLT_HAS_INFINITY__=1 __FLT_HAS_QUIET_NAN__=1 __FLT_MANT_DIG__=24 __FLT_MAX_10_EXP__=38 __FLT_MAX_EXP__=128 __FLT_MAX__=3.4028234663852886e+38F __FLT_MIN_10_EXP__=(-37) __FLT_MIN_EXP__=(-125) __FLT_MIN__=1.1754943508222875e-38F __FLT_RADIX__=2 __FRACT_EPSILON__=0x1P-15R __FRACT_FBIT__=15 __FRACT_IBIT__=0 __FRACT_MAX__=0X7FFFP-15R __FRACT_MIN__=(-0.5R-0.5R) __GCC_ATOMIC_BOOL_LOCK_FREE=2 __GCC_ATOMIC_CHAR16_T_LOCK_FREE=2 __GCC_ATOMIC_CHAR32_T_LOCK_FREE=2 __GCC_ATOMIC_CHAR_LOCK_FREE=2 __GCC_ATOMIC_INT_LOCK_FREE=2 __GCC_ATOMIC_LLONG_LOCK_FREE=1 __GCC_ATOMIC_LONG_LOCK_FREE=2 __GCC_ATOMIC_POINTER_LOCK_FREE=2 __GCC_ATOMIC_SHORT_LOCK_FREE=2 __GCC_ATOMIC_TEST_AND_SET_TRUEVAL=1 __GCC_ATOMIC_WCHAR_T_LOCK_FREE=2 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1=1 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2=1 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4=1 __GNUC_GNU_INLINE__=1 __GNUC_MINOR__=7 __GNUC_PATCHLEVEL__=3 __GNUC__=4 __GXX_ABI_VERSION=1002 __HA_FBIT__=7 __HA_IBIT__=8 __HQ_FBIT__=15 __HQ_IBIT__=0 __INT16_C=__INT16_C __INT16_MAX__=32767 __INT16_TYPE__=short\ int __INT32_C=__INT32_C __INT32_MAX__=2147483647 __INT32_TYPE__=int __INT64_C=__INT64_C __INT64_MAX__=9223372036854775807LL __INT64_TYPE__=long\ long\ int __INT8_C=__INT8_C __INT8_MAX__=127 __INT8_TYPE__=signed\ char __INTMAX_C=__INTMAX_C __INTMAX_MAX__=9223372036854775807LL __INTMAX_TYPE__=long\ long\ int __INTPTR_MAX__=2147483647 __INTPTR_TYPE__=int __INT_FAST16_MAX__=2147483647 __INT_FAST16_TYPE__=int __INT_FAST32_MAX__=2147483647 __INT_FAST32_TYPE__=int __INT_FAST64_MAX__=9223372036854775807LL __INT_FAST64_TYPE__=long\ long\ int __INT_FAST8_MAX__=127 __INT_FAST8_TYPE__=signed\ char __INT_LEAST16_MAX__=32767 __INT_LEAST16_TYPE__=short\ int __INT_LEAST32_MAX__=2147483647 __INT_LEAST32_TYPE__=int __INT_LEAST64_MAX__=9223372036854775807LL __INT_LEAST64_TYPE__=long\ long\ int __INT_LEAST8_MAX__=127 __INT_LEAST8_TYPE__=signed\ char __INT_MAX__=2147483647 __LACCUM_EPSILON__=0x1P-31LK __LACCUM_FBIT__=31 __LACCUM_IBIT__=32 __LACCUM_MAX__=0X7FFFFFFFFFFFFFFFP-31LK __LACCUM_MIN__=(-0X1P31LK-0X1P31LK) __LANGUAGE_C=1 __LANGUAGE_C__=1 __LDBL_DENORM_MIN__=4.9406564584124654e-324L __LDBL_DIG__=15 __LDBL_EPSILON__=2.2204460492503131e-16L __LDBL_HAS_DENORM__=1 __LDBL_HAS_INFINITY__=1 __LDBL_HAS_QUIET_NAN__=1 __LDBL_MANT_DIG__=53 __LDBL_MAX_10_EXP__=308 __LDBL_MAX_EXP__=1024 __LDBL_MAX__=1.7976931348623157e+308L __LDBL_MIN_10_EXP__=(-307) __LDBL_MIN_EXP__=(-1021) __LDBL_MIN__=2.2250738585072014e-308L __LFRACT_EPSILON__=0x1P-31LR __LFRACT_FBIT__=31 __LFRACT_IBIT__=0 __LFRACT_MAX__=0X7FFFFFFFP-31LR __LFRACT_MIN__=(-0.5LR-0.5LR) __LLACCUM_EPSILON__=0x1P-31LLK __LLACCUM_FBIT__=31 __LLACCUM_IBIT__=32 __LLACCUM_MAX__=0X7FFFFFFFFFFFFFFFP-31LLK __LLACCUM_MIN__=(-0X1P31LLK-0X1P31LLK) __LLFRACT_EPSILON__=0x1P-63LLR __LLFRACT_FBIT__=63 __LLFRACT_IBIT__=0 __LLFRACT_MAX__=0X7FFFFFFFFFFFFFFFP-63LLR __LLFRACT_MIN__=(-0.5LLR-0.5LLR) __LONG_LONG_MAX__=9223372036854775807LL __LONG_MAX__=2147483647L __MIPSEL=1 __MIPSEL__=1 __ORDER_BIG_ENDIAN__=4321 __ORDER_LITTLE_ENDIAN__=1234 __ORDER_PDP_ENDIAN__=3412 __PIC__=1 __PRAGMA_REDEFINE_EXTNAME=1 __PTRDIFF_MAX__=2147483647 __PTRDIFF_TYPE__=int __QQ_FBIT__=7 __QQ_IBIT__=0 __R3000=1 __R3000__=1 __REGISTER_PREFIX__= __SACCUM_EPSILON__=0x1P-7HK __SACCUM_FBIT__=7 __SACCUM_IBIT__=8 __SACCUM_MAX__=0X7FFFP-7HK __SACCUM_MIN__=(-0X1P7HK-0X1P7HK) __SA_FBIT__=15 __SA_IBIT__=16 __SCHAR_MAX__=127 __SFRACT_EPSILON__=0x1P-7HR __SFRACT_FBIT__=7 __SFRACT_IBIT__=0 __SFRACT_MAX__=0X7FP-7HR __SFRACT_MIN__=(-0.5HR-0.5HR) __SHRT_MAX__=32767 __SIG_ATOMIC_MAX__=2147483647 __SIG_ATOMIC_MIN__=(-2147483647\ -\ 1) __SIG_ATOMIC_TYPE__=int __SIZEOF_DOUBLE__=8 __SIZEOF_FLOAT__=4 __SIZEOF_INT__=4 __SIZEOF_LONG_DOUBLE__=8 __SIZEOF_LONG_LONG__=8 __SIZEOF_LONG__=4 __SIZEOF_POINTER__=4 __SIZEOF_PTRDIFF_T__=4 __SIZEOF_SHORT__=2 __SIZEOF_SIZE_T__=4 __SIZEOF_WCHAR_T__=4 __SIZEOF_WINT_T__=4 __SIZE_MAX__=4294967295U __SIZE_TYPE__=unsigned\ int __SQ_FBIT__=31 __SQ_IBIT__=0 __STDC_HOSTED__=1 __STDC__=1 __TA_FBIT__=63 __TA_IBIT__=64 __TQ_FBIT__=127 __TQ_IBIT__=0 __UACCUM_EPSILON__=0x1P-16UK __UACCUM_FBIT__=16 __UACCUM_IBIT__=16 __UACCUM_MAX__=0XFFFFFFFFP-16UK __UACCUM_MIN__=0.0UK __UDA_FBIT__=32 __UDA_IBIT__=32 __UDQ_FBIT__=64 __UDQ_IBIT__=0 __UFRACT_EPSILON__=0x1P-16UR __UFRACT_FBIT__=16 __UFRACT_IBIT__=0 __UFRACT_MAX__=0XFFFFP-16UR __UFRACT_MIN__=0.0UR __UHA_FBIT__=8 __UHA_IBIT__=8 __UHQ_FBIT__=16 __UHQ_IBIT__=0 __UINT16_C=__UINT16_C __UINT16_MAX__=65535 __UINT16_TYPE__=short\ unsigned\ int __UINT32_C=__UINT32_C __UINT32_MAX__=4294967295U __UINT32_TYPE__=unsigned\ int __UINT64_C=__UINT64_C __UINT64_MAX__=18446744073709551615ULL __UINT64_TYPE__=long\ long\ unsigned\ int __UINT8_C=__UINT8_C __UINT8_MAX__=255 __UINT8_TYPE__=unsigned\ char __UINTMAX_C=__UINTMAX_C __UINTMAX_MAX__=18446744073709551615ULL __UINTMAX_TYPE__=long\ long\ unsigned\ int __UINTPTR_MAX__=4294967295U __UINTPTR_TYPE__=unsigned\ int __UINT_FAST16_MAX__=4294967295U __UINT_FAST16_TYPE__=unsigned\ int __UINT_FAST32_MAX__=4294967295U __UINT_FAST32_TYPE__=unsigned\ int __UINT_FAST64_MAX__=18446744073709551615ULL __UINT_FAST64_TYPE__=long\ long\ unsigned\ int __UINT_FAST8_MAX__=255 __UINT_FAST8_TYPE__=unsigned\ char __UINT_LEAST16_MAX__=65535 __UINT_LEAST16_TYPE__=short\ unsigned\ int __UINT_LEAST32_MAX__=4294967295U __UINT_LEAST32_TYPE__=unsigned\ int __UINT_LEAST64_MAX__=18446744073709551615ULL __UINT_LEAST64_TYPE__=long\ long\ unsigned\ int __UINT_LEAST8_MAX__=255 __UINT_LEAST8_TYPE__=unsigned\ char __ULACCUM_EPSILON__=0x1P-32ULK __ULACCUM_FBIT__=32 __ULACCUM_IBIT__=32 __ULACCUM_MAX__=0XFFFFFFFFFFFFFFFFP-32ULK __ULACCUM_MIN__=0.0ULK __ULFRACT_EPSILON__=0x1P-32ULR __ULFRACT_FBIT__=32 __ULFRACT_IBIT__=0 __ULFRACT_MAX__=0XFFFFFFFFP-32ULR __ULFRACT_MIN__=0.0ULR __ULLACCUM_EPSILON__=0x1P-32ULLK __ULLACCUM_FBIT__=32 __ULLACCUM_IBIT__=32 __ULLACCUM_MAX__=0XFFFFFFFFFFFFFFFFP-32ULLK __ULLACCUM_MIN__=0.0ULLK __ULLFRACT_EPSILON__=0x1P-64ULLR __ULLFRACT_FBIT__=64 __ULLFRACT_IBIT__=0 __ULLFRACT_MAX__=0XFFFFFFFFFFFFFFFFP-64ULLR __ULLFRACT_MIN__=0.0ULLR __UQQ_FBIT__=8 __UQQ_IBIT__=0 __USACCUM_EPSILON__=0x1P-8UHK __USACCUM_FBIT__=8 __USACCUM_IBIT__=8 __USACCUM_MAX__=0XFFFFP-8UHK __USACCUM_MIN__=0.0UHK __USA_FBIT__=16 __USA_IBIT__=16 __USER_LABEL_PREFIX__= __USFRACT_EPSILON__=0x1P-8UHR __USFRACT_FBIT__=8 __USFRACT_IBIT__=0 __USFRACT_MAX__=0XFFP-8UHR __USFRACT_MIN__=0.0UHR __USQ_FBIT__=32 __USQ_IBIT__=0 __UTA_FBIT__=64 __UTA_IBIT__=64 __UTQ_FBIT__=128 __UTQ_IBIT__=0 __VERSION__="4.7.3" __WCHAR_MAX__=2147483647 __WCHAR_MIN__=(-2147483647\ -\ 1) __WCHAR_TYPE__=int __WINT_MAX__=4294967295U __WINT_MIN__=0U __WINT_TYPE__=unsigned\ int __linux=1 __linux__=1 __mips=1 __mips__=1 __mips_abicalls=1 __mips_fpr=32 __mips_hard_float=1 __pic__=1 __unix=1 __unix__=1 _mips=1 linux=1 mips=1 unix=1'
+crypt_r_proto='0'
+cryptlib=''
+csh='csh'
+ctermid_r_proto='0'
+ctime_r_proto='0'
+d_Gconvert='gcvt((x),(n),(b))'
+d_PRIEUldbl='define'
+d_PRIFUldbl='define'
+d_PRIGUldbl='define'
+d_PRIXU64='define'
+d_PRId64='define'
+d_PRIeldbl='define'
+d_PRIfldbl='define'
+d_PRIgldbl='define'
+d_PRIi64='define'
+d_PRIo64='define'
+d_PRIu64='define'
+d_PRIx64='define'
+d_SCNfldbl='define'
+d__fwalk='undef'
+d_access='define'
+d_accessx='undef'
+d_aintl='undef'
+d_alarm='define'
+d_archlib='define'
+d_asctime64='undef'
+d_asctime_r='undef'
+d_atolf='undef'
+d_atoll='define'
+d_attribute_deprecated='define'
+d_attribute_format='define'
+d_attribute_malloc='define'
+d_attribute_nonnull='define'
+d_attribute_noreturn='define'
+d_attribute_pure='define'
+d_attribute_unused='define'
+d_attribute_warn_unused_result='define'
+d_bcmp='define'
+d_bcopy='define'
+d_bsd='undef'
+d_bsdgetpgrp='undef'
+d_bsdsetpgrp='undef'
+d_builtin_choose_expr='define'
+d_builtin_expect='define'
+d_bzero='define'
+d_c99_variadic_macros='define'
+d_casti32='define'
+d_castneg='define'
+d_charvspr='undef'
+d_chown='define'
+d_chroot='define'
+d_chsize='undef'
+d_class='undef'
+d_clearenv='define'
+d_closedir='define'
+d_cmsghdr_s='define'
+d_const='define'
+d_copysignl='define'
+d_cplusplus='undef'
+d_crypt='define'
+d_crypt_r='undef'
+d_csh='undef'
+d_ctermid='define'
+d_ctermid_r='undef'
+d_ctime64='undef'
+d_ctime_r='undef'
+d_cuserid='define'
+d_dbl_dig='define'
+d_dbminitproto='undef'
+d_difftime64='undef'
+d_difftime='define'
+d_dir_dd_fd='undef'
+d_dirfd='define'
+d_dirnamlen='undef'
+d_dlerror='define'
+d_dlopen='define'
+d_dlsymun='undef'
+d_dosuid='undef'
+d_drand48_r='undef'
+d_drand48proto='define'
+d_dup2='define'
+d_eaccess='define'
+d_endgrent='define'
+d_endgrent_r='undef'
+d_endhent='define'
+d_endhostent_r='undef'
+d_endnent='define'
+d_endnetent_r='undef'
+d_endpent='define'
+d_endprotoent_r='undef'
+d_endpwent='define'
+d_endpwent_r='undef'
+d_endsent='define'
+d_endservent_r='undef'
+d_eofnblk='define'
+d_eunice='undef'
+d_faststdio='undef'
+d_fchdir='define'
+d_fchmod='define'
+d_fchown='define'
+d_fcntl='define'
+d_fcntl_can_lock='define'
+d_fd_macros='define'
+d_fd_set='define'
+d_fds_bits='define'
+d_fgetpos='define'
+d_finite='define'
+d_finitel='undef'
+d_flexfnam='define'
+d_flock='define'
+d_flockproto='undef'
+d_fork='define'
+d_fp_class='undef'
+d_fpathconf='define'
+d_fpclass='undef'
+d_fpclassify='undef'
+d_fpclassl='undef'
+d_fpos64_t='undef'
+d_frexpl='define'
+d_fs_data_s='undef'
+d_fseeko='define'
+d_fsetpos='define'
+d_fstatfs='define'
+d_fstatvfs='define'
+d_fsync='define'
+d_ftello='define'
+d_ftime='undef'
+d_futimes='undef'
+d_gdbm_ndbm_h_uses_prototypes='undef'
+d_gdbmndbm_h_uses_prototypes='undef'
+d_getaddrinfo='define'
+d_getcwd='define'
+d_getespwnam='undef'
+d_getfsstat='undef'
+d_getgrent='define'
+d_getgrent_r='undef'
+d_getgrgid_r='undef'
+d_getgrnam_r='undef'
+d_getgrps='define'
+d_gethbyaddr='define'
+d_gethbyname='define'
+d_gethent='define'
+d_gethname='define'
+d_gethostbyaddr_r='undef'
+d_gethostbyname_r='undef'
+d_gethostent_r='undef'
+d_gethostprotos='define'
+d_getitimer='define'
+d_getlogin='define'
+d_getlogin_r='undef'
+d_getmnt='undef'
+d_getmntent='define'
+d_getnameinfo='define'
+d_getnbyaddr='define'
+d_getnbyname='define'
+d_getnent='define'
+d_getnetbyaddr_r='undef'
+d_getnetbyname_r='undef'
+d_getnetent_r='undef'
+d_getnetprotos='define'
+d_getpagsz='define'
+d_getpbyname='define'
+d_getpbynumber='define'
+d_getpent='define'
+d_getpgid='define'
+d_getpgrp2='undef'
+d_getpgrp='define'
+d_getppid='define'
+d_getprior='define'
+d_getprotobyname_r='undef'
+d_getprotobynumber_r='undef'
+d_getprotoent_r='undef'
+d_getprotoprotos='define'
+d_getprpwnam='undef'
+d_getpwent='define'
+d_getpwent_r='undef'
+d_getpwnam_r='undef'
+d_getpwuid_r='undef'
+d_getsbyname='define'
+d_getsbyport='define'
+d_getsent='define'
+d_getservbyname_r='undef'
+d_getservbyport_r='undef'
+d_getservent_r='undef'
+d_getservprotos='define'
+d_getspnam='define'
+d_getspnam_r='undef'
+d_gettimeod='define'
+d_gmtime64='undef'
+d_gmtime_r='undef'
+d_gnulibc='undef'
+d_grpasswd='define'
+d_hasmntopt='define'
+d_htonl='define'
+d_ilogbl='define'
+d_inc_version_list='undef'
+d_index='undef'
+d_inetaton='define'
+d_inetntop='define'
+d_inetpton='define'
+d_int64_t='define'
+d_ip_mreq='define'
+d_ip_mreq_source='define'
+d_ipv6_mreq='define'
+d_ipv6_mreq_source='undef'
+d_isascii='define'
+d_isblank='define'
+d_isfinite='undef'
+d_isinf='undef'
+d_isnan='undef'
+d_isnanl='undef'
+d_killpg='define'
+d_lchown='define'
+d_ldbl_dig='define'
+d_libm_lib_version='undef'
+d_link='define'
+d_localtime64='undef'
+d_localtime_r='undef'
+d_localtime_r_needs_tzset='undef'
+d_locconv='define'
+d_lockf='define'
+d_longdbl='define'
+d_longlong='define'
+d_lseekproto='define'
+d_lstat='define'
+d_madvise='define'
+d_malloc_good_size='undef'
+d_malloc_size='undef'
+d_mblen='define'
+d_mbstowcs='define'
+d_mbtowc='define'
+d_memchr='define'
+d_memcmp='define'
+d_memcpy='define'
+d_memmove='define'
+d_memset='define'
+d_mkdir='define'
+d_mkdtemp='define'
+d_mkfifo='define'
+d_mkstemp='define'
+d_mkstemps='define'
+d_mktime64='undef'
+d_mktime='define'
+d_mmap='define'
+d_modfl='define'
+d_modfl_pow32_bug='undef'
+d_modflproto='define'
+d_mprotect='define'
+d_msg='define'
+d_msg_ctrunc='define'
+d_msg_dontroute='define'
+d_msg_oob='define'
+d_msg_peek='define'
+d_msg_proxy='define'
+d_msgctl='define'
+d_msgget='define'
+d_msghdr_s='define'
+d_msgrcv='define'
+d_msgsnd='define'
+d_msync='define'
+d_munmap='define'
+d_mymalloc='undef'
+d_ndbm='undef'
+d_ndbm_h_uses_prototypes='undef'
+d_nice='define'
+d_nl_langinfo='define'
+d_nv_preserves_uv='define'
+d_nv_zero_is_allbits_zero='define'
+d_off64_t='undef'
+d_old_pthread_create_joinable='undef'
+d_oldpthreads='undef'
+d_oldsock='undef'
+d_open3='define'
+d_pathconf='define'
+d_pause='define'
+d_perl_otherlibdirs='undef'
+d_phostname='undef'
+d_pipe='define'
+d_poll='define'
+d_portable='define'
+d_prctl='define'
+d_prctl_set_name='define'
+d_printf_format_null='define'
+d_procselfexe='undef'
+d_pseudofork='undef'
+d_pthread_atfork='define'
+d_pthread_attr_setscope='define'
+d_pthread_yield='undef'
+d_pwage='undef'
+d_pwchange='undef'
+d_pwclass='undef'
+d_pwcomment='undef'
+d_pwexpire='undef'
+d_pwgecos='define'
+d_pwpasswd='define'
+d_pwquota='undef'
+d_qgcvt='undef'
+d_quad='define'
+d_random_r='undef'
+d_readdir64_r='undef'
+d_readdir='define'
+d_readdir_r='undef'
+d_readlink='define'
+d_readv='define'
+d_recvmsg='define'
+d_rename='define'
+d_rewinddir='define'
+d_rmdir='define'
+d_safebcpy='undef'
+d_safemcpy='undef'
+d_sanemcmp='define'
+d_sbrkproto='define'
+d_scalbnl='define'
+d_sched_yield='define'
+d_scm_rights='define'
+d_seekdir='define'
+d_select='define'
+d_sem='define'
+d_semctl='define'
+d_semctl_semid_ds='define'
+d_semctl_semun='define'
+d_semget='define'
+d_semop='define'
+d_sendmsg='define'
+d_setegid='define'
+d_seteuid='define'
+d_setgrent='define'
+d_setgrent_r='undef'
+d_setgrps='define'
+d_sethent='define'
+d_sethostent_r='undef'
+d_setitimer='define'
+d_setlinebuf='define'
+d_setlocale='define'
+d_setlocale_r='undef'
+d_setnent='define'
+d_setnetent_r='undef'
+d_setpent='define'
+d_setpgid='define'
+d_setpgrp2='undef'
+d_setpgrp='define'
+d_setprior='define'
+d_setproctitle='undef'
+d_setprotoent_r='undef'
+d_setpwent='define'
+d_setpwent_r='undef'
+d_setregid='define'
+d_setresgid='define'
+d_setresuid='define'
+d_setreuid='define'
+d_setrgid='undef'
+d_setruid='undef'
+d_setsent='define'
+d_setservent_r='undef'
+d_setsid='define'
+d_setvbuf='define'
+d_sfio='undef'
+d_shm='define'
+d_shmat='define'
+d_shmatprototype='define'
+d_shmctl='define'
+d_shmdt='define'
+d_shmget='define'
+d_sigaction='define'
+d_signbit='define'
+d_sigprocmask='define'
+d_sigsetjmp='define'
+d_sin6_scope_id='define'
+d_sitearch='define'
+d_snprintf='define'
+d_sockaddr_in6='define'
+d_sockaddr_sa_len='undef'
+d_sockatmark='define'
+d_sockatmarkproto='define'
+d_socket='define'
+d_socklen_t='define'
+d_sockpair='define'
+d_socks5_init='undef'
+d_sprintf_returns_strlen='define'
+d_sqrtl='define'
+d_srand48_r='undef'
+d_srandom_r='undef'
+d_sresgproto='undef'
+d_sresuproto='undef'
+d_statblks='define'
+d_statfs_f_flags='define'
+d_statfs_s='define'
+d_static_inline='define'
+d_statvfs='define'
+d_stdio_cnt_lval='undef'
+d_stdio_ptr_lval='undef'
+d_stdio_ptr_lval_nochange_cnt='undef'
+d_stdio_ptr_lval_sets_cnt='undef'
+d_stdio_stream_array='undef'
+d_stdiobase='undef'
+d_stdstdio='undef'
+d_strchr='define'
+d_strcoll='define'
+d_strctcpy='define'
+d_strerrm='strerror(e)'
+d_strerror='define'
+d_strerror_r='undef'
+d_strftime='define'
+d_strlcat='define'
+d_strlcpy='define'
+d_strtod='define'
+d_strtol='define'
+d_strtold='define'
+d_strtoll='define'
+d_strtoq='undef'
+d_strtoul='define'
+d_strtoull='define'
+d_strtouq='undef'
+d_strxfrm='define'
+d_suidsafe='undef'
+d_symlink='define'
+d_syscall='define'
+d_syscallproto='define'
+d_sysconf='define'
+d_sysernlst=''
+d_syserrlst='undef'
+d_system='define'
+d_tcgetpgrp='define'
+d_tcsetpgrp='define'
+d_telldir='define'
+d_telldirproto='define'
+d_time='define'
+d_timegm='define'
+d_times='define'
+d_tm_tm_gmtoff='define'
+d_tm_tm_zone='define'
+d_tmpnam_r='undef'
+d_truncate='define'
+d_ttyname_r='undef'
+d_tzname='define'
+d_u32align='undef'
+d_ualarm='define'
+d_umask='define'
+d_uname='define'
+d_union_semun='undef'
+d_unordered='undef'
+d_unsetenv='define'
+d_usleep='define'
+d_usleepproto='define'
+d_ustat='undef'
+d_vendorarch='undef'
+d_vendorbin='undef'
+d_vendorlib='undef'
+d_vendorscript='undef'
+d_vfork='undef'
+d_void_closedir='undef'
+d_voidsig='define'
+d_voidtty=''
+d_volatile='define'
+d_vprintf='define'
+d_vsnprintf='define'
+d_wait4='define'
+d_waitpid='define'
+d_wcstombs='define'
+d_wctomb='define'
+d_writev='define'
+d_xenix='undef'
+date='date'
+db_hashtype='u_int32_t'
+db_prefixtype='size_t'
+db_version_major=''
+db_version_minor=''
+db_version_patch=''
+defvoidused='15'
+direntrytype='struct dirent'
+dlext='so'
+dlsrc='dl_dlopen.xs'
+doublesize='8'
+drand01='drand48()'
+drand48_r_proto='0'
+dtrace=''
+dynamic_ext='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd Data/Dumper Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/DosGlob File/Glob Filter/Util/Call Hash/Util Hash/Util/FieldHash I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Math/BigInt/FastCalc Opcode POSIX PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Text/Soundex Tie/Hash/NamedCapture Time/HiRes Time/Piece Unicode/Collate Unicode/Normalize XS/APItest XS/Typemap arybase attributes mro re threads threads/shared'
+eagain='EAGAIN'
+ebcdic='undef'
+echo='echo'
+egrep='egrep'
+emacs=''
+endgrent_r_proto='0'
+endhostent_r_proto='0'
+endnetent_r_proto='0'
+endprotoent_r_proto='0'
+endpwent_r_proto='0'
+endservent_r_proto='0'
+eunicefix=':'
+exe_ext=''
+expr='expr'
+extensions='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd Data/Dumper Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/DosGlob File/Glob Filter/Util/Call Hash/Util Hash/Util/FieldHash I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Math/BigInt/FastCalc Opcode POSIX PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Text/Soundex Tie/Hash/NamedCapture Time/HiRes Time/Piece Unicode/Collate Unicode/Normalize XS/APItest XS/Typemap arybase attributes mro re threads threads/shared Archive/Extract Archive/Tar Attribute/Handlers AutoLoader B/Debug B/Deparse B/Lint CGI CPAN CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML CPANPLUS CPANPLUS/Dist/Build Carp Config/Perl/V Devel/SelfStubber Digest Dumpvalue Env Errno ExtUtils/CBuilder ExtUtils/Command ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/ParseXS File/CheckTree File/Fetch File/Path File/Temp FileCache Filter/Simple Getopt/Long HTTP/Tiny I18N/Collate I18N/LangTags IO/Compress IO/Zlib IPC/Cmd IPC/Open3 JSON/PP Locale/Codes Locale/Maketext Locale/Maketext/Simple Log/Message Log/Message/Simple Math/BigInt Math/BigRat Math/Complex Memoize Module/Build Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata Module/Pluggable NEXT Net/Ping Object/Accessor Package/Constants Params/Check Parse/CPAN/Meta Perl/OSType PerlIO/via/QuotedPrint Pod/Checker Pod/Escapes Pod/Functions Pod/Html Pod/LaTeX Pod/Parser Pod/Perldoc Pod/Simple Pod/Usage Safe Search/Dict SelfLoader Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Term/UI Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Memoize Tie/RefHash Time/Local XSLoader autodie autouse base bignum constant encoding/warnings if lib libnet parent perlfaq podlators'
+extern_C='extern'
+extras=''
+fflushNULL='define'
+fflushall='undef'
+find=''
+firstmakefile='makefile'
+flex=''
+fpossize='16'
+fpostype='fpos_t'
+freetype='void'
+from=':'
+full_ar='%%AR%%'
+full_csh='csh'
+full_sed='/bin/sed'
+gccansipedantic=''
+gccosandvers=''
+gccversion='4.7.3'
+getgrent_r_proto='0'
+getgrgid_r_proto='0'
+getgrnam_r_proto='0'
+gethostbyaddr_r_proto='0'
+gethostbyname_r_proto='0'
+gethostent_r_proto='0'
+getlogin_r_proto='0'
+getnetbyaddr_r_proto='0'
+getnetbyname_r_proto='0'
+getnetent_r_proto='0'
+getprotobyname_r_proto='0'
+getprotobynumber_r_proto='0'
+getprotoent_r_proto='0'
+getpwent_r_proto='0'
+getpwnam_r_proto='0'
+getpwuid_r_proto='0'
+getservbyname_r_proto='0'
+getservbyport_r_proto='0'
+getservent_r_proto='0'
+getspnam_r_proto='0'
+gidformat='"lu"'
+gidsign='1'
+gidsize='4'
+gidtype='gid_t'
+glibpth='/usr/shlib /lib /usr/lib /usr/lib/386 /lib/386 /usr/ccs/lib /usr/ucblib /usr/local/lib '
+gmake='gmake'
+gmtime_r_proto='0'
+gnulibc_version=''
+grep='grep'
+groupcat='cat /etc/group'
+groupstype='gid_t'
+gzip='gzip'
+h_fcntl='true'
+h_sysfile='false'
+hint='recommended'
+hostcat='cat /etc/hosts'
+html1dir=' '
+html1direxp=''
+html3dir=' '
+html3direxp=''
+i16size='2'
+i16type='short'
+i32size='4'
+i32type='long'
+i64size='8'
+i64type='long long'
+i8size='1'
+i8type='signed char'
+i_arpainet='define'
+i_assert='define'
+i_bsdioctl=''
+i_crypt='define'
+i_db='undef'
+i_dbm='undef'
+i_dirent='define'
+i_dld='undef'
+i_dlfcn='define'
+i_fcntl='define'
+i_float='define'
+i_fp='undef'
+i_fp_class='undef'
+i_gdbm='undef'
+i_gdbm_ndbm='undef'
+i_gdbmndbm='undef'
+i_grp='define'
+i_ieeefp='undef'
+i_inttypes='define'
+i_langinfo='define'
+i_libutil='undef'
+i_limits='define'
+i_locale='define'
+i_machcthr='undef'
+i_malloc='define'
+i_mallocmalloc='undef'
+i_math='define'
+i_memory='undef'
+i_mntent='define'
+i_ndbm='undef'
+i_netdb='define'
+i_neterrno='undef'
+i_netinettcp='define'
+i_niin='define'
+i_poll='define'
+i_prot='undef'
+i_pthread='define'
+i_pwd='define'
+i_rpcsvcdbm='undef'
+i_sfio='undef'
+i_sgtty='undef'
+i_shadow='define'
+i_socks='undef'
+i_stdarg='define'
+i_stdbool='define'
+i_stddef='define'
+i_stdlib='define'
+i_string='define'
+i_sunmath='undef'
+i_sysaccess='undef'
+i_sysdir='define'
+i_sysfile='undef'
+i_sysfilio='undef'
+i_sysin='undef'
+i_sysioctl='define'
+i_syslog='define'
+i_sysmman='define'
+i_sysmode='undef'
+i_sysmount='define'
+i_sysndir='undef'
+i_sysparam='define'
+i_syspoll='define'
+i_sysresrc='define'
+i_syssecrt='undef'
+i_sysselct='define'
+i_syssockio='undef'
+i_sysstat='define'
+i_sysstatfs='define'
+i_sysstatvfs='define'
+i_systime='define'
+i_systimek='undef'
+i_systimes='define'
+i_systypes='define'
+i_sysuio='define'
+i_sysun='define'
+i_sysutsname='define'
+i_sysvfs='define'
+i_syswait='define'
+i_termio='undef'
+i_termios='define'
+i_time='define'
+i_unistd='define'
+i_ustat='undef'
+i_utime='define'
+i_values='define'
+i_varargs='undef'
+i_varhdr='stdarg.h'
+i_vfork='undef'
+ignore_versioned_solibs='y'
+inc_version_list=' '
+inc_version_list_init='0'
+incpath=''
+inews=''
+initialinstalllocation='/usr/bin'
+installarchlib='/usr/lib/perl5/5.18.1/mips-linux'
+installbin='/usr/bin'
+installhtml1dir=''
+installhtml3dir=''
+installman1dir=''
+installman3dir=''
+installprefix='/usr'
+installprefixexp='/usr'
+installprivlib='/usr/lib/perl5/5.18.1'
+installscript='/usr/bin'
+installsitearch='/usr/lib/perl5/site_perl/5.18.1/mips-linux'
+installsitebin='/usr/bin'
+installsitehtml1dir=''
+installsitehtml3dir=''
+installsitelib='/usr/lib/perl5/site_perl/5.18.1'
+installsiteman1dir=''
+installsiteman3dir=''
+installsitescript='/usr/bin'
+installstyle='lib/perl5'
+installusrbinperl='undef'
+installvendorarch=''
+installvendorbin=''
+installvendorhtml1dir=''
+installvendorhtml3dir=''
+installvendorlib=''
+installvendorman1dir=''
+installvendorman3dir=''
+installvendorscript=''
+intsize='4'
+issymlink='test -h'
+ivdformat='"ld"'
+ivsize='4'
+ivtype='long'
+known_extensions='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd DB_File Data/Dumper Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/DosGlob File/Glob Filter/Util/Call GDBM_File Hash/Util Hash/Util/FieldHash I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Math/BigInt/FastCalc NDBM_File ODBM_File Opcode POSIX PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Text/Soundex Tie/Hash/NamedCapture Time/HiRes Time/Piece Unicode/Collate Unicode/Normalize VMS/DCLsym VMS/Stdio Win32 Win32API/File Win32CORE XS/APItest XS/Typemap arybase attributes mro re threads threads/shared '
+ksh=''
+ld='%%LD%%'
+ld_can_script='define'
+lddlflags='-shared %%LDFLAGS%%'
+ldflags='%%LDFLAGS%%'
+ldflags_uselargefiles=''
+ldlibpthname='LD_LIBRARY_PATH'
+less='less'
+lib_ext='.a'
+libc=''
+libperl='libperl.a'
+libpth='%%LIBDIRS%%'
+libs='-lc'
+libsdirs='%%LIBDIRS%%'
+libsfiles=' libc.so'
+#libsfound=' /lib/libc.so'
+libspath='%%LIBDIRS%%'
+libswanted='sfio socket inet nsl nm ndbm gdbm dbm db malloc dl dld ld sun m crypt sec util c cposix posix ucb BSD gdbm_compat'
+libswanted_uselargefiles=''
+line=''
+lint=''
+lkflags=''
+ln='ln'
+lns='/bin/ln -s'
+localtime_r_proto='0'
+locincpth='/usr/local/include /opt/local/include /usr/gnu/include /opt/gnu/include /usr/GNU/include /opt/GNU/include'
+loclibpth='/usr/local/lib /opt/local/lib /usr/gnu/lib /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib'
+longdblsize='8'
+longlongsize='8'
+longsize='4'
+lp=''
+lpr=''
+ls='ls'
+lseeksize='8'
+lseektype='off_t'
+mad='undef'
+madlyh=''
+madlyobj=''
+madlysrc=''
+mail=''
+mailx=''
+make='make'
+make_set_make='#'
+mallocobj=''
+mallocsrc=''
+malloctype='void *'
+man1dir=' '
+man1direxp=''
+man1ext='0'
+man3dir=' '
+man3direxp=''
+man3ext='0'
+mips_type=''
+mistrustnm=''
+mkdir='mkdir'
+mmaptype='void *'
+modetype='mode_t'
+more='more'
+multiarch='undef'
+mv=''
+myarchname='mips-linux'
+mydomain='.nonet'
+myhostname='openadk'
+myuname='linux openadk 3.13.5 #1 tue feb 25 13:45:44 cet 2014 mips gnulinux '
+n='-n'
+need_va_copy='undef'
+netdb_hlen_type='size_t'
+netdb_host_type='const void *'
+netdb_name_type='const char *'
+netdb_net_type='in_addr_t'
+nm='nm'
+nm_opt=''
+nm_so_opt='--dynamic'
+nonxs_ext='Archive/Extract Archive/Tar Attribute/Handlers AutoLoader B/Debug B/Deparse B/Lint CGI CPAN CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML CPANPLUS CPANPLUS/Dist/Build Carp Config/Perl/V Devel/SelfStubber Digest Dumpvalue Env Errno ExtUtils/CBuilder ExtUtils/Command ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/ParseXS File/CheckTree File/Fetch File/Path File/Temp FileCache Filter/Simple Getopt/Long HTTP/Tiny I18N/Collate I18N/LangTags IO/Compress IO/Zlib IPC/Cmd IPC/Open3 JSON/PP Locale/Codes Locale/Maketext Locale/Maketext/Simple Log/Message Log/Message/Simple Math/BigInt Math/BigRat Math/Complex Memoize Module/Build Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata Module/Pluggable NEXT Net/Ping Object/Accessor Package/Constants Params/Check Parse/CPAN/Meta Perl/OSType PerlIO/via/QuotedPrint Pod/Checker Pod/Escapes Pod/Functions Pod/Html Pod/LaTeX Pod/Parser Pod/Perldoc Pod/Simple Pod/Usage Safe Search/Dict SelfLoader Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Term/UI Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Memoize Tie/RefHash Time/Local XSLoader autodie autouse base bignum constant encoding/warnings if lib libnet parent perlfaq podlators'
+nroff='nroff'
+nvEUformat='"E"'
+nvFUformat='"F"'
+nvGUformat='"G"'
+nv_overflows_integers_at='256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0'
+nv_preserves_uv_bits='32'
+nveformat='"e"'
+nvfformat='"f"'
+nvgformat='"g"'
+nvsize='8'
+nvtype='double'
+o_nonblock='O_NONBLOCK'
+obj_ext='.o'
+old_pthread_create_joinable=''
+optimize='-O2'
+orderlib='false'
+osname='linux'
+osvers='3.13.5'
+otherlibdirs=' '
+package='perl5'
+pager='/usr/bin/less -R'
+passcat='cat /etc/passwd'
+patchlevel='18'
+path_sep=':'
+perl5=''
+perl='perl'
+perl_patchlevel=''
+perl_static_inline='static __inline__'
+perladmin='root@openadk.nonet'
+perllibs='-lc'
+perlpath='/usr/bin/perl'
+pg='pg'
+phostname='hostname'
+pidtype='pid_t'
+plibpth='/lib/mipsel-openadk-linux-musl/4.7.3 /lib /usr/lib/mipsel-openadk-linux-musl/4.7.3 /usr/lib'
+pmake=''
+pr=''
+prefix='/usr'
+prefixexp='/usr'
+privlib='/usr/lib/perl5/5.18.1'
+privlibexp='/usr/lib/perl5/5.18.1'
+procselfexe=''
+prototype='define'
+ptrsize='4'
+quadkind='3'
+quadtype='long long'
+randbits='48'
+randfunc='drand48'
+random_r_proto='0'
+randseedtype='long'
+ranlib=':'
+rd_nodata='-1'
+readdir64_r_proto='0'
+readdir_r_proto='0'
+revision='5'
+rm='rm'
+rm_try='/bin/rm -f try try a.out .out try.[cho] try..o core core.try* try.core*'
+rmail=''
+run=''
+runnm='true'
+sGMTIME_max='2147483647'
+sGMTIME_min='-2147483648'
+sLOCALTIME_max='2147483647'
+sLOCALTIME_min='-2147483648'
+sPRIEUldbl='"E"'
+sPRIFUldbl='"F"'
+sPRIGUldbl='"G"'
+sPRIXU64='"llX"'
+sPRId64='"lld"'
+sPRIeldbl='"e"'
+sPRIfldbl='"f"'
+sPRIgldbl='"g"'
+sPRIi64='"lli"'
+sPRIo64='"llo"'
+sPRIu64='"llu"'
+sPRIx64='"llx"'
+sSCNfldbl='"f"'
+sched_yield='sched_yield()'
+scriptdir='/usr/bin'
+scriptdirexp='/usr/bin'
+sed='sed'
+seedfunc='srand48'
+selectminbits='32'
+selecttype='fd_set *'
+sendmail=''
+setgrent_r_proto='0'
+sethostent_r_proto='0'
+setlocale_r_proto='0'
+setnetent_r_proto='0'
+setprotoent_r_proto='0'
+setpwent_r_proto='0'
+setservent_r_proto='0'
+sh='/bin/sh'
+shar=''
+sharpbang='#!'
+shmattype='void *'
+shortsize='2'
+shrpenv=''
+shsharp='true'
+sig_count='128'
+sig_name='ZERO HUP INT QUIT ILL TRAP ABRT STKFLT FPE KILL BUS SEGV SYS PIPE ALRM TERM USR1 USR2 CHLD PWR WINCH URG IO STOP TSTP CONT TTIN TTOU VTALRM PROF XCPU XFSZ NUM32 NUM33 NUM34 RTMIN NUM36 NUM37 NUM38 NUM39 NUM40 NUM41 NUM42 NUM43 NUM44 NUM45 NUM46 NUM47 NUM48 NUM49 NUM50 NUM51 NUM52 NUM53 NUM54 NUM55 NUM56 NUM57 NUM58 NUM59 NUM60 NUM61 NUM62 NUM63 NUM64 NUM65 NUM66 NUM67 NUM68 NUM69 NUM70 NUM71 NUM72 NUM73 NUM74 NUM75 NUM76 NUM77 NUM78 NUM79 NUM80 NUM81 NUM82 NUM83 NUM84 NUM85 NUM86 NUM87 NUM88 NUM89 NUM90 NUM91 NUM92 NUM93 NUM94 NUM95 NUM96 NUM97 NUM98 NUM99 NUM100 NUM101 NUM102 NUM103 NUM104 NUM105 NUM106 NUM107 NUM108 NUM109 NUM110 NUM111 NUM112 NUM113 NUM114 NUM115 NUM116 NUM117 NUM118 NUM119 NUM120 NUM121 NUM122 NUM123 NUM124 NUM125 NUM126 RTMAX IOT UNUSED POLL '
+sig_name_init='"ZERO", "HUP", "INT", "QUIT", "ILL", "TRAP", "ABRT", "STKFLT", "FPE", "KILL", "BUS", "SEGV", "SYS", "PIPE", "ALRM", "TERM", "USR1", "USR2", "CHLD", "PWR", "WINCH", "URG", "IO", "STOP", "TSTP", "CONT", "TTIN", "TTOU", "VTALRM", "PROF", "XCPU", "XFSZ", "NUM32", "NUM33", "NUM34", "RTMIN", "NUM36", "NUM37", "NUM38", "NUM39", "NUM40", "NUM41", "NUM42", "NUM43", "NUM44", "NUM45", "NUM46", "NUM47", "NUM48", "NUM49", "NUM50", "NUM51", "NUM52", "NUM53", "NUM54", "NUM55", "NUM56", "NUM57", "NUM58", "NUM59", "NUM60", "NUM61", "NUM62", "NUM63", "NUM64", "NUM65", "NUM66", "NUM67", "NUM68", "NUM69", "NUM70", "NUM71", "NUM72", "NUM73", "NUM74", "NUM75", "NUM76", "NUM77", "NUM78", "NUM79", "NUM80", "NUM81", "NUM82", "NUM83", "NUM84", "NUM85", "NUM86", "NUM87", "NUM88", "NUM89", "NUM90", "NUM91", "NUM92", "NUM93", "NUM94", "NUM95", "NUM96", "NUM97", "NUM98", "NUM99", "NUM100", "NUM101", "NUM102", "NUM103", "NUM104", "NUM105", "NUM106", "NUM107", "NUM108", "NUM109", "NUM110", "NUM111", "NUM112", "NUM113", "NUM114", "NUM115", "NUM116", "NUM117", "NUM118", "NUM119", "NUM120", "NUM121", "NUM122", "NUM123", "NUM124", "NUM125", "NUM126", "RTMAX", "IOT", "UNUSED", "POLL", 0'
+sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 6 12 22 '
+sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 6, 12, 22, 0'
+sig_size='131'
+signal_t='void'
+sitearch='/usr/lib/perl5/site_perl/5.18.1/mips-linux'
+sitearchexp='/usr/lib/perl5/site_perl/5.18.1/mips-linux'
+sitebin='/usr/bin'
+sitebinexp='/usr/bin'
+sitehtml1dir=''
+sitehtml1direxp=''
+sitehtml3dir=''
+sitehtml3direxp=''
+sitelib='/usr/lib/perl5/site_perl/5.18.1'
+sitelib_stem='/usr/lib/perl5/site_perl'
+sitelibexp='/usr/lib/perl5/site_perl/5.18.1'
+siteman1dir=''
+siteman1direxp=''
+siteman3dir=''
+siteman3direxp=''
+siteprefix='/usr'
+siteprefixexp='/usr'
+sitescript='/usr/bin'
+sitescriptexp='/usr/bin'
+sizesize='4'
+sizetype='size_t'
+sleep=''
+smail=''
+so='so'
+sockethdr=''
+socketlib=''
+socksizetype='socklen_t'
+sort='sort'
+spackage='Perl5'
+spitshell='cat'
+srand48_r_proto='0'
+srandom_r_proto='0'
+src='.'
+ssizetype='ssize_t'
+st_ino_sign='1'
+st_ino_size='8'
+startperl='#!/usr/bin/perl'
+startsh='#!/bin/sh'
+static_ext=' '
+stdchar='char'
+stdio_base='((fp)->_base)'
+stdio_bufsiz='((fp)->_cnt + (fp)->_ptr - (fp)->_base)'
+stdio_cnt='((fp)->_cnt)'
+stdio_filbuf=''
+stdio_ptr='((fp)->_ptr)'
+stdio_stream_array=''
+strerror_r_proto='0'
+strings='/usr/include/string.h'
+submit=''
+subversion='1'
+sysman='/usr/man/man1'
+tail=''
+tar=''
+targetarch=''
+tbl=''
+tee=''
+test='test'
+timeincl='/usr/include/sys/time.h /usr/include/time.h '
+timetype='time_t'
+tmpnam_r_proto='0'
+to=':'
+touch='touch'
+tr='tr'
+trnl='\n'
+troff=''
+ttyname_r_proto='0'
+u16size='2'
+u16type='unsigned short'
+u32size='4'
+u32type='unsigned long'
+u64size='8'
+u64type='unsigned long long'
+u8size='1'
+u8type='unsigned char'
+uidformat='"lu"'
+uidsign='1'
+uidsize='4'
+uidtype='uid_t'
+uname='uname'
+uniq='uniq'
+uquadtype='unsigned long long'
+use5005threads='undef'
+use64bitall='undef'
+use64bitint='undef'
+usecrosscompile='undef'
+usedevel='undef'
+usedl='define'
+usedtrace='undef'
+usefaststdio='undef'
+useithreads='undef'
+usekernprocpathname='undef'
+uselargefiles='define'
+uselongdouble='undef'
+usemallocwrap='define'
+usemorebits='undef'
+usemultiplicity='undef'
+usemymalloc='n'
+usenm='true'
+usensgetexecutablepath='undef'
+useopcode='true'
+useperlio='define'
+useposix='true'
+usereentrant='undef'
+userelocatableinc='undef'
+usesfio='false'
+useshrplib='false'
+usesitecustomize='undef'
+usesocks='undef'
+usethreads='undef'
+usevendorprefix='undef'
+useversionedarchname='undef'
+usevfork='false'
+usrinc='%%INCDIRS%%'
+uuname=''
+uvXUformat='"lX"'
+uvoformat='"lo"'
+uvsize='4'
+uvtype='unsigned long'
+uvuformat='"lu"'
+uvxformat='"lx"'
+vaproto='define'
+vendorarch=''
+vendorarchexp=''
+vendorbin=''
+vendorbinexp=''
+vendorhtml1dir=' '
+vendorhtml1direxp=''
+vendorhtml3dir=' '
+vendorhtml3direxp=''
+vendorlib=''
+vendorlib_stem=''
+vendorlibexp=''
+vendorman1dir=' '
+vendorman1direxp=''
+vendorman3dir=' '
+vendorman3direxp=''
+vendorprefix=''
+vendorprefixexp=''
+vendorscript=''
+vendorscriptexp=''
+version='5.18.1'
+version_patchlevel_string='version 18 subversion 1'
+versiononly='undef'
+vi=''
+voidflags='15'
+xlibpth='/usr/lib/386 /lib/386'
+yacc='yacc'
+yaccflags=''
+zcat=''
+zip='zip'
+PERL_REVISION=5
+PERL_VERSION=18
+PERL_SUBVERSION=1
+PERL_API_REVISION=5
+PERL_API_VERSION=18
+PERL_API_SUBVERSION=0
+PERL_PATCHLEVEL=''
+PERL_CONFIG_SH=true
+: Variables propagated from previous config.sh file.
+libdb_needs_pthread='N'
diff --git a/package/xbmc/Makefile b/package/xbmc/Makefile
index ffd47a11f..e97138945 100644
--- a/package/xbmc/Makefile
+++ b/package/xbmc/Makefile
@@ -33,7 +33,7 @@ PKG_DEPENDS_RASPBERRY_PI:= bcm2835-vc omxplayer
PKG_BUILDDEP_RASPBERRY_PI:= bcm2835-vc omxplayer
PKG_BUILDDEP_IBM_X40:= nasm-host
PKG_SYSTEM_DEPENDS:= raspberry-pi ibm-x40
-PKG_LIBC_DEPENDS:= eglibc glibc musl
+PKG_LIBC_DEPENDS:= eglibc glibc
WRKDIST= $(WRKDIR)/$(PKG_NAME)-$(PKG_VERSION)-Frodo
diff --git a/rules.mk b/rules.mk
index 8865327f8..c4f7594ee 100644
--- a/rules.mk
+++ b/rules.mk
@@ -39,6 +39,7 @@ ADK_TARGET_ABI_CFLAGS:= $(strip $(subst ",, $(ADK_TARGET_ABI_CFLAGS)))
ADK_TARGET_ABI_LDFLAGS:= $(strip $(subst ",, $(ADK_TARGET_ABI_LDFLAGS)))
ADK_TARGET_KERNEL_LDFLAGS:= $(strip $(subst ",, $(ADK_TARGET_KERNEL_LDFLAGS)))
ADK_TARGET_ABI:= $(strip $(subst ",, $(ADK_TARGET_ABI)))
+ADK_TARGET_MIPS_ABI:= $(strip $(subst ",, $(ADK_TARGET_MIPS_ABI)))
ADK_TARGET_IP:= $(strip $(subst ",, $(ADK_TARGET_IP)))
ADK_TARGET_SUFFIX:= $(strip $(subst ",, $(ADK_TARGET_SUFFIX)))
ADK_TARGET_CMDLINE:= $(strip $(subst ",, $(ADK_TARGET_CMDLINE)))
diff --git a/scripts/create.sh b/scripts/create.sh
index 634a87643..f5309f884 100755
--- a/scripts/create.sh
+++ b/scripts/create.sh
@@ -28,11 +28,12 @@
# root partition and an OpenADK cfgfs partition.
TOPDIR=$(pwd)
+HOST=$(gcc -dumpmachine)
me=$0
case :$PATH: in
-(*:$TOPDIR/bin:*) ;;
-(*) export PATH=$PATH:$TOPDIR/bin ;;
+(*:$TOPDIR/host_$HOST/usr/bin:*) ;;
+(*) export PATH=$PATH:$TOPDIR/host_$HOST/usr/bin ;;
esac
test -n "$KSH_VERSION" || if ! which mksh >/dev/null 2>&1; then
diff --git a/scripts/scan-tools.sh b/scripts/scan-tools.sh
index a060d24fc..af3223b0b 100644
--- a/scripts/scan-tools.sh
+++ b/scripts/scan-tools.sh
@@ -112,30 +112,6 @@ if ! which gzip >/dev/null 2>&1; then
out=1
fi
-if ! which bzip2 >/dev/null 2>&1; then
- echo You must install bzip2 to continue.
- echo
- out=1
-fi
-
-if ! which lzop >/dev/null 2>&1; then
- echo You must install lzop to continue.
- echo
- out=1
-fi
-
-if ! which lzma >/dev/null 2>&1; then
- echo You must install lzma to continue.
- echo
- out=1
-fi
-
-if ! which xz >/dev/null 2>&1; then
- echo You must install xz-utils to continue.
- echo
- out=1
-fi
-
if ! which patch >/dev/null 2>&1; then
echo You must install patch to continue.
echo
@@ -219,18 +195,6 @@ if ! which perl >/dev/null 2>&1; then
out=1
fi
-if ! which m4 >/dev/null 2>&1; then
- echo "You must install m4 (macro processor) to continue."
- echo
- out=1
-fi
-
-if ! which bc >/dev/null 2>&1; then
- echo "You need bc to continue."
- echo
- out=1
-fi
-
if ! which xargs >/dev/null 2>&1; then
echo "You need xargs to continue."
echo
diff --git a/target/arm/sys-available/toolchain-arm b/target/arm/sys-available/toolchain-arm
index 8ac2da8b6..2cbe76a2e 100644
--- a/target/arm/sys-available/toolchain-arm
+++ b/target/arm/sys-available/toolchain-arm
@@ -3,9 +3,9 @@ config ADK_TARGET_SYSTEM_TOOLCHAIN_ARM
select ADK_arm
select ADK_toolchain_arm
select ADK_little
+ select ADK_soft_float
select ADK_TOOLCHAIN
select ADK_EABI
select ADK_TARGET_PACKAGE_TGZ
help
- ARM toolchain (little endian).
-
+ ARM toolchain (soft float).
diff --git a/target/arm/sys-available/toolchain-armeb b/target/arm/sys-available/toolchain-armeb
deleted file mode 100644
index ad9d2117a..000000000
--- a/target/arm/sys-available/toolchain-armeb
+++ /dev/null
@@ -1,11 +0,0 @@
-config ADK_TARGET_SYSTEM_TOOLCHAIN_ARMEB
- bool "Toolchain only (big endian)"
- select ADK_arm
- select ADK_toolchain_armeb
- select ADK_big
- select ADK_TOOLCHAIN
- select ADK_EABI
- select ADK_TARGET_PACKAGE_TGZ
- help
- ARM toolchain (big endian).
-
diff --git a/target/config/Config.in b/target/config/Config.in
index bed51b26d..a3f0edf54 100644
--- a/target/config/Config.in
+++ b/target/config/Config.in
@@ -119,6 +119,17 @@ config ADK_n64
config ADK_TARGET_ABI
string
+ default "o32" if ADK_o32
+ default "n32" if ADK_n32
+ default "n64" if ADK_n64
+ default "32" if ADK_32
+ default "x32" if ADK_x32
+ default "64" if ADK_64
+ default "eabi" if ADK_EABI
+ default "eabihf" if ADK_EABIHF
+
+config ADK_TARGET_MIPS_ABI
+ string
default "32" if ADK_o32
default "n32" if ADK_n32
default "64" if ADK_n64
@@ -653,6 +664,7 @@ config ADK_TARGET_LIB_EGLIBC
prompt "Embedded GNU C library"
boolean
select ADK_eglibc
+ select ADK_HOST_NEED_GPERF
depends on \
ADK_LINUX_ARM || \
ADK_LINUX_ARMEB || \
@@ -723,6 +735,11 @@ config ADK_TARGET_SUFFIX
default "muslgnueabihf" if ADK_TARGET_LIB_MUSL && ADK_EABIHF
default "muslgnueabi" if ADK_TARGET_LIB_MUSL && ADK_EABI
default "musl" if ADK_TARGET_LIB_MUSL && !ADK_EABI
+ default "n64" if ADK_n64
+ default "n32" if ADK_n32
+ default "o32" if ADK_o32
+ default "32" if ADK_32
+ default "x32" if ADK_x32
default "gnu"
choice
@@ -771,6 +788,7 @@ config ADK_TARGET_ROOTFS_INITRAMFS_PIGGYBACK
config ADK_TARGET_ROOTFS_SQUASHFS
bool "Compressed read-only root filesystem (squashfs)"
select ADK_KERNEL_SQUASHFS
+ select ADK_HOST_NEED_SQUASHFS
depends on ADK_TARGET_WITH_MTD
help
highly compressed read-only filesystem for MTD flash systems.
@@ -779,6 +797,7 @@ config ADK_TARGET_ROOTFS_JFFS2
bool "Compressed read-write root filesystem (jffs2)"
select ADK_KERNEL_MISC_FILESYSTEMS
select ADK_KERNEL_JFFS2
+ select ADK_HOST_NEED_JFFS2
depends on ADK_TARGET_WITH_MTD
help
compressed read-write filesystem for MTD flash systems.
@@ -837,6 +856,7 @@ config ADK_TARGET_ROOTFS_GENEXT2FS
depends on ADK_TARGET_WITH_CF
select ADK_KERNEL_EXT2_FS
select ADK_KERNEL_SCSI
+ select ADK_HOST_NEED_GENEXT2FS
help
Use this option if you have a compact flash based system.
(ext2 filesystem is used.)
@@ -857,6 +877,8 @@ config ADK_TARGET_ROOTFS_ISO
select ADK_KERNEL_JOLIET
select ADK_KERNEL_SCSI
select ADK_KERNEL_BLK_DEV_SR
+ select ADK_HOST_NEED_MKISOFS
+ select ADK_HOST_NEED_SYSLINUX
depends on ADK_HOST_LINUX
depends on ADK_LINUX_X86
help
@@ -864,6 +886,7 @@ config ADK_TARGET_ROOTFS_ISO
config ADK_TARGET_ROOTFS_ARCHIVE
bool "Archive usable for different filesystems"
+ select ADK_HOST_NEED_GENEXT2FS if ADK_HARDWARE_QEMU
select ADK_KERNEL_EXT2_FS if ADK_HARDWARE_QEMU
depends on !ADK_LINUX_MICROBLAZE
help
diff --git a/target/config/Config.in.tools b/target/config/Config.in.tools
index 31246458d..cf92eadee 100644
--- a/target/config/Config.in.tools
+++ b/target/config/Config.in.tools
@@ -1,3 +1,43 @@
+config ADK_HOST_NEED_MKISOFS
+ boolean
+ default n
+
+config ADK_HOST_NEED_SYSLINUX
+ boolean
+ default n
+
+config ADK_HOST_NEED_GPERF
+ boolean
+ default n
+
+config ADK_HOST_NEED_SQUASHFS
+ boolean
+ default n
+
+config ADK_HOST_NEED_JFFS2
+ boolean
+ default n
+
+config ADK_HOST_NEED_GENEXT2FS
+ boolean
+ default n
+
+config ADK_HOST_NEED_LZOP
+ boolean
+ default n
+
+config ADK_HOST_NEED_LZMA
+ boolean
+ default n
+
+config ADK_HOST_NEED_BZIP2
+ boolean
+ default n
+
+config ADK_HOST_NEED_XZ
+ boolean
+ default n
+
config ADK_TOOLS_ADDPATTERN_ARGS
string
default "-p W54G -v v4.20.6" if ADK_TARGET_BROADCOM_MODEL_LINKSYS_WRT54G
diff --git a/target/linux/config/Config.in.kernel b/target/linux/config/Config.in.kernel
index db1ab5c57..d928cea09 100644
--- a/target/linux/config/Config.in.kernel
+++ b/target/linux/config/Config.in.kernel
@@ -11,18 +11,22 @@ config ADK_KERNEL_INITRAMFS_COMPRESSION_NONE
boolean
config ADK_KERNEL_INITRAMFS_COMPRESSION_XZ
+ select ADK_HOST_NEED_XZ
boolean
config ADK_KERNEL_INITRAMFS_COMPRESSION_LZMA
+ select ADK_HOST_NEED_LZMA
boolean
config ADK_KERNEL_INITRAMFS_COMPRESSION_LZO
+ select ADK_HOST_NEED_LZOP
boolean
-config ADK_KERNEL_INITRAMFS_COMPRESSION_GZIP
+config ADK_KERNEL_INITRAMFS_COMPRESSION_BZIP2
+ select ADK_HOST_NEED_BZIP2
boolean
-config ADK_KERNEL_INITRAMFS_COMPRESSION_BZIP2
+config ADK_KERNEL_INITRAMFS_COMPRESSION_GZIP
boolean
config ADK_KERNEL_RD_GZIP
diff --git a/target/microblaze/Makefile b/target/microblaze/Makefile
index 7a411aa95..e9a4a517d 100644
--- a/target/microblaze/Makefile
+++ b/target/microblaze/Makefile
@@ -9,11 +9,6 @@ include $(TOPDIR)/mk/image.mk
KERNEL:=$(LINUX_DIR)/arch/microblaze/boot/$(ADK_TARGET_KERNEL)
-tools-compile:
- $(MAKE) -C ../tools/mtd-utils all
- $(MAKE) -C ../tools/xz all
- $(MAKE) -C ../tools/squashfs all
-
ifeq ($(ADK_TARGET_QEMU_MICROBLAZE_MODEL_ML605),y)
MODEL:=petalogix-ml605
DTB:=-dtb target/microblaze/ml605.dtb
@@ -24,21 +19,21 @@ DTB:=
endif
ifeq ($(ADK_TARGET_FS),squashfs)
-imageinstall: tools-compile $(BUILD_DIR)/root.squashfs
+imageinstall: $(BUILD_DIR)/root.squashfs
qemu-img create -f raw $(FW_DIR)/$(ROOTFSSQUASHFS) $(ADK_TARGET_MTD_SIZE)
dd conv=notrunc if=$(BUILD_DIR)/root.squashfs of=$(FW_DIR)/$(ROOTFSSQUASHFS)
@cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
ifneq ($(ADK_HARDWARE_QEMU),)
@echo "Start qemu with following options:"
- @echo 'qemu-system-${CPU_ARCH} $(DTB) -M $(MODEL) -nographic -kernel $(FW_DIR)/$(TARGET_KERNEL) -pflash $(FW_DIR)/$(ROOTFSSQUASHFS)'
+ @echo 'qemu-system-${CPU_ARCH} -M $(MODEL) -nographic -kernel $(FW_DIR)/$(TARGET_KERNEL) -pflash $(FW_DIR)/$(ROOTFSSQUASHFS) $(DTB)'
endif
endif
ifeq ($(ADK_TARGET_FS),jffs2)
-imageinstall: tools-compile $(FW_DIR)/$(ROOTFSJFFS2)
+imageinstall: $(FW_DIR)/$(ROOTFSJFFS2)
@cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
ifneq ($(ADK_HARDWARE_QEMU),)
@echo "Start qemu with following options:"
- @echo 'qemu-system-${CPU_ARCH} $(DTB) -M $(MODEL) -nographic -kernel $(FW_DIR)/$(TARGET_KERNEL) -pflash $(FW_DIR)/$(ROOTFSJFFS2)'
+ @echo 'qemu-system-${CPU_ARCH} -M $(MODEL) -nographic -kernel $(FW_DIR)/$(TARGET_KERNEL) -pflash $(FW_DIR)/$(ROOTFSJFFS2) $(DTB)'
endif
endif
ifeq ($(ADK_TARGET_FS),initramfs)
@@ -48,7 +43,7 @@ imageinstall: $(FW_DIR)/$(INITRAMFS)
@echo 'The initramfs image is: ${FW_DIR}/${INITRAMFS}'
ifneq ($(ADK_HARDWARE_QEMU),)
@echo "Start qemu with following command line:"
- @echo 'qemu-system-${CPU_ARCH} $(DTB) -M $(MODEL) -nographic -kernel $(FW_DIR)/$(TARGET_KERNEL) -initrd ${FW_DIR}/${INITRAMFS}'
+ @echo 'qemu-system-${CPU_ARCH} -M $(MODEL) -nographic -kernel $(FW_DIR)/$(TARGET_KERNEL) -initrd ${FW_DIR}/${INITRAMFS} $(DTB)'
endif
endif
ifeq ($(ADK_TARGET_FS),initramfs-piggyback)
@@ -57,6 +52,6 @@ imageinstall: createinitramfs
@echo 'The kernel+initramfs file is: $(FW_DIR)/${TARGET_KERNEL}'
ifneq ($(ADK_HARDWARE_QEMU),)
@echo "Start qemu with following command line:"
- @echo 'qemu-system-${CPU_ARCH} $(DTB) -M $(MODEL) -nographic -kernel $(FW_DIR)/$(TARGET_KERNEL)'
+ @echo 'qemu-system-${CPU_ARCH} -M $(MODEL) -nographic -kernel $(FW_DIR)/$(TARGET_KERNEL) $(DTB)'
endif
endif
diff --git a/target/mips/Makefile b/target/mips/Makefile
index 31cbc319a..5ebbe5d7d 100644
--- a/target/mips/Makefile
+++ b/target/mips/Makefile
@@ -11,16 +11,8 @@ KERNEL:=$(LINUX_DIR)/$(ADK_TARGET_KERNEL)
OSTRIP:=-R .reginfo -R .notes -R .note -R .comment -R .mdebug -R .note.gnu.build-id
-tools-compile:
- $(MAKE) -C ../tools/trx all
- $(MAKE) -C ../tools/addpattern all
- $(MAKE) -C ../tools/srec2bin all
- $(MAKE) -C ../tools/squashfs all
- $(MAKE) -C ../tools/lzma all
- $(MAKE) -C ../tools/lzma-loader all
-
ifeq ($(ADK_TARGET_SYSTEM_BROADCOM_BCM47XX),y)
-kernel-install: tools-compile
+kernel-install:
${TARGET_CROSS}objcopy ${OSTRIP} -S ${LINUX_DIR}/vmlinuz.elf \
${BUILD_DIR}/${TARGET_KERNEL}
@@ -39,7 +31,7 @@ endif
endif
ifeq ($(ADK_TARGET_SYSTEM_LINKSYS_AG241),y)
-kernel-install: tools-compile
+kernel-install:
${TARGET_CROSS}objcopy -S -O srec $(KERNEL) $(LINUX_DIR)/vmlinux.srec
PATH='${TARGET_PATH}' srec2bin $(LINUX_DIR)/vmlinux.srec $(LINUX_DIR)/vmlinux.bin
(dd if=/dev/zero bs=16 count=1; cat $(LINUX_DIR)/vmlinux.bin) > $(LINUX_DIR)/vmlinux.tmp
@@ -56,7 +48,7 @@ kernel-install:
$(TARGET_CROSS)objcopy $(OSTRIP) -S $(KERNEL) $(BUILD_DIR)/$(TARGET_KERNEL)
endif
ifeq ($(ADK_TARGET_SYSTEM_FON_FON2100),y)
-kernel-install: tools-compile
+kernel-install:
$(TARGET_CROSS)objcopy $(OSTRIP) -S $(KERNEL) $(BUILD_DIR)/$(TARGET_KERNEL)
${BUILD_DIR}/${ROOTFSSQUASHFS}: ${BUILD_DIR}/root.squashfs
diff --git a/target/ppc/sys-available/toolchain-ppc b/target/ppc/sys-available/toolchain-ppc
index 340834f16..54e35e6a5 100644
--- a/target/ppc/sys-available/toolchain-ppc
+++ b/target/ppc/sys-available/toolchain-ppc
@@ -2,6 +2,7 @@ config ADK_TARGET_SYSTEM_TOOLCHAIN_PPC
bool "Toolchain only"
select ADK_ppc
select ADK_toolchain_ppc
+ select ADK_CPU_PPC
select ADK_TOOLCHAIN
select ADK_TARGET_PACKAGE_TGZ
help
diff --git a/target/ppc64/sys-available/toolchain-ppc64 b/target/ppc64/sys-available/toolchain-ppc64
index 5a38c89f0..3615aab85 100644
--- a/target/ppc64/sys-available/toolchain-ppc64
+++ b/target/ppc64/sys-available/toolchain-ppc64
@@ -2,6 +2,7 @@ config ADK_TARGET_SYSTEM_TOOLCHAIN_PPC64
bool "Toolchain only"
select ADK_ppc64
select ADK_toolchain_ppc64
+ select ADK_CPU_PPC64
select ADK_TOOLCHAIN
select ADK_TARGET_PACKAGE_TGZ
help
diff --git a/target/tarch.lst b/target/tarch.lst
index 239c496df..e7251f8d2 100644
--- a/target/tarch.lst
+++ b/target/tarch.lst
@@ -1,5 +1,4 @@
arm
-armeb
m68k
microblaze
microblazeel
diff --git a/target/tools/addpattern/Makefile b/target/tools/addpattern/Makefile
deleted file mode 100644
index 596daeb52..000000000
--- a/target/tools/addpattern/Makefile
+++ /dev/null
@@ -1,4 +0,0 @@
-include $(TOPDIR)/rules.mk
-
-all: addpattern.c
- $(CC_FOR_BUILD) $(FLAGS_FOR_BUILD) -o ${STAGING_HOST_DIR}/bin/addpattern addpattern.c
diff --git a/target/tools/lzma-loader/.svn/entries b/target/tools/lzma-loader/.svn/entries
deleted file mode 100644
index 2934ab892..000000000
--- a/target/tools/lzma-loader/.svn/entries
+++ /dev/null
@@ -1,300 +0,0 @@
-10
-
-dir
-29646
-svn://svn.openwrt.org/openwrt/trunk/target/linux/brcm47xx/image/lzma-loader/src
-svn://svn.openwrt.org/openwrt
-
-
-
-2010-12-02T21:27:54.805904Z
-24217
-hauke
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-3c298f89-4303-0410-b956-a3cf2f4a3e73
-
-head.S
-file
-
-
-
-
-2011-11-10T10:12:04.000000Z
-566bfb5f462e85d45d1d0c4faca0dadd
-2010-06-26T20:41:49.877730Z
-21945
-nbd
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-3585
-
-decompress.c
-file
-
-
-
-
-2011-11-10T10:12:04.000000Z
-b9ae9d76bf7f1f35ce46b5e496a02aa1
-2010-12-02T21:27:54.805904Z
-24217
-hauke
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-5426
-
-LzmaDecode.c
-file
-
-
-
-
-2011-11-10T10:12:04.000000Z
-14403972ddbcfadbe017a6aeb3e8fae1
-2010-06-26T20:41:49.877730Z
-21945
-nbd
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-17104
-
-decompress.lds.in
-file
-
-
-
-
-2011-11-10T10:12:04.000000Z
-c80cc6ad34b26e0af3c1d764218a3a61
-2010-06-26T20:41:49.877730Z
-21945
-nbd
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-186
-
-loader.lds.in
-file
-
-
-
-
-2011-11-10T10:12:04.000000Z
-f06b23d31242fb56a60b864b741c1266
-2010-06-26T20:41:49.877730Z
-21945
-nbd
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-151
-
-LzmaDecode.h
-file
-
-
-
-
-2011-11-10T10:12:04.000000Z
-12fcb710de789e54587079c021ae5e33
-2010-06-26T20:41:49.877730Z
-21945
-nbd
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-2465
-
-Makefile
-file
-
-
-
-
-2011-11-10T10:12:04.000000Z
-61400e27cb7c0099046d83e2146e0053
-2010-06-26T20:41:49.877730Z
-21945
-nbd
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-2325
-
-README
-file
-
-
-
-
-2011-11-10T10:12:04.000000Z
-b29e81088cc18e92dede243f094c4134
-2010-06-26T20:41:49.877730Z
-21945
-nbd
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-2464
-
diff --git a/target/tools/lzma-loader/.svn/text-base/LzmaDecode.c.svn-base b/target/tools/lzma-loader/.svn/text-base/LzmaDecode.c.svn-base
deleted file mode 100644
index 951700bdd..000000000
--- a/target/tools/lzma-loader/.svn/text-base/LzmaDecode.c.svn-base
+++ /dev/null
@@ -1,663 +0,0 @@
-/*
- LzmaDecode.c
- LZMA Decoder
-
- LZMA SDK 4.05 Copyright (c) 1999-2004 Igor Pavlov (2004-08-25)
- http://www.7-zip.org/
-
- LZMA SDK is licensed under two licenses:
- 1) GNU Lesser General Public License (GNU LGPL)
- 2) Common Public License (CPL)
- It means that you can select one of these two licenses and
- follow rules of that license.
-
- SPECIAL EXCEPTION:
- Igor Pavlov, as the author of this code, expressly permits you to
- statically or dynamically link your code (or bind by name) to the
- interfaces of this file without subjecting your linked code to the
- terms of the CPL or GNU LGPL. Any modifications or additions
- to this file, however, are subject to the LGPL or CPL terms.
-*/
-
-#include "LzmaDecode.h"
-
-#ifndef Byte
-#define Byte unsigned char
-#endif
-
-#define kNumTopBits 24
-#define kTopValue ((UInt32)1 << kNumTopBits)
-
-#define kNumBitModelTotalBits 11
-#define kBitModelTotal (1 << kNumBitModelTotalBits)
-#define kNumMoveBits 5
-
-typedef struct _CRangeDecoder
-{
- Byte *Buffer;
- Byte *BufferLim;
- UInt32 Range;
- UInt32 Code;
- #ifdef _LZMA_IN_CB
- ILzmaInCallback *InCallback;
- int Result;
- #endif
- int ExtraBytes;
-} CRangeDecoder;
-
-Byte RangeDecoderReadByte(CRangeDecoder *rd)
-{
- if (rd->Buffer == rd->BufferLim)
- {
- #ifdef _LZMA_IN_CB
- UInt32 size;
- rd->Result = rd->InCallback->Read(rd->InCallback, &rd->Buffer, &size);
- rd->BufferLim = rd->Buffer + size;
- if (size == 0)
- #endif
- {
- rd->ExtraBytes = 1;
- return 0xFF;
- }
- }
- return (*rd->Buffer++);
-}
-
-/* #define ReadByte (*rd->Buffer++) */
-#define ReadByte (RangeDecoderReadByte(rd))
-
-void RangeDecoderInit(CRangeDecoder *rd,
- #ifdef _LZMA_IN_CB
- ILzmaInCallback *inCallback
- #else
- Byte *stream, UInt32 bufferSize
- #endif
- )
-{
- int i;
- #ifdef _LZMA_IN_CB
- rd->InCallback = inCallback;
- rd->Buffer = rd->BufferLim = 0;
- #else
- rd->Buffer = stream;
- rd->BufferLim = stream + bufferSize;
- #endif
- rd->ExtraBytes = 0;
- rd->Code = 0;
- rd->Range = (0xFFFFFFFF);
- for(i = 0; i < 5; i++)
- rd->Code = (rd->Code << 8) | ReadByte;
-}
-
-#define RC_INIT_VAR UInt32 range = rd->Range; UInt32 code = rd->Code;
-#define RC_FLUSH_VAR rd->Range = range; rd->Code = code;
-#define RC_NORMALIZE if (range < kTopValue) { range <<= 8; code = (code << 8) | ReadByte; }
-
-UInt32 RangeDecoderDecodeDirectBits(CRangeDecoder *rd, int numTotalBits)
-{
- RC_INIT_VAR
- UInt32 result = 0;
- int i;
- for (i = numTotalBits; i > 0; i--)
- {
- /* UInt32 t; */
- range >>= 1;
-
- result <<= 1;
- if (code >= range)
- {
- code -= range;
- result |= 1;
- }
- /*
- t = (code - range) >> 31;
- t &= 1;
- code -= range & (t - 1);
- result = (result + result) | (1 - t);
- */
- RC_NORMALIZE
- }
- RC_FLUSH_VAR
- return result;
-}
-
-int RangeDecoderBitDecode(CProb *prob, CRangeDecoder *rd)
-{
- UInt32 bound = (rd->Range >> kNumBitModelTotalBits) * *prob;
- if (rd->Code < bound)
- {
- rd->Range = bound;
- *prob += (kBitModelTotal - *prob) >> kNumMoveBits;
- if (rd->Range < kTopValue)
- {
- rd->Code = (rd->Code << 8) | ReadByte;
- rd->Range <<= 8;
- }
- return 0;
- }
- else
- {
- rd->Range -= bound;
- rd->Code -= bound;
- *prob -= (*prob) >> kNumMoveBits;
- if (rd->Range < kTopValue)
- {
- rd->Code = (rd->Code << 8) | ReadByte;
- rd->Range <<= 8;
- }
- return 1;
- }
-}
-
-#define RC_GET_BIT2(prob, mi, A0, A1) \
- UInt32 bound = (range >> kNumBitModelTotalBits) * *prob; \
- if (code < bound) \
- { A0; range = bound; *prob += (kBitModelTotal - *prob) >> kNumMoveBits; mi <<= 1; } \
- else \
- { A1; range -= bound; code -= bound; *prob -= (*prob) >> kNumMoveBits; mi = (mi + mi) + 1; } \
- RC_NORMALIZE
-
-#define RC_GET_BIT(prob, mi) RC_GET_BIT2(prob, mi, ; , ;)
-
-int RangeDecoderBitTreeDecode(CProb *probs, int numLevels, CRangeDecoder *rd)
-{
- int mi = 1;
- int i;
- #ifdef _LZMA_LOC_OPT
- RC_INIT_VAR
- #endif
- for(i = numLevels; i > 0; i--)
- {
- #ifdef _LZMA_LOC_OPT
- CProb *prob = probs + mi;
- RC_GET_BIT(prob, mi)
- #else
- mi = (mi + mi) + RangeDecoderBitDecode(probs + mi, rd);
- #endif
- }
- #ifdef _LZMA_LOC_OPT
- RC_FLUSH_VAR
- #endif
- return mi - (1 << numLevels);
-}
-
-int RangeDecoderReverseBitTreeDecode(CProb *probs, int numLevels, CRangeDecoder *rd)
-{
- int mi = 1;
- int i;
- int symbol = 0;
- #ifdef _LZMA_LOC_OPT
- RC_INIT_VAR
- #endif
- for(i = 0; i < numLevels; i++)
- {
- #ifdef _LZMA_LOC_OPT
- CProb *prob = probs + mi;
- RC_GET_BIT2(prob, mi, ; , symbol |= (1 << i))
- #else
- int bit = RangeDecoderBitDecode(probs + mi, rd);
- mi = mi + mi + bit;
- symbol |= (bit << i);
- #endif
- }
- #ifdef _LZMA_LOC_OPT
- RC_FLUSH_VAR
- #endif
- return symbol;
-}
-
-Byte LzmaLiteralDecode(CProb *probs, CRangeDecoder *rd)
-{
- int symbol = 1;
- #ifdef _LZMA_LOC_OPT
- RC_INIT_VAR
- #endif
- do
- {
- #ifdef _LZMA_LOC_OPT
- CProb *prob = probs + symbol;
- RC_GET_BIT(prob, symbol)
- #else
- symbol = (symbol + symbol) | RangeDecoderBitDecode(probs + symbol, rd);
- #endif
- }
- while (symbol < 0x100);
- #ifdef _LZMA_LOC_OPT
- RC_FLUSH_VAR
- #endif
- return symbol;
-}
-
-Byte LzmaLiteralDecodeMatch(CProb *probs, CRangeDecoder *rd, Byte matchByte)
-{
- int symbol = 1;
- #ifdef _LZMA_LOC_OPT
- RC_INIT_VAR
- #endif
- do
- {
- int bit;
- int matchBit = (matchByte >> 7) & 1;
- matchByte <<= 1;
- #ifdef _LZMA_LOC_OPT
- {
- CProb *prob = probs + ((1 + matchBit) << 8) + symbol;
- RC_GET_BIT2(prob, symbol, bit = 0, bit = 1)
- }
- #else
- bit = RangeDecoderBitDecode(probs + ((1 + matchBit) << 8) + symbol, rd);
- symbol = (symbol << 1) | bit;
- #endif
- if (matchBit != bit)
- {
- while (symbol < 0x100)
- {
- #ifdef _LZMA_LOC_OPT
- CProb *prob = probs + symbol;
- RC_GET_BIT(prob, symbol)
- #else
- symbol = (symbol + symbol) | RangeDecoderBitDecode(probs + symbol, rd);
- #endif
- }
- break;
- }
- }
- while (symbol < 0x100);
- #ifdef _LZMA_LOC_OPT
- RC_FLUSH_VAR
- #endif
- return symbol;
-}
-
-#define kNumPosBitsMax 4
-#define kNumPosStatesMax (1 << kNumPosBitsMax)
-
-#define kLenNumLowBits 3
-#define kLenNumLowSymbols (1 << kLenNumLowBits)
-#define kLenNumMidBits 3
-#define kLenNumMidSymbols (1 << kLenNumMidBits)
-#define kLenNumHighBits 8
-#define kLenNumHighSymbols (1 << kLenNumHighBits)
-
-#define LenChoice 0
-#define LenChoice2 (LenChoice + 1)
-#define LenLow (LenChoice2 + 1)
-#define LenMid (LenLow + (kNumPosStatesMax << kLenNumLowBits))
-#define LenHigh (LenMid + (kNumPosStatesMax << kLenNumMidBits))
-#define kNumLenProbs (LenHigh + kLenNumHighSymbols)
-
-int LzmaLenDecode(CProb *p, CRangeDecoder *rd, int posState)
-{
- if(RangeDecoderBitDecode(p + LenChoice, rd) == 0)
- return RangeDecoderBitTreeDecode(p + LenLow +
- (posState << kLenNumLowBits), kLenNumLowBits, rd);
- if(RangeDecoderBitDecode(p + LenChoice2, rd) == 0)
- return kLenNumLowSymbols + RangeDecoderBitTreeDecode(p + LenMid +
- (posState << kLenNumMidBits), kLenNumMidBits, rd);
- return kLenNumLowSymbols + kLenNumMidSymbols +
- RangeDecoderBitTreeDecode(p + LenHigh, kLenNumHighBits, rd);
-}
-
-#define kNumStates 12
-
-#define kStartPosModelIndex 4
-#define kEndPosModelIndex 14
-#define kNumFullDistances (1 << (kEndPosModelIndex >> 1))
-
-#define kNumPosSlotBits 6
-#define kNumLenToPosStates 4
-
-#define kNumAlignBits 4
-#define kAlignTableSize (1 << kNumAlignBits)
-
-#define kMatchMinLen 2
-
-#define IsMatch 0
-#define IsRep (IsMatch + (kNumStates << kNumPosBitsMax))
-#define IsRepG0 (IsRep + kNumStates)
-#define IsRepG1 (IsRepG0 + kNumStates)
-#define IsRepG2 (IsRepG1 + kNumStates)
-#define IsRep0Long (IsRepG2 + kNumStates)
-#define PosSlot (IsRep0Long + (kNumStates << kNumPosBitsMax))
-#define SpecPos (PosSlot + (kNumLenToPosStates << kNumPosSlotBits))
-#define Align (SpecPos + kNumFullDistances - kEndPosModelIndex)
-#define LenCoder (Align + kAlignTableSize)
-#define RepLenCoder (LenCoder + kNumLenProbs)
-#define Literal (RepLenCoder + kNumLenProbs)
-
-#if Literal != LZMA_BASE_SIZE
-StopCompilingDueBUG
-#endif
-
-#ifdef _LZMA_OUT_READ
-
-typedef struct _LzmaVarState
-{
- CRangeDecoder RangeDecoder;
- Byte *Dictionary;
- UInt32 DictionarySize;
- UInt32 DictionaryPos;
- UInt32 GlobalPos;
- UInt32 Reps[4];
- int lc;
- int lp;
- int pb;
- int State;
- int PreviousIsMatch;
- int RemainLen;
-} LzmaVarState;
-
-int LzmaDecoderInit(
- unsigned char *buffer, UInt32 bufferSize,
- int lc, int lp, int pb,
- unsigned char *dictionary, UInt32 dictionarySize,
- #ifdef _LZMA_IN_CB
- ILzmaInCallback *inCallback
- #else
- unsigned char *inStream, UInt32 inSize
- #endif
- )
-{
- LzmaVarState *vs = (LzmaVarState *)buffer;
- CProb *p = (CProb *)(buffer + sizeof(LzmaVarState));
- UInt32 numProbs = Literal + ((UInt32)LZMA_LIT_SIZE << (lc + lp));
- UInt32 i;
- if (bufferSize < numProbs * sizeof(CProb) + sizeof(LzmaVarState))
- return LZMA_RESULT_NOT_ENOUGH_MEM;
- vs->Dictionary = dictionary;
- vs->DictionarySize = dictionarySize;
- vs->DictionaryPos = 0;
- vs->GlobalPos = 0;
- vs->Reps[0] = vs->Reps[1] = vs->Reps[2] = vs->Reps[3] = 1;
- vs->lc = lc;
- vs->lp = lp;
- vs->pb = pb;
- vs->State = 0;
- vs->PreviousIsMatch = 0;
- vs->RemainLen = 0;
- dictionary[dictionarySize - 1] = 0;
- for (i = 0; i < numProbs; i++)
- p[i] = kBitModelTotal >> 1;
- RangeDecoderInit(&vs->RangeDecoder,
- #ifdef _LZMA_IN_CB
- inCallback
- #else
- inStream, inSize
- #endif
- );
- return LZMA_RESULT_OK;
-}
-
-int LzmaDecode(unsigned char *buffer,
- unsigned char *outStream, UInt32 outSize,
- UInt32 *outSizeProcessed)
-{
- LzmaVarState *vs = (LzmaVarState *)buffer;
- CProb *p = (CProb *)(buffer + sizeof(LzmaVarState));
- CRangeDecoder rd = vs->RangeDecoder;
- int state = vs->State;
- int previousIsMatch = vs->PreviousIsMatch;
- Byte previousByte;
- UInt32 rep0 = vs->Reps[0], rep1 = vs->Reps[1], rep2 = vs->Reps[2], rep3 = vs->Reps[3];
- UInt32 nowPos = 0;
- UInt32 posStateMask = (1 << (vs->pb)) - 1;
- UInt32 literalPosMask = (1 << (vs->lp)) - 1;
- int lc = vs->lc;
- int len = vs->RemainLen;
- UInt32 globalPos = vs->GlobalPos;
-
- Byte *dictionary = vs->Dictionary;
- UInt32 dictionarySize = vs->DictionarySize;
- UInt32 dictionaryPos = vs->DictionaryPos;
-
- if (len == -1)
- {
- *outSizeProcessed = 0;
- return LZMA_RESULT_OK;
- }
-
- while(len > 0 && nowPos < outSize)
- {
- UInt32 pos = dictionaryPos - rep0;
- if (pos >= dictionarySize)
- pos += dictionarySize;
- outStream[nowPos++] = dictionary[dictionaryPos] = dictionary[pos];
- if (++dictionaryPos == dictionarySize)
- dictionaryPos = 0;
- len--;
- }
- if (dictionaryPos == 0)
- previousByte = dictionary[dictionarySize - 1];
- else
- previousByte = dictionary[dictionaryPos - 1];
-#else
-
-int LzmaDecode(
- Byte *buffer, UInt32 bufferSize,
- int lc, int lp, int pb,
- #ifdef _LZMA_IN_CB
- ILzmaInCallback *inCallback,
- #else
- unsigned char *inStream, UInt32 inSize,
- #endif
- unsigned char *outStream, UInt32 outSize,
- UInt32 *outSizeProcessed)
-{
- UInt32 numProbs = Literal + ((UInt32)LZMA_LIT_SIZE << (lc + lp));
- CProb *p = (CProb *)buffer;
- CRangeDecoder rd;
- UInt32 i;
- int state = 0;
- int previousIsMatch = 0;
- Byte previousByte = 0;
- UInt32 rep0 = 1, rep1 = 1, rep2 = 1, rep3 = 1;
- UInt32 nowPos = 0;
- UInt32 posStateMask = (1 << pb) - 1;
- UInt32 literalPosMask = (1 << lp) - 1;
- int len = 0;
- if (bufferSize < numProbs * sizeof(CProb))
- return LZMA_RESULT_NOT_ENOUGH_MEM;
- for (i = 0; i < numProbs; i++)
- p[i] = kBitModelTotal >> 1;
- RangeDecoderInit(&rd,
- #ifdef _LZMA_IN_CB
- inCallback
- #else
- inStream, inSize
- #endif
- );
-#endif
-
- *outSizeProcessed = 0;
- while(nowPos < outSize)
- {
- int posState = (int)(
- (nowPos
- #ifdef _LZMA_OUT_READ
- + globalPos
- #endif
- )
- & posStateMask);
- #ifdef _LZMA_IN_CB
- if (rd.Result != LZMA_RESULT_OK)
- return rd.Result;
- #endif
- if (rd.ExtraBytes != 0)
- return LZMA_RESULT_DATA_ERROR;
- if (RangeDecoderBitDecode(p + IsMatch + (state << kNumPosBitsMax) + posState, &rd) == 0)
- {
- CProb *probs = p + Literal + (LZMA_LIT_SIZE *
- (((
- (nowPos
- #ifdef _LZMA_OUT_READ
- + globalPos
- #endif
- )
- & literalPosMask) << lc) + (previousByte >> (8 - lc))));
-
- if (state < 4) state = 0;
- else if (state < 10) state -= 3;
- else state -= 6;
- if (previousIsMatch)
- {
- Byte matchByte;
- #ifdef _LZMA_OUT_READ
- UInt32 pos = dictionaryPos - rep0;
- if (pos >= dictionarySize)
- pos += dictionarySize;
- matchByte = dictionary[pos];
- #else
- matchByte = outStream[nowPos - rep0];
- #endif
- previousByte = LzmaLiteralDecodeMatch(probs, &rd, matchByte);
- previousIsMatch = 0;
- }
- else
- previousByte = LzmaLiteralDecode(probs, &rd);
- outStream[nowPos++] = previousByte;
- #ifdef _LZMA_OUT_READ
- dictionary[dictionaryPos] = previousByte;
- if (++dictionaryPos == dictionarySize)
- dictionaryPos = 0;
- #endif
- }
- else
- {
- previousIsMatch = 1;
- if (RangeDecoderBitDecode(p + IsRep + state, &rd) == 1)
- {
- if (RangeDecoderBitDecode(p + IsRepG0 + state, &rd) == 0)
- {
- if (RangeDecoderBitDecode(p + IsRep0Long + (state << kNumPosBitsMax) + posState, &rd) == 0)
- {
- #ifdef _LZMA_OUT_READ
- UInt32 pos;
- #endif
- if (
- (nowPos
- #ifdef _LZMA_OUT_READ
- + globalPos
- #endif
- )
- == 0)
- return LZMA_RESULT_DATA_ERROR;
- state = state < 7 ? 9 : 11;
- #ifdef _LZMA_OUT_READ
- pos = dictionaryPos - rep0;
- if (pos >= dictionarySize)
- pos += dictionarySize;
- previousByte = dictionary[pos];
- dictionary[dictionaryPos] = previousByte;
- if (++dictionaryPos == dictionarySize)
- dictionaryPos = 0;
- #else
- previousByte = outStream[nowPos - rep0];
- #endif
- outStream[nowPos++] = previousByte;
- continue;
- }
- }
- else
- {
- UInt32 distance;
- if(RangeDecoderBitDecode(p + IsRepG1 + state, &rd) == 0)
- distance = rep1;
- else
- {
- if(RangeDecoderBitDecode(p + IsRepG2 + state, &rd) == 0)
- distance = rep2;
- else
- {
- distance = rep3;
- rep3 = rep2;
- }
- rep2 = rep1;
- }
- rep1 = rep0;
- rep0 = distance;
- }
- len = LzmaLenDecode(p + RepLenCoder, &rd, posState);
- state = state < 7 ? 8 : 11;
- }
- else
- {
- int posSlot;
- rep3 = rep2;
- rep2 = rep1;
- rep1 = rep0;
- state = state < 7 ? 7 : 10;
- len = LzmaLenDecode(p + LenCoder, &rd, posState);
- posSlot = RangeDecoderBitTreeDecode(p + PosSlot +
- ((len < kNumLenToPosStates ? len : kNumLenToPosStates - 1) <<
- kNumPosSlotBits), kNumPosSlotBits, &rd);
- if (posSlot >= kStartPosModelIndex)
- {
- int numDirectBits = ((posSlot >> 1) - 1);
- rep0 = ((2 | ((UInt32)posSlot & 1)) << numDirectBits);
- if (posSlot < kEndPosModelIndex)
- {
- rep0 += RangeDecoderReverseBitTreeDecode(
- p + SpecPos + rep0 - posSlot - 1, numDirectBits, &rd);
- }
- else
- {
- rep0 += RangeDecoderDecodeDirectBits(&rd,
- numDirectBits - kNumAlignBits) << kNumAlignBits;
- rep0 += RangeDecoderReverseBitTreeDecode(p + Align, kNumAlignBits, &rd);
- }
- }
- else
- rep0 = posSlot;
- rep0++;
- }
- if (rep0 == (UInt32)(0))
- {
- /* it's for stream version */
- len = -1;
- break;
- }
- if (rep0 > nowPos
- #ifdef _LZMA_OUT_READ
- + globalPos
- #endif
- )
- {
- return LZMA_RESULT_DATA_ERROR;
- }
- len += kMatchMinLen;
- do
- {
- #ifdef _LZMA_OUT_READ
- UInt32 pos = dictionaryPos - rep0;
- if (pos >= dictionarySize)
- pos += dictionarySize;
- previousByte = dictionary[pos];
- dictionary[dictionaryPos] = previousByte;
- if (++dictionaryPos == dictionarySize)
- dictionaryPos = 0;
- #else
- previousByte = outStream[nowPos - rep0];
- #endif
- outStream[nowPos++] = previousByte;
- len--;
- }
- while(len > 0 && nowPos < outSize);
- }
- }
-
- #ifdef _LZMA_OUT_READ
- vs->RangeDecoder = rd;
- vs->DictionaryPos = dictionaryPos;
- vs->GlobalPos = globalPos + nowPos;
- vs->Reps[0] = rep0;
- vs->Reps[1] = rep1;
- vs->Reps[2] = rep2;
- vs->Reps[3] = rep3;
- vs->State = state;
- vs->PreviousIsMatch = previousIsMatch;
- vs->RemainLen = len;
- #endif
-
- *outSizeProcessed = nowPos;
- return LZMA_RESULT_OK;
-}
diff --git a/target/tools/lzma-loader/.svn/text-base/LzmaDecode.h.svn-base b/target/tools/lzma-loader/.svn/text-base/LzmaDecode.h.svn-base
deleted file mode 100644
index f58944e3c..000000000
--- a/target/tools/lzma-loader/.svn/text-base/LzmaDecode.h.svn-base
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- LzmaDecode.h
- LZMA Decoder interface
-
- LZMA SDK 4.05 Copyright (c) 1999-2004 Igor Pavlov (2004-08-25)
- http://www.7-zip.org/
-
- LZMA SDK is licensed under two licenses:
- 1) GNU Lesser General Public License (GNU LGPL)
- 2) Common Public License (CPL)
- It means that you can select one of these two licenses and
- follow rules of that license.
-
- SPECIAL EXCEPTION:
- Igor Pavlov, as the author of this code, expressly permits you to
- statically or dynamically link your code (or bind by name) to the
- interfaces of this file without subjecting your linked code to the
- terms of the CPL or GNU LGPL. Any modifications or additions
- to this file, however, are subject to the LGPL or CPL terms.
-*/
-
-#ifndef __LZMADECODE_H
-#define __LZMADECODE_H
-
-/* #define _LZMA_IN_CB */
-/* Use callback for input data */
-
-/* #define _LZMA_OUT_READ */
-/* Use read function for output data */
-
-/* #define _LZMA_PROB32 */
-/* It can increase speed on some 32-bit CPUs,
- but memory usage will be doubled in that case */
-
-/* #define _LZMA_LOC_OPT */
-/* Enable local speed optimizations inside code */
-
-#ifndef UInt32
-#ifdef _LZMA_UINT32_IS_ULONG
-#define UInt32 unsigned long
-#else
-#define UInt32 unsigned int
-#endif
-#endif
-
-#ifdef _LZMA_PROB32
-#define CProb UInt32
-#else
-#define CProb unsigned short
-#endif
-
-#define LZMA_RESULT_OK 0
-#define LZMA_RESULT_DATA_ERROR 1
-#define LZMA_RESULT_NOT_ENOUGH_MEM 2
-
-#ifdef _LZMA_IN_CB
-typedef struct _ILzmaInCallback
-{
- int (*Read)(void *object, unsigned char **buffer, UInt32 *bufferSize);
-} ILzmaInCallback;
-#endif
-
-#define LZMA_BASE_SIZE 1846
-#define LZMA_LIT_SIZE 768
-
-/*
-bufferSize = (LZMA_BASE_SIZE + (LZMA_LIT_SIZE << (lc + lp)))* sizeof(CProb)
-bufferSize += 100 in case of _LZMA_OUT_READ
-by default CProb is unsigned short,
-but if specify _LZMA_PROB_32, CProb will be UInt32(unsigned int)
-*/
-
-#ifdef _LZMA_OUT_READ
-int LzmaDecoderInit(
- unsigned char *buffer, UInt32 bufferSize,
- int lc, int lp, int pb,
- unsigned char *dictionary, UInt32 dictionarySize,
- #ifdef _LZMA_IN_CB
- ILzmaInCallback *inCallback
- #else
- unsigned char *inStream, UInt32 inSize
- #endif
-);
-#endif
-
-int LzmaDecode(
- unsigned char *buffer,
- #ifndef _LZMA_OUT_READ
- UInt32 bufferSize,
- int lc, int lp, int pb,
- #ifdef _LZMA_IN_CB
- ILzmaInCallback *inCallback,
- #else
- unsigned char *inStream, UInt32 inSize,
- #endif
- #endif
- unsigned char *outStream, UInt32 outSize,
- UInt32 *outSizeProcessed);
-
-#endif
diff --git a/target/tools/lzma-loader/.svn/text-base/Makefile.svn-base b/target/tools/lzma-loader/.svn/text-base/Makefile.svn-base
deleted file mode 100644
index 3320e565d..000000000
--- a/target/tools/lzma-loader/.svn/text-base/Makefile.svn-base
+++ /dev/null
@@ -1,77 +0,0 @@
-#
-# Makefile for Broadcom BCM947XX boards
-#
-# Copyright 2001-2003, Broadcom Corporation
-# All Rights Reserved.
-#
-# THIS SOFTWARE IS OFFERED "AS IS", AND BROADCOM GRANTS NO WARRANTIES OF ANY
-# KIND, EXPRESS OR IMPLIED, BY STATUTE, COMMUNICATION OR OTHERWISE. BROADCOM
-# SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
-# FOR A SPECIFIC PURPOSE OR NONINFRINGEMENT CONCERNING THIS SOFTWARE.
-#
-# Copyright 2004 Manuel Novoa III <mjn3@codepoet.org>
-# Modified to support bzip'd kernels.
-# Of course, it would be better to integrate bunzip capability into CFE.
-#
-# Copyright 2005 Oleg I. Vdovikin <oleg@cs.msu.su>
-# Cleaned up, modified for lzma support, removed from kernel
-#
-
-TEXT_START := 0x80001000
-BZ_TEXT_START := 0x80400000
-
-OBJCOPY := $(CROSS_COMPILE)objcopy -O binary -R .reginfo -R .note -R .comment -R .mdebug -S
-
-CFLAGS = -D__KERNEL__ -Wall -Wstrict-prototypes -Wno-trigraphs -Os \
- -fno-strict-aliasing -fno-common -fomit-frame-pointer -G 0 -mno-abicalls -fno-pic \
- -ffunction-sections -pipe -mlong-calls -fno-common \
- -mabi=32 -march=mips32 -Wa,-32 -Wa,-march=mips32 -Wa,-mips32 -Wa,--trap
-CFLAGS += -DLOADADDR=$(TEXT_START) -D_LZMA_IN_CB
-
-ASFLAGS = $(CFLAGS) -D__ASSEMBLY__ -DBZ_TEXT_START=$(BZ_TEXT_START)
-
-SEDFLAGS := s/BZ_TEXT_START/$(BZ_TEXT_START)/;s/TEXT_START/$(TEXT_START)/
-
-OBJECTS := head.o data.o
-
-all: loader.gz loader.elf
-
-# Don't build dependencies, this may die if $(CC) isn't gcc
-dep:
-
-install:
-
-loader.gz: loader
- gzip -nc9 $< > $@
-
-loader.elf: loader.o
- cp $< $@
-
-loader: loader.o
- $(OBJCOPY) $< $@
-
-loader.o: loader.lds $(OBJECTS)
- $(LD) -static --gc-sections -no-warn-mismatch -T loader.lds -o $@ $(OBJECTS)
-
-loader.lds: loader.lds.in Makefile
- @sed "$(SEDFLAGS)" < $< > $@
-
-data.o: data.lds decompress.image
- $(LD) -no-warn-mismatch -T data.lds -r -o $@ -b binary decompress.image -b elf32-tradlittlemips
-
-data.lds:
- @echo "SECTIONS { .data : { code_start = .; *(.data) code_stop = .; }}" > $@
-
-decompress.image: decompress
- $(OBJCOPY) $< $@
-
-decompress: decompress.lds decompress.o LzmaDecode.o
- $(LD) -static --gc-sections -no-warn-mismatch -T decompress.lds -o $@ decompress.o LzmaDecode.o
-
-decompress.lds: decompress.lds.in Makefile
- @sed "$(SEDFLAGS)" < $< > $@
-
-mrproper: clean
-
-clean:
- rm -f loader.gz loader decompress *.lds *.o *.image
diff --git a/target/tools/lzma-loader/.svn/text-base/README.svn-base b/target/tools/lzma-loader/.svn/text-base/README.svn-base
deleted file mode 100644
index 16649e950..000000000
--- a/target/tools/lzma-loader/.svn/text-base/README.svn-base
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * LZMA compressed kernel decompressor for bcm947xx boards
- *
- * Copyright (C) 2005 by Oleg I. Vdovikin <oleg@cs.msu.su>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-The code is intended to decompress kernel, being compressed using lzma utility
-build using 7zip LZMA SDK. This utility is located in the LZMA_Alone directory
-
-decompressor code expects that your .trx file consist of three partitions:
-
-1) decompressor itself (this is gziped code which pmon/cfe will extract and run
-on boot-up instead of real kernel)
-2) LZMA compressed kernel (both streamed and regular modes are supported now)
-3) Root filesystem
-
-Please be sure to apply the following patch for use this new trx layout (it will
-allow using both new and old trx files for root filesystem lookup code)
-
---- linuz/arch/mips/brcm-boards/bcm947xx/setup.c 2005-01-23 19:24:27.503322896 +0300
-+++ linux/arch/mips/brcm-boards/bcm947xx/setup.c 2005-01-23 19:29:05.237100944 +0300
-@@ -221,7 +221,9 @@
- /* Try looking at TRX header for rootfs offset */
- if (le32_to_cpu(trx->magic) == TRX_MAGIC) {
- bcm947xx_parts[1].offset = off;
-- if (le32_to_cpu(trx->offsets[1]) > off)
-+ if (le32_to_cpu(trx->offsets[2]) > off)
-+ off = le32_to_cpu(trx->offsets[2]);
-+ else if (le32_to_cpu(trx->offsets[1]) > off)
- off = le32_to_cpu(trx->offsets[1]);
- continue;
- }
-
-
-Revision history:
- 0.02 Initial release
- 0.03 Added Mineharu Takahara <mtakahar@yahoo.com> patch to pass actual
- output size to decoder (stream mode compressed input is not
- a requirement anymore)
- 0.04 Reordered functions using lds script
diff --git a/target/tools/lzma-loader/.svn/text-base/decompress.c.svn-base b/target/tools/lzma-loader/.svn/text-base/decompress.c.svn-base
deleted file mode 100644
index 05681b152..000000000
--- a/target/tools/lzma-loader/.svn/text-base/decompress.c.svn-base
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
- * LZMA compressed kernel decompressor for bcm947xx boards
- *
- * Copyright (C) 2005 by Oleg I. Vdovikin <oleg@cs.msu.su>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- *
- * Please note, this was code based on the bunzip2 decompressor code
- * by Manuel Novoa III (mjn3@codepoet.org), although the only thing left
- * is an idea and part of original vendor code
- *
- *
- * 12-Mar-2005 Mineharu Takahara <mtakahar@yahoo.com>
- * pass actual output size to decoder (stream mode
- * compressed input is not a requirement anymore)
- *
- * 24-Apr-2005 Oleg I. Vdovikin
- * reordered functions using lds script, removed forward decl
- *
- */
-
-#include "LzmaDecode.h"
-
-#define BCM4710_FLASH 0x1fc00000 /* Flash */
-
-#define KSEG0 0x80000000
-#define KSEG1 0xa0000000
-
-#define KSEG1ADDR(a) ((((unsigned)(a)) & 0x1fffffffU) | KSEG1)
-
-#define Index_Invalidate_I 0x00
-#define Index_Writeback_Inv_D 0x01
-
-#define cache_unroll(base,op) \
- __asm__ __volatile__( \
- ".set noreorder;\n" \
- ".set mips3;\n" \
- "cache %1, (%0);\n" \
- ".set mips0;\n" \
- ".set reorder\n" \
- : \
- : "r" (base), \
- "i" (op));
-
-static __inline__ void blast_icache(unsigned long size, unsigned long lsize)
-{
- unsigned long start = KSEG0;
- unsigned long end = (start + size);
-
- while(start < end) {
- cache_unroll(start,Index_Invalidate_I);
- start += lsize;
- }
-}
-
-static __inline__ void blast_dcache(unsigned long size, unsigned long lsize)
-{
- unsigned long start = KSEG0;
- unsigned long end = (start + size);
-
- while(start < end) {
- cache_unroll(start,Index_Writeback_Inv_D);
- start += lsize;
- }
-}
-
-#define TRX_MAGIC 0x30524448 /* "HDR0" */
-
-struct trx_header {
- unsigned int magic; /* "HDR0" */
- unsigned int len; /* Length of file including header */
- unsigned int crc32; /* 32-bit CRC from flag_version to end of file */
- unsigned int flag_version; /* 0:15 flags, 16:31 version */
- unsigned int offsets[3]; /* Offsets of partitions from start of header */
-};
-
-#define EDIMAX_PS_HEADER_MAGIC 0x36315350 /* "PS16" */
-#define EDIMAX_PS_HEADER_LEN 0xc /* 12 bytes long for edimax header */
-
-/* beyound the image end, size not known in advance */
-extern unsigned char workspace[];
-
-unsigned int offset;
-unsigned char *data;
-
-/* flash access should be aligned, so wrapper is used */
-/* read byte from the flash, all accesses are 32-bit aligned */
-static int read_byte(void *object, unsigned char **buffer, UInt32 *bufferSize)
-{
- static unsigned int val;
-
- if (((unsigned int)offset % 4) == 0) {
- val = *(unsigned int *)data;
- data += 4;
- }
-
- *bufferSize = 1;
- *buffer = ((unsigned char *)&val) + (offset++ & 3);
-
- return LZMA_RESULT_OK;
-}
-
-static __inline__ unsigned char get_byte(void)
-{
- unsigned char *buffer;
- UInt32 fake;
-
- return read_byte(0, &buffer, &fake), *buffer;
-}
-
-/* should be the first function */
-void entry(unsigned long icache_size, unsigned long icache_lsize,
- unsigned long dcache_size, unsigned long dcache_lsize,
- unsigned long fw_arg0, unsigned long fw_arg1,
- unsigned long fw_arg2, unsigned long fw_arg3)
-{
- unsigned int i; /* temp value */
- unsigned int lc; /* literal context bits */
- unsigned int lp; /* literal pos state bits */
- unsigned int pb; /* pos state bits */
- unsigned int osize; /* uncompressed size */
-
- ILzmaInCallback callback;
- callback.Read = read_byte;
-
- /* look for trx header, 32-bit data access */
- for (data = ((unsigned char *) KSEG1ADDR(BCM4710_FLASH));
- ((struct trx_header *)data)->magic != TRX_MAGIC &&
- ((struct trx_header *)data)->magic != EDIMAX_PS_HEADER_MAGIC;
- data += 65536);
-
- if (((struct trx_header *)data)->magic == EDIMAX_PS_HEADER_MAGIC)
- data += EDIMAX_PS_HEADER_LEN;
- /* compressed kernel is in the partition 0 or 1 */
- if (((struct trx_header *)data)->offsets[1] > 65536)
- data += ((struct trx_header *)data)->offsets[0];
- else
- data += ((struct trx_header *)data)->offsets[1];
-
- offset = 0;
-
- /* lzma args */
- i = get_byte();
- lc = i % 9, i = i / 9;
- lp = i % 5, pb = i / 5;
-
- /* skip rest of the LZMA coder property */
- for (i = 0; i < 4; i++)
- get_byte();
-
- /* read the lower half of uncompressed size in the header */
- osize = ((unsigned int)get_byte()) +
- ((unsigned int)get_byte() << 8) +
- ((unsigned int)get_byte() << 16) +
- ((unsigned int)get_byte() << 24);
-
- /* skip rest of the header (upper half of uncompressed size) */
- for (i = 0; i < 4; i++)
- get_byte();
-
- /* decompress kernel */
- if (LzmaDecode(workspace, ~0, lc, lp, pb, &callback,
- (unsigned char*)LOADADDR, osize, &i) == LZMA_RESULT_OK)
- {
- blast_dcache(dcache_size, dcache_lsize);
- blast_icache(icache_size, icache_lsize);
-
- /* Jump to load address */
- ((void (*)(unsigned long, unsigned long, unsigned long,
- unsigned long)) LOADADDR)(fw_arg0, fw_arg1, fw_arg2,
- fw_arg3);
- }
-}
diff --git a/target/tools/lzma-loader/.svn/text-base/decompress.lds.in.svn-base b/target/tools/lzma-loader/.svn/text-base/decompress.lds.in.svn-base
deleted file mode 100644
index 33f56f8a0..000000000
--- a/target/tools/lzma-loader/.svn/text-base/decompress.lds.in.svn-base
+++ /dev/null
@@ -1,20 +0,0 @@
-OUTPUT_ARCH(mips)
-ENTRY(entry)
-SECTIONS {
- . = BZ_TEXT_START;
- .text : {
- *(.text.entry)
- *(.text)
- *(.rodata)
- }
-
- .data : {
- *(.data)
- }
-
- .bss : {
- *(.bss)
- }
-
- workspace = .;
-}
diff --git a/target/tools/lzma-loader/.svn/text-base/head.S.svn-base b/target/tools/lzma-loader/.svn/text-base/head.S.svn-base
deleted file mode 100644
index 3a33e4016..000000000
--- a/target/tools/lzma-loader/.svn/text-base/head.S.svn-base
+++ /dev/null
@@ -1,160 +0,0 @@
-/* Copyright 2005 Oleg I. Vdovikin (oleg@cs.msu.su) */
-/* cache manipulation adapted from Broadcom code */
-/* idea taken from original bunzip2 decompressor code */
-/* Copyright 2004 Manuel Novoa III (mjn3@codepoet.org) */
-/* Licensed under the linux kernel's version of the GPL.*/
-
-#include <asm/asm.h>
-#include <asm/regdef.h>
-
-#define KSEG0 0x80000000
-
-#define C0_CONFIG $16
-#define C0_TAGLO $28
-#define C0_TAGHI $29
-
-#define CONF1_DA_SHIFT 7 /* D$ associativity */
-#define CONF1_DA_MASK 0x00000380
-#define CONF1_DA_BASE 1
-#define CONF1_DL_SHIFT 10 /* D$ line size */
-#define CONF1_DL_MASK 0x00001c00
-#define CONF1_DL_BASE 2
-#define CONF1_DS_SHIFT 13 /* D$ sets/way */
-#define CONF1_DS_MASK 0x0000e000
-#define CONF1_DS_BASE 64
-#define CONF1_IA_SHIFT 16 /* I$ associativity */
-#define CONF1_IA_MASK 0x00070000
-#define CONF1_IA_BASE 1
-#define CONF1_IL_SHIFT 19 /* I$ line size */
-#define CONF1_IL_MASK 0x00380000
-#define CONF1_IL_BASE 2
-#define CONF1_IS_SHIFT 22 /* Instruction cache sets/way */
-#define CONF1_IS_MASK 0x01c00000
-#define CONF1_IS_BASE 64
-
-#define Index_Invalidate_I 0x00
-#define Index_Writeback_Inv_D 0x01
-
- .text
- LEAF(startup)
- .set noreorder
- addi sp, -48
- sw a0, 16(sp)
- sw a1, 20(sp)
- sw a2, 24(sp)
- sw a3, 28(sp)
-
- /* Copy decompressor code to the right place */
- li t2, BZ_TEXT_START
- add a0, t2, 0
- la a1, code_start
- la a2, code_stop
-$L1:
- lw t0, 0(a1)
- sw t0, 0(a0)
- add a1, 4
- add a0, 4
- blt a1, a2, $L1
- nop
-
- /* At this point we need to invalidate dcache and */
- /* icache before jumping to new code */
-
-1: /* Get cache sizes */
- .set mips32
- mfc0 s0,C0_CONFIG,1
- .set mips0
-
- li s1,CONF1_DL_MASK
- and s1,s0
- beq s1,zero,nodc
- nop
-
- srl s1,CONF1_DL_SHIFT
- li t0,CONF1_DL_BASE
- sll s1,t0,s1 /* s1 has D$ cache line size */
-
- li s2,CONF1_DA_MASK
- and s2,s0
- srl s2,CONF1_DA_SHIFT
- addiu s2,CONF1_DA_BASE /* s2 now has D$ associativity */
-
- li t0,CONF1_DS_MASK
- and t0,s0
- srl t0,CONF1_DS_SHIFT
- li s3,CONF1_DS_BASE
- sll s3,s3,t0 /* s3 has D$ sets per way */
-
- multu s2,s3 /* sets/way * associativity */
- mflo t0 /* total cache lines */
-
- multu s1,t0 /* D$ linesize * lines */
- mflo s2 /* s2 is now D$ size in bytes */
-
- /* Initilize the D$: */
- mtc0 zero,C0_TAGLO
- mtc0 zero,C0_TAGHI
-
- li t0,KSEG0 /* Just an address for the first $ line */
- addu t1,t0,s2 /* + size of cache == end */
-
- .set mips3
-1: cache Index_Writeback_Inv_D,0(t0)
- .set mips0
- bne t0,t1,1b
- addu t0,s1
-
-nodc:
- /* Now we get to do it all again for the I$ */
-
- move s3,zero /* just in case there is no icache */
- move s4,zero
-
- li t0,CONF1_IL_MASK
- and t0,s0
- beq t0,zero,noic
- nop
-
- srl t0,CONF1_IL_SHIFT
- li s3,CONF1_IL_BASE
- sll s3,t0 /* s3 has I$ cache line size */
-
- li t0,CONF1_IA_MASK
- and t0,s0
- srl t0,CONF1_IA_SHIFT
- addiu s4,t0,CONF1_IA_BASE /* s4 now has I$ associativity */
-
- li t0,CONF1_IS_MASK
- and t0,s0
- srl t0,CONF1_IS_SHIFT
- li s5,CONF1_IS_BASE
- sll s5,t0 /* s5 has I$ sets per way */
-
- multu s4,s5 /* sets/way * associativity */
- mflo t0 /* s4 is now total cache lines */
-
- multu s3,t0 /* I$ linesize * lines */
- mflo s4 /* s4 is cache size in bytes */
-
- /* Initilize the I$: */
- mtc0 zero,C0_TAGLO
- mtc0 zero,C0_TAGHI
-
- li t0,KSEG0 /* Just an address for the first $ line */
- addu t1,t0,s4 /* + size of cache == end */
-
- .set mips3
-1: cache Index_Invalidate_I,0(t0)
- .set mips0
- bne t0,t1,1b
- addu t0,s3
-
-noic:
- move a0,s3 /* icache line size */
- move a1,s4 /* icache size */
- move a2,s1 /* dcache line size */
- jal t2
- move a3,s2 /* dcache size */
-
- .set reorder
- END(startup)
diff --git a/target/tools/lzma-loader/.svn/text-base/loader.lds.in.svn-base b/target/tools/lzma-loader/.svn/text-base/loader.lds.in.svn-base
deleted file mode 100644
index 20f2ea98e..000000000
--- a/target/tools/lzma-loader/.svn/text-base/loader.lds.in.svn-base
+++ /dev/null
@@ -1,17 +0,0 @@
-OUTPUT_ARCH(mips)
-ENTRY(startup)
-SECTIONS {
- . = TEXT_START;
- .text : {
- *(.text)
- *(.rodata)
- }
-
- .data : {
- *(.data)
- }
-
- .bss : {
- *(.bss)
- }
-}
diff --git a/target/tools/mkfimage/Makefile b/target/tools/mkfimage/Makefile
deleted file mode 100644
index 2c6e37878..000000000
--- a/target/tools/mkfimage/Makefile
+++ /dev/null
@@ -1,4 +0,0 @@
-include $(TOPDIR)/rules.mk
-
-all: mkfimage.c
- $(CC_FOR_BUILD) ${FLAGS_FOR_BUILD} -o ${STAGING_HOST_DIR}/bin/mkfimage mkfimage.c $(MAKE_TRACE)
diff --git a/target/tools/rules.mk b/target/tools/rules.mk
deleted file mode 100644
index a6a3684ac..000000000
--- a/target/tools/rules.mk
+++ /dev/null
@@ -1,7 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-WRKDIR_BASE= ${TOOLS_BUILD_DIR}
-WRKDIR= ${WRKDIR_BASE}
-
-include ${TOPDIR}/mk/buildhlp.mk
diff --git a/target/tools/srec2bin/Makefile b/target/tools/srec2bin/Makefile
deleted file mode 100644
index f48f8f939..000000000
--- a/target/tools/srec2bin/Makefile
+++ /dev/null
@@ -1,4 +0,0 @@
-include $(TOPDIR)/rules.mk
-
-all: srec2bin.c
- $(CC_FOR_BUILD) $(FLAGS_FOR_BUILD) -o ${STAGING_HOST_DIR}/bin/srec2bin srec2bin.c
diff --git a/target/tools/trx/Makefile b/target/tools/trx/Makefile
deleted file mode 100644
index d1832ee8c..000000000
--- a/target/tools/trx/Makefile
+++ /dev/null
@@ -1,4 +0,0 @@
-include $(TOPDIR)/rules.mk
-
-all: trx.c
- $(CC_FOR_BUILD) $(FLAGS_FOR_BUILD) -o ${STAGING_HOST_DIR}/bin/trx trx.c
diff --git a/target/x86/kernel/qemu-i686 b/target/x86/kernel/qemu-i686
index 6138c6ad2..8becb88b7 100644
--- a/target/x86/kernel/qemu-i686
+++ b/target/x86/kernel/qemu-i686
@@ -10,6 +10,9 @@ CONFIG_SCSI=y
CONFIG_SCSI_DMA=y
CONFIG_BLK_DEV_SD=y
CONFIG_ATA=y
+CONFIG_SATA_PMP=y
+CONFIG_ATA_SFF=y
+CONFIG_ATA_BMDMA=y
CONFIG_ATA_PIIX=y
CONFIG_NETDEVICES=y
CONFIG_NET_CORE=y
diff --git a/toolchain/eglibc/Makefile b/toolchain/eglibc/Makefile
index 5ac8e493d..66c326a93 100644
--- a/toolchain/eglibc/Makefile
+++ b/toolchain/eglibc/Makefile
@@ -84,11 +84,16 @@ $(WRKBUILD)/.installed: $(EGLIBC_BUILD_DIR_FINAL)/libc.so
$(MAKE) -C $(EGLIBC_BUILD_DIR_FINAL) install_root=$(STAGING_TARGET_DIR) install
${INSTALL_DIR} ${STAGING_TARGET_DIR}/etc
${INSTALL_DATA} ${WRKBUILD}/libc/posix/gai.conf ${STAGING_TARGET_DIR}/etc/
- ${INSTALL_DATA} ${WRKBUILD}/libc/nscd/nscd.conf ${STAGING_TARGET_DIR}/etc/
${INSTALL_DATA} ${WRKBUILD}/libc/nss/nsswitch.conf ${STAGING_TARGET_DIR}/etc/
touch $@
$(WRKBUILD)/.fixup:
+ -find $(STAGING_TARGET_DIR) $(STAGING_HOST_DIR) -name \*.la -delete
+ -find $(STAGING_TARGET_DIR) -type -f -name \*_pic\* -delete
+ rm -rf $(STAGING_TARGET_DIR)/usr/share/locale $(STAGING_TARGET_DIR)/usr/share/i18n
+ rm -rf $(STAGING_TARGET_DIR)/usr/lib/gconv
+ PATH="$(TARGET_PATH)" prefix='${TARGET_CROSS}' ${BASH} ${SCRIPT_DIR}/rstrip.sh $(STAGING_TARGET_DIR)
+ prefix=' ' ${BASH} ${SCRIPT_DIR}/rstrip.sh $(STAGING_HOST_DIR)
touch $@
include ${TOPDIR}/mk/toolchain.mk
diff --git a/toolchain/gcc/Makefile b/toolchain/gcc/Makefile
index 2cd720a63..4b0212f77 100644
--- a/toolchain/gcc/Makefile
+++ b/toolchain/gcc/Makefile
@@ -18,6 +18,8 @@ GCC_CONFOPTS= --prefix=$(STAGING_HOST_DIR) \
--with-libelf=$(STAGING_HOST_DIR) \
--disable-__cxa_atexit \
--with-gnu-ld \
+ --disable-libsanitizer \
+ --disable-libitm \
--disable-libmudflap \
--disable-libgomp \
--disable-decimal-float \
@@ -71,7 +73,7 @@ else
GCC_CONFOPTS+= --enable-tls
endif
-ifeq ($(ARCH),powerpc)
+ifeq ($(ADK_LINUX_PPC),y)
ifeq ($(ADK_TARGET_LIBC),uclibc)
GCC_CONFOPTS+= --disable-target-optspace --with-long-double-128 --enable-secureplt
else
@@ -98,8 +100,8 @@ ifeq ($(ADK_CPU_CORTEX_A9),y)
GCC_CONFOPTS+= --with-arch=armv7-a --with-tune=cortex-a9 --with-fpu=neon
endif
-ifneq ($(ADK_TARGET_ABI),)
-GCC_CONFOPTS+= --with-abi=${ADK_TARGET_ABI}
+ifneq ($(ADK_TARGET_MIPS_ABI),)
+GCC_CONFOPTS+= --with-abi=${ADK_TARGET_MIPS_ABI}
endif
ifeq (${ADK_MAKE_PARALLEL},y)
diff --git a/toolchain/gcc/Makefile.inc b/toolchain/gcc/Makefile.inc
index 689de3b63..86a0a5992 100644
--- a/toolchain/gcc/Makefile.inc
+++ b/toolchain/gcc/Makefile.inc
@@ -2,15 +2,8 @@
# material, please see the LICENCE file in the top-level directory.
PKG_NAME:= gcc
-
-ifeq ($(ADK_LINUX_MICROBLAZE),y)
PKG_VERSION:= 4.8.2
PKG_MD5SUM:= a3d7d63b9cb6b6ea049469a0c4a43c9d
-else
-PKG_VERSION:= 4.7.3
-PKG_MD5SUM:= 86f428a30379bdee0224e353ee2f999e
-endif
-
PKG_RELEASE:= 1
PKG_SITES:= ${MASTER_SITE_GNU:=gcc/gcc-${PKG_VERSION}/}
DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.bz2
diff --git a/toolchain/gcc/patches/4.8.2/cflags.patch b/toolchain/gcc/patches/4.8.2/cflags.patch
new file mode 100644
index 000000000..4f9de8069
--- /dev/null
+++ b/toolchain/gcc/patches/4.8.2/cflags.patch
@@ -0,0 +1,231 @@
+diff -Nur gcc-4.8.2.orig/gcc/c-family/c.opt gcc-4.8.2/gcc/c-family/c.opt
+--- gcc-4.8.2.orig/gcc/c-family/c.opt 2013-01-19 06:25:25.000000000 +0100
++++ gcc-4.8.2/gcc/c-family/c.opt 2014-02-23 20:22:48.000000000 +0100
+@@ -379,6 +379,10 @@
+ C ObjC RejectNegative Warning Alias(Werror=, implicit-function-declaration)
+ This switch is deprecated; use -Werror=implicit-function-declaration instead
+
++Werror-maybe-reset
++C ObjC C++ ObjC++
++; Documented in common.opt
++
+ Wfloat-equal
+ C ObjC C++ ObjC++ Var(warn_float_equal) Warning
+ Warn if testing floating point numbers for equality
+@@ -949,6 +953,9 @@
+ fhonor-std
+ C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
+
++fhonour-copts
++C ObjC C++ ObjC++ RejectNegative
++
+ fhosted
+ C ObjC
+ Assume normal C execution environment
+diff -Nur gcc-4.8.2.orig/gcc/c-family/c-opts.c gcc-4.8.2/gcc/c-family/c-opts.c
+--- gcc-4.8.2.orig/gcc/c-family/c-opts.c 2013-02-18 20:42:56.000000000 +0100
++++ gcc-4.8.2/gcc/c-family/c-opts.c 2014-02-23 20:22:48.000000000 +0100
+@@ -104,6 +104,9 @@
+ /* Whether any standard preincluded header has been preincluded. */
+ static bool done_preinclude;
+
++/* Check if a port honours COPTS. */
++static int honour_copts = 0;
++
+ static void handle_OPT_d (const char *);
+ static void set_std_cxx98 (int);
+ static void set_std_cxx11 (int);
+@@ -491,6 +494,12 @@
+ flag_no_builtin = !value;
+ break;
+
++ case OPT_fhonour_copts:
++ if (c_language == clk_c) {
++ honour_copts++;
++ }
++ break;
++
+ case OPT_fconstant_string_class_:
+ constant_string_class_name = arg;
+ break;
+@@ -1027,6 +1036,47 @@
+ return false;
+ }
+
++ if (c_language == clk_c) {
++ char *ev = getenv ("GCC_HONOUR_COPTS");
++ int evv;
++ if (ev == NULL)
++ evv = -1;
++ else if ((*ev == '0') || (*ev == '\0'))
++ evv = 0;
++ else if (*ev == '1')
++ evv = 1;
++ else if (*ev == '2')
++ evv = 2;
++ else if (*ev == 's')
++ evv = -1;
++ else {
++ warning (0, "unknown GCC_HONOUR_COPTS value, assuming 1");
++ evv = 1; /* maybe depend this on something like MIRBSD_NATIVE? */
++ }
++ if (evv == 1) {
++ if (honour_copts == 0) {
++ error ("someone does not honour COPTS at all in lenient mode");
++ return false;
++ } else if (honour_copts != 1) {
++ warning (0, "someone does not honour COPTS correctly, passed %d times",
++ honour_copts);
++ }
++ } else if (evv == 2) {
++ if (honour_copts == 0) {
++ error ("someone does not honour COPTS at all in strict mode");
++ return false;
++ } else if (honour_copts != 1) {
++ error ("someone does not honour COPTS correctly, passed %d times",
++ honour_copts);
++ return false;
++ }
++ } else if (evv == 0) {
++ if (honour_copts != 1)
++ inform (0, "someone does not honour COPTS correctly, passed %d times",
++ honour_copts);
++ }
++ }
++
+ return true;
+ }
+
+diff -Nur gcc-4.8.2.orig/gcc/common.opt gcc-4.8.2/gcc/common.opt
+--- gcc-4.8.2.orig/gcc/common.opt 2013-03-14 10:13:36.000000000 +0100
++++ gcc-4.8.2/gcc/common.opt 2014-02-23 20:22:48.000000000 +0100
+@@ -541,6 +541,10 @@
+ Common Joined
+ Treat specified warning as error
+
++Werror-maybe-reset
++Common
++If environment variable GCC_NO_WERROR is set, act as -Wno-error
++
+ Wextra
+ Common Var(extra_warnings) Warning
+ Print extra (possibly unwanted) warnings
+@@ -1242,6 +1246,9 @@
+ Common Report Var(flag_guess_branch_prob) Optimization
+ Enable guessing of branch probabilities
+
++fhonour-copts
++Common RejectNegative
++
+ ; Nonzero means ignore `#ident' directives. 0 means handle them.
+ ; Generate position-independent code for executables if possible
+ ; On SVR4 targets, it also controls whether or not to emit a
+diff -Nur gcc-4.8.2.orig/gcc/doc/cppopts.texi gcc-4.8.2/gcc/doc/cppopts.texi
+--- gcc-4.8.2.orig/gcc/doc/cppopts.texi 2013-01-10 21:38:27.000000000 +0100
++++ gcc-4.8.2/gcc/doc/cppopts.texi 2014-02-23 20:22:48.000000000 +0100
+@@ -163,6 +163,11 @@
+ Make all warnings into hard errors. Source code which triggers warnings
+ will be rejected.
+
++ at item -Werror-maybe-reset
++ at opindex Werror-maybe-reset
++Act like @samp{-Wno-error} if the @env{GCC_NO_WERROR} environment
++variable is set to anything other than 0 or empty.
++
+ @item -Wsystem-headers
+ @opindex Wsystem-headers
+ Issue warnings for code in system headers. These are normally unhelpful
+diff -Nur gcc-4.8.2.orig/gcc/doc/invoke.texi gcc-4.8.2/gcc/doc/invoke.texi
+--- gcc-4.8.2.orig/gcc/doc/invoke.texi 2013-06-19 21:55:50.000000000 +0200
++++ gcc-4.8.2/gcc/doc/invoke.texi 2014-02-23 20:22:48.000000000 +0100
+@@ -240,7 +240,7 @@
+ -Wconversion -Wcoverage-mismatch -Wno-cpp -Wno-deprecated @gol
+ -Wno-deprecated-declarations -Wdisabled-optimization @gol
+ -Wno-div-by-zero -Wdouble-promotion -Wempty-body -Wenum-compare @gol
+--Wno-endif-labels -Werror -Werror=* @gol
++-Wno-endif-labels -Werror -Werror=* -Werror-maybe-reset @gol
+ -Wfatal-errors -Wfloat-equal -Wformat -Wformat=2 @gol
+ -Wno-format-contains-nul -Wno-format-extra-args -Wformat-nonliteral @gol
+ -Wformat-security -Wformat-y2k @gol
+@@ -4807,6 +4807,22 @@
+ @option{-Wall} and by @option{-Wpedantic}, which can be disabled with
+ @option{-Wno-pointer-sign}.
+
++ at item -Werror-maybe-reset
++ at opindex Werror-maybe-reset
++Act like @samp{-Wno-error} if the @env{GCC_NO_WERROR} environment
++variable is set to anything other than 0 or empty.
++
++ at item -fhonour-copts
++ at opindex fhonour-copts
++If @env{GCC_HONOUR_COPTS} is set to 1, abort if this option is not
++given at least once, and warn if it is given more than once.
++If @env{GCC_HONOUR_COPTS} is set to 2, abort if this option is not
++given exactly once.
++If @env{GCC_HONOUR_COPTS} is set to 0 or unset, warn if this option
++is not given exactly once.
++The warning is quelled if @env{GCC_HONOUR_COPTS} is set to @samp{s}.
++This flag and environment variable only affect the C language.
++
+ @item -Wstack-protector
+ @opindex Wstack-protector
+ @opindex Wno-stack-protector
+@@ -6918,7 +6934,7 @@
+ second branch or a point immediately following it, depending on whether
+ the condition is known to be true or false.
+
+-Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}.
++Enabled at levels @option{-O3}.
+
+ @item -fsplit-wide-types
+ @opindex fsplit-wide-types
+diff -Nur gcc-4.8.2.orig/gcc/java/jvspec.c gcc-4.8.2/gcc/java/jvspec.c
+--- gcc-4.8.2.orig/gcc/java/jvspec.c 2013-01-10 21:38:27.000000000 +0100
++++ gcc-4.8.2/gcc/java/jvspec.c 2014-02-23 20:22:48.000000000 +0100
+@@ -626,6 +626,7 @@
+ class name. Append dummy `.c' that can be stripped by set_input so %b
+ is correct. */
+ set_input (concat (main_class_name, "main.c", NULL));
++ putenv ("GCC_HONOUR_COPTS=s"); /* XXX hack! */
+ err = do_spec (jvgenmain_spec);
+ if (err == 0)
+ {
+diff -Nur gcc-4.8.2.orig/gcc/opts.c gcc-4.8.2/gcc/opts.c
+--- gcc-4.8.2.orig/gcc/opts.c 2013-03-05 07:01:13.000000000 +0100
++++ gcc-4.8.2/gcc/opts.c 2014-02-23 20:22:48.000000000 +0100
+@@ -468,8 +468,6 @@
+ { OPT_LEVELS_2_PLUS, OPT_fschedule_insns2, NULL, 1 },
+ #endif
+ { OPT_LEVELS_2_PLUS, OPT_fregmove, NULL, 1 },
+- { OPT_LEVELS_2_PLUS, OPT_fstrict_aliasing, NULL, 1 },
+- { OPT_LEVELS_2_PLUS, OPT_fstrict_overflow, NULL, 1 },
+ { OPT_LEVELS_2_PLUS, OPT_freorder_blocks, NULL, 1 },
+ { OPT_LEVELS_2_PLUS, OPT_freorder_functions, NULL, 1 },
+ { OPT_LEVELS_2_PLUS, OPT_ftree_vrp, NULL, 1 },
+@@ -488,6 +486,8 @@
+ { OPT_LEVELS_2_PLUS, OPT_fhoist_adjacent_loads, NULL, 1 },
+
+ /* -O3 optimizations. */
++ { OPT_LEVELS_3_PLUS, OPT_fstrict_aliasing, NULL, 1 },
++ { OPT_LEVELS_3_PLUS, OPT_fstrict_overflow, NULL, 1 },
+ { OPT_LEVELS_3_PLUS, OPT_ftree_loop_distribute_patterns, NULL, 1 },
+ { OPT_LEVELS_3_PLUS, OPT_fpredictive_commoning, NULL, 1 },
+ /* Inlining of functions reducing size is a good idea with -Os
+@@ -1423,6 +1423,17 @@
+ opts, opts_set, loc, dc);
+ break;
+
++ case OPT_Werror_maybe_reset:
++ {
++ char *ev = getenv ("GCC_NO_WERROR");
++ if ((ev != NULL) && (*ev != '0'))
++ warnings_are_errors = 0;
++ }
++ break;
++
++ case OPT_fhonour_copts:
++ break;
++
+ case OPT_Wlarger_than_:
+ opts->x_larger_than_size = value;
+ opts->x_warn_larger_than = value != -1;
diff --git a/toolchain/gcc/patches/4.8.2/musl-stubs.patch b/toolchain/gcc/patches/4.8.2/musl-stubs.patch
new file mode 100644
index 000000000..35050fd9c
--- /dev/null
+++ b/toolchain/gcc/patches/4.8.2/musl-stubs.patch
@@ -0,0 +1,49 @@
+diff -Nur gcc-4.8.2.orig/gcc/config/m68k/linux.h gcc-4.8.2/gcc/config/m68k/linux.h
+--- gcc-4.8.2.orig/gcc/config/m68k/linux.h 2013-01-10 21:38:27.000000000 +0100
++++ gcc-4.8.2/gcc/config/m68k/linux.h 2014-02-24 10:19:00.214399704 +0100
+@@ -72,6 +72,7 @@
+ done. */
+
+ #define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
++#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-m68k.so.1"
+
+ #undef LINK_SPEC
+ #define LINK_SPEC "-m m68kelf %{shared} \
+diff -Nur gcc-4.8.2.orig/gcc/config/mips/linux64.h gcc-4.8.2/gcc/config/mips/linux64.h
+--- gcc-4.8.2.orig/gcc/config/mips/linux64.h 2013-01-10 21:38:27.000000000 +0100
++++ gcc-4.8.2/gcc/config/mips/linux64.h 2014-02-24 10:19:47.238583895 +0100
+@@ -27,6 +27,9 @@
+ #define GLIBC_DYNAMIC_LINKERN32 "/lib32/ld.so.1"
+ #define UCLIBC_DYNAMIC_LINKERN32 "/lib32/ld-uClibc.so.0"
+ #define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32"
++#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-mips.so.1"
++#define MUSL_DYNAMIC_LINKERN32 "/lib/ld-musl-mips.so.1"
++#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-mips.so.1"
+ #define GNU_USER_DYNAMIC_LINKERN32 \
+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32, \
+- BIONIC_DYNAMIC_LINKERN32)
++ BIONIC_DYNAMIC_LINKERN32, MUSL_DYNAMIC_LINKERN32)
+diff -Nur gcc-4.8.2.orig/gcc/config/sparc/linux64.h gcc-4.8.2/gcc/config/sparc/linux64.h
+--- gcc-4.8.2.orig/gcc/config/sparc/linux64.h 2013-01-10 21:38:27.000000000 +0100
++++ gcc-4.8.2/gcc/config/sparc/linux64.h 2014-02-24 10:20:49.414827006 +0100
+@@ -94,6 +94,9 @@
+
+ #define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
+ #define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux.so.2"
++#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-sparc.so.1"
++#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-sparc.so.1"
++
+
+ #ifdef SPARC_BI_ARCH
+
+diff -Nur gcc-4.8.2.orig/gcc/config/sparc/linux.h gcc-4.8.2/gcc/config/sparc/linux.h
+--- gcc-4.8.2.orig/gcc/config/sparc/linux.h 2013-01-10 21:38:27.000000000 +0100
++++ gcc-4.8.2/gcc/config/sparc/linux.h 2014-02-24 10:21:14.342924339 +0100
+@@ -84,6 +84,7 @@
+ done. */
+
+ #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
++#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-sparc.so.1"
+
+ #undef LINK_SPEC
+ #define LINK_SPEC "-m elf32_sparc %{shared:-shared} \
diff --git a/toolchain/glibc/Makefile b/toolchain/glibc/Makefile
index 2fc0015d7..7f304330c 100644
--- a/toolchain/glibc/Makefile
+++ b/toolchain/glibc/Makefile
@@ -69,6 +69,12 @@ $(WRKBUILD)/.installed:
touch $@
$(WRKBUILD)/.fixup:
+ -find $(STAGING_TARGET_DIR) $(STAGING_HOST_DIR) -name \*.la -delete
+ -find $(STAGING_TARGET_DIR) -type f -name \*_pic\* -delete
+ rm -rf $(STAGING_TARGET_DIR)/usr/share/locale $(STAGING_TARGET_DIR)/usr/share/i18n
+ rm -rf $(STAGING_TARGET_DIR)/usr/lib/gconv
+ PATH="$(TARGET_PATH)" prefix='${TARGET_CROSS}' ${BASH} ${SCRIPT_DIR}/rstrip.sh $(STAGING_TARGET_DIR)
+ prefix=' ' ${BASH} ${SCRIPT_DIR}/rstrip.sh $(STAGING_HOST_DIR)
touch $@
include ${TOPDIR}/mk/toolchain.mk
diff --git a/toolchain/kernel-headers/Makefile b/toolchain/kernel-headers/Makefile
index faa75336f..203c68018 100644
--- a/toolchain/kernel-headers/Makefile
+++ b/toolchain/kernel-headers/Makefile
@@ -12,6 +12,8 @@ $(WRKBUILD)/.headers:
$(MAKE) -C $(WRKBUILD) HOSTCC=$(CC_FOR_BUILD) ARCH=$(ARCH) V=1 \
INSTALL_HDR_PATH=$(STAGING_DIR)/usr \
headers_install
+ @-find $(STAGING_DIR)/usr/include -name .install -delete
+ @-find $(STAGING_DIR)/usr/include -name ..install.cmd -delete
touch $@
include ${TOPDIR}/mk/toolchain.mk
diff --git a/toolchain/musl/Makefile b/toolchain/musl/Makefile
index 7382b84da..726a036c3 100644
--- a/toolchain/musl/Makefile
+++ b/toolchain/musl/Makefile
@@ -57,6 +57,10 @@ $(WRKBUILD)/.fixup:
)
$(MAKE) CFLAGS='$(TARGET_CFLAGS)' -C $(WRKBUILD) all
$(MAKE) -C $(WRKBUILD) DESTDIR=$(STAGING_TARGET_DIR) install
+ # cleanup toolchain
+ -find $(STAGING_TARGET_DIR) $(STAGING_HOST_DIR) -name \*.la -delete
+ PATH="$(TARGET_PATH)" prefix='${TARGET_CROSS}' ${BASH} ${SCRIPT_DIR}/rstrip.sh $(STAGING_TARGET_DIR)
+ prefix=' ' ${BASH} ${SCRIPT_DIR}/rstrip.sh $(STAGING_HOST_DIR)
touch $@
include ${TOPDIR}/mk/toolchain.mk
diff --git a/toolchain/musl/patches/musl-git-20140225.patch b/toolchain/musl/patches/musl-git-20140301.patch
index 8ee372c0a..1362c9ba9 100644
--- a/toolchain/musl/patches/musl-git-20140225.patch
+++ b/toolchain/musl/patches/musl-git-20140301.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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/arm/bits/shm.h 2014-03-01 08:58:13.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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/arm/bits/termios.h 2014-03-01 08:58:13.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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/arm/syscall_arch.h 2014-03-01 08:58:14.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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/i386/bits/shm.h 2014-03-01 08:58:14.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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/i386/bits/termios.h 2014-03-01 08:58:14.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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/microblaze/bits/shm.h 2014-03-01 08:58:14.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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/microblaze/bits/termios.h 2014-03-01 08:58:14.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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/microblaze/syscall_arch.h 2014-03-01 08:58:14.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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/mips/bits/fenv.h 2014-03-01 08:58:14.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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/mips/bits/shm.h 2014-03-01 08:58:14.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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/mips/bits/termios.h 2014-03-01 08:58:14.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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/mips/reloc.h 2014-03-01 08:58:14.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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/mips/syscall_arch.h 2014-03-01 08:58:14.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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/powerpc/bits/shm.h 2014-03-01 08:58:14.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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/powerpc/bits/termios.h 2014-03-01 08:58:14.000000000 +0100
@@ -66,7 +66,6 @@
#define TAB1 00002000
#define TAB2 00004000
@@ -440,9 +440,9 @@ diff -Nur musl-0.9.15/arch/powerpc/bits/termios.h musl-git/arch/powerpc/bits/ter
+#define EXTPROC 0x10000000
+#define XTABS 00006000
+#endif
-diff -Nur musl-0.9.15/arch/superh/atomic.h musl-git/arch/superh/atomic.h
---- musl-0.9.15/arch/superh/atomic.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/superh/atomic.h 2014-02-25 15:24:14.000000000 +0100
+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
@@ -0,0 +1,87 @@
+#ifndef _INTERNAL_ATOMIC_H
+#define _INTERNAL_ATOMIC_H
@@ -531,9 +531,9 @@ diff -Nur musl-0.9.15/arch/superh/atomic.h musl-git/arch/superh/atomic.h
+}
+
+#endif
-diff -Nur musl-0.9.15/arch/superh/bits/alltypes.h.in musl-git/arch/superh/bits/alltypes.h.in
---- musl-0.9.15/arch/superh/bits/alltypes.h.in 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/superh/bits/alltypes.h.in 2014-02-25 15:24:14.000000000 +0100
+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
@@ -0,0 +1,23 @@
+#define _Addr int
+#define _Int64 long long
@@ -558,18 +558,18 @@ diff -Nur musl-0.9.15/arch/superh/bits/alltypes.h.in musl-git/arch/superh/bits/a
+TYPEDEF struct { union { int __i[12]; void *__p[12]; } __u; } pthread_cond_t;
+TYPEDEF struct { union { int __i[8]; void *__p[8]; } __u; } pthread_rwlock_t;
+TYPEDEF struct { union { int __i[5]; void *__p[5]; } __u; } pthread_barrier_t;
-diff -Nur musl-0.9.15/arch/superh/bits/endian.h musl-git/arch/superh/bits/endian.h
---- musl-0.9.15/arch/superh/bits/endian.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/superh/bits/endian.h 2014-02-25 15:24:14.000000000 +0100
+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
@@ -0,0 +1,5 @@
-+#if __LITTLE_ENDIAN__
-+#define __BYTE_ORDER __LITTLE_ENDIAN
-+#else
++#if __BIG_ENDIAN__
+#define __BYTE_ORDER __BIG_ENDIAN
++#else
++#define __BYTE_ORDER __LITTLE_ENDIAN
+#endif
-diff -Nur musl-0.9.15/arch/superh/bits/errno.h musl-git/arch/superh/bits/errno.h
---- musl-0.9.15/arch/superh/bits/errno.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/superh/bits/errno.h 2014-02-25 15:24:14.000000000 +0100
+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
@@ -0,0 +1,134 @@
+#define EPERM 1
+#define ENOENT 2
@@ -705,9 +705,9 @@ diff -Nur musl-0.9.15/arch/superh/bits/errno.h musl-git/arch/superh/bits/errno.h
+#define ENOTRECOVERABLE 131
+#define ERFKILL 132
+#define EHWPOISON 133
-diff -Nur musl-0.9.15/arch/superh/bits/fcntl.h musl-git/arch/superh/bits/fcntl.h
---- musl-0.9.15/arch/superh/bits/fcntl.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/superh/bits/fcntl.h 2014-02-25 15:24:14.000000000 +0100
+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
@@ -0,0 +1,39 @@
+#define O_CREAT 0100
+#define O_EXCL 0200
@@ -748,10 +748,17 @@ diff -Nur musl-0.9.15/arch/superh/bits/fcntl.h musl-git/arch/superh/bits/fcntl.h
+#define F_GETOWN_EX 16
+
+#define F_GETOWNER_UIDS 17
-diff -Nur musl-0.9.15/arch/superh/bits/fenv.h musl-git/arch/superh/bits/fenv.h
---- musl-0.9.15/arch/superh/bits/fenv.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/superh/bits/fenv.h 2014-02-25 15:24:14.000000000 +0100
-@@ -0,0 +1,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
+@@ -0,0 +1,26 @@
++#ifndef __SH_FPU_ANY__
++
++#define FE_ALL_EXCEPT 0
++#define FE_TONEAREST 0
++
++#else
++
+#define FE_TONEAREST 0
+#define FE_TOWARDZERO 1
+
@@ -762,6 +769,8 @@ diff -Nur musl-0.9.15/arch/superh/bits/fenv.h musl-git/arch/superh/bits/fenv.h
+#define FE_INVALID 0x40
+#define FE_ALL_EXCEPT 0x7c
+
++#endif
++
+typedef unsigned long fexcept_t;
+
+typedef struct {
@@ -769,9 +778,9 @@ diff -Nur musl-0.9.15/arch/superh/bits/fenv.h musl-git/arch/superh/bits/fenv.h
+} fenv_t;
+
+#define FE_DFL_ENV ((const fenv_t *) -1)
-diff -Nur musl-0.9.15/arch/superh/bits/float.h musl-git/arch/superh/bits/float.h
---- musl-0.9.15/arch/superh/bits/float.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/superh/bits/float.h 2014-02-25 15:24:14.000000000 +0100
+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
@@ -0,0 +1,17 @@
+#define FLT_ROUNDS 1
+#define FLT_EVAL_METHOD 0
@@ -790,9 +799,9 @@ diff -Nur musl-0.9.15/arch/superh/bits/float.h musl-git/arch/superh/bits/float.h
+#define LDBL_MAX_10_EXP 308
+
+#define DECIMAL_DIG 17
-diff -Nur musl-0.9.15/arch/superh/bits/ioctl.h musl-git/arch/superh/bits/ioctl.h
---- musl-0.9.15/arch/superh/bits/ioctl.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/superh/bits/ioctl.h 2014-02-25 15:24:14.000000000 +0100
+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
@@ -0,0 +1,205 @@
+#define _IOC(a,b,c,d) ( ((a)<<30) | ((b)<<8) | (c) | ((d)<<16) )
+#define _IOC_NONE 0U
@@ -999,9 +1008,9 @@ diff -Nur musl-0.9.15/arch/superh/bits/ioctl.h musl-git/arch/superh/bits/ioctl.h
+
+#define SIOCDEVPRIVATE 0x89F0
+#define SIOCPROTOPRIVATE 0x89E0
-diff -Nur musl-0.9.15/arch/superh/bits/ipc.h musl-git/arch/superh/bits/ipc.h
---- musl-0.9.15/arch/superh/bits/ipc.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/superh/bits/ipc.h 2014-02-25 15:24:14.000000000 +0100
+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
@@ -0,0 +1,14 @@
+struct ipc_perm
+{
@@ -1017,9 +1026,9 @@ diff -Nur musl-0.9.15/arch/superh/bits/ipc.h musl-git/arch/superh/bits/ipc.h
+};
+
+#define IPC_64 0x100
-diff -Nur musl-0.9.15/arch/superh/bits/limits.h musl-git/arch/superh/bits/limits.h
---- musl-0.9.15/arch/superh/bits/limits.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/superh/bits/limits.h 2014-02-25 15:24:14.000000000 +0100
+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
@@ -0,0 +1,8 @@
+#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
+ || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
@@ -1029,9 +1038,9 @@ diff -Nur musl-0.9.15/arch/superh/bits/limits.h musl-git/arch/superh/bits/limits
+
+#define LONG_MAX 0x7fffffffL
+#define LLONG_MAX 0x7fffffffffffffffLL
-diff -Nur musl-0.9.15/arch/superh/bits/mman.h musl-git/arch/superh/bits/mman.h
---- musl-0.9.15/arch/superh/bits/mman.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/superh/bits/mman.h 2014-02-25 15:24:14.000000000 +0100
+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
@@ -0,0 +1,62 @@
+#define MAP_FAILED ((void *) -1)
+
@@ -1095,9 +1104,9 @@ diff -Nur musl-0.9.15/arch/superh/bits/mman.h musl-git/arch/superh/bits/mman.h
+#define MREMAP_MAYMOVE 1
+#define MREMAP_FIXED 2
+#endif
-diff -Nur musl-0.9.15/arch/superh/bits/msg.h musl-git/arch/superh/bits/msg.h
---- musl-0.9.15/arch/superh/bits/msg.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/superh/bits/msg.h 2014-02-25 15:24:14.000000000 +0100
+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
@@ -0,0 +1,16 @@
+struct msqid_ds
+{
@@ -1115,20 +1124,20 @@ diff -Nur musl-0.9.15/arch/superh/bits/msg.h musl-git/arch/superh/bits/msg.h
+ pid_t msg_lrpid;
+ unsigned long __unused[2];
+};
-diff -Nur musl-0.9.15/arch/superh/bits/posix.h musl-git/arch/superh/bits/posix.h
---- musl-0.9.15/arch/superh/bits/posix.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/superh/bits/posix.h 2014-02-25 15:24:14.000000000 +0100
+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
@@ -0,0 +1,2 @@
+#define _POSIX_V6_ILP32_OFFBIG 1
+#define _POSIX_V7_ILP32_OFFBIG 1
-diff -Nur musl-0.9.15/arch/superh/bits/setjmp.h musl-git/arch/superh/bits/setjmp.h
---- musl-0.9.15/arch/superh/bits/setjmp.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/superh/bits/setjmp.h 2014-02-25 15:24:14.000000000 +0100
+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
@@ -0,0 +1 @@
+typedef unsigned long __jmp_buf[13];
-diff -Nur musl-0.9.15/arch/superh/bits/shm.h musl-git/arch/superh/bits/shm.h
---- musl-0.9.15/arch/superh/bits/shm.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/superh/bits/shm.h 2014-02-25 15:24:14.000000000 +0100
+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
@@ -0,0 +1,28 @@
+#define SHMLBA 16384
+
@@ -1158,9 +1167,9 @@ diff -Nur musl-0.9.15/arch/superh/bits/shm.h musl-git/arch/superh/bits/shm.h
+ unsigned long shm_tot, shm_rss, shm_swp;
+ unsigned long __swap_attempts, __swap_successes;
+};
-diff -Nur musl-0.9.15/arch/superh/bits/signal.h musl-git/arch/superh/bits/signal.h
---- musl-0.9.15/arch/superh/bits/signal.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/superh/bits/signal.h 2014-02-25 15:24:14.000000000 +0100
+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
@@ -0,0 +1,76 @@
+#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
+ || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
@@ -1238,9 +1247,9 @@ diff -Nur musl-0.9.15/arch/superh/bits/signal.h musl-git/arch/superh/bits/signal
+#define SIGUNUSED SIGSYS
+
+#define _NSIG 65
-diff -Nur musl-0.9.15/arch/superh/bits/socket.h musl-git/arch/superh/bits/socket.h
---- musl-0.9.15/arch/superh/bits/socket.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/superh/bits/socket.h 2014-02-25 15:24:14.000000000 +0100
+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
@@ -0,0 +1,17 @@
+struct msghdr
+{
@@ -1259,9 +1268,9 @@ diff -Nur musl-0.9.15/arch/superh/bits/socket.h musl-git/arch/superh/bits/socket
+ int cmsg_level;
+ int cmsg_type;
+};
-diff -Nur musl-0.9.15/arch/superh/bits/statfs.h musl-git/arch/superh/bits/statfs.h
---- musl-0.9.15/arch/superh/bits/statfs.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/superh/bits/statfs.h 2014-02-25 15:24:14.000000000 +0100
+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
@@ -0,0 +1,7 @@
+struct statfs {
+ unsigned long f_type, f_bsize;
@@ -1270,9 +1279,9 @@ diff -Nur musl-0.9.15/arch/superh/bits/statfs.h musl-git/arch/superh/bits/statfs
+ fsid_t f_fsid;
+ unsigned long f_namelen, f_frsize, f_flags, f_spare[4];
+};
-diff -Nur musl-0.9.15/arch/superh/bits/stat.h musl-git/arch/superh/bits/stat.h
---- musl-0.9.15/arch/superh/bits/stat.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/superh/bits/stat.h 2014-02-25 15:24:14.000000000 +0100
+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
@@ -0,0 +1,22 @@
+/* copied from kernel definition, but with padding replaced
+ * by the corresponding correctly-sized userspace types. */
@@ -1296,17 +1305,17 @@ diff -Nur musl-0.9.15/arch/superh/bits/stat.h musl-git/arch/superh/bits/stat.h
+ struct timespec st_ctim;
+ ino_t st_ino;
+};
-diff -Nur musl-0.9.15/arch/superh/bits/stdarg.h musl-git/arch/superh/bits/stdarg.h
---- musl-0.9.15/arch/superh/bits/stdarg.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/superh/bits/stdarg.h 2014-02-25 15:24:14.000000000 +0100
+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
@@ -0,0 +1,4 @@
+#define va_start(v,l) __builtin_va_start(v,l)
+#define va_end(v) __builtin_va_end(v)
+#define va_arg(v,l) __builtin_va_arg(v,l)
+#define va_copy(d,s) __builtin_va_copy(d,s)
-diff -Nur musl-0.9.15/arch/superh/bits/stdint.h musl-git/arch/superh/bits/stdint.h
---- musl-0.9.15/arch/superh/bits/stdint.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/superh/bits/stdint.h 2014-02-25 15:24:14.000000000 +0100
+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
@@ -0,0 +1,20 @@
+typedef int32_t int_fast16_t;
+typedef int32_t int_fast32_t;
@@ -1328,9 +1337,9 @@ diff -Nur musl-0.9.15/arch/superh/bits/stdint.h musl-git/arch/superh/bits/stdint
+#define PTRDIFF_MIN INT32_MIN
+#define PTRDIFF_MAX INT32_MAX
+#define SIZE_MAX UINT32_MAX
-diff -Nur musl-0.9.15/arch/superh/bits/syscall.h musl-git/arch/superh/bits/syscall.h
---- musl-0.9.15/arch/superh/bits/syscall.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/superh/bits/syscall.h 2014-02-25 15:24:14.000000000 +0100
+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
@@ -0,0 +1,684 @@
+#define __NR_restart_syscall 0
+#define __NR_exit 1
@@ -2016,9 +2025,9 @@ diff -Nur musl-0.9.15/arch/superh/bits/syscall.h musl-git/arch/superh/bits/sysca
+#define SYS_process_vm_writev 366
+#define SYS_kcmp 367
+#define SYS_finit_module 368
-diff -Nur musl-0.9.15/arch/superh/bits/termios.h musl-git/arch/superh/bits/termios.h
---- musl-0.9.15/arch/superh/bits/termios.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/superh/bits/termios.h 2014-02-25 15:24:14.000000000 +0100
+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
@@ -0,0 +1,160 @@
+struct termios
+{
@@ -2180,9 +2189,9 @@ diff -Nur musl-0.9.15/arch/superh/bits/termios.h musl-git/arch/superh/bits/termi
+#define EXTPROC 0200000
+#define XTABS 0014000
+#endif
-diff -Nur musl-0.9.15/arch/superh/crt_arch.h musl-git/arch/superh/crt_arch.h
---- musl-0.9.15/arch/superh/crt_arch.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/superh/crt_arch.h 2014-02-25 15:24:14.000000000 +0100
+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
@@ -0,0 +1,9 @@
+__asm__("\
+.global _start \n\
@@ -2193,9 +2202,9 @@ diff -Nur musl-0.9.15/arch/superh/crt_arch.h musl-git/arch/superh/crt_arch.h
+ bsr __cstart \n\
+ nop \n\
+");
-diff -Nur musl-0.9.15/arch/superh/pthread_arch.h musl-git/arch/superh/pthread_arch.h
---- musl-0.9.15/arch/superh/pthread_arch.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/superh/pthread_arch.h 2014-02-25 15:24:14.000000000 +0100
+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
@@ -0,0 +1,11 @@
+static inline struct pthread *__pthread_self()
+{
@@ -2208,12 +2217,12 @@ diff -Nur musl-0.9.15/arch/superh/pthread_arch.h musl-git/arch/superh/pthread_ar
+#define TP_ADJ(p) ((char *)(p) + sizeof(struct pthread) - 8)
+
+#define CANCEL_REG_IP 17
-diff -Nur musl-0.9.15/arch/superh/reloc.h musl-git/arch/superh/reloc.h
---- musl-0.9.15/arch/superh/reloc.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/superh/reloc.h 2014-02-25 15:24:14.000000000 +0100
+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
@@ -0,0 +1,47 @@
-+#if __BYTE_ORDER == __LITTLE_ENDIAN
-+#define ENDIAN_SUFFIX "l"
++#if __BYTE_ORDER == __BIG_ENDIAN
++#define ENDIAN_SUFFIX "eb"
+#else
+#define ENDIAN_SUFFIX ""
+#endif
@@ -2259,9 +2268,9 @@ diff -Nur musl-0.9.15/arch/superh/reloc.h musl-git/arch/superh/reloc.h
+ break;
+ }
+}
-diff -Nur musl-0.9.15/arch/superh/src/atomic.c musl-git/arch/superh/src/atomic.c
---- musl-0.9.15/arch/superh/src/atomic.c 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/superh/src/atomic.c 2014-02-25 15:24:14.000000000 +0100
+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
@@ -0,0 +1,146 @@
+#include "libc.h"
+
@@ -2409,15 +2418,15 @@ diff -Nur musl-0.9.15/arch/superh/src/atomic.c musl-git/arch/superh/src/atomic.c
+ : "=&r"(dummy) : "r"(x), "r"(v) : GUSA_CLOBBERS);
+ }
+}
-diff -Nur musl-0.9.15/arch/superh/src/__fpsrc_values.c musl-git/arch/superh/src/__fpsrc_values.c
---- musl-0.9.15/arch/superh/src/__fpsrc_values.c 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/superh/src/__fpsrc_values.c 2014-02-25 15:24:14.000000000 +0100
+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
@@ -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/superh/syscall_arch.h musl-git/arch/superh/syscall_arch.h
---- musl-0.9.15/arch/superh/syscall_arch.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/superh/syscall_arch.h 2014-02-25 15:24:14.000000000 +0100
+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
@@ -0,0 +1,87 @@
+#define __SYSCALL_LL_E(x) \
+((union { long long ll; long l[2]; }){ .ll = x }).l[0], \
@@ -2508,7 +2517,7 @@ diff -Nur musl-0.9.15/arch/superh/syscall_arch.h musl-git/arch/superh/syscall_ar
+}
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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/x32/atomic.h 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,125 @@
+#ifndef _INTERNAL_ATOMIC_H
+#define _INTERNAL_ATOMIC_H
@@ -2637,7 +2646,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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/x32/bits/alltypes.h.in 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,28 @@
+#define _Addr int
+#define _Int64 long long
@@ -2669,12 +2678,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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/x32/bits/endian.h 2014-03-01 08:58:14.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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/x32/bits/errno.h 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,134 @@
+#define EPERM 1
+#define ENOENT 2
@@ -2812,7 +2821,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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/x32/bits/fcntl.h 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,39 @@
+#define O_CREAT 0100
+#define O_EXCL 0200
@@ -2855,7 +2864,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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/x32/bits/fenv.h 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,34 @@
+#define FE_INVALID 1
+#define __FE_DENORM 2
@@ -2893,7 +2902,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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/x32/bits/float.h 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,21 @@
+#define FLT_ROUNDS 1
+#ifdef __FLT_EVAL_METHOD__
@@ -2918,7 +2927,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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/x32/bits/ioctl.h 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,197 @@
+#define _IOC(a,b,c,d) ( ((a)<<30) | ((b)<<8) | (c) | ((d)<<16) )
+#define _IOC_NONE 0U
@@ -3119,7 +3128,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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/x32/bits/io.h 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,77 @@
+static __inline void outb(unsigned char __val, unsigned short __port)
+{
@@ -3200,7 +3209,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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/x32/bits/ipc.h 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,14 @@
+struct ipc_perm
+{
@@ -3218,7 +3227,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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/x32/bits/limits.h 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,8 @@
+#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
+ || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
@@ -3230,7 +3239,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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/x32/bits/mman.h 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,62 @@
+#define MAP_FAILED ((void *) -1)
+
@@ -3296,7 +3305,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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/x32/bits/msg.h 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,16 @@
+struct msqid_ds
+{
@@ -3316,13 +3325,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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/x32/bits/posix.h 2014-03-01 08:58:14.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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/x32/bits/reg.h 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,29 @@
+#undef __WORDSIZE
+#define __WORDSIZE 32
@@ -3355,12 +3364,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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/x32/bits/setjmp.h 2014-03-01 08:58:14.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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/x32/bits/shm.h 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,33 @@
+#define SHMLBA 4096
+
@@ -3397,7 +3406,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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/x32/bits/signal.h 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,119 @@
+#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
+ || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
@@ -3520,7 +3529,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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/x32/bits/socket.h 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,18 @@
+struct msghdr
+{
@@ -3542,7 +3551,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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/x32/bits/statfs.h 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,7 @@
+struct statfs {
+ unsigned long f_type, f_bsize;
@@ -3553,7 +3562,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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/x32/bits/stat.h 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,22 @@
+/* copied from kernel definition, but with padding replaced
+ * by the corresponding correctly-sized userspace types. */
@@ -3579,7 +3588,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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/x32/bits/stdarg.h 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,4 @@
+#define va_start(v,l) __builtin_va_start(v,l)
+#define va_end(v) __builtin_va_end(v)
@@ -3587,7 +3596,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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/x32/bits/stdint.h 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,20 @@
+typedef int32_t int_fast16_t;
+typedef int32_t int_fast32_t;
@@ -3611,7 +3620,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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/x32/bits/syscall.h 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,634 @@
+#define __X32_SYSCALL_BIT 0x40000000
+#define __NR_read (__X32_SYSCALL_BIT + 0)
@@ -4249,7 +4258,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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/x32/bits/termios.h 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,160 @@
+struct termios
+{
@@ -4413,7 +4422,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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/x32/bits/user.h 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,44 @@
+#undef __WORDSIZE
+#define __WORDSIZE 64
@@ -4461,7 +4470,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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/x32/crt_arch.h 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,9 @@
+__asm__("\
+.text \n\
@@ -4474,7 +4483,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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/x32/pthread_arch.h 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,10 @@
+static inline struct pthread *__pthread_self()
+{
@@ -4488,7 +4497,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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/x32/reloc.h 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,46 @@
+#include <stdint.h>
+#include <string.h>
@@ -4538,7 +4547,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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/x32/src/syscall_cp_fixup.c 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,31 @@
+#include <sys/syscall.h>
+long __syscall_cp_internal(volatile void*, long long, long long, long long, long long,
@@ -4573,7 +4582,7 @@ diff -Nur musl-0.9.15/arch/x32/src/syscall_cp_fixup.c musl-git/arch/x32/src/sysc
+
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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/x32/syscall_arch.h 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,117 @@
+#define __SYSCALL_LL_E(x) (x)
+#define __SYSCALL_LL_O(x) (x)
@@ -4694,7 +4703,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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/x86_64/atomic.h 2014-03-01 08:58:14.000000000 +0100
@@ -5,38 +5,36 @@
static inline int a_ctz_64(uint64_t x)
@@ -4780,7 +4789,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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/x86_64/bits/shm.h 2014-03-01 08:58:14.000000000 +0100
@@ -13,3 +13,14 @@
unsigned long __pad1;
unsigned long __pad2;
@@ -4798,7 +4807,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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/x86_64/bits/stat.h 2014-03-01 08:58:14.000000000 +0100
@@ -2,7 +2,7 @@
* by the corresponding correctly-sized userspace types. */
@@ -4810,7 +4819,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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/x86_64/bits/termios.h 2014-03-01 08:58:14.000000000 +0100
@@ -42,6 +42,7 @@
#define IXANY 0004000
#define IXOFF 0010000
@@ -4866,7 +4875,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-02-25 15:24:14.000000000 +0100
++++ musl-git/arch/x86_64/pthread_arch.h 2014-03-01 08:58:14.000000000 +0100
@@ -1,7 +1,7 @@
static inline struct pthread *__pthread_self()
{
@@ -4878,21 +4887,28 @@ 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-02-25 15:24:14.000000000 +0100
-@@ -224,10 +224,12 @@
++++ musl-git/configure 2014-03-01 08:58:14.000000000 +0100
+@@ -222,12 +222,16 @@
+ # Convert to just ARCH
+ #
case "$target" in
++# Catch these early to simplify matching for 32-bit archs
++mips64*|powerpc64*) fail "$0: unsupported target \"$target\"" ;;
arm*) ARCH=arm ;;
i?86*) ARCH=i386 ;;
+x86_64-x32*|x32*) ARCH=x32 ;;
x86_64*) ARCH=x86_64 ;;
- mips-*|mipsel-*) ARCH=mips ;;
- microblaze-*) ARCH=microblaze ;;
- powerpc-*) ARCH=powerpc ;;
-+sh-*) ARCH=superh ;;
+-mips-*|mipsel-*) ARCH=mips ;;
+-microblaze-*) ARCH=microblaze ;;
+-powerpc-*) ARCH=powerpc ;;
++mips*) ARCH=mips ;;
++microblaze*) ARCH=microblaze ;;
++powerpc*) ARCH=powerpc ;;
++sh[1-9bel-]*|sh|superh*) ARCH=sh ;;
unknown) fail "$0: unable to detect target arch; try $0 --target=..." ;;
*) fail "$0: unknown or unsupported target \"$target\"" ;;
esac
-@@ -381,6 +383,7 @@
+@@ -381,6 +385,7 @@
tryflag CFLAGS_AUTO -Wno-unused-value
tryflag CFLAGS_AUTO -Wno-unused-but-set-variable
tryflag CFLAGS_AUTO -Wno-unknown-pragmas
@@ -4900,7 +4916,7 @@ diff -Nur musl-0.9.15/configure musl-git/configure
fi
# Some patched GCC builds have these defaults messed up...
-@@ -410,12 +413,17 @@
+@@ -410,12 +415,33 @@
trycppif __ARM_PCS_VFP "$t" && SUBARCH=${SUBARCH}hf
fi
@@ -4914,15 +4930,31 @@ diff -Nur musl-0.9.15/configure musl-git/configure
test "$ARCH" = "microblaze" && trycppif __MICROBLAZEEL__ "$t" \
&& SUBARCH=${SUBARCH}el
-+test "$ARCH" = "superh" && trycppif __LITTLE_ENDIAN__ "$t" \
-+&& SUBARCH=${SUBARCH}el
++if test "$ARCH" = "sh" ; then
++trycppif __BIG_ENDIAN__ "$t" && SUBARCH=${SUBARCH}eb
++if trycppif __SH_FPU_ANY__ "$t" ; then
++# Some sh configurations are broken and replace double with float
++# rather than using softfloat when the fpu is present but only
++# supports single precision. Reject them.
++printf "checking whether compiler's double type is IEEE double... "
++echo 'typedef char dblcheck[(int)sizeof(double)-5];' > "$tmpc"
++if $CC $CFLAGS_C99FSE $CPPFLAGS $CFLAGS -c -o /dev/null "$tmpc" >/dev/null 2>&1 ; then
++printf "yes\n"
++else
++printf "no\n"
++fail "$0: error: compiler's floating point configuration is unsupported"
++fi
++else
++SUBARCH=${SUBARCH}-nofpu
++fi
++fi
+
test "$SUBARCH" \
&& printf "configured for %s variant: %s\n" "$ARCH" "$ARCH$SUBARCH"
diff -Nur musl-0.9.15/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-02-25 15:24:14.000000000 +0100
++++ musl-git/crt/superh/crti.s 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,13 @@
+.section .init
+.global _init
@@ -4939,7 +4971,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-02-25 15:24:14.000000000 +0100
++++ musl-git/crt/superh/crtn.s 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,9 @@
+.section .init
+ lds.l @r15+, pr
@@ -4952,7 +4984,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-02-25 15:24:14.000000000 +0100
++++ musl-git/crt/x32/crti.s 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,9 @@
+.section .init
+.global _init
@@ -4965,7 +4997,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-02-25 15:24:14.000000000 +0100
++++ musl-git/crt/x32/crtn.s 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,7 @@
+.section .init
+ pop %rax
@@ -4976,7 +5008,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-02-25 15:24:14.000000000 +0100
++++ musl-git/.gitignore 2014-03-01 08:58:13.000000000 +0100
@@ -0,0 +1,11 @@
+*.o
+*.lo
@@ -4991,7 +5023,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-02-25 15:24:14.000000000 +0100
++++ musl-git/include/arpa/inet.h 2014-03-01 08:58:14.000000000 +0100
@@ -20,7 +20,7 @@
const char *inet_ntop (int, const void *__restrict, char *__restrict, socklen_t);
@@ -5003,7 +5035,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-02-25 15:24:14.000000000 +0100
++++ musl-git/include/dlfcn.h 2014-03-01 08:58:14.000000000 +0100
@@ -31,7 +31,7 @@
const char *dli_sname;
void *dli_saddr;
@@ -5015,7 +5047,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-02-25 15:24:14.000000000 +0100
++++ musl-git/include/elf.h 2014-03-01 08:58:14.000000000 +0100
@@ -1153,6 +1153,7 @@
#define EF_MIPS_64BIT_WHIRL 16
#define EF_MIPS_ABI2 32
@@ -5144,7 +5176,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-02-25 15:24:14.000000000 +0100
++++ musl-git/include/fcntl.h 2014-03-01 08:58:14.000000000 +0100
@@ -148,6 +148,7 @@
#define SPLICE_F_MORE 4
#define SPLICE_F_GIFT 8
@@ -5163,7 +5195,7 @@ diff -Nur musl-0.9.15/include/fcntl.h musl-git/include/fcntl.h
#define creat64 creat
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-02-25 15:24:14.000000000 +0100
++++ musl-git/include/netdb.h 2014-03-01 08:58:14.000000000 +0100
@@ -131,6 +131,7 @@
#define TRY_AGAIN 2
#define NO_RECOVERY 3
@@ -5174,7 +5206,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-02-25 15:24:14.000000000 +0100
++++ musl-git/include/netinet/if_ether.h 2014-03-01 08:58:14.000000000 +0100
@@ -54,6 +54,7 @@
#define ETH_P_8021AH 0x88E7
#define ETH_P_MVRP 0x88F5
@@ -5185,7 +5217,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-02-25 15:24:14.000000000 +0100
++++ musl-git/include/netinet/in.h 2014-03-01 08:58:14.000000000 +0100
@@ -149,7 +149,7 @@
(IN6_IS_ADDR_MULTICAST(a) && ((((uint8_t *) (a))[1] & 0xf) == 0xe))
@@ -5294,7 +5326,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-02-25 15:24:14.000000000 +0100
++++ musl-git/include/netinet/tcp.h 2014-03-01 08:58:14.000000000 +0100
@@ -44,42 +44,80 @@
#define SOL_TCP 6
#include <sys/types.h>
@@ -5492,7 +5524,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-02-25 15:24:14.000000000 +0100
++++ musl-git/include/netinet/udp.h 2014-03-01 08:58:14.000000000 +0100
@@ -5,19 +5,22 @@
extern "C" {
#endif
@@ -5525,7 +5557,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-02-25 15:24:14.000000000 +0100
++++ musl-git/include/sched.h 2014-03-01 08:58:14.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 *);
@@ -5537,7 +5569,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-02-25 15:24:14.000000000 +0100
++++ musl-git/include/signal.h 2014-03-01 08:58:14.000000000 +0100
@@ -227,8 +227,8 @@
typedef void (*sighandler_t)(int);
void (*bsd_signal(int, void (*)(int)))(int);
@@ -5551,7 +5583,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-02-25 15:24:14.000000000 +0100
++++ musl-git/include/stdlib.h 2014-03-01 08:58:14.000000000 +0100
@@ -93,7 +93,7 @@
#define WSTOPSIG(s) WEXITSTATUS(s)
#define WIFEXITED(s) (!WTERMSIG(s))
@@ -5563,7 +5595,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-02-25 15:24:14.000000000 +0100
++++ musl-git/include/sys/inotify.h 2014-03-01 08:58:14.000000000 +0100
@@ -48,7 +48,7 @@
int inotify_init(void);
int inotify_init1(int);
@@ -5575,7 +5607,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-02-25 15:24:14.000000000 +0100
++++ musl-git/include/sys/mman.h 2014-03-01 08:58:14.000000000 +0100
@@ -33,7 +33,7 @@
#ifdef _GNU_SOURCE
@@ -5587,7 +5619,7 @@ diff -Nur musl-0.9.15/include/sys/mman.h musl-git/include/sys/mman.h
#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
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-02-25 15:24:14.000000000 +0100
++++ musl-git/include/sys/sem.h 2014-03-01 08:58:14.000000000 +0100
@@ -29,19 +29,19 @@
struct semid_ds {
@@ -5618,7 +5650,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-02-25 15:24:14.000000000 +0100
++++ musl-git/include/sys/shm.h 2014-03-01 08:58:14.000000000 +0100
@@ -14,6 +14,13 @@
#include <bits/alltypes.h>
@@ -5656,7 +5688,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-02-25 15:24:14.000000000 +0100
++++ musl-git/include/sys/socket.h 2014-03-01 08:58:14.000000000 +0100
@@ -202,11 +202,16 @@
#define SO_LOCK_FILTER 44
#define SO_SELECT_ERR_QUEUE 45
@@ -5697,7 +5729,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-02-25 15:24:14.000000000 +0100
++++ musl-git/include/sys/time.h 2014-03-01 08:58:14.000000000 +0100
@@ -51,6 +51,17 @@
((a)->tv_usec += 1000000, (a)->tv_sec--) )
#endif
@@ -5718,7 +5750,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-02-25 15:24:14.000000000 +0100
++++ musl-git/include/sys/wait.h 2014-03-01 08:58:14.000000000 +0100
@@ -50,7 +50,7 @@
#define WCOREDUMP(s) ((s) & 0x80)
#define WIFEXITED(s) (!WTERMSIG(s))
@@ -5730,7 +5762,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-02-25 15:24:14.000000000 +0100
++++ musl-git/include/syslog.h 2014-03-01 08:58:14.000000000 +0100
@@ -21,7 +21,7 @@
#define LOG_MAKEPRI(f, p) (((f)<<3)|(p))
@@ -5742,7 +5774,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-02-25 15:24:14.000000000 +0100
++++ musl-git/include/time.h 2014-03-01 08:58:14.000000000 +0100
@@ -125,7 +125,7 @@
@@ -5754,7 +5786,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-02-25 15:24:14.000000000 +0100
++++ musl-git/include/utmp.h 2014-03-01 08:58:14.000000000 +0100
@@ -10,6 +10,7 @@
#define ACCOUNTING 9
#define UT_NAMESIZE 32
@@ -5774,7 +5806,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-02-25 15:24:14.000000000 +0100
++++ musl-git/include/utmpx.h 2014-03-01 08:58:14.000000000 +0100
@@ -5,6 +5,8 @@
extern "C" {
#endif
@@ -5821,7 +5853,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/crypt/crypt_des.c 2014-03-01 08:58:14.000000000 +0100
@@ -692,7 +692,7 @@
return saltbits;
}
@@ -5878,7 +5910,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/crypt/encrypt.c 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,60 @@
+#include <stdint.h>
+#include <stdlib.h>
@@ -5940,9 +5972,34 @@ diff -Nur musl-0.9.15/src/crypt/encrypt.c musl-git/src/crypt/encrypt.c
+ for (j = 31; j >= 0; j--)
+ *p++ = b[i]>>j & 1;
+}
+diff -Nur musl-0.9.15/src/dirent/readdir.c musl-git/src/dirent/readdir.c
+--- musl-0.9.15/src/dirent/readdir.c 2014-01-03 21:12:17.000000000 +0100
++++ musl-git/src/dirent/readdir.c 2014-03-01 08:58:14.000000000 +0100
+@@ -1,5 +1,7 @@
+ #include <dirent.h>
++#include <errno.h>
+ #include "__dirent.h"
++#include "syscall.h"
+ #include "libc.h"
+
+ int __getdents(int, struct dirent *, size_t);
+@@ -9,8 +11,11 @@
+ struct dirent *de;
+
+ if (dir->buf_pos >= dir->buf_end) {
+- int len = __getdents(dir->fd, (void *)dir->buf, sizeof dir->buf);
+- if (len <= 0) return 0;
++ int len = __syscall(SYS_getdents, dir->fd, dir->buf, sizeof dir->buf);
++ if (len <= 0) {
++ if (len < 0 && len != -ENOENT) errno = -len;
++ return 0;
++ }
+ dir->buf_end = len;
+ dir->buf_pos = 0;
+ }
diff -Nur musl-0.9.15/src/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-02-25 15:24:14.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);
va_end(ap);
@@ -5975,7 +6032,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/fcntl/posix_fadvise.c 2014-03-01 08:58:14.000000000 +0100
@@ -1,8 +1,11 @@
#include <fcntl.h>
#include "syscall.h"
@@ -5990,7 +6047,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/fcntl/posix_fallocate.c 2014-03-01 08:58:14.000000000 +0100
@@ -1,8 +1,11 @@
#include <fcntl.h>
#include "syscall.h"
@@ -6005,7 +6062,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/fenv/i386/fenv.s 2014-03-01 08:58:14.000000000 +0100
@@ -126,7 +126,7 @@
push %eax
push %eax
@@ -6017,17 +6074,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/fenv/mipsel-sf/fenv.sub 2014-03-01 08:58:14.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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/fenv/mips-sf/fenv.sub 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1 @@
+../fenv.c
-diff -Nur musl-0.9.15/src/fenv/superh/fenv.s musl-git/src/fenv/superh/fenv.s
---- musl-0.9.15/src/fenv/superh/fenv.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/fenv/superh/fenv.s 2014-02-25 15:24:14.000000000 +0100
+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
@@ -0,0 +1,74 @@
+.global fegetround
+.type fegetround, @function
@@ -6103,9 +6160,19 @@ diff -Nur musl-0.9.15/src/fenv/superh/fenv.s musl-git/src/fenv/superh/fenv.s
+2: lds r0, fpscr
+ rts
+ mov #0, r0
+diff -Nur musl-0.9.15/src/fenv/sheb-nofpu/fenv.sub musl-git/src/fenv/sheb-nofpu/fenv.sub
+--- musl-0.9.15/src/fenv/sheb-nofpu/fenv.sub 1970-01-01 01:00:00.000000000 +0100
++++ musl-git/src/fenv/sheb-nofpu/fenv.sub 2014-03-01 08:58:14.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
+@@ -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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/fenv/x32/fenv.s 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,97 @@
+.global feclearexcept
+.type feclearexcept,@function
@@ -6206,7 +6273,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/fenv/x86_64/fenv.s 2014-03-01 08:58:14.000000000 +0100
@@ -76,7 +76,7 @@
ret
1: push %rax
@@ -6216,20 +6283,9 @@ diff -Nur musl-0.9.15/src/fenv/x86_64/fenv.s musl-git/src/fenv/x86_64/fenv.s
pushq $0x37f
fldenv (%rsp)
pushq $0x1f80
-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-02-25 15:24:14.000000000 +0100
-@@ -17,6 +17,7 @@
- #define F_EOF 16
- #define F_ERR 32
- #define F_SVB 64
-+#define F_APP 128
-
- struct _IO_FILE {
- unsigned flags;
-diff -Nur musl-0.9.15/src/internal/superh/syscall.s musl-git/src/internal/superh/syscall.s
---- musl-0.9.15/src/internal/superh/syscall.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/internal/superh/syscall.s 2014-02-25 15:24:14.000000000 +0100
+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
@@ -0,0 +1,22 @@
+.global __syscall
+.type __syscall, @function
@@ -6253,9 +6309,20 @@ diff -Nur musl-0.9.15/src/internal/superh/syscall.s musl-git/src/internal/superh
+ or r0, r0
+ rts
+ nop
+diff -Nur musl-0.9.15/src/internal/stdio_impl.h musl-git/src/internal/stdio_impl.h
+--- musl-0.9.15/src/internal/stdio_impl.h 2014-01-03 21:12:17.000000000 +0100
++++ musl-git/src/internal/stdio_impl.h 2014-03-01 08:58:14.000000000 +0100
+@@ -17,6 +17,7 @@
+ #define F_EOF 16
+ #define F_ERR 32
+ #define F_SVB 64
++#define F_APP 128
+
+ struct _IO_FILE {
+ unsigned flags;
diff -Nur musl-0.9.15/src/internal/syscall.h musl-git/src/internal/syscall.h
--- musl-0.9.15/src/internal/syscall.h 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/src/internal/syscall.h 2014-02-25 15:24:14.000000000 +0100
++++ musl-git/src/internal/syscall.h 2014-03-01 08:58:14.000000000 +0100
@@ -1,22 +1,28 @@
#ifndef _INTERNAL_SYSCALL_H
#define _INTERNAL_SYSCALL_H
@@ -6319,7 +6386,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/internal/x32/syscall.s 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,12 @@
+.global __syscall
+.type __syscall,@function
@@ -6335,7 +6402,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/ipc/semctl.c 2014-03-01 08:58:14.000000000 +0100
@@ -3,16 +3,22 @@
#include "syscall.h"
#include "ipc.h"
@@ -6365,7 +6432,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/ldso/dladdr.c 2014-03-01 08:58:14.000000000 +0100
@@ -1,9 +1,9 @@
#define _GNU_SOURCE
#include <dlfcn.h>
@@ -6380,7 +6447,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/ldso/dynlink.c 2014-03-01 08:58:14.000000000 +0100
@@ -253,7 +253,8 @@
name = strings + sym->st_name;
ctx = IS_COPY(type) ? head->next : head;
@@ -6409,9 +6476,9 @@ diff -Nur musl-0.9.15/src/ldso/dynlink.c musl-git/src/ldso/dynlink.c
{
return 0;
}
-diff -Nur musl-0.9.15/src/ldso/superh/dlsym.s musl-git/src/ldso/superh/dlsym.s
---- musl-0.9.15/src/ldso/superh/dlsym.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/ldso/superh/dlsym.s 2014-02-25 15:24:14.000000000 +0100
+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
@@ -0,0 +1,10 @@
+.text
+.global dlsym
@@ -6423,9 +6490,9 @@ diff -Nur musl-0.9.15/src/ldso/superh/dlsym.s musl-git/src/ldso/superh/dlsym.s
+
+.align 2
+L1: .long __dlsym@PLT-(1b-.)
-diff -Nur musl-0.9.15/src/ldso/superh/start.s musl-git/src/ldso/superh/start.s
---- musl-0.9.15/src/ldso/superh/start.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/ldso/superh/start.s 2014-02-25 15:24:14.000000000 +0100
+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
@@ -0,0 +1,26 @@
+.text
+.global _start
@@ -6455,7 +6522,7 @@ diff -Nur musl-0.9.15/src/ldso/superh/start.s musl-git/src/ldso/superh/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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/ldso/x32/dlsym.s 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,6 @@
+.text
+.global dlsym
@@ -6465,7 +6532,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/ldso/x32/start.s 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,24 @@
+.text
+.global _start
@@ -6493,7 +6560,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/linux/clone.c 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,19 @@
+#include <stdarg.h>
+#include <unistd.h>
@@ -6516,7 +6583,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/linux/fallocate.c 2014-03-01 08:58:14.000000000 +0100
@@ -1,9 +1,13 @@
#define _GNU_SOURCE
#include <fcntl.h>
@@ -6533,7 +6600,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/linux/inotify.c 2014-03-01 08:58:14.000000000 +0100
@@ -15,7 +15,7 @@
return syscall(SYS_inotify_add_watch, fd, pathname, mask);
}
@@ -6545,7 +6612,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/linux/remap_file_pages.c 2014-03-01 08:58:14.000000000 +0100
@@ -2,7 +2,7 @@
#include <sys/mman.h>
#include "syscall.h"
@@ -6557,7 +6624,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/linux/stime.c 2014-03-01 08:58:14.000000000 +0100
@@ -2,7 +2,7 @@
#include <time.h>
#include <sys/time.h>
@@ -6569,7 +6636,7 @@ diff -Nur musl-0.9.15/src/linux/stime.c musl-git/src/linux/stime.c
return settimeofday(&tv, (void *)0);
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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/locale/wcsxfrm.c 2014-03-01 08:58:14.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)
{
@@ -6587,7 +6654,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/math/i386/remainderf.s 2014-03-01 08:58:14.000000000 +0100
@@ -1,6 +1,9 @@
.global remainderf
.type remainderf,@function
@@ -6600,7 +6667,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/math/i386/remainder.s 2014-03-01 08:58:14.000000000 +0100
@@ -1,6 +1,9 @@
.global remainder
.type remainder,@function
@@ -6613,7 +6680,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/math/x32/acosl.s 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,16 @@
+# see ../i386/acos.s
+
@@ -6633,7 +6700,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/math/x32/asinl.s 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,12 @@
+.global asinl
+.type asinl,@function
@@ -6649,7 +6716,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/math/x32/atan2l.s 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,7 @@
+.global atan2l
+.type atan2l,@function
@@ -6660,7 +6727,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/math/x32/atanl.s 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,7 @@
+.global atanl
+.type atanl,@function
@@ -6671,12 +6738,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/math/x32/ceill.s 2014-03-01 08:58:14.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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/math/x32/exp2l.s 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,90 @@
+.global expm1l
+.type expm1l,@function
@@ -6770,7 +6837,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/math/x32/expl.s 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,101 @@
+# exp(x) = 2^hi + 2^hi (2^lo - 1)
+# where hi+lo = log2e*x with 128bit precision
@@ -6875,12 +6942,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/math/x32/expm1l.s 2014-03-01 08:58:14.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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/math/x32/fabsf.s 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,7 @@
+.global fabsf
+.type fabsf,@function
@@ -6891,7 +6958,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/math/x32/fabsl.s 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,6 @@
+.global fabsl
+.type fabsl,@function
@@ -6901,7 +6968,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/math/x32/fabs.s 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,9 @@
+.global fabs
+.type fabs,@function
@@ -6914,7 +6981,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/math/x32/floorl.s 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,27 @@
+.global floorl
+.type floorl,@function
@@ -6945,7 +7012,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/math/x32/fmodl.s 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,11 @@
+.global fmodl
+.type fmodl,@function
@@ -6960,7 +7027,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/math/x32/llrintf.s 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,5 @@
+.global llrintf
+.type llrintf,@function
@@ -6969,7 +7036,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/math/x32/llrintl.s 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,7 @@
+.global llrintl
+.type llrintl,@function
@@ -6980,7 +7047,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/math/x32/llrint.s 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,5 @@
+.global llrint
+.type llrint,@function
@@ -6989,7 +7056,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/math/x32/log10l.s 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,7 @@
+.global log10l
+.type log10l,@function
@@ -7000,7 +7067,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/math/x32/log1pl.s 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,15 @@
+.global log1pl
+.type log1pl,@function
@@ -7019,7 +7086,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/math/x32/log2l.s 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,7 @@
+.global log2l
+.type log2l,@function
@@ -7030,7 +7097,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/math/x32/logl.s 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,7 @@
+.global logl
+.type logl,@function
@@ -7041,7 +7108,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/math/x32/lrintf.s 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,5 @@
+.global lrintf
+.type lrintf,@function
@@ -7050,7 +7117,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/math/x32/lrintl.s 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,7 @@
+.global lrintl
+.type lrintl,@function
@@ -7061,7 +7128,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/math/x32/lrint.s 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,5 @@
+.global lrint
+.type lrint,@function
@@ -7070,7 +7137,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/math/x32/remainderl.s 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,11 @@
+.global remainderl
+.type remainderl,@function
@@ -7085,7 +7152,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/math/x32/rintl.s 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,6 @@
+.global rintl
+.type rintl,@function
@@ -7095,7 +7162,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/math/x32/sqrtf.s 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,4 @@
+.global sqrtf
+.type sqrtf,@function
@@ -7103,7 +7170,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/math/x32/sqrtl.s 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,5 @@
+.global sqrtl
+.type sqrtl,@function
@@ -7112,7 +7179,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/math/x32/sqrt.s 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,4 @@
+.global sqrt
+.type sqrt,@function
@@ -7120,12 +7187,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/math/x32/truncl.s 2014-03-01 08:58:14.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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/misc/nftw.c 2014-03-01 08:58:14.000000000 +0100
@@ -46,8 +46,7 @@
type = FTW_F;
}
@@ -7138,7 +7205,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/network/accept4.c 2014-03-01 08:58:14.000000000 +0100
@@ -1,9 +1,20 @@
#define _GNU_SOURCE
#include <sys/socket.h>
@@ -7163,7 +7230,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/network/inet_legacy.c 2014-03-01 08:58:14.000000000 +0100
@@ -16,9 +16,8 @@
return 1;
}
@@ -7177,7 +7244,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/network/proto.c 2014-03-01 08:58:14.000000000 +0100
@@ -4,7 +4,7 @@
/* do we really need all these?? */
@@ -7200,7 +7267,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/prng/random.c 2014-03-01 08:58:14.000000000 +0100
@@ -1,10 +1,3 @@
-/*
- * random.c - Copyright © 2011 Szabolcs Nagy
@@ -7235,7 +7302,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/process/posix_spawn.c 2014-03-01 08:58:14.000000000 +0100
@@ -166,7 +166,7 @@
close(args.p[0]);
@@ -7247,7 +7314,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/process/x32/vfork.s 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,12 @@
+.global __vfork
+.weak vfork
@@ -7263,17 +7330,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/setjmp/mipsel-sf/longjmp.sub 2014-03-01 08:58:14.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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/setjmp/mipsel-sf/setjmp.sub 2014-03-01 08:58:14.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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/setjmp/mips-sf/longjmp.s 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,25 @@
+.set noreorder
+
@@ -7302,12 +7369,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/setjmp/mips-sf/longjmp.sub 2014-03-01 08:58:14.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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/setjmp/mips-sf/setjmp.s 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,25 @@
+.set noreorder
+
@@ -7336,12 +7403,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/setjmp/mips-sf/setjmp.sub 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1 @@
+setjmp.s
-diff -Nur musl-0.9.15/src/setjmp/superh/longjmp.s musl-git/src/setjmp/superh/longjmp.s
---- musl-0.9.15/src/setjmp/superh/longjmp.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/setjmp/superh/longjmp.s 2014-02-25 15:24:14.000000000 +0100
+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
@@ -0,0 +1,26 @@
+.global _longjmp
+.global longjmp
@@ -7369,9 +7436,9 @@ diff -Nur musl-0.9.15/src/setjmp/superh/longjmp.s musl-git/src/setjmp/superh/lon
+
+ rts
+ nop
-diff -Nur musl-0.9.15/src/setjmp/superh/setjmp.s musl-git/src/setjmp/superh/setjmp.s
---- musl-0.9.15/src/setjmp/superh/setjmp.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/setjmp/superh/setjmp.s 2014-02-25 15:24:14.000000000 +0100
+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
@@ -0,0 +1,25 @@
+.global __setjmp
+.global _setjmp
@@ -7398,9 +7465,80 @@ diff -Nur musl-0.9.15/src/setjmp/superh/setjmp.s musl-git/src/setjmp/superh/setj
+ mov.l r8, @-r4
+ rts
+ mov #0, r0
+diff -Nur musl-0.9.15/src/setjmp/sheb-nofpu/longjmp.sub musl-git/src/setjmp/sheb-nofpu/longjmp.sub
+--- musl-0.9.15/src/setjmp/sheb-nofpu/longjmp.sub 1970-01-01 01:00:00.000000000 +0100
++++ musl-git/src/setjmp/sheb-nofpu/longjmp.sub 2014-03-01 08:58:14.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
+@@ -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
+@@ -0,0 +1,22 @@
++.global _longjmp
++.global longjmp
++.type _longjmp, @function
++.type longjmp, @function
++_longjmp:
++longjmp:
++ mov.l @r4+, r8
++ mov.l @r4+, r9
++ mov.l @r4+, r10
++ mov.l @r4+, r11
++ mov.l @r4+, r12
++ mov.l @r4+, r13
++ mov.l @r4+, r14
++ mov.l @r4+, r15
++ lds.l @r4+, pr
++
++ tst r5, r5
++ movt r0
++ add r5, r0
++
++ rts
++ nop
+diff -Nur musl-0.9.15/src/setjmp/sh-nofpu/longjmp.sub musl-git/src/setjmp/sh-nofpu/longjmp.sub
+--- musl-0.9.15/src/setjmp/sh-nofpu/longjmp.sub 1970-01-01 01:00:00.000000000 +0100
++++ musl-git/src/setjmp/sh-nofpu/longjmp.sub 2014-03-01 08:58:14.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
+@@ -0,0 +1,21 @@
++.global __setjmp
++.global _setjmp
++.global setjmp
++.type __setjmp, @function
++.type _setjmp, @function
++.type setjmp, @function
++__setjmp:
++_setjmp:
++setjmp:
++ add #36, r4
++ sts.l pr, @-r4
++ mov.l r15 @-r4
++ mov.l r14, @-r4
++ mov.l r13, @-r4
++ mov.l r12, @-r4
++ mov.l r11, @-r4
++ mov.l r10, @-r4
++ mov.l r9, @-r4
++ mov.l r8, @-r4
++ rts
++ mov #0, r0
+diff -Nur musl-0.9.15/src/setjmp/sh-nofpu/setjmp.sub musl-git/src/setjmp/sh-nofpu/setjmp.sub
+--- musl-0.9.15/src/setjmp/sh-nofpu/setjmp.sub 1970-01-01 01:00:00.000000000 +0100
++++ musl-git/src/setjmp/sh-nofpu/setjmp.sub 2014-03-01 08:58:14.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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/setjmp/x32/longjmp.s 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,22 @@
+/* Copyright 2011-2012 Nicholas J. Kain, licensed under standard MIT license */
+.global _longjmp
@@ -7426,7 +7564,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/setjmp/x32/setjmp.s 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,22 @@
+/* Copyright 2011-2012 Nicholas J. Kain, licensed under standard MIT license */
+.global __setjmp
@@ -7450,33 +7588,9 @@ diff -Nur musl-0.9.15/src/setjmp/x32/setjmp.s musl-git/src/setjmp/x32/setjmp.s
+ mov %rdx,56(%rdi)
+ xor %rax,%rax /* always return 0 */
+ ret
-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-02-25 15:24:14.000000000 +0100
-@@ -3,7 +3,7 @@
-
- #define SST_SIZE (_NSIG/8/sizeof(long))
-
--int sigandset(sigset_t *dest, sigset_t *left, sigset_t *right)
-+int sigandset(sigset_t *dest, const sigset_t *left, const sigset_t *right)
- {
- unsigned long i = 0, *d = (void*) dest, *l = (void*) left, *r = (void*) right;
- for(; i < SST_SIZE; i++) d[i] = l[i] & r[i];
-diff -Nur musl-0.9.15/src/signal/sigorset.c musl-git/src/signal/sigorset.c
---- musl-0.9.15/src/signal/sigorset.c 2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/signal/sigorset.c 2014-02-25 15:24:14.000000000 +0100
-@@ -3,7 +3,7 @@
-
- #define SST_SIZE (_NSIG/8/sizeof(long))
-
--int sigorset(sigset_t *dest, sigset_t *left, sigset_t *right)
-+int sigorset(sigset_t *dest, const sigset_t *left, const sigset_t *right)
- {
- unsigned long i = 0, *d = (void*) dest, *l = (void*) left, *r = (void*) right;
- for(; i < SST_SIZE; i++) d[i] = l[i] | r[i];
-diff -Nur musl-0.9.15/src/signal/superh/restore.s musl-git/src/signal/superh/restore.s
---- musl-0.9.15/src/signal/superh/restore.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/signal/superh/restore.s 2014-02-25 15:24:14.000000000 +0100
+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
@@ -0,0 +1,24 @@
+.global __restore
+.type __restore, @function
@@ -7502,9 +7616,9 @@ diff -Nur musl-0.9.15/src/signal/superh/restore.s musl-git/src/signal/superh/res
+ or r0, r0
+ or r0, r0
+ or r0, r0
-diff -Nur musl-0.9.15/src/signal/superh/sigsetjmp.s musl-git/src/signal/superh/sigsetjmp.s
---- musl-0.9.15/src/signal/superh/sigsetjmp.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/signal/superh/sigsetjmp.s 2014-02-25 15:24:14.000000000 +0100
+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
@@ -0,0 +1,27 @@
+.global sigsetjmp
+.type sigsetjmp, @function
@@ -7533,9 +7647,33 @@ diff -Nur musl-0.9.15/src/signal/superh/sigsetjmp.s musl-git/src/signal/superh/s
+.align 2
+L1: .long pthread_sigmask@PLT-(1b-.)
+L2: .long setjmp@PLT-(3b-.)
+diff -Nur musl-0.9.15/src/signal/sigandset.c musl-git/src/signal/sigandset.c
+--- musl-0.9.15/src/signal/sigandset.c 2014-01-03 21:12:18.000000000 +0100
++++ musl-git/src/signal/sigandset.c 2014-03-01 08:58:14.000000000 +0100
+@@ -3,7 +3,7 @@
+
+ #define SST_SIZE (_NSIG/8/sizeof(long))
+
+-int sigandset(sigset_t *dest, sigset_t *left, sigset_t *right)
++int sigandset(sigset_t *dest, const sigset_t *left, const sigset_t *right)
+ {
+ unsigned long i = 0, *d = (void*) dest, *l = (void*) left, *r = (void*) right;
+ for(; i < SST_SIZE; i++) d[i] = l[i] & r[i];
+diff -Nur musl-0.9.15/src/signal/sigorset.c musl-git/src/signal/sigorset.c
+--- musl-0.9.15/src/signal/sigorset.c 2014-01-03 21:12:18.000000000 +0100
++++ musl-git/src/signal/sigorset.c 2014-03-01 08:58:14.000000000 +0100
+@@ -3,7 +3,7 @@
+
+ #define SST_SIZE (_NSIG/8/sizeof(long))
+
+-int sigorset(sigset_t *dest, sigset_t *left, sigset_t *right)
++int sigorset(sigset_t *dest, const sigset_t *left, const sigset_t *right)
+ {
+ unsigned long i = 0, *d = (void*) dest, *l = (void*) left, *r = (void*) right;
+ for(; i < SST_SIZE; i++) d[i] = l[i] | r[i];
diff -Nur musl-0.9.15/src/signal/x32/restore.s musl-git/src/signal/x32/restore.s
--- musl-0.9.15/src/signal/x32/restore.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/signal/x32/restore.s 2014-02-25 15:24:14.000000000 +0100
++++ musl-git/src/signal/x32/restore.s 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,8 @@
+.global __restore_rt
+.global __restore
@@ -7547,7 +7685,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/signal/x32/sigsetjmp.s 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,14 @@
+/* Copyright 2011-2012 Nicholas J. Kain, licensed under standard MIT license */
+.global sigsetjmp
@@ -7565,7 +7703,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/stdio/__fdopen.c 2014-03-01 08:58:14.000000000 +0100
@@ -32,7 +32,9 @@
/* Set append mode on fd if opened for append */
if (*mode == 'a') {
@@ -7579,7 +7717,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/stdio/ftell.c 2014-03-01 08:58:14.000000000 +0100
@@ -4,7 +4,9 @@
off_t __ftello_unlocked(FILE *f)
@@ -7593,7 +7731,7 @@ diff -Nur musl-0.9.15/src/stdio/ftell.c musl-git/src/stdio/ftell.c
/* Adjust for data in buffer. */
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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/stdio/vfscanf.c 2014-03-01 08:58:14.000000000 +0100
@@ -328,3 +328,5 @@
FUNLOCK(f);
return matches;
@@ -7602,7 +7740,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/thread/arm/clone.s 2014-03-01 08:58:14.000000000 +0100
@@ -1,10 +1,7 @@
.text
.global __clone
@@ -7616,7 +7754,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/thread/cancel_dummy.c 2014-03-01 08:58:14.000000000 +0100
@@ -1,6 +1,9 @@
#include "pthread_impl.h"
+#include "syscall.h"
@@ -7630,7 +7768,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/thread/cancel_impl.c 2014-03-01 08:58:14.000000000 +0100
@@ -1,4 +1,5 @@
#include "pthread_impl.h"
+#include "syscall.h"
@@ -7655,7 +7793,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/thread/clone.c 2014-03-01 08:58:14.000000000 +0100
@@ -1,10 +1,7 @@
#include <errno.h>
-#include "libc.h"
@@ -7671,7 +7809,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/thread/i386/clone.s 2014-03-01 08:58:14.000000000 +0100
@@ -1,10 +1,7 @@
.text
.global __clone
@@ -7685,7 +7823,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/thread/microblaze/clone.s 2014-03-01 08:58:14.000000000 +0100
@@ -1,14 +1,11 @@
.global __clone
-.weak clone
@@ -7710,9 +7848,9 @@ diff -Nur musl-0.9.15/src/thread/microblaze/clone.s musl-git/src/thread/microbla
1: lwi r3, r1, 0
lwi r5, r1, 4
brald r15, r3
-diff -Nur musl-0.9.15/src/thread/superh/clone.s musl-git/src/thread/superh/clone.s
---- musl-0.9.15/src/thread/superh/clone.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/thread/superh/clone.s 2014-02-25 15:24:14.000000000 +0100
+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
@@ -0,0 +1,47 @@
+.text
+.global __clone
@@ -7761,18 +7899,18 @@ diff -Nur musl-0.9.15/src/thread/superh/clone.s musl-git/src/thread/superh/clone
+ or r0, r0
+ or r0, r0
+ or r0, r0
-diff -Nur musl-0.9.15/src/thread/superh/__set_thread_area.s musl-git/src/thread/superh/__set_thread_area.s
---- musl-0.9.15/src/thread/superh/__set_thread_area.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/thread/superh/__set_thread_area.s 2014-02-25 15:24:14.000000000 +0100
+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
@@ -0,0 +1,5 @@
+.global __set_thread_area
+.type __set_thread_area, @function
+__set_thread_area:
+ rts
+ ldc r4, gbr
-diff -Nur musl-0.9.15/src/thread/superh/syscall_cp.s musl-git/src/thread/superh/syscall_cp.s
---- musl-0.9.15/src/thread/superh/syscall_cp.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/thread/superh/syscall_cp.s 2014-02-25 15:24:14.000000000 +0100
+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
@@ -0,0 +1,39 @@
+.text
+.global __syscall_cp_asm
@@ -7813,9 +7951,9 @@ diff -Nur musl-0.9.15/src/thread/superh/syscall_cp.s musl-git/src/thread/superh/
+
+ rts
+ nop
-diff -Nur musl-0.9.15/src/thread/superh/__unmapself.s musl-git/src/thread/superh/__unmapself.s
---- musl-0.9.15/src/thread/superh/__unmapself.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/thread/superh/__unmapself.s 2014-02-25 15:24:14.000000000 +0100
+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
@@ -0,0 +1,22 @@
+.text
+.global __unmapself
@@ -7841,7 +7979,7 @@ diff -Nur musl-0.9.15/src/thread/superh/__unmapself.s musl-git/src/thread/superh
+ 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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/thread/__wait.c 2014-03-01 08:58:14.000000000 +0100
@@ -10,6 +10,6 @@
}
if (waiters) a_inc(waiters);
@@ -7852,7 +7990,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/thread/x32/clone.s 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,25 @@
+.text
+.global __clone
@@ -7881,7 +8019,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/thread/x32/__set_thread_area.s 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,10 @@
+/* Copyright 2011-2012 Nicholas J. Kain, licensed under standard MIT license */
+.text
@@ -7895,7 +8033,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/thread/x32/syscall_cp.s 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,23 @@
+.text
+.global __syscall_cp_internal
@@ -7922,7 +8060,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/thread/x32/__unmapself.s 2014-03-01 08:58:14.000000000 +0100
@@ -0,0 +1,10 @@
+/* Copyright 2011-2012 Nicholas J. Kain, licensed under standard MIT license */
+.text
@@ -7936,7 +8074,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/thread/x86_64/clone.s 2014-03-01 08:58:14.000000000 +0100
@@ -1,10 +1,7 @@
.text
.global __clone
@@ -7950,7 +8088,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/time/timer_delete.c 2014-03-01 08:58:14.000000000 +0100
@@ -10,5 +10,5 @@
__wake(&td->timer_id, 1, 1);
return 0;
@@ -7960,7 +8098,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/time/timer_getoverrun.c 2014-03-01 08:58:14.000000000 +0100
@@ -8,5 +8,5 @@
pthread_t td = (void *)((uintptr_t)t << 1);
t = (void *)(uintptr_t)(td->timer_id & INT_MAX);
@@ -7970,7 +8108,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/time/timer_gettime.c 2014-03-01 08:58:14.000000000 +0100
@@ -8,5 +8,5 @@
pthread_t td = (void *)((uintptr_t)t << 1);
t = (void *)(uintptr_t)(td->timer_id & INT_MAX);
@@ -7980,7 +8118,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-02-25 15:24:14.000000000 +0100
++++ musl-git/src/time/timer_settime.c 2014-03-01 08:58:14.000000000 +0100
@@ -8,5 +8,5 @@
pthread_t td = (void *)((uintptr_t)t << 1);
t = (void *)(uintptr_t)(td->timer_id & INT_MAX);
@@ -7988,9 +8126,9 @@ diff -Nur musl-0.9.15/src/time/timer_settime.c musl-git/src/time/timer_settime.c
- return syscall(SYS_timer_settime, (long)t, flags, val, old);
+ return syscall(SYS_timer_settime, t, flags, val, old);
}
-diff -Nur musl-0.9.15/src/unistd/superh/pipe.s musl-git/src/unistd/superh/pipe.s
---- musl-0.9.15/src/unistd/superh/pipe.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/unistd/superh/pipe.s 2014-02-25 15:24:14.000000000 +0100
+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
@@ -0,0 +1,27 @@
+.global pipe
+.type pipe, @function
@@ -8021,7 +8159,7 @@ diff -Nur musl-0.9.15/src/unistd/superh/pipe.s musl-git/src/unistd/superh/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-02-25 15:24:14.000000000 +0100
++++ musl-git/tools/install.sh 2014-03-01 08:58:14.000000000 +0100
@@ -51,6 +51,7 @@
ln -s "$1" "$tmp"
else
diff --git a/toolchain/uClibc/Makefile b/toolchain/uClibc/Makefile
index 47084994e..232c3944e 100644
--- a/toolchain/uClibc/Makefile
+++ b/toolchain/uClibc/Makefile
@@ -118,6 +118,10 @@ endif
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
+ PATH="$(TARGET_PATH)" prefix='${TARGET_CROSS}' ${BASH} ${SCRIPT_DIR}/rstrip.sh $(STAGING_TARGET_DIR)
+ prefix=' ' ${BASH} ${SCRIPT_DIR}/rstrip.sh $(STAGING_HOST_DIR)
touch $@
include ${TOPDIR}/mk/toolchain.mk
diff --git a/tools/Makefile b/tools/Makefile
index 4326dd4ab..2ffa4971c 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -3,13 +3,35 @@
include $(TOPDIR)/rules.mk
-TARGETS:=adk mkcrypt cpio mkimage genext2fs bc
-ifeq ($(ADK_TARGET_ROOTFS_ISO),y)
-TARGETS+=cdrtools syslinux
+TARGETS:=adk mkcrypt cpio bc bzip2 m4 xz
+
+ifeq ($(ADK_HOST_NEED_GENEXT2FS),y)
+TARGETS+=genext2fs
+endif
+ifeq ($(ADK_HOST_NEED_MKIMAGE),y)
+TARGETS+=mkimage
+endif
+ifeq ($(ADK_HOST_NEED_MKISOFS),y)
+TARGETS+=cdrtools
+endif
+ifeq ($(ADK_HOST_NEED_SYSLINUX),y)
+TARGETS+=syslinux
endif
-ifeq ($(ADK_TARGET_LIB_EGLIBC),y)
+ifeq ($(ADK_HOST_NEED_GPERF),y)
TARGETS+=gperf
endif
+ifeq ($(ADK_HOST_NEED_JFFS2),y)
+TARGETS+=mtd-utils
+endif
+ifeq ($(ADK_HOST_NEED_SQUASHFS),y)
+TARGETS+=squashfs
+endif
+ifeq ($(ADK_HOST_NEED_LZOP),y)
+TARGETS+=lzo lzop
+endif
+ifeq ($(ADK_HOST_NEED_LZMA),y)
+TARGETS+=lzma
+endif
TARGETS_INSTALL:=$(patsubst %,%-install,$(TARGETS))
TARGETS_CLEAN:=$(patsubst %,%-clean,$(TARGETS))
diff --git a/tools/addpattern/Makefile b/tools/addpattern/Makefile
new file mode 100644
index 000000000..10ba05933
--- /dev/null
+++ b/tools/addpattern/Makefile
@@ -0,0 +1,4 @@
+include $(TOPDIR)/rules.mk
+
+all: addpattern.c
+ $(CC_FOR_BUILD) $(FLAGS_FOR_BUILD) -o ${STAGING_HOST_DIR}/usr/bin/addpattern addpattern.c
diff --git a/target/tools/addpattern/addpattern.c b/tools/addpattern/addpattern.c
index 8133bf26e..8133bf26e 100644
--- a/target/tools/addpattern/addpattern.c
+++ b/tools/addpattern/addpattern.c
diff --git a/tools/adk/Makefile b/tools/adk/Makefile
index 60a50ffba..edd559f85 100644
--- a/tools/adk/Makefile
+++ b/tools/adk/Makefile
@@ -3,15 +3,15 @@
include $(TOPDIR)/rules.mk
-install: ${BIN_DIR}/depmaker ${BIN_DIR}/pkgrebuild ${BIN_DIR}/dkgetsz
+install: ${STAGING_HOST_DIR}/usr/bin/depmaker ${STAGING_HOST_DIR}/usr/bin/pkgrebuild ${STAGING_HOST_DIR}/usr/bin/dkgetsz
-${BIN_DIR}/depmaker: depmaker.c
+${STAGING_HOST_DIR}/usr/bin/depmaker: depmaker.c
${CC_FOR_BUILD} ${FLAGS_FOR_BUILD} -o $@ depmaker.c
-${BIN_DIR}/pkgrebuild: pkgrebuild.c strmap.c
+${STAGING_HOST_DIR}/usr/bin/pkgrebuild: pkgrebuild.c strmap.c
${CC_FOR_BUILD} ${FLAGS_FOR_BUILD} -o $@ pkgrebuild.c strmap.c
-${BIN_DIR}/dkgetsz: dkgetsz.c
+${STAGING_HOST_DIR}/usr/bin/dkgetsz: dkgetsz.c
${CC_FOR_BUILD} ${FLAGS_FOR_BUILD} -o $@ dkgetsz.c
include $(TOPDIR)/mk/tools.mk
diff --git a/tools/bc/Makefile b/tools/bc/Makefile
index 8d1561049..bb3c40492 100644
--- a/tools/bc/Makefile
+++ b/tools/bc/Makefile
@@ -11,15 +11,15 @@ PKG_SITES:= http://ftp.gnu.org/pub/gnu/bc/
include ../rules.mk
-install: ${BIN_DIR}/bc
+install: ${STAGING_HOST_DIR}/usr/bin/bc
$(WRKBUILD)/.compiled: ${WRKDIST}/.prepared
(cd ${WRKBUILD}; ./configure)
${MAKE} -C ${WRKBUILD} CC='${CC_FOR_BUILD}'
touch $@
-${BIN_DIR}/bc: $(WRKBUILD)/.compiled
+${STAGING_HOST_DIR}/usr/bin/bc: $(WRKBUILD)/.compiled
$(INSTALL_BIN) $(WRKBUILD)/bc/bc \
- ${BIN_DIR}
+ ${STAGING_HOST_DIR}/usr/bin
include $(TOPDIR)/mk/tools.mk
diff --git a/tools/bzip2/Makefile b/tools/bzip2/Makefile
new file mode 100644
index 000000000..a739f8d5f
--- /dev/null
+++ b/tools/bzip2/Makefile
@@ -0,0 +1,24 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:= bzip2
+PKG_VERSION:= 1.0.6
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 00b516f4704d4a7cb50a1d97e6e8e15b
+PKG_SITES:= http://www.bzip.org/${PKG_VERSION}/
+
+include ../rules.mk
+
+install: ${STAGING_HOST_DIR}/usr/bin/bzip2
+
+$(WRKBUILD)/.compiled: ${WRKDIST}/.prepared
+ ${MAKE} -C ${WRKBUILD} CC='${CC_FOR_BUILD}' PREFIX=$(STAGING_HOST_DIR)/usr
+ touch $@
+
+${STAGING_HOST_DIR}/usr/bin/bzip2: $(WRKBUILD)/.compiled
+ $(INSTALL_BIN) $(WRKBUILD)/bzip2 \
+ ${STAGING_HOST_DIR}/usr/bin
+
+include $(TOPDIR)/mk/tools.mk
diff --git a/tools/cdrtools/Makefile b/tools/cdrtools/Makefile
index 6ea90b821..6522b5760 100644
--- a/tools/cdrtools/Makefile
+++ b/tools/cdrtools/Makefile
@@ -11,15 +11,15 @@ PKG_SITES:= ftp://ftp.berlios.de/pub/cdrecord/
include ../rules.mk
-install: ${BIN_DIR}/mkisofs
+install: ${STAGING_HOST_DIR}/usr/bin/mkisofs
$(WRKBUILD)/.compiled: ${WRKDIST}/.prepared
#(cd ${WRKBUILD}; ./configure)
${MAKE} -C ${WRKBUILD} CC='${CC_FOR_BUILD}'
touch $@
-${BIN_DIR}/mkisofs: $(WRKBUILD)/.compiled
+${STAGING_HOST_DIR}/usr/bin/mkisofs: $(WRKBUILD)/.compiled
$(INSTALL_BIN) $(WRKBUILD)/mkisofs/OBJ/*/mkisofs \
- ${BIN_DIR}
+ ${STAGING_HOST_DIR}/usr/bin
include $(TOPDIR)/mk/tools.mk
diff --git a/tools/cpio/Makefile b/tools/cpio/Makefile
index 290eabc8b..ffccd1480 100644
--- a/tools/cpio/Makefile
+++ b/tools/cpio/Makefile
@@ -3,7 +3,7 @@
include $(TOPDIR)/rules.mk
-install: ${BIN_DIR}/cpio
+install: ${STAGING_HOST_DIR}/usr/bin/cpio
SRCS:= src/ib_open.c \
src/ib_close.c \
@@ -26,7 +26,7 @@ SRCS:= src/ib_open.c \
src/nonpax.c \
src/cpio.c
-${BIN_DIR}/cpio: ${SRCS}
+${STAGING_HOST_DIR}/usr/bin/cpio: ${SRCS}
${CC_FOR_BUILD} ${FLAGS_FOR_BUILD} -D_GNU_SOURCE -Isrc -o $@ $^
include $(TOPDIR)/mk/tools.mk
diff --git a/tools/genext2fs/Makefile b/tools/genext2fs/Makefile
index b19662941..07e24d028 100644
--- a/tools/genext2fs/Makefile
+++ b/tools/genext2fs/Makefile
@@ -11,15 +11,15 @@ PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=genext2fs/}
include ../rules.mk
-install: ${BIN_DIR}/genext2fs
+install: ${STAGING_HOST_DIR}/usr/bin/genext2fs
$(WRKBUILD)/.compiled: ${WRKDIST}/.prepared
(cd ${WRKBUILD}; ./configure)
${MAKE} -C ${WRKBUILD} CC='${CC_FOR_BUILD}'
touch $@
-${BIN_DIR}/genext2fs: $(WRKBUILD)/.compiled
+${STAGING_HOST_DIR}/usr/bin/genext2fs: $(WRKBUILD)/.compiled
$(INSTALL_BIN) $(WRKBUILD)/genext2fs \
- ${BIN_DIR}
+ ${STAGING_HOST_DIR}/usr/bin
include $(TOPDIR)/mk/tools.mk
diff --git a/tools/gperf/Makefile b/tools/gperf/Makefile
index 7b0d0af77..7f7d6466d 100644
--- a/tools/gperf/Makefile
+++ b/tools/gperf/Makefile
@@ -11,15 +11,15 @@ PKG_SITES:= http://ftp.gnu.org/pub/gnu/gperf/
include ../rules.mk
-install: ${BIN_DIR}/gperf
+install: ${STAGING_HOST_DIR}/usr/bin/gperf
$(WRKBUILD)/.compiled: ${WRKDIST}/.prepared
(cd ${WRKBUILD}; ./configure)
${MAKE} -C ${WRKBUILD} CC='${CC_FOR_BUILD}'
touch $@
-${BIN_DIR}/gperf: $(WRKBUILD)/.compiled
+${STAGING_HOST_DIR}/usr/bin/gperf: $(WRKBUILD)/.compiled
$(INSTALL_BIN) $(WRKBUILD)/src/gperf \
- ${BIN_DIR}
+ ${STAGING_HOST_DIR}/usr/bin
include $(TOPDIR)/mk/tools.mk
diff --git a/target/tools/lzma-loader/Makefile b/tools/lzma-loader/Makefile
index ad4a531b6..ad4a531b6 100644
--- a/target/tools/lzma-loader/Makefile
+++ b/tools/lzma-loader/Makefile
diff --git a/target/tools/lzma-loader/src/LzmaDecode.c b/tools/lzma-loader/src/LzmaDecode.c
index 951700bdd..951700bdd 100644
--- a/target/tools/lzma-loader/src/LzmaDecode.c
+++ b/tools/lzma-loader/src/LzmaDecode.c
diff --git a/target/tools/lzma-loader/src/LzmaDecode.h b/tools/lzma-loader/src/LzmaDecode.h
index f58944e3c..f58944e3c 100644
--- a/target/tools/lzma-loader/src/LzmaDecode.h
+++ b/tools/lzma-loader/src/LzmaDecode.h
diff --git a/target/tools/lzma-loader/src/LzmaDecode.o b/tools/lzma-loader/src/LzmaDecode.o
index 3d7be3f4d..3d7be3f4d 100644
--- a/target/tools/lzma-loader/src/LzmaDecode.o
+++ b/tools/lzma-loader/src/LzmaDecode.o
Binary files differ
diff --git a/target/tools/lzma-loader/src/Makefile b/tools/lzma-loader/src/Makefile
index f5d780c2b..f5d780c2b 100644
--- a/target/tools/lzma-loader/src/Makefile
+++ b/tools/lzma-loader/src/Makefile
diff --git a/target/tools/lzma-loader/src/README b/tools/lzma-loader/src/README
index 16649e950..16649e950 100644
--- a/target/tools/lzma-loader/src/README
+++ b/tools/lzma-loader/src/README
diff --git a/target/tools/lzma-loader/src/data.lds b/tools/lzma-loader/src/data.lds
index ec48b2dfd..ec48b2dfd 100644
--- a/target/tools/lzma-loader/src/data.lds
+++ b/tools/lzma-loader/src/data.lds
diff --git a/target/tools/lzma-loader/src/data.o b/tools/lzma-loader/src/data.o
index 3c398909f..3c398909f 100644
--- a/target/tools/lzma-loader/src/data.o
+++ b/tools/lzma-loader/src/data.o
Binary files differ
diff --git a/target/tools/lzma-loader/src/decompress b/tools/lzma-loader/src/decompress
index 9b2091e78..9b2091e78 100755
--- a/target/tools/lzma-loader/src/decompress
+++ b/tools/lzma-loader/src/decompress
Binary files differ
diff --git a/target/tools/lzma-loader/src/decompress.c b/tools/lzma-loader/src/decompress.c
index 05681b152..05681b152 100644
--- a/target/tools/lzma-loader/src/decompress.c
+++ b/tools/lzma-loader/src/decompress.c
diff --git a/target/tools/lzma-loader/src/decompress.image b/tools/lzma-loader/src/decompress.image
index b0cb1af95..b0cb1af95 100755
--- a/target/tools/lzma-loader/src/decompress.image
+++ b/tools/lzma-loader/src/decompress.image
Binary files differ
diff --git a/target/tools/lzma-loader/src/decompress.lds b/tools/lzma-loader/src/decompress.lds
index 7da944d0c..7da944d0c 100644
--- a/target/tools/lzma-loader/src/decompress.lds
+++ b/tools/lzma-loader/src/decompress.lds
diff --git a/target/tools/lzma-loader/src/decompress.lds.in b/tools/lzma-loader/src/decompress.lds.in
index 33f56f8a0..33f56f8a0 100644
--- a/target/tools/lzma-loader/src/decompress.lds.in
+++ b/tools/lzma-loader/src/decompress.lds.in
diff --git a/target/tools/lzma-loader/src/decompress.o b/tools/lzma-loader/src/decompress.o
index 483bc0b32..483bc0b32 100644
--- a/target/tools/lzma-loader/src/decompress.o
+++ b/tools/lzma-loader/src/decompress.o
Binary files differ
diff --git a/target/tools/lzma-loader/src/head.S b/tools/lzma-loader/src/head.S
index 3a33e4016..3a33e4016 100644
--- a/target/tools/lzma-loader/src/head.S
+++ b/tools/lzma-loader/src/head.S
diff --git a/target/tools/lzma-loader/src/head.o b/tools/lzma-loader/src/head.o
index 04763fa4b..04763fa4b 100644
--- a/target/tools/lzma-loader/src/head.o
+++ b/tools/lzma-loader/src/head.o
Binary files differ
diff --git a/target/tools/lzma-loader/src/loader b/tools/lzma-loader/src/loader
index 871117b87..871117b87 100755
--- a/target/tools/lzma-loader/src/loader
+++ b/tools/lzma-loader/src/loader
Binary files differ
diff --git a/target/tools/lzma-loader/src/loader.elf b/tools/lzma-loader/src/loader.elf
index 0633a0e77..0633a0e77 100755
--- a/target/tools/lzma-loader/src/loader.elf
+++ b/tools/lzma-loader/src/loader.elf
Binary files differ
diff --git a/target/tools/lzma-loader/src/loader.gz b/tools/lzma-loader/src/loader.gz
index 426c9295e..426c9295e 100644
--- a/target/tools/lzma-loader/src/loader.gz
+++ b/tools/lzma-loader/src/loader.gz
Binary files differ
diff --git a/target/tools/lzma-loader/src/loader.lds b/tools/lzma-loader/src/loader.lds
index 9d95adbfa..9d95adbfa 100644
--- a/target/tools/lzma-loader/src/loader.lds
+++ b/tools/lzma-loader/src/loader.lds
diff --git a/target/tools/lzma-loader/src/loader.lds.in b/tools/lzma-loader/src/loader.lds.in
index 20f2ea98e..20f2ea98e 100644
--- a/target/tools/lzma-loader/src/loader.lds.in
+++ b/tools/lzma-loader/src/loader.lds.in
diff --git a/target/tools/lzma-loader/src/loader.o b/tools/lzma-loader/src/loader.o
index 0633a0e77..0633a0e77 100755
--- a/target/tools/lzma-loader/src/loader.o
+++ b/tools/lzma-loader/src/loader.o
Binary files differ
diff --git a/target/tools/lzma/Makefile b/tools/lzma/Makefile
index 23cbc7f73..3ca257783 100644
--- a/target/tools/lzma/Makefile
+++ b/tools/lzma/Makefile
@@ -10,11 +10,10 @@ PKG_MD5SUM:= 434e51a018b4c8ef377bf81520a53af0
PKG_SITES:= http://downloads.openwrt.org/sources/
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.bz2
-#WRKDIST= ${WRKDIR}/$(PKG_NAME)${PKG_VERSION}
include ../rules.mk
-all: ${STAGING_HOST_DIR}/bin/lzma
+install: ${STAGING_HOST_DIR}/usr/bin/lzma
UTIL_DIR=$(WRKBUILD)/C/LzmaUtil
ALONE_DIR=$(WRKBUILD)/CPP/7zip/Compress/LZMA_Alone
@@ -24,8 +23,8 @@ $(WRKBUILD)/.compiled: ${WRKDIST}/.prepared
$(MAKE) -C $(ALONE_DIR) -f makefile.gcc
touch $@
-${STAGING_HOST_DIR}/bin/lzma: $(WRKBUILD)/.compiled
+${STAGING_HOST_DIR}/usr/bin/lzma: $(WRKBUILD)/.compiled
$(INSTALL_BIN) $(WRKBUILD)/CPP/7zip/Compress/LZMA_Alone/lzma_alone \
- $(STAGING_DIR)/bin/lzma
+ $(STAGING_DIR)/usr/bin/lzma
include $(TOPDIR)/mk/tools.mk
diff --git a/target/tools/lzma/patches/001-large_files.patch b/tools/lzma/patches/001-large_files.patch
index b95fe9e90..b95fe9e90 100644
--- a/target/tools/lzma/patches/001-large_files.patch
+++ b/tools/lzma/patches/001-large_files.patch
diff --git a/target/tools/lzma/patches/002-lzmp.patch b/tools/lzma/patches/002-lzmp.patch
index 72d881cdb..72d881cdb 100644
--- a/target/tools/lzma/patches/002-lzmp.patch
+++ b/tools/lzma/patches/002-lzmp.patch
diff --git a/target/tools/lzma/patches/003-compile_fixes.patch b/tools/lzma/patches/003-compile_fixes.patch
index 49ae66b9c..49ae66b9c 100644
--- a/target/tools/lzma/patches/003-compile_fixes.patch
+++ b/tools/lzma/patches/003-compile_fixes.patch
diff --git a/target/tools/lzma/patches/100-static_library.patch b/tools/lzma/patches/100-static_library.patch
index 15ab4e055..15ab4e055 100644
--- a/target/tools/lzma/patches/100-static_library.patch
+++ b/tools/lzma/patches/100-static_library.patch
diff --git a/tools/lzo/Makefile b/tools/lzo/Makefile
new file mode 100644
index 000000000..8f965d7ea
--- /dev/null
+++ b/tools/lzo/Makefile
@@ -0,0 +1,28 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:= lzo
+PKG_VERSION:= 2.06
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 95380bd4081f85ef08c5209f4107e9f8
+PKG_SITES:= http://www.oberhumer.com/opensource/lzo/download/
+
+include ../rules.mk
+
+install: $(WRKBUILD)/.installed
+
+$(WRKBUILD)/.configured: ${WRKDIST}/.prepared
+ (cd ${WRKBUILD}; ./configure --prefix=$(STAGING_HOST_DIR)/usr)
+ @touch $@
+
+$(WRKBUILD)/.compiled: $(WRKBUILD)/.configured
+ ${MAKE} -C ${WRKBUILD}
+ @touch $@
+
+$(WRKBUILD)/.installed: $(WRKBUILD)/.compiled
+ ${MAKE} -C ${WRKBUILD} install
+ @touch $@
+
+include $(TOPDIR)/mk/tools.mk
diff --git a/tools/lzop/Makefile b/tools/lzop/Makefile
new file mode 100644
index 000000000..af08536c4
--- /dev/null
+++ b/tools/lzop/Makefile
@@ -0,0 +1,30 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:= lzop
+PKG_VERSION:= 1.03
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 006c5e27fb78cdd14a628fdfa5aa1905
+PKG_SITES:= http://www.lzop.org/download/
+
+include ../rules.mk
+
+install: $(WRKBUILD)/.installed
+
+$(WRKBUILD)/.configured: ${WRKDIST}/.prepared
+ (cd ${WRKBUILD}; CPPFLAGS='$(CPPFLAGS_FOR_BUILD)' \
+ LDFLAGS='$(LDFLAGS_FOR_BUILD)' \
+ ./configure --prefix=$(STAGING_HOST_DIR)/usr)
+ @touch $@
+
+$(WRKBUILD)/.compiled: $(WRKBUILD)/.configured
+ ${MAKE} -C ${WRKBUILD}
+ @touch $@
+
+$(WRKBUILD)/.installed: $(WRKBUILD)/.compiled
+ ${MAKE} -C ${WRKBUILD} install
+ @touch $@
+
+include $(TOPDIR)/mk/tools.mk
diff --git a/tools/m4/Makefile b/tools/m4/Makefile
new file mode 100644
index 000000000..996132510
--- /dev/null
+++ b/tools/m4/Makefile
@@ -0,0 +1,25 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:= m4
+PKG_VERSION:= 1.4.17
+PKG_RELEASE:= 1
+PKG_MD5SUM:= a5e9954b1dae036762f7b13673a2cf76
+PKG_SITES:= http://www.gnu.org/software/m4/
+
+include ../rules.mk
+
+install: ${STAGING_HOST_DIR}/usr/bin/m4
+
+$(WRKBUILD)/.compiled: ${WRKDIST}/.prepared
+ (cd ${WRKBUILD}; ./configure --prefix=$(STAGING_HOST_DIR)/usr)
+ ${MAKE} -C ${WRKBUILD} CC='${CC_FOR_BUILD}'
+ touch $@
+
+${STAGING_HOST_DIR}/usr/bin/m4: $(WRKBUILD)/.compiled
+ $(INSTALL_BIN) $(WRKBUILD)/src/m4 \
+ ${STAGING_HOST_DIR}/usr/bin
+
+include $(TOPDIR)/mk/tools.mk
diff --git a/tools/mkcrypt/Makefile b/tools/mkcrypt/Makefile
index c36ec2a5a..089c6ad7b 100644
--- a/tools/mkcrypt/Makefile
+++ b/tools/mkcrypt/Makefile
@@ -3,9 +3,9 @@
include $(TOPDIR)/rules.mk
-install: ${BIN_DIR}/mkcrypt
+install: ${STAGING_HOST_DIR}/usr/bin/mkcrypt
-${BIN_DIR}/mkcrypt:
+${STAGING_HOST_DIR}/usr/bin/mkcrypt:
$(CC_FOR_BUILD) ${FLAGS_FOR_BUILD} -o $@ mkcrypt.c
include $(TOPDIR)/mk/tools.mk
diff --git a/tools/mkfimage/Makefile b/tools/mkfimage/Makefile
new file mode 100644
index 000000000..195614f2b
--- /dev/null
+++ b/tools/mkfimage/Makefile
@@ -0,0 +1,4 @@
+include $(TOPDIR)/rules.mk
+
+all: mkfimage.c
+ $(CC_FOR_BUILD) ${FLAGS_FOR_BUILD} -o ${STAGING_HOST_DIR}/usr/bin/mkfimage mkfimage.c $(MAKE_TRACE)
diff --git a/target/tools/mkfimage/mkfimage.c b/tools/mkfimage/mkfimage.c
index b1897fbd7..b1897fbd7 100644
--- a/target/tools/mkfimage/mkfimage.c
+++ b/tools/mkfimage/mkfimage.c
diff --git a/tools/mkimage/Makefile b/tools/mkimage/Makefile
index 66d058370..db2e42c3f 100644
--- a/tools/mkimage/Makefile
+++ b/tools/mkimage/Makefile
@@ -3,9 +3,9 @@
include $(TOPDIR)/rules.mk
-install: ${BIN_DIR}/mkimage
+install: ${STAGING_HOST_DIR}/usr/bin/mkimage
-${BIN_DIR}/mkimage: mkimage.c crc32.c
+${STAGING_HOST_DIR}/usr/bin/mkimage: mkimage.c crc32.c
$(CC_FOR_BUILD) ${FLAGS_FOR_BUILD} -o $@ mkimage.c crc32.c
include $(TOPDIR)/mk/tools.mk
diff --git a/target/tools/mtd-utils/Makefile b/tools/mtd-utils/Makefile
index 38f10de69..0152a41ac 100644
--- a/target/tools/mtd-utils/Makefile
+++ b/tools/mtd-utils/Makefile
@@ -11,14 +11,14 @@ PKG_SITES:= http://openadk.org/distfiles/
include ../rules.mk
-all: ${STAGING_HOST_DIR}/bin/mkfs.jffs2
+install: ${STAGING_HOST_DIR}/usr/bin/mkfs.jffs2
$(WRKBUILD)/.compiled: ${WRKDIST}/.prepared
${MAKE} -C ${WRKBUILD} CC='${CC_FOR_BUILD}' CPPFLAGS='-DWITHOUT_XATTR=1 -I./include'
touch $@
-${STAGING_HOST_DIR}/bin/mkfs.jffs2: $(WRKBUILD)/.compiled
+${STAGING_HOST_DIR}/usr/bin/mkfs.jffs2: $(WRKBUILD)/.compiled
$(INSTALL_BIN) $(WRKBUILD)/mkfs.jffs2 \
- ${STAGING_HOST_DIR}/bin
+ ${STAGING_HOST_DIR}/usr/bin
include $(TOPDIR)/mk/tools.mk
diff --git a/target/tools/mtd-utils/patches/lzo.patch b/tools/mtd-utils/patches/lzo.patch
index 52f16146c..52f16146c 100644
--- a/target/tools/mtd-utils/patches/lzo.patch
+++ b/tools/mtd-utils/patches/lzo.patch
diff --git a/target/tools/squashfs/Makefile b/tools/squashfs/Makefile
index 94b3a0115..423008ff8 100644
--- a/target/tools/squashfs/Makefile
+++ b/tools/squashfs/Makefile
@@ -14,16 +14,16 @@ WRKDIST= ${WRKDIR}/$(PKG_NAME)${PKG_VERSION}
include ../rules.mk
-all: ${STAGING_HOST_DIR}/bin/mksquashfs
+install: ${STAGING_HOST_DIR}/usr/bin/mksquashfs
$(WRKBUILD)/.compiled: ${WRKDIST}/.prepared
${MAKE} -C ${WRKBUILD}/squashfs-tools CC='${CC_FOR_BUILD}' \
XZ_SUPPORT=1 CPPFLAGS_FOR_BUILD=$(CPPFLAGS_FOR_BUILD) \
EXTRA_LDFLAGS=$(LDFLAGS_FOR_BUILD)
- touch $@
+ @touch $@
-${STAGING_HOST_DIR}/bin/mksquashfs: $(WRKBUILD)/.compiled
+${STAGING_HOST_DIR}/usr/bin/mksquashfs: $(WRKBUILD)/.compiled
$(INSTALL_BIN) $(WRKBUILD)/squashfs-tools/mksquashfs \
- ${STAGING_HOST_DIR}/bin
+ ${STAGING_HOST_DIR}/usr/bin
include $(TOPDIR)/mk/tools.mk
diff --git a/target/tools/squashfs/patches/cppflags.patch b/tools/squashfs/patches/cppflags.patch
index 1432ea3cf..1432ea3cf 100644
--- a/target/tools/squashfs/patches/cppflags.patch
+++ b/tools/squashfs/patches/cppflags.patch
diff --git a/tools/srec2bin/Makefile b/tools/srec2bin/Makefile
new file mode 100644
index 000000000..01021c8ff
--- /dev/null
+++ b/tools/srec2bin/Makefile
@@ -0,0 +1,4 @@
+include $(TOPDIR)/rules.mk
+
+all: srec2bin.c
+ $(CC_FOR_BUILD) $(FLAGS_FOR_BUILD) -o ${STAGING_HOST_DIR}/usr/bin/srec2bin srec2bin.c
diff --git a/target/tools/srec2bin/srec2bin.c b/tools/srec2bin/srec2bin.c
index 8ba4387e6..8ba4387e6 100644
--- a/target/tools/srec2bin/srec2bin.c
+++ b/tools/srec2bin/srec2bin.c
diff --git a/tools/syslinux/Makefile b/tools/syslinux/Makefile
index 5543813d5..1344538d1 100644
--- a/tools/syslinux/Makefile
+++ b/tools/syslinux/Makefile
@@ -12,27 +12,26 @@ PKG_SITES:= http://www.kernel.org/pub/linux/utils/boot/syslinux/
include ../rules.mk
WRKINST:= ${WRKBUILD}/openadk_installroot
-install: ${BIN_DIR}/extlinux ${STAGING_HOST_DIR}/usr/share/syslinux/.installed
+install: ${STAGING_HOST_DIR}/usr/bin/extlinux ${STAGING_HOST_DIR}/usr/share/syslinux/.installed
$(WRKBUILD)/.compiled: ${WRKDIST}/.prepared
- #(cd ${WRKBUILD}; ./configure)
${MAKE} -C ${WRKBUILD} CC='${CC_FOR_BUILD}' bios installer
- touch $@
+ @touch $@
$(WRKBUILD)/.installed: ${WRKBUILD}/.compiled
mkdir -p ${WRKINST}
${MAKE} -C ${WRKBUILD} CC='${CC_FOR_BUILD}' \
INSTALLROOT='${WRKINST}' \
bios install
- touch $@
+ @touch $@
-${BIN_DIR}/extlinux: $(WRKBUILD)/.installed
+${STAGING_HOST_DIR}/usr/bin/extlinux: $(WRKBUILD)/.installed
$(INSTALL_BIN) ${WRKINST}/sbin/extlinux \
- ${BIN_DIR}
+ ${STAGING_HOST_DIR}/usr/bin
${STAGING_HOST_DIR}/usr/share/syslinux/.installed: ${WRKBUILD}/.installed
mkdir -p ${STAGING_HOST_DIR}/usr/share
${CP} ${WRKINST}/usr/share/syslinux ${STAGING_HOST_DIR}/usr/share
- touch ${STAGING_HOST_DIR}/usr/share/syslinux/.installed
+ @touch ${STAGING_HOST_DIR}/usr/share/syslinux/.installed
include $(TOPDIR)/mk/tools.mk
diff --git a/tools/trx/Makefile b/tools/trx/Makefile
new file mode 100644
index 000000000..25e2b02db
--- /dev/null
+++ b/tools/trx/Makefile
@@ -0,0 +1,4 @@
+include $(TOPDIR)/rules.mk
+
+all: trx.c
+ $(CC_FOR_BUILD) $(FLAGS_FOR_BUILD) -o ${STAGING_HOST_DIR}/usr/bin/trx trx.c
diff --git a/target/tools/trx/trx.c b/tools/trx/trx.c
index 9e4d521ca..9e4d521ca 100644
--- a/target/tools/trx/trx.c
+++ b/tools/trx/trx.c
diff --git a/target/tools/xz/Makefile b/tools/xz/Makefile
index 6cefbb476..fa4c51f92 100644
--- a/target/tools/xz/Makefile
+++ b/tools/xz/Makefile
@@ -11,18 +11,18 @@ PKG_SITES:= http://tukaani.org/xz/
include ../rules.mk
-all: $(WRKBUILD)/.installed
+install: $(WRKBUILD)/.installed
$(WRKBUILD)/.configured: ${WRKDIST}/.prepared
(cd ${WRKBUILD}; ./configure --prefix=$(STAGING_HOST_DIR)/usr)
- touch $@
+ @touch $@
$(WRKBUILD)/.compiled: $(WRKBUILD)/.configured
${MAKE} -C ${WRKBUILD}
- touch $@
+ @touch $@
$(WRKBUILD)/.installed: $(WRKBUILD)/.compiled
${MAKE} -C ${WRKBUILD} install
- touch $@
+ @touch $@
include $(TOPDIR)/mk/tools.mk