diff options
| -rw-r--r-- | meta/recipes-core/glibc/glibc/0025-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch | 53 | ||||
| -rw-r--r-- | meta/recipes-core/glibc/glibc_2.34.bb | 1 |
2 files changed, 0 insertions, 54 deletions
diff --git a/meta/recipes-core/glibc/glibc/0025-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch b/meta/recipes-core/glibc/glibc/0025-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch deleted file mode 100644 index fb0a609dbb..0000000000 --- a/meta/recipes-core/glibc/glibc/0025-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch +++ /dev/null | |||
| @@ -1,53 +0,0 @@ | |||
| 1 | From 50b605dece16606dd9d1c737e579c13725eab11d Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Mark Hatle <mark.hatle@windriver.com> | ||
| 3 | Date: Thu, 18 Aug 2016 14:07:58 -0500 | ||
| 4 | Subject: [PATCH] elf/dl-deps.c: Make _dl_build_local_scope breadth first | ||
| 5 | |||
| 6 | According to the ELF specification: | ||
| 7 | |||
| 8 | When resolving symbolic references, the dynamic linker examines the symbol | ||
| 9 | tables with a breadth-first search. | ||
| 10 | |||
| 11 | This function was using a depth first search. By doing so the conflict | ||
| 12 | resolution reported to the prelinker (when LD_TRACE_PRELINKING=1 is set) | ||
| 13 | was incorrect. This caused problems when their were various circular | ||
| 14 | dependencies between libraries. The problem usually manifested itself by | ||
| 15 | the wrong IFUNC being executed. | ||
| 16 | |||
| 17 | [BZ# 20488] | ||
| 18 | |||
| 19 | Upstream-Status: Submitted [libc-alpha] | ||
| 20 | |||
| 21 | Signed-off-by: Mark Hatle <mark.hatle@windriver.com> | ||
| 22 | --- | ||
| 23 | elf/dl-deps.c | 14 ++++++++++---- | ||
| 24 | 1 file changed, 10 insertions(+), 4 deletions(-) | ||
| 25 | |||
| 26 | diff --git a/elf/dl-deps.c b/elf/dl-deps.c | ||
| 27 | index 087a49b212..c09f9334f2 100644 | ||
| 28 | --- a/elf/dl-deps.c | ||
| 29 | +++ b/elf/dl-deps.c | ||
| 30 | @@ -73,13 +73,19 @@ _dl_build_local_scope (struct link_map **list, struct link_map *map) | ||
| 31 | { | ||
| 32 | struct link_map **p = list; | ||
| 33 | struct link_map **q; | ||
| 34 | + struct link_map **r; | ||
| 35 | |||
| 36 | *p++ = map; | ||
| 37 | map->l_reserved = 1; | ||
| 38 | - if (map->l_initfini) | ||
| 39 | - for (q = map->l_initfini + 1; *q; ++q) | ||
| 40 | - if (! (*q)->l_reserved) | ||
| 41 | - p += _dl_build_local_scope (p, *q); | ||
| 42 | + | ||
| 43 | + for (r = list; r < p; ++r) | ||
| 44 | + if ((*r)->l_initfini) | ||
| 45 | + for (q = (*r)->l_initfini + 1; *q; ++q) | ||
| 46 | + if (! (*q)->l_reserved) | ||
| 47 | + { | ||
| 48 | + *p++ = *q; | ||
| 49 | + (*q)->l_reserved = 1; | ||
| 50 | + } | ||
| 51 | return p - list; | ||
| 52 | } | ||
| 53 | |||
diff --git a/meta/recipes-core/glibc/glibc_2.34.bb b/meta/recipes-core/glibc/glibc_2.34.bb index f67ef7818c..67464d6ce0 100644 --- a/meta/recipes-core/glibc/glibc_2.34.bb +++ b/meta/recipes-core/glibc/glibc_2.34.bb | |||
| @@ -42,7 +42,6 @@ SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \ | |||
| 42 | file://0021-eglibc-Resolve-__fpscr_values-on-SH4.patch \ | 42 | file://0021-eglibc-Resolve-__fpscr_values-on-SH4.patch \ |
| 43 | file://0022-eglibc-Forward-port-cross-locale-generation-support.patch \ | 43 | file://0022-eglibc-Forward-port-cross-locale-generation-support.patch \ |
| 44 | file://0024-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch \ | 44 | file://0024-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch \ |
| 45 | file://0025-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch \ | ||
| 46 | file://0026-intl-Emit-no-lines-in-bison-generated-files.patch \ | 45 | file://0026-intl-Emit-no-lines-in-bison-generated-files.patch \ |
| 47 | file://0027-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch \ | 46 | file://0027-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch \ |
| 48 | file://0028-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch \ | 47 | file://0028-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch \ |
