summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch')
-rw-r--r--meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch123
1 files changed, 46 insertions, 77 deletions
diff --git a/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch b/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch
index 7cba6cc367..9e207e44d9 100644
--- a/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch
+++ b/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch
@@ -1,7 +1,7 @@
1From c99892f2018cd7fa0f37b53e6cebec99fa036472 Mon Sep 17 00:00:00 2001 1From e53968d61804b6bab32ec6e13cc0b3cd57214796 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 18 Mar 2015 01:51:38 +0000 3Date: Wed, 18 Mar 2015 01:51:38 +0000
4Subject: [PATCH 03/25] nativesdk-glibc: Raise the size of arrays containing dl 4Subject: [PATCH 03/26] nativesdk-glibc: Raise the size of arrays containing dl
5 paths 5 paths
6 6
7This patch puts the dynamic loader path in the binaries, SYSTEM_DIRS strings 7This patch puts the dynamic loader path in the binaries, SYSTEM_DIRS strings
@@ -21,13 +21,14 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
21 elf/interp.c | 2 +- 21 elf/interp.c | 2 +-
22 elf/ldconfig.c | 3 +++ 22 elf/ldconfig.c | 3 +++
23 elf/rtld.c | 5 +++-- 23 elf/rtld.c | 5 +++--
24 iconv/gconv_conf.c | 2 +-
24 sysdeps/generic/dl-cache.h | 4 ---- 25 sysdeps/generic/dl-cache.h | 4 ----
25 6 files changed, 13 insertions(+), 9 deletions(-) 26 7 files changed, 14 insertions(+), 10 deletions(-)
26 27
27Index: git/elf/dl-cache.c 28diff --git a/elf/dl-cache.c b/elf/dl-cache.c
28=================================================================== 29index cfa335e..daa12ec 100644
29--- git.orig/elf/dl-cache.c 30--- a/elf/dl-cache.c
30+++ git/elf/dl-cache.c 31+++ b/elf/dl-cache.c
31@@ -132,6 +132,10 @@ do \ 32@@ -132,6 +132,10 @@ do \
32 while (0) 33 while (0)
33 34
@@ -39,11 +40,11 @@ Index: git/elf/dl-cache.c
39 int 40 int
40 internal_function 41 internal_function
41 _dl_cache_libcmp (const char *p1, const char *p2) 42 _dl_cache_libcmp (const char *p1, const char *p2)
42Index: git/elf/dl-load.c 43diff --git a/elf/dl-load.c b/elf/dl-load.c
43=================================================================== 44index 3a3d112..a1410e4 100644
44--- git.orig/elf/dl-load.c 45--- a/elf/dl-load.c
45+++ git/elf/dl-load.c 46+++ b/elf/dl-load.c
46@@ -106,8 +106,8 @@ static size_t max_capstrlen attribute_re 47@@ -106,8 +106,8 @@ static size_t max_capstrlen attribute_relro;
47 /* Get the generated information about the trusted directories. */ 48 /* Get the generated information about the trusted directories. */
48 #include "trusted-dirs.h" 49 #include "trusted-dirs.h"
49 50
@@ -54,10 +55,10 @@ Index: git/elf/dl-load.c
54 { 55 {
55 SYSTEM_DIRS_LEN 56 SYSTEM_DIRS_LEN
56 }; 57 };
57Index: git/elf/interp.c 58diff --git a/elf/interp.c b/elf/interp.c
58=================================================================== 59index 9448802..e7e8c70 100644
59--- git.orig/elf/interp.c 60--- a/elf/interp.c
60+++ git/elf/interp.c 61+++ b/elf/interp.c
61@@ -18,5 +18,5 @@ 62@@ -18,5 +18,5 @@
62 63
63 #include <runtime-linker.h> 64 #include <runtime-linker.h>
@@ -65,10 +66,10 @@ Index: git/elf/interp.c
65-const char __invoke_dynamic_linker__[] __attribute__ ((section (".interp"))) 66-const char __invoke_dynamic_linker__[] __attribute__ ((section (".interp")))
66+const char __invoke_dynamic_linker__[4096] __attribute__ ((section (".interp"))) 67+const char __invoke_dynamic_linker__[4096] __attribute__ ((section (".interp")))
67 = RUNTIME_LINKER; 68 = RUNTIME_LINKER;
68Index: git/elf/ldconfig.c 69diff --git a/elf/ldconfig.c b/elf/ldconfig.c
69=================================================================== 70index 467ca82..631a2a9 100644
70--- git.orig/elf/ldconfig.c 71--- a/elf/ldconfig.c
71+++ git/elf/ldconfig.c 72+++ b/elf/ldconfig.c
72@@ -168,6 +168,9 @@ static struct argp argp = 73@@ -168,6 +168,9 @@ static struct argp argp =
73 options, parse_opt, NULL, doc, NULL, more_help, NULL 74 options, parse_opt, NULL, doc, NULL, more_help, NULL
74 }; 75 };
@@ -79,10 +80,10 @@ Index: git/elf/ldconfig.c
79 /* Check if string corresponds to an important hardware capability or 80 /* Check if string corresponds to an important hardware capability or
80 a platform. */ 81 a platform. */
81 static int 82 static int
82Index: git/elf/rtld.c 83diff --git a/elf/rtld.c b/elf/rtld.c
83=================================================================== 84index 4ec25d7..e159c12 100644
84--- git.orig/elf/rtld.c 85--- a/elf/rtld.c
85+++ git/elf/rtld.c 86+++ b/elf/rtld.c
86@@ -99,6 +99,7 @@ uintptr_t __pointer_chk_guard_local 87@@ -99,6 +99,7 @@ uintptr_t __pointer_chk_guard_local
87 strong_alias (__pointer_chk_guard_local, __pointer_chk_guard) 88 strong_alias (__pointer_chk_guard_local, __pointer_chk_guard)
88 #endif 89 #endif
@@ -91,7 +92,7 @@ Index: git/elf/rtld.c
91 92
92 /* List of auditing DSOs. */ 93 /* List of auditing DSOs. */
93 static struct audit_list 94 static struct audit_list
94@@ -873,12 +874,12 @@ of this helper program; chances are you 95@@ -854,12 +855,12 @@ of this helper program; chances are you did not intend to run this program.\n\
95 --list list all dependencies and how they are resolved\n\ 96 --list list all dependencies and how they are resolved\n\
96 --verify verify that given object really is a dynamically linked\n\ 97 --verify verify that given object really is a dynamically linked\n\
97 object we can handle\n\ 98 object we can handle\n\
@@ -106,10 +107,23 @@ Index: git/elf/rtld.c
106 107
107 ++_dl_skip_args; 108 ++_dl_skip_args;
108 --_dl_argc; 109 --_dl_argc;
109Index: git/sysdeps/generic/dl-cache.h 110diff --git a/iconv/gconv_conf.c b/iconv/gconv_conf.c
110=================================================================== 111index e235188..569f72e 100644
111--- git.orig/sysdeps/generic/dl-cache.h 112--- a/iconv/gconv_conf.c
112+++ git/sysdeps/generic/dl-cache.h 113+++ b/iconv/gconv_conf.c
114@@ -36,7 +36,7 @@
115
116
117 /* This is the default path where we look for module lists. */
118-static const char default_gconv_path[] = GCONV_PATH;
119+static char default_gconv_path[4096] __attribute__ ((section (".gccrelocprefix"))) = GCONV_PATH;
120
121 /* The path elements, as determined by the __gconv_get_path function.
122 All path elements end in a slash. */
123diff --git a/sysdeps/generic/dl-cache.h b/sysdeps/generic/dl-cache.h
124index eb2f900..505804e 100644
125--- a/sysdeps/generic/dl-cache.h
126+++ b/sysdeps/generic/dl-cache.h
113@@ -27,10 +27,6 @@ 127@@ -27,10 +27,6 @@
114 ((flags) == 1 || (flags) == _DL_CACHE_DEFAULT_ID) 128 ((flags) == 1 || (flags) == _DL_CACHE_DEFAULT_ID)
115 #endif 129 #endif
@@ -121,51 +135,6 @@ Index: git/sysdeps/generic/dl-cache.h
121 #ifndef add_system_dir 135 #ifndef add_system_dir
122 # define add_system_dir(dir) add_dir (dir) 136 # define add_system_dir(dir) add_dir (dir)
123 #endif 137 #endif
124Index: git/iconv/gconv_conf.c 138--
125=================================================================== 1392.10.2
126--- git.orig/iconv/gconv_conf.c 140
127+++ git/iconv/gconv_conf.c
128@@ -36,7 +36,7 @@
129
130
131 /* This is the default path where we look for module lists. */
132-static const char default_gconv_path[] = GCONV_PATH;
133+static char default_gconv_path[4096] __attribute__ ((section (".gccrelocprefix"))) = GCONV_PATH;
134
135 /* The path elements, as determined by the __gconv_get_path function.
136 All path elements end in a slash. */
137Index: git/locale/findlocale.c
138===================================================================
139--- git.orig/locale/findlocale.c
140+++ git/locale/findlocale.c
141@@ -56,7 +56,7 @@ struct __locale_data *const _nl_C[] attr
142 which are somehow addressed. */
143 struct loaded_l10nfile *_nl_locale_file_list[__LC_LAST];
144
145-const char _nl_default_locale_path[] attribute_hidden = COMPLOCALEDIR;
146+char _nl_default_locale_path[4096] __attribute__ ((section (".gccrelocprefix"))) attribute_hidden = COMPLOCALEDIR;
147
148 /* Checks if the name is actually present, that is, not NULL and not
149 empty. */
150@@ -168,7 +168,7 @@ _nl_find_locale (const char *locale_path
151
152 /* Nothing in the archive. Set the default path to search below. */
153 locale_path = _nl_default_locale_path;
154- locale_path_len = sizeof _nl_default_locale_path;
155+ locale_path_len = strlen(_nl_default_locale_path) + 1;
156 }
157 else
158 /* We really have to load some data. First see whether the name is
159Index: git/locale/localeinfo.h
160===================================================================
161--- git.orig/locale/localeinfo.h
162+++ git/locale/localeinfo.h
163@@ -322,7 +322,7 @@ _nl_lookup_word (locale_t l, int categor
164 }
165
166 /* Default search path if no LOCPATH environment variable. */
167-extern const char _nl_default_locale_path[] attribute_hidden;
168+extern char _nl_default_locale_path[] attribute_hidden;
169
170 /* Load the locale data for CATEGORY from the file specified by *NAME.
171 If *NAME is "", use environment variables as specified by POSIX, and