jit_disasm: Add support for new binutils 2.38 - lightning.git - Portable just-in-time compiler library

index : lightning.git
Portable just-in-time compiler library
summary refs log tree commit diff
path: root/lib/jit_disasm.c
diff options
context:
space:
mode:
authorPaul Cercueil <paul@crapouillou.net>2022年09月10日 10:29:26 +0100
committerpcpa <paulo.cesar.pereira.de.andrade@gmail.com>2022年09月10日 07:18:26 -0300
commit837c7a1e8d08fb9294578dc84694077f4d6106f9 (patch)
tree73a0042334cb479680990f5843033e783b62f5b2 /lib/jit_disasm.c
parent11ddc2becfb5fcdc1370d0ce4aa51dc74c772f1f (diff)
downloadlightning-837c7a1e8d08fb9294578dc84694077f4d6106f9.tar.gz
jit_disasm: Add support for new binutils 2.38
The INIT_DISASSEMBLE_INFO() macro changed starting from binutils 2.38. Update the configure script to auto-detect the binutils version and use the right format. Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Diffstat (limited to 'lib/jit_disasm.c')
-rw-r--r--lib/jit_disasm.c 19
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/jit_disasm.c b/lib/jit_disasm.c
index b2ceba0..d61ba47 100644
--- a/lib/jit_disasm.c
+++ b/lib/jit_disasm.c
@@ -53,6 +53,20 @@ static jit_state_t *disasm_jit;
static FILE *disasm_stream;
#endif
+#if BINUTILS_2_38
+static int fprintf_styled(void *, enum disassembler_style, const char* fmt, ...)
+{
+ va_list args;
+ int r;
+
+ va_start(args, fmt);
+ r = vprintf(fmt, args);
+ va_end(args);
+
+ return r;
+}
+#endif
+
/*
* Implementation
*/
@@ -76,7 +90,12 @@ jit_init_debug(const char *progname)
bfd_check_format(disasm_bfd, bfd_archive);
if (!disasm_stream)
disasm_stream = stderr;
+
+#if BINUTILS_2_38
+ INIT_DISASSEMBLE_INFO(disasm_info, disasm_stream, fprintf, fprintf_styled);
+#else
INIT_DISASSEMBLE_INFO(disasm_info, disasm_stream, fprintf);
+#endif
disasm_info.arch = bfd_get_arch(disasm_bfd);
disasm_info.mach = bfd_get_mach(disasm_bfd);
generated by cgit v1.2.3 (git 2.39.1) at 2025年09月27日 12:15:42 +0000

AltStyle によって変換されたページ (->オリジナル) /