diff options
author | Josh Poimboeuf <jpoimboe@kernel.org> | 2023-05-30 10:21:10 -0700 |
---|---|---|
committer | Josh Poimboeuf <jpoimboe@kernel.org> | 2023-06-07 10:03:25 -0700 |
commit | 890f10a433f51f95eccaec13d46dde769ccc113b (patch) | |
tree | e432aa71f46e517b431b879548cee3926cc40b24 /tools/objtool/include | |
parent | objtool: Get rid of reloc->jump_table_start (diff) | |
download | wireguard-linux-890f10a433f51f95eccaec13d46dde769ccc113b.tar.xz wireguard-linux-890f10a433f51f95eccaec13d46dde769ccc113b.zip |
objtool: Shrink reloc->sym_reloc_entry
Convert it to a singly-linked list.
With allyesconfig + CONFIG_DEBUG_INFO:
- Before: peak heap memory consumption: 38.64G
- After: peak heap memory consumption: 36.89G
Link: https://lore.kernel.org/r/a51f0a6f9bbf2494d5a3a449807307e78a940988.1685464332.git.jpoimboe@kernel.org
Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org>
Diffstat (limited to 'tools/objtool/include')
-rw-r--r-- | tools/objtool/include/objtool/elf.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/tools/objtool/include/objtool/elf.h b/tools/objtool/include/objtool/elf.h index 60686f746c9e..7b808ac3156c 100644 --- a/tools/objtool/include/objtool/elf.h +++ b/tools/objtool/include/objtool/elf.h @@ -63,7 +63,7 @@ struct symbol { u8 profiling_func : 1; u8 warned : 1; struct list_head pv_target; - struct list_head reloc_list; + struct reloc *relocs; }; struct reloc { @@ -74,7 +74,7 @@ struct reloc { }; struct section *sec; struct symbol *sym; - struct list_head sym_reloc_entry; + struct reloc *sym_next_reloc; }; struct elf { |