wdenk | 39f0e5f | 2002-08-14 20:30:46 +0000 | [diff] [blame] | 1 | # |
Wolfgang Denk | fa11dbe | 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 | 1a45966 | 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 | 9b6e2c3 | 2014-02-28 14:33:30 +0900 | [diff] [blame] | 8 | ifeq ($(CROSS_COMPILE),) |
| 9 | CROSS_COMPILE := ppc_8xx- |
| 10 | endif |
Mike Frysinger | 1ea6bcd | 2009-06-14 23:33:14 -0400 | [diff] [blame] | 11 | |
Wolfgang Denk | 8ae86b7 | 2011-02-04 14:25:17 +0100 | [diff] [blame] | 12 | CONFIG_STANDALONE_LOAD_ADDR ?= 0x40000 |
Haiying Wang | 6dc1eceb | 2011-02-22 16:38:05 -0500 | [diff] [blame] | 13 | LDFLAGS_FINAL += --gc-sections |
Chris Packham | 039b773 | 2014-09-10 16:03:10 +1200 | [diff] [blame] | 14 | LDFLAGS_FINAL += --bss-plt |
Rob Herring | 7682a99 | 2015-03-17 15:28:55 -0500 | [diff] [blame] | 15 | PLATFORM_RELFLAGS += -fpic -mrelocatable -ffunction-sections \ |
| 16 | -fdata-sections -mcall-linux |
| 17 | |
Tom Rini | b9f06b3 | 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 | 7682a99 | 2015-03-17 15:28:55 -0500 | [diff] [blame] | 20 | PLATFORM_LDFLAGS += -m32 -melf32ppclinux |
Shinya Kuribayashi | 6b971c7 | 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 | 6ec63f4 | 2012-09-20 19:10:01 -0500 | [diff] [blame] | 35 | |
| 36 | # Only test once |
| 37 | ifneq ($(CONFIG_SPL_BUILD),y) |
Masahiro Yamada | d57d60c | 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 | 6e2f153 | 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 | d57d60c | 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 | 6ec63f4 | 2012-09-20 19:10:01 -0500 | [diff] [blame] | 49 | endif |