|
@@ -59,6 +59,19 @@ machine-$(CONFIG_PPC64) += 64
|
|
|
machine-$(CONFIG_CPU_LITTLE_ENDIAN) += le
|
|
|
UTS_MACHINE := $(subst $(space),,$(machine-y))
|
|
|
|
|
|
+# XXX This needs to be before we override LD below
|
|
|
+ifdef CONFIG_PPC32
|
|
|
+KBUILD_LDFLAGS_MODULE += arch/powerpc/lib/crtsavres.o
|
|
|
+else
|
|
|
+ifeq ($(call ld-ifversion, -ge, 225000000, y),y)
|
|
|
+# Have the linker provide sfpr if possible.
|
|
|
+# There is a corresponding test in arch/powerpc/lib/Makefile
|
|
|
+KBUILD_LDFLAGS_MODULE += --save-restore-funcs
|
|
|
+else
|
|
|
+KBUILD_LDFLAGS_MODULE += arch/powerpc/lib/crtsavres.o
|
|
|
+endif
|
|
|
+endif
|
|
|
+
|
|
|
ifeq ($(CONFIG_CPU_LITTLE_ENDIAN),y)
|
|
|
override LD += -EL
|
|
|
LDEMULATION := lppc
|
|
@@ -190,18 +203,6 @@ else
|
|
|
CHECKFLAGS += -D__LITTLE_ENDIAN__
|
|
|
endif
|
|
|
|
|
|
-ifdef CONFIG_PPC32
|
|
|
-KBUILD_LDFLAGS_MODULE += arch/powerpc/lib/crtsavres.o
|
|
|
-else
|
|
|
-ifeq ($(call ld-ifversion, -ge, 225000000, y),y)
|
|
|
-# Have the linker provide sfpr if possible.
|
|
|
-# There is a corresponding test in arch/powerpc/lib/Makefile
|
|
|
-KBUILD_LDFLAGS_MODULE += --save-restore-funcs
|
|
|
-else
|
|
|
-KBUILD_LDFLAGS_MODULE += arch/powerpc/lib/crtsavres.o
|
|
|
-endif
|
|
|
-endif
|
|
|
-
|
|
|
ifeq ($(CONFIG_476FPE_ERR46),y)
|
|
|
KBUILD_LDFLAGS_MODULE += --ppc476-workaround \
|
|
|
-T $(srctree)/arch/powerpc/platforms/44x/ppc476_modules.lds
|