From 00fa581bc6acc3158b3008019e81802a5d70418c Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sun, 2 Mar 2014 15:22:50 +0100 Subject: remove REAL_GNU_TARGET_NAME, it is a relict from buildroot days, I do not know why this is required. the names are not unique between arch with different abi --- toolchain/gcc/Makefile | 29 ++++++++++------------------- 1 file changed, 10 insertions(+), 19 deletions(-) (limited to 'toolchain/gcc') diff --git a/toolchain/gcc/Makefile b/toolchain/gcc/Makefile index 4b0212f77..d29778c2e 100644 --- a/toolchain/gcc/Makefile +++ b/toolchain/gcc/Makefile @@ -12,7 +12,7 @@ GCC_CONFOPTS= --prefix=$(STAGING_HOST_DIR) \ --with-bugurl="http://www.openadk.org/" \ --build=$(GNU_HOST_NAME) \ --host=$(GNU_HOST_NAME) \ - --target=$(REAL_GNU_TARGET_NAME) \ + --target=$(GNU_TARGET_NAME) \ --with-gmp=$(STAGING_HOST_DIR) \ --with-mpfr=$(STAGING_HOST_DIR) \ --with-libelf=$(STAGING_HOST_DIR) \ @@ -122,10 +122,10 @@ GCC_BUILD_DIR_FINAL:= $(WRKBUILD)-final $(GCC_BUILD_DIR_MINIMAL)/.configured: mkdir -p $(GCC_BUILD_DIR_MINIMAL) # these symlinks are very important, do not remove - rm -rf $(STAGING_HOST_DIR)/$(REAL_GNU_TARGET_NAME)/sys-include - ln -sf ${STAGING_TARGET_DIR}/usr/include $(STAGING_HOST_DIR)/$(REAL_GNU_TARGET_NAME)/sys-include - rm -rf ${STAGING_HOST_DIR}/$(REAL_GNU_TARGET_NAME)/lib - ln -sf ${STAGING_TARGET_DIR}/lib $(STAGING_HOST_DIR)/$(REAL_GNU_TARGET_NAME)/lib + rm -rf $(STAGING_HOST_DIR)/$(GNU_TARGET_NAME)/sys-include + ln -sf ${STAGING_TARGET_DIR}/usr/include $(STAGING_HOST_DIR)/$(GNU_TARGET_NAME)/sys-include + rm -rf ${STAGING_HOST_DIR}/$(GNU_TARGET_NAME)/lib + ln -sf ${STAGING_TARGET_DIR}/lib $(STAGING_HOST_DIR)/$(GNU_TARGET_NAME)/lib ifeq ($(ADK_LINUX_SH),y) (cd ${STAGING_TARGET_DIR}/ && ln -sf . m4 && ln -sf . m4-nofpu) endif @@ -182,29 +182,20 @@ $(WRKBUILD)/.compiled: $(GCC_BUILD_DIR_FINAL)/.configured $(WRKBUILD)/.installed: $(WRKBUILD)/.compiled PATH='$(TARGET_PATH)' $(MAKE) -C $(GCC_BUILD_DIR_FINAL) install - # Set up the symlinks to enable lying about target name - set -e; \ - cd $(STAGING_HOST_DIR); \ - ln -sf $(REAL_GNU_TARGET_NAME) $(GNU_TARGET_NAME); \ - cd bin; \ - for app in $(REAL_GNU_TARGET_NAME)-* ; do \ - ln -sf $${app} \ - $(GNU_TARGET_NAME)$${app##$(REAL_GNU_TARGET_NAME)}; \ - done; # remove duplicate tools, convert hardlinks to symlinks set -e; \ cd $(STAGING_HOST_DIR)/$(GNU_TARGET_NAME)/bin; \ for app in ar as c++ g++ gcc ld ld.bfd nm objcopy objdump ranlib strip; do \ - ln -sf ../../bin/$(REAL_GNU_TARGET_NAME)-$${app} $${app}; \ + ln -sf ../../bin/$(GNU_TARGET_NAME)-$${app} $${app}; \ done; (cd $(STAGING_HOST_DIR)/bin && \ - ln -sf $(REAL_GNU_TARGET_NAME)-gcc $(REAL_GNU_TARGET_NAME)-gcc-${PKG_VERSION}) + ln -sf $(GNU_TARGET_NAME)-gcc $(GNU_TARGET_NAME)-gcc-${PKG_VERSION}) # setup symlink, so that gcc/g++ find cc1plus - (cd $(STAGING_HOST_DIR)/$(REAL_GNU_TARGET_NAME)/ && \ + (cd $(STAGING_HOST_DIR)/$(GNU_TARGET_NAME)/ && \ ln -sf ../libexec .) # setup symlink, so that gcc/g++ find stddef.h - (cd $(STAGING_HOST_DIR)/$(REAL_GNU_TARGET_NAME)/lib/ && \ - ln -sf ../../host_${CPU_ARCH}_${ADK_TARGET_SUFFIX}_${ADK_TARGET_LIBC}/lib/gcc .) + (cd $(STAGING_HOST_DIR)/$(GNU_TARGET_NAME)/lib/ && \ + ln -sf ../../host_${CPU_ARCH}_${ADK_TARGET_LIBC}_${ADK_TARGET_SUFFIX}/lib/gcc .) # fix linking g++ apps with libtool @-test -d $(STAGING_TARGET_DIR)/lib32 && \ cd $(STAGING_TARGET_DIR)/lib32 && \ -- cgit v1.2.3 From 7d2b38ba6e51a5da5250ef394b9fe69a72783459 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Tue, 4 Mar 2014 17:47:21 +0100 Subject: fix qemu-ppc64 building on Darwin, use --with-cpu=ultrasparc for qemu-sparc64, still another issue exist. --- Makefile | 2 +- mk/build.mk | 2 +- target/config/Config.in | 2 +- .../patches/3.13.5/ppc64-missing_arch_random.patch | 11 ++++++++ toolchain/gcc/Makefile | 4 +++ toolchain/glibc/patches/glibc-cross.patch | 33 +++++++++++----------- toolchain/glibc/patches/sparc64.patch | 21 -------------- 7 files changed, 34 insertions(+), 41 deletions(-) create mode 100644 target/linux/patches/3.13.5/ppc64-missing_arch_random.patch delete mode 100644 toolchain/glibc/patches/sparc64.patch (limited to 'toolchain/gcc') diff --git a/Makefile b/Makefile index b703f6656..9d3d982d7 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ # material, please see the LICENCE file in the top-level directory. _UNLIMIT= __limit=$$(ulimit -dH 2>/dev/null); \ - test -n "$$__limit" && ulimit -Sd $$__limit; + test -n "$$__limit" && ulimit -Sd $$__limit; ulimit -n 1024; all: checkreloc .prereq_done @${_UNLIMIT} ${GMAKE_INV} all diff --git a/mk/build.mk b/mk/build.mk index 8c1e73743..ce0f88ae0 100644 --- a/mk/build.mk +++ b/mk/build.mk @@ -561,7 +561,7 @@ test-framework: for libc in uclibc glibc musl;do \ mkdir -p $(TOPDIR)/firmware/$(SYSTEM)_$(ARCH)_$$libc; \ ( \ - for arch in arm mips mipsel i686 x86_64;do \ + for arch in arm mips mipsel mips64 mips64el ppc ppc64 sparc sparc64 i686 x86_64;do \ tarch=$$(echo $$arch|sed -e "s#el##" -e "s#eb##" -e "s#mips64.*#mips#" -e "s#i686#x86#"); \ echo === building qemu-$$arch for $$libc with $$tarch on $$(date); \ $(GMAKE) prereq && \ diff --git a/target/config/Config.in b/target/config/Config.in index c8e566cc8..ab6bf353b 100644 --- a/target/config/Config.in +++ b/target/config/Config.in @@ -579,7 +579,7 @@ config ADK_TARGET_CFLAGS default "-march=atom" if ADK_CPU_ATOM default "-march=amdfam10" if ADK_CPU_AMDFAM10 default "-mcpu=v8" if ADK_CPU_SPARC_V8 - default "-m64 -mcpu=v9" if ADK_CPU_SPARC_V9 + default "-m64 -mcpu=ultrasparc" if ADK_CPU_SPARC_V9 default "-march=loongson2f -Wa,-mfix-loongson2f-nop" if ADK_CPU_LOONGSON2F default "-march=mips32" if ADK_CPU_MIPS32 default "-march=mips64" if ADK_CPU_MIPS64 diff --git a/target/linux/patches/3.13.5/ppc64-missing_arch_random.patch b/target/linux/patches/3.13.5/ppc64-missing_arch_random.patch new file mode 100644 index 000000000..b341a7be5 --- /dev/null +++ b/target/linux/patches/3.13.5/ppc64-missing_arch_random.patch @@ -0,0 +1,11 @@ +diff -Nur linux-3.13.5.orig/arch/powerpc/platforms/pseries/Kconfig linux-3.13.5/arch/powerpc/platforms/pseries/Kconfig +--- linux-3.13.5.orig/arch/powerpc/platforms/pseries/Kconfig 2014-02-22 22:35:30.000000000 +0100 ++++ linux-3.13.5/arch/powerpc/platforms/pseries/Kconfig 2014-03-04 13:55:06.000000000 +0100 +@@ -20,6 +20,7 @@ + select PPC_DOORBELL + select HAVE_CONTEXT_TRACKING + select HOTPLUG_CPU if SMP ++ select ARCH_RANDOM + default y + + config PPC_SPLPAR diff --git a/toolchain/gcc/Makefile b/toolchain/gcc/Makefile index bbbd3d09c..138e3a0d0 100644 --- a/toolchain/gcc/Makefile +++ b/toolchain/gcc/Makefile @@ -100,6 +100,10 @@ ifeq ($(ADK_CPU_CORTEX_A9),y) GCC_CONFOPTS+= --with-arch=armv7-a --with-tune=cortex-a9 --with-fpu=neon endif +ifeq ($(ADK_CPU_SPARC_V9),y) +GCC_CONFOPTS+= --with-cpu=ultrasparc +endif + ifneq ($(ADK_TARGET_MIPS_ABI),) GCC_CONFOPTS+= --with-abi=${ADK_TARGET_MIPS_ABI} endif diff --git a/toolchain/glibc/patches/glibc-cross.patch b/toolchain/glibc/patches/glibc-cross.patch index 4084fd20d..a1903179d 100644 --- a/toolchain/glibc/patches/glibc-cross.patch +++ b/toolchain/glibc/patches/glibc-cross.patch @@ -1,8 +1,8 @@ -diff -Nur glibc-2.18.orig/sunrpc/rpc/types.h glibc-2.18/sunrpc/rpc/types.h ---- glibc-2.18.orig/sunrpc/rpc/types.h 2013-08-11 00:52:55.000000000 +0200 -+++ glibc-2.18/sunrpc/rpc/types.h 2013-09-13 08:25:18.000000000 +0200 -@@ -69,19 +69,25 @@ - #include +diff -Nur glibc-2.19.orig/sunrpc/rpc/types.h glibc-2.19/sunrpc/rpc/types.h +--- glibc-2.19.orig/sunrpc/rpc/types.h 2014-02-07 10:04:38.000000000 +0100 ++++ glibc-2.19/sunrpc/rpc/types.h 2014-03-03 13:42:42.000000000 +0100 +@@ -74,19 +74,24 @@ + # define __daddr_t_defined #endif -#ifndef __u_char_defined @@ -18,15 +18,14 @@ diff -Nur glibc-2.18.orig/sunrpc/rpc/types.h glibc-2.18/sunrpc/rpc/types.h +typedef unsigned short u_short; +typedef unsigned int u_int; +typedef unsigned long u_long; -+#if __WORDSIZE == 64 ++#if __WORDSIZE == 64 ++#ifndef __APPLE__ +typedef long int quad_t; +typedef unsigned long int u_quad_t; ++#endif +#elif defined __GLIBC_HAVE_LONG_LONG +typedef long long int quad_t; +typedef unsigned long long int u_quad_t; -+#endif -+#if defined(_CROSS_RPCGEN_) -+typedef u_quad_t fsid_t; #endif -#ifndef __daddr_t_defined -typedef __daddr_t daddr_t; @@ -39,14 +38,14 @@ diff -Nur glibc-2.18.orig/sunrpc/rpc/types.h glibc-2.18/sunrpc/rpc/types.h # define __daddr_t_defined #endif -diff -Nur glibc-2.18.orig/sunrpc/rpc_main.c glibc-2.18/sunrpc/rpc_main.c ---- glibc-2.18.orig/sunrpc/rpc_main.c 2013-08-11 00:52:55.000000000 +0200 -+++ glibc-2.18/sunrpc/rpc_main.c 2013-09-13 08:26:07.000000000 +0200 +diff -Nur glibc-2.19.orig/sunrpc/rpc_main.c glibc-2.19/sunrpc/rpc_main.c +--- glibc-2.19.orig/sunrpc/rpc_main.c 2014-02-07 10:04:38.000000000 +0100 ++++ glibc-2.19/sunrpc/rpc_main.c 2014-03-04 07:12:00.000000000 +0100 @@ -38,7 +38,11 @@ #include #include #include -+#ifdef _CROSS_RPCGEN_ ++#ifdef __APPLE__ +#define gettext(X) (X) +#else #include @@ -70,14 +69,14 @@ diff -Nur glibc-2.18.orig/sunrpc/rpc_main.c glibc-2.18/sunrpc/rpc_main.c } else -diff -Nur glibc-2.18.orig/sunrpc/rpc_scan.c glibc-2.18/sunrpc/rpc_scan.c ---- glibc-2.18.orig/sunrpc/rpc_scan.c 2013-08-11 00:52:55.000000000 +0200 -+++ glibc-2.18/sunrpc/rpc_scan.c 2013-09-13 08:25:18.000000000 +0200 +diff -Nur glibc-2.19.orig/sunrpc/rpc_scan.c glibc-2.19/sunrpc/rpc_scan.c +--- glibc-2.19.orig/sunrpc/rpc_scan.c 2014-02-07 10:04:38.000000000 +0100 ++++ glibc-2.19/sunrpc/rpc_scan.c 2014-03-04 07:11:29.000000000 +0100 @@ -37,7 +37,11 @@ #include #include #include -+#ifdef _CROSS_RPCGEN_ ++#ifdef __APPLE__ +#define gettext(X) (X) +#else #include diff --git a/toolchain/glibc/patches/sparc64.patch b/toolchain/glibc/patches/sparc64.patch deleted file mode 100644 index c8ff7ce9f..000000000 --- a/toolchain/glibc/patches/sparc64.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -Nur glibc-2.12.1.orig/sysdeps/sparc/sparc64/Makefile glibc-2.12.1/sysdeps/sparc/sparc64/Makefile ---- glibc-2.12.1.orig/sysdeps/sparc/sparc64/Makefile 2010-07-27 13:34:39.000000000 +0200 -+++ glibc-2.12.1/sysdeps/sparc/sparc64/Makefile 2011-01-01 23:58:16.370676501 +0100 -@@ -1,3 +1,5 @@ -+sysdep-CFLAGS += -mcpu=v9 -Wa,-Av9a -+ - ifeq ($(subdir),csu) - sysdep_routines += hp-timing - elide-routines.os += hp-timing -@@ -10,3 +12,11 @@ - ifeq ($(subdir),string) - sysdep_routines += align-cpy - endif -+ -+ASFLAGS-.o += -Wa,-Av9a -+ASFLAGS-.os += -Wa,-Av9a -+ASFLAGS-.op += -Wa,-Av9a -+ASFLAGS-.og += -Wa,-Av9a -+ASFLAGS-.ob += -Wa,-Av9a -+ASFLAGS-.oS += -Wa,-Av9a -+ -- cgit v1.2.3