init/modpost: conditionally check section mismatch to __meminit*
This reverts commit eb8f689046 ("Use separate sections for __dev/
_cpu/__mem code/data").
Check section mismatch to __meminit* only when CONFIG_MEMORY_HOTPLUG=n.
With this change, the linker script and modpost become simpler, and we
can get rid of the __ref annotations from the memory hotplug code.
[sfr@canb.auug.org.au: remove MEM_KEEP from arch/powerpc/kernel/vmlinux.lds.S]
Link: https://lkml.kernel.org/r/20240710093213.2aefb25f@canb.auug.org.au
Link: https://lkml.kernel.org/r/20240706160511.2331061-2-masahiroy@kernel.org
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Reviewed-by: Wei Yang <richard.weiyang@gmail.com>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
committed by
Andrew Morton
parent
7a7127aa33
commit
73db3abdca
@@ -141,14 +141,6 @@
|
||||
* often happens at runtime)
|
||||
*/
|
||||
|
||||
#if defined(CONFIG_MEMORY_HOTPLUG)
|
||||
#define MEM_KEEP(sec) *(.mem##sec)
|
||||
#define MEM_DISCARD(sec)
|
||||
#else
|
||||
#define MEM_KEEP(sec)
|
||||
#define MEM_DISCARD(sec) *(.mem##sec)
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_HAVE_DYNAMIC_FTRACE_NO_PATCHABLE
|
||||
#define KEEP_PATCHABLE KEEP(*(__patchable_function_entries))
|
||||
#define PATCHABLE_DISCARDS
|
||||
@@ -357,7 +349,6 @@
|
||||
*(.data..decrypted) \
|
||||
*(.ref.data) \
|
||||
*(.data..shared_aligned) /* percpu related */ \
|
||||
MEM_KEEP(init.data*) \
|
||||
*(.data.unlikely) \
|
||||
__start_once = .; \
|
||||
*(.data.once) \
|
||||
@@ -542,7 +533,6 @@
|
||||
/* __*init sections */ \
|
||||
__init_rodata : AT(ADDR(__init_rodata) - LOAD_OFFSET) { \
|
||||
*(.ref.rodata) \
|
||||
MEM_KEEP(init.rodata) \
|
||||
} \
|
||||
\
|
||||
/* Built-in module parameters. */ \
|
||||
@@ -593,8 +583,7 @@
|
||||
*(.text.unknown .text.unknown.*) \
|
||||
NOINSTR_TEXT \
|
||||
*(.ref.text) \
|
||||
*(.text.asan.* .text.tsan.*) \
|
||||
MEM_KEEP(init.text*) \
|
||||
*(.text.asan.* .text.tsan.*)
|
||||
|
||||
|
||||
/* sched.text is aling to function alignment to secure we have same
|
||||
@@ -701,7 +690,6 @@
|
||||
#define INIT_DATA \
|
||||
KEEP(*(SORT(___kentry+*))) \
|
||||
*(.init.data .init.data.*) \
|
||||
MEM_DISCARD(init.data*) \
|
||||
KERNEL_CTORS() \
|
||||
MCOUNT_REC() \
|
||||
*(.init.rodata .init.rodata.*) \
|
||||
@@ -709,7 +697,6 @@
|
||||
TRACE_SYSCALLS() \
|
||||
KPROBE_BLACKLIST() \
|
||||
ERROR_INJECT_WHITELIST() \
|
||||
MEM_DISCARD(init.rodata) \
|
||||
CLK_OF_TABLES() \
|
||||
RESERVEDMEM_OF_TABLES() \
|
||||
TIMER_OF_TABLES() \
|
||||
@@ -727,8 +714,7 @@
|
||||
|
||||
#define INIT_TEXT \
|
||||
*(.init.text .init.text.*) \
|
||||
*(.text.startup) \
|
||||
MEM_DISCARD(init.text*)
|
||||
*(.text.startup)
|
||||
|
||||
#define EXIT_DATA \
|
||||
*(.exit.data .exit.data.*) \
|
||||
|
||||
Reference in New Issue
Block a user