diff options
Diffstat (limited to 'toolchain/uClibc')
-rw-r--r-- | toolchain/uClibc/Makefile | 3 | ||||
-rw-r--r-- | toolchain/uClibc/patches/uClibc-0.9.32-use-arch-pt-initfini_c.patch | 39 |
2 files changed, 42 insertions, 0 deletions
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' \ |