aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/eglibc/eglibc-2.12
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@linux.intel.com>2010-08-27 15:14:24 +0100
committerRichard Purdie <rpurdie@linux.intel.com>2010-08-27 15:29:45 +0100
commit29d6678fd546377459ef75cf54abeef5b969b5cf (patch)
tree8edd65790e37a00d01c3f203f773fe4b5012db18 /meta/recipes-core/eglibc/eglibc-2.12
parentda49de6885ee1bc424e70bc02f21f6ab920efb55 (diff)
downloadopenembedded-core-contrib-29d6678fd546377459ef75cf54abeef5b969b5cf.tar.gz
Major layout change to the packages directory
Having one monolithic packages directory makes it hard to find things and is generally overwhelming. This commit splits it into several logical sections roughly based on function, recipes.txt gives more information about the classifications used. The opportunity is also used to switch from "packages" to "recipes" as used in OpenEmbedded as the term "packages" can be confusing to people and has many different meanings. Not all recipes have been classified yet, this is just a first pass at separating things out. Some packages are moved to meta-extras as they're no longer actively used or maintained. Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Diffstat (limited to 'meta/recipes-core/eglibc/eglibc-2.12')
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.12/IO-acquire-lock-fix.patch15
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.12/armv4t-interworking.patch78
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.12/eglibc-svn-arm-lowlevellock-include-tls.patch19
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.12/etc/ld.so.conf2
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.12/generate-supported.mk11
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.12/shorten-build-commands.patch79
6 files changed, 204 insertions, 0 deletions
diff --git a/meta/recipes-core/eglibc/eglibc-2.12/IO-acquire-lock-fix.patch b/meta/recipes-core/eglibc/eglibc-2.12/IO-acquire-lock-fix.patch
new file mode 100644
index 0000000000..4d3e0613b1
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc-2.12/IO-acquire-lock-fix.patch
@@ -0,0 +1,15 @@
+import http://sourceware.org/ml/libc-ports/2007-12/msg00000.html
+
+Index: libc/bits/stdio-lock.h
+===================================================================
+--- libc.orig/bits/stdio-lock.h 2009-10-28 14:34:19.000000000 -0700
++++ libc/bits/stdio-lock.h 2009-10-28 14:34:54.000000000 -0700
+@@ -50,6 +50,8 @@ __libc_lock_define_recursive (typedef, _
+ _IO_cleanup_region_start ((void (*) (void *)) _IO_funlockfile, (_fp)); \
+ _IO_flockfile (_fp)
+
++# define _IO_acquire_lock_clear_flags2(_fp) _IO_acquire_lock (_fp)
++
+ # define _IO_release_lock(_fp) \
+ _IO_funlockfile (_fp); \
+ _IO_cleanup_region_end (0)
diff --git a/meta/recipes-core/eglibc/eglibc-2.12/armv4t-interworking.patch b/meta/recipes-core/eglibc/eglibc-2.12/armv4t-interworking.patch
new file mode 100644
index 0000000000..6ab306180c
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc-2.12/armv4t-interworking.patch
@@ -0,0 +1,78 @@
+Index: libc/ports/sysdeps/arm/memcpy.S
+===================================================================
+--- libc.orig/ports/sysdeps/arm/memcpy.S 2009-09-03 16:12:00.000000000 -0700
++++ libc/ports/sysdeps/arm/memcpy.S 2009-10-28 12:51:22.000000000 -0700
+@@ -130,7 +130,12 @@ ENTRY(memcpy)
+ strcsb r4, [r0], #1
+ strcsb ip, [r0]
+
++#if defined (__ARM_ARCH_4T__) && defined(__THUMB_INTERWORK__)
++ ldmfd sp!, {r0, r4, lr}
++ bx lr
++#else
+ ldmfd sp!, {r0, r4, pc}
++#endif
+
+ 9: rsb ip, ip, #4
+ cmp ip, #2
+Index: libc/ports/sysdeps/arm/memmove.S
+===================================================================
+--- libc.orig/ports/sysdeps/arm/memmove.S 2009-09-03 16:12:00.000000000 -0700
++++ libc/ports/sysdeps/arm/memmove.S 2009-10-28 12:51:22.000000000 -0700
+@@ -144,7 +144,12 @@ ENTRY(memmove)
+ strneb r3, [r0, #-1]!
+ strcsb r4, [r0, #-1]!
+ strcsb ip, [r0, #-1]
++#if defined (__ARM_ARCH_4T__) && defined (__THUMB_INTERWORK__)
++ ldmfd sp!, {r0, r4, lr}
++ bx lr
++#else
+ ldmfd sp!, {r0, r4, pc}
++#endif
+
+ 9: cmp ip, #2
+ ldrgtb r3, [r1, #-1]!
+Index: libc/ports/sysdeps/unix/sysv/linux/arm/clone.S
+===================================================================
+--- libc.orig/ports/sysdeps/unix/sysv/linux/arm/clone.S 2009-09-03 16:12:04.000000000 -0700
++++ libc/ports/sysdeps/unix/sysv/linux/arm/clone.S 2009-10-28 12:51:22.000000000 -0700
+@@ -96,8 +96,14 @@ ENTRY(__clone)
+ #endif
+ @ pick the function arg and call address off the stack and execute
+ ldr r0, [sp, #4]
++#if defined(__ARM_ARCH_4T__) && defined(__THUMB_INTERWORK__)
++ ldr ip, [sp], #8
++ mov lr, pc
++ bx ip
++#else
+ mov lr, pc
+ ldr pc, [sp], #8
++#endif
+
+ @ and we are done, passing the return value through r0
+ b PLTJMP(HIDDEN_JUMPTARGET(_exit))
+Index: libc/ports/sysdeps/unix/sysv/linux/arm/sysdep.h
+===================================================================
+--- libc.orig/ports/sysdeps/unix/sysv/linux/arm/sysdep.h 2009-09-16 13:58:18.000000000 +0100
++++ libc/ports/sysdeps/unix/sysv/linux/arm/sysdep.h 2009-11-03 19:17:16.000000000 +0000
+@@ -129,6 +129,11 @@
+ DO_RET(lr); \
+ 1: .word C_SYMBOL_NAME(rtld_errno) - 0b - 8;
+ # else
++#if defined(__ARM_ARCH_4T__) && defined(__THUMB_INTERWORK__)
++#define POP_PC ldr lr, [sp], #4; bx lr
++#else
++#define POP_PC ldr pc, [sp], #4
++#endif
+ # define SYSCALL_ERROR_HANDLER \
+ __local_syscall_error: \
+ str lr, [sp, #-4]!; \
+@@ -138,7 +143,7 @@
+ rsb r1, r1, #0; \
+ str r1, [r0]; \
+ mvn r0, #0; \
+- ldr pc, [sp], #4;
++ POP_PC;
+ # endif
+ #else
+ # define SYSCALL_ERROR_HANDLER /* Nothing here; code in sysdep.S is used. */
diff --git a/meta/recipes-core/eglibc/eglibc-2.12/eglibc-svn-arm-lowlevellock-include-tls.patch b/meta/recipes-core/eglibc/eglibc-2.12/eglibc-svn-arm-lowlevellock-include-tls.patch
new file mode 100644
index 0000000000..99c3fef802
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc-2.12/eglibc-svn-arm-lowlevellock-include-tls.patch
@@ -0,0 +1,19 @@
+In file included from ../nptl/sysdeps/unix/sysv/linux/libc-lowlevellock.c:21:
+../nptl/sysdeps/unix/sysv/linux/lowlevellock.c: In function '__lll_lock_wait_private':
+../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: warning: implicit declaration of function 'THREAD_GETMEM'
+../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: error: 'THREAD_SELF' undeclared (first use in this function)
+../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: error: (Each undeclared identifier is reported only once
+../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: error: for each function it appears in.)
+../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: error: 'header' undeclared (first use in this function)
+make[4]: *** [/var/tmp/portage/sys-libs/glibc-2.7-r1/work/build-default-armv4l-unknown-linux-gnu-nptl/nptl/rtld-libc-lowlevellock.os] Error 1
+
+--- libc/ports/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h.orig
++++ libc/ports/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h
+@@ -25,6 +25,7 @@
+ #include <atomic.h>
+ #include <sysdep.h>
+ #include <kernel-features.h>
++#include <tls.h>
+
+ #define FUTEX_WAIT 0
+ #define FUTEX_WAKE 1
diff --git a/meta/recipes-core/eglibc/eglibc-2.12/etc/ld.so.conf b/meta/recipes-core/eglibc/eglibc-2.12/etc/ld.so.conf
new file mode 100644
index 0000000000..dfa65edb85
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc-2.12/etc/ld.so.conf
@@ -0,0 +1,2 @@
+/usr/local/lib
+/usr/X11R6/lib
diff --git a/meta/recipes-core/eglibc/eglibc-2.12/generate-supported.mk b/meta/recipes-core/eglibc/eglibc-2.12/generate-supported.mk
new file mode 100644
index 0000000000..d2a28c2dc6
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc-2.12/generate-supported.mk
@@ -0,0 +1,11 @@
+#!/usr/bin/make
+
+include $(IN)
+
+all:
+ rm -f $(OUT)
+ touch $(OUT)
+ for locale in $(SUPPORTED-LOCALES); do \
+ [ $$locale = true ] && continue; \
+ echo $$locale | sed 's,/, ,' >> $(OUT); \
+ done
diff --git a/meta/recipes-core/eglibc/eglibc-2.12/shorten-build-commands.patch b/meta/recipes-core/eglibc/eglibc-2.12/shorten-build-commands.patch
new file mode 100644
index 0000000000..57835adcdb
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc-2.12/shorten-build-commands.patch
@@ -0,0 +1,79 @@
+Source: http://sourceware.org/ml/libc-alpha/2010-03/msg00064.html
+
+This patch scratches an itch. Each individual gcc command in the
+glibc build is over 1K, which means it takes up a good chunk of my
+terminal. Most of that is include paths. Any version of GCC new
+enough to build glibc supports response files, which were added in
+2005. So use a response file for the static list of include paths.
+Now the build commands are a lot shorter, and easier to use when
+developing glibc.
+
+Tested on x86_64-linux-gnu. Please apply if acceptable.
+
+--
+Daniel Jacobowitz
+CodeSourcery
+
+2010-03-30 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * Makeconfig (+common-includes): Define.
+ (+includes): Use @$(common-objpfx)includes.
+ * Makefile (postclean): Remove includes and includes.mk.
+ * Makerules ($(common-objpfx)includes.mk): Include and create
+ includes.mk. Create includes.
+
+Index: libc/Makeconfig
+===================================================================
+--- libc.orig/Makeconfig 2009-10-13 22:55:12.000000000 -0700
++++ libc/Makeconfig 2010-03-31 16:02:37.120489733 -0700
+@@ -678,9 +678,10 @@ endif # $(+cflags) == ""
+ # library source directory, in the include directory, and in the
+ # current directory.
+ +sysdep-includes = $(addprefix -I,$(+sysdep_dirs))
+++common-includes = $(+sysdep-includes) $(includes) $(sysincludes)
+ +includes = -I$(..)include $(if $(subdir),$(objpfx:%/=-I%)) \
+- $(+sysdep-includes) $(includes) \
+- $(patsubst %/,-I%,$(..)) $(libio-include) -I. $(sysincludes)
++ @$(common-objpfx)includes \
++ $(patsubst %/,-I%,$(..)) $(libio-include) -I.
+
+ # Since libio has several internal header files, we use a -I instead
+ # of many little headers in the include directory.
+Index: libc/Makefile
+===================================================================
+--- libc.orig/Makefile 2009-12-09 12:06:28.000000000 -0800
++++ libc/Makefile 2010-03-31 16:02:37.132481508 -0700
+@@ -247,7 +247,7 @@ parent-mostlyclean: common-mostlyclean #
+ parent-clean: parent-mostlyclean common-clean
+
+ postclean = $(addprefix $(common-objpfx),$(postclean-generated)) \
+- $(addprefix $(objpfx),sysd-dirs sysd-rules) \
++ $(addprefix $(objpfx),sysd-dirs sysd-rules includes includes.mk) \
+ $(addprefix $(objpfx),sysd-sorted soversions.mk soversions.i)
+
+ clean: parent-clean
+Index: libc/Makerules
+===================================================================
+--- libc.orig/Makerules 2009-12-09 12:06:28.000000000 -0800
++++ libc/Makerules 2010-03-31 16:02:37.140481645 -0700
+@@ -254,6 +254,20 @@ ifndef sysd-rules-done
+ no_deps=t
+ endif
+
++-include $(common-objpfx)includes.mk
++ifneq ($(+common-includes),$(saved-includes))
++# Recreate includes.mk (and includes).
++includes-force = FORCE
++FORCE:
++endif
++$(common-objpfx)includes.mk: $(includes-force)
++ -@rm -f $@T $(common-objpfx)includesT
++ for inc in $(+common-includes); do echo "$$inc"; done \
++ > $(common-objpfx)includesT
++ mv -f $(common-objpfx)includesT $(common-objpfx)includes
++ echo 'saved-includes := $(+common-includes)' > $@T
++ mv -f $@T $@
++
+ define o-iterator-doit
+ $(objpfx)%$o: %.S $(before-compile); $$(compile-command.S)
+ endef