1
0
mirror of https://git.yoctoproject.org/poky synced 2026-05-08 17:19:20 +00:00

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>
This commit is contained in:
Mark Hatle
2018-09-05 12:30:40 -04:00
committed by Richard Purdie
parent c756901cac
commit 6b00b697cf
2 changed files with 2 additions and 42 deletions
@@ -1,39 +0,0 @@
From 107290910ff846532d944ddb78edda436bb6ae63 Mon Sep 17 00:00:00 2001
From: Robert Yang <liezhi.yang@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@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
+2 -3
View File
@@ -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"