summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Hatle <mark.hatle@windriver.com>2018-09-05 12:30:40 -0400
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-09-06 10:36:31 +0100
commit6b00b697cf2bc0a3615219d598798bb31cabe0b8 (patch)
tree3dc9053bd9e71e6df3590d69da67b36e77116b85
parentc756901cac2c94ec030c42b9570bfcb238ea7560 (diff)
downloadpoky-6b00b697cf2bc0a3615219d598798bb31cabe0b8.tar.gz
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 <raj.khem@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@windriver.com> * src/dso.c: use ehdr.e_shstrndx as index 2017-06-20 Andrew Stubbs <ams@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@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@gmail.com> * src/rtld/rtld.c: Add missing DT_NEEDED DSOs to needed_list (From OE-Core rev: 1f0568c6b8982f814f630193fb5114db489afcaf) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-devtools/prelink/prelink/0001-src-dso.c-use-ehdr.e_shstrndx-as-index.patch39
-rw-r--r--meta/recipes-devtools/prelink/prelink_git.bb5
2 files changed, 2 insertions, 42 deletions
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 @@
1From 107290910ff846532d944ddb78edda436bb6ae63 Mon Sep 17 00:00:00 2001
2From: Robert Yang <liezhi.yang@windriver.com>
3Date: Wed, 15 Aug 2018 17:53:43 +0800
4Subject: [PATCH] src/dso.c: use ehdr.e_shstrndx as index
5
6According to struct elf32_hd, the e_shnum is section header number, and the
7index is e_shstrndx, not e_shnum.
8
9This can fix segmention fault when handle libqb.so.0.18.2 from libqb_1.0.3.
10It fails to handle libqb.so.0.18.2 and get errors:
11Symbol section index outside of section numbers
12
13Then segmentation fault, this is because the e_shnum is 34, while e_shstrndx is
1427 (it would be 33 when no errors), I've checked several elf files to confirm
15that the ones after e_shstrndx is NULL, so use e_shstrndx should be correct.
16
17Upstream-Status: Submitted [https://lists.yoctoproject.org/pipermail/yocto/2018-August/042240.html]
18
19Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
20---
21 src/dso.c | 2 +-
22 1 file changed, 1 insertion(+), 1 deletion(-)
23
24diff --git a/src/dso.c b/src/dso.c
25index ae5e04d..c59d81f 100644
26--- a/src/dso.c
27+++ b/src/dso.c
28@@ -1659,7 +1659,7 @@ close_dso_1 (DSO *dso)
29 {
30 int i;
31
32- for (i = 1; i < dso->ehdr.e_shnum; ++i)
33+ for (i = 1; i < dso->ehdr.e_shstrndx; ++i)
34 {
35 Elf_Scn *scn = dso->scn[i];
36 Elf_Data *data = NULL;
37--
382.7.4
39
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 \
9runtime and thus programs come up faster." 9runtime and thus programs come up faster."
10LICENSE = "GPLv2" 10LICENSE = "GPLv2"
11LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b" 11LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b"
12SRCREV = "05aeafd053e56356ec8c62f4bb8f7b95bae192f3" 12SRCREV = "a853a5d715d84eec93aa68e8f2df26b7d860f5b2"
13PV = "1.0+git${SRCPV}" 13PV = "1.0+git${SRCPV}"
14 14
15# 15#
@@ -27,12 +27,11 @@ FILES_${PN}-cron = "${sysconfdir}/cron.daily ${sysconfdir}/default"
27 27
28PACKAGES =+ "${PN}-cron" 28PACKAGES =+ "${PN}-cron"
29 29
30SRC_URI = "git://git.yoctoproject.org/prelink-cross.git;branch=cross_prelink \ 30SRC_URI = "git://git.yoctoproject.org/prelink-cross.git;branch=cross_prelink_staging \
31 file://prelink.conf \ 31 file://prelink.conf \
32 file://prelink.cron.daily \ 32 file://prelink.cron.daily \
33 file://prelink.default \ 33 file://prelink.default \
34 file://macros.prelink \ 34 file://macros.prelink \
35 file://0001-src-dso.c-use-ehdr.e_shstrndx-as-index.patch \
36" 35"
37UPSTREAM_CHECK_COMMITS = "1" 36UPSTREAM_CHECK_COMMITS = "1"
38 37