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 | |
| 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>
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 \ |
