From: Vladimir Mezentsev Date: Thu, 7 Apr 2022 07:15:55 +0000 (-0700) Subject: gprofng: fprintf_styled_func not inizialized for disassembler X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9f184a64f51b00fd5c208c8528f6a553f5b27c1c;p=binutils-gdb.git gprofng: fprintf_styled_func not inizialized for disassembler gprofng/ChangeLog 2022-04-07 Vladimir Mezentsev * libcollector/unwind.c: inizialize fprintf_styled_func. * src/Disasm.cc: Likewise. --- diff --git a/gprofng/libcollector/unwind.c b/gprofng/libcollector/unwind.c index ffb06f938f3..f309c54bd33 100644 --- a/gprofng/libcollector/unwind.c +++ b/gprofng/libcollector/unwind.c @@ -120,6 +120,14 @@ fprintf_func (void *arg ATTRIBUTE_UNUSED, const char *fmt ATTRIBUTE_UNUSED, ...) return 0; } +static int +fprintf_styled_func (void *arg ATTRIBUTE_UNUSED, + enum disassembler_style st ATTRIBUTE_UNUSED, + const char *fmt ATTRIBUTE_UNUSED, ...) +{ + return 0; +} + /* Get LENGTH bytes from info's buffer, at target address memaddr. Transfer them to myaddr. */ static int @@ -4347,6 +4355,7 @@ parse_x86_AVX_instruction (unsigned char *pc) dis_info.octets_per_byte = 1; dis_info.disassembler_needs_relocs = FALSE; dis_info.fprintf_func = fprintf_func; + dis_info.fprintf_styled_func = fprintf_styled_func; dis_info.stream = NULL; dis_info.disassembler_options = NULL; dis_info.read_memory_func = read_memory_func; diff --git a/gprofng/src/Disasm.cc b/gprofng/src/Disasm.cc index 0fec9c3c76a..a5cca13950f 100644 --- a/gprofng/src/Disasm.cc +++ b/gprofng/src/Disasm.cc @@ -88,6 +88,21 @@ fprintf_func (void *arg, const char *fmt, ...) return cnt; } +static int +fprintf_styled_func (void *arg, enum disassembler_style st ATTRIBUTE_UNUSED, + const char *fmt, ...) +{ + char buf[512]; + va_list vp; + va_start (vp, fmt); + int cnt = vsnprintf (buf, sizeof (buf), fmt, vp); + va_end (vp); + + Disasm *dis = (Disasm *) arg; + dis->dis_str->append (buf); + return cnt; +} + /* Get LENGTH bytes from info's buffer, at target address memaddr. Transfer them to myaddr. */ static int @@ -165,6 +180,7 @@ Disasm::disasm_open () dis_info.octets_per_byte = 1; dis_info.disassembler_needs_relocs = FALSE; dis_info.fprintf_func = fprintf_func; + dis_info.fprintf_styled_func = fprintf_styled_func; dis_info.stream = this; dis_info.disassembler_options = NULL; dis_info.read_memory_func = read_memory_func;