From 809d9eb235b6f8440416157a75a18bdecc1e61ed Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Thu, 27 Feb 2014 19:45:17 +0100 Subject: add support for sh and musl --- toolchain/gcc/patches/4.7.3/musl-sh.patch | 2 +- toolchain/gcc/patches/4.7.3/musl-sparc.patch | 6 +++--- toolchain/musl/Makefile | 3 +++ 3 files changed, 7 insertions(+), 4 deletions(-) (limited to 'toolchain') diff --git a/toolchain/gcc/patches/4.7.3/musl-sh.patch b/toolchain/gcc/patches/4.7.3/musl-sh.patch index 7738f266e..fbf06082a 100644 --- a/toolchain/gcc/patches/4.7.3/musl-sh.patch +++ b/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 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 #define SUBTARGET_LINK_EMUL_SUFFIX "_linux" diff --git a/toolchain/gcc/patches/4.7.3/musl-sparc.patch b/toolchain/gcc/patches/4.7.3/musl-sparc.patch index 228b8522d..7c9214f07 100644 --- a/toolchain/gcc/patches/4.7.3/musl-sparc.patch +++ b/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_LINKER64 "/lib64/ld-linux.so.2" -+#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-sparc.1" -+#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-sparc.1" ++#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-sparc.so.1" ++#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-sparc.so.1" + #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. */ #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 #define LINK_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \ diff --git a/toolchain/musl/Makefile b/toolchain/musl/Makefile index 44ee75775..7382b84da 100644 --- a/toolchain/musl/Makefile +++ b/toolchain/musl/Makefile @@ -18,6 +18,9 @@ endif ifeq ($(CPU_ARCH),microblazeel) REAL_GNU_TARGET_NAME:= $(subst microblazeel,microblaze,$(REAL_GNU_TARGET_NAME)) endif +ifeq ($(CPU_ARCH),sh4) +REAL_GNU_TARGET_NAME:= $(subst sh4,sh,$(REAL_GNU_TARGET_NAME)) +endif $(WRKBUILD)/.headers: (cd $(WRKBUILD); CC='$(TARGET_CC)' CROSS_COMPILE='$(TARGET_CROSS)' \ -- cgit v1.2.3 From f059dbadc9ba64b475511622166db0719ec91193 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sat, 1 Mar 2014 09:04:06 +0100 Subject: stubs for non-muls archs --- toolchain/gcc/patches/4.8.2/musl-stubs.patch | 49 ++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 toolchain/gcc/patches/4.8.2/musl-stubs.patch (limited to 'toolchain') 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} \ -- cgit v1.2.3 From 36b959a9b9a450f0789ecc6d10292efbc1f1eccd Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sat, 1 Mar 2014 09:07:37 +0100 Subject: remove armeb, no hardware, no emulator to test, add armhf instead. fix some toolchain archive creation issues, remove unneeded files before packaging. --- toolchain/eglibc/Makefile | 7 ++++++- toolchain/gcc/Makefile | 2 +- toolchain/gcc/Makefile.inc | 7 ------- toolchain/glibc/Makefile | 6 ++++++ toolchain/kernel-headers/Makefile | 2 ++ toolchain/musl/Makefile | 4 ++++ toolchain/uClibc/Makefile | 4 ++++ 7 files changed, 23 insertions(+), 9 deletions(-) (limited to 'toolchain') 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/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 44ee75775..14f96ab6e 100644 --- a/toolchain/musl/Makefile +++ b/toolchain/musl/Makefile @@ -54,6 +54,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 -- cgit v1.2.3