summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/vmlinux.lds.S
diff options
context:
space:
mode:
authorNicholas Piggin2017-05-11 17:56:48 +0200
committerMichael Ellerman2017-05-30 06:59:51 +0200
commite8c688251d0e8baca1cd68992c9ef4078a0361c8 (patch)
treebf81006ea57bad07b27813ddaa68855e170e2b83 /arch/powerpc/kernel/vmlinux.lds.S
parentpowerpc: Use uapi/asm-generic/sockios.h (diff)
downloadkernel-qcow2-linux-e8c688251d0e8baca1cd68992c9ef4078a0361c8.tar.gz
kernel-qcow2-linux-e8c688251d0e8baca1cd68992c9ef4078a0361c8.tar.xz
kernel-qcow2-linux-e8c688251d0e8baca1cd68992c9ef4078a0361c8.zip
powerpc/64: Place sfpr section explicitly with the linker script
Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/kernel/vmlinux.lds.S')
-rw-r--r--arch/powerpc/kernel/vmlinux.lds.S8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/vmlinux.lds.S b/arch/powerpc/kernel/vmlinux.lds.S
index 2f793be3d2b1..bcfda21c3179 100644
--- a/arch/powerpc/kernel/vmlinux.lds.S
+++ b/arch/powerpc/kernel/vmlinux.lds.S
@@ -115,6 +115,14 @@ SECTIONS
KPROBES_TEXT
IRQENTRY_TEXT
SOFTIRQENTRY_TEXT
+ /*
+ * -Os builds call FP save/restore functions. The powerpc64
+ * linker generates those on demand in the .sfpr section.
+ * .sfpr gets placed at the beginning of a group of input
+ * sections, which can break start-of-text offset if it is
+ * included with the main text sections, so put it by itself.
+ */
+ *(.sfpr);
MEM_KEEP(init.text)
MEM_KEEP(exit.text)