Re: [PATCH] bpf: bpftool: convert âconst char *â type into 'char *' in assignment

From: Quentin Monnet
Date: Thu Mar 28 2019 - 11:58:19 EST


2019-03-28 15:08 UTC+0000 ~ David Laight <David.Laight@xxxxxxxxxx>
> From: Quentin Monnet
>> Sent: 28 March 2019 14:31
>> 2019-03-28 10:16 UTC-0400 ~ Bo YU <tsu.yubo@xxxxxxxxx>
>>> When compiling with check flag: make -C tools/bpf/bpftool/
>>> gcc will warning:
>>>
>>> jit_disasm.c:119:29: warning: assignment discards âconstâ qualifier from
>>> pointer target type [-Wdiscarded-qualifiers]
>>> Â info.disassembler_options = disassembler_options;
>>>
>>> So convert 'const char *' type into 'char *' to fix the warning.
>>>
> ...
>>> --- a/tools/bpf/bpftool/jit_disasm.c
>>> +++ b/tools/bpf/bpftool/jit_disasm.c
>>> @@ -116,7 +116,7 @@ void disasm_print_insn(unsigned char *image, ssize_t
>>> len, int opcodes,
>>> ÂÂÂÂinfo.arch = bfd_get_arch(bfdf);
>>> ÂÂÂÂinfo.mach = bfd_get_mach(bfdf);
>>> ÂÂÂÂif (disassembler_options)
>>> -ÂÂÂÂÂÂÂ info.disassembler_options = disassembler_options;
>>> +ÂÂÂÂÂÂÂ info.disassembler_options = (char *)disassembler_options;
>>> ÂÂÂÂinfo.buffer = image;
>>> ÂÂÂÂinfo.buffer_length = len;
>
> At some point someone may decide to build with -Wcast-const
> at which point you've just generated a different error.
>
> The (probably) correct fix is to make info.disassempler_options 'const char *'.
>
> David
>

Which is what this binutils commit I cited does :)

Quentin