diff options
Diffstat (limited to 'toolchain')
-rw-r--r-- | toolchain/gcc/patches/no-lib64.patch | 72 | ||||
-rw-r--r-- | toolchain/uClibc/Makefile | 3 | ||||
-rw-r--r-- | toolchain/uClibc/patches/uClibc-0.9.32-use-arch-pt-initfini_c.patch | 39 |
3 files changed, 102 insertions, 12 deletions
diff --git a/toolchain/gcc/patches/no-lib64.patch b/toolchain/gcc/patches/no-lib64.patch index 5ad91ea50..5c6e0b045 100644 --- a/toolchain/gcc/patches/no-lib64.patch +++ b/toolchain/gcc/patches/no-lib64.patch @@ -1,6 +1,6 @@ -diff -Nur gcc-4.5.2.orig/gcc/config/i386/linux64.h gcc-4.5.2/gcc/config/i386/linux64.h ---- gcc-4.5.2.orig/gcc/config/i386/linux64.h 2010-03-24 21:44:48.000000000 +0100 -+++ gcc-4.5.2/gcc/config/i386/linux64.h 2011-04-23 22:49:31.087660410 +0200 +diff -Nur gcc-4.5.3.orig/gcc/config/i386/linux64.h gcc-4.5.3/gcc/config/i386/linux64.h +--- gcc-4.5.3.orig/gcc/config/i386/linux64.h 2010-03-24 21:44:48.000000000 +0100 ++++ gcc-4.5.3/gcc/config/i386/linux64.h 2011-08-24 06:35:30.000000000 +0200 @@ -59,7 +59,7 @@ done. */ @@ -10,9 +10,9 @@ diff -Nur gcc-4.5.2.orig/gcc/config/i386/linux64.h gcc-4.5.2/gcc/config/i386/lin #if TARGET_64BIT_DEFAULT #define SPEC_32 "m32" -diff -Nur gcc-4.5.2.orig/gcc/config/i386/t-linux64 gcc-4.5.2/gcc/config/i386/t-linux64 ---- gcc-4.5.2.orig/gcc/config/i386/t-linux64 2009-04-21 21:03:23.000000000 +0200 -+++ gcc-4.5.2/gcc/config/i386/t-linux64 2011-04-23 22:49:31.107660436 +0200 +diff -Nur gcc-4.5.3.orig/gcc/config/i386/t-linux64 gcc-4.5.3/gcc/config/i386/t-linux64 +--- gcc-4.5.3.orig/gcc/config/i386/t-linux64 2009-04-21 21:03:23.000000000 +0200 ++++ gcc-4.5.3/gcc/config/i386/t-linux64 2011-08-24 06:35:30.000000000 +0200 @@ -25,7 +25,7 @@ MULTILIB_OPTIONS = m64/m32 @@ -22,9 +22,9 @@ diff -Nur gcc-4.5.2.orig/gcc/config/i386/t-linux64 gcc-4.5.2/gcc/config/i386/t-l LIBGCC = stmp-multilib INSTALL_LIBGCC = install-multilib -diff -Nur gcc-4.5.2.orig/gcc/config/mips/linux64.h gcc-4.5.2/gcc/config/mips/linux64.h ---- gcc-4.5.2.orig/gcc/config/mips/linux64.h 2009-02-20 16:20:38.000000000 +0100 -+++ gcc-4.5.2/gcc/config/mips/linux64.h 2011-04-23 22:50:17.267672629 +0200 +diff -Nur gcc-4.5.3.orig/gcc/config/mips/linux64.h gcc-4.5.3/gcc/config/mips/linux64.h +--- gcc-4.5.3.orig/gcc/config/mips/linux64.h 2009-02-20 16:20:38.000000000 +0100 ++++ gcc-4.5.3/gcc/config/mips/linux64.h 2011-08-24 06:35:30.000000000 +0200 @@ -36,9 +36,9 @@ %{profile:-lc_p} %{!profile:-lc}}" @@ -38,9 +38,9 @@ diff -Nur gcc-4.5.2.orig/gcc/config/mips/linux64.h gcc-4.5.2/gcc/config/mips/lin #define LINUX_DYNAMIC_LINKERN32 \ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32) -diff -Nur gcc-4.5.2.orig/gcc/config/mips/t-linux64 gcc-4.5.2/gcc/config/mips/t-linux64 ---- gcc-4.5.2.orig/gcc/config/mips/t-linux64 2009-04-21 21:03:23.000000000 +0200 -+++ gcc-4.5.2/gcc/config/mips/t-linux64 2011-04-23 22:49:31.207663770 +0200 +diff -Nur gcc-4.5.3.orig/gcc/config/mips/t-linux64 gcc-4.5.3/gcc/config/mips/t-linux64 +--- gcc-4.5.3.orig/gcc/config/mips/t-linux64 2009-04-21 21:03:23.000000000 +0200 ++++ gcc-4.5.3/gcc/config/mips/t-linux64 2011-08-24 06:35:30.000000000 +0200 @@ -18,7 +18,7 @@ MULTILIB_OPTIONS = mabi=n32/mabi=32/mabi=64 @@ -50,3 +50,51 @@ diff -Nur gcc-4.5.2.orig/gcc/config/mips/t-linux64 gcc-4.5.2/gcc/config/mips/t-l EXTRA_MULTILIB_PARTS=crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o +diff -Nur gcc-4.5.3.orig/gcc/config/rs6000/linux64.h gcc-4.5.3/gcc/config/rs6000/linux64.h +--- gcc-4.5.3.orig/gcc/config/rs6000/linux64.h 2010-11-17 07:09:53.000000000 +0100 ++++ gcc-4.5.3/gcc/config/rs6000/linux64.h 2011-08-24 06:35:30.000000000 +0200 +@@ -341,7 +341,7 @@ + #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)" + + #define GLIBC_DYNAMIC_LINKER32 "/lib/ld.so.1" +-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld64.so.1" ++#define GLIBC_DYNAMIC_LINKER64 "/lib/ld64.so.1" + #define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0" + #define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0" + #if UCLIBC_DEFAULT +diff -Nur gcc-4.5.3.orig/gcc/config/rs6000/t-linux64 gcc-4.5.3/gcc/config/rs6000/t-linux64 +--- gcc-4.5.3.orig/gcc/config/rs6000/t-linux64 2009-04-21 21:03:23.000000000 +0200 ++++ gcc-4.5.3/gcc/config/rs6000/t-linux64 2011-08-24 06:35:30.000000000 +0200 +@@ -36,7 +36,7 @@ + MULTILIB_EXTRA_OPTS = fPIC mstrict-align + MULTILIB_EXCEPTIONS = m64/msoft-float + MULTILIB_EXCLUSIONS = m64/!m32/msoft-float +-MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib) nof ++MULTILIB_OSDIRNAMES = ../lib $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib) nof + MULTILIB_MATCHES = $(MULTILIB_MATCHES_FLOAT) + + softfp_wrap_start := '\#ifndef __powerpc64__' +diff -Nur gcc-4.5.3.orig/gcc/config/sparc/linux64.h gcc-4.5.3/gcc/config/sparc/linux64.h +--- gcc-4.5.3.orig/gcc/config/sparc/linux64.h 2010-09-22 23:15:37.000000000 +0200 ++++ gcc-4.5.3/gcc/config/sparc/linux64.h 2011-08-24 06:36:52.000000000 +0200 +@@ -110,7 +110,7 @@ + /* If ELF is the default format, we should not use /lib/elf. */ + + #define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2" +-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux.so.2" ++#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux.so.2" + + #ifdef SPARC_BI_ARCH + +diff -Nur gcc-4.5.3.orig/gcc/config/sparc/t-linux64 gcc-4.5.3/gcc/config/sparc/t-linux64 +--- gcc-4.5.3.orig/gcc/config/sparc/t-linux64 2010-10-04 18:54:26.000000000 +0200 ++++ gcc-4.5.3/gcc/config/sparc/t-linux64 2011-08-24 06:37:15.000000000 +0200 +@@ -26,7 +26,7 @@ + + MULTILIB_OPTIONS = m64/m32 + MULTILIB_DIRNAMES = 64 32 +-MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib) ++MULTILIB_OSDIRNAMES = ../lib $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib) + + LIBGCC = stmp-multilib + INSTALL_LIBGCC = install-multilib diff --git a/toolchain/uClibc/Makefile b/toolchain/uClibc/Makefile index bd1b6e8a3..d94bd982b 100644 --- a/toolchain/uClibc/Makefile +++ b/toolchain/uClibc/Makefile @@ -21,6 +21,9 @@ endif ifeq ($(ADK_TARGET_ENDIAN),big) UCLIBCCFG=uclibc.config.big endif +ifeq ($(ADK_TARGET_SYSTEM_QEMU_CRIS),y) +UCLIBCCFG=uclibc.config.v32 +endif $(WRKBUILD)/.headers: $(SED) 's,^CROSS=.*,CROSS=$(TARGET_CROSS),g' $(WRKBUILD)/Rules.mak diff --git a/toolchain/uClibc/patches/uClibc-0.9.32-use-arch-pt-initfini_c.patch b/toolchain/uClibc/patches/uClibc-0.9.32-use-arch-pt-initfini_c.patch new file mode 100644 index 000000000..3eb5b15c2 --- /dev/null +++ b/toolchain/uClibc/patches/uClibc-0.9.32-use-arch-pt-initfini_c.patch @@ -0,0 +1,39 @@ +SH provides a pt-initfini.c, so use that instead of +libpthread/nptl/sysdeps/pthread/pt-initfini.c + +This prevents: + libpthread/nptl/sysdeps/pthread/crti.S: Assembler messages: + libpthread/nptl/sysdeps/pthread/crti.S:25: Error: pcrel too far + libpthread/nptl/sysdeps/pthread/crti.S:26: Error: pcrel too far + libpthread/nptl/sysdeps/pthread/crti.S:28: Error: pcrel too far + libpthread/nptl/sysdeps/pthread/crti.S:53: Error: pcrel too far + libpthread/nptl/sysdeps/pthread/crti.S:56: Error: pcrel too far + make[1]: *** [libpthread/nptl/sysdeps/pthread/crti.o] Error 1 + +There is probably a better way to handle this... but since 9381d622e2411a35a5fd7 +I do not want to even try. + +--- uClibc-0.9.32/libpthread/nptl/sysdeps/pthread/Makefile.in 2011-06-11 00:58:59.539341382 -0400 ++++ uClibc-0.9.32/libpthread/nptl/sysdeps/pthread/Makefile.in 2011-06-11 00:57:52.848172407 -0400 +@@ -76,12 +76,21 @@ + ASFLAGS-crti.S = -g0 + ASFLAGS-crtn.S = -g0 + ++ifneq ($(wildcard $(top_srcdir)libpthread/nptl/sysdeps/unix/sysv/linux/$(TARGET_ARCH)/pt-initfini.c),) ++$(libpthread_pthread_OUT)/pt-initfini.s: $(top_srcdir)libpthread/nptl/sysdeps/unix/sysv/linux/$(TARGET_ARCH)/pt-initfini.c ++ $(compile.c) ++$(libpthread_pthread_OUT)/defs.h: $(top_srcdir)libpthread/nptl/sysdeps/unix/sysv/linux/$(TARGET_ARCH)/pt-initfini.c ++ $(do_sed) -n -e '/@TESTS_BEGIN/,/@TESTS_END/p' $< | \ ++ $(AWK) -f $(top_srcdir)extra/scripts/defs.awk > $@.tmp ++ $(Q)mv $@.tmp $@ ++else + $(libpthread_pthread_OUT)/pt-initfini.s: $(libpthread_pthread_DIR)/pt-initfini.c + $(compile.c) + $(libpthread_pthread_OUT)/defs.h: $(libpthread_pthread_DIR)/pt-initfini.c + $(do_sed) -n -e '/@TESTS_BEGIN/,/@TESTS_END/p' $< | \ + $(AWK) -f $(top_srcdir)extra/scripts/defs.awk > $@.tmp + $(Q)mv $@.tmp $@ ++endif + + $(libpthread_pthread_OUT)/crti.S: $(libpthread_pthread_OUT)/pt-initfini.s $(libpthread_pthread_OUT)/defs.h + $(do_sed) -n -e '/[ ]*\.file/d' \ |