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