-rw-r--r-- | lib/jit_disasm.c | 19 |
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); |