Commit 21a899f9 authored by Thomas Weißschuh's avatar Thomas Weißschuh Committed by Josh Poimboeuf
Browse files

objtool: Optimize layout of struct symbol



Reduce the size of struct symbol on x86_64 from 208 to 200 bytes.
This structure is allocated a lot and never freed.

This reduces maximum memory usage while processing vmlinux.o from
2919716 KB to 2917988 KB (-0.5%) on my notebooks "localmodconfig".

Signed-off-by: default avatarThomas Weißschuh <linux@weissschuh.net>
Link: https://lore.kernel.org/r/20221216-objtool-memory-v2-6-17968f85a464@weissschuh.net


Signed-off-by: default avatarJosh Poimboeuf <jpoimboe@kernel.org>
parent 8045b8f0
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -50,12 +50,11 @@ struct symbol {
	GElf_Sym sym;
	struct section *sec;
	char *name;
	unsigned int idx;
	unsigned char bind, type;
	unsigned int idx, len;
	unsigned long offset;
	unsigned int len;
	unsigned long __subtree_last;
	struct symbol *pfunc, *cfunc, *alias;
	unsigned char bind, type;
	u8 uaccess_safe      : 1;
	u8 static_call_tramp : 1;
	u8 retpoline_thunk   : 1;