[OE-core] [PATCH 1/1] prelink: Update to the latest version of prelink

Mark Hatle mark.hatle at windriver.com
Wed Sep 5 16:30:40 UTC 2018


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 <raj.khem at gmail.com>
	* 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  <liezhi.yang at windriver.com>
	* src/dso.c: use ehdr.e_shstrndx as index

    2017-06-20  Andrew Stubbs  <ams at codesourcery.com>
	* 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  <joseph at codesourcery.com>
	* 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 <bkylerussell at gmail.com>
	* src/rtld/rtld.c: Add missing DT_NEEDED DSOs to needed_list

Signed-off-by: Mark Hatle <mark.hatle at windriver.com>
---
 ...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 <liezhi.yang at windriver.com>
-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 <liezhi.yang at windriver.com>
----
- 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"
 
-- 
2.16.0.rc2




More information about the Openembedded-core mailing list