summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/lib/Makefile
diff options
context:
space:
mode:
authorNicholas Piggin <npiggin@gmail.com>2017-05-11 17:56:49 +0200
committerMichael Ellerman <mpe@ellerman.id.au>2017-05-30 06:59:51 +0200
commitbaa25b571a168aff5a13bfdc973f1229e2b12b63 (patch)
tree97ab772fa21311078cc9474de059a6e6e8604c2d /arch/powerpc/lib/Makefile
parentpowerpc/64: Place sfpr section explicitly with the linker script (diff)
downloadlinux-baa25b571a168aff5a13bfdc973f1229e2b12b63.tar.xz
linux-baa25b571a168aff5a13bfdc973f1229e2b12b63.zip
powerpc/64: Do not link crtsavres.o in vmlinux
The 64-bit linker creates save/restore functions on demand with final links, so vmlinux does not require crtsavres.o. Make crtsavres.o extra-y on 64-bit (it is still required by modules). Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/lib/Makefile')
-rw-r--r--arch/powerpc/lib/Makefile8
1 files changed, 6 insertions, 2 deletions
diff --git a/arch/powerpc/lib/Makefile b/arch/powerpc/lib/Makefile
index ed7dfce331e0..0ca405a27ac1 100644
--- a/arch/powerpc/lib/Makefile
+++ b/arch/powerpc/lib/Makefile
@@ -9,8 +9,12 @@ ccflags-$(CONFIG_PPC64) := $(NO_MINIMAL_TOC)
CFLAGS_REMOVE_code-patching.o = $(CC_FLAGS_FTRACE)
CFLAGS_REMOVE_feature-fixups.o = $(CC_FLAGS_FTRACE)
-obj-y += string.o alloc.o crtsavres.o code-patching.o \
- feature-fixups.o
+obj-y += string.o alloc.o code-patching.o feature-fixups.o
+
+# 64-bit linker creates .sfpr on demand for final link (vmlinux),
+# so it is only needed for modules.
+obj-$(CONFIG_PPC32) += crtsavres.o
+extra-$(CONFIG_PPC64) += crtsavres.o
obj-$(CONFIG_PPC32) += div64.o copy_32.o