Browse Source

add x32 toolchain and kernel support

Waldemar Brodkorb 11 years ago
parent
commit
65ba91df3f
100 changed files with 1892 additions and 3664 deletions
  1. 0 1
      .gitignore
  2. 1 5
      README
  3. 3 9
      TODO
  4. 23 23
      mk/build.mk
  5. 1 1
      mk/host.mk
  6. 6 6
      mk/image.mk
  7. 1 1
      mk/kernel-vars.mk
  8. 1 1
      mk/kernel-ver.mk
  9. 1 1
      mk/package.mk
  10. 3 3
      mk/pkg-bottom.mk
  11. 24 20
      mk/vars.mk
  12. 3 1
      package/avahi/Makefile
  13. 1 1
      package/base-files/Makefile
  14. 1 1
      package/dropbear/Makefile
  15. 35 0
      package/dropbear/patches/patch-Makefile_in
  16. 7 4
      package/gcc/Makefile
  17. 698 0
      package/gcc/patches/4.8.2/musl-cross.patch
  18. 5 3
      package/gcj/Makefile
  19. 2 2
      package/gpm/Makefile
  20. 18 6
      package/mpd/Makefile
  21. 1 1
      package/openjdk7/Makefile
  22. 92 0
      package/perl/files/config.sh.mips64.eglibc
  23. 92 0
      package/perl/files/config.sh.mips64.uclibc
  24. 92 0
      package/perl/files/config.sh.mipsel.musl
  25. 1 1
      package/xbmc/Makefile
  26. 1 0
      rules.mk
  27. 3 2
      scripts/create.sh
  28. 0 11
      scripts/scan-pkgs.sh
  29. 0 36
      scripts/scan-tools.sh
  30. 2 2
      target/arm/sys-available/toolchain-arm
  31. 0 11
      target/arm/sys-available/toolchain-armeb
  32. 12 0
      target/arm/sys-available/toolchain-armhf
  33. 24 0
      target/config/Config.in
  34. 40 0
      target/config/Config.in.tools
  35. 6 2
      target/linux/config/Config.in.kernel
  36. 1 2
      target/linux/kernel.config
  37. 6 11
      target/microblaze/Makefile
  38. 1 11
      target/microblaze/kernel/qemu-microblaze-ml605
  39. 1 11
      target/microblaze/kernel/qemu-microblaze-s3adsp1800
  40. 3 11
      target/mips/Makefile
  41. 1 0
      target/ppc/sys-available/toolchain-ppc
  42. 1 0
      target/ppc64/sys-available/toolchain-ppc64
  43. 3 3
      target/sh/Makefile
  44. 0 1660
      target/sh/kernel.config
  45. 58 0
      target/sh/kernel/qemu-sh
  46. 2 0
      target/sh/sys-available/qemu-sh4
  47. 2 0
      target/sh/sys-available/qemu-sh4eb
  48. 0 1
      target/tarch.lst
  49. 0 4
      target/tools/addpattern/Makefile
  50. 0 300
      target/tools/lzma-loader/.svn/entries
  51. 0 663
      target/tools/lzma-loader/.svn/text-base/LzmaDecode.c.svn-base
  52. 0 100
      target/tools/lzma-loader/.svn/text-base/LzmaDecode.h.svn-base
  53. 0 77
      target/tools/lzma-loader/.svn/text-base/Makefile.svn-base
  54. 0 55
      target/tools/lzma-loader/.svn/text-base/README.svn-base
  55. 0 186
      target/tools/lzma-loader/.svn/text-base/decompress.c.svn-base
  56. 0 20
      target/tools/lzma-loader/.svn/text-base/decompress.lds.in.svn-base
  57. 0 160
      target/tools/lzma-loader/.svn/text-base/head.S.svn-base
  58. 0 17
      target/tools/lzma-loader/.svn/text-base/loader.lds.in.svn-base
  59. 0 4
      target/tools/mkfimage/Makefile
  60. 0 7
      target/tools/rules.mk
  61. 0 4
      target/tools/srec2bin/Makefile
  62. 0 4
      target/tools/trx/Makefile
  63. 3 0
      target/x86/kernel/qemu-i686
  64. 6 1
      toolchain/eglibc/Makefile
  65. 4 3
      toolchain/gcc/Makefile
  66. 1 1
      toolchain/gcc/patches/4.7.3/musl-sh.patch
  67. 3 3
      toolchain/gcc/patches/4.7.3/musl-sparc.patch
  68. 231 0
      toolchain/gcc/patches/4.8.2/cflags.patch
  69. 49 0
      toolchain/gcc/patches/4.8.2/musl-stubs.patch
  70. 6 0
      toolchain/glibc/Makefile
  71. 2 2
      toolchain/gmp/Makefile
  72. 2 0
      toolchain/kernel-headers/Makefile
  73. 7 0
      toolchain/musl/Makefile
  74. 197 165
      toolchain/musl/patches/musl-git-20140301.patch
  75. 4 0
      toolchain/uClibc/Makefile
  76. 26 4
      tools/Makefile
  77. 4 0
      tools/addpattern/Makefile
  78. 0 0
      tools/addpattern/addpattern.c
  79. 4 4
      tools/adk/Makefile
  80. 4 4
      tools/bc/Makefile
  81. 24 0
      tools/bzip2/Makefile
  82. 3 3
      tools/cdrtools/Makefile
  83. 2 2
      tools/cpio/Makefile
  84. 25 0
      tools/flex/Makefile
  85. 3 3
      tools/genext2fs/Makefile
  86. 3 3
      tools/gperf/Makefile
  87. 0 0
      tools/lzma-loader/Makefile
  88. 0 0
      tools/lzma-loader/src/LzmaDecode.c
  89. 0 0
      tools/lzma-loader/src/LzmaDecode.h
  90. 0 0
      tools/lzma-loader/src/LzmaDecode.o
  91. 0 0
      tools/lzma-loader/src/Makefile
  92. 0 0
      tools/lzma-loader/src/README
  93. 0 0
      tools/lzma-loader/src/data.lds
  94. 0 0
      tools/lzma-loader/src/data.o
  95. 0 0
      tools/lzma-loader/src/decompress
  96. 0 0
      tools/lzma-loader/src/decompress.c
  97. 0 0
      tools/lzma-loader/src/decompress.image
  98. 0 0
      tools/lzma-loader/src/decompress.lds
  99. 0 0
      tools/lzma-loader/src/decompress.lds.in
  100. 0 0
      tools/lzma-loader/src/decompress.o

+ 0 - 1
.gitignore

@@ -30,7 +30,6 @@
 /host_*/
 /host_*/
 /pkg_*/
 /pkg_*/
 /root_*/
 /root_*/
-/bin/
 /firmware/
 /firmware/
 /build_*/
 /build_*/
 /config/*.o
 /config/*.o

+ 1 - 5
README

@@ -8,16 +8,11 @@ Before you can start you need to install some tools:
 - gcc 
 - gcc 
 - binutils 
 - binutils 
 - GNU make
 - GNU make
-- GNU m4
 - GNU awk
 - GNU awk
 - GNU sed
 - GNU sed
 - tar
 - tar
 - patch
 - patch
 - gzip
 - gzip
-- bzip2
-- lzop
-- lzma
-- xz
 - wget
 - wget
 - libc headers
 - libc headers
 - ncurses5 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.
 backup your existing configuration and will start with an empty one.
 
 
 Sunshine!
 Sunshine!
+ Waldemar Brodkorb <wbx@openadk.org>

+ 3 - 9
TODO

@@ -1,15 +1,9 @@
-- update gcc to 4.8.2
 - port uuterm
 - port uuterm
-- socat openssl flavour + update
+- move tools to package host infrastructure, resolve dependency handling for host tools
-- use gnu_host_name for host_ dir
-- move target/tools to tools, mv binaries to host_ dir, use ADK_HOST_NEED_FOO (xz,lzop,bzip2,..)
-- add toolchain archive creation target (optimize for size)
-- hash-style=gnu for non-mips and non-musl
-- add arm hard and softfloat toolchains
 - add misp64 n32/n64 toolchains
 - add misp64 n32/n64 toolchains
-- add support for static toolchains
+- hash-style=gnu for non-mips and non-musl
+- socat openssl flavour + update
 - add fb full screen logo
 - add fb full screen logo
-- qemu-system-mips64el memory alloc probs
 - port opkg with gpg signing
 - port opkg with gpg signing
 - restart network (kill wpa_supplicant)
 - restart network (kill wpa_supplicant)
 - essid with spaces
 - essid with spaces

+ 23 - 23
mk/build.mk

@@ -91,7 +91,7 @@ POSTCONFIG=		-@\
 	if [ -f .adkinit ];then rm .adkinit;\
 	if [ -f .adkinit ];then rm .adkinit;\
 	else \
 	else \
 	if [ -f .config.old ];then \
 	if [ -f .config.old ];then \
-		$(TOPDIR)/bin/pkgrebuild;\
+		$(TOPDIR)/host_$(GNU_HOST_NAME)/usr/bin/pkgrebuild;\
 		rebuild=0; \
 		rebuild=0; \
 		if [ "$$(grep ^BUSYBOX .config|md5sum)" != "$$(grep ^BUSYBOX .config.old|md5sum)" ];then \
 		if [ "$$(grep ^BUSYBOX .config|md5sum)" != "$$(grep ^BUSYBOX .config.old|md5sum)" ];then \
 			touch .rebuild.busybox;\
 			touch .rebuild.busybox;\
@@ -138,14 +138,14 @@ include $(TOPDIR)/rules.mk
 all: world
 all: world
 
 
 ${TOPDIR}/package/Depends.mk: ${TOPDIR}/.config $(wildcard ${TOPDIR}/package/*/Makefile)
 ${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:
 .NOTPARALLEL:
 .PHONY: all world clean cleantarget cleandir distclean image_clean
 .PHONY: all world clean cleantarget cleandir distclean image_clean
 
 
 world:
 world:
 	mkdir -p $(DISTDIR) $(BUILD_DIR) $(TARGET_DIR) $(FW_DIR) \
 	mkdir -p $(DISTDIR) $(BUILD_DIR) $(TARGET_DIR) $(FW_DIR) \
-		$(PACKAGE_DIR) $(BIN_DIR) $(TOOLS_BUILD_DIR) \
+		$(PACKAGE_DIR) $(TOOLS_BUILD_DIR) $(STAGING_HOST_DIR)/usr/bin \
 		$(TOOLCHAIN_BUILD_DIR) $(STAGING_PKG_DIR)/stamps
 		$(TOOLCHAIN_BUILD_DIR) $(STAGING_PKG_DIR)/stamps
 	${BASH} ${TOPDIR}/scripts/scan-pkgs.sh
 	${BASH} ${TOPDIR}/scripts/scan-pkgs.sh
 	${BASH} ${TOPDIR}/scripts/update-sys
 	${BASH} ${TOPDIR}/scripts/update-sys
@@ -155,12 +155,12 @@ ifeq ($(ADK_NATIVE),y)
 else
 else
 ifeq ($(ADK_TOOLCHAIN),y)
 ifeq ($(ADK_TOOLCHAIN),y)
 ifeq ($(ADK_TOOLCHAIN_ONLY),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
 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
 endif
 else
 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
 endif
 endif
 
 
@@ -250,13 +250,13 @@ root_clean:
 clean:
 clean:
 	@$(TRACE) clean
 	@$(TRACE) clean
 	$(MAKE) -C $(CONFIG) clean
 	$(MAKE) -C $(CONFIG) clean
-	for d in ${STAGING_PKG_DIR}; do \
+	for f in $$(ls ${STAGING_PKG_DIR}/ 2>/dev/null |grep -v [A-Z]|grep -v stamps 2>/dev/null); do  \
-		for f in $$(ls $$d/[a-z]* 2>/dev/null |grep -v [A-Z] 2>/dev/null); do  \
+		while read file ; do \
-			while read file ; do \
+			echo ${STAGING_DIR}/$$file ;\
-				rm ${STAGING_DIR}/$$file 2>/dev/null;\
+			rm ${STAGING_DIR}/$$file 2>/dev/null;\
-			done < $$f ; \
+		done < $$f ; \
-			rm $$f ; \
+		echo ${STAGING_PKG_DIR}/$$f ;\
-		done \
+		rm ${STAGING_PKG_DIR}/$$f ; \
 	done
 	done
 	rm -rf $(BUILD_DIR) $(FW_DIR) $(TARGET_DIR) \
 	rm -rf $(BUILD_DIR) $(FW_DIR) $(TARGET_DIR) \
 	    	${TOPDIR}/package/pkglist.d
 	    	${TOPDIR}/package/pkglist.d
@@ -535,7 +535,7 @@ bulktoolchain:
 			$(GMAKE) prereq && \
 			$(GMAKE) prereq && \
 				$(GMAKE) ARCH=$$tarch SYSTEM=toolchain-$$arch LIBC=$$libc defconfig; \
 				$(GMAKE) ARCH=$$tarch SYSTEM=toolchain-$$arch LIBC=$$libc defconfig; \
 				$(GMAKE) VERBOSE=1 all; if [ $$? -ne 0 ]; then touch .exit;fi; \
 				$(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; \
 			rm .config; \
 		    ) 2>&1 | tee $(TOPDIR)/firmware/toolchain_$${arch}_$${libc}/build.log; \
 		    ) 2>&1 | tee $(TOPDIR)/firmware/toolchain_$${arch}_$${libc}/build.log; \
 		    if [ -f .exit ];then break;fi \
 		    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 \
 	  if [ -f .exit ];then echo "Bulk build failed!"; cat .exit;rm .exit; exit 1;fi \
 	done
 	done
 
 
-${TOPDIR}/bin/pkgmaker: $(TOPDIR)/tools/adk/pkgmaker.c $(TOPDIR)/tools/adk/sortfile.c $(TOPDIR)/tools/adk/strmap.c
+$(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 ${TOPDIR}/bin
+	@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
 	@$(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
 	@$(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 ..."
 	@echo "Generating menu structure ..."
-	@$(TOPDIR)/bin/pkgmaker
+	@$(TOPDIR)/host_$(GNU_HOST_NAME)/usr/bin/pkgmaker
 	@:>.menu
 	@:>.menu
 
 
-${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)/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 ..."
 	@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
 .PHONY: menu dep
 
 

+ 1 - 1
mk/host.mk

@@ -37,7 +37,7 @@ _HOST_PATCH_COOKIE=	${WRKDIST}/.prepared
 _HOST_CONFIGURE_COOKIE=	${WRKDIR}/.host_configure_done
 _HOST_CONFIGURE_COOKIE=	${WRKDIR}/.host_configure_done
 _HOST_BUILD_COOKIE=	${WRKDIR}/.host_build_done
 _HOST_BUILD_COOKIE=	${WRKDIR}/.host_build_done
 _HOST_FAKE_COOKIE=	${HOST_WRKINST}/.host_fake_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}
 hostextract: ${_HOST_EXTRACT_COOKIE}
 hostpatch: ${_HOST_PATCH_COOKIE}
 hostpatch: ${_HOST_PATCH_COOKIE}

+ 6 - 6
mk/image.mk

@@ -138,15 +138,15 @@ endif
 ${FW_DIR}/${ROOTFSTARBALL}: ${TARGET_DIR} kernel-package
 ${FW_DIR}/${ROOTFSTARBALL}: ${TARGET_DIR} kernel-package
 	cd ${TARGET_DIR}; find . | sed -n '/^\.\//s///p' | \
 	cd ${TARGET_DIR}; find . | sed -n '/^\.\//s///p' | \
 		sed "s#\(.*\)#:0:0::::::\1#" | sort | \
 		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}
 ${FW_DIR}/${ROOTFSUSERTARBALL}: ${TARGET_DIR}
 	cd ${TARGET_DIR}; find . | grep -v ./boot/ | sed -n '/^\.\//s///p' | \
 	cd ${TARGET_DIR}; find . | grep -v ./boot/ | sed -n '/^\.\//s///p' | \
 		sed "s#\(.*\)#:0:0::::::\1#" | sort | \
 		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}
 ${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}/ >$@
 		${TARGET_DIR}/ >$@
 	( \
 	( \
 		echo "nod /dev/console 0644 0 0 c 5 1"; \
 		echo "nod /dev/console 0644 0 0 c 5 1"; \
@@ -164,12 +164,12 @@ ${FW_DIR}/${INITRAMFS}: ${FW_DIR}/${INITRAMFS}_list
 		${ADK_COMPRESSION_TOOL} -c >$@
 		${ADK_COMPRESSION_TOOL} -c >$@
 
 
 ${BUILD_DIR}/root.squashfs: ${TARGET_DIR}
 ${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 \
 		${BUILD_DIR}/root.squashfs -comp xz \
 		-nopad -noappend -root-owned $(MAKE_TRACE)
 		-nopad -noappend -root-owned $(MAKE_TRACE)
 
 
 ${FW_DIR}/${ROOTFSJFFS2}: ${TARGET_DIR}
 ${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)
 		--pad=$(ADK_TARGET_MTD_SIZE) -o ${FW_DIR}/${ROOTFSJFFS2} $(MAKE_TRACE)
 
 
 createinitramfs: ${FW_DIR}/${INITRAMFS}_list
 createinitramfs: ${FW_DIR}/${INITRAMFS}_list
@@ -245,7 +245,7 @@ ${FW_DIR}/${ROOTFSISO}: ${TARGET_DIR} kernel-package
 		${TARGET_DIR}/boot/syslinux
 		${TARGET_DIR}/boot/syslinux
 	echo 'DEFAULT /boot/kernel root=/dev/sr0 init=/init' > \
 	echo 'DEFAULT /boot/kernel root=/dev/sr0 init=/init' > \
 		${TARGET_DIR}/boot/syslinux/isolinux.cfg
 		${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 \
 		-b boot/syslinux/isolinux.bin \
 		-c boot/syslinux/boot.cat -no-emul-boot \
 		-c boot/syslinux/boot.cat -no-emul-boot \
 		-boot-load-size 4 -boot-info-table ${TARGET_DIR}
 		-boot-load-size 4 -boot-info-table ${TARGET_DIR}

+ 1 - 1
mk/kernel-vars.mk

@@ -25,4 +25,4 @@ ADK_KCPPFLAGS+=		-DBCM47XX_OVERRIDE_FLASHSIZE=0x800000 \
 endif
 endif
 
 
 KERNEL_MAKE_ENV+=	KCPPFLAGS='${ADK_KCPPFLAGS}' \
 KERNEL_MAKE_ENV+=	KCPPFLAGS='${ADK_KCPPFLAGS}' \
-			PATH="${BIN_DIR}:$$PATH"
+			PATH="${STAGING_HOST_DIR}/usr/bin:$$PATH"

+ 1 - 1
mk/kernel-ver.mk

@@ -2,7 +2,7 @@ ifeq ($(ADK_KERNEL_VERSION_TOOLCHAIN),y)
 KERNEL_VERSION:=	3.12.13
 KERNEL_VERSION:=	3.12.13
 KERNEL_MOD_VERSION:=	$(KERNEL_VERSION)
 KERNEL_MOD_VERSION:=	$(KERNEL_VERSION)
 KERNEL_RELEASE:=	1
 KERNEL_RELEASE:=	1
-KERNEL_MD5SUM:=		c5b0775d187bc79992bae17ae781de1e
+KERNEL_MD5SUM:=		345f5883cfb906dac4aef87e303d3a2d
 endif
 endif
 ifeq ($(ADK_KERNEL_VERSION_3_13_5),y)
 ifeq ($(ADK_KERNEL_VERSION_3_13_5),y)
 KERNEL_VERSION:=	3.13.5
 KERNEL_VERSION:=	3.13.5

+ 1 - 1
mk/package.mk

@@ -249,7 +249,7 @@ endif
 	    find usr ! -type d 2>/dev/null | \
 	    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' | \
 	    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)' | \
 	    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$$$$' \
 	@cd '$${STAGING_DIR}'; grep 'usr/lib/.*\.la$$$$' \
 	    '$${STAGING_PKG_DIR}/$(1)' | while read fn; do \
 	    '$${STAGING_PKG_DIR}/$(1)' | while read fn; do \
 		chmod u+w $$$$fn; \
 		chmod u+w $$$$fn; \

+ 3 - 3
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
 	@mkdir -p  $(WRKDIR)/fake-${CPU_ARCH}/pkg-$(PKG_LIBNAME)-dev/usr/include
 	@test -d ${WRKINST}/usr/include && cd ${WRKINST}/usr/include; \
 	@test -d ${WRKINST}/usr/include && cd ${WRKINST}/usr/include; \
 	    find . -name \*.h | \
 	    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
 	@mkdir -p  $(WRKDIR)/fake-${CPU_ARCH}/pkg-$(PKG_LIBNAME)-dev/usr/lib/pkgconfig
 	@test -d ${WRKINST}/usr/lib/pkgconfig && cd ${WRKINST}/usr/lib/pkgconfig; \
 	@test -d ${WRKINST}/usr/lib/pkgconfig && cd ${WRKINST}/usr/lib/pkgconfig; \
 	    find . -name \*.pc | \
 	    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 \
 	@for a in ${WRKINST}/usr/bin/*-config*; do \
 		[[ -e $$a ]] || continue; \
 		[[ -e $$a ]] || continue; \
 		mkdir -p $(WRKDIR)/fake-${CPU_ARCH}/pkg-$(PKG_LIBNAME)-dev/usr/bin; \
 		mkdir -p $(WRKDIR)/fake-${CPU_ARCH}/pkg-$(PKG_LIBNAME)-dev/usr/bin; \
@@ -191,7 +191,7 @@ endif
 	    find usr ! -type d 2>/dev/null | \
 	    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' | \
 	    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}' | \
 	    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$$' \
 	@cd '${STAGING_DIR}'; grep 'usr/lib/.*\.la$$' \
 	    '${STAGING_PKG_DIR}/${PKG_NAME}' | while read fn; do \
 	    '${STAGING_PKG_DIR}/${PKG_NAME}' | while read fn; do \
 		chmod u+w $$fn; \
 		chmod u+w $$fn; \

+ 24 - 20
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_*
 BUILD_DIR_PFX:=		$(BASE_DIR)/build_*
 STAGING_PKG_DIR:=	${BASE_DIR}/pkg_${ADK_TARGET_SYSTEM}_${CPU_ARCH}_${ADK_TARGET_LIBC}
 STAGING_PKG_DIR:=	${BASE_DIR}/pkg_${ADK_TARGET_SYSTEM}_${CPU_ARCH}_${ADK_TARGET_LIBC}
 STAGING_PKG_DIR_PFX:=	${BASE_DIR}/pkg_*
 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_*
 STAGING_HOST_DIR_PFX:=	${BASE_DIR}/host_*
 # use headers and foo-config from system
 # use headers and foo-config from system
 ifeq ($(ADK_NATIVE),y)
 ifeq ($(ADK_NATIVE),y)
 STAGING_TARGET_DIR:=
 STAGING_TARGET_DIR:=
 SCRIPT_TARGET_DIR:=	/usr/bin
 SCRIPT_TARGET_DIR:=	/usr/bin
 else
 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
 SCRIPT_TARGET_DIR:=	${STAGING_TARGET_DIR}/scripts
 endif
 endif
-STAGING_DIR:=		${BASE_DIR}/target_${CPU_ARCH}_${ADK_TARGET_SUFFIX}_${ADK_TARGET_LIBC}
 STAGING_TARGET_DIR_PFX:=${BASE_DIR}/target_*
 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_*
 TOOLCHAIN_BUILD_DIR_PFX=$(BASE_DIR)/toolchain_build_*
 TOOLS_BUILD_DIR=	$(BASE_DIR)/tools_build
 TOOLS_BUILD_DIR=	$(BASE_DIR)/tools_build
-BIN_DIR:=		$(BASE_DIR)/bin
 SCRIPT_DIR:=		$(BASE_DIR)/scripts
 SCRIPT_DIR:=		$(BASE_DIR)/scripts
 FW_DIR:=		$(BASE_DIR)/firmware/${ADK_TARGET_SYSTEM}_${CPU_ARCH}_${ADK_TARGET_LIBC}
 FW_DIR:=		$(BASE_DIR)/firmware/${ADK_TARGET_SYSTEM}_${CPU_ARCH}_${ADK_TARGET_LIBC}
 FW_DIR_PFX:=		$(BASE_DIR)/firmware
 FW_DIR_PFX:=		$(BASE_DIR)/firmware
 PACKAGE_DIR:=		$(FW_DIR)/packages
 PACKAGE_DIR:=		$(FW_DIR)/packages
 TARGET_DIR:=		$(BASE_DIR)/root_${ADK_TARGET_SYSTEM}_${CPU_ARCH}_${ADK_TARGET_LIBC}
 TARGET_DIR:=		$(BASE_DIR)/root_${ADK_TARGET_SYSTEM}_${CPU_ARCH}_${ADK_TARGET_LIBC}
 TARGET_DIR_PFX:=	$(BASE_DIR)/root_*
 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}
+TARGET_PATH=		${SCRIPT_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}
+HOST_PATH=		${SCRIPT_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}
+AUTOTOOL_PATH=		${STAGING_HOST_DIR}/bin:${STAGING_HOST_DIR}/usr/bin:${STAGING_TARGET_DIR}/scripts:${_PATH}
 ifeq ($(ADK_TARGET_ABI_X32),y)
 ifeq ($(ADK_TARGET_ABI_X32),y)
 REAL_GNU_TARGET_NAME=	$(CPU_ARCH)-x32-linux-$(ADK_TARGET_SUFFIX)
 REAL_GNU_TARGET_NAME=	$(CPU_ARCH)-x32-linux-$(ADK_TARGET_SUFFIX)
 GNU_TARGET_NAME=	$(CPU_ARCH)-x32-linux
 GNU_TARGET_NAME=	$(CPU_ARCH)-x32-linux
@@ -87,8 +91,8 @@ endif
 endif
 endif
 
 
 TARGET_CPPFLAGS:=	
 TARGET_CPPFLAGS:=	
-TARGET_CFLAGS:=		$(TARGET_CFLAGS_ARCH) -fwrapv -fno-ident $(ADK_TARGET_ABI_CFLAGS)
+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 $(TARGET_OPTIMIZATION)
+TARGET_CFLAGS_LIBC:=	$(TARGET_CFLAGS_ARCH) -fwrapv -fno-ident -fhonour-copts $(TARGET_OPTIMIZATION) $(MODE_FLAGS)
 TARGET_CXXFLAGS:=	$(TARGET_CFLAGS_ARCH) -fwrapv -fno-ident $(MODE_FLAGS)
 TARGET_CXXFLAGS:=	$(TARGET_CFLAGS_ARCH) -fwrapv -fno-ident $(MODE_FLAGS)
 TARGET_LDFLAGS:=	-L$(STAGING_TARGET_DIR)/lib -L$(STAGING_TARGET_DIR)/usr/lib \
 TARGET_LDFLAGS:=	-L$(STAGING_TARGET_DIR)/lib -L$(STAGING_TARGET_DIR)/usr/lib \
 			-Wl,-O1 -Wl,-rpath -Wl,/usr/lib \
 			-Wl,-O1 -Wl,-rpath -Wl,/usr/lib \
@@ -185,7 +189,7 @@ PKG_INSTALL:=		IPKG_TMP=$(BUILD_DIR)/tmp \
 			IPKG_INSTROOT=$(TARGET_DIR) \
 			IPKG_INSTROOT=$(TARGET_DIR) \
 			IPKG_CONF_DIR=$(STAGING_TARGET_DIR)/etc \
 			IPKG_CONF_DIR=$(STAGING_TARGET_DIR)/etc \
 			IPKG_OFFLINE_ROOT=$(TARGET_DIR) \
 			IPKG_OFFLINE_ROOT=$(TARGET_DIR) \
-			BIN_DIR=$(BIN_DIR) \
+			BIN_DIR=$(STAGING_HOST_DIR)/usr/bin \
 			${BASH} ${SCRIPT_DIR}/ipkg \
 			${BASH} ${SCRIPT_DIR}/ipkg \
 			-force-defaults -force-depends install
 			-force-defaults -force-depends install
 PKG_STATE_DIR:=		$(TARGET_DIR)/usr/lib/ipkg
 PKG_STATE_DIR:=		$(TARGET_DIR)/usr/lib/ipkg
@@ -208,21 +212,21 @@ EXTRACT_CMD=		mkdir -p ${WRKDIR}; \
 			cd ${WRKDIR} && \
 			cd ${WRKDIR} && \
 			for file in ${FULLDISTFILES}; do case $$file in \
 			for file in ${FULLDISTFILES}; do case $$file in \
 			*.cpio) \
 			*.cpio) \
-				cat $$file | $(BIN_DIR)/cpio -i -d ;; \
+				cat $$file | $(STAGING_HOST_DIR)/usr/bin/cpio -i -d ;; \
 			*.tar) \
 			*.tar) \
 				tar -xf $$file ;; \
 				tar -xf $$file ;; \
 			*.cpio.Z | *.cpio.gz | *.cgz | *.mcz) \
 			*.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) \
 			*.tar.xz | *.txz) \
-				xz -dc $$file | tar -xf - ;; \
+				$(STAGING_HOST_DIR)/usr/bin/xz -dc $$file | tar -xf - ;; \
 			*.tar.Z | *.tar.gz | *.taz | *.tgz) \
 			*.tar.Z | *.tar.gz | *.taz | *.tgz) \
 				gzip -dc $$file | tar -xf - ;; \
 				gzip -dc $$file | tar -xf - ;; \
 			*.cpio.bz2 | *.cbz) \
 			*.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) \
 			*.tar.bz2 | *.tbz | *.tbz2) \
-				bzip2 -dc $$file | tar -xf - ;; \
+				$(STAGING_HOST_DIR)/usr/bin/bzip2 -dc $$file | tar -xf - ;; \
 			*.zip) \
 			*.zip) \
-				cat $$file | $(BIN_DIR)/cpio -ivd -H zip ;; \
+				cat $$file | $(STAGING_HOST_DIR)/usr/bin/cpio -ivd -H zip ;; \
 			*.arm) \
 			*.arm) \
 				cp $$file ${WRKDIR} ;; \
 				cp $$file ${WRKDIR} ;; \
 			*) \
 			*) \

+ 3 - 1
package/avahi/Makefile

@@ -5,7 +5,7 @@ include ${TOPDIR}/rules.mk
 
 
 PKG_NAME:=		avahi
 PKG_NAME:=		avahi
 PKG_VERSION:=		0.6.31
 PKG_VERSION:=		0.6.31
-PKG_RELEASE:=		1
+PKG_RELEASE:=		2
 PKG_MD5SUM:=		2f22745b8f7368ad5a0a3fddac343f2d
 PKG_MD5SUM:=		2f22745b8f7368ad5a0a3fddac343f2d
 PKG_DESCR:=		mDNS daemon
 PKG_DESCR:=		mDNS daemon
 PKG_SECTION:=		dhcp
 PKG_SECTION:=		dhcp
@@ -98,5 +98,7 @@ libavahi-install:
 		${IDIR_LIBAVAHI}/usr/lib
 		${IDIR_LIBAVAHI}/usr/lib
 	${CP} ${WRKINST}/usr/lib/libavahi-core.so* \
 	${CP} ${WRKINST}/usr/lib/libavahi-core.so* \
 		${IDIR_LIBAVAHI}/usr/lib
 		${IDIR_LIBAVAHI}/usr/lib
+	${CP} ${WRKINST}/usr/lib/libavahi-glib.so* \
+		${IDIR_LIBAVAHI}/usr/lib
 
 
 include ${TOPDIR}/mk/pkg-bottom.mk
 include ${TOPDIR}/mk/pkg-bottom.mk

+ 1 - 1
package/base-files/Makefile

@@ -85,7 +85,7 @@ endif
 	    echo "::1		localhost" >> $(IDIR_BASE_FILES)/etc/hosts
 	    echo "::1		localhost" >> $(IDIR_BASE_FILES)/etc/hosts
 	    echo "127.0.1.1	$(ADK_RUNTIME_HOSTNAME)" >> $(IDIR_BASE_FILES)/etc/hosts
 	    echo "127.0.1.1	$(ADK_RUNTIME_HOSTNAME)" >> $(IDIR_BASE_FILES)/etc/hosts
 	test -z $(ADK_RUNTIME_PASSWORD) || \
 	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
 	    ${ADK_RUNTIME_PASSWORD}),g" $(IDIR_BASE_FILES)/etc/shadow
 	git log -1|head -1|sed -e 's#commit ##' \
 	git log -1|head -1|sed -e 's#commit ##' \
 		> $(IDIR_BASE_FILES)/etc/adkversion
 		> $(IDIR_BASE_FILES)/etc/adkversion

+ 1 - 1
package/dropbear/Makefile

@@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk
 
 
 PKG_NAME:=		dropbear
 PKG_NAME:=		dropbear
 PKG_VERSION:=		2014.63
 PKG_VERSION:=		2014.63
-PKG_RELEASE:=		1
+PKG_RELEASE:=		2
 PKG_MD5SUM:=		7066bb9a2da708f3ed06314fdc9c47fd
 PKG_MD5SUM:=		7066bb9a2da708f3ed06314fdc9c47fd
 PKG_DESCR:=		SSH 2 server/client designed for embedded systems
 PKG_DESCR:=		SSH 2 server/client designed for embedded systems
 PKG_SECTION:=		net/security
 PKG_SECTION:=		net/security

+ 35 - 0
package/dropbear/patches/patch-Makefile_in

@@ -0,0 +1,35 @@
+--- dropbear-2014.63.orig/Makefile.in	2014-02-19 15:05:24.000000000 +0100
++++ dropbear-2014.63/Makefile.in	2014-03-01 18:27:41.000000000 +0100
+@@ -81,10 +81,10 @@ AR=@AR@
+ RANLIB=@RANLIB@
+ STRIP=@STRIP@
+ INSTALL=@INSTALL@
+-CPPFLAGS=@CPPFLAGS@
+-CFLAGS+=-I. -I$(srcdir) $(CPPFLAGS) @CFLAGS@
+-LIBS+=@LIBS@
+-LDFLAGS=@LDFLAGS@
++CPPFLAGS=@CPPFLAGS@ -I. -I$(srcdir)
++LIBS+=@LIBS@ @CRYPTLIB@
++LDFLAGS+=@LDFLAGS@
++
+ 
+ EXEEXT=@EXEEXT@
+ 
+@@ -163,7 +163,7 @@ dropbearkey: $(dropbearkeyobjs)
+ dropbearconvert: $(dropbearconvertobjs)
+ 
+ dropbear: $(HEADERS) $(LIBTOM_DEPS) Makefile
+-	$(CC) $(LDFLAGS) -o $@$(EXEEXT) $($@objs) $(LIBTOM_LIBS) $(LIBS) @CRYPTLIB@
++	$(CC) $(LDFLAGS) -o $@$(EXEEXT) $($@objs) $(LIBTOM_LIBS) $(LIBS)
+ 
+ dbclient: $(HEADERS) $(LIBTOM_DEPS) Makefile
+ 	$(CC) $(LDFLAGS) -o $@$(EXEEXT) $($@objs) $(LIBTOM_LIBS) $(LIBS)
+@@ -184,7 +184,7 @@ ifeq ($(MULTI),1)
+ endif
+ 
+ dropbearmulti$(EXEEXT): $(HEADERS) $(MULTIOBJS) $(LIBTOM_DEPS) Makefile
+-	$(CC) $(LDFLAGS) -o $@ $(MULTIOBJS) $(LIBTOM_LIBS) $(LIBS) @CRYPTLIB@
++	$(CC) $(LDFLAGS) -o $@ $(MULTIOBJS) $(LIBTOM_LIBS) $(LIBS)
+ 
+ multibinary: dropbearmulti$(EXEEXT)
+ 

+ 7 - 4
package/gcc/Makefile

@@ -23,16 +23,16 @@ $(eval $(call PKG_template,GXX,g++,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},
 
 
 TARGET_CPPFLAGS:=	''
 TARGET_CPPFLAGS:=	''
 TARGET_CFLAGS:=		''
 TARGET_CFLAGS:=		''
-TARGET_CXXFLAGS:=	$(filter-out -fstack-protector,$(TARGET_CXXFLAGS))
+TARGET_CXXFLAGS:=	''
 
 
 ifeq ($(ADK_TARGET_SYSTEM_LEMOTE_YEELONG),y)
 ifeq ($(ADK_TARGET_SYSTEM_LEMOTE_YEELONG),y)
-CONFIGURE_ARGS+=       --with-abi=$(ADK_TARGET_ABI)
+CONFIGURE_ARGS+=       --with-abi=$(ADK_TARGET_MIPS_ABI)
 endif
 endif
 ifeq ($(ADK_TARGET_SYSTEM_QEMU_MIPS64),y)
 ifeq ($(ADK_TARGET_SYSTEM_QEMU_MIPS64),y)
-CONFIGURE_ARGS+=       --with-abi=$(ADK_TARGET_ABI)
+CONFIGURE_ARGS+=       --with-abi=$(ADK_TARGET_MIPS_ABI)
 endif
 endif
 ifeq ($(ADK_TARGET_SYSTEM_QEMU_MIPS64EL),y)
 ifeq ($(ADK_TARGET_SYSTEM_QEMU_MIPS64EL),y)
-CONFIGURE_ARGS+=       --with-abi=$(ADK_TARGET_ABI)
+CONFIGURE_ARGS+=       --with-abi=$(ADK_TARGET_MIPS_ABI)
 endif
 endif
 
 
 ifeq ($(ADK_TOOLCHAIN_GCC_SJLJ),y)
 ifeq ($(ADK_TOOLCHAIN_GCC_SJLJ),y)
@@ -57,6 +57,7 @@ endif
 CONFIGURE_ENV+=		have_sys_sdt_h=no
 CONFIGURE_ENV+=		have_sys_sdt_h=no
 CONFIGURE_ARGS+=	--host=$(REAL_GNU_TARGET_NAME) \
 CONFIGURE_ARGS+=	--host=$(REAL_GNU_TARGET_NAME) \
 			--target=$(REAL_GNU_TARGET_NAME) \
 			--target=$(REAL_GNU_TARGET_NAME) \
+			--build=$(GNU_HOST_NAME) \
 			--disable-__cxa_atexit \
 			--disable-__cxa_atexit \
 			--without-headers \
 			--without-headers \
 			--libexecdir=/usr/lib \
 			--libexecdir=/usr/lib \
@@ -66,6 +67,8 @@ CONFIGURE_ARGS+=	--host=$(REAL_GNU_TARGET_NAME) \
 			--disable-libgomp \
 			--disable-libgomp \
 			--disable-multilib \
 			--disable-multilib \
 			--disable-libstdcxx-pch \
 			--disable-libstdcxx-pch \
+			--disable-libsanitizer \
+			--disable-libitm \
 			--enable-cxx-flags="${TARGET_LDFLAGS}"
 			--enable-cxx-flags="${TARGET_LDFLAGS}"
 
 
 # disable honour cflags stuff
 # disable honour cflags stuff

+ 698 - 0
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
+

+ 5 - 3
package/gcj/Makefile

@@ -4,12 +4,13 @@
 include $(TOPDIR)/rules.mk
 include $(TOPDIR)/rules.mk
 
 
 PKG_NAME:=		gcj
 PKG_NAME:=		gcj
-PKG_VERSION:=		4.7.3
+PKG_VERSION:=		4.8.2
 PKG_RELEASE:=		1
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		86f428a30379bdee0224e353ee2f999e
+PKG_MD5SUM:=		a3d7d63b9cb6b6ea049469a0c4a43c9d
 PKG_DESCR:=		GNU java compiler
 PKG_DESCR:=		GNU java compiler
 PKG_SECTION:=		lang
 PKG_SECTION:=		lang
 PKG_SITES:=		${MASTER_SITE_GNU:=gcc/gcc-${PKG_VERSION}/}
 PKG_SITES:=		${MASTER_SITE_GNU:=gcc/gcc-${PKG_VERSION}/}
+
 DISTFILES:=		gcc-$(PKG_VERSION).tar.bz2
 DISTFILES:=		gcc-$(PKG_VERSION).tar.bz2
 
 
 PKG_ARCH_DEPENDS:=	native
 PKG_ARCH_DEPENDS:=	native
@@ -22,7 +23,8 @@ $(eval $(call HOST_template,GCJ,gcj,$(PKG_VERSION)-${PKG_RELEASE}))
 
 
 HOST_STYLE:=		auto
 HOST_STYLE:=		auto
 HOST_MAKE_ENV+=		"JAR=no LDFLAGS=-liconv"
 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-java-home \
 			--enable-languages=java \
 			--enable-languages=java \
 			--enable-shared \
 			--enable-shared \

+ 2 - 2
package/gpm/Makefile

@@ -5,11 +5,11 @@ include ${TOPDIR}/rules.mk
 
 
 PKG_NAME:=		gpm
 PKG_NAME:=		gpm
 PKG_VERSION:=		1.20.7
 PKG_VERSION:=		1.20.7
-PKG_RELEASE:=		1
+PKG_RELEASE:=		2
 PKG_MD5SUM:=		e9a4ba2711753c89b37950aada7aed4a
 PKG_MD5SUM:=		e9a4ba2711753c89b37950aada7aed4a
 PKG_DESCR:=		console mouse support
 PKG_DESCR:=		console mouse support
 PKG_SECTION:=		misc
 PKG_SECTION:=		misc
-PKG_BUILDDEP:=		autotool
+PKG_BUILDDEP:=		autotool bison-host
 PKG_URL:=		http://launchpad.net/gpm
 PKG_URL:=		http://launchpad.net/gpm
 PKG_SITES:=		http://www.nico.schottelius.org/software/gpm/archives/
 PKG_SITES:=		http://www.nico.schottelius.org/software/gpm/archives/
 PKG_NOPARALLEL:=	1
 PKG_NOPARALLEL:=	1

+ 18 - 6
package/mpd/Makefile

@@ -4,9 +4,9 @@
 include ${TOPDIR}/rules.mk
 include ${TOPDIR}/rules.mk
 
 
 PKG_NAME:=		mpd
 PKG_NAME:=		mpd
-PKG_VERSION:=		0.18.5
+PKG_VERSION:=		0.18.8
-PKG_RELEASE:=		3
+PKG_RELEASE:=		1
-PKG_MD5SUM:=		63bcf6ce338caa2ae2cd6dc8e9710d5c
+PKG_MD5SUM:=		7bbe1caf5abe404dc985ca4f44984b1f
 PKG_DESCR:=		A music player daemon
 PKG_DESCR:=		A music player daemon
 PKG_SECTION:=		multimedia
 PKG_SECTION:=		multimedia
 PKG_DEPENDS:=		glib libstdcxx libgcc libiconv-tiny libmpdclient
 PKG_DEPENDS:=		glib libstdcxx libgcc libiconv-tiny libmpdclient
@@ -23,7 +23,7 @@ DISTFILES:=		${PKG_NAME}-${PKG_VERSION}.tar.xz
 PKG_FLAVOURS_MPD:=	WITH_ALSA WITH_AO WITH_MP3 WITH_MP4 WITH_TREMOR
 PKG_FLAVOURS_MPD:=	WITH_ALSA WITH_AO WITH_MP3 WITH_MP4 WITH_TREMOR
 PKG_FLAVOURS_MPD+=	WITH_OGG WITH_FLAC WITH_WAV WITH_MMS WITH_FFMPEG
 PKG_FLAVOURS_MPD+=	WITH_OGG WITH_FLAC WITH_WAV WITH_MMS WITH_FFMPEG
 PKG_FLAVOURS_MPD+=	WITH_SHOUT WITH_CURL WITH_SAMPLERATE WITH_HTTPD
 PKG_FLAVOURS_MPD+=	WITH_SHOUT WITH_CURL WITH_SAMPLERATE WITH_HTTPD
-PKG_FLAVOURS_MPD+=	WITH_OPUS WITH_PULSE
+PKG_FLAVOURS_MPD+=	WITH_OPUS WITH_PULSE WITH_AVAHI
 
 
 PKGFD_WITH_ALSA:=	enable ALSA output
 PKGFD_WITH_ALSA:=	enable ALSA output
 PKGFS_WITH_ALSA:=	alsa-lib
 PKGFS_WITH_ALSA:=	alsa-lib
@@ -119,6 +119,13 @@ ifeq ($(ADK_PACKAGE_MPD_WITH_PULSE),y)
 PKG_FDEPENDS+=		pulseaudio
 PKG_FDEPENDS+=		pulseaudio
 endif
 endif
 
 
+PKGFD_WITH_AVAHI:=	enable AVAHI/zeroconf support
+PKGFS_WITH_AVAHI:=	libavahi
+PKGFB_WITH_AVAHI:=	avahi
+ifeq ($(ADK_PACKAGE_MPD_WITH_AVAHI),y)
+PKG_FDEPENDS+=		libavahi
+endif
+
 PKGFD_WITH_HTTPD:=	enable HTTP output
 PKGFD_WITH_HTTPD:=	enable HTTP output
 
 
 include ${TOPDIR}/mk/package.mk
 include ${TOPDIR}/mk/package.mk
@@ -139,8 +146,7 @@ CONFIGURE_ARGS+=	--disable-jack \
 			--disable-sqlite \
 			--disable-sqlite \
 			--disable-mpg123 \
 			--disable-mpg123 \
 			--disable-soundcloud \
 			--disable-soundcloud \
-			--enable-inotify \
+			--enable-inotify
-			--with-zeroconf=no
 
 
 ifneq (${ADK_PACKAGE_MPD_WITH_HTTPD},)
 ifneq (${ADK_PACKAGE_MPD_WITH_HTTPD},)
 CONFIGURE_ARGS+=	--enable-httpd-output
 CONFIGURE_ARGS+=	--enable-httpd-output
@@ -148,6 +154,12 @@ else
 CONFIGURE_ARGS+=	--disable-httpd-output
 CONFIGURE_ARGS+=	--disable-httpd-output
 endif
 endif
 
 
+ifneq (${ADK_PACKAGE_MPD_WITH_AVAHI},)
+CONFIGURE_ARGS+=	--with-zeroconf=avahi
+else
+CONFIGURE_ARGS+=	--with-zeroconf=no
+endif
+
 ifneq (${ADK_PACKAGE_MPD_WITH_PULSE},)
 ifneq (${ADK_PACKAGE_MPD_WITH_PULSE},)
 CONFIGURE_ARGS+=	--enable-pulse
 CONFIGURE_ARGS+=	--enable-pulse
 else
 else

+ 1 - 1
package/openjdk7/Makefile

@@ -26,7 +26,7 @@ PKG_SITES:=		http://icedtea.classpath.org/download/source/
 DISTFILES:=		icedtea-$(PKG_VERSION).tar.gz
 DISTFILES:=		icedtea-$(PKG_VERSION).tar.gz
 WRKDIST=		${WRKDIR}/icedtea-${PKG_VERSION}
 WRKDIST=		${WRKDIR}/icedtea-${PKG_VERSION}
 
 
-GCJ_VER:=		4.7.3
+GCJ_VER:=		4.8.2
 
 
 PKG_HOST_DEPENDS:=	linux
 PKG_HOST_DEPENDS:=	linux
 PKG_ARCH_DEPENDS:=	arm mips ppc x86 x86_64
 PKG_ARCH_DEPENDS:=	arm mips ppc x86 x86_64

File diff suppressed because it is too large
+ 92 - 0
package/perl/files/config.sh.mips64.eglibc


File diff suppressed because it is too large
+ 92 - 0
package/perl/files/config.sh.mips64.uclibc


File diff suppressed because it is too large
+ 92 - 0
package/perl/files/config.sh.mipsel.musl


+ 1 - 1
package/xbmc/Makefile

@@ -33,7 +33,7 @@ PKG_DEPENDS_RASPBERRY_PI:=	bcm2835-vc omxplayer
 PKG_BUILDDEP_RASPBERRY_PI:=	bcm2835-vc omxplayer
 PKG_BUILDDEP_RASPBERRY_PI:=	bcm2835-vc omxplayer
 PKG_BUILDDEP_IBM_X40:=	nasm-host
 PKG_BUILDDEP_IBM_X40:=	nasm-host
 PKG_SYSTEM_DEPENDS:=	raspberry-pi ibm-x40
 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
 WRKDIST=		$(WRKDIR)/$(PKG_NAME)-$(PKG_VERSION)-Frodo
 
 

+ 1 - 0
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_ABI_LDFLAGS:=	$(strip $(subst ",, $(ADK_TARGET_ABI_LDFLAGS)))
 ADK_TARGET_KERNEL_LDFLAGS:=	$(strip $(subst ",, $(ADK_TARGET_KERNEL_LDFLAGS)))
 ADK_TARGET_KERNEL_LDFLAGS:=	$(strip $(subst ",, $(ADK_TARGET_KERNEL_LDFLAGS)))
 ADK_TARGET_ABI:=	$(strip $(subst ",, $(ADK_TARGET_ABI)))
 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_IP:=		$(strip $(subst ",, $(ADK_TARGET_IP)))
 ADK_TARGET_SUFFIX:=	$(strip $(subst ",, $(ADK_TARGET_SUFFIX)))
 ADK_TARGET_SUFFIX:=	$(strip $(subst ",, $(ADK_TARGET_SUFFIX)))
 ADK_TARGET_CMDLINE:=	$(strip $(subst ",, $(ADK_TARGET_CMDLINE)))
 ADK_TARGET_CMDLINE:=	$(strip $(subst ",, $(ADK_TARGET_CMDLINE)))

+ 3 - 2
scripts/create.sh

@@ -28,11 +28,12 @@
 # root partition and an OpenADK cfgfs partition.
 # root partition and an OpenADK cfgfs partition.
 
 
 TOPDIR=$(pwd)
 TOPDIR=$(pwd)
+HOST=$(gcc -dumpmachine)
 me=$0
 me=$0
 
 
 case :$PATH: in
 case :$PATH: in
-(*:$TOPDIR/bin:*) ;;
+(*:$TOPDIR/host_$HOST/usr/bin:*) ;;
-(*) export PATH=$PATH:$TOPDIR/bin ;;
+(*) export PATH=$PATH:$TOPDIR/host_$HOST/usr/bin ;;
 esac
 esac
 
 
 test -n "$KSH_VERSION" || if ! which mksh >/dev/null 2>&1; then
 test -n "$KSH_VERSION" || if ! which mksh >/dev/null 2>&1; then

+ 0 - 11
scripts/scan-pkgs.sh

@@ -77,10 +77,6 @@ if [[ -n $ADK_PACKAGE_SQUID ]]; then
 	NEED_GXX="$NEED_GXX squid"
 	NEED_GXX="$NEED_GXX squid"
 fi
 fi
 
 
-if [[ -n $ADK_PACKAGE_XKEYBOARD_CONFIG ]]; then
-	NEED_INTL="$NEED_INTL xkeyboard-config"
-fi
-
 if [[ -n $ADK_PACKAGE_LIBXFONT ]]; then
 if [[ -n $ADK_PACKAGE_LIBXFONT ]]; then
 	NEED_XMLTO="$NEED_XMLTO libXfont"
 	NEED_XMLTO="$NEED_XMLTO libXfont"
 fi
 fi
@@ -208,13 +204,6 @@ if [[ -n $NEED_MKFONTDIR ]]; then
 	fi
 	fi
 fi
 fi
 
 
-if [[ -n $NEED_INTL ]]; then
-	if ! which intltool-update >/dev/null 2>&1; then
-		echo >&2 You need intltool to build $NEED_INTL
-		out=1
-	fi
-fi
-
 if [[ -n $NEED_WWW ]]; then
 if [[ -n $NEED_WWW ]]; then
 	if ! which w3m >/dev/null 2>&1; then
 	if ! which w3m >/dev/null 2>&1; then
 		if ! which lynx >/dev/null 2>&1; then
 		if ! which lynx >/dev/null 2>&1; then

+ 0 - 36
scripts/scan-tools.sh

@@ -112,30 +112,6 @@ if ! which gzip >/dev/null 2>&1; then
 	out=1
 	out=1
 fi
 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
 if ! which patch >/dev/null 2>&1; then
 	echo You must install patch to continue.
 	echo You must install patch to continue.
 	echo
 	echo
@@ -219,18 +195,6 @@ if ! which perl >/dev/null 2>&1; then
 	out=1
 	out=1
 fi
 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
 if ! which xargs >/dev/null 2>&1; then
 	echo  "You need xargs to continue."
 	echo  "You need xargs to continue."
 	echo
 	echo

+ 2 - 2
target/arm/sys-available/toolchain-arm

@@ -3,9 +3,9 @@ config ADK_TARGET_SYSTEM_TOOLCHAIN_ARM
 	select ADK_arm
 	select ADK_arm
 	select ADK_toolchain_arm
 	select ADK_toolchain_arm
 	select ADK_little
 	select ADK_little
+	select ADK_soft_float
 	select ADK_TOOLCHAIN
 	select ADK_TOOLCHAIN
 	select ADK_EABI
 	select ADK_EABI
 	select ADK_TARGET_PACKAGE_TGZ
 	select ADK_TARGET_PACKAGE_TGZ
 	help
 	help
-	  ARM toolchain (little endian).
+	  ARM toolchain (soft float).
-

+ 0 - 11
target/arm/sys-available/toolchain-armeb

@@ -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).
-

+ 12 - 0
target/arm/sys-available/toolchain-armhf

@@ -0,0 +1,12 @@
+config ADK_TARGET_SYSTEM_TOOLCHAIN_ARMHF
+	bool "Toolchain only (hard float)"
+	select ADK_arm
+	select ADK_toolchain_armhf
+	select ADK_little
+	select ADK_hard_float
+	select ADK_TOOLCHAIN
+	select ADK_EABIHF
+	select ADK_TARGET_PACKAGE_TGZ
+	help
+	  ARM toolchain (hard float).
+

+ 24 - 0
target/config/Config.in

@@ -49,6 +49,7 @@ config ADK_TARGET_FLOAT
 	default "soft" if ADK_soft_float
 	default "soft" if ADK_soft_float
 
 
 config ADK_TARGET_ARM_MODE
 config ADK_TARGET_ARM_MODE
+	depends on ADK_LINUX_ARM
 	string
 	string
 	default "arm" if ADK_mode_arm
 	default "arm" if ADK_mode_arm
 	default "thumb" if ADK_mode_thumb
 	default "thumb" if ADK_mode_thumb
@@ -117,6 +118,15 @@ config ADK_n64
 	boolean
 	boolean
 
 
 config ADK_TARGET_ABI
 config ADK_TARGET_ABI
+	string
+	default "n32" if ADK_n32
+	default "n64" if ADK_n64
+	default "32" if ADK_32
+	default "x32" if ADK_x32
+	default "eabi" if ADK_EABI
+	default "eabihf" if ADK_EABIHF
+
+config ADK_TARGET_MIPS_ABI
 	string
 	string
 	default "32" if ADK_o32
 	default "32" if ADK_o32
 	default "n32" if ADK_n32
 	default "n32" if ADK_n32
@@ -193,6 +203,8 @@ config ADK_TARGET_KERNEL_MINICONFIG
 	default "qemu-mips64el" if ADK_TARGET_SYSTEM_QEMU_MIPS64EL
 	default "qemu-mips64el" if ADK_TARGET_SYSTEM_QEMU_MIPS64EL
 	default "qemu-ppc" if ADK_TARGET_SYSTEM_QEMU_PPC
 	default "qemu-ppc" if ADK_TARGET_SYSTEM_QEMU_PPC
 	default "qemu-ppc64" if ADK_TARGET_SYSTEM_QEMU_PPC64
 	default "qemu-ppc64" if ADK_TARGET_SYSTEM_QEMU_PPC64
+	default "qemu-sh" if ADK_TARGET_SYSTEM_QEMU_SH4
+	default "qemu-sh" if ADK_TARGET_SYSTEM_QEMU_SH4EB
 	default "qemu-sparc" if ADK_TARGET_SYSTEM_QEMU_SPARC
 	default "qemu-sparc" if ADK_TARGET_SYSTEM_QEMU_SPARC
 	default "qemu-sparc64" if ADK_TARGET_SYSTEM_QEMU_SPARC64
 	default "qemu-sparc64" if ADK_TARGET_SYSTEM_QEMU_SPARC64
 	default "qemu-i686" if ADK_TARGET_SYSTEM_QEMU_I686
 	default "qemu-i686" if ADK_TARGET_SYSTEM_QEMU_I686
@@ -651,6 +663,7 @@ config ADK_TARGET_LIB_EGLIBC
 	prompt "Embedded GNU C library"
 	prompt "Embedded GNU C library"
 	boolean
 	boolean
 	select ADK_eglibc
 	select ADK_eglibc
+	select ADK_HOST_NEED_GPERF
 	depends on \
 	depends on \
 		ADK_LINUX_ARM || \
 		ADK_LINUX_ARM || \
 		ADK_LINUX_ARMEB || \
 		ADK_LINUX_ARMEB || \
@@ -696,6 +709,7 @@ config ADK_TARGET_LIB_MUSL
 		ADK_LINUX_MICROBLAZE || \
 		ADK_LINUX_MICROBLAZE || \
 		ADK_LINUX_MIPS || \
 		ADK_LINUX_MIPS || \
 		ADK_LINUX_PPC || \
 		ADK_LINUX_PPC || \
+		ADK_LINUX_SH || \
 		ADK_LINUX_X86 || \
 		ADK_LINUX_X86 || \
 		ADK_LINUX_X86_64
 		ADK_LINUX_X86_64
 	help
 	help
@@ -720,6 +734,10 @@ config ADK_TARGET_SUFFIX
 	default "muslgnueabihf" if ADK_TARGET_LIB_MUSL && ADK_EABIHF
 	default "muslgnueabihf" if ADK_TARGET_LIB_MUSL && ADK_EABIHF
 	default "muslgnueabi" if ADK_TARGET_LIB_MUSL && ADK_EABI
 	default "muslgnueabi" if ADK_TARGET_LIB_MUSL && ADK_EABI
 	default "musl" 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 "32" if ADK_32
+	default "x32" if ADK_x32
 	default "gnu"
 	default "gnu"
 
 
 choice
 choice
@@ -768,6 +786,7 @@ config ADK_TARGET_ROOTFS_INITRAMFS_PIGGYBACK
 config ADK_TARGET_ROOTFS_SQUASHFS
 config ADK_TARGET_ROOTFS_SQUASHFS
 	bool "Compressed read-only root filesystem (squashfs)"
 	bool "Compressed read-only root filesystem (squashfs)"
 	select ADK_KERNEL_SQUASHFS
 	select ADK_KERNEL_SQUASHFS
+	select ADK_HOST_NEED_SQUASHFS
 	depends on ADK_TARGET_WITH_MTD
 	depends on ADK_TARGET_WITH_MTD
 	help
 	help
 	  highly compressed read-only filesystem for MTD flash systems.
 	  highly compressed read-only filesystem for MTD flash systems.
@@ -776,6 +795,7 @@ config ADK_TARGET_ROOTFS_JFFS2
 	bool "Compressed read-write root filesystem (jffs2)"
 	bool "Compressed read-write root filesystem (jffs2)"
 	select ADK_KERNEL_MISC_FILESYSTEMS
 	select ADK_KERNEL_MISC_FILESYSTEMS
 	select ADK_KERNEL_JFFS2
 	select ADK_KERNEL_JFFS2
+	select ADK_HOST_NEED_JFFS2
 	depends on ADK_TARGET_WITH_MTD
 	depends on ADK_TARGET_WITH_MTD
 	help
 	help
 	  compressed read-write filesystem for MTD flash systems.
 	  compressed read-write filesystem for MTD flash systems.
@@ -834,6 +854,7 @@ config ADK_TARGET_ROOTFS_GENEXT2FS
 	depends on ADK_TARGET_WITH_CF
 	depends on ADK_TARGET_WITH_CF
 	select ADK_KERNEL_EXT2_FS
 	select ADK_KERNEL_EXT2_FS
 	select ADK_KERNEL_SCSI
 	select ADK_KERNEL_SCSI
+	select ADK_HOST_NEED_GENEXT2FS
 	help
 	help
 	  Use this option if you have a compact flash based system.
 	  Use this option if you have a compact flash based system.
 	  (ext2 filesystem is used.)
 	  (ext2 filesystem is used.)
@@ -854,6 +875,8 @@ config ADK_TARGET_ROOTFS_ISO
 	select ADK_KERNEL_JOLIET
 	select ADK_KERNEL_JOLIET
 	select ADK_KERNEL_SCSI
 	select ADK_KERNEL_SCSI
 	select ADK_KERNEL_BLK_DEV_SR
 	select ADK_KERNEL_BLK_DEV_SR
+	select ADK_HOST_NEED_MKISOFS
+	select ADK_HOST_NEED_SYSLINUX
 	depends on ADK_HOST_LINUX
 	depends on ADK_HOST_LINUX
 	depends on ADK_LINUX_X86
 	depends on ADK_LINUX_X86
 	help
 	help
@@ -861,6 +884,7 @@ config ADK_TARGET_ROOTFS_ISO
 
 
 config ADK_TARGET_ROOTFS_ARCHIVE
 config ADK_TARGET_ROOTFS_ARCHIVE
 	bool "Archive usable for different filesystems"
 	bool "Archive usable for different filesystems"
+	select ADK_HOST_NEED_GENEXT2FS if ADK_HARDWARE_QEMU
 	select ADK_KERNEL_EXT2_FS if ADK_HARDWARE_QEMU
 	select ADK_KERNEL_EXT2_FS if ADK_HARDWARE_QEMU
 	depends on !ADK_LINUX_MICROBLAZE
 	depends on !ADK_LINUX_MICROBLAZE
 	help
 	help

+ 40 - 0
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
 config ADK_TOOLS_ADDPATTERN_ARGS
 	string
 	string
 	default "-p W54G -v v4.20.6" if ADK_TARGET_BROADCOM_MODEL_LINKSYS_WRT54G
 	default "-p W54G -v v4.20.6" if ADK_TARGET_BROADCOM_MODEL_LINKSYS_WRT54G

+ 6 - 2
target/linux/config/Config.in.kernel

@@ -11,18 +11,22 @@ config ADK_KERNEL_INITRAMFS_COMPRESSION_NONE
 	boolean
 	boolean
 
 
 config ADK_KERNEL_INITRAMFS_COMPRESSION_XZ
 config ADK_KERNEL_INITRAMFS_COMPRESSION_XZ
+	select ADK_HOST_NEED_XZ
 	boolean
 	boolean
 
 
 config ADK_KERNEL_INITRAMFS_COMPRESSION_LZMA
 config ADK_KERNEL_INITRAMFS_COMPRESSION_LZMA
+	select ADK_HOST_NEED_LZMA
 	boolean
 	boolean
 
 
 config ADK_KERNEL_INITRAMFS_COMPRESSION_LZO
 config ADK_KERNEL_INITRAMFS_COMPRESSION_LZO
+	select ADK_HOST_NEED_LZOP
 	boolean
 	boolean
 
 
-config ADK_KERNEL_INITRAMFS_COMPRESSION_GZIP
+config ADK_KERNEL_INITRAMFS_COMPRESSION_BZIP2
+	select ADK_HOST_NEED_BZIP2
 	boolean
 	boolean
 
 
-config ADK_KERNEL_INITRAMFS_COMPRESSION_BZIP2
+config ADK_KERNEL_INITRAMFS_COMPRESSION_GZIP
 	boolean
 	boolean
 
 
 config ADK_KERNEL_RD_GZIP
 config ADK_KERNEL_RD_GZIP

+ 1 - 2
target/linux/kernel.config

@@ -2,6 +2,7 @@ CONFIG_DEFAULT_HOSTNAME="openadk"
 CONFIG_CMDLINE_BOOL=y
 CONFIG_CMDLINE_BOOL=y
 CONFIG_CMDLINE=""
 CONFIG_CMDLINE=""
 CONFIG_MMU=y
 CONFIG_MMU=y
+CONFIG_NO_HZ=y
 CONFIG_SYSVIPC=y
 CONFIG_SYSVIPC=y
 CONFIG_SYSVIPC_SYSCTL=y
 CONFIG_SYSVIPC_SYSCTL=y
 CONFIG_POSIX_MQUEUE=y
 CONFIG_POSIX_MQUEUE=y
@@ -26,9 +27,7 @@ CONFIG_BINFMT_SCRIPT=y
 CONFIG_DEVTMPFS=y
 CONFIG_DEVTMPFS=y
 CONFIG_DEVTMPFS_MOUNT=y
 CONFIG_DEVTMPFS_MOUNT=y
 CONFIG_STANDALONE=y
 CONFIG_STANDALONE=y
-CONFIG_NO_HZ=y
 CONFIG_PRINTK=y
 CONFIG_PRINTK=y
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
 CONFIG_BUG=n
 CONFIG_BUG=n
 CONFIG_FUTEX=y
 CONFIG_FUTEX=y
 CONFIG_EPOLL=y
 CONFIG_EPOLL=y

+ 6 - 11
target/microblaze/Makefile

@@ -9,11 +9,6 @@ include $(TOPDIR)/mk/image.mk
 
 
 KERNEL:=$(LINUX_DIR)/arch/microblaze/boot/$(ADK_TARGET_KERNEL)
 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)
 ifeq ($(ADK_TARGET_QEMU_MICROBLAZE_MODEL_ML605),y)
 MODEL:=petalogix-ml605
 MODEL:=petalogix-ml605
 DTB:=-dtb target/microblaze/ml605.dtb
 DTB:=-dtb target/microblaze/ml605.dtb
@@ -24,21 +19,21 @@ DTB:=
 endif
 endif
 
 
 ifeq ($(ADK_TARGET_FS),squashfs)
 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)
 	qemu-img create -f raw $(FW_DIR)/$(ROOTFSSQUASHFS) $(ADK_TARGET_MTD_SIZE)
 	dd conv=notrunc if=$(BUILD_DIR)/root.squashfs of=$(FW_DIR)/$(ROOTFSSQUASHFS)
 	dd conv=notrunc if=$(BUILD_DIR)/root.squashfs of=$(FW_DIR)/$(ROOTFSSQUASHFS)
 	@cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
 	@cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
 ifneq ($(ADK_HARDWARE_QEMU),)
 ifneq ($(ADK_HARDWARE_QEMU),)
 	@echo "Start qemu with following options:"
 	@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
 endif
 endif
 ifeq ($(ADK_TARGET_FS),jffs2)
 ifeq ($(ADK_TARGET_FS),jffs2)
-imageinstall: tools-compile $(FW_DIR)/$(ROOTFSJFFS2)
+imageinstall: $(FW_DIR)/$(ROOTFSJFFS2)
 	@cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
 	@cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
 ifneq ($(ADK_HARDWARE_QEMU),)
 ifneq ($(ADK_HARDWARE_QEMU),)
 	@echo "Start qemu with following options:"
 	@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
 endif
 endif
 ifeq ($(ADK_TARGET_FS),initramfs)
 ifeq ($(ADK_TARGET_FS),initramfs)
@@ -48,7 +43,7 @@ imageinstall: $(FW_DIR)/$(INITRAMFS)
 	@echo 'The initramfs image is: ${FW_DIR}/${INITRAMFS}'
 	@echo 'The initramfs image is: ${FW_DIR}/${INITRAMFS}'
 ifneq ($(ADK_HARDWARE_QEMU),)
 ifneq ($(ADK_HARDWARE_QEMU),)
 	@echo "Start qemu with following command line:"
 	@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
 endif
 endif
 ifeq ($(ADK_TARGET_FS),initramfs-piggyback)
 ifeq ($(ADK_TARGET_FS),initramfs-piggyback)
@@ -57,6 +52,6 @@ imageinstall: createinitramfs
 	@echo 'The kernel+initramfs file is: $(FW_DIR)/${TARGET_KERNEL}'
 	@echo 'The kernel+initramfs file is: $(FW_DIR)/${TARGET_KERNEL}'
 ifneq ($(ADK_HARDWARE_QEMU),)
 ifneq ($(ADK_HARDWARE_QEMU),)
 	@echo "Start qemu with following command line:"
 	@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
 endif
 endif

+ 1 - 11
target/microblaze/kernel/qemu-microblaze-ml605

@@ -1,3 +1,4 @@
+CONFIG_MICROBLAZE=y
 CONFIG_PLATFORM_GENERIC=y
 CONFIG_PLATFORM_GENERIC=y
 CONFIG_OPT_LIB_FUNCTION=y
 CONFIG_OPT_LIB_FUNCTION=y
 CONFIG_KERNEL_BASE_ADDR=0x50000000
 CONFIG_KERNEL_BASE_ADDR=0x50000000
@@ -9,7 +10,6 @@ CONFIG_XILINX_MICROBLAZE0_USE_DIV=1
 CONFIG_XILINX_MICROBLAZE0_USE_HW_MUL=2
 CONFIG_XILINX_MICROBLAZE0_USE_HW_MUL=2
 CONFIG_XILINX_MICROBLAZE0_USE_FPU=1
 CONFIG_XILINX_MICROBLAZE0_USE_FPU=1
 CONFIG_XILINX_MICROBLAZE0_HW_VER="8.10.a"
 CONFIG_XILINX_MICROBLAZE0_HW_VER="8.10.a"
-CONFIG_CMDLINE_FORCE=y
 CONFIG_PCI=y
 CONFIG_PCI=y
 CONFIG_PCI_XILINX=y
 CONFIG_PCI_XILINX=y
 CONFIG_DTC=y
 CONFIG_DTC=y
@@ -20,18 +20,8 @@ CONFIG_SERIAL_8250_CONSOLE=y
 CONFIG_SERIAL_8250_NR_UARTS=4
 CONFIG_SERIAL_8250_NR_UARTS=4
 CONFIG_SERIAL_8250_RUNTIME_UARTS=4
 CONFIG_SERIAL_8250_RUNTIME_UARTS=4
 CONFIG_SERIAL_OF_PLATFORM=y
 CONFIG_SERIAL_OF_PLATFORM=y
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-CONFIG_SPI=y
-CONFIG_SPI_MASTER=y
-CONFIG_SPI_BITBANG=y
-CONFIG_SPI_XILINX=y
 CONFIG_NETDEVICES=y
 CONFIG_NETDEVICES=y
 CONFIG_NET_CORE=y
 CONFIG_NET_CORE=y
 CONFIG_ETHERNET=y
 CONFIG_ETHERNET=y
 CONFIG_NET_VENDOR_XILINX=y
 CONFIG_NET_VENDOR_XILINX=y
 CONFIG_XILINX_AXI_EMAC=y
 CONFIG_XILINX_AXI_EMAC=y
-CONFIG_GPIOLIB=y
-CONFIG_OF_GPIO=y
-CONFIG_GPIO_SYSFS=y
-CONFIG_GPIO_XILINX=y

+ 1 - 11
target/microblaze/kernel/qemu-microblaze-s3adsp1800

@@ -1,3 +1,4 @@
+CONFIG_MICROBLAZE=y
 CONFIG_PLATFORM_GENERIC=y
 CONFIG_PLATFORM_GENERIC=y
 CONFIG_OPT_LIB_FUNCTION=y
 CONFIG_OPT_LIB_FUNCTION=y
 CONFIG_KERNEL_BASE_ADDR=0x90000000
 CONFIG_KERNEL_BASE_ADDR=0x90000000
@@ -9,7 +10,6 @@ CONFIG_XILINX_MICROBLAZE0_USE_DIV=0
 CONFIG_XILINX_MICROBLAZE0_USE_HW_MUL=1
 CONFIG_XILINX_MICROBLAZE0_USE_HW_MUL=1
 CONFIG_XILINX_MICROBLAZE0_USE_FPU=0
 CONFIG_XILINX_MICROBLAZE0_USE_FPU=0
 CONFIG_XILINX_MICROBLAZE0_HW_VER="7.10.d"
 CONFIG_XILINX_MICROBLAZE0_HW_VER="7.10.d"
-CONFIG_CMDLINE_FORCE=y
 CONFIG_PCI=y
 CONFIG_PCI=y
 CONFIG_PCI_XILINX=y
 CONFIG_PCI_XILINX=y
 CONFIG_DTC=y
 CONFIG_DTC=y
@@ -17,18 +17,8 @@ CONFIG_OF=y
 CONFIG_PROC_DEVICETREE=y
 CONFIG_PROC_DEVICETREE=y
 CONFIG_SERIAL_UARTLITE=y
 CONFIG_SERIAL_UARTLITE=y
 CONFIG_SERIAL_UARTLITE_CONSOLE=y
 CONFIG_SERIAL_UARTLITE_CONSOLE=y
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-CONFIG_SPI=y
-CONFIG_SPI_MASTER=y
-CONFIG_SPI_BITBANG=y
-CONFIG_SPI_XILINX=y
 CONFIG_NETDEVICES=y
 CONFIG_NETDEVICES=y
 CONFIG_NET_CORE=y
 CONFIG_NET_CORE=y
 CONFIG_ETHERNET=y
 CONFIG_ETHERNET=y
 CONFIG_NET_VENDOR_XILINX=y
 CONFIG_NET_VENDOR_XILINX=y
 CONFIG_XILINX_EMACLITE=y
 CONFIG_XILINX_EMACLITE=y
-CONFIG_GPIOLIB=y
-CONFIG_OF_GPIO=y
-CONFIG_GPIO_SYSFS=y
-CONFIG_GPIO_XILINX=y

+ 3 - 11
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
 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)
 ifeq ($(ADK_TARGET_SYSTEM_BROADCOM_BCM47XX),y)
-kernel-install: tools-compile
+kernel-install:
 	${TARGET_CROSS}objcopy ${OSTRIP} -S ${LINUX_DIR}/vmlinuz.elf \
 	${TARGET_CROSS}objcopy ${OSTRIP} -S ${LINUX_DIR}/vmlinuz.elf \
 	    ${BUILD_DIR}/${TARGET_KERNEL}
 	    ${BUILD_DIR}/${TARGET_KERNEL}
 
 
@@ -39,7 +31,7 @@ endif
 endif
 endif
 
 
 ifeq ($(ADK_TARGET_SYSTEM_LINKSYS_AG241),y)
 ifeq ($(ADK_TARGET_SYSTEM_LINKSYS_AG241),y)
-kernel-install: tools-compile
+kernel-install:
 	${TARGET_CROSS}objcopy -S -O srec $(KERNEL) $(LINUX_DIR)/vmlinux.srec
 	${TARGET_CROSS}objcopy -S -O srec $(KERNEL) $(LINUX_DIR)/vmlinux.srec
 	PATH='${TARGET_PATH}' srec2bin $(LINUX_DIR)/vmlinux.srec $(LINUX_DIR)/vmlinux.bin
 	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
 	(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)
 	$(TARGET_CROSS)objcopy $(OSTRIP) -S $(KERNEL) $(BUILD_DIR)/$(TARGET_KERNEL)
 endif
 endif
 ifeq ($(ADK_TARGET_SYSTEM_FON_FON2100),y)
 ifeq ($(ADK_TARGET_SYSTEM_FON_FON2100),y)
-kernel-install: tools-compile
+kernel-install:
 	$(TARGET_CROSS)objcopy $(OSTRIP) -S $(KERNEL) $(BUILD_DIR)/$(TARGET_KERNEL)
 	$(TARGET_CROSS)objcopy $(OSTRIP) -S $(KERNEL) $(BUILD_DIR)/$(TARGET_KERNEL)
 
 
 ${BUILD_DIR}/${ROOTFSSQUASHFS}: ${BUILD_DIR}/root.squashfs
 ${BUILD_DIR}/${ROOTFSSQUASHFS}: ${BUILD_DIR}/root.squashfs

+ 1 - 0
target/ppc/sys-available/toolchain-ppc

@@ -2,6 +2,7 @@ config ADK_TARGET_SYSTEM_TOOLCHAIN_PPC
 	bool "Toolchain only"
 	bool "Toolchain only"
 	select ADK_ppc
 	select ADK_ppc
 	select ADK_toolchain_ppc
 	select ADK_toolchain_ppc
+	select ADK_CPU_PPC
 	select ADK_TOOLCHAIN
 	select ADK_TOOLCHAIN
 	select ADK_TARGET_PACKAGE_TGZ
 	select ADK_TARGET_PACKAGE_TGZ
 	help
 	help

+ 1 - 0
target/ppc64/sys-available/toolchain-ppc64

@@ -2,6 +2,7 @@ config ADK_TARGET_SYSTEM_TOOLCHAIN_PPC64
 	bool "Toolchain only"
 	bool "Toolchain only"
 	select ADK_ppc64
 	select ADK_ppc64
 	select ADK_toolchain_ppc64
 	select ADK_toolchain_ppc64
+	select ADK_CPU_PPC64
 	select ADK_TOOLCHAIN
 	select ADK_TOOLCHAIN
 	select ADK_TARGET_PACKAGE_TGZ
 	select ADK_TARGET_PACKAGE_TGZ
 	help
 	help

+ 3 - 3
target/sh/Makefile

@@ -26,7 +26,7 @@ imageinstall: $(FW_DIR)/$(INITRAMFS)
 	@cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
 	@cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
 	@echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
 	@echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
 	@echo 'The initramfs image is: ${FW_DIR}/${INITRAMFS}'
 	@echo 'The initramfs image is: ${FW_DIR}/${INITRAMFS}'
-ifeq ($(ADK_TARGET_SYSTEM_QEMU_SH),y)
+ifeq ($(ADK_HARDWARE_QEMU),y)
 	@echo "Start qemu with following command line:"
 	@echo "Start qemu with following command line:"
 	@echo 'qemu-system-${CPU_ARCH} -M r2d -kernel $(FW_DIR)/$(TARGET_KERNEL) -initrd ${FW_DIR}/${INITRAMFS}'
 	@echo 'qemu-system-${CPU_ARCH} -M r2d -kernel $(FW_DIR)/$(TARGET_KERNEL) -initrd ${FW_DIR}/${INITRAMFS}'
 endif
 endif
@@ -35,8 +35,8 @@ ifeq ($(ADK_TARGET_FS),initramfs-piggyback)
 imageinstall: createinitramfs
 imageinstall: createinitramfs
 	@cp $(KERNEL) $(FW_DIR)/${TARGET_KERNEL}
 	@cp $(KERNEL) $(FW_DIR)/${TARGET_KERNEL}
 	@echo 'The kernel+initramfs file is: $(FW_DIR)/${TARGET_KERNEL}'
 	@echo 'The kernel+initramfs file is: $(FW_DIR)/${TARGET_KERNEL}'
-ifeq ($(ADK_TARGET_SYSTEM_QEMU_SH),y)
+ifeq ($(ADK_HARDWARE_QEMU),y)
 	@echo "Start qemu with following command line:"
 	@echo "Start qemu with following command line:"
-	@echo 'qemu-system-{CPU_ARCH} -M r2d -kernel $(FW_DIR)/$(TARGET_KERNEL)'
+	@echo 'qemu-system-${CPU_ARCH} -M r2d -kernel $(FW_DIR)/$(TARGET_KERNEL)'
 endif
 endif
 endif
 endif

+ 0 - 1660
target/sh/kernel.config

@@ -1,1660 +0,0 @@
-#
-# Automatically generated file; DO NOT EDIT.
-# Linux/sh 3.9.11 Kernel Configuration
-#
-CONFIG_SUPERH=y
-CONFIG_SUPERH32=y
-# CONFIG_SUPERH64 is not set
-CONFIG_ARCH_DEFCONFIG="arch/sh/configs/shx3_defconfig"
-CONFIG_RWSEM_GENERIC_SPINLOCK=y
-CONFIG_GENERIC_BUG=y
-CONFIG_GENERIC_HWEIGHT=y
-# CONFIG_GENERIC_GPIO is not set
-# CONFIG_ARCH_SUSPEND_POSSIBLE is not set
-CONFIG_ARCH_HIBERNATION_POSSIBLE=y
-CONFIG_SYS_SUPPORTS_HUGETLBFS=y
-CONFIG_SYS_SUPPORTS_PCI=y
-CONFIG_SYS_SUPPORTS_TMU=y
-CONFIG_STACKTRACE_SUPPORT=y
-CONFIG_LOCKDEP_SUPPORT=y
-CONFIG_HAVE_LATENCYTOP_SUPPORT=y
-# CONFIG_ARCH_HAS_ILOG2_U32 is not set
-# CONFIG_ARCH_HAS_ILOG2_U64 is not set
-CONFIG_ARCH_HAS_DEFAULT_IDLE=y
-# CONFIG_NO_IOPORT is not set
-CONFIG_IO_TRAPPED=y
-CONFIG_DMA_NONCOHERENT=y
-CONFIG_NEED_DMA_MAP_STATE=y
-CONFIG_NEED_SG_DMA_LENGTH=y
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-CONFIG_IRQ_WORK=y
-
-#
-# General setup
-#
-CONFIG_BROKEN_ON_SMP=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_CROSS_COMPILE=""
-CONFIG_LOCALVERSION=""
-CONFIG_LOCALVERSION_AUTO=y
-CONFIG_HAVE_KERNEL_GZIP=y
-CONFIG_HAVE_KERNEL_BZIP2=y
-CONFIG_HAVE_KERNEL_LZMA=y
-CONFIG_HAVE_KERNEL_XZ=y
-CONFIG_HAVE_KERNEL_LZO=y
-# CONFIG_KERNEL_GZIP is not set
-# CONFIG_KERNEL_BZIP2 is not set
-# CONFIG_KERNEL_LZMA is not set
-CONFIG_KERNEL_XZ=y
-# CONFIG_KERNEL_LZO is not set
-CONFIG_DEFAULT_HOSTNAME="openadk"
-# CONFIG_SWAP is not set
-CONFIG_SYSVIPC=y
-CONFIG_SYSVIPC_SYSCTL=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_POSIX_MQUEUE_SYSCTL=y
-# CONFIG_FHANDLE is not set
-# CONFIG_AUDIT is not set
-CONFIG_HAVE_GENERIC_HARDIRQS=y
-
-#
-# IRQ subsystem
-#
-CONFIG_GENERIC_HARDIRQS=y
-CONFIG_MAY_HAVE_SPARSE_IRQ=y
-CONFIG_GENERIC_IRQ_SHOW=y
-CONFIG_IRQ_DOMAIN=y
-CONFIG_IRQ_FORCED_THREADING=y
-CONFIG_SPARSE_IRQ=y
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
-
-#
-# Timers subsystem
-#
-# CONFIG_NO_HZ is not set
-# CONFIG_HIGH_RES_TIMERS is not set
-
-#
-# CPU/Task time and stats accounting
-#
-CONFIG_TICK_CPU_ACCOUNTING=y
-# CONFIG_BSD_PROCESS_ACCT is not set
-# CONFIG_TASKSTATS is not set
-
-#
-# RCU Subsystem
-#
-CONFIG_TINY_RCU=y
-# CONFIG_PREEMPT_RCU is not set
-# CONFIG_RCU_STALL_COMMON is not set
-# CONFIG_TREE_RCU_TRACE is not set
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_CGROUPS is not set
-# CONFIG_CHECKPOINT_RESTORE is not set
-# CONFIG_NAMESPACES is not set
-CONFIG_UIDGID_CONVERTED=y
-# CONFIG_UIDGID_STRICT_TYPE_CHECKS is not set
-# CONFIG_SCHED_AUTOGROUP is not set
-# CONFIG_SYSFS_DEPRECATED is not set
-# CONFIG_RELAY is not set
-# CONFIG_BLK_DEV_INITRD is not set
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-CONFIG_SYSCTL=y
-CONFIG_ANON_INODES=y
-CONFIG_EXPERT=y
-CONFIG_HAVE_UID16=y
-CONFIG_UID16=y
-# CONFIG_SYSCTL_SYSCALL is not set
-CONFIG_KALLSYMS=y
-# CONFIG_KALLSYMS_ALL is not set
-CONFIG_HOTPLUG=y
-CONFIG_PRINTK=y
-CONFIG_BUG=y
-CONFIG_BASE_FULL=y
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_SIGNALFD=y
-CONFIG_TIMERFD=y
-CONFIG_EVENTFD=y
-CONFIG_SHMEM=y
-# CONFIG_AIO is not set
-CONFIG_EMBEDDED=y
-CONFIG_HAVE_PERF_EVENTS=y
-CONFIG_PERF_USE_VMALLOC=y
-
-#
-# Kernel Performance Events And Counters
-#
-CONFIG_PERF_EVENTS=y
-# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
-CONFIG_VM_EVENT_COUNTERS=y
-CONFIG_PCI_QUIRKS=y
-# CONFIG_COMPAT_BRK is not set
-CONFIG_SLAB=y
-# CONFIG_SLUB is not set
-# CONFIG_SLOB is not set
-# CONFIG_PROFILING is not set
-CONFIG_HAVE_OPROFILE=y
-# CONFIG_KPROBES is not set
-# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set
-CONFIG_HAVE_IOREMAP_PROT=y
-CONFIG_HAVE_KPROBES=y
-CONFIG_HAVE_KRETPROBES=y
-CONFIG_HAVE_ARCH_TRACEHOOK=y
-CONFIG_HAVE_DMA_ATTRS=y
-CONFIG_GENERIC_SMP_IDLE_THREAD=y
-CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
-CONFIG_HAVE_CLK=y
-CONFIG_HAVE_DMA_API_DEBUG=y
-CONFIG_HAVE_HW_BREAKPOINT=y
-CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
-CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
-CONFIG_MODULES_USE_ELF_RELA=y
-CONFIG_OLD_SIGSUSPEND=y
-CONFIG_OLD_SIGACTION=y
-
-#
-# GCOV-based kernel profiling
-#
-CONFIG_HAVE_GENERIC_DMA_COHERENT=y
-CONFIG_SLABINFO=y
-CONFIG_RT_MUTEXES=y
-CONFIG_BASE_SMALL=0
-CONFIG_MODULES=y
-# CONFIG_MODULE_FORCE_LOAD is not set
-# CONFIG_MODULE_UNLOAD is not set
-# CONFIG_MODVERSIONS is not set
-# CONFIG_MODULE_SRCVERSION_ALL is not set
-# CONFIG_MODULE_SIG is not set
-CONFIG_BLOCK=y
-# CONFIG_LBDAF is not set
-# CONFIG_BLK_DEV_BSG is not set
-# CONFIG_BLK_DEV_BSGLIB is not set
-# CONFIG_BLK_DEV_INTEGRITY is not set
-
-#
-# Partition Types
-#
-# CONFIG_PARTITION_ADVANCED is not set
-CONFIG_MSDOS_PARTITION=y
-CONFIG_EFI_PARTITION=y
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-# CONFIG_IOSCHED_DEADLINE is not set
-# CONFIG_IOSCHED_CFQ is not set
-CONFIG_DEFAULT_NOOP=y
-CONFIG_DEFAULT_IOSCHED="noop"
-CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
-CONFIG_INLINE_READ_UNLOCK=y
-CONFIG_INLINE_READ_UNLOCK_IRQ=y
-CONFIG_INLINE_WRITE_UNLOCK=y
-CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
-# CONFIG_FREEZER is not set
-
-#
-# System type
-#
-CONFIG_CPU_SH4=y
-CONFIG_CPU_HAS_PMU=y
-# CONFIG_CPU_SUBTYPE_SH7619 is not set
-# CONFIG_CPU_SUBTYPE_SH7201 is not set
-# CONFIG_CPU_SUBTYPE_SH7203 is not set
-# CONFIG_CPU_SUBTYPE_SH7206 is not set
-# CONFIG_CPU_SUBTYPE_SH7263 is not set
-# CONFIG_CPU_SUBTYPE_SH7264 is not set
-# CONFIG_CPU_SUBTYPE_SH7269 is not set
-# CONFIG_CPU_SUBTYPE_MXG is not set
-# CONFIG_CPU_SUBTYPE_SH7705 is not set
-# CONFIG_CPU_SUBTYPE_SH7706 is not set
-# CONFIG_CPU_SUBTYPE_SH7707 is not set
-# CONFIG_CPU_SUBTYPE_SH7708 is not set
-# CONFIG_CPU_SUBTYPE_SH7709 is not set
-# CONFIG_CPU_SUBTYPE_SH7710 is not set
-# CONFIG_CPU_SUBTYPE_SH7712 is not set
-# CONFIG_CPU_SUBTYPE_SH7720 is not set
-# CONFIG_CPU_SUBTYPE_SH7721 is not set
-# CONFIG_CPU_SUBTYPE_SH7750 is not set
-# CONFIG_CPU_SUBTYPE_SH7091 is not set
-# CONFIG_CPU_SUBTYPE_SH7750R is not set
-# CONFIG_CPU_SUBTYPE_SH7750S is not set
-# CONFIG_CPU_SUBTYPE_SH7751 is not set
-CONFIG_CPU_SUBTYPE_SH7751R=y
-# CONFIG_CPU_SUBTYPE_SH7760 is not set
-# CONFIG_CPU_SUBTYPE_SH4_202 is not set
-# CONFIG_CPU_SUBTYPE_SH7723 is not set
-# CONFIG_CPU_SUBTYPE_SH7724 is not set
-# CONFIG_CPU_SUBTYPE_SH7734 is not set
-# CONFIG_CPU_SUBTYPE_SH7757 is not set
-# CONFIG_CPU_SUBTYPE_SH7763 is not set
-# CONFIG_CPU_SUBTYPE_SH7770 is not set
-# CONFIG_CPU_SUBTYPE_SH7780 is not set
-# CONFIG_CPU_SUBTYPE_SH7785 is not set
-# CONFIG_CPU_SUBTYPE_SH7786 is not set
-# CONFIG_CPU_SUBTYPE_SHX3 is not set
-# CONFIG_CPU_SUBTYPE_SH7343 is not set
-# CONFIG_CPU_SUBTYPE_SH7722 is not set
-# CONFIG_CPU_SUBTYPE_SH7366 is not set
-
-#
-# Memory management options
-#
-CONFIG_QUICKLIST=y
-CONFIG_MMU=y
-CONFIG_PAGE_OFFSET=0x80000000
-CONFIG_FORCE_MAX_ZONEORDER=11
-CONFIG_MEMORY_START=0x0c000000
-CONFIG_MEMORY_SIZE=0x04000000
-CONFIG_29BIT=y
-CONFIG_VSYSCALL=y
-CONFIG_ARCH_FLATMEM_ENABLE=y
-CONFIG_ARCH_SPARSEMEM_ENABLE=y
-CONFIG_ARCH_SPARSEMEM_DEFAULT=y
-CONFIG_MAX_ACTIVE_REGIONS=1
-CONFIG_ARCH_SELECT_MEMORY_MODEL=y
-CONFIG_UNCACHED_MAPPING=y
-CONFIG_PAGE_SIZE_4KB=y
-# CONFIG_PAGE_SIZE_64KB is not set
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_FLATMEM_MANUAL=y
-# CONFIG_SPARSEMEM_MANUAL is not set
-CONFIG_FLATMEM=y
-CONFIG_FLAT_NODE_MEM_MAP=y
-CONFIG_SPARSEMEM_STATIC=y
-CONFIG_HAVE_MEMBLOCK=y
-CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
-CONFIG_ARCH_DISCARD_MEMBLOCK=y
-# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set
-CONFIG_PAGEFLAGS_EXTENDED=y
-CONFIG_SPLIT_PTLOCK_CPUS=4
-# CONFIG_COMPACTION is not set
-# CONFIG_PHYS_ADDR_T_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=0
-CONFIG_NR_QUICK=1
-# CONFIG_KSM is not set
-CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
-# CONFIG_CROSS_MEMORY_ATTACH is not set
-CONFIG_NEED_PER_CPU_KM=y
-# CONFIG_CLEANCACHE is not set
-
-#
-# Cache configuration
-#
-CONFIG_CACHE_WRITEBACK=y
-# CONFIG_CACHE_WRITETHROUGH is not set
-# CONFIG_CACHE_OFF is not set
-
-#
-# Processor features
-#
-CONFIG_CPU_LITTLE_ENDIAN=y
-# CONFIG_CPU_BIG_ENDIAN is not set
-CONFIG_SH_FPU=y
-# CONFIG_SH_STORE_QUEUES is not set
-CONFIG_CPU_HAS_INTEVT=y
-CONFIG_CPU_HAS_SR_RB=y
-CONFIG_CPU_HAS_FPU=y
-
-#
-# Board support
-#
-# CONFIG_SH_SECUREEDGE5410 is not set
-CONFIG_SH_RTS7751R2D=y
-# CONFIG_SH_LANDISK is not set
-# CONFIG_SH_TITAN is not set
-# CONFIG_SH_LBOX_RE2 is not set
-
-#
-# RTS7751R2D Board Revision
-#
-CONFIG_RTS7751R2D_PLUS=y
-# CONFIG_RTS7751R2D_1 is not set
-
-#
-# Timer and clock configuration
-#
-CONFIG_SH_TIMER_TMU=y
-CONFIG_SH_PCLK_FREQ=60000000
-CONFIG_SH_CLK_CPG=y
-CONFIG_SH_CLK_CPG_LEGACY=y
-
-#
-# CPU Frequency scaling
-#
-
-#
-# CPU Frequency scaling
-#
-# CONFIG_CPU_FREQ is not set
-
-#
-# DMA support
-#
-# CONFIG_SH_DMA is not set
-
-#
-# Companion Chips
-#
-
-#
-# Additional SuperH Device Drivers
-#
-# CONFIG_HEARTBEAT is not set
-# CONFIG_PUSH_SWITCH is not set
-
-#
-# Kernel features
-#
-CONFIG_HZ_100=y
-# CONFIG_HZ_250 is not set
-# CONFIG_HZ_300 is not set
-# CONFIG_HZ_1000 is not set
-CONFIG_HZ=100
-# CONFIG_SCHED_HRTICK is not set
-# CONFIG_KEXEC is not set
-# CONFIG_CRASH_DUMP is not set
-CONFIG_PHYSICAL_START=0x0c000000
-# CONFIG_SECCOMP is not set
-# CONFIG_CC_STACKPROTECTOR is not set
-CONFIG_PREEMPT_NONE=y
-# CONFIG_PREEMPT_VOLUNTARY is not set
-# CONFIG_PREEMPT is not set
-CONFIG_GUSA=y
-# CONFIG_GUSA_RB is not set
-# CONFIG_HW_PERF_EVENTS is not set
-
-#
-# SuperH / SH-Mobile Driver Options
-#
-CONFIG_SH_INTC=y
-
-#
-# Interrupt controller options
-#
-
-#
-# Boot options
-#
-CONFIG_ZERO_PAGE_OFFSET=0x00010000
-CONFIG_BOOT_LINK_OFFSET=0x00800000
-CONFIG_ENTRY_OFFSET=0x00001000
-CONFIG_CMDLINE_OVERWRITE=y
-# CONFIG_CMDLINE_EXTEND is not set
-CONFIG_CMDLINE="console=tty0"
-
-#
-# Bus options
-#
-CONFIG_PCI=y
-CONFIG_PCI_DOMAINS=y
-# CONFIG_PCIEPORTBUS is not set
-# CONFIG_PCI_DEBUG is not set
-# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set
-# CONFIG_PCI_STUB is not set
-# CONFIG_PCI_IOV is not set
-# CONFIG_PCI_PRI is not set
-# CONFIG_PCI_PASID is not set
-# CONFIG_PCCARD is not set
-# CONFIG_HOTPLUG_PCI is not set
-
-#
-# Executable file formats
-#
-CONFIG_BINFMT_ELF=y
-# CONFIG_HAVE_AOUT is not set
-# CONFIG_BINFMT_MISC is not set
-# CONFIG_COREDUMP is not set
-
-#
-# Power management options (EXPERIMENTAL)
-#
-# CONFIG_PM_RUNTIME is not set
-# CONFIG_CPU_IDLE is not set
-# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set
-CONFIG_NET=y
-
-#
-# Networking options
-#
-CONFIG_PACKET=y
-# CONFIG_PACKET_DIAG is not set
-CONFIG_UNIX=y
-# CONFIG_UNIX_DIAG is not set
-# CONFIG_XFRM_USER is not set
-# CONFIG_NET_KEY is not set
-CONFIG_INET=y
-# CONFIG_IP_MULTICAST is not set
-# CONFIG_IP_ADVANCED_ROUTER is not set
-# CONFIG_IP_PNP is not set
-# CONFIG_NET_IPIP is not set
-# CONFIG_NET_IPGRE_DEMUX is not set
-# CONFIG_ARPD is not set
-# CONFIG_SYN_COOKIES is not set
-# CONFIG_INET_AH is not set
-# CONFIG_INET_ESP is not set
-# CONFIG_INET_IPCOMP is not set
-# CONFIG_INET_XFRM_TUNNEL is not set
-# CONFIG_INET_TUNNEL is not set
-# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
-# CONFIG_INET_XFRM_MODE_TUNNEL is not set
-# CONFIG_INET_XFRM_MODE_BEET is not set
-# CONFIG_INET_LRO is not set
-# CONFIG_INET_DIAG is not set
-# CONFIG_TCP_CONG_ADVANCED is not set
-CONFIG_TCP_CONG_CUBIC=y
-CONFIG_DEFAULT_TCP_CONG="cubic"
-# CONFIG_TCP_MD5SIG is not set
-# CONFIG_IPV6 is not set
-# CONFIG_NETWORK_SECMARK is not set
-# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
-# CONFIG_NETFILTER is not set
-# CONFIG_IP_DCCP is not set
-# CONFIG_IP_SCTP is not set
-# CONFIG_RDS is not set
-# CONFIG_TIPC is not set
-# CONFIG_ATM is not set
-# CONFIG_L2TP is not set
-# CONFIG_BRIDGE is not set
-CONFIG_HAVE_NET_DSA=y
-# CONFIG_VLAN_8021Q is not set
-# CONFIG_DECNET is not set
-# CONFIG_LLC2 is not set
-# CONFIG_IPX is not set
-# CONFIG_ATALK is not set
-# CONFIG_X25 is not set
-# CONFIG_LAPB is not set
-# CONFIG_PHONET is not set
-# CONFIG_IEEE802154 is not set
-# CONFIG_NET_SCHED is not set
-# CONFIG_DCB is not set
-# CONFIG_BATMAN_ADV is not set
-# CONFIG_OPENVSWITCH is not set
-# CONFIG_VSOCKETS is not set
-CONFIG_BQL=y
-
-#
-# Network testing
-#
-# CONFIG_NET_PKTGEN is not set
-# CONFIG_HAMRADIO is not set
-# CONFIG_CAN is not set
-# CONFIG_IRDA is not set
-# CONFIG_BT is not set
-# CONFIG_AF_RXRPC is not set
-CONFIG_WIRELESS=y
-# CONFIG_CFG80211 is not set
-# CONFIG_LIB80211 is not set
-
-#
-# CFG80211 needs to be enabled for MAC80211
-#
-# CONFIG_WIMAX is not set
-# CONFIG_RFKILL is not set
-# CONFIG_NET_9P is not set
-# CONFIG_CAIF is not set
-# CONFIG_CEPH_LIB is not set
-# CONFIG_NFC is not set
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-CONFIG_STANDALONE=y
-CONFIG_PREVENT_FIRMWARE_BUILD=y
-# CONFIG_FW_LOADER is not set
-# CONFIG_DEBUG_DRIVER is not set
-# CONFIG_DEBUG_DEVRES is not set
-# CONFIG_SYS_HYPERVISOR is not set
-# CONFIG_GENERIC_CPU_DEVICES is not set
-# CONFIG_DMA_SHARED_BUFFER is not set
-
-#
-# Bus devices
-#
-# CONFIG_CONNECTOR is not set
-# CONFIG_MTD is not set
-# CONFIG_PARPORT is not set
-# CONFIG_BLK_DEV is not set
-
-#
-# Misc devices
-#
-# CONFIG_SENSORS_LIS3LV02D is not set
-# CONFIG_AD525X_DPOT is not set
-# CONFIG_ATMEL_PWM is not set
-# CONFIG_PHANTOM is not set
-# CONFIG_INTEL_MID_PTI is not set
-# CONFIG_SGI_IOC4 is not set
-# CONFIG_TIFM_CORE is not set
-# CONFIG_ATMEL_SSC is not set
-# CONFIG_ENCLOSURE_SERVICES is not set
-# CONFIG_HP_ILO is not set
-# CONFIG_TI_DAC7512 is not set
-# CONFIG_BMP085_SPI is not set
-# CONFIG_PCH_PHUB is not set
-# CONFIG_LATTICE_ECP3_CONFIG is not set
-# CONFIG_C2PORT is not set
-
-#
-# EEPROM support
-#
-# CONFIG_EEPROM_AT25 is not set
-# CONFIG_EEPROM_93CX6 is not set
-# CONFIG_EEPROM_93XX46 is not set
-# CONFIG_CB710_CORE is not set
-
-#
-# Texas Instruments shared transport line discipline
-#
-# CONFIG_SENSORS_LIS3_SPI is not set
-
-#
-# Altera FPGA firmware download module
-#
-CONFIG_HAVE_IDE=y
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-CONFIG_SCSI_MOD=y
-# CONFIG_RAID_ATTRS is not set
-CONFIG_SCSI=y
-CONFIG_SCSI_DMA=y
-# CONFIG_SCSI_TGT is not set
-# CONFIG_SCSI_NETLINK is not set
-# CONFIG_SCSI_PROC_FS is not set
-
-#
-# SCSI support type (disk, tape, CD-ROM)
-#
-CONFIG_BLK_DEV_SD=y
-# CONFIG_CHR_DEV_ST is not set
-# CONFIG_CHR_DEV_OSST is not set
-# CONFIG_BLK_DEV_SR is not set
-# CONFIG_CHR_DEV_SG is not set
-# CONFIG_CHR_DEV_SCH is not set
-# CONFIG_SCSI_MULTI_LUN is not set
-# CONFIG_SCSI_CONSTANTS is not set
-# CONFIG_SCSI_LOGGING is not set
-# CONFIG_SCSI_SCAN_ASYNC is not set
-
-#
-# SCSI Transports
-#
-# CONFIG_SCSI_SPI_ATTRS is not set
-# CONFIG_SCSI_FC_ATTRS is not set
-# CONFIG_SCSI_ISCSI_ATTRS is not set
-# CONFIG_SCSI_SAS_ATTRS is not set
-# CONFIG_SCSI_SAS_LIBSAS is not set
-# CONFIG_SCSI_SRP_ATTRS is not set
-# CONFIG_SCSI_LOWLEVEL is not set
-# CONFIG_SCSI_DH is not set
-# CONFIG_SCSI_OSD_INITIATOR is not set
-CONFIG_ATA=y
-# CONFIG_ATA_NONSTANDARD is not set
-CONFIG_ATA_VERBOSE_ERROR=y
-CONFIG_SATA_PMP=y
-
-#
-# Controllers with non-SFF native interface
-#
-# CONFIG_SATA_AHCI is not set
-# CONFIG_SATA_AHCI_PLATFORM is not set
-# CONFIG_SATA_INIC162X is not set
-# CONFIG_SATA_ACARD_AHCI is not set
-# CONFIG_SATA_SIL24 is not set
-CONFIG_ATA_SFF=y
-
-#
-# SFF controllers with custom DMA interface
-#
-# CONFIG_PDC_ADMA is not set
-# CONFIG_SATA_QSTOR is not set
-# CONFIG_SATA_SX4 is not set
-CONFIG_ATA_BMDMA=y
-
-#
-# SATA SFF controllers with BMDMA
-#
-# CONFIG_ATA_PIIX is not set
-# CONFIG_SATA_HIGHBANK is not set
-# CONFIG_SATA_MV is not set
-# CONFIG_SATA_NV is not set
-# CONFIG_SATA_PROMISE is not set
-# CONFIG_SATA_SIL is not set
-# CONFIG_SATA_SIS is not set
-# CONFIG_SATA_SVW is not set
-# CONFIG_SATA_ULI is not set
-# CONFIG_SATA_VIA is not set
-# CONFIG_SATA_VITESSE is not set
-
-#
-# PATA SFF controllers with BMDMA
-#
-# CONFIG_PATA_ALI is not set
-# CONFIG_PATA_AMD is not set
-# CONFIG_PATA_ARTOP is not set
-# CONFIG_PATA_ATIIXP is not set
-# CONFIG_PATA_ATP867X is not set
-# CONFIG_PATA_CMD64X is not set
-# CONFIG_PATA_CS5520 is not set
-# CONFIG_PATA_CS5530 is not set
-# CONFIG_PATA_CS5536 is not set
-# CONFIG_PATA_CYPRESS is not set
-# CONFIG_PATA_EFAR is not set
-# CONFIG_PATA_HPT366 is not set
-# CONFIG_PATA_HPT37X is not set
-# CONFIG_PATA_HPT3X2N is not set
-# CONFIG_PATA_HPT3X3 is not set
-# CONFIG_PATA_IT8213 is not set
-# CONFIG_PATA_IT821X is not set
-# CONFIG_PATA_JMICRON is not set
-# CONFIG_PATA_MARVELL is not set
-# CONFIG_PATA_NETCELL is not set
-# CONFIG_PATA_NINJA32 is not set
-# CONFIG_PATA_NS87415 is not set
-# CONFIG_PATA_OLDPIIX is not set
-# CONFIG_PATA_OPTIDMA is not set
-# CONFIG_PATA_PDC2027X is not set
-# CONFIG_PATA_PDC_OLD is not set
-# CONFIG_PATA_RADISYS is not set
-# CONFIG_PATA_RDC is not set
-# CONFIG_PATA_SC1200 is not set
-# CONFIG_PATA_SCH is not set
-# CONFIG_PATA_SERVERWORKS is not set
-# CONFIG_PATA_SIL680 is not set
-# CONFIG_PATA_SIS is not set
-# CONFIG_PATA_TOSHIBA is not set
-# CONFIG_PATA_TRIFLEX is not set
-# CONFIG_PATA_VIA is not set
-# CONFIG_PATA_WINBOND is not set
-
-#
-# PIO-only SFF controllers
-#
-# CONFIG_PATA_CMD640_PCI is not set
-# CONFIG_PATA_MPIIX is not set
-# CONFIG_PATA_NS87410 is not set
-# CONFIG_PATA_OPTI is not set
-CONFIG_PATA_PLATFORM=y
-# CONFIG_PATA_RZ1000 is not set
-
-#
-# Generic fallback / legacy drivers
-#
-# CONFIG_ATA_GENERIC is not set
-# CONFIG_PATA_LEGACY is not set
-# CONFIG_MD is not set
-# CONFIG_TARGET_CORE is not set
-# CONFIG_FUSION is not set
-
-#
-# IEEE 1394 (FireWire) support
-#
-# CONFIG_FIREWIRE is not set
-# CONFIG_FIREWIRE_NOSY is not set
-# CONFIG_I2O is not set
-CONFIG_NETDEVICES=y
-CONFIG_NET_CORE=y
-# CONFIG_BONDING is not set
-# CONFIG_DUMMY is not set
-# CONFIG_EQUALIZER is not set
-# CONFIG_NET_FC is not set
-CONFIG_MII=y
-# CONFIG_NET_TEAM is not set
-# CONFIG_MACVLAN is not set
-# CONFIG_VXLAN is not set
-# CONFIG_NETCONSOLE is not set
-# CONFIG_NETPOLL is not set
-# CONFIG_NET_POLL_CONTROLLER is not set
-# CONFIG_TUN is not set
-# CONFIG_VETH is not set
-# CONFIG_ARCNET is not set
-
-#
-# CAIF transport drivers
-#
-
-#
-# Distributed Switch Architecture drivers
-#
-# CONFIG_NET_DSA_MV88E6XXX is not set
-# CONFIG_NET_DSA_MV88E6060 is not set
-# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set
-# CONFIG_NET_DSA_MV88E6131 is not set
-# CONFIG_NET_DSA_MV88E6123_61_65 is not set
-CONFIG_ETHERNET=y
-# CONFIG_NET_VENDOR_3COM is not set
-# CONFIG_NET_VENDOR_ADAPTEC is not set
-# CONFIG_NET_VENDOR_ALTEON is not set
-# CONFIG_NET_VENDOR_AMD is not set
-# CONFIG_NET_VENDOR_ATHEROS is not set
-# CONFIG_NET_CADENCE is not set
-# CONFIG_NET_VENDOR_BROADCOM is not set
-# CONFIG_NET_VENDOR_BROCADE is not set
-# CONFIG_NET_CALXEDA_XGMAC is not set
-# CONFIG_NET_VENDOR_CHELSIO is not set
-# CONFIG_NET_VENDOR_CISCO is not set
-# CONFIG_DNET is not set
-# CONFIG_NET_VENDOR_DEC is not set
-# CONFIG_NET_VENDOR_DLINK is not set
-# CONFIG_NET_VENDOR_EMULEX is not set
-# CONFIG_NET_VENDOR_EXAR is not set
-# CONFIG_NET_VENDOR_HP is not set
-# CONFIG_NET_VENDOR_INTEL is not set
-# CONFIG_IP1000 is not set
-# CONFIG_JME is not set
-# CONFIG_NET_VENDOR_MARVELL is not set
-# CONFIG_NET_VENDOR_MELLANOX is not set
-# CONFIG_NET_VENDOR_MICREL is not set
-# CONFIG_NET_VENDOR_MICROCHIP is not set
-# CONFIG_NET_VENDOR_MYRI is not set
-# CONFIG_FEALNX is not set
-# CONFIG_NET_VENDOR_NATSEMI is not set
-# CONFIG_NET_VENDOR_NVIDIA is not set
-# CONFIG_NET_VENDOR_OKI is not set
-# CONFIG_ETHOC is not set
-# CONFIG_NET_PACKET_ENGINE is not set
-# CONFIG_NET_VENDOR_QLOGIC is not set
-CONFIG_NET_VENDOR_REALTEK=y
-CONFIG_8139CP=y
-# CONFIG_8139TOO is not set
-# CONFIG_R8169 is not set
-# CONFIG_NET_VENDOR_RDC is not set
-# CONFIG_NET_VENDOR_SEEQ is not set
-# CONFIG_NET_VENDOR_SILAN is not set
-# CONFIG_NET_VENDOR_SIS is not set
-# CONFIG_SFC is not set
-# CONFIG_NET_VENDOR_SMSC is not set
-# CONFIG_NET_VENDOR_STMICRO is not set
-# CONFIG_NET_VENDOR_SUN is not set
-# CONFIG_NET_VENDOR_TEHUTI is not set
-# CONFIG_NET_VENDOR_TI is not set
-# CONFIG_NET_VENDOR_VIA is not set
-# CONFIG_NET_VENDOR_WIZNET is not set
-# CONFIG_FDDI is not set
-# CONFIG_HIPPI is not set
-# CONFIG_PHYLIB is not set
-# CONFIG_MICREL_KS8995MA is not set
-# CONFIG_PPP is not set
-# CONFIG_SLIP is not set
-
-#
-# USB Network Adapters
-#
-# CONFIG_USB_CATC is not set
-# CONFIG_USB_KAWETH is not set
-# CONFIG_USB_PEGASUS is not set
-# CONFIG_USB_RTL8150 is not set
-# CONFIG_USB_USBNET is not set
-# CONFIG_USB_IPHETH is not set
-# CONFIG_WLAN is not set
-
-#
-# Enable WiMAX (Networking options) to see the WiMAX drivers
-#
-# CONFIG_WAN is not set
-# CONFIG_VMXNET3 is not set
-# CONFIG_ISDN is not set
-
-#
-# Input device support
-#
-CONFIG_INPUT=y
-# CONFIG_INPUT_FF_MEMLESS is not set
-# CONFIG_INPUT_POLLDEV is not set
-# CONFIG_INPUT_SPARSEKMAP is not set
-# CONFIG_INPUT_MATRIXKMAP is not set
-
-#
-# Userland interfaces
-#
-# CONFIG_INPUT_MOUSEDEV is not set
-# CONFIG_INPUT_JOYDEV is not set
-# CONFIG_INPUT_EVDEV is not set
-# CONFIG_INPUT_EVBUG is not set
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
-# CONFIG_KEYBOARD_ATKBD is not set
-# CONFIG_KEYBOARD_LKKBD is not set
-# CONFIG_KEYBOARD_NEWTON is not set
-# CONFIG_KEYBOARD_OPENCORES is not set
-# CONFIG_KEYBOARD_SAMSUNG is not set
-# CONFIG_KEYBOARD_STOWAWAY is not set
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_SH_KEYSC is not set
-# CONFIG_KEYBOARD_XTKBD is not set
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_INPUT_JOYSTICK is not set
-# CONFIG_INPUT_TABLET is not set
-# CONFIG_INPUT_TOUCHSCREEN is not set
-# CONFIG_INPUT_MISC is not set
-
-#
-# Hardware I/O ports
-#
-# CONFIG_SERIO is not set
-# CONFIG_GAMEPORT is not set
-
-#
-# Character devices
-#
-CONFIG_TTY=y
-CONFIG_VT=y
-CONFIG_CONSOLE_TRANSLATIONS=y
-CONFIG_VT_CONSOLE=y
-CONFIG_HW_CONSOLE=y
-CONFIG_VT_HW_CONSOLE_BINDING=y
-CONFIG_UNIX98_PTYS=y
-# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
-# CONFIG_LEGACY_PTYS is not set
-# CONFIG_SERIAL_NONSTANDARD is not set
-# CONFIG_NOZOMI is not set
-# CONFIG_N_GSM is not set
-# CONFIG_TRACE_SINK is not set
-CONFIG_DEVKMEM=y
-
-#
-# Serial drivers
-#
-# CONFIG_SERIAL_8250 is not set
-
-#
-# Non-8250 serial port support
-#
-# CONFIG_SERIAL_MAX3100 is not set
-# CONFIG_SERIAL_MAX310X is not set
-# CONFIG_SERIAL_MFD_HSU is not set
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_NR_UARTS=2
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-# CONFIG_SERIAL_JSM is not set
-# CONFIG_SERIAL_SCCNXP is not set
-# CONFIG_SERIAL_TIMBERDALE is not set
-# CONFIG_SERIAL_ALTERA_JTAGUART is not set
-# CONFIG_SERIAL_ALTERA_UART is not set
-# CONFIG_SERIAL_PCH_UART is not set
-# CONFIG_SERIAL_ARC is not set
-# CONFIG_SERIAL_RP2 is not set
-# CONFIG_TTY_PRINTK is not set
-# CONFIG_IPMI_HANDLER is not set
-CONFIG_HW_RANDOM=y
-# CONFIG_HW_RANDOM_TIMERIOMEM is not set
-# CONFIG_HW_RANDOM_ATMEL is not set
-# CONFIG_HW_RANDOM_EXYNOS is not set
-# CONFIG_R3964 is not set
-# CONFIG_APPLICOM is not set
-# CONFIG_RAW_DRIVER is not set
-# CONFIG_TCG_TPM is not set
-CONFIG_DEVPORT=y
-# CONFIG_BRCM_CHAR_DRIVERS is not set
-# CONFIG_I2C is not set
-CONFIG_SPI=y
-# CONFIG_SPI_DEBUG is not set
-CONFIG_SPI_MASTER=y
-
-#
-# SPI Master Controller Drivers
-#
-# CONFIG_SPI_ALTERA is not set
-CONFIG_SPI_BITBANG=y
-# CONFIG_SPI_PXA2XX is not set
-# CONFIG_SPI_PXA2XX_PCI is not set
-# CONFIG_SPI_RSPI is not set
-# CONFIG_SPI_SH_MSIOF is not set
-# CONFIG_SPI_SH is not set
-CONFIG_SPI_SH_SCI=y
-# CONFIG_SPI_TOPCLIFF_PCH is not set
-# CONFIG_SPI_XILINX is not set
-# CONFIG_SPI_DESIGNWARE is not set
-
-#
-# SPI Protocol Masters
-#
-# CONFIG_SPI_SPIDEV is not set
-# CONFIG_SPI_TLE62X0 is not set
-# CONFIG_HSI is not set
-
-#
-# PPS support
-#
-# CONFIG_PPS is not set
-
-#
-# PPS generators support
-#
-
-#
-# PTP clock support
-#
-# CONFIG_PTP_1588_CLOCK is not set
-
-#
-# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
-#
-# CONFIG_PTP_1588_CLOCK_PCH is not set
-CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y
-CONFIG_GPIO_DEVRES=y
-# CONFIG_W1 is not set
-# CONFIG_POWER_SUPPLY is not set
-# CONFIG_POWER_AVS is not set
-# CONFIG_HWMON is not set
-# CONFIG_THERMAL is not set
-# CONFIG_WATCHDOG is not set
-CONFIG_SSB_POSSIBLE=y
-
-#
-# Sonics Silicon Backplane
-#
-# CONFIG_SSB is not set
-CONFIG_BCMA_POSSIBLE=y
-
-#
-# Broadcom specific AMBA
-#
-# CONFIG_BCMA is not set
-
-#
-# Multifunction device drivers
-#
-# CONFIG_MFD_CORE is not set
-CONFIG_MFD_SM501=y
-# CONFIG_MFD_RTSX_PCI is not set
-# CONFIG_MFD_TI_AM335X_TSCADC is not set
-# CONFIG_HTC_PASIC3 is not set
-# CONFIG_MFD_STMPE is not set
-# CONFIG_MFD_TMIO is not set
-# CONFIG_MFD_DA9052_SPI is not set
-# CONFIG_MFD_ARIZONA_SPI is not set
-# CONFIG_MFD_WM831X_SPI is not set
-# CONFIG_MFD_MC13XXX_SPI is not set
-# CONFIG_ABX500_CORE is not set
-# CONFIG_EZX_PCAP is not set
-# CONFIG_LPC_SCH is not set
-# CONFIG_LPC_ICH is not set
-# CONFIG_MFD_RDC321X is not set
-# CONFIG_MFD_JANZ_CMODIO is not set
-# CONFIG_MFD_VX855 is not set
-# CONFIG_MFD_VIPERBOARD is not set
-# CONFIG_REGULATOR is not set
-# CONFIG_MEDIA_SUPPORT is not set
-
-#
-# Graphics support
-#
-CONFIG_VGA_ARB=y
-CONFIG_VGA_ARB_MAX_GPUS=16
-# CONFIG_DRM is not set
-# CONFIG_VGASTATE is not set
-CONFIG_VIDEO_OUTPUT_CONTROL=m
-CONFIG_FB=y
-# CONFIG_FIRMWARE_EDID is not set
-# CONFIG_FB_DDC is not set
-# CONFIG_FB_BOOT_VESA_SUPPORT is not set
-CONFIG_FB_CFB_FILLRECT=y
-CONFIG_FB_CFB_COPYAREA=y
-CONFIG_FB_CFB_IMAGEBLIT=y
-# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
-CONFIG_FB_SYS_FILLRECT=m
-CONFIG_FB_SYS_COPYAREA=m
-CONFIG_FB_SYS_IMAGEBLIT=m
-# CONFIG_FB_FOREIGN_ENDIAN is not set
-CONFIG_FB_SYS_FOPS=m
-# CONFIG_FB_WMT_GE_ROPS is not set
-CONFIG_FB_DEFERRED_IO=y
-# CONFIG_FB_SVGALIB is not set
-# CONFIG_FB_MACMODES is not set
-CONFIG_FB_BACKLIGHT=y
-# CONFIG_FB_MODE_HELPERS is not set
-# CONFIG_FB_TILEBLITTING is not set
-
-#
-# Frame buffer hardware drivers
-#
-# CONFIG_FB_CIRRUS is not set
-# CONFIG_FB_PM2 is not set
-# CONFIG_FB_CYBER2000 is not set
-# CONFIG_FB_ASILIANT is not set
-# CONFIG_FB_IMSTT is not set
-# CONFIG_FB_S1D13XXX is not set
-# CONFIG_FB_NVIDIA is not set
-# CONFIG_FB_RIVA is not set
-# CONFIG_FB_I740 is not set
-# CONFIG_FB_MATROX is not set
-# CONFIG_FB_RADEON is not set
-# CONFIG_FB_ATY128 is not set
-# CONFIG_FB_ATY is not set
-# CONFIG_FB_S3 is not set
-# CONFIG_FB_SAVAGE is not set
-# CONFIG_FB_SIS is not set
-# CONFIG_FB_NEOMAGIC is not set
-# CONFIG_FB_KYRO is not set
-# CONFIG_FB_3DFX is not set
-# CONFIG_FB_VOODOO1 is not set
-# CONFIG_FB_VT8623 is not set
-# CONFIG_FB_TRIDENT is not set
-# CONFIG_FB_ARK is not set
-# CONFIG_FB_PM3 is not set
-# CONFIG_FB_CARMINE is not set
-CONFIG_FB_SH_MOBILE_LCDC=m
-# CONFIG_FB_SH_MOBILE_HDMI is not set
-CONFIG_FB_SM501=y
-# CONFIG_FB_SMSCUFX is not set
-# CONFIG_FB_UDL is not set
-# CONFIG_FB_GOLDFISH is not set
-# CONFIG_FB_VIRTUAL is not set
-# CONFIG_FB_METRONOME is not set
-# CONFIG_FB_MB862XX is not set
-# CONFIG_FB_BROADSHEET is not set
-# CONFIG_FB_AUO_K190X is not set
-# CONFIG_EXYNOS_VIDEO is not set
-CONFIG_BACKLIGHT_LCD_SUPPORT=y
-CONFIG_LCD_CLASS_DEVICE=m
-# CONFIG_LCD_LTV350QV is not set
-# CONFIG_LCD_ILI9320 is not set
-# CONFIG_LCD_TDO24M is not set
-# CONFIG_LCD_VGG2432A4 is not set
-# CONFIG_LCD_PLATFORM is not set
-# CONFIG_LCD_S6E63M0 is not set
-# CONFIG_LCD_LD9040 is not set
-# CONFIG_LCD_AMS369FG06 is not set
-# CONFIG_LCD_LMS501KF03 is not set
-# CONFIG_LCD_HX8357 is not set
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
-CONFIG_BACKLIGHT_GENERIC=y
-
-#
-# Console display driver support
-#
-CONFIG_DUMMY_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
-# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
-# CONFIG_FONTS is not set
-CONFIG_FONT_8x8=y
-CONFIG_FONT_8x16=y
-CONFIG_LOGO=y
-# CONFIG_LOGO_LINUX_MONO is not set
-# CONFIG_LOGO_LINUX_VGA16 is not set
-# CONFIG_LOGO_LINUX_CLUT224 is not set
-# CONFIG_LOGO_SUPERH_MONO is not set
-# CONFIG_LOGO_SUPERH_VGA16 is not set
-CONFIG_LOGO_SUPERH_CLUT224=y
-# CONFIG_FB_SH_MOBILE_MERAM is not set
-# CONFIG_SOUND is not set
-
-#
-# HID support
-#
-CONFIG_HID=y
-# CONFIG_HIDRAW is not set
-# CONFIG_UHID is not set
-# CONFIG_HID_GENERIC is not set
-
-#
-# Special HID drivers
-#
-# CONFIG_HID_A4TECH is not set
-# CONFIG_HID_ACRUX is not set
-# CONFIG_HID_APPLE is not set
-# CONFIG_HID_AUREAL is not set
-# CONFIG_HID_BELKIN is not set
-# CONFIG_HID_CHERRY is not set
-# CONFIG_HID_CHICONY is not set
-# CONFIG_HID_CYPRESS is not set
-# CONFIG_HID_DRAGONRISE is not set
-# CONFIG_HID_EMS_FF is not set
-# CONFIG_HID_EZKEY is not set
-# CONFIG_HID_HOLTEK is not set
-# CONFIG_HID_KEYTOUCH is not set
-# CONFIG_HID_KYE is not set
-# CONFIG_HID_UCLOGIC is not set
-# CONFIG_HID_WALTOP is not set
-# CONFIG_HID_GYRATION is not set
-# CONFIG_HID_TWINHAN is not set
-# CONFIG_HID_KENSINGTON is not set
-# CONFIG_HID_LCPOWER is not set
-# CONFIG_HID_LENOVO_TPKBD is not set
-# CONFIG_HID_LOGITECH is not set
-# CONFIG_HID_MICROSOFT is not set
-# CONFIG_HID_MONTEREY is not set
-# CONFIG_HID_MULTITOUCH is not set
-# CONFIG_HID_NTRIG is not set
-# CONFIG_HID_ORTEK is not set
-# CONFIG_HID_PANTHERLORD is not set
-# CONFIG_HID_PETALYNX is not set
-# CONFIG_HID_PICOLCD is not set
-# CONFIG_HID_PRIMAX is not set
-# CONFIG_HID_ROCCAT is not set
-# CONFIG_HID_SAITEK is not set
-# CONFIG_HID_SAMSUNG is not set
-# CONFIG_HID_SONY is not set
-# CONFIG_HID_SPEEDLINK is not set
-# CONFIG_HID_STEELSERIES is not set
-# CONFIG_HID_SUNPLUS is not set
-# CONFIG_HID_GREENASIA is not set
-# CONFIG_HID_SMARTJOYPLUS is not set
-# CONFIG_HID_TIVO is not set
-# CONFIG_HID_TOPSEED is not set
-# CONFIG_HID_THRUSTMASTER is not set
-# CONFIG_HID_ZEROPLUS is not set
-# CONFIG_HID_ZYDACRON is not set
-# CONFIG_HID_SENSOR_HUB is not set
-
-#
-# USB HID support
-#
-CONFIG_USB_HID=y
-# CONFIG_HID_PID is not set
-# CONFIG_USB_HIDDEV is not set
-CONFIG_USB_ARCH_HAS_OHCI=y
-CONFIG_USB_ARCH_HAS_EHCI=y
-CONFIG_USB_ARCH_HAS_XHCI=y
-CONFIG_USB_SUPPORT=y
-CONFIG_USB_COMMON=y
-CONFIG_USB_ARCH_HAS_HCD=y
-CONFIG_USB=y
-CONFIG_USB_DEBUG=y
-CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
-
-#
-# Miscellaneous USB options
-#
-# CONFIG_USB_DYNAMIC_MINORS is not set
-# CONFIG_USB_OTG_WHITELIST is not set
-# CONFIG_USB_OTG_BLACKLIST_HUB is not set
-# CONFIG_USB_DWC3 is not set
-# CONFIG_USB_MON is not set
-# CONFIG_USB_WUSB_CBAF is not set
-
-#
-# USB Host Controller Drivers
-#
-# CONFIG_USB_C67X00_HCD is not set
-# CONFIG_USB_XHCI_HCD is not set
-# CONFIG_USB_EHCI_HCD is not set
-# CONFIG_USB_OXU210HP_HCD is not set
-# CONFIG_USB_ISP116X_HCD is not set
-# CONFIG_USB_ISP1760_HCD is not set
-# CONFIG_USB_ISP1362_HCD is not set
-CONFIG_USB_OHCI_HCD=y
-# CONFIG_USB_OHCI_SH is not set
-CONFIG_USB_OHCI_HCD_PLATFORM=y
-# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
-# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
-CONFIG_USB_OHCI_LITTLE_ENDIAN=y
-# CONFIG_USB_UHCI_HCD is not set
-# CONFIG_USB_SL811_HCD is not set
-# CONFIG_USB_R8A66597_HCD is not set
-# CONFIG_USB_DWCOTG is not set
-# CONFIG_USB_CHIPIDEA is not set
-
-#
-# USB Device Class drivers
-#
-# CONFIG_USB_ACM is not set
-# CONFIG_USB_PRINTER is not set
-# CONFIG_USB_WDM is not set
-# CONFIG_USB_TMC is not set
-
-#
-# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
-#
-
-#
-# also be needed; see USB_STORAGE Help for more info
-#
-# CONFIG_USB_STORAGE is not set
-
-#
-# USB Imaging devices
-#
-# CONFIG_USB_MDC800 is not set
-# CONFIG_USB_MICROTEK is not set
-
-#
-# USB port drivers
-#
-# CONFIG_USB_SERIAL is not set
-
-#
-# USB Miscellaneous drivers
-#
-# CONFIG_USB_EMI62 is not set
-# CONFIG_USB_EMI26 is not set
-# CONFIG_USB_ADUTUX is not set
-# CONFIG_USB_SEVSEG is not set
-# CONFIG_USB_RIO500 is not set
-# CONFIG_USB_LEGOTOWER is not set
-# CONFIG_USB_LCD is not set
-# CONFIG_USB_LED is not set
-# CONFIG_USB_CYPRESS_CY7C63 is not set
-# CONFIG_USB_CYTHERM is not set
-# CONFIG_USB_IDMOUSE is not set
-# CONFIG_USB_FTDI_ELAN is not set
-# CONFIG_USB_APPLEDISPLAY is not set
-# CONFIG_USB_LD is not set
-# CONFIG_USB_TRANCEVIBRATOR is not set
-# CONFIG_USB_IOWARRIOR is not set
-# CONFIG_USB_TEST is not set
-# CONFIG_USB_ISIGHTFW is not set
-# CONFIG_USB_YUREX is not set
-# CONFIG_USB_EZUSB_FX2 is not set
-
-#
-# USB Physical Layer drivers
-#
-# CONFIG_OMAP_USB3 is not set
-# CONFIG_OMAP_CONTROL_USB is not set
-# CONFIG_USB_RCAR_PHY is not set
-# CONFIG_USB_GADGET is not set
-
-#
-# OTG and related infrastructure
-#
-# CONFIG_NOP_USB_XCEIV is not set
-# CONFIG_UWB is not set
-# CONFIG_MMC is not set
-# CONFIG_MEMSTICK is not set
-# CONFIG_NEW_LEDS is not set
-# CONFIG_ACCESSIBILITY is not set
-# CONFIG_INFINIBAND is not set
-CONFIG_RTC_LIB=y
-# CONFIG_RTC_CLASS is not set
-# CONFIG_DMADEVICES is not set
-# CONFIG_AUXDISPLAY is not set
-# CONFIG_UIO is not set
-
-#
-# Virtio drivers
-#
-# CONFIG_VIRTIO_PCI is not set
-# CONFIG_VIRTIO_MMIO is not set
-
-#
-# Microsoft Hyper-V guest support
-#
-# CONFIG_STAGING is not set
-CONFIG_CLKDEV_LOOKUP=y
-
-#
-# Hardware Spinlock drivers
-#
-# CONFIG_MAILBOX is not set
-# CONFIG_IOMMU_SUPPORT is not set
-
-#
-# Remoteproc drivers
-#
-# CONFIG_STE_MODEM_RPROC is not set
-
-#
-# Rpmsg drivers
-#
-# CONFIG_VIRT_DRIVERS is not set
-# CONFIG_PM_DEVFREQ is not set
-# CONFIG_EXTCON is not set
-# CONFIG_MEMORY is not set
-# CONFIG_IIO is not set
-# CONFIG_VME_BUS is not set
-# CONFIG_PWM is not set
-# CONFIG_IPACK_BUS is not set
-
-#
-# File systems
-#
-CONFIG_EXT2_FS=y
-# CONFIG_EXT2_FS_XATTR is not set
-# CONFIG_EXT2_FS_XIP is not set
-# CONFIG_EXT3_FS is not set
-# CONFIG_EXT4_FS is not set
-# CONFIG_REISERFS_FS is not set
-# CONFIG_JFS_FS is not set
-# CONFIG_XFS_FS is not set
-# CONFIG_BTRFS_FS is not set
-# CONFIG_NILFS2_FS is not set
-# CONFIG_FS_POSIX_ACL is not set
-CONFIG_EXPORTFS=y
-CONFIG_FILE_LOCKING=y
-CONFIG_FSNOTIFY=y
-CONFIG_DNOTIFY=y
-CONFIG_INOTIFY_USER=y
-# CONFIG_FANOTIFY is not set
-# CONFIG_QUOTA is not set
-# CONFIG_QUOTACTL is not set
-# CONFIG_AUTOFS4_FS is not set
-# CONFIG_FUSE_FS is not set
-
-#
-# Caches
-#
-# CONFIG_FSCACHE is not set
-
-#
-# CD-ROM/DVD Filesystems
-#
-# CONFIG_ISO9660_FS is not set
-# CONFIG_UDF_FS is not set
-
-#
-# DOS/FAT/NT Filesystems
-#
-CONFIG_FAT_FS=y
-CONFIG_MSDOS_FS=y
-CONFIG_VFAT_FS=y
-CONFIG_FAT_DEFAULT_CODEPAGE=437
-CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
-# CONFIG_NTFS_FS is not set
-
-#
-# Pseudo filesystems
-#
-CONFIG_PROC_FS=y
-CONFIG_PROC_KCORE=y
-CONFIG_PROC_SYSCTL=y
-CONFIG_PROC_PAGE_MONITOR=y
-CONFIG_SYSFS=y
-CONFIG_TMPFS=y
-# CONFIG_TMPFS_POSIX_ACL is not set
-# CONFIG_TMPFS_XATTR is not set
-# CONFIG_HUGETLBFS is not set
-# CONFIG_HUGETLB_PAGE is not set
-# CONFIG_CONFIGFS_FS is not set
-# CONFIG_MISC_FILESYSTEMS is not set
-# CONFIG_NETWORK_FILESYSTEMS is not set
-CONFIG_NLS=y
-CONFIG_NLS_DEFAULT="iso8859-1"
-# CONFIG_NLS_CODEPAGE_437 is not set
-# CONFIG_NLS_CODEPAGE_737 is not set
-# CONFIG_NLS_CODEPAGE_775 is not set
-# CONFIG_NLS_CODEPAGE_850 is not set
-# CONFIG_NLS_CODEPAGE_852 is not set
-# CONFIG_NLS_CODEPAGE_855 is not set
-# CONFIG_NLS_CODEPAGE_857 is not set
-# CONFIG_NLS_CODEPAGE_860 is not set
-# CONFIG_NLS_CODEPAGE_861 is not set
-# CONFIG_NLS_CODEPAGE_862 is not set
-# CONFIG_NLS_CODEPAGE_863 is not set
-# CONFIG_NLS_CODEPAGE_864 is not set
-# CONFIG_NLS_CODEPAGE_865 is not set
-# CONFIG_NLS_CODEPAGE_866 is not set
-# CONFIG_NLS_CODEPAGE_869 is not set
-# CONFIG_NLS_CODEPAGE_936 is not set
-# CONFIG_NLS_CODEPAGE_950 is not set
-# CONFIG_NLS_CODEPAGE_932 is not set
-# CONFIG_NLS_CODEPAGE_949 is not set
-# CONFIG_NLS_CODEPAGE_874 is not set
-# CONFIG_NLS_ISO8859_8 is not set
-# CONFIG_NLS_CODEPAGE_1250 is not set
-# CONFIG_NLS_CODEPAGE_1251 is not set
-# CONFIG_NLS_ASCII is not set
-# CONFIG_NLS_ISO8859_1 is not set
-# CONFIG_NLS_ISO8859_2 is not set
-# CONFIG_NLS_ISO8859_3 is not set
-# CONFIG_NLS_ISO8859_4 is not set
-# CONFIG_NLS_ISO8859_5 is not set
-# CONFIG_NLS_ISO8859_6 is not set
-# CONFIG_NLS_ISO8859_7 is not set
-# CONFIG_NLS_ISO8859_9 is not set
-# CONFIG_NLS_ISO8859_13 is not set
-# CONFIG_NLS_ISO8859_14 is not set
-# CONFIG_NLS_ISO8859_15 is not set
-# CONFIG_NLS_KOI8_R is not set
-# CONFIG_NLS_KOI8_U is not set
-# CONFIG_NLS_MAC_ROMAN is not set
-# CONFIG_NLS_MAC_CELTIC is not set
-# CONFIG_NLS_MAC_CENTEURO is not set
-# CONFIG_NLS_MAC_CROATIAN is not set
-# CONFIG_NLS_MAC_CYRILLIC is not set
-# CONFIG_NLS_MAC_GAELIC is not set
-# CONFIG_NLS_MAC_GREEK is not set
-# CONFIG_NLS_MAC_ICELAND is not set
-# CONFIG_NLS_MAC_INUIT is not set
-# CONFIG_NLS_MAC_ROMANIAN is not set
-# CONFIG_NLS_MAC_TURKISH is not set
-# CONFIG_NLS_UTF8 is not set
-
-#
-# Kernel hacking
-#
-CONFIG_TRACE_IRQFLAGS_SUPPORT=y
-CONFIG_PRINTK_TIME=y
-CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
-CONFIG_ENABLE_WARN_DEPRECATED=y
-CONFIG_ENABLE_MUST_CHECK=y
-CONFIG_FRAME_WARN=1024
-# CONFIG_MAGIC_SYSRQ is not set
-# CONFIG_STRIP_ASM_SYMS is not set
-# CONFIG_READABLE_ASM is not set
-# CONFIG_UNUSED_SYMBOLS is not set
-# CONFIG_DEBUG_FS is not set
-# CONFIG_HEADERS_CHECK is not set
-# CONFIG_DEBUG_SECTION_MISMATCH is not set
-CONFIG_DEBUG_KERNEL=y
-# CONFIG_DEBUG_SHIRQ is not set
-# CONFIG_LOCKUP_DETECTOR is not set
-# CONFIG_PANIC_ON_OOPS is not set
-CONFIG_PANIC_ON_OOPS_VALUE=0
-# CONFIG_DETECT_HUNG_TASK is not set
-# CONFIG_SCHED_DEBUG is not set
-# CONFIG_SCHEDSTATS is not set
-# CONFIG_TIMER_STATS is not set
-# CONFIG_DEBUG_OBJECTS is not set
-# CONFIG_DEBUG_SLAB is not set
-CONFIG_HAVE_DEBUG_KMEMLEAK=y
-# CONFIG_DEBUG_KMEMLEAK is not set
-# CONFIG_DEBUG_RT_MUTEXES is not set
-# CONFIG_RT_MUTEX_TESTER is not set
-# CONFIG_DEBUG_SPINLOCK is not set
-# CONFIG_DEBUG_MUTEXES is not set
-# CONFIG_DEBUG_LOCK_ALLOC is not set
-# CONFIG_PROVE_LOCKING is not set
-# CONFIG_LOCK_STAT is not set
-# CONFIG_DEBUG_ATOMIC_SLEEP is not set
-# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
-# CONFIG_DEBUG_STACK_USAGE is not set
-# CONFIG_DEBUG_KOBJECT is not set
-CONFIG_HAVE_DEBUG_BUGVERBOSE=y
-# CONFIG_DEBUG_BUGVERBOSE is not set
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_DEBUG_VM is not set
-# CONFIG_DEBUG_WRITECOUNT is not set
-# CONFIG_DEBUG_MEMORY_INIT is not set
-# CONFIG_DEBUG_LIST is not set
-# CONFIG_TEST_LIST_SORT is not set
-# CONFIG_DEBUG_SG is not set
-# CONFIG_DEBUG_NOTIFIERS is not set
-# CONFIG_DEBUG_CREDENTIALS is not set
-# CONFIG_FRAME_POINTER is not set
-
-#
-# RCU Debugging
-#
-# CONFIG_SPARSE_RCU_POINTER is not set
-# CONFIG_RCU_TORTURE_TEST is not set
-# CONFIG_RCU_TRACE is not set
-# CONFIG_BACKTRACE_SELF_TEST is not set
-# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
-# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
-# CONFIG_NOTIFIER_ERROR_INJECTION is not set
-# CONFIG_FAULT_INJECTION is not set
-# CONFIG_LATENCYTOP is not set
-# CONFIG_DEBUG_PAGEALLOC is not set
-CONFIG_HAVE_FUNCTION_TRACER=y
-CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
-CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
-CONFIG_HAVE_DYNAMIC_FTRACE=y
-CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
-CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
-CONFIG_TRACING_SUPPORT=y
-# CONFIG_FTRACE is not set
-# CONFIG_RBTREE_TEST is not set
-# CONFIG_INTERVAL_TREE_TEST is not set
-# CONFIG_DMA_API_DEBUG is not set
-# CONFIG_ATOMIC64_SELFTEST is not set
-# CONFIG_SAMPLES is not set
-CONFIG_HAVE_ARCH_KGDB=y
-# CONFIG_KGDB is not set
-# CONFIG_TEST_KSTRTOX is not set
-# CONFIG_SH_STANDARD_BIOS is not set
-# CONFIG_STACK_DEBUG is not set
-# CONFIG_4KSTACKS is not set
-# CONFIG_DUMP_CODE is not set
-# CONFIG_DWARF_UNWINDER is not set
-# CONFIG_SH_NO_BSS_INIT is not set
-
-#
-# Security options
-#
-# CONFIG_KEYS is not set
-# CONFIG_SECURITY_DMESG_RESTRICT is not set
-# CONFIG_SECURITY is not set
-# CONFIG_SECURITYFS is not set
-CONFIG_DEFAULT_SECURITY_DAC=y
-CONFIG_DEFAULT_SECURITY=""
-CONFIG_CRYPTO=y
-
-#
-# Crypto core or helper
-#
-CONFIG_CRYPTO_ALGAPI=y
-CONFIG_CRYPTO_ALGAPI2=y
-# CONFIG_CRYPTO_MANAGER is not set
-# CONFIG_CRYPTO_MANAGER2 is not set
-# CONFIG_CRYPTO_USER is not set
-# CONFIG_CRYPTO_GF128MUL is not set
-# CONFIG_CRYPTO_NULL is not set
-# CONFIG_CRYPTO_CRYPTD is not set
-# CONFIG_CRYPTO_AUTHENC is not set
-# CONFIG_CRYPTO_TEST is not set
-
-#
-# Authenticated Encryption with Associated Data
-#
-# CONFIG_CRYPTO_CCM is not set
-# CONFIG_CRYPTO_GCM is not set
-# CONFIG_CRYPTO_SEQIV is not set
-
-#
-# Block modes
-#
-# CONFIG_CRYPTO_CBC is not set
-# CONFIG_CRYPTO_CTR is not set
-# CONFIG_CRYPTO_CTS is not set
-# CONFIG_CRYPTO_ECB is not set
-# CONFIG_CRYPTO_LRW is not set
-# CONFIG_CRYPTO_PCBC is not set
-# CONFIG_CRYPTO_XTS is not set
-
-#
-# Hash modes
-#
-# CONFIG_CRYPTO_HMAC is not set
-# CONFIG_CRYPTO_XCBC is not set
-# CONFIG_CRYPTO_VMAC is not set
-
-#
-# Digest
-#
-# CONFIG_CRYPTO_CRC32C is not set
-# CONFIG_CRYPTO_CRC32 is not set
-# CONFIG_CRYPTO_GHASH is not set
-# CONFIG_CRYPTO_MD4 is not set
-# CONFIG_CRYPTO_MD5 is not set
-# CONFIG_CRYPTO_MICHAEL_MIC is not set
-# CONFIG_CRYPTO_RMD128 is not set
-# CONFIG_CRYPTO_RMD160 is not set
-# CONFIG_CRYPTO_RMD256 is not set
-# CONFIG_CRYPTO_RMD320 is not set
-# CONFIG_CRYPTO_SHA1 is not set
-# CONFIG_CRYPTO_SHA256 is not set
-# CONFIG_CRYPTO_SHA512 is not set
-# CONFIG_CRYPTO_TGR192 is not set
-# CONFIG_CRYPTO_WP512 is not set
-
-#
-# Ciphers
-#
-CONFIG_CRYPTO_AES=y
-# CONFIG_CRYPTO_ANUBIS is not set
-# CONFIG_CRYPTO_ARC4 is not set
-# CONFIG_CRYPTO_BLOWFISH is not set
-# CONFIG_CRYPTO_CAMELLIA is not set
-# CONFIG_CRYPTO_CAST5 is not set
-# CONFIG_CRYPTO_CAST6 is not set
-# CONFIG_CRYPTO_DES is not set
-# CONFIG_CRYPTO_FCRYPT is not set
-# CONFIG_CRYPTO_KHAZAD is not set
-# CONFIG_CRYPTO_SALSA20 is not set
-# CONFIG_CRYPTO_SEED is not set
-# CONFIG_CRYPTO_SERPENT is not set
-# CONFIG_CRYPTO_TEA is not set
-# CONFIG_CRYPTO_TWOFISH is not set
-
-#
-# Compression
-#
-# CONFIG_CRYPTO_DEFLATE is not set
-# CONFIG_CRYPTO_ZLIB is not set
-# CONFIG_CRYPTO_LZO is not set
-
-#
-# Random Number Generation
-#
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-# CONFIG_CRYPTO_USER_API_HASH is not set
-# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
-# CONFIG_CRYPTO_HW is not set
-# CONFIG_BINARY_PRINTF is not set
-
-#
-# Library routines
-#
-CONFIG_BITREVERSE=y
-CONFIG_GENERIC_STRNCPY_FROM_USER=y
-CONFIG_GENERIC_STRNLEN_USER=y
-CONFIG_NO_GENERIC_PCI_IOPORT_MAP=y
-CONFIG_GENERIC_PCI_IOMAP=y
-CONFIG_GENERIC_IO=y
-# CONFIG_CRC_CCITT is not set
-# CONFIG_CRC16 is not set
-# CONFIG_CRC_T10DIF is not set
-# CONFIG_CRC_ITU_T is not set
-CONFIG_CRC32=y
-# CONFIG_CRC32_SELFTEST is not set
-CONFIG_CRC32_SLICEBY8=y
-# CONFIG_CRC32_SLICEBY4 is not set
-# CONFIG_CRC32_SARWATE is not set
-# CONFIG_CRC32_BIT is not set
-# CONFIG_CRC7 is not set
-# CONFIG_LIBCRC32C is not set
-# CONFIG_CRC8 is not set
-# CONFIG_XZ_DEC is not set
-# CONFIG_XZ_DEC_BCJ is not set
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
-CONFIG_HAS_DMA=y
-CONFIG_DQL=y
-CONFIG_NLATTR=y
-CONFIG_GENERIC_ATOMIC64=y
-CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
-# CONFIG_AVERAGE is not set
-# CONFIG_CORDIC is not set
-# CONFIG_DDR is not set

+ 58 - 0
target/sh/kernel/qemu-sh

@@ -0,0 +1,58 @@
+CONFIG_SUPERH=y
+CONFIG_SUPERH32=y
+CONFIG_CPU_SH4=y
+CONFIG_CPU_HAS_PMU=y
+CONFIG_CPU_SUBTYPE_SH7751R=y
+CONFIG_MEMORY_START=0x0c000000
+CONFIG_MEMORY_SIZE=0x04000000
+CONFIG_29BIT=y
+CONFIG_VSYSCALL=y
+CONFIG_PAGE_SIZE_4KB=y
+CONFIG_SH_FPU=y
+CONFIG_SH_RTS7751R2D=y
+CONFIG_RTS7751R2D_PLUS=y
+CONFIG_SH_TIMER_TMU=y
+CONFIG_SH_INTC=y
+CONFIG_PCI=y
+CONFIG_PCI_DOMAINS=y
+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_PATA_PLATFORM=y
+CONFIG_NETDEVICES=y
+CONFIG_NET_CORE=y
+CONFIG_MII=y
+CONFIG_ETHERNET=y
+CONFIG_NET_VENDOR_REALTEK=y
+CONFIG_8139CP=y
+CONFIG_SERIAL_SH_SCI=y
+CONFIG_SERIAL_SH_SCI_NR_UARTS=2
+CONFIG_SERIAL_SH_SCI_CONSOLE=y
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_MFD_SM501=y
+CONFIG_VGA_ARB=y
+CONFIG_VGA_ARB_MAX_GPUS=16
+CONFIG_VIDEO_OUTPUT_CONTROL=m
+CONFIG_FB=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+CONFIG_FB_SYS_FILLRECT=m
+CONFIG_FB_SYS_COPYAREA=m
+CONFIG_FB_SYS_IMAGEBLIT=m
+CONFIG_FB_SYS_FOPS=m
+CONFIG_FB_DEFERRED_IO=y
+CONFIG_FB_BACKLIGHT=y
+CONFIG_FB_SH_MOBILE_LCDC=m
+CONFIG_FB_SM501=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=m
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_GENERIC=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FONT_8x16=y

+ 2 - 0
target/sh/sys-available/qemu-sh4

@@ -8,6 +8,8 @@ config ADK_TARGET_SYSTEM_QEMU_SH4
 	select ADK_TARGET_WITH_VGA
 	select ADK_TARGET_WITH_VGA
 	select ADK_TARGET_WITH_INPUT
 	select ADK_TARGET_WITH_INPUT
 	select ADK_TARGET_WITH_USB
 	select ADK_TARGET_WITH_USB
+	select ADK_USE_KERNEL_MINICONFIG
+	select ADK_TARGET_KERNEL_ZIMAGE
 	help
 	help
 	 Support for Qemu Emulator (superh).
 	 Support for Qemu Emulator (superh).
 
 

+ 2 - 0
target/sh/sys-available/qemu-sh4eb

@@ -9,6 +9,8 @@ config ADK_TARGET_SYSTEM_QEMU_SH4EB
 	select ADK_TARGET_WITH_VGA
 	select ADK_TARGET_WITH_VGA
 	select ADK_TARGET_WITH_INPUT
 	select ADK_TARGET_WITH_INPUT
 	select ADK_TARGET_WITH_USB
 	select ADK_TARGET_WITH_USB
+	select ADK_USE_KERNEL_MINICONFIG
+	select ADK_TARGET_KERNEL_ZIMAGE
 	help
 	help
 	 Support for Qemu Emulator (superh).
 	 Support for Qemu Emulator (superh).
 
 

+ 0 - 1
target/tarch.lst

@@ -1,5 +1,4 @@
 arm
 arm
-armeb
 m68k
 m68k
 microblaze
 microblaze
 microblazeel
 microblazeel

+ 0 - 4
target/tools/addpattern/Makefile

@@ -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

+ 0 - 300
target/tools/lzma-loader/.svn/entries

@@ -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
-

+ 0 - 663
target/tools/lzma-loader/.svn/text-base/LzmaDecode.c.svn-base

@@ -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;
-}

+ 0 - 100
target/tools/lzma-loader/.svn/text-base/LzmaDecode.h.svn-base

@@ -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

+ 0 - 77
target/tools/lzma-loader/.svn/text-base/Makefile.svn-base

@@ -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

+ 0 - 55
target/tools/lzma-loader/.svn/text-base/README.svn-base

@@ -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

+ 0 - 186
target/tools/lzma-loader/.svn/text-base/decompress.c.svn-base

@@ -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);
-	}
-}

+ 0 - 20
target/tools/lzma-loader/.svn/text-base/decompress.lds.in.svn-base

@@ -1,20 +0,0 @@
-OUTPUT_ARCH(mips)
-ENTRY(entry)
-SECTIONS {
-	. = BZ_TEXT_START;
-	.text : {
-		*(.text.entry)
-		*(.text)
-		*(.rodata)
-	}
-
-	.data : {
-		*(.data)
-	}
-
-	.bss : {
-		*(.bss)
-	}
-
-	workspace = .;
-}

+ 0 - 160
target/tools/lzma-loader/.svn/text-base/head.S.svn-base

@@ -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)

+ 0 - 17
target/tools/lzma-loader/.svn/text-base/loader.lds.in.svn-base

@@ -1,17 +0,0 @@
-OUTPUT_ARCH(mips)
-ENTRY(startup)
-SECTIONS {
-	. = TEXT_START;
-	.text : {
-		*(.text)
-		*(.rodata)
-	}
-
-	.data : {
-		*(.data)
-	}
-
-	.bss : {
-		*(.bss)
-	}
-}

+ 0 - 4
target/tools/mkfimage/Makefile

@@ -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)

+ 0 - 7
target/tools/rules.mk

@@ -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

+ 0 - 4
target/tools/srec2bin/Makefile

@@ -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

+ 0 - 4
target/tools/trx/Makefile

@@ -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

+ 3 - 0
target/x86/kernel/qemu-i686

@@ -9,6 +9,9 @@ CONFIG_SCSI=y
 CONFIG_SCSI_DMA=y
 CONFIG_SCSI_DMA=y
 CONFIG_BLK_DEV_SD=y
 CONFIG_BLK_DEV_SD=y
 CONFIG_ATA=y
 CONFIG_ATA=y
+CONFIG_SATA_PMP=y
+CONFIG_ATA_SFF=y
+CONFIG_ATA_BMDMA=y
 CONFIG_ATA_PIIX=y
 CONFIG_ATA_PIIX=y
 CONFIG_NETDEVICES=y
 CONFIG_NETDEVICES=y
 CONFIG_NET_CORE=y
 CONFIG_NET_CORE=y

+ 6 - 1
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
 		$(MAKE) -C $(EGLIBC_BUILD_DIR_FINAL) install_root=$(STAGING_TARGET_DIR) install
 	${INSTALL_DIR} ${STAGING_TARGET_DIR}/etc
 	${INSTALL_DIR} ${STAGING_TARGET_DIR}/etc
 	${INSTALL_DATA} ${WRKBUILD}/libc/posix/gai.conf ${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/
 	${INSTALL_DATA} ${WRKBUILD}/libc/nss/nsswitch.conf ${STAGING_TARGET_DIR}/etc/
 	touch $@
 	touch $@
 
 
 $(WRKBUILD)/.fixup:
 $(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 $@
 	touch $@
 
 
 include ${TOPDIR}/mk/toolchain.mk
 include ${TOPDIR}/mk/toolchain.mk

+ 4 - 3
toolchain/gcc/Makefile

@@ -19,6 +19,7 @@ GCC_CONFOPTS=		--prefix=$(STAGING_HOST_DIR) \
 			--disable-__cxa_atexit \
 			--disable-__cxa_atexit \
 			--with-gnu-ld \
 			--with-gnu-ld \
 			--disable-libsanitizer \
 			--disable-libsanitizer \
+			--disable-libitm \
 			--disable-libmudflap \
 			--disable-libmudflap \
 			--disable-libgomp \
 			--disable-libgomp \
 			--disable-decimal-float \
 			--disable-decimal-float \
@@ -72,7 +73,7 @@ else
 GCC_CONFOPTS+=		--enable-tls
 GCC_CONFOPTS+=		--enable-tls
 endif
 endif
 
 
-ifeq ($(ARCH),powerpc)
+ifeq ($(ADK_LINUX_PPC),y)
 ifeq ($(ADK_TARGET_LIBC),uclibc)
 ifeq ($(ADK_TARGET_LIBC),uclibc)
 GCC_CONFOPTS+=		--disable-target-optspace --with-long-double-128 --enable-secureplt
 GCC_CONFOPTS+=		--disable-target-optspace --with-long-double-128 --enable-secureplt
 else
 else
@@ -99,8 +100,8 @@ ifeq ($(ADK_CPU_CORTEX_A9),y)
 GCC_CONFOPTS+=          --with-arch=armv7-a --with-tune=cortex-a9 --with-fpu=neon
 GCC_CONFOPTS+=          --with-arch=armv7-a --with-tune=cortex-a9 --with-fpu=neon
 endif
 endif
 
 
-ifneq ($(ADK_TARGET_ABI),)
+ifneq ($(ADK_TARGET_MIPS_ABI),)
-GCC_CONFOPTS+=		--with-abi=${ADK_TARGET_ABI}
+GCC_CONFOPTS+=		--with-abi=${ADK_TARGET_MIPS_ABI}
 endif
 endif
 
 
 ifeq (${ADK_MAKE_PARALLEL},y)
 ifeq (${ADK_MAKE_PARALLEL},y)

+ 1 - 1
toolchain/gcc/patches/4.7.3/musl-sh.patch

@@ -5,7 +5,7 @@ diff -Nur gcc-4.7.3.orig/gcc/config/sh/linux.h gcc-4.7.3/gcc/config/sh/linux.h
  #define TARGET_ASM_FILE_END file_end_indicate_exec_stack
  #define TARGET_ASM_FILE_END file_end_indicate_exec_stack
  
  
  #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
  #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-sh.1"
++#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-sh.so.1"
  
  
  #undef SUBTARGET_LINK_EMUL_SUFFIX
  #undef SUBTARGET_LINK_EMUL_SUFFIX
  #define SUBTARGET_LINK_EMUL_SUFFIX "_linux"
  #define SUBTARGET_LINK_EMUL_SUFFIX "_linux"

+ 3 - 3
toolchain/gcc/patches/4.7.3/musl-sparc.patch

@@ -5,8 +5,8 @@ diff -Nur gcc-4.7.3.orig/gcc/config/sparc/linux64.h gcc-4.7.3/gcc/config/sparc/l
  
  
  #define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
  #define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
  #define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux.so.2"
  #define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux.so.2"
-+#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-sparc.1"
++#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-sparc.so.1"
-+#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-sparc.1"
++#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-sparc.so.1"
 +
 +
  
  
  #ifdef SPARC_BI_ARCH
  #ifdef SPARC_BI_ARCH
@@ -18,7 +18,7 @@ diff -Nur gcc-4.7.3.orig/gcc/config/sparc/linux.h gcc-4.7.3/gcc/config/sparc/lin
     done.  */
     done.  */
  
  
  #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
  #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-sparc.1"
++#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-sparc.so.1"
  
  
  #undef  LINK_SPEC
  #undef  LINK_SPEC
  #define LINK_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
  #define LINK_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \

+ 231 - 0
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;

+ 49 - 0
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} \

+ 6 - 0
toolchain/glibc/Makefile

@@ -69,6 +69,12 @@ $(WRKBUILD)/.installed:
 	touch $@
 	touch $@
 
 
 $(WRKBUILD)/.fixup:
 $(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 $@
 	touch $@
 
 
 include ${TOPDIR}/mk/toolchain.mk
 include ${TOPDIR}/mk/toolchain.mk

+ 2 - 2
toolchain/gmp/Makefile

@@ -15,7 +15,7 @@ $(WRKBUILD)/.configured:
 ifneq ($(OStype),Darwin)
 ifneq ($(OStype),Darwin)
 	(cd $(WRKBUILD); cp configfsf.guess config.guess)
 	(cd $(WRKBUILD); cp configfsf.guess config.guess)
 endif
 endif
-	(cd $(WRKBUILD); \
+	(cd $(WRKBUILD); PATH="$(STAGING_HOST_DIR)/usr/bin:$$PATH" \
 		./configure \
 		./configure \
 		--prefix=$(STAGING_HOST_DIR) \
 		--prefix=$(STAGING_HOST_DIR) \
 		--with-pic \
 		--with-pic \
@@ -25,7 +25,7 @@ endif
 	touch $@
 	touch $@
 
 
 $(WRKBUILD)/.compiled: $(WRKBUILD)/.configured
 $(WRKBUILD)/.compiled: $(WRKBUILD)/.configured
-	$(MAKE) ${GMP_MAKEOPTS} -C $(WRKBUILD) all
+	env PATH="$(STAGING_HOST_DIR)/usr/bin:$$PATH" $(MAKE) ${GMP_MAKEOPTS} -C $(WRKBUILD) all
 	touch $@
 	touch $@
 
 
 $(WRKBUILD)/.installed: $(WRKBUILD)/.compiled
 $(WRKBUILD)/.installed: $(WRKBUILD)/.compiled

+ 2 - 0
toolchain/kernel-headers/Makefile

@@ -12,6 +12,8 @@ $(WRKBUILD)/.headers:
 	$(MAKE) -C $(WRKBUILD) HOSTCC=$(CC_FOR_BUILD) ARCH=$(ARCH) V=1 \
 	$(MAKE) -C $(WRKBUILD) HOSTCC=$(CC_FOR_BUILD) ARCH=$(ARCH) V=1 \
 		INSTALL_HDR_PATH=$(STAGING_DIR)/usr \
 		INSTALL_HDR_PATH=$(STAGING_DIR)/usr \
 		headers_install
 		headers_install
+	@-find $(STAGING_DIR)/usr/include -name .install -delete
+	@-find $(STAGING_DIR)/usr/include -name ..install.cmd -delete
 	touch $@
 	touch $@
 
 
 include ${TOPDIR}/mk/toolchain.mk
 include ${TOPDIR}/mk/toolchain.mk

+ 7 - 0
toolchain/musl/Makefile

@@ -18,6 +18,9 @@ endif
 ifeq ($(CPU_ARCH),microblazeel)
 ifeq ($(CPU_ARCH),microblazeel)
 REAL_GNU_TARGET_NAME:= $(subst microblazeel,microblaze,$(REAL_GNU_TARGET_NAME))
 REAL_GNU_TARGET_NAME:= $(subst microblazeel,microblaze,$(REAL_GNU_TARGET_NAME))
 endif
 endif
+ifeq ($(CPU_ARCH),sh4)
+REAL_GNU_TARGET_NAME:= $(subst sh4,sh,$(REAL_GNU_TARGET_NAME))
+endif
 
 
 $(WRKBUILD)/.headers:
 $(WRKBUILD)/.headers:
 	(cd $(WRKBUILD); CC='$(TARGET_CC)' CROSS_COMPILE='$(TARGET_CROSS)' \
 	(cd $(WRKBUILD); CC='$(TARGET_CC)' CROSS_COMPILE='$(TARGET_CROSS)' \
@@ -54,6 +57,10 @@ $(WRKBUILD)/.fixup:
 	)
 	)
 	$(MAKE) CFLAGS='$(TARGET_CFLAGS)' -C $(WRKBUILD) all
 	$(MAKE) CFLAGS='$(TARGET_CFLAGS)' -C $(WRKBUILD) all
 	$(MAKE) -C $(WRKBUILD) DESTDIR=$(STAGING_TARGET_DIR) install
 	$(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 $@
 	touch $@
 
 
 include ${TOPDIR}/mk/toolchain.mk
 include ${TOPDIR}/mk/toolchain.mk

File diff suppressed because it is too large
+ 197 - 165
toolchain/musl/patches/musl-git-20140301.patch


+ 4 - 0
toolchain/uClibc/Makefile

@@ -118,6 +118,10 @@ endif
 		all install_runtime
 		all install_runtime
 	rm -rf $(STAGING_TARGET_DIR)/lib/libc.so
 	rm -rf $(STAGING_TARGET_DIR)/lib/libc.so
 	ln -s libc.so.0 $(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 $@
 	touch $@
 
 
 include ${TOPDIR}/mk/toolchain.mk
 include ${TOPDIR}/mk/toolchain.mk

+ 26 - 4
tools/Makefile

@@ -3,13 +3,35 @@
 
 
 include $(TOPDIR)/rules.mk
 include $(TOPDIR)/rules.mk
 
 
-TARGETS:=adk mkcrypt cpio mkimage genext2fs bc
+TARGETS:=adk mkcrypt cpio m4 flex bc bzip2 xz
-ifeq ($(ADK_TARGET_ROOTFS_ISO),y)
+
-TARGETS+=cdrtools syslinux
+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
 endif
-ifeq ($(ADK_TARGET_LIB_EGLIBC),y)
+ifeq ($(ADK_HOST_NEED_GPERF),y)
 TARGETS+=gperf
 TARGETS+=gperf
 endif
 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_INSTALL:=$(patsubst %,%-install,$(TARGETS))
 TARGETS_CLEAN:=$(patsubst %,%-clean,$(TARGETS))
 TARGETS_CLEAN:=$(patsubst %,%-clean,$(TARGETS))

+ 4 - 0
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

+ 0 - 0
target/tools/addpattern/addpattern.c → tools/addpattern/addpattern.c


+ 4 - 4
tools/adk/Makefile

@@ -3,15 +3,15 @@
 
 
 include $(TOPDIR)/rules.mk
 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
 	${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
 	${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
 	${CC_FOR_BUILD} ${FLAGS_FOR_BUILD} -o $@ dkgetsz.c
 
 
 include $(TOPDIR)/mk/tools.mk
 include $(TOPDIR)/mk/tools.mk

+ 4 - 4
tools/bc/Makefile

@@ -11,15 +11,15 @@ PKG_SITES:=		http://ftp.gnu.org/pub/gnu/bc/
 
 
 include ../rules.mk
 include ../rules.mk
 
 
-install: ${BIN_DIR}/bc
+install: ${STAGING_HOST_DIR}/usr/bin/bc
 
 
 $(WRKBUILD)/.compiled: ${WRKDIST}/.prepared
 $(WRKBUILD)/.compiled: ${WRKDIST}/.prepared
-	(cd ${WRKBUILD}; ./configure)
+	(cd ${WRKBUILD}; PATH="$(STAGING_HOST_DIR)/usr/bin:$$PATH" ./configure)
 	${MAKE} -C ${WRKBUILD} CC='${CC_FOR_BUILD}'
 	${MAKE} -C ${WRKBUILD} CC='${CC_FOR_BUILD}'
 	touch $@
 	touch $@
 
 
-${BIN_DIR}/bc: $(WRKBUILD)/.compiled
+${STAGING_HOST_DIR}/usr/bin/bc: $(WRKBUILD)/.compiled
 	$(INSTALL_BIN) $(WRKBUILD)/bc/bc \
 	$(INSTALL_BIN) $(WRKBUILD)/bc/bc \
-		${BIN_DIR}
+		${STAGING_HOST_DIR}/usr/bin
 
 
 include $(TOPDIR)/mk/tools.mk
 include $(TOPDIR)/mk/tools.mk

+ 24 - 0
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

+ 3 - 3
tools/cdrtools/Makefile

@@ -11,15 +11,15 @@ PKG_SITES:=		ftp://ftp.berlios.de/pub/cdrecord/
 
 
 include ../rules.mk
 include ../rules.mk
 
 
-install: ${BIN_DIR}/mkisofs
+install: ${STAGING_HOST_DIR}/usr/bin/mkisofs
 
 
 $(WRKBUILD)/.compiled: ${WRKDIST}/.prepared
 $(WRKBUILD)/.compiled: ${WRKDIST}/.prepared
 	#(cd ${WRKBUILD}; ./configure)
 	#(cd ${WRKBUILD}; ./configure)
 	${MAKE} -C ${WRKBUILD} CC='${CC_FOR_BUILD}'
 	${MAKE} -C ${WRKBUILD} CC='${CC_FOR_BUILD}'
 	touch $@
 	touch $@
 
 
-${BIN_DIR}/mkisofs: $(WRKBUILD)/.compiled
+${STAGING_HOST_DIR}/usr/bin/mkisofs: $(WRKBUILD)/.compiled
 	$(INSTALL_BIN) $(WRKBUILD)/mkisofs/OBJ/*/mkisofs \
 	$(INSTALL_BIN) $(WRKBUILD)/mkisofs/OBJ/*/mkisofs \
-		${BIN_DIR}
+		${STAGING_HOST_DIR}/usr/bin
 
 
 include $(TOPDIR)/mk/tools.mk
 include $(TOPDIR)/mk/tools.mk

+ 2 - 2
tools/cpio/Makefile

@@ -3,7 +3,7 @@
 
 
 include $(TOPDIR)/rules.mk
 include $(TOPDIR)/rules.mk
 
 
-install: ${BIN_DIR}/cpio
+install: ${STAGING_HOST_DIR}/usr/bin/cpio
 
 
 SRCS:=		src/ib_open.c \
 SRCS:=		src/ib_open.c \
 		src/ib_close.c \
 		src/ib_close.c \
@@ -26,7 +26,7 @@ SRCS:=		src/ib_open.c \
 		src/nonpax.c \
 		src/nonpax.c \
 		src/cpio.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 $@ $^
 	${CC_FOR_BUILD} ${FLAGS_FOR_BUILD} -D_GNU_SOURCE -Isrc -o $@ $^
 
 
 include $(TOPDIR)/mk/tools.mk
 include $(TOPDIR)/mk/tools.mk

+ 25 - 0
tools/flex/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:=		flex
+PKG_VERSION:=		2.5.35
+PKG_RELEASE:=		1
+PKG_MD5SUM:=		201d3f38758d95436cbc64903386de0b
+PKG_SITES:=		${MASTER_SITE_SOURCEFORGE:=${PKG_NAME}/}
+
+include ../rules.mk
+
+install: ${STAGING_HOST_DIR}/usr/bin/flex
+
+$(WRKBUILD)/.compiled: ${WRKDIST}/.prepared
+	(cd ${WRKBUILD}; PATH="$(STAGING_HOST_DIR)/usr/bin:$$PATH" ./configure)
+	${MAKE} -C ${WRKBUILD} CC='${CC_FOR_BUILD}'
+	touch $@
+
+${STAGING_HOST_DIR}/usr/bin/flex: $(WRKBUILD)/.compiled
+	$(INSTALL_BIN) $(WRKBUILD)/flex \
+		${STAGING_HOST_DIR}/usr/bin
+
+include $(TOPDIR)/mk/tools.mk

+ 3 - 3
tools/genext2fs/Makefile

@@ -11,15 +11,15 @@ PKG_SITES:=		${MASTER_SITE_SOURCEFORGE:=genext2fs/}
 
 
 include ../rules.mk
 include ../rules.mk
 
 
-install: ${BIN_DIR}/genext2fs
+install: ${STAGING_HOST_DIR}/usr/bin/genext2fs
 
 
 $(WRKBUILD)/.compiled: ${WRKDIST}/.prepared
 $(WRKBUILD)/.compiled: ${WRKDIST}/.prepared
 	(cd ${WRKBUILD}; ./configure)
 	(cd ${WRKBUILD}; ./configure)
 	${MAKE} -C ${WRKBUILD} CC='${CC_FOR_BUILD}'
 	${MAKE} -C ${WRKBUILD} CC='${CC_FOR_BUILD}'
 	touch $@
 	touch $@
 
 
-${BIN_DIR}/genext2fs: $(WRKBUILD)/.compiled
+${STAGING_HOST_DIR}/usr/bin/genext2fs: $(WRKBUILD)/.compiled
 	$(INSTALL_BIN) $(WRKBUILD)/genext2fs \
 	$(INSTALL_BIN) $(WRKBUILD)/genext2fs \
-		${BIN_DIR}
+		${STAGING_HOST_DIR}/usr/bin
 
 
 include $(TOPDIR)/mk/tools.mk
 include $(TOPDIR)/mk/tools.mk

+ 3 - 3
tools/gperf/Makefile

@@ -11,15 +11,15 @@ PKG_SITES:=		http://ftp.gnu.org/pub/gnu/gperf/
 
 
 include ../rules.mk
 include ../rules.mk
 
 
-install: ${BIN_DIR}/gperf
+install: ${STAGING_HOST_DIR}/usr/bin/gperf
 
 
 $(WRKBUILD)/.compiled: ${WRKDIST}/.prepared
 $(WRKBUILD)/.compiled: ${WRKDIST}/.prepared
 	(cd ${WRKBUILD}; ./configure)
 	(cd ${WRKBUILD}; ./configure)
 	${MAKE} -C ${WRKBUILD} CC='${CC_FOR_BUILD}'
 	${MAKE} -C ${WRKBUILD} CC='${CC_FOR_BUILD}'
 	touch $@
 	touch $@
 
 
-${BIN_DIR}/gperf: $(WRKBUILD)/.compiled
+${STAGING_HOST_DIR}/usr/bin/gperf: $(WRKBUILD)/.compiled
 	$(INSTALL_BIN) $(WRKBUILD)/src/gperf \
 	$(INSTALL_BIN) $(WRKBUILD)/src/gperf \
-		${BIN_DIR}
+		${STAGING_HOST_DIR}/usr/bin
 
 
 include $(TOPDIR)/mk/tools.mk
 include $(TOPDIR)/mk/tools.mk

+ 0 - 0
target/tools/lzma-loader/Makefile → tools/lzma-loader/Makefile


+ 0 - 0
target/tools/lzma-loader/src/LzmaDecode.c → tools/lzma-loader/src/LzmaDecode.c


+ 0 - 0
target/tools/lzma-loader/src/LzmaDecode.h → tools/lzma-loader/src/LzmaDecode.h


+ 0 - 0
target/tools/lzma-loader/src/LzmaDecode.o → tools/lzma-loader/src/LzmaDecode.o


+ 0 - 0
target/tools/lzma-loader/src/Makefile → tools/lzma-loader/src/Makefile


+ 0 - 0
target/tools/lzma-loader/src/README → tools/lzma-loader/src/README


+ 0 - 0
target/tools/lzma-loader/src/data.lds → tools/lzma-loader/src/data.lds


+ 0 - 0
target/tools/lzma-loader/src/data.o → tools/lzma-loader/src/data.o


+ 0 - 0
target/tools/lzma-loader/src/decompress → tools/lzma-loader/src/decompress


+ 0 - 0
target/tools/lzma-loader/src/decompress.c → tools/lzma-loader/src/decompress.c


+ 0 - 0
target/tools/lzma-loader/src/decompress.image → tools/lzma-loader/src/decompress.image


+ 0 - 0
target/tools/lzma-loader/src/decompress.lds → tools/lzma-loader/src/decompress.lds


+ 0 - 0
target/tools/lzma-loader/src/decompress.lds.in → tools/lzma-loader/src/decompress.lds.in


+ 0 - 0
target/tools/lzma-loader/src/decompress.o → tools/lzma-loader/src/decompress.o


Some files were not shown because too many files changed in this diff