Hi, On Wed, 7 Aug 2024, Song Liu wrote: > With CONFIG_LTO_CLANG, the compiler/linker adds .llvm.<hash> suffix to > local symbols to avoid duplications. Existing scripts/kallsyms sorts > symbols without .llvm.<hash> suffix. However, this causes quite some > issues later on. Some users of kallsyms, such as livepatch, have to match > symbols exactly. > > Address this by sorting full symbols at build time, and let kallsyms > lookup APIs to match the symbols exactly. > > Changes v2 => v3: > 1. Remove the _without_suffix APIs, as kprobe will not use them. > (Masami Hiramatsu) > > v2: https://lore.kernel.org/live-patching/20240802210836.2210140-1-song@xxxxxxxxxx/T/#u > > Changes v1 => v2: > 1. Update the APIs to remove all .XXX suffixes (v1 only removes .llvm.*). > 2. Rename the APIs as *_without_suffix. (Masami Hiramatsu) > 3. Fix another user from kprobe. (Masami Hiramatsu) > 4. Add tests for the new APIs in kallsyms_selftests. > > v1: https://lore.kernel.org/live-patching/20240730005433.3559731-1-song@xxxxxxxxxx/T/#u > > Song Liu (2): > kallsyms: Do not cleanup .llvm.<hash> suffix before sorting symbols > kallsyms: Match symbols exactly with CONFIG_LTO_CLANG > > kernel/kallsyms.c | 55 +++++--------------------------------- > kernel/kallsyms_selftest.c | 22 +-------------- > scripts/kallsyms.c | 31 ++------------------- > scripts/link-vmlinux.sh | 4 --- > 4 files changed, 9 insertions(+), 103 deletions(-) I was on holiday most of August and the patch set has been merged but let me at least add Acked-by: Miroslav Benes <mbenes@xxxxxxx> here since I participated in the discussion at the beginning. Thank you for cleaning it up! Miroslav