]> Git Repo - linux.git/commitdiff
sparc: support static_key usage in non-module __exit sections
authorJason Baron <[email protected]>
Wed, 3 Aug 2016 20:46:27 +0000 (13:46 -0700)
committerLinus Torvalds <[email protected]>
Thu, 4 Aug 2016 12:50:07 +0000 (08:50 -0400)
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

Link: http://lkml.kernel.org/r/d822da427ab07a02a394602eca687104ff682f83.1467837322.git.jbaron@akamai.com
Signed-off-by: Jason Baron <[email protected]>
Cc: "David S. Miller" <[email protected]>
Cc: Arnd Bergmann <[email protected]>
Cc: Benjamin Herrenschmidt <[email protected]>
Cc: Chris Metcalf <[email protected]>
Cc: Heiko Carstens <[email protected]>
Cc: Joe Perches <[email protected]>
Cc: Martin Schwidefsky <[email protected]>
Cc: Michael Ellerman <[email protected]>
Cc: Paul Mackerras <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
arch/sparc/kernel/vmlinux.lds.S

index 7d02b1fef0256bb84c218e55b4d2328d037f5903..d79b3b7342457b4eace6232b010226a1068a856c 100644 (file)
@@ -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)
This page took 0.054272 seconds and 4 git commands to generate.