forked from Minki/linux
c14b4bcfd9
Previously, all the __exit sections were just dropped by the link phase. However, if there are static_key (jump label) constructs in __exit sections that are not modules, the link fails with the message: `.exit.text' referenced in section `__jump_table' of xxx.o: defined in discarded section `.exit.text' of xxx.o Support this usage by keeping the .exit.text sections in the final image if JUMP_LABEL is defined, then discarding them once initialization is complete. Link: http://lkml.kernel.org/r/bfd7c107c610c30e992868ebfe2a5d796a097464.1467837322.git.jbaron@akamai.com Signed-off-by: Jason Baron <jbaron@akamai.com> Signed-off-by: Chris Metcalf <cmetcalf@mellanox.com> Cc: "David S. Miller" <davem@davemloft.net> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Heiko Carstens <heiko.carstens@de.ibm.com> Cc: Joe Perches <joe@perches.com> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
||
---|---|---|
.. | ||
vdso | ||
asm-offsets.c | ||
backtrace.c | ||
compat_signal.c | ||
compat.c | ||
early_printk.c | ||
entry.S | ||
ftrace.c | ||
hardwall.c | ||
head_32.S | ||
head_64.S | ||
hvglue_trace.c | ||
hvglue.S | ||
intvec_32.S | ||
intvec_64.S | ||
irq.c | ||
jump_label.c | ||
kgdb.c | ||
kprobes.c | ||
machine_kexec.c | ||
Makefile | ||
mcount_64.S | ||
messaging.c | ||
module.c | ||
pci_gx.c | ||
pci-dma.c | ||
pci.c | ||
perf_event.c | ||
pmc.c | ||
proc.c | ||
process.c | ||
ptrace.c | ||
reboot.c | ||
regs_32.S | ||
regs_64.S | ||
relocate_kernel_32.S | ||
relocate_kernel_64.S | ||
setup.c | ||
signal.c | ||
single_step.c | ||
smp.c | ||
smpboot.c | ||
stack.c | ||
sys.c | ||
sysfs.c | ||
tile-desc_32.c | ||
tile-desc_64.c | ||
time.c | ||
tlb.c | ||
traps.c | ||
unaligned.c | ||
usb.c | ||
vdso.c | ||
vmlinux.lds.S |