summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mk/build.mk2
-rw-r--r--mk/kernel-ver.mk2
-rw-r--r--mk/vars.mk5
-rw-r--r--target/arm/sys-available/toolchain-arm4
-rw-r--r--target/arm/sys-available/toolchain-armeb11
-rw-r--r--target/ppc/sys-available/toolchain-ppc1
-rw-r--r--target/ppc64/sys-available/toolchain-ppc641
-rw-r--r--target/tarch.lst1
-rw-r--r--toolchain/eglibc/Makefile7
-rw-r--r--toolchain/gcc/Makefile2
-rw-r--r--toolchain/gcc/Makefile.inc7
-rw-r--r--toolchain/gcc/patches/4.8.2/musl-stubs.patch49
-rw-r--r--toolchain/glibc/Makefile6
-rw-r--r--toolchain/kernel-headers/Makefile2
-rw-r--r--toolchain/musl/Makefile4
-rw-r--r--toolchain/uClibc/Makefile4
16 files changed, 78 insertions, 30 deletions
diff --git a/mk/build.mk b/mk/build.mk
index eadccdcb3..9be651dd0 100644
--- a/mk/build.mk
+++ b/mk/build.mk
@@ -535,7 +535,7 @@ bulktoolchain:
$(GMAKE) prereq && \
$(GMAKE) ARCH=$$tarch SYSTEM=toolchain-$$arch LIBC=$$libc defconfig; \
$(GMAKE) VERBOSE=1 all; if [ $$? -ne 0 ]; then touch .exit;fi; \
- tar -cJf ${TOPDIR}/firmware/toolchain_$${arch}_$${libc}.tar.xz host_$${arch}_*_$${libc} target_$${arch}_*_$${libc}; \
+ tar -cvJf ${TOPDIR}/firmware/toolchain_$${arch}_$${libc}.tar.xz host_$${arch}_*_$${libc} target_$${arch}_*_$${libc}; \
rm .config; \
) 2>&1 | tee $(TOPDIR)/firmware/toolchain_$${arch}_$${libc}/build.log; \
if [ -f .exit ];then break;fi \
diff --git a/mk/kernel-ver.mk b/mk/kernel-ver.mk
index 17f189d04..09362fbae 100644
--- a/mk/kernel-ver.mk
+++ b/mk/kernel-ver.mk
@@ -2,7 +2,7 @@ ifeq ($(ADK_KERNEL_VERSION_TOOLCHAIN),y)
KERNEL_VERSION:= 3.12.13
KERNEL_MOD_VERSION:= $(KERNEL_VERSION)
KERNEL_RELEASE:= 1
-KERNEL_MD5SUM:= c5b0775d187bc79992bae17ae781de1e
+KERNEL_MD5SUM:= 345f5883cfb906dac4aef87e303d3a2d
endif
ifeq ($(ADK_KERNEL_VERSION_3_13_5),y)
KERNEL_VERSION:= 3.13.5
diff --git a/mk/vars.mk b/mk/vars.mk
index 427b5b4ec..4fcff2ade 100644
--- a/mk/vars.mk
+++ b/mk/vars.mk
@@ -82,13 +82,8 @@ endif
endif
TARGET_CPPFLAGS:=
-ifeq ($(ADK_LINUX_MICROBLAZE),y)
TARGET_CFLAGS:= $(TARGET_CFLAGS_ARCH) -fwrapv -fno-ident $(ADK_TARGET_ABI_CFLAGS)
TARGET_CFLAGS_LIBC:= $(TARGET_CFLAGS_ARCH) -fwrapv -fno-ident $(TARGET_OPTIMIZATION)
-else
-TARGET_CFLAGS:= $(TARGET_CFLAGS_ARCH) -fwrapv -fno-ident -fhonour-copts $(ADK_TARGET_ABI_CFLAGS) $(MODE_FLAGS)
-TARGET_CFLAGS_LIBC:= $(TARGET_CFLAGS_ARCH) -fwrapv -fno-ident -fhonour-copts $(TARGET_OPTIMIZATION) $(MODE_FLAGS)
-endif
TARGET_CXXFLAGS:= $(TARGET_CFLAGS_ARCH) -fwrapv -fno-ident $(MODE_FLAGS)
TARGET_LDFLAGS:= -L$(STAGING_TARGET_DIR)/lib -L$(STAGING_TARGET_DIR)/usr/lib \
-Wl,-O1 -Wl,-rpath -Wl,/usr/lib \
diff --git a/target/arm/sys-available/toolchain-arm b/target/arm/sys-available/toolchain-arm
index 8ac2da8b6..2cbe76a2e 100644
--- a/target/arm/sys-available/toolchain-arm
+++ b/target/arm/sys-available/toolchain-arm
@@ -3,9 +3,9 @@ config ADK_TARGET_SYSTEM_TOOLCHAIN_ARM
select ADK_arm
select ADK_toolchain_arm
select ADK_little
+ select ADK_soft_float
select ADK_TOOLCHAIN
select ADK_EABI
select ADK_TARGET_PACKAGE_TGZ
help
- ARM toolchain (little endian).
-
+ ARM toolchain (soft float).
diff --git a/target/arm/sys-available/toolchain-armeb b/target/arm/sys-available/toolchain-armeb
deleted file mode 100644
index ad9d2117a..000000000
--- a/target/arm/sys-available/toolchain-armeb
+++ /dev/null
@@ -1,11 +0,0 @@
-config ADK_TARGET_SYSTEM_TOOLCHAIN_ARMEB
- bool "Toolchain only (big endian)"
- select ADK_arm
- select ADK_toolchain_armeb
- select ADK_big
- select ADK_TOOLCHAIN
- select ADK_EABI
- select ADK_TARGET_PACKAGE_TGZ
- help
- ARM toolchain (big endian).
-
diff --git a/target/ppc/sys-available/toolchain-ppc b/target/ppc/sys-available/toolchain-ppc
index 340834f16..54e35e6a5 100644
--- a/target/ppc/sys-available/toolchain-ppc
+++ b/target/ppc/sys-available/toolchain-ppc
@@ -2,6 +2,7 @@ config ADK_TARGET_SYSTEM_TOOLCHAIN_PPC
bool "Toolchain only"
select ADK_ppc
select ADK_toolchain_ppc
+ select ADK_CPU_PPC
select ADK_TOOLCHAIN
select ADK_TARGET_PACKAGE_TGZ
help
diff --git a/target/ppc64/sys-available/toolchain-ppc64 b/target/ppc64/sys-available/toolchain-ppc64
index 5a38c89f0..3615aab85 100644
--- a/target/ppc64/sys-available/toolchain-ppc64
+++ b/target/ppc64/sys-available/toolchain-ppc64
@@ -2,6 +2,7 @@ config ADK_TARGET_SYSTEM_TOOLCHAIN_PPC64
bool "Toolchain only"
select ADK_ppc64
select ADK_toolchain_ppc64
+ select ADK_CPU_PPC64
select ADK_TOOLCHAIN
select ADK_TARGET_PACKAGE_TGZ
help
diff --git a/target/tarch.lst b/target/tarch.lst
index 239c496df..e7251f8d2 100644
--- a/target/tarch.lst
+++ b/target/tarch.lst
@@ -1,5 +1,4 @@
arm
-armeb
m68k
microblaze
microblazeel
diff --git a/toolchain/eglibc/Makefile b/toolchain/eglibc/Makefile
index 5ac8e493d..66c326a93 100644
--- a/toolchain/eglibc/Makefile
+++ b/toolchain/eglibc/Makefile
@@ -84,11 +84,16 @@ $(WRKBUILD)/.installed: $(EGLIBC_BUILD_DIR_FINAL)/libc.so
$(MAKE) -C $(EGLIBC_BUILD_DIR_FINAL) install_root=$(STAGING_TARGET_DIR) install
${INSTALL_DIR} ${STAGING_TARGET_DIR}/etc
${INSTALL_DATA} ${WRKBUILD}/libc/posix/gai.conf ${STAGING_TARGET_DIR}/etc/
- ${INSTALL_DATA} ${WRKBUILD}/libc/nscd/nscd.conf ${STAGING_TARGET_DIR}/etc/
${INSTALL_DATA} ${WRKBUILD}/libc/nss/nsswitch.conf ${STAGING_TARGET_DIR}/etc/
touch $@
$(WRKBUILD)/.fixup:
+ -find $(STAGING_TARGET_DIR) $(STAGING_HOST_DIR) -name \*.la -delete
+ -find $(STAGING_TARGET_DIR) -type -f -name \*_pic\* -delete
+ rm -rf $(STAGING_TARGET_DIR)/usr/share/locale $(STAGING_TARGET_DIR)/usr/share/i18n
+ rm -rf $(STAGING_TARGET_DIR)/usr/lib/gconv
+ PATH="$(TARGET_PATH)" prefix='${TARGET_CROSS}' ${BASH} ${SCRIPT_DIR}/rstrip.sh $(STAGING_TARGET_DIR)
+ prefix=' ' ${BASH} ${SCRIPT_DIR}/rstrip.sh $(STAGING_HOST_DIR)
touch $@
include ${TOPDIR}/mk/toolchain.mk
diff --git a/toolchain/gcc/Makefile b/toolchain/gcc/Makefile
index 2cd720a63..b298b5e77 100644
--- a/toolchain/gcc/Makefile
+++ b/toolchain/gcc/Makefile
@@ -71,7 +71,7 @@ else
GCC_CONFOPTS+= --enable-tls
endif
-ifeq ($(ARCH),powerpc)
+ifeq ($(ADK_LINUX_PPC),y)
ifeq ($(ADK_TARGET_LIBC),uclibc)
GCC_CONFOPTS+= --disable-target-optspace --with-long-double-128 --enable-secureplt
else
diff --git a/toolchain/gcc/Makefile.inc b/toolchain/gcc/Makefile.inc
index 689de3b63..86a0a5992 100644
--- a/toolchain/gcc/Makefile.inc
+++ b/toolchain/gcc/Makefile.inc
@@ -2,15 +2,8 @@
# material, please see the LICENCE file in the top-level directory.
PKG_NAME:= gcc
-
-ifeq ($(ADK_LINUX_MICROBLAZE),y)
PKG_VERSION:= 4.8.2
PKG_MD5SUM:= a3d7d63b9cb6b6ea049469a0c4a43c9d
-else
-PKG_VERSION:= 4.7.3
-PKG_MD5SUM:= 86f428a30379bdee0224e353ee2f999e
-endif
-
PKG_RELEASE:= 1
PKG_SITES:= ${MASTER_SITE_GNU:=gcc/gcc-${PKG_VERSION}/}
DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.bz2
diff --git a/toolchain/gcc/patches/4.8.2/musl-stubs.patch b/toolchain/gcc/patches/4.8.2/musl-stubs.patch
new file mode 100644
index 000000000..35050fd9c
--- /dev/null
+++ b/toolchain/gcc/patches/4.8.2/musl-stubs.patch
@@ -0,0 +1,49 @@
+diff -Nur gcc-4.8.2.orig/gcc/config/m68k/linux.h gcc-4.8.2/gcc/config/m68k/linux.h
+--- gcc-4.8.2.orig/gcc/config/m68k/linux.h 2013-01-10 21:38:27.000000000 +0100
++++ gcc-4.8.2/gcc/config/m68k/linux.h 2014-02-24 10:19:00.214399704 +0100
+@@ -72,6 +72,7 @@
+ done. */
+
+ #define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
++#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-m68k.so.1"
+
+ #undef LINK_SPEC
+ #define LINK_SPEC "-m m68kelf %{shared} \
+diff -Nur gcc-4.8.2.orig/gcc/config/mips/linux64.h gcc-4.8.2/gcc/config/mips/linux64.h
+--- gcc-4.8.2.orig/gcc/config/mips/linux64.h 2013-01-10 21:38:27.000000000 +0100
++++ gcc-4.8.2/gcc/config/mips/linux64.h 2014-02-24 10:19:47.238583895 +0100
+@@ -27,6 +27,9 @@
+ #define GLIBC_DYNAMIC_LINKERN32 "/lib32/ld.so.1"
+ #define UCLIBC_DYNAMIC_LINKERN32 "/lib32/ld-uClibc.so.0"
+ #define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32"
++#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-mips.so.1"
++#define MUSL_DYNAMIC_LINKERN32 "/lib/ld-musl-mips.so.1"
++#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-mips.so.1"
+ #define GNU_USER_DYNAMIC_LINKERN32 \
+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32, \
+- BIONIC_DYNAMIC_LINKERN32)
++ BIONIC_DYNAMIC_LINKERN32, MUSL_DYNAMIC_LINKERN32)
+diff -Nur gcc-4.8.2.orig/gcc/config/sparc/linux64.h gcc-4.8.2/gcc/config/sparc/linux64.h
+--- gcc-4.8.2.orig/gcc/config/sparc/linux64.h 2013-01-10 21:38:27.000000000 +0100
++++ gcc-4.8.2/gcc/config/sparc/linux64.h 2014-02-24 10:20:49.414827006 +0100
+@@ -94,6 +94,9 @@
+
+ #define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
+ #define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux.so.2"
++#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-sparc.so.1"
++#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-sparc.so.1"
++
+
+ #ifdef SPARC_BI_ARCH
+
+diff -Nur gcc-4.8.2.orig/gcc/config/sparc/linux.h gcc-4.8.2/gcc/config/sparc/linux.h
+--- gcc-4.8.2.orig/gcc/config/sparc/linux.h 2013-01-10 21:38:27.000000000 +0100
++++ gcc-4.8.2/gcc/config/sparc/linux.h 2014-02-24 10:21:14.342924339 +0100
+@@ -84,6 +84,7 @@
+ done. */
+
+ #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
++#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-sparc.so.1"
+
+ #undef LINK_SPEC
+ #define LINK_SPEC "-m elf32_sparc %{shared:-shared} \
diff --git a/toolchain/glibc/Makefile b/toolchain/glibc/Makefile
index 2fc0015d7..7f304330c 100644
--- a/toolchain/glibc/Makefile
+++ b/toolchain/glibc/Makefile
@@ -69,6 +69,12 @@ $(WRKBUILD)/.installed:
touch $@
$(WRKBUILD)/.fixup:
+ -find $(STAGING_TARGET_DIR) $(STAGING_HOST_DIR) -name \*.la -delete
+ -find $(STAGING_TARGET_DIR) -type f -name \*_pic\* -delete
+ rm -rf $(STAGING_TARGET_DIR)/usr/share/locale $(STAGING_TARGET_DIR)/usr/share/i18n
+ rm -rf $(STAGING_TARGET_DIR)/usr/lib/gconv
+ PATH="$(TARGET_PATH)" prefix='${TARGET_CROSS}' ${BASH} ${SCRIPT_DIR}/rstrip.sh $(STAGING_TARGET_DIR)
+ prefix=' ' ${BASH} ${SCRIPT_DIR}/rstrip.sh $(STAGING_HOST_DIR)
touch $@
include ${TOPDIR}/mk/toolchain.mk
diff --git a/toolchain/kernel-headers/Makefile b/toolchain/kernel-headers/Makefile
index faa75336f..203c68018 100644
--- a/toolchain/kernel-headers/Makefile
+++ b/toolchain/kernel-headers/Makefile
@@ -12,6 +12,8 @@ $(WRKBUILD)/.headers:
$(MAKE) -C $(WRKBUILD) HOSTCC=$(CC_FOR_BUILD) ARCH=$(ARCH) V=1 \
INSTALL_HDR_PATH=$(STAGING_DIR)/usr \
headers_install
+ @-find $(STAGING_DIR)/usr/include -name .install -delete
+ @-find $(STAGING_DIR)/usr/include -name ..install.cmd -delete
touch $@
include ${TOPDIR}/mk/toolchain.mk
diff --git a/toolchain/musl/Makefile b/toolchain/musl/Makefile
index 7382b84da..726a036c3 100644
--- a/toolchain/musl/Makefile
+++ b/toolchain/musl/Makefile
@@ -57,6 +57,10 @@ $(WRKBUILD)/.fixup:
)
$(MAKE) CFLAGS='$(TARGET_CFLAGS)' -C $(WRKBUILD) all
$(MAKE) -C $(WRKBUILD) DESTDIR=$(STAGING_TARGET_DIR) install
+ # cleanup toolchain
+ -find $(STAGING_TARGET_DIR) $(STAGING_HOST_DIR) -name \*.la -delete
+ PATH="$(TARGET_PATH)" prefix='${TARGET_CROSS}' ${BASH} ${SCRIPT_DIR}/rstrip.sh $(STAGING_TARGET_DIR)
+ prefix=' ' ${BASH} ${SCRIPT_DIR}/rstrip.sh $(STAGING_HOST_DIR)
touch $@
include ${TOPDIR}/mk/toolchain.mk
diff --git a/toolchain/uClibc/Makefile b/toolchain/uClibc/Makefile
index 47084994e..232c3944e 100644
--- a/toolchain/uClibc/Makefile
+++ b/toolchain/uClibc/Makefile
@@ -118,6 +118,10 @@ endif
all install_runtime
rm -rf $(STAGING_TARGET_DIR)/lib/libc.so
ln -s libc.so.0 $(STAGING_TARGET_DIR)/lib/libc.so
+ # cleanup toolchain
+ -find $(STAGING_TARGET_DIR) $(STAGING_HOST_DIR) -name \*.la -delete
+ PATH="$(TARGET_PATH)" prefix='${TARGET_CROSS}' ${BASH} ${SCRIPT_DIR}/rstrip.sh $(STAGING_TARGET_DIR)
+ prefix=' ' ${BASH} ${SCRIPT_DIR}/rstrip.sh $(STAGING_HOST_DIR)
touch $@
include ${TOPDIR}/mk/toolchain.mk