summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2011-06-26 22:12:29 (GMT)
committerYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2011-06-26 22:12:29 (GMT)
commitb7e9cbb06c2ec324e6ae12b04e73d2f4c87c6a5b (patch)
tree175db9c73909978646e4e077516ace347141f727
parentd0f914810538c85aa456f2ac26fb6e1cc5f688f7 (diff)
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" <yann.morin.1998@anciens.enib.fr>
-rw-r--r--config/libc/uClibc.in6
-rw-r--r--patches/uClibc/0.9.32/100-bump-version-to-0.9.32.1-git.patch21
-rw-r--r--patches/uClibc/0.9.32/110-nptl-Makefile.in-Fix-the-build-break-caused-by-UCLIBC_CTOR_DTOR-enabling.patch28
-rw-r--r--patches/uClibc/0.9.32/120-ctor-dtor-nptl-Fix-init-and-fini-function-compilation.patch182
-rw-r--r--patches/uClibc/0.9.32/130-nptl-pthread-Correct-path-for-machine-specific-pt-initfini.c.patch24
-rw-r--r--patches/uClibc/0.9.32/140-ARM-reorder-Use-BX-option.patch48
-rw-r--r--patches/uClibc/0.9.32/150-Rules.mak-Rearrange-appending-UCLIBC_EXTRA_CFLAGS-to-CFLAGS.patch38
7 files changed, 347 insertions, 0 deletions
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 <rep.dot.nop@gmail.com>
+Date: Wed Jun 8 21:47:42 2011 +0200
+
+ bump version to 0.9.32.1-git
+
+ Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
+
+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 <raj.khem@gmail.com>
+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 <raj.khem@gmail.com>
+ Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
+
+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 <raj.khem@gmail.com>
+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 <raj.khem@gmail.com>
+ Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
+
+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 <raj.khem@gmail.com>
+Date: Mon Jun 13 17:13:52 2011 -0700
+
+ nptl/pthread: Correct path for machine specific pt-initfini.c
+
+ Signed-off-by: Khem Raj <raj.khem@gmail.com>
+ Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
+
+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 <yann.morin.1998@anciens.enib.fr>
+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" <yann.morin.1998@anciens.enib.fr>
+ Cc: Khem Raj <raj.khem@gmail.com>
+ Cc: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
+ Cc: Carmelo AMOROSO <carmelo.amoroso@st.com>
+ Signed-off-by: Khem Raj <raj.khem@gmail.com>
+ Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
+
+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 <raj.khem@gmail.com>
+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 <raj.khem@gmail.com>
+ Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
+
+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