Thread (64 messages) 64 messages, 16 authors, 2021-07-23

Re: [PATCH 01/17] kallsyms: support big kernel symbols (2-byte lengths)

From: Matthew Wilcox <willy@infradead.org>
Date: 2021-07-04 21:05:42
Also in: linux-kbuild, lkml, rust-for-linux

On Sun, Jul 04, 2021 at 10:27:40PM +0200, ojeda@kernel.org wrote:
From: Miguel Ojeda <ojeda@kernel.org>

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, and therefore
we need to introduce 2-byte lengths to the symbol table. We call
these "big" symbols.

In order to avoid increasing all lengths to 2 bytes (since most
of them only require 1 byte, including many Rust ones), we use
length zero to mark "big" symbols in the table.
What happened to my suggestion from last time of encoding symbols < 128
as 0-127 and symbols larger than that as (data[0] - 128) * 256 +
data[1]) ?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help