[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250526185716.GU24938@noisy.programming.kicks-ass.net>
Date: Mon, 26 May 2025 20:57:16 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: Josh Poimboeuf <jpoimboe@...nel.org>
Cc: x86@...nel.org, linux-kernel@...r.kernel.org,
Petr Mladek <pmladek@...e.com>, Miroslav Benes <mbenes@...e.cz>,
Joe Lawrence <joe.lawrence@...hat.com>,
live-patching@...r.kernel.org, Song Liu <song@...nel.org>,
laokz <laokz@...mail.com>, Jiri Kosina <jikos@...nel.org>,
Marcos Paulo de Souza <mpdesouza@...e.com>,
Weinan Liu <wnliu@...gle.com>,
Fazla Mehrab <a.mehrab@...edance.com>,
Chen Zhongjin <chenzhongjin@...wei.com>,
Puranjay Mohan <puranjay@...nel.org>
Subject: Re: [PATCH v2 52/62] objtool/klp: Introduce klp diff subcommand for
diffing object files
On Fri, May 09, 2025 at 01:17:16PM -0700, Josh Poimboeuf wrote:
> diff --git a/tools/objtool/include/objtool/elf.h b/tools/objtool/include/objtool/elf.h
> index 4cfd09e66cb5..f62ac8081f27 100644
> --- a/tools/objtool/include/objtool/elf.h
> +++ b/tools/objtool/include/objtool/elf.h
> @@ -17,6 +17,7 @@
> #include <objtool/checksum_types.h>
> #include <arch/elf.h>
>
> +#define SEC_NAME_LEN 512
> #define SYM_NAME_LEN 512
>
> #ifdef LIBELF_USE_DEPRECATED
> @@ -50,10 +51,12 @@ struct section {
> bool _changed, text, rodata, noinstr, init, truncate;
> struct reloc *relocs;
> unsigned long nr_alloc_relocs;
> + struct section *twin;
> };
>
> struct symbol {
> struct list_head list;
> + struct list_head global_list;
> struct rb_node node;
> struct elf_hash_node hash;
> struct elf_hash_node name_hash;
> @@ -79,10 +82,13 @@ struct symbol {
> u8 cold : 1;
> u8 prefix : 1;
> u8 debug_checksum : 1;
> + u8 changed : 1;
> + u8 included : 1;
> struct list_head pv_target;
> struct reloc *relocs;
> struct section *group_sec;
> struct checksum csum;
> + struct symbol *twin, *clone;
> };
>
> struct reloc {
> @@ -100,6 +106,7 @@ struct elf {
> const char *name, *tmp_name;
> unsigned int num_files;
> struct list_head sections;
> + struct list_head symbols;
> unsigned long num_relocs;
>
> int symbol_bits;
ISTR us spending significant effort shrinking all this stuff. How does
this affect vmlinux.o memory footprint etc?
Powered by blists - more mailing lists