summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/eglibc/eglibc-2.19/relocatable_sdk_fix_openpath.patch
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2014-02-08 03:44:32 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-02-18 08:38:51 +0000
commit2e7dd298b17446708fa77a80e6ed2460ed98b059 (patch)
tree022b213dfe1d34bd8418d884155307922ff10feb /meta/recipes-core/eglibc/eglibc-2.19/relocatable_sdk_fix_openpath.patch
parent07f49c397864d34725d7ac3708b345934d5f0d49 (diff)
downloadpoky-2e7dd298b17446708fa77a80e6ed2460ed98b059.tar.gz
eglibc: Upgrade from 2.18 -> 2.19
License formatting and address for FSF in the COPYING and COPYING.LIB has changed. Dropped patched already upstream and patches that were workarounds for older glibc and busybox for e500 we have should pass --without-fp to eglibc/glibc 2.19 onwards the code is merged from eglibc into glibc upstream under nofpu/ pretext (From OE-Core rev: 875df27e56b82fcf970410b6d78e3672471c336a) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-core/eglibc/eglibc-2.19/relocatable_sdk_fix_openpath.patch')
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.19/relocatable_sdk_fix_openpath.patch41
1 files changed, 41 insertions, 0 deletions
diff --git a/meta/recipes-core/eglibc/eglibc-2.19/relocatable_sdk_fix_openpath.patch b/meta/recipes-core/eglibc/eglibc-2.19/relocatable_sdk_fix_openpath.patch
new file mode 100644
index 0000000000..f164f8f9ae
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc-2.19/relocatable_sdk_fix_openpath.patch
@@ -0,0 +1,41 @@
1Upstream-Status: Inappropriate [SDK specific]
2
3eglibc-nativesdk: Fix buffer overrun with a relocated SDK
4
5When ld-linux-*.so.2 is relocated to a path that is longer than the
6original fixed location, the dynamic loader will crash in open_path
7because it implicitly assumes that max_dirnamelen is a fixed size that
8never changes.
9
10The allocated buffer will not be large enough to contain the directory
11path string which is larger than the fixed location provided at build
12time.
13
14Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
15
16---
17 elf/dl-load.c | 12 ++++++++++++
18 1 file changed, 12 insertions(+)
19
20--- a/elf/dl-load.c
21+++ b/elf/dl-load.c
22@@ -1919,7 +1919,19 @@ open_path (const char *name, size_t name
23 given on the command line when rtld is run directly. */
24 return -1;
25
26+ do
27+ {
28+ struct r_search_path_elem *this_dir = *dirs;
29+ if (this_dir->dirnamelen > max_dirnamelen)
30+ {
31+ max_dirnamelen = this_dir->dirnamelen;
32+ }
33+ }
34+ while (*++dirs != NULL);
35+
36 buf = alloca (max_dirnamelen + max_capstrlen + namelen);
37+
38+ dirs = sps->dirs;
39 do
40 {
41 struct r_search_path_elem *this_dir = *dirs;