From 1f0568c6b8982f814f630193fb5114db489afcaf Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Wed, 5 Sep 2018 12:30:40 -0400 Subject: prelink: Update to the latest version of prelink The new version of prelink includes the fix for a segmentation fault due to using e_shnum vs e_shstrndx. In addition the following changes are incorporated: 2018-08-29 Khem Raj * src/elf.h: Add RISC-V defines * src/rtld/dl-tls.c: Add RISC-V support * src/rtld/rtld.c: Add RISC-V support 2018-08-29 Robert Yang * src/dso.c: use ehdr.e_shstrndx as index 2017-06-20 Andrew Stubbs * src/arch-x86_64.c (x86_64_prelink_conflict_rela): Also convert R_X86_64_32 conflicts to R_X86_64_IRELATIVE for ifuncs. * src/arch-x86_64.c (PL_ARCH(x32)): Set mmap_end to 0x60000000. 2017-06-20 Joseph Myers * src/rtld/rtld.c (load_ld_so_conf): Add argument use_x32. (main): Update call to load_ld_so_conf. 2017-06-20 Kyle Russell * src/rtld/rtld.c: Add missing DT_NEEDED DSOs to needed_list Signed-off-by: Mark Hatle Signed-off-by: Richard Purdie --- ...01-src-dso.c-use-ehdr.e_shstrndx-as-index.patch | 39 ---------------------- meta/recipes-devtools/prelink/prelink_git.bb | 5 ++- 2 files changed, 2 insertions(+), 42 deletions(-) delete mode 100644 meta/recipes-devtools/prelink/prelink/0001-src-dso.c-use-ehdr.e_shstrndx-as-index.patch diff --git a/meta/recipes-devtools/prelink/prelink/0001-src-dso.c-use-ehdr.e_shstrndx-as-index.patch b/meta/recipes-devtools/prelink/prelink/0001-src-dso.c-use-ehdr.e_shstrndx-as-index.patch deleted file mode 100644 index d2cd1a70e2..0000000000 --- a/meta/recipes-devtools/prelink/prelink/0001-src-dso.c-use-ehdr.e_shstrndx-as-index.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 107290910ff846532d944ddb78edda436bb6ae63 Mon Sep 17 00:00:00 2001 -From: Robert Yang -Date: Wed, 15 Aug 2018 17:53:43 +0800 -Subject: [PATCH] src/dso.c: use ehdr.e_shstrndx as index - -According to struct elf32_hd, the e_shnum is section header number, and the -index is e_shstrndx, not e_shnum. - -This can fix segmention fault when handle libqb.so.0.18.2 from libqb_1.0.3. -It fails to handle libqb.so.0.18.2 and get errors: -Symbol section index outside of section numbers - -Then segmentation fault, this is because the e_shnum is 34, while e_shstrndx is -27 (it would be 33 when no errors), I've checked several elf files to confirm -that the ones after e_shstrndx is NULL, so use e_shstrndx should be correct. - -Upstream-Status: Submitted [https://lists.yoctoproject.org/pipermail/yocto/2018-August/042240.html] - -Signed-off-by: Robert Yang ---- - src/dso.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/dso.c b/src/dso.c -index ae5e04d..c59d81f 100644 ---- a/src/dso.c -+++ b/src/dso.c -@@ -1659,7 +1659,7 @@ close_dso_1 (DSO *dso) - { - int i; - -- for (i = 1; i < dso->ehdr.e_shnum; ++i) -+ for (i = 1; i < dso->ehdr.e_shstrndx; ++i) - { - Elf_Scn *scn = dso->scn[i]; - Elf_Data *data = NULL; --- -2.7.4 - diff --git a/meta/recipes-devtools/prelink/prelink_git.bb b/meta/recipes-devtools/prelink/prelink_git.bb index c5eaedd4d9..3f2a2e227d 100644 --- a/meta/recipes-devtools/prelink/prelink_git.bb +++ b/meta/recipes-devtools/prelink/prelink_git.bb @@ -9,7 +9,7 @@ and executables, so that far fewer relocations need to be resolved at \ runtime and thus programs come up faster." LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b" -SRCREV = "05aeafd053e56356ec8c62f4bb8f7b95bae192f3" +SRCREV = "a853a5d715d84eec93aa68e8f2df26b7d860f5b2" PV = "1.0+git${SRCPV}" # @@ -27,12 +27,11 @@ FILES_${PN}-cron = "${sysconfdir}/cron.daily ${sysconfdir}/default" PACKAGES =+ "${PN}-cron" -SRC_URI = "git://git.yoctoproject.org/prelink-cross.git;branch=cross_prelink \ +SRC_URI = "git://git.yoctoproject.org/prelink-cross.git;branch=cross_prelink_staging \ file://prelink.conf \ file://prelink.cron.daily \ file://prelink.default \ file://macros.prelink \ - file://0001-src-dso.c-use-ehdr.e_shstrndx-as-index.patch \ " UPSTREAM_CHECK_COMMITS = "1" -- cgit 1.2.3-korg