blob: f5d21c837a4737308886dbe2ea4a5ea08005fc32 [file] [log] [blame]
Tom Rini83d290c2018-05-06 17:58:06 -04001# SPDX-License-Identifier: GPL-2.0+
wdenk39f0e5f2002-08-14 20:30:46 +00002#
Wolfgang Denkfa11dbe2010-11-21 16:34:05 +01003# (C) Copyright 2000-2010
wdenk39f0e5f2002-08-14 20:30:46 +00004# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
wdenk39f0e5f2002-08-14 20:30:46 +00005
Masahiro Yamada9b6e2c32014-02-28 14:33:30 +09006ifeq ($(CROSS_COMPILE),)
7CROSS_COMPILE := ppc_8xx-
8endif
Mike Frysinger1ea6bcd2009-06-14 23:33:14 -04009
Wolfgang Denk8ae86b72011-02-04 14:25:17 +010010CONFIG_STANDALONE_LOAD_ADDR ?= 0x40000
Haiying Wang6dc1eceb2011-02-22 16:38:05 -050011LDFLAGS_FINAL += --gc-sections
Chris Packham039b7732014-09-10 16:03:10 +120012LDFLAGS_FINAL += --bss-plt
Rob Herring7682a992015-03-17 15:28:55 -050013PLATFORM_RELFLAGS += -fpic -mrelocatable -ffunction-sections \
14-fdata-sections -mcall-linux
15
Tom Rinib9f06b32015-10-17 08:04:11 -040016PF_CPPFLAGS_POWERPC := $(call cc-option,-fno-ira-hoist-pressure,)
17PLATFORM_CPPFLAGS += -D__powerpc__ -ffixed-r2 -m32 $(PF_CPPFLAGS_POWERPC)
Rob Herring7682a992015-03-17 15:28:55 -050018PLATFORM_LDFLAGS += -m32 -melf32ppclinux
Shinya Kuribayashi6b971c72008-08-31 05:37:04 +090019
20#
21# When cross-compiling on NetBSD, we have to define __PPC__ or else we
22# will pick up a va_list declaration that is incompatible with the
23# actual argument lists emitted by the compiler.
24#
25# [Tested on NetBSD/i386 1.5 + cross-powerpc-netbsd-1.3]
26
27ifeq ($(CROSS_COMPILE),powerpc-netbsd-)
28PLATFORM_CPPFLAGS+= -D__PPC__
29endif
30ifeq ($(CROSS_COMPILE),powerpc-openbsd-)
31PLATFORM_CPPFLAGS+= -D__PPC__
32endif
Scott Wood6ec63f42012-09-20 19:10:01 -050033
34# Only test once
35ifneq ($(CONFIG_SPL_BUILD),y)
Masahiro Yamadad57d60c2014-03-05 17:49:23 +090036archprepare: checkgcc4
37
38# GCC 3.x is reported to have problems generating the type of relocation
39# that U-Boot wants.
40# See http://lists.denx.de/pipermail/u-boot/2012-September/135156.html
41checkgcc4:
Tom Rini6e2f1532016-01-19 20:39:02 -050042 @if test "$(call cc-name)" = "gcc" -a \
43 $(call cc-version) -lt 0400; then \
Masahiro Yamadad57d60c2014-03-05 17:49:23 +090044 echo -n '*** Your GCC is too old, please upgrade to GCC 4.x or newer'; \
45 false; \
46 fi
Scott Wood6ec63f42012-09-20 19:10:01 -050047endif