Messages in this thread | ![/](/images/icornerl.gif) | | Date | Wed, 25 Jan 2023 12:30:41 +0100 | From | Ingo Molnar <> | Subject | Re: [PATCH] x86/insn_decoder_test: allow longer symbol-names |
| |
* David Rheinsberg <david@readahead.eu> wrote:
> Increase the allowed line-length of the insn-decoder-test to 4k to allow > for symbol-names longer than 256 characters. > > The insn-decoder-test takes objdump output as input, which may contain > symbol-names as instruction arguments. With rust-code entering the > kernel, those symbol-names will include mangled-symbols which might > exceed the current line-length-limit of the tool. > > By bumping the line-length-limit of the tool to 4k, we get a reasonable > buffer for all objdump outputs I have seen so far. Unfortunately, ELF > symbol-names are not restricted in length, so technically this might > still end up failing if we encounter longer names in the future. > > My compile-failure looks like this: > > arch/x86/tools/insn_decoder_test: error: malformed line 1152000: > tBb_+0xf2> > > ..which overflowed by 10 characters reading this line: > > ffffffff81458193: 74 3d je ffffffff814581d2 <_RNvXse_NtNtNtCshGpAVYOtgW1_4core4iter8adapters7flattenINtB5_13FlattenCompatINtNtB7_3map3MapNtNtNtBb_3str4iter5CharsNtB1v_17CharEscapeDefaultENtNtBb_4char13EscapeDefaultENtNtBb_3fmt5Debug3fmtBb_+0xf2> > > Signed-off-by: David Rheinsberg <david@readahead.eu> > --- > arch/x86/tools/insn_decoder_test.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/x86/tools/insn_decoder_test.c b/arch/x86/tools/insn_decoder_test.c > index 472540aeabc2..366e07546344 100644 > --- a/arch/x86/tools/insn_decoder_test.c > +++ b/arch/x86/tools/insn_decoder_test.c > @@ -106,7 +106,7 @@ static void parse_args(int argc, char **argv) > } > } > > -#define BUFSIZE 256 > +#define BUFSIZE 4096
That hard-coded constant is a bit lame and will cause trouble the minute *that* size is exceeded - don't we have some more natural figure, such as KSYM_SYMBOL_LEN?
Thanks,
Ingo
| ![\](/images/icornerr.gif) |