On Tue, Sep 27, 2022 at 03:14:35PM +0200, Miguel Ojeda wrote: > Rust symbols can become quite long due to namespacing introduced > by modules, types, traits, generics, etc. > > Increasing to 255 is not enough in some cases, therefore > introduce longer lengths to the symbol table. > > In order to avoid increasing all lengths to 2 bytes (since most > of them are small, including many Rust ones), use ULEB128 to > keep smaller symbols in 1 byte, with the rest in 2 bytes. > > Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> > Co-developed-by: Alex Gaynor <alex.gaynor@xxxxxxxxx> > Signed-off-by: Alex Gaynor <alex.gaynor@xxxxxxxxx> > Co-developed-by: Wedson Almeida Filho <wedsonaf@xxxxxxxxxx> > Signed-off-by: Wedson Almeida Filho <wedsonaf@xxxxxxxxxx> > Co-developed-by: Gary Guo <gary@xxxxxxxxxxx> > Signed-off-by: Gary Guo <gary@xxxxxxxxxxx> > Co-developed-by: Boqun Feng <boqun.feng@xxxxxxxxx> > Signed-off-by: Boqun Feng <boqun.feng@xxxxxxxxx> > Co-developed-by: Matthew Wilcox <willy@xxxxxxxxxxxxx> > Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxx> > Signed-off-by: Miguel Ojeda <ojeda@xxxxxxxxxx> > Reviewed-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > --- > kernel/kallsyms.c | 26 ++++++++++++++++++++++---- > scripts/kallsyms.c | 29 ++++++++++++++++++++++++++--- > 2 files changed, 48 insertions(+), 7 deletions(-) > This patch results in the following spurious build error. Building powerpc:allnoconfig ... failed -------------- Error log: Inconsistent kallsyms data Try make KALLSYMS_EXTRA_PASS=1 as a workaround Symbol file differences: 10c10 < 00009720 g .rodata 00000000 kallsyms_relative_base --- > 0000971c g .rodata 00000000 kallsyms_relative_base 12,16c12,16 < 00009724 g .rodata 00000000 kallsyms_num_syms < 00009728 g .rodata 00000000 kallsyms_names < 00022628 g .rodata 00000000 kallsyms_markers < 000226c0 g .rodata 00000000 kallsyms_token_table < 00022a2c g .rodata 00000000 kallsyms_token_index --- > 00009720 g .rodata 00000000 kallsyms_num_syms > 00009724 g .rodata 00000000 kallsyms_names > 00022618 g .rodata 00000000 kallsyms_markers > 000226b0 g .rodata 00000000 kallsyms_token_table > 00022a1c g .rodata 00000000 kallsyms_token_index This is the only difference. There are no additional symbols. Reverting this patch fixes the problem. Guenter