wdenk | 39f0e5f | 2002-08-14 20:30:46 +0000 | [diff] [blame] | 1 | # |
Wolfgang Denk | 0f5fa87 | 2010-11-21 16:34:05 +0100 | [diff] [blame] | 2 | # (C) Copyright 2000-2010 |
wdenk | 39f0e5f | 2002-08-14 20:30:46 +0000 | [diff] [blame] | 3 | # Wolfgang Denk, DENX Software Engineering, wd@denx.de. |
| 4 | # |
Wolfgang Denk | d79de1d | 2013-07-08 09:37:19 +0200 | [diff] [blame] | 5 | # SPDX-License-Identifier: GPL-2.0+ |
wdenk | 39f0e5f | 2002-08-14 20:30:46 +0000 | [diff] [blame] | 6 | # |
| 7 | |
Masahiro Yamada | f0ac9e0 | 2014-02-28 14:33:30 +0900 | [diff] [blame] | 8 | ifeq ($(CROSS_COMPILE),) |
| 9 | CROSS_COMPILE := ppc_8xx- |
| 10 | endif |
Mike Frysinger | 8378ba4 | 2009-06-14 23:33:14 -0400 | [diff] [blame] | 11 | |
Wolfgang Denk | 33a5734 | 2011-02-04 14:25:17 +0100 | [diff] [blame] | 12 | CONFIG_STANDALONE_LOAD_ADDR ?= 0x40000 |
Haiying Wang | 3935873 | 2011-02-22 16:38:05 -0500 | [diff] [blame] | 13 | LDFLAGS_FINAL += --gc-sections |
Chris Packham | a5f5df2 | 2014-09-10 16:03:10 +1200 | [diff] [blame] | 14 | LDFLAGS_FINAL += --bss-plt |
Rob Herring | ffdb488 | 2015-03-17 15:28:55 -0500 | [diff] [blame] | 15 | PLATFORM_RELFLAGS += -fpic -mrelocatable -ffunction-sections \ |
| 16 | -fdata-sections -mcall-linux |
| 17 | |
Tom Rini | f1f4a7a | 2015-10-17 08:04:11 -0400 | [diff] [blame] | 18 | PF_CPPFLAGS_POWERPC := $(call cc-option,-fno-ira-hoist-pressure,) |
| 19 | PLATFORM_CPPFLAGS += -D__powerpc__ -ffixed-r2 -m32 $(PF_CPPFLAGS_POWERPC) |
Rob Herring | ffdb488 | 2015-03-17 15:28:55 -0500 | [diff] [blame] | 20 | PLATFORM_LDFLAGS += -m32 -melf32ppclinux |
Shinya Kuribayashi | 686d44d | 2008-08-31 05:37:04 +0900 | [diff] [blame] | 21 | |
| 22 | # |
| 23 | # When cross-compiling on NetBSD, we have to define __PPC__ or else we |
| 24 | # will pick up a va_list declaration that is incompatible with the |
| 25 | # actual argument lists emitted by the compiler. |
| 26 | # |
| 27 | # [Tested on NetBSD/i386 1.5 + cross-powerpc-netbsd-1.3] |
| 28 | |
| 29 | ifeq ($(CROSS_COMPILE),powerpc-netbsd-) |
| 30 | PLATFORM_CPPFLAGS+= -D__PPC__ |
| 31 | endif |
| 32 | ifeq ($(CROSS_COMPILE),powerpc-openbsd-) |
| 33 | PLATFORM_CPPFLAGS+= -D__PPC__ |
| 34 | endif |
Scott Wood | 146f506 | 2012-09-20 19:10:01 -0500 | [diff] [blame] | 35 | |
| 36 | # Only test once |
| 37 | ifneq ($(CONFIG_SPL_BUILD),y) |
Masahiro Yamada | b646bec | 2014-03-05 17:49:23 +0900 | [diff] [blame] | 38 | archprepare: checkgcc4 |
| 39 | |
| 40 | # GCC 3.x is reported to have problems generating the type of relocation |
| 41 | # that U-Boot wants. |
| 42 | # See http://lists.denx.de/pipermail/u-boot/2012-September/135156.html |
| 43 | checkgcc4: |
Tom Rini | 7aaf277 | 2016-01-19 20:39:02 -0500 | [diff] [blame] | 44 | @if test "$(call cc-name)" = "gcc" -a \ |
| 45 | $(call cc-version) -lt 0400; then \ |
Masahiro Yamada | b646bec | 2014-03-05 17:49:23 +0900 | [diff] [blame] | 46 | echo -n '*** Your GCC is too old, please upgrade to GCC 4.x or newer'; \ |
| 47 | false; \ |
| 48 | fi |
Scott Wood | 146f506 | 2012-09-20 19:10:01 -0500 | [diff] [blame] | 49 | endif |