Re: [PATCH v6 3/7] Adjust symbol ordering in text output section
From: Masahiro Yamada
Date: Fri Nov 01 2024 - 14:06:37 EST
On Sat, Oct 26, 2024 at 7:14 AM Rong Xu <xur@xxxxxxxxxx> wrote:
>
> When the -ffunction-sections compiler option is enabled, each function
> is placed in a separate section named .text.function_name rather than
> putting all functions in a single .text section.
>
> However, using -function-sections can cause problems with the
> linker script. The comments included in include/asm-generic/vmlinux.lds.h
> note these issues.:
> “TEXT_MAIN here will match .text.fixup and .text.unlikely if dead
> code elimination is enabled, so these sections should be converted
> to use ".." first.”
>
> It is unclear whether there is a straightforward method for converting
> a suffix to "..".
>
> This patch modifies the order of subsections within the text output
> section. Specifically, it repositions sections with certain fixed patterns
> (for example .text.unlikely) before TEXT_MAIN, ensuring that they are
> grouped and matched together. It also places .text.hot section at the
> beginning of a page to help the TLB performance.
The fixed patterns are currently listed in this order:
.text.hot, .text_unlikely, .text.unknown, .text.asan.
You reorder them to:
.text.asan, .text.unknown, .text.unlikely, .text.hot
I believe it is better to describe your thoughts
about the reshuffling among the fixed pattern sections.
Otherwise, It is unclear to me.
--
Best Regards
Masahiro Yamada