diff options
author | Khem Raj <raj.khem@gmail.com> | 2012-07-24 00:25:58 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-07-26 14:40:48 +0100 |
commit | accbf87abfad8ac6d0e6e4138b031b5acea250d9 (patch) | |
tree | c60b1475d110a2aa2e85a06ddff86c078787db68 /meta | |
parent | aab76b339937fa666945fefe1167a3e39b5d874f (diff) | |
download | poky-accbf87abfad8ac6d0e6e4138b031b5acea250d9.tar.gz |
eglibc: Fix build when OPTION_POSIX_WIDE_CHAR_DEVICE_IO is not set
poky-tiny disables certain eglibc options which gives good excercise
for eglibc's componentized builds. This patch essentially updates the
GLRO patch to account for additions of GLRO(dl_debug_mask) and
converts them to GLRO_dl_debug_mask
Secondly adds a new patch where it was creating a undefined alias
because we were using INTUSE macro which got exposed when we
disable OPTION_POSIX_WIDE_CHAR_DEVICE_IO
(From OE-Core rev: f7a3121c0e4524f33f312f37d6a0bc952b219780)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
3 files changed, 59 insertions, 14 deletions
diff --git a/meta/recipes-core/eglibc/eglibc-2.16/GLRO_dl_debug_mask.patch b/meta/recipes-core/eglibc/eglibc-2.16/GLRO_dl_debug_mask.patch index b8995625aa..99cd812bc9 100644 --- a/meta/recipes-core/eglibc/eglibc-2.16/GLRO_dl_debug_mask.patch +++ b/meta/recipes-core/eglibc/eglibc-2.16/GLRO_dl_debug_mask.patch | |||
@@ -6,9 +6,9 @@ Singed-off-by: Khem Raj <raj.khem@gmail.com> | |||
6 | Upstream-Status: Pending | 6 | Upstream-Status: Pending |
7 | Index: libc/elf/dl-open.c | 7 | Index: libc/elf/dl-open.c |
8 | =================================================================== | 8 | =================================================================== |
9 | --- libc.orig/elf/dl-open.c 2012-03-09 08:54:34.691443995 -0800 | 9 | --- libc.orig/elf/dl-open.c 2012-07-04 18:26:34.000000000 -0700 |
10 | +++ libc/elf/dl-open.c 2012-03-09 08:55:31.275446730 -0800 | 10 | +++ libc/elf/dl-open.c 2012-07-23 22:55:10.700072511 -0700 |
11 | @@ -154,7 +154,7 @@ | 11 | @@ -153,7 +153,7 @@ |
12 | ns->_ns_main_searchlist->r_list[new_nlist++] = map; | 12 | ns->_ns_main_searchlist->r_list[new_nlist++] = map; |
13 | 13 | ||
14 | /* We modify the global scope. Report this. */ | 14 | /* We modify the global scope. Report this. */ |
@@ -17,7 +17,7 @@ Index: libc/elf/dl-open.c | |||
17 | _dl_debug_printf ("\nadd %s [%lu] to global scope\n", | 17 | _dl_debug_printf ("\nadd %s [%lu] to global scope\n", |
18 | map->l_name, map->l_ns); | 18 | map->l_name, map->l_ns); |
19 | } | 19 | } |
20 | @@ -294,7 +294,7 @@ | 20 | @@ -293,7 +293,7 @@ |
21 | _dl_debug_state (); | 21 | _dl_debug_state (); |
22 | 22 | ||
23 | /* Print scope information. */ | 23 | /* Print scope information. */ |
@@ -26,7 +26,7 @@ Index: libc/elf/dl-open.c | |||
26 | _dl_show_scope (new, 0); | 26 | _dl_show_scope (new, 0); |
27 | 27 | ||
28 | /* Only do lazy relocation if `LD_BIND_NOW' is not set. */ | 28 | /* Only do lazy relocation if `LD_BIND_NOW' is not set. */ |
29 | @@ -438,7 +438,7 @@ | 29 | @@ -501,7 +501,7 @@ |
30 | } | 30 | } |
31 | 31 | ||
32 | /* Print scope information. */ | 32 | /* Print scope information. */ |
@@ -37,9 +37,9 @@ Index: libc/elf/dl-open.c | |||
37 | 37 | ||
38 | Index: libc/ports/sysdeps/mips/dl-lookup.c | 38 | Index: libc/ports/sysdeps/mips/dl-lookup.c |
39 | =================================================================== | 39 | =================================================================== |
40 | --- libc.orig/ports/sysdeps/mips/dl-lookup.c 2012-03-09 08:54:34.707443996 -0800 | 40 | --- libc.orig/ports/sysdeps/mips/dl-lookup.c 2012-07-04 18:25:46.000000000 -0700 |
41 | +++ libc/ports/sysdeps/mips/dl-lookup.c 2012-03-09 09:02:36.903467324 -0800 | 41 | +++ libc/ports/sysdeps/mips/dl-lookup.c 2012-07-24 00:04:45.496274559 -0700 |
42 | @@ -111,7 +111,7 @@ | 42 | @@ -110,7 +110,7 @@ |
43 | continue; | 43 | continue; |
44 | 44 | ||
45 | /* Print some debugging info if wanted. */ | 45 | /* Print some debugging info if wanted. */ |
@@ -48,7 +48,7 @@ Index: libc/ports/sysdeps/mips/dl-lookup.c | |||
48 | _dl_debug_printf ("symbol=%s; lookup in file=%s [%lu]\n", | 48 | _dl_debug_printf ("symbol=%s; lookup in file=%s [%lu]\n", |
49 | undef_name, | 49 | undef_name, |
50 | map->l_name[0] ? map->l_name : rtld_progname, | 50 | map->l_name[0] ? map->l_name : rtld_progname, |
51 | @@ -432,7 +432,7 @@ | 51 | @@ -431,7 +431,7 @@ |
52 | hash table. */ | 52 | hash table. */ |
53 | if (__builtin_expect (tab->size, 0)) | 53 | if (__builtin_expect (tab->size, 0)) |
54 | { | 54 | { |
@@ -57,7 +57,7 @@ Index: libc/ports/sysdeps/mips/dl-lookup.c | |||
57 | __rtld_lock_unlock_recursive (tab->lock); | 57 | __rtld_lock_unlock_recursive (tab->lock); |
58 | goto success; | 58 | goto success; |
59 | } | 59 | } |
60 | @@ -681,7 +681,7 @@ | 60 | @@ -680,7 +680,7 @@ |
61 | } | 61 | } |
62 | 62 | ||
63 | /* Display information if we are debugging. */ | 63 | /* Display information if we are debugging. */ |
@@ -66,6 +66,15 @@ Index: libc/ports/sysdeps/mips/dl-lookup.c | |||
66 | _dl_debug_printf ("\ | 66 | _dl_debug_printf ("\ |
67 | \nfile=%s [%lu]; needed by %s [%lu] (relocation dependency)\n\n", | 67 | \nfile=%s [%lu]; needed by %s [%lu] (relocation dependency)\n\n", |
68 | map->l_name[0] ? map->l_name : rtld_progname, | 68 | map->l_name[0] ? map->l_name : rtld_progname, |
69 | @@ -787,7 +787,7 @@ | ||
70 | { | ||
71 | if ((*ref == NULL || ELFW(ST_BIND) ((*ref)->st_info) != STB_WEAK) | ||
72 | && skip_map == NULL | ||
73 | - && !(GLRO(dl_debug_mask) & DL_DEBUG_UNUSED)) | ||
74 | + && !(GLRO_dl_debug_mask & DL_DEBUG_UNUSED)) | ||
75 | { | ||
76 | /* We could find no value for a strong reference. */ | ||
77 | const char *reference_name = undef_map ? undef_map->l_name : ""; | ||
69 | @@ -860,7 +860,7 @@ | 78 | @@ -860,7 +860,7 @@ |
70 | if (__builtin_expect (current_value.m->l_used == 0, 0)) | 79 | if (__builtin_expect (current_value.m->l_used == 0, 0)) |
71 | current_value.m->l_used = 1; | 80 | current_value.m->l_used = 1; |
@@ -95,9 +104,9 @@ Index: libc/ports/sysdeps/mips/dl-lookup.c | |||
95 | struct sym_val val = { NULL, NULL }; | 104 | struct sym_val val = { NULL, NULL }; |
96 | Index: libc/elf/rtld.c | 105 | Index: libc/elf/rtld.c |
97 | =================================================================== | 106 | =================================================================== |
98 | --- libc.orig/elf/rtld.c 2012-03-09 09:01:35.159464344 -0800 | 107 | --- libc.orig/elf/rtld.c 2012-07-04 18:26:34.000000000 -0700 |
99 | +++ libc/elf/rtld.c 2012-03-09 09:01:56.247465364 -0800 | 108 | +++ libc/elf/rtld.c 2012-07-23 22:55:10.700072511 -0700 |
100 | @@ -2198,7 +2198,7 @@ | 109 | @@ -2214,7 +2214,7 @@ |
101 | GLRO(dl_init_all_dirs) = GL(dl_all_dirs); | 110 | GLRO(dl_init_all_dirs) = GL(dl_all_dirs); |
102 | 111 | ||
103 | /* Print scope information. */ | 112 | /* Print scope information. */ |
@@ -106,3 +115,16 @@ Index: libc/elf/rtld.c | |||
106 | { | 115 | { |
107 | _dl_debug_printf ("\nInitial object scopes\n"); | 116 | _dl_debug_printf ("\nInitial object scopes\n"); |
108 | 117 | ||
118 | Index: libc/elf/dl-lookup.c | ||
119 | =================================================================== | ||
120 | --- libc.orig/elf/dl-lookup.c 2012-07-04 18:26:35.000000000 -0700 | ||
121 | +++ libc/elf/dl-lookup.c 2012-07-24 00:04:14.680273070 -0700 | ||
122 | @@ -770,7 +770,7 @@ | ||
123 | { | ||
124 | if ((*ref == NULL || ELFW(ST_BIND) ((*ref)->st_info) != STB_WEAK) | ||
125 | && skip_map == NULL | ||
126 | - && !(GLRO(dl_debug_mask) & DL_DEBUG_UNUSED)) | ||
127 | + && !(GLRO_dl_debug_mask & DL_DEBUG_UNUSED)) | ||
128 | { | ||
129 | /* We could find no value for a strong reference. */ | ||
130 | const char *reference_name = undef_map ? undef_map->l_name : ""; | ||
diff --git a/meta/recipes-core/eglibc/eglibc-2.16/fileops-without-wchar-io.patch b/meta/recipes-core/eglibc/eglibc-2.16/fileops-without-wchar-io.patch new file mode 100644 index 0000000000..2ca0bca248 --- /dev/null +++ b/meta/recipes-core/eglibc/eglibc-2.16/fileops-without-wchar-io.patch | |||
@@ -0,0 +1,22 @@ | |||
1 | Fix error like | ||
2 | |||
3 | /home/kraj/work/angstrom/sources/openembedded-core/build/tmp-eglibc/work/mips64-oe-linux/eglibc-2.16-r2+svnr19383/build-mips64-oe-linux/libc_pic.os: In function `_IO_new_file_fopen': | ||
4 | /home/kraj/work/angstrom/sources/openembedded-core/build/tmp-eglibc/work/mips64-oe-linux/eglibc-2.16-r2+svnr19383/eglibc-2_16/libc/libio/fileops.c:431: undefined reference to `_IO_file_close_it_internal' | ||
5 | collect2: error: ld returned 1 exit status | ||
6 | |||
7 | |||
8 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
9 | Upstream-Status: Pending | ||
10 | Index: libc/libio/fileops.c | ||
11 | =================================================================== | ||
12 | --- libc.orig/libio/fileops.c 2012-07-04 18:25:47.000000000 -0700 | ||
13 | +++ libc/libio/fileops.c 2012-07-24 00:21:17.220322557 -0700 | ||
14 | @@ -428,7 +428,7 @@ | ||
15 | result->_mode = 1; | ||
16 | #else | ||
17 | /* Treat this as if we couldn't find the given character set. */ | ||
18 | - (void) INTUSE(_IO_file_close_it) (fp); | ||
19 | + (void) _IO_file_close_it (fp); | ||
20 | __set_errno (EINVAL); | ||
21 | return NULL; | ||
22 | #endif | ||
diff --git a/meta/recipes-core/eglibc/eglibc_2.16.bb b/meta/recipes-core/eglibc/eglibc_2.16.bb index fc3d82bd8c..8fa5451dac 100644 --- a/meta/recipes-core/eglibc/eglibc_2.16.bb +++ b/meta/recipes-core/eglibc/eglibc_2.16.bb | |||
@@ -3,7 +3,7 @@ require eglibc.inc | |||
3 | SRCREV = "19383" | 3 | SRCREV = "19383" |
4 | 4 | ||
5 | DEPENDS += "gperf-native" | 5 | DEPENDS += "gperf-native" |
6 | PR = "r2" | 6 | PR = "r3" |
7 | PR_append = "+svnr${SRCPV}" | 7 | PR_append = "+svnr${SRCPV}" |
8 | 8 | ||
9 | EGLIBC_BRANCH="eglibc-2_16" | 9 | EGLIBC_BRANCH="eglibc-2_16" |
@@ -23,6 +23,7 @@ SRC_URI = "svn://www.eglibc.org/svn/branches/;module=${EGLIBC_BRANCH};protocol=h | |||
23 | file://ppc_slow_ieee754_sqrt.patch \ | 23 | file://ppc_slow_ieee754_sqrt.patch \ |
24 | file://rpc-bootstrap.patch \ | 24 | file://rpc-bootstrap.patch \ |
25 | file://e500-math_private.patch \ | 25 | file://e500-math_private.patch \ |
26 | file://fileops-without-wchar-io.patch \ | ||
26 | " | 27 | " |
27 | LIC_FILES_CHKSUM = "file://LICENSES;md5=98a1128c4b58120182cbea3b1752d8b9 \ | 28 | LIC_FILES_CHKSUM = "file://LICENSES;md5=98a1128c4b58120182cbea3b1752d8b9 \ |
28 | file://COPYING;md5=393a5ca445f6965873eca0259a17f833 \ | 29 | file://COPYING;md5=393a5ca445f6965873eca0259a17f833 \ |