aboutsummaryrefslogtreecommitdiffstats
path: root/roms/u-boot/arch/powerpc/config.mk
diff options
context:
space:
mode:
Diffstat (limited to 'roms/u-boot/arch/powerpc/config.mk')
-rw-r--r--roms/u-boot/arch/powerpc/config.mk43
1 files changed, 43 insertions, 0 deletions
diff --git a/roms/u-boot/arch/powerpc/config.mk b/roms/u-boot/arch/powerpc/config.mk
new file mode 100644
index 000000000..307ca6574
--- /dev/null
+++ b/roms/u-boot/arch/powerpc/config.mk
@@ -0,0 +1,43 @@
+# SPDX-License-Identifier: GPL-2.0+
+#
+# (C) Copyright 2000-2010
+# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
+
+CONFIG_STANDALONE_LOAD_ADDR ?= 0x40000
+LDFLAGS_FINAL += --gc-sections
+LDFLAGS_FINAL += --bss-plt
+PLATFORM_RELFLAGS += -fpic -mrelocatable -ffunction-sections \
+-fdata-sections -mcall-linux
+
+PF_CPPFLAGS_POWERPC := $(call cc-option,-fno-ira-hoist-pressure,)
+PLATFORM_CPPFLAGS += -D__powerpc__ -ffixed-r2 -m32 $(PF_CPPFLAGS_POWERPC)
+KBUILD_LDFLAGS += -m32 -melf32ppclinux
+
+#
+# When cross-compiling on NetBSD, we have to define __PPC__ or else we
+# will pick up a va_list declaration that is incompatible with the
+# actual argument lists emitted by the compiler.
+#
+# [Tested on NetBSD/i386 1.5 + cross-powerpc-netbsd-1.3]
+
+ifeq ($(CROSS_COMPILE),powerpc-netbsd-)
+PLATFORM_CPPFLAGS+= -D__PPC__
+endif
+ifeq ($(CROSS_COMPILE),powerpc-openbsd-)
+PLATFORM_CPPFLAGS+= -D__PPC__
+endif
+
+# Only test once
+ifneq ($(CONFIG_SPL_BUILD),y)
+archprepare: checkgcc4
+
+# GCC 3.x is reported to have problems generating the type of relocation
+# that U-Boot wants.
+# See http://lists.denx.de/pipermail/u-boot/2012-September/135156.html
+checkgcc4:
+ @if test "$(call cc-name)" = "gcc" -a \
+ $(call cc-version) -lt 0400; then \
+ echo -n '*** Your GCC is too old, please upgrade to GCC 4.x or newer'; \
+ false; \
+ fi
+endif