From b7e9cbb06c2ec324e6ae12b04e73d2f4c87c6a5b Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN\"" Date: Mon, 27 Jun 2011 00:12:29 +0200 Subject: libc/uClibc: add latest release 0.9.32 + patchset The patchset was obtained by dumping each changeset on the upstream 0.9.32 branch since the release: git log v0.9.32..origin/0.9.32 |sed -r -e '/^commit/!d; s/.* //;' |tac and then creating a patch from each changeset. Signed-off-by: "Yann E. MORIN" diff --git a/config/libc/uClibc.in b/config/libc/uClibc.in index 64a5fca..aa2068b 100644 --- a/config/libc/uClibc.in +++ b/config/libc/uClibc.in @@ -16,6 +16,11 @@ choice # Don't remove next line # CT_INSERT_VERSION_BELOW +config LIBC_UCLIBC_V_0_9_32 + bool + prompt "0.9.32" + select LIBC_UCLIBC_0_9_30_or_later + config LIBC_UCLIBC_V_0_9_31 bool prompt "0.9.31 (EXPERIMENTAL)" @@ -76,6 +81,7 @@ config LIBC_VERSION prompt "Enter date (YYYYMMDD)" if LIBC_UCLIBC_V_specific_date # Don't remove next line # CT_INSERT_VERSION_STRING_BELOW + default "0.9.32" if LIBC_UCLIBC_V_0_9_32 default "0.9.31" if LIBC_UCLIBC_V_0_9_31 default "0.9.30.3" if LIBC_UCLIBC_V_0_9_30_3 default "0.9.30.2" if LIBC_UCLIBC_V_0_9_30_2 diff --git a/patches/uClibc/0.9.32/100-bump-version-to-0.9.32.1-git.patch b/patches/uClibc/0.9.32/100-bump-version-to-0.9.32.1-git.patch new file mode 100644 index 0000000..46b3031 --- /dev/null +++ b/patches/uClibc/0.9.32/100-bump-version-to-0.9.32.1-git.patch @@ -0,0 +1,21 @@ +commit 608e138586993d3c59c65c2958d9a98cf0d4d1eb +Author: Bernhard Reutner-Fischer +Date: Wed Jun 8 21:47:42 2011 +0200 + + bump version to 0.9.32.1-git + + Signed-off-by: Bernhard Reutner-Fischer + +diff --git a/Rules.mak b/Rules.mak +index fe06c24..a00deea 100644 +--- a/Rules.mak ++++ b/Rules.mak +@@ -106,7 +106,7 @@ export RUNTIME_PREFIX DEVEL_PREFIX KERNEL_HEADERS MULTILIB_DIR + MAJOR_VERSION := 0 + MINOR_VERSION := 9 + SUBLEVEL := 32 +-EXTRAVERSION := ++EXTRAVERSION :=.1-git + VERSION := $(MAJOR_VERSION).$(MINOR_VERSION).$(SUBLEVEL) + ABI_VERSION := $(MAJOR_VERSION) + ifneq ($(EXTRAVERSION),) diff --git a/patches/uClibc/0.9.32/110-nptl-Makefile.in-Fix-the-build-break-caused-by-UCLIBC_CTOR_DTOR-enabling.patch b/patches/uClibc/0.9.32/110-nptl-Makefile.in-Fix-the-build-break-caused-by-UCLIBC_CTOR_DTOR-enabling.patch new file mode 100644 index 0000000..f8e8411 --- /dev/null +++ b/patches/uClibc/0.9.32/110-nptl-Makefile.in-Fix-the-build-break-caused-by-UCLIBC_CTOR_DTOR-enabling.patch @@ -0,0 +1,28 @@ +commit fc643f77a3abc8743620445f47b1bade9862d45a +Author: Khem Raj +Date: Fri Jun 10 13:05:34 2011 -0700 + + nptl/Makefile.in: Fix the build break caused by UCLIBC_CTOR_DTOR enabling + + Extra / somehow does not match the target and complains that + $(top_builddir)libpthread/nptl/sysdeps/pthread/crti.o has no rules to + build + + Signed-off-by: Khem Raj + Signed-off-by: Bernhard Reutner-Fischer + +diff --git a/libpthread/nptl/Makefile.in b/libpthread/nptl/Makefile.in +index 70616a1..92d72a6 100644 +--- a/libpthread/nptl/Makefile.in ++++ b/libpthread/nptl/Makefile.in +@@ -64,8 +64,8 @@ endif + librt-so-y += $(librt_OBJS:.o=.oS) $(librt-pt-shared-only-routines-y:.o=.oS) + + ifeq ($(UCLIBC_CTOR_DTOR),y) +-START_FILE-libpthread.so := $(top_builddir)/libpthread/nptl/sysdeps/pthread/crti.o +-END_FILE-libpthread.so := $(top_builddir)/libpthread/nptl/sysdeps/pthread/crtn.o ++START_FILE-libpthread.so := $(top_builddir)libpthread/nptl/sysdeps/pthread/crti.o ++END_FILE-libpthread.so := $(top_builddir)libpthread/nptl/sysdeps/pthread/crtn.o + LDFLAGS-libpthread.so += -nostartfiles + $(top_builddir)lib/libpthread.so: | $(START_FILE-libpthread.so) $(END_FILE-libpthread.so) + endif diff --git a/patches/uClibc/0.9.32/120-ctor-dtor-nptl-Fix-init-and-fini-function-compilation.patch b/patches/uClibc/0.9.32/120-ctor-dtor-nptl-Fix-init-and-fini-function-compilation.patch new file mode 100644 index 0000000..146610b --- /dev/null +++ b/patches/uClibc/0.9.32/120-ctor-dtor-nptl-Fix-init-and-fini-function-compilation.patch @@ -0,0 +1,182 @@ +commit f9e311d11c374e68736c741ede1845bdc8091627 +Author: Khem Raj +Date: Mon Jun 13 16:30:55 2011 -0700 + + ctor/dtor nptl: Fix init and fini function compilation + + We need to define the rules for .S files so it + gets the include paths some architectures like mips + include headers + + Some architectures e.g. SH have their own version + of pt-initfini.c so look for that first before resorting + to generic version of pt-initfini.c + + Signed-off-by: Khem Raj + Signed-off-by: Bernhard Reutner-Fischer + +diff --git a/libc/sysdeps/linux/mips/crtn.S b/libc/sysdeps/linux/mips/crtn.S +index cedd593..f3756a2 100644 +--- a/libc/sysdeps/linux/mips/crtn.S ++++ b/libc/sysdeps/linux/mips/crtn.S +@@ -10,7 +10,6 @@ + #NO_APP + .align 2 + .globl _init +- .ent _init + .type _init, @function + #NO_APP + lw $31,28($sp) +@@ -22,14 +21,12 @@ + .set macro + .set reorder + +- .end _init + #APP + + .section .fini + #NO_APP + .align 2 + .globl _fini +- .ent _fini + .type _fini, @function + #NO_APP + lw $31,28($sp) +@@ -41,7 +38,6 @@ + .set macro + .set reorder + +- .end _fini + #APP + + .ident "GCC: (GNU) 3.3.2" +@@ -54,10 +50,8 @@ + + .section .init + #NO_APP +- .align 2 + .align 3 + .globl _init +- .ent _init + .type _init, @function + #NO_APP + ld $31,8($sp) +@@ -68,16 +62,12 @@ + addiu $sp,$sp,16 + .set macro + .set reorder +- +- .end _init + #APP + + .section .fini + #NO_APP +- .align 2 + .align 3 + .globl _fini +- .ent _fini + .type _fini, @function + #NO_APP + ld $31,8($sp) +@@ -89,7 +79,6 @@ + .set macro + .set reorder + +- .end _fini + #APP + + .ident "GCC: (GNU) 3.4.3" +@@ -105,7 +94,6 @@ + #NO_APP + .align 2 + .globl _init +- .ent _init + .type _init, @function + #NO_APP + ld $31,24($sp) +@@ -118,14 +106,12 @@ + .set macro + .set reorder + +- .end _init + #APP + + .section .fini + #NO_APP + .align 2 + .globl _fini +- .ent _fini + .type _fini, @function + #NO_APP + ld $31,24($sp) +@@ -138,7 +124,6 @@ + .set macro + .set reorder + +- .end _fini + #APP + + .ident "GCC: (GNU) 3.3.2" +diff --git a/libpthread/nptl/Makefile.in b/libpthread/nptl/Makefile.in +index 92d72a6..849bd59 100644 +--- a/libpthread/nptl/Makefile.in ++++ b/libpthread/nptl/Makefile.in +@@ -64,8 +64,8 @@ endif + librt-so-y += $(librt_OBJS:.o=.oS) $(librt-pt-shared-only-routines-y:.o=.oS) + + ifeq ($(UCLIBC_CTOR_DTOR),y) +-START_FILE-libpthread.so := $(top_builddir)libpthread/nptl/sysdeps/pthread/crti.o +-END_FILE-libpthread.so := $(top_builddir)libpthread/nptl/sysdeps/pthread/crtn.o ++START_FILE-libpthread.so := $(top_builddir)libpthread/nptl/sysdeps/pthread/pt-crti.o ++END_FILE-libpthread.so := $(top_builddir)libpthread/nptl/sysdeps/pthread/pt-crtn.o + LDFLAGS-libpthread.so += -nostartfiles + $(top_builddir)lib/libpthread.so: | $(START_FILE-libpthread.so) $(END_FILE-libpthread.so) + endif +diff --git a/libpthread/nptl/sysdeps/pthread/Makefile.in b/libpthread/nptl/sysdeps/pthread/Makefile.in +index d93b3a5..398eaea 100644 +--- a/libpthread/nptl/sysdeps/pthread/Makefile.in ++++ b/libpthread/nptl/sysdeps/pthread/Makefile.in +@@ -73,23 +73,37 @@ CFLAGS-pt-initfini.c = -S -g0 $(PICFLAG) -fno-inline-functions \ + -finhibit-size-directive \ + -fno-asynchronous-unwind-tables -fno-unwind-tables \ + $(patsubst -f%,-fno-%,$(call check_gcc,-fexceptions,)) +-ASFLAGS-crti.S = -g0 +-ASFLAGS-crtn.S = -g0 + +-$(libpthread_pthread_OUT)/pt-initfini.s: $(libpthread_pthread_DIR)/pt-initfini.c ++#ASFLAGS += $(PICFLAG) -I$(top_srcdir)include -I$(top_srcdir)libc/sysdeps/linux/$(TARGET_ARCH) ++ifneq ($(wildcard $(libpthread_DIR)/sysdeps/linux/$(TARGET_ARCH)/pt-initfini.c),) ++PTHREAD_INITFINI := $(libpthread_DIR)/sysdeps/linux/$(TARGET_ARCH)/pt-initfini.c ++else ++PTHREAD_INITFINI := $(libpthread_pthread_DIR)/pt-initfini.c ++endif ++ ++ASFLAGS-pt-crti.S = $(PICFLAG) ++ASFLAGS-pt-crtn.S = $(PICFLAG) ++ ++$(libpthread_pthread_OUT)/pt-crti.o: $(libpthread_pthread_OUT)/pt-crti.S ++ $(compile.S) ++ ++$(libpthread_pthread_OUT)/pt-crtn.o: $(libpthread_pthread_OUT)/pt-crtn.S ++ $(compile.S) ++ ++$(libpthread_pthread_OUT)/pt-initfini.s: $(PTHREAD_INITFINI) + $(compile.c) +-$(libpthread_pthread_OUT)/defs.h: $(libpthread_pthread_DIR)/pt-initfini.c ++$(libpthread_pthread_OUT)/defs.h: $(PTHREAD_INITFINI) + $(do_sed) -n -e '/@TESTS_BEGIN/,/@TESTS_END/p' $< | \ + $(AWK) -f $(top_srcdir)extra/scripts/defs.awk > $@.tmp + $(Q)mv $@.tmp $@ + +-$(libpthread_pthread_OUT)/crti.S: $(libpthread_pthread_OUT)/pt-initfini.s $(libpthread_pthread_OUT)/defs.h ++$(libpthread_pthread_OUT)/pt-crti.S: $(libpthread_pthread_OUT)/pt-initfini.s $(libpthread_pthread_OUT)/defs.h + $(do_sed) -n -e '/[ ]*\.file/d' \ + -e '1,/@HEADER_ENDS/p' \ + -e '/@_.*_PROLOG_BEGINS/,/@_.*_PROLOG_ENDS/p' \ + -e '/@TRAILER_BEGINS/,$$p' $< > $@.tmp + $(Q)mv $@.tmp $@ +-$(libpthread_pthread_OUT)/crtn.S: $(libpthread_pthread_OUT)/pt-initfini.s $(libpthread_pthread_OUT)/defs.h ++$(libpthread_pthread_OUT)/pt-crtn.S: $(libpthread_pthread_OUT)/pt-initfini.s $(libpthread_pthread_OUT)/defs.h + $(do_sed) -n -e '/[ ]*\.file/d' \ + -e '1,/@HEADER_ENDS/p' \ + -e '/@_.*_EPILOG_BEGINS/,/@_.*_EPILOG_ENDS/p' \ diff --git a/patches/uClibc/0.9.32/130-nptl-pthread-Correct-path-for-machine-specific-pt-initfini.c.patch b/patches/uClibc/0.9.32/130-nptl-pthread-Correct-path-for-machine-specific-pt-initfini.c.patch new file mode 100644 index 0000000..adb35c9 --- /dev/null +++ b/patches/uClibc/0.9.32/130-nptl-pthread-Correct-path-for-machine-specific-pt-initfini.c.patch @@ -0,0 +1,24 @@ +commit ebe6c38d7e60e8a43d8b926c17a561a5a3e06a22 +Author: Khem Raj +Date: Mon Jun 13 17:13:52 2011 -0700 + + nptl/pthread: Correct path for machine specific pt-initfini.c + + Signed-off-by: Khem Raj + Signed-off-by: Bernhard Reutner-Fischer + +diff --git a/libpthread/nptl/sysdeps/pthread/Makefile.in b/libpthread/nptl/sysdeps/pthread/Makefile.in +index 398eaea..ca84642 100644 +--- a/libpthread/nptl/sysdeps/pthread/Makefile.in ++++ b/libpthread/nptl/sysdeps/pthread/Makefile.in +@@ -75,8 +75,8 @@ CFLAGS-pt-initfini.c = -S -g0 $(PICFLAG) -fno-inline-functions \ + $(patsubst -f%,-fno-%,$(call check_gcc,-fexceptions,)) + + #ASFLAGS += $(PICFLAG) -I$(top_srcdir)include -I$(top_srcdir)libc/sysdeps/linux/$(TARGET_ARCH) +-ifneq ($(wildcard $(libpthread_DIR)/sysdeps/linux/$(TARGET_ARCH)/pt-initfini.c),) +-PTHREAD_INITFINI := $(libpthread_DIR)/sysdeps/linux/$(TARGET_ARCH)/pt-initfini.c ++ifneq ($(wildcard $(libpthread_pthread_DIR)/../unix/sysv/linux/$(TARGET_ARCH)/pt-initfini.c),) ++PTHREAD_INITFINI := $(libpthread_pthread_DIR)/../unix/sysv/linux/$(TARGET_ARCH)/pt-initfini.c + else + PTHREAD_INITFINI := $(libpthread_pthread_DIR)/pt-initfini.c + endif diff --git a/patches/uClibc/0.9.32/140-ARM-reorder-Use-BX-option.patch b/patches/uClibc/0.9.32/140-ARM-reorder-Use-BX-option.patch new file mode 100644 index 0000000..5321a48 --- /dev/null +++ b/patches/uClibc/0.9.32/140-ARM-reorder-Use-BX-option.patch @@ -0,0 +1,48 @@ +commit d64b91a6d4fa1a3ac1d01fa7593d67c5e5ed5101 +Author: Yann E. MORIN +Date: Sun Jan 9 01:45:04 2011 +0100 + + ARM: reorder "Use BX" option + + "Use BX" is not available on all CPUs, so the option depends on + a correct CPU to be chosen . It is weird that e BX" then appears + _above_ the CPU selection, not below. + + Move the "Use BX" after the CPU selection. + + Signed-off-by: "Yann E. MORIN" + Cc: Khem Raj + Cc: Bernhard Reutner-Fischer + Cc: Carmelo AMOROSO + Signed-off-by: Khem Raj + Signed-off-by: Bernhard Reutner-Fischer + +diff --git a/extra/Configs/Config.arm b/extra/Configs/Config.arm +index eb27a33..dd63b80 100644 +--- a/extra/Configs/Config.arm ++++ b/extra/Configs/Config.arm +@@ -30,13 +30,6 @@ config CONFIG_ARM_EABI + + endchoice + +-config USE_BX +- bool "Use BX in function return" +- default y +- depends on !CONFIG_GENERIC_ARM && !CONFIG_ARM610 && !CONFIG_ARM710 +- help +- Use BX instruction for THUMB aware architectures. +- + choice + prompt "Target Processor Type" + default CONFIG_GENERIC_ARM +@@ -131,3 +124,10 @@ config CONFIG_ARM_IWMMXT + select ARCH_HAS_MMU + + endchoice ++ ++config USE_BX ++ bool "Use BX in function return" ++ default y ++ depends on !CONFIG_GENERIC_ARM && !CONFIG_ARM610 && !CONFIG_ARM710 ++ help ++ Use BX instruction for THUMB aware architectures. diff --git a/patches/uClibc/0.9.32/150-Rules.mak-Rearrange-appending-UCLIBC_EXTRA_CFLAGS-to-CFLAGS.patch b/patches/uClibc/0.9.32/150-Rules.mak-Rearrange-appending-UCLIBC_EXTRA_CFLAGS-to-CFLAGS.patch new file mode 100644 index 0000000..01e4806 --- /dev/null +++ b/patches/uClibc/0.9.32/150-Rules.mak-Rearrange-appending-UCLIBC_EXTRA_CFLAGS-to-CFLAGS.patch @@ -0,0 +1,38 @@ +commit 4642f4eead07080bf46b6d67b873d303eda9fb48 +Author: Khem Raj +Date: Sat Jun 11 00:15:02 2011 -0700 + + Rules.mak: Rearrange appending UCLIBC_EXTRA_CFLAGS to CFLAGS + + UCLIBC_EXTRA_CFLAGS is currently added before the OPTIMIZATION flags + and OPTIMIZATION is chosen to be Os by default. But in OE we pass the optimisation + flags through UCLIBC_EXTRA_CFLAGS but they are not effective since -Os is + specified at last. So we need to change the order of these option flags + + Signed-off-by: Khem Raj + Signed-off-by: Bernhard Reutner-Fischer + +diff --git a/Rules.mak b/Rules.mak +index a00deea..6b8f5b2 100644 +--- a/Rules.mak ++++ b/Rules.mak +@@ -585,9 +585,6 @@ CFLAGS := -include $(top_srcdir)include/libc-symbols.h \ + -nostdinc -I$(top_builddir)include -I$(top_srcdir)include -I. \ + -I$(top_srcdir)libc/sysdeps/linux \ + -I$(top_srcdir)libc/sysdeps/linux/$(TARGET_ARCH) +-ifneq ($(strip $(UCLIBC_EXTRA_CFLAGS)),"") +-CFLAGS += $(call qstrip,$(UCLIBC_EXTRA_CFLAGS)) +-endif + + # We need this to be checked within libc-symbols.h + ifneq ($(HAVE_SHARED),y) +@@ -633,6 +630,9 @@ LDFLAGS += -Wl,-s + else + STRIPTOOL := true -Stripping_disabled + endif ++ifneq ($(strip $(UCLIBC_EXTRA_CFLAGS)),"") ++CFLAGS += $(call qstrip,$(UCLIBC_EXTRA_CFLAGS)) ++endif + + ifeq ($(DOMULTI),y) + # we try to compile all sources at once into an object (IMA), but -- cgit v0.10.2-6-g49f6