mirror of
https://github.com/torvalds/linux.git
synced 2026-03-14 03:16:14 +01:00
When __elf_create_symbol creates a local symbol, it relocates the first global symbol upwards to make space. Subsequently, elf_update_symbol() is called to refresh the symbol table section. However, this isn't sufficient, as other sections might have the reference to the old symbol index, for instance, the sh_info field of an SHT_GROUP section. This patch updates the `sh_info` field when necessary. This field serves as the key for the COMDAT group. An incorrect key would prevent the linker's from deduplicating COMDAT symbols, leading to duplicate definitions in the final link. Signed-off-by: Rong Xu <xur@google.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Link: https://lkml.kernel.org/r/20250425200541.113015-1-xur@google.com |
||
|---|---|---|
| .. | ||
| arch | ||
| Documentation | ||
| include/objtool | ||
| .gitignore | ||
| Build | ||
| builtin-check.c | ||
| check.c | ||
| elf.c | ||
| Makefile | ||
| noreturns.h | ||
| objtool.c | ||
| orc_dump.c | ||
| orc_gen.c | ||
| special.c | ||
| sync-check.sh | ||
| weak.c | ||