commit:     7a7ae297c5ad2ebaa8bd77398dcf5f3c8f48d5fa
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Sun Feb  2 11:28:11 2020 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Sun Feb  2 11:28:57 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7a7ae297

app-forensics/honggfuzz: tweak for binutils-2.34, bug #707846

Reported-by: Toralf Förster
Closes: https://bugs.gentoo.org/707846
Package-Manager: Portage-2.3.87, Repoman-2.3.20
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>

 .../files/honggfuzz-2.0-binutils-2.34.patch        | 22 ++++++++++++++++++++++
 app-forensics/honggfuzz/honggfuzz-2.0.ebuild       | 10 +++++++++-
 2 files changed, 31 insertions(+), 1 deletion(-)

diff --git a/app-forensics/honggfuzz/files/honggfuzz-2.0-binutils-2.34.patch 
b/app-forensics/honggfuzz/files/honggfuzz-2.0-binutils-2.34.patch
new file mode 100644
index 00000000000..45da65c1c6d
--- /dev/null
+++ b/app-forensics/honggfuzz/files/honggfuzz-2.0-binutils-2.34.patch
@@ -0,0 +1,22 @@
+--- a/linux/bfd.c
++++ b/linux/bfd.c
+@@ -122,8 +122,8 @@ void arch_bfdDemangle(funcs_t* funcs, size_t funcCnt) {
+ 
+ static struct bfd_section* arch_getSectionForPc(bfd* bfdh, uint64_t pc) {
+     for (struct bfd_section* section = bfdh->sections; section; section = 
section->next) {
+-        uintptr_t vma = (uintptr_t)bfd_get_section_vma(bfdh, section);
+-        uintptr_t sz = (uintptr_t)bfd_get_section_size(section);
++        uintptr_t vma = (uintptr_t)bfd_section_vma(section);
++        uintptr_t sz = (uintptr_t)bfd_section_size(section);
+         if ((pc > vma) && (pc < (vma + sz))) {
+             return section;
+         }
+@@ -160,7 +160,7 @@ void arch_bfdResolveSyms(pid_t pid, funcs_t* funcs, size_t 
num) {
+             continue;
+         }
+ 
+-        long sec_offset = (long)funcs[i].pc - 
bfd_get_section_vma(bfdParams.bfdh, section);
++        long sec_offset = (long)funcs[i].pc - bfd_section_vma(section);
+ 
+         if (bfd_find_nearest_line(
+                 bfdParams.bfdh, section, bfdParams.syms, sec_offset, &file, 
&func, &line) == TRUE) {

diff --git a/app-forensics/honggfuzz/honggfuzz-2.0.ebuild 
b/app-forensics/honggfuzz/honggfuzz-2.0.ebuild
index f486d019eb3..f58c1b9e7c8 100644
--- a/app-forensics/honggfuzz/honggfuzz-2.0.ebuild
+++ b/app-forensics/honggfuzz/honggfuzz-2.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=7
@@ -33,6 +33,14 @@ PATCHES=(
        "${FILESDIR}"/${PN}-1.1-binutils-2.29.patch
 )
 
+src_prepare() {
+       default
+
+       if has_version ">=sys-libs/binutils-libs-2.34"; then
+               eapply "${FILESDIR}"/${PN}-2.0-binutils-2.34.patch
+       fi
+}
+
 src_compile() {
        CC="$(tc-getCC)" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" emake
 }

Reply via email to