patchelf: Add patch to handle large files

There were "maximum size exceeded" errors from patchelf when processing
qemu-native. There is an issue open for this upstream, add a patch
proposed there for this issue. "32" was increased to "64" to handle our
qemu-ppc binary.

(From OE-Core rev: 79d320544202d719eeb5affd9b687505dcd9b725)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie 2016-02-04 08:31:07 +00:00
parent bbdbe00c2a
commit 576a248b46
2 changed files with 32 additions and 1 deletions

View File

@ -0,0 +1,30 @@
From f6886c2c33a1cf8771163919f3d20f6340c0ce38 Mon Sep 17 00:00:00 2001
From: Eelco Dolstra <eelco.dolstra@logicblox.com>
Date: Fri, 10 Jul 2015 18:12:37 +0200
Subject: [PATCH] Quick fix for #47
https://github.com/NixOS/patchelf/issues/47
Avoid issues with holes in binaries such as qemu-pcc from qemu-native.
Upstream-Status: Submitted
RP
2016/2/3
---
src/patchelf.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/patchelf.cc b/src/patchelf.cc
index 8566ed9..df75593 100644
--- a/src/patchelf.cc
+++ b/src/patchelf.cc
@@ -248,7 +248,7 @@ static void readFile(string fileName, mode_t * fileMode)
if (stat(fileName.c_str(), &st) != 0) error("stat");
fileSize = st.st_size;
*fileMode = st.st_mode;
- maxSize = fileSize + 8 * 1024 * 1024;
+ maxSize = fileSize + 64 * 1024 * 1024;
contents = (unsigned char *) malloc(fileSize + maxSize);
if (!contents) abort();

View File

@ -1,4 +1,5 @@
SRC_URI = "http://nixos.org/releases/${BPN}/${BPN}-${PV}/${BPN}-${PV}.tar.bz2"
SRC_URI = "http://nixos.org/releases/${BPN}/${BPN}-${PV}/${BPN}-${PV}.tar.bz2 \
file://maxsize.patch"
LICENSE = "GPLv3"
SUMMARY = "Tool to allow editing of RPATH and interpreter fields in ELF binaries"