[tip: x86/core] static_call: Avoid building empty .static_call_sites

From: tip-bot2 for Peter Zijlstra
Date: Tue Mar 15 2022 - 06:48:46 EST


The following commit has been merged into the x86/core branch of tip:

Commit-ID: b44544fe0298ee2224960a31f795e317029e2a60
Gitweb: https://git.kernel.org/tip/b44544fe0298ee2224960a31f795e317029e2a60
Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
AuthorDate: Tue, 08 Mar 2022 16:30:12 +01:00
Committer: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
CommitterDate: Tue, 15 Mar 2022 10:32:31 +01:00

static_call: Avoid building empty .static_call_sites

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@xxxxxxxxxxxxx>
Acked-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
Link: https://lore.kernel.org/r/20220308154317.223798256@xxxxxxxxxxxxx
---
include/asm-generic/vmlinux.lds.h | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
index 42f3866..a41e623 100644
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -404,6 +404,7 @@
KEEP(*(__jump_table)) \
__stop___jump_table = .;

+#ifdef CONFIG_HAVE_STATIC_CALL_INLINE
#define STATIC_CALL_DATA \
. = ALIGN(8); \
__start_static_call_sites = .; \
@@ -412,6 +413,9 @@
__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