summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/eglibc/eglibc-2.13
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2011-06-22 23:49:42 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-06-22 23:49:42 +0100
commitb914de55a45029658116f729ffda3abead654c90 (patch)
tree3534a939a356ce79e9d371c23c40227f29fcde6f /meta/recipes-core/eglibc/eglibc-2.13
parent82e0e0a15373c4be4d9231f17f72d78de95c2f2a (diff)
downloadpoky-b914de55a45029658116f729ffda3abead654c90.tar.gz
Revert "eglibc: Upgrade recipes from 2.13 -> 2.14"
This reverts commit 16837d4cc39415709f744afa9532d53e0382d6bd. 2.14 isn't ready for prime time :( (A load of files no longer seem to get installed for example)
Diffstat (limited to 'meta/recipes-core/eglibc/eglibc-2.13')
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.13/IO-acquire-lock-fix.patch17
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.13/eglibc-svn-arm-lowlevellock-include-tls.patch21
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.13/etc/ld.so.conf0
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.13/generate-supported.mk11
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.13/ld-search-order.patch56
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.13/mips-rld-map-check.patch26
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.13/shorten-build-commands.patch83
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.13/stack-protector-test.patch35
8 files changed, 249 insertions, 0 deletions
diff --git a/meta/recipes-core/eglibc/eglibc-2.13/IO-acquire-lock-fix.patch b/meta/recipes-core/eglibc/eglibc-2.13/IO-acquire-lock-fix.patch
new file mode 100644
index 0000000000..cf5803585c
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc-2.13/IO-acquire-lock-fix.patch
@@ -0,0 +1,17 @@
1import http://sourceware.org/ml/libc-ports/2007-12/msg00000.html
2
3Upstream-Status: Pending
4
5Index: libc/bits/stdio-lock.h
6===================================================================
7--- libc.orig/bits/stdio-lock.h 2009-10-28 14:34:19.000000000 -0700
8+++ libc/bits/stdio-lock.h 2009-10-28 14:34:54.000000000 -0700
9@@ -50,6 +50,8 @@ __libc_lock_define_recursive (typedef, _
10 _IO_cleanup_region_start ((void (*) (void *)) _IO_funlockfile, (_fp)); \
11 _IO_flockfile (_fp)
12
13+# define _IO_acquire_lock_clear_flags2(_fp) _IO_acquire_lock (_fp)
14+
15 # define _IO_release_lock(_fp) \
16 _IO_funlockfile (_fp); \
17 _IO_cleanup_region_end (0)
diff --git a/meta/recipes-core/eglibc/eglibc-2.13/eglibc-svn-arm-lowlevellock-include-tls.patch b/meta/recipes-core/eglibc/eglibc-2.13/eglibc-svn-arm-lowlevellock-include-tls.patch
new file mode 100644
index 0000000000..4313aa5197
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc-2.13/eglibc-svn-arm-lowlevellock-include-tls.patch
@@ -0,0 +1,21 @@
1In file included from ../nptl/sysdeps/unix/sysv/linux/libc-lowlevellock.c:21:
2../nptl/sysdeps/unix/sysv/linux/lowlevellock.c: In function '__lll_lock_wait_private':
3../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: warning: implicit declaration of function 'THREAD_GETMEM'
4../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: error: 'THREAD_SELF' undeclared (first use in this function)
5../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: error: (Each undeclared identifier is reported only once
6../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: error: for each function it appears in.)
7../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: error: 'header' undeclared (first use in this function)
8make[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
9
10Upstream-Status: Pending
11
12--- libc/ports/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h.orig
13+++ libc/ports/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h
14@@ -25,6 +25,7 @@
15 #include <atomic.h>
16 #include <sysdep.h>
17 #include <kernel-features.h>
18+#include <tls.h>
19
20 #define FUTEX_WAIT 0
21 #define FUTEX_WAKE 1
diff --git a/meta/recipes-core/eglibc/eglibc-2.13/etc/ld.so.conf b/meta/recipes-core/eglibc/eglibc-2.13/etc/ld.so.conf
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc-2.13/etc/ld.so.conf
diff --git a/meta/recipes-core/eglibc/eglibc-2.13/generate-supported.mk b/meta/recipes-core/eglibc/eglibc-2.13/generate-supported.mk
new file mode 100644
index 0000000000..d2a28c2dc6
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc-2.13/generate-supported.mk
@@ -0,0 +1,11 @@
1#!/usr/bin/make
2
3include $(IN)
4
5all:
6 rm -f $(OUT)
7 touch $(OUT)
8 for locale in $(SUPPORTED-LOCALES); do \
9 [ $$locale = true ] && continue; \
10 echo $$locale | sed 's,/, ,' >> $(OUT); \
11 done
diff --git a/meta/recipes-core/eglibc/eglibc-2.13/ld-search-order.patch b/meta/recipes-core/eglibc/eglibc-2.13/ld-search-order.patch
new file mode 100644
index 0000000000..40ae6d37f4
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc-2.13/ld-search-order.patch
@@ -0,0 +1,56 @@
1Upstream-Status: Inappropriate [embedded specific]
2
3The default lib search path order is:
4
5 1) LD_LIBRARY_PATH
6 2) RPATH from the binary
7 3) ld.so.cache
8 4) default search paths embedded in the linker
9
10For nativesdk binaries which are being used alongside binaries on a host system, we
11need the search paths to firstly search the shipped nativesdk libs but then also
12cover the host system. For example we want the host system's libGL and this may be
13in a non-standard location like /usr/lib/mesa. The only place the location is know
14about is in the ld.so.cache of the host system.
15
16Since nativesdk has a simple structure and doesn't need to use a cache itself, we
17repurpose the cache for use as a last resort in finding host system binaries. This
18means we need to switch the order of 3 and 4 above to make this work effectively.
19
20RP 14/10/2010
21
22Index: libc/elf/dl-load.c
23===================================================================
24--- libc.orig/elf/dl-load.c
25+++ libc/elf/dl-load.c
26@@ -2107,6 +2107,15 @@ _dl_map_object (struct link_map *loader,
27 &loader->l_runpath_dirs, &realname, &fb, loader,
28 LA_SER_RUNPATH, &found_other_class);
29
30+ /* try the default path. */
31+ if (fd == -1
32+ && ((l = loader ?: GL(dl_ns)[nsid]._ns_loaded) == NULL
33+ || __builtin_expect (!(l->l_flags_1 & DF_1_NODEFLIB), 1))
34+ && rtld_search_dirs.dirs != (void *) -1)
35+ fd = open_path (name, namelen, mode & __RTLD_SECURE, &rtld_search_dirs,
36+ &realname, &fb, l, LA_SER_DEFAULT, &found_other_class);
37+
38+ /* Finally try ld.so.cache */
39 if (fd == -1
40 && (__builtin_expect (! (mode & __RTLD_SECURE), 1)
41 || ! INTUSE(__libc_enable_secure)))
42@@ -2169,14 +2178,6 @@ _dl_map_object (struct link_map *loader,
43 }
44 }
45
46- /* Finally, try the default path. */
47- if (fd == -1
48- && ((l = loader ?: GL(dl_ns)[nsid]._ns_loaded) == NULL
49- || __builtin_expect (!(l->l_flags_1 & DF_1_NODEFLIB), 1))
50- && rtld_search_dirs.dirs != (void *) -1)
51- fd = open_path (name, namelen, mode & __RTLD_SECURE, &rtld_search_dirs,
52- &realname, &fb, l, LA_SER_DEFAULT, &found_other_class);
53-
54 /* Add another newline when we are tracing the library loading. */
55 if (__builtin_expect (GLRO_dl_debug_mask & DL_DEBUG_LIBS, 0))
56 _dl_debug_printf ("\n");
diff --git a/meta/recipes-core/eglibc/eglibc-2.13/mips-rld-map-check.patch b/meta/recipes-core/eglibc/eglibc-2.13/mips-rld-map-check.patch
new file mode 100644
index 0000000000..7772e6ffa8
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc-2.13/mips-rld-map-check.patch
@@ -0,0 +1,26 @@
1Upstream-Status: Pending
2
3On mips target, binutils currently sets DT_MIPS_RLD_MAP to 0 in dynamic
4section if a --version-script sets _RLD_MAP to local. This is apparently
5a binutils bug, but libc shouldn't segfault in this case.
6
7see also: http://sourceware.org/bugilla/show_bug.cgi?id=11615
8
99/19/2010 - added by Qing He <qing.he@intel.com>
10
11Upstream-Status: Pending
12
13---
14diff -ru glibc-2.10.1.orig/ports/sysdeps/mips/dl-machine.h glibc-2.10.1/ports/sysdeps/mips/dl-machine.h
15--- glibc-2.10.1.orig/ports/sysdeps/mips/dl-machine.h 2009-05-16 16:36:20.000000000 +0800
16+++ glibc-2.10.1/ports/sysdeps/mips/dl-machine.h 2010-09-19 09:11:53.000000000 +0800
17@@ -70,7 +70,8 @@
18 /* If there is a DT_MIPS_RLD_MAP entry in the dynamic section, fill it in
19 with the run-time address of the r_debug structure */
20 #define ELF_MACHINE_DEBUG_SETUP(l,r) \
21-do { if ((l)->l_info[DT_MIPS (RLD_MAP)]) \
22+do { if ((l)->l_info[DT_MIPS (RLD_MAP)] && \
23+ (l)->l_info[DT_MIPS (RLD_MAP)]->d_un.d_ptr) \
24 *(ElfW(Addr) *)((l)->l_info[DT_MIPS (RLD_MAP)]->d_un.d_ptr) = \
25 (ElfW(Addr)) (r); \
26 } while (0)
diff --git a/meta/recipes-core/eglibc/eglibc-2.13/shorten-build-commands.patch b/meta/recipes-core/eglibc/eglibc-2.13/shorten-build-commands.patch
new file mode 100644
index 0000000000..c17d58b28b
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc-2.13/shorten-build-commands.patch
@@ -0,0 +1,83 @@
1Upstream-Status: Pending
2
3Source: http://sourceware.org/ml/libc-alpha/2010-03/msg00064.html
4
5This patch scratches an itch. Each individual gcc command in the
6glibc build is over 1K, which means it takes up a good chunk of my
7terminal. Most of that is include paths. Any version of GCC new
8enough to build glibc supports response files, which were added in
92005. So use a response file for the static list of include paths.
10Now the build commands are a lot shorter, and easier to use when
11developing glibc.
12
13Tested on x86_64-linux-gnu. Please apply if acceptable.
14
15--
16Daniel Jacobowitz
17CodeSourcery
18
192010-03-30 Daniel Jacobowitz <dan@codesourcery.com>
20
21 * Makeconfig (+common-includes): Define.
22 (+includes): Use @$(common-objpfx)includes.
23 * Makefile (postclean): Remove includes and includes.mk.
24 * Makerules ($(common-objpfx)includes.mk): Include and create
25 includes.mk. Create includes.
26
27Upstream-Status: Pending
28
29Index: libc/Makeconfig
30===================================================================
31--- libc.orig/Makeconfig 2009-10-13 22:55:12.000000000 -0700
32+++ libc/Makeconfig 2010-03-31 16:02:37.120489733 -0700
33@@ -678,9 +678,10 @@ endif # $(+cflags) == ""
34 # library source directory, in the include directory, and in the
35 # current directory.
36 +sysdep-includes = $(addprefix -I,$(+sysdep_dirs))
37++common-includes = $(+sysdep-includes) $(includes) $(sysincludes)
38 +includes = -I$(..)include $(if $(subdir),$(objpfx:%/=-I%)) \
39- $(+sysdep-includes) $(includes) \
40- $(patsubst %/,-I%,$(..)) $(libio-include) -I. $(sysincludes)
41+ @$(common-objpfx)includes \
42+ $(patsubst %/,-I%,$(..)) $(libio-include) -I.
43
44 # Since libio has several internal header files, we use a -I instead
45 # of many little headers in the include directory.
46Index: libc/Makefile
47===================================================================
48--- libc.orig/Makefile 2009-12-09 12:06:28.000000000 -0800
49+++ libc/Makefile 2010-03-31 16:02:37.132481508 -0700
50@@ -247,7 +247,7 @@ parent-mostlyclean: common-mostlyclean #
51 parent-clean: parent-mostlyclean common-clean
52
53 postclean = $(addprefix $(common-objpfx),$(postclean-generated)) \
54- $(addprefix $(objpfx),sysd-dirs sysd-rules) \
55+ $(addprefix $(objpfx),sysd-dirs sysd-rules includes includes.mk) \
56 $(addprefix $(objpfx),sysd-sorted soversions.mk soversions.i)
57
58 clean: parent-clean
59Index: libc/Makerules
60===================================================================
61--- libc.orig/Makerules 2009-12-09 12:06:28.000000000 -0800
62+++ libc/Makerules 2010-03-31 16:02:37.140481645 -0700
63@@ -254,6 +254,20 @@ ifndef sysd-rules-done
64 no_deps=t
65 endif
66
67+-include $(common-objpfx)includes.mk
68+ifneq ($(+common-includes),$(saved-includes))
69+# Recreate includes.mk (and includes).
70+includes-force = FORCE
71+FORCE:
72+endif
73+$(common-objpfx)includes.mk: $(includes-force)
74+ -@rm -f $@T $(common-objpfx)includesT
75+ for inc in $(+common-includes); do echo "$$inc"; done \
76+ > $(common-objpfx)includesT
77+ mv -f $(common-objpfx)includesT $(common-objpfx)includes
78+ echo 'saved-includes := $(+common-includes)' > $@T
79+ mv -f $@T $@
80+
81 define o-iterator-doit
82 $(objpfx)%$o: %.S $(before-compile); $$(compile-command.S)
83 endef
diff --git a/meta/recipes-core/eglibc/eglibc-2.13/stack-protector-test.patch b/meta/recipes-core/eglibc/eglibc-2.13/stack-protector-test.patch
new file mode 100644
index 0000000000..dbf70a974f
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc-2.13/stack-protector-test.patch
@@ -0,0 +1,35 @@
1Test for -fstack-protector is compile only test. One might have the option but
2might have build the compiler with --disable-ssp which means ssp should not be
3enabled. Therefore we change the test to a link time test. It will fail if
4libssp is not available.
5
6Upstream-Status: Pending
7
8Signed-off-by: Khem Raj <raj.khem@gmail.com>
9
10Index: libc/configure
11===================================================================
12--- libc.orig/configure
13+++ libc/configure
14@@ -6937,7 +6937,7 @@ if test "${libc_cv_ssp+set}" = set; then
15 $as_echo_n "(cached) " >&6
16 else
17 if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -Werror -fstack-protector
18- -o /dev/null -c -x c /dev/null 1>&5'
19+ -o /dev/null -x c /dev/null 1>&5'
20 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
21 (eval $ac_try) 2>&5
22 ac_status=$?
23Index: libc/configure.in
24===================================================================
25--- libc.orig/configure.in
26+++ libc/configure.in
27@@ -1787,7 +1787,7 @@ AC_SUBST(fno_unit_at_a_time)
28
29 AC_CACHE_CHECK(for -fstack-protector, libc_cv_ssp, [dnl
30 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -Werror -fstack-protector
31- -o /dev/null -c -x c /dev/null 1>&AS_MESSAGE_LOG_FD])
32+ -o /dev/null -x c /dev/null 1>&AS_MESSAGE_LOG_FD])
33 then
34 libc_cv_ssp=yes
35 else