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

From: David Laight
Date: Thu Mar 28 2019 - 11:07:55 EST


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

-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)