[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <d822da427ab07a02a394602eca687104ff682f83.1467837322.git.jbaron@akamai.com>
Date: Wed, 6 Jul 2016 17:42:32 -0400
From: Jason Baron <jbaron@...mai.com>
To: akpm@...ux-foundation.org
Cc: joe@...ches.com, peterz@...radead.org,
linux-kernel@...r.kernel.org,
"David S. Miller" <davem@...emloft.net>, sparclinux@...r.kernel.org
Subject: [PATCH v3 3/7] sparc: support static_key usage in non-module __exit sections
The jump table can reference text found in an __exit section. Thus,
instead of discarding it at build/link time, include EXIT_TEXT as part
of __init and release it at system boot time.
Without this patch the link fails with:
`.exit.text' referenced in section `__jump_table' of xxx.o:
defined in discarded section `.exit.text' of xxx.o
Cc: "David S. Miller" <davem@...emloft.net>
Cc: sparclinux@...r.kernel.org
Signed-off-by: Jason Baron <jbaron@...mai.com>
---
arch/sparc/kernel/vmlinux.lds.S | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/arch/sparc/kernel/vmlinux.lds.S b/arch/sparc/kernel/vmlinux.lds.S
index 7d02b1fef025..d79b3b734245 100644
--- a/arch/sparc/kernel/vmlinux.lds.S
+++ b/arch/sparc/kernel/vmlinux.lds.S
@@ -150,6 +150,13 @@ SECTIONS
}
PERCPU_SECTION(SMP_CACHE_BYTES)
+#ifdef CONFIG_JUMP_LABEL
+ . = ALIGN(PAGE_SIZE);
+ .exit.text : {
+ EXIT_TEXT
+ }
+#endif
+
. = ALIGN(PAGE_SIZE);
__init_end = .;
BSS_SECTION(0, 0, 0)
--
2.6.1
Powered by blists - more mailing lists