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

From: tip-bot2 for Peter Zijlstra
Date: Wed Mar 09 2022 - 02:57:53 EST


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

Commit-ID: 01ddabda5a3e16eace6d61bcf1857eba8f015b13
Gitweb: https://git.kernel.org/tip/01ddabda5a3e16eace6d61bcf1857eba8f015b13
Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
AuthorDate: Tue, 08 Mar 2022 16:30:12 +01:00
Committer: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
CommitterDate: Tue, 08 Mar 2022 23:53:26 +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