diff --git a/0001-Always-pass-4-arguments-to-init_disassemble_info-no-.patch b/0001-Always-pass-4-arguments-to-init_disassemble_info-no-.patch deleted file mode 100644 index 574caac..0000000 --- a/0001-Always-pass-4-arguments-to-init_disassemble_info-no-.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 7eb2db0d3f4290ad7e24a7ff8ad4b1a42628a6b4 Mon Sep 17 00:00:00 2001 -From: Robert Swiecki -Date: Thu, 2 Jun 2022 23:17:49 +0200 -Subject: [PATCH 1/3] Always pass 4 arguments to init_disassemble_info(), no - matter what's the declaration. binutils/libopcode offers an unstable - interface - ---- - linux/bfd.c | 23 +++++++++++++++++++++-- - 1 file changed, 21 insertions(+), 2 deletions(-) - -diff --git a/linux/bfd.c b/linux/bfd.c -index 69f4da5..986081e 100644 ---- a/linux/bfd.c -+++ b/linux/bfd.c -@@ -197,6 +197,24 @@ static int arch_bfdFPrintF(void* buf, const char* fmt, ...) { - return ret; - } - -+static int arch_bfdFPrintFStyled(void* buf, int style HF_ATTR_UNUSED, const char* fmt, ...) { -+ va_list args; -+ va_start(args, fmt); -+ int ret = util_vssnprintf(buf, _HF_INSTR_SZ, fmt, args); -+ va_end(args); -+ -+ return ret; -+} -+ -+/* -+ * binutils/libopcode has an unstable public interface. At some point in time the function -+ * init_disassemble_info() started taking 4 arguments instead of 3. Always pass 4 arguments to it, -+ * no matter what's the declaration. -+ */ -+static void arch_bfdInitDisassembleInfoStub( -+ struct disassemble_info* info, char* instr, void* bfd_printf_func, void* bfd_printf_styled_func) -+ __attribute__((weakref, alias("init_disassemble_info"))); -+ - void arch_bfdDisasm(pid_t pid, uint8_t* mem, size_t size, char* instr) { - MX_SCOPED_LOCK(&arch_bfd_mutex); - -@@ -227,8 +245,9 @@ void arch_bfdDisasm(pid_t pid, uint8_t* mem, size_t size, char* instr) { - return; - } - -- struct disassemble_info info; -- init_disassemble_info(&info, instr, arch_bfdFPrintF); -+ struct disassemble_info info = {}; -+ -+ arch_bfdInitDisassembleInfoStub(&info, instr, arch_bfdFPrintF, arch_bfdFPrintFStyled); - info.arch = bfd_get_arch(bfdh); - info.mach = bfd_get_mach(bfdh); - info.buffer = mem; --- -2.37.2 - diff --git a/0002-linux-bfd-use-DIAGNOSTIC_ERROR_SWITCH-define-to-figu.patch b/0002-linux-bfd-use-DIAGNOSTIC_ERROR_SWITCH-define-to-figu.patch deleted file mode 100644 index da2e1f0..0000000 --- a/0002-linux-bfd-use-DIAGNOSTIC_ERROR_SWITCH-define-to-figu.patch +++ /dev/null @@ -1,83 +0,0 @@ -From e35ef0db3e45516ea34ffc820f13ec462a6cff03 Mon Sep 17 00:00:00 2001 -From: Robert Swiecki -Date: Mon, 6 Jun 2022 18:01:41 +0200 -Subject: [PATCH 2/3] linux/bfd: use DIAGNOSTIC_ERROR_SWITCH define to figure - out if init_disassemble_info takes 3 or 4 arguments - ---- - linux/bfd.c | 31 +++++++++++++++++++------------ - 1 file changed, 19 insertions(+), 12 deletions(-) - -diff --git a/linux/bfd.c b/linux/bfd.c -index 986081e..e9d9c2b 100644 ---- a/linux/bfd.c -+++ b/linux/bfd.c -@@ -26,6 +26,7 @@ - #include "linux/bfd.h" - - #include -+#include - #include - #include - #include -@@ -61,7 +62,15 @@ typedef struct { - */ - #if defined(FOR_EACH_DISASSEMBLER_OPTION) - #define _HF_BFD_GE_2_29 --#endif -+#endif /* defined(FOR_EACH_DISASSEMBLER_OPTION) */ -+/* -+ * binutils/libopcode has an unstable public interface. At some point in time the function -+ * init_disassemble_info() started taking 4 arguments instead of 3. Try to differentiate on the -+ * basis of some defines which apeared around the same time. -+ */ -+#if defined(DIAGNOSTIC_ERROR_SWITCH) -+#define _HF_DISASM_4_ARGS -+#endif /* defined(DIAGNOSTIC_ERROR_SWITCH) */ - - static pthread_mutex_t arch_bfd_mutex = PTHREAD_MUTEX_INITIALIZER; - -@@ -197,7 +206,9 @@ static int arch_bfdFPrintF(void* buf, const char* fmt, ...) { - return ret; - } - --static int arch_bfdFPrintFStyled(void* buf, int style HF_ATTR_UNUSED, const char* fmt, ...) { -+#if defined(_HF_DISASM_4_ARGS) -+static int arch_bfdFPrintFStyled( -+ void* buf, enum disassembler_style style HF_ATTR_UNUSED, const char* fmt, ...) { - va_list args; - va_start(args, fmt); - int ret = util_vssnprintf(buf, _HF_INSTR_SZ, fmt, args); -@@ -205,15 +216,7 @@ static int arch_bfdFPrintFStyled(void* buf, int style HF_ATTR_UNUSED, const char - - return ret; - } -- --/* -- * binutils/libopcode has an unstable public interface. At some point in time the function -- * init_disassemble_info() started taking 4 arguments instead of 3. Always pass 4 arguments to it, -- * no matter what's the declaration. -- */ --static void arch_bfdInitDisassembleInfoStub( -- struct disassemble_info* info, char* instr, void* bfd_printf_func, void* bfd_printf_styled_func) -- __attribute__((weakref, alias("init_disassemble_info"))); -+#endif /* defined(_HF_DISASM_4_ARGS) */ - - void arch_bfdDisasm(pid_t pid, uint8_t* mem, size_t size, char* instr) { - MX_SCOPED_LOCK(&arch_bfd_mutex); -@@ -247,7 +250,11 @@ void arch_bfdDisasm(pid_t pid, uint8_t* mem, size_t size, char* instr) { - - struct disassemble_info info = {}; - -- arch_bfdInitDisassembleInfoStub(&info, instr, arch_bfdFPrintF, arch_bfdFPrintFStyled); -+#if defined(_HF_DISASM_4_ARGS) -+ init_disassemble_info(&info, instr, arch_bfdFPrintF, arch_bfdFPrintFStyled); -+#else /* defined(_HF_DISASM_4_ARGS) */ -+ init_disassemble_info(&info, instr, arch_bfdFPrintF); -+#endif /* defined(_HF_DISASM_4_ARGS) */ - info.arch = bfd_get_arch(bfdh); - info.mach = bfd_get_mach(bfdh); - info.buffer = mem; --- -2.37.2 - diff --git a/0003-linux-bfd-cover-include-diagnostics.h-with-__has_inc.patch b/0003-linux-bfd-cover-include-diagnostics.h-with-__has_inc.patch deleted file mode 100644 index c2e6a63..0000000 --- a/0003-linux-bfd-cover-include-diagnostics.h-with-__has_inc.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 6a757bb7a091d64b145d4e1a9b6c50f6b3ed51ea Mon Sep 17 00:00:00 2001 -From: Robert Swiecki -Date: Mon, 6 Jun 2022 18:11:28 +0200 -Subject: [PATCH 3/3] linux/bfd: cover #include with - __has_include, because it appeared in 2018 only - ---- - linux/bfd.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/linux/bfd.c b/linux/bfd.c -index e9d9c2b..adae590 100644 ---- a/linux/bfd.c -+++ b/linux/bfd.c -@@ -26,7 +26,11 @@ - #include "linux/bfd.h" - - #include -+#if defined __has_include -+#if __has_include() - #include -+#endif /* __has_include() */ -+#endif /* defined __has_include */ - #include - #include - #include --- -2.37.2 - diff --git a/honggfuzz-2.5.tar.gz b/honggfuzz-2.5.tar.gz deleted file mode 100644 index e2a0b2c..0000000 --- a/honggfuzz-2.5.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cf622a22c38ac895017b2dd396df2a007a0d3cf9fbb574c014ee0ded813285f6 -size 65224877 diff --git a/honggfuzz-2.6.tar.gz b/honggfuzz-2.6.tar.gz new file mode 100644 index 0000000..0d3c6aa --- /dev/null +++ b/honggfuzz-2.6.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0bac9de876f1ea60903672c944d82bcd5ce4bc25769a2e1ecee5159561b9ec03 +size 65227315 diff --git a/honggfuzz.changes b/honggfuzz.changes index 917b82c..37ca011 100644 --- a/honggfuzz.changes +++ b/honggfuzz.changes @@ -1,3 +1,20 @@ +------------------------------------------------------------------- +Tue Dec 19 09:03:08 UTC 2023 - Andrea Manzini + +- Update to 2.6: + * env NO_COLOR support + * fix problems with linux/bfd ```init_disassemble_info``` + * Support ```--exit_on_time``` + * ```strlcat``` supported in libhfuzz/memorycmp + * Some patches for MacOSX, sadly no support for ARM yet + * Improvement on Android and FreeBSD targets + * added missing ```add missing disassemble_free_target()``` + +- Dropped following patches as already included in upstream : + * 0001-Always-pass-4-arguments-to-init_disassemble_info-no-.patch + * 0002-linux-bfd-use-DIAGNOSTIC_ERROR_SWITCH-define-to-figu.patch + * 0003-linux-bfd-cover-include-diagnostics.h-with-__has_inc.patch + ------------------------------------------------------------------- Wed Mar 15 13:54:11 UTC 2023 - Martin Pluskal diff --git a/honggfuzz.spec b/honggfuzz.spec index e44915c..4a9bb80 100644 --- a/honggfuzz.spec +++ b/honggfuzz.spec @@ -17,17 +17,13 @@ Name: honggfuzz -Version: 2.5 +Version: 2.6 Release: 0 Summary: Security-oriented fuzzer with various analysis options License: Apache-2.0 Group: Development/Tools/Other URL: https://honggfuzz.com Source: https://github.com/google/honggfuzz/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz -# PATCH-FIX-UPSTREAM -- binutils compatibility changes -Patch0: 0001-Always-pass-4-arguments-to-init_disassemble_info-no-.patch -Patch1: 0002-linux-bfd-use-DIAGNOSTIC_ERROR_SWITCH-define-to-figu.patch -Patch2: 0003-linux-bfd-cover-include-diagnostics.h-with-__has_inc.patch BuildRequires: binutils-devel BuildRequires: libunwind-devel BuildRequires: libzstd-devel