46 lines
1.8 KiB
Diff
46 lines
1.8 KiB
Diff
From 2c26fd36ffb4bed4d55f9c7ba8d4f22db093eba2 Mon Sep 17 00:00:00 2001
|
|
From: David Rheinsberg <david@readahead.eu>
|
|
Date: Tue, 24 Jan 2023 12:04:59 +0100
|
|
Subject: x86/insn_decoder_test: allow longer symbol-names
|
|
|
|
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>
|
|
Signed-off-by: Scott Weaver <scweaver@redhat.com>
|
|
Cherry-picked-for: https://gitlab.archlinux.org/archlinux/packaging/packages/linux/-/issues/63
|
|
---
|
|
arch/x86/tools/insn_decoder_test.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
--- 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 **
|
|
}
|
|
}
|
|
|
|
-#define BUFSIZE 256
|
|
+#define BUFSIZE 4096
|
|
|
|
int main(int argc, char **argv)
|
|
{
|