On Thu, Jun 26, 2025 at 04:55:32PM -0700, Josh Poimboeuf wrote:
> In preparation for the objtool klp diff subcommand, define the entry
> size for the .static_call_sites section in its ELF header.  This will
> allow tooling to extract individual entries.
> 
> Signed-off-by: Josh Poimboeuf <jpoim...@kernel.org>
> ---
>  arch/x86/include/asm/static_call.h      |  3 ++-
>  include/linux/static_call.h             |  6 ------
>  include/linux/static_call_types.h       |  6 ++++++
>  kernel/bounds.c                         |  4 ++++
>  tools/include/linux/static_call_types.h |  6 ++++++
>  tools/objtool/check.c                   | 11 +++++++++--
>  6 files changed, 27 insertions(+), 9 deletions(-)
> 
> diff --git a/arch/x86/include/asm/static_call.h 
> b/arch/x86/include/asm/static_call.h
> index 41502bd2afd6..e03ad9bbbf59 100644
> --- a/arch/x86/include/asm/static_call.h
> +++ b/arch/x86/include/asm/static_call.h
> @@ -58,7 +58,8 @@
>       ARCH_DEFINE_STATIC_CALL_TRAMP(name, __static_call_return0)
>  
>  #define ARCH_ADD_TRAMP_KEY(name)                                     \
> -     asm(".pushsection .static_call_tramp_key, \"a\"         \n"     \
> +     asm(".pushsection .static_call_tramp_key, \"aM\", @progbits, "  \
> +         __stringify(STATIC_CALL_TRAMP_KEY_SIZE) "\n"                \

More horrifically confusing indenting.

>           ".long " STATIC_CALL_TRAMP_STR(name) " - .          \n"     \
>           ".long " STATIC_CALL_KEY_STR(name) " - .            \n"     \
>           ".popsection                                        \n")

Reply via email to