mirror of
https://git.yoctoproject.org/poky
synced 2026-05-30 12:29:55 +00:00
prelink: upgrade to latest revision (in the cross_prelink branch)
(From OE-Core rev: 9cb9e9146506cc24916add986eac8b05db934546) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
fe9f6d01cf
commit
de46026b3a
-51
@@ -1,51 +0,0 @@
|
|||||||
From 2136969e3e196b9cf7f4788340efa4b1d9b39565 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Robert Yang <liezhi.yang@windriver.com>
|
|
||||||
Date: Thu, 11 Oct 2018 10:05:52 +0800
|
|
||||||
Subject: [PATCH] src/arch-mips.c: check info->resolvetls before use its member
|
|
||||||
|
|
||||||
The info->resolvetls might be NULL according to src/prelink.c:
|
|
||||||
[snip]
|
|
||||||
/* Dynamic linker does not depend on any other library,
|
|
||||||
all symbols resolve to themselves with the exception
|
|
||||||
of SHN_UNDEF symbols which resolve to 0. */
|
|
||||||
if (info->symtab[r_sym].st_shndx == SHN_UNDEF)
|
|
||||||
{
|
|
||||||
info->resolveent = NULL;
|
|
||||||
info->resolvetls = NULL;
|
|
||||||
[snip]
|
|
||||||
|
|
||||||
So we must check it before use its members, otherwise, there might be
|
|
||||||
Segmentation fault error.
|
|
||||||
|
|
||||||
Fixed:
|
|
||||||
MACHINE = "qemumips"
|
|
||||||
IMAGE_INSTALL_append = " qemu"
|
|
||||||
$ bitbake core-image-minimal
|
|
||||||
[snip]
|
|
||||||
| /path/to/qemumips-poky-linux/core-image-minimal/1.0-r0/temp/run.prelink_image.1000: line 111: 1010 Segmentation fault (core dumped)
|
|
||||||
[snip]
|
|
||||||
|
|
||||||
Upstream-Status: Submitted [https://lists.yoctoproject.org/pipermail/yocto/2018-October/042812.html]
|
|
||||||
|
|
||||||
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
|
|
||||||
---
|
|
||||||
src/arch-mips.c | 3 ++-
|
|
||||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/src/arch-mips.c b/src/arch-mips.c
|
|
||||||
index ccb1834..02c608f 100644
|
|
||||||
--- a/src/arch-mips.c
|
|
||||||
+++ b/src/arch-mips.c
|
|
||||||
@@ -567,7 +567,8 @@ mips_prelink_reloc (struct prelink_info *info, GElf_Addr r_offset,
|
|
||||||
if (dso->ehdr.e_type == ET_EXEC)
|
|
||||||
{
|
|
||||||
value = info->resolve (info, r_sym, r_type);
|
|
||||||
- value += info->resolvetls->offset - TLS_TP_OFFSET;
|
|
||||||
+ if (info->resolvetls != NULL)
|
|
||||||
+ value += info->resolvetls->offset - TLS_TP_OFFSET;
|
|
||||||
if (r_type == R_MIPS_TLS_TPREL32)
|
|
||||||
mips_prelink_32bit_reloc (dso, rela, value);
|
|
||||||
else
|
|
||||||
--
|
|
||||||
2.7.4
|
|
||||||
|
|
||||||
@@ -9,7 +9,7 @@ and executables, so that far fewer relocations need to be resolved at \
|
|||||||
runtime and thus programs come up faster."
|
runtime and thus programs come up faster."
|
||||||
LICENSE = "GPLv2"
|
LICENSE = "GPLv2"
|
||||||
LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b"
|
LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b"
|
||||||
SRCREV = "a853a5d715d84eec93aa68e8f2df26b7d860f5b2"
|
SRCREV = "f9975537dbfd9ade0fc813bd5cf5fcbe41753a37"
|
||||||
PV = "1.0+git${SRCPV}"
|
PV = "1.0+git${SRCPV}"
|
||||||
|
|
||||||
#
|
#
|
||||||
@@ -32,8 +32,7 @@ SRC_URI = "git://git.yoctoproject.org/prelink-cross.git;branch=cross_prelink_sta
|
|||||||
file://prelink.cron.daily \
|
file://prelink.cron.daily \
|
||||||
file://prelink.default \
|
file://prelink.default \
|
||||||
file://macros.prelink \
|
file://macros.prelink \
|
||||||
file://0001-src-arch-mips.c-check-info-resolvetls-before-use-its.patch \
|
"
|
||||||
"
|
|
||||||
UPSTREAM_CHECK_COMMITS = "1"
|
UPSTREAM_CHECK_COMMITS = "1"
|
||||||
|
|
||||||
# error: error.h: No such file or directory
|
# error: error.h: No such file or directory
|
||||||
|
|||||||
Reference in New Issue
Block a user