static_call: Avoid building empty .static_call_sites
authorPeter Zijlstra <peterz@infradead.org>
Tue, 8 Mar 2022 15:30:12 +0000 (16:30 +0100)
committerPeter Zijlstra <peterz@infradead.org>
Tue, 15 Mar 2022 09:32:31 +0000 (10:32 +0100)
Without CONFIG_HAVE_STATIC_CALL_INLINE there's no point in creating
the .static_call_sites section and it's related symbols.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Josh Poimboeuf <jpoimboe@redhat.com>
Link: https://lore.kernel.org/r/20220308154317.223798256@infradead.org
include/asm-generic/vmlinux.lds.h

index 42f3866..a41e623 100644 (file)
        KEEP(*(__jump_table))                                           \
        __stop___jump_table = .;
 
+#ifdef CONFIG_HAVE_STATIC_CALL_INLINE
 #define STATIC_CALL_DATA                                               \
        . = ALIGN(8);                                                   \
        __start_static_call_sites = .;                                  \
        __start_static_call_tramp_key = .;                              \
        KEEP(*(.static_call_tramp_key))                                 \
        __stop_static_call_tramp_key = .;
+#else
+#define STATIC_CALL_DATA
+#endif
 
 /*
  * Allow architectures to handle ro_after_init data on their