blob: dd0124cace19be060d9374c440b0f35e5dbd801a [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001# SPDX-License-Identifier: GPL-2.0+
wdenk39f0e5f2002-08-14 20:30:46 +00002#
Wolfgang Denk0f5fa872010-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
Haiying Wang39358732011-02-22 16:38:05 -05006LDFLAGS_FINAL += --gc-sections
Chris Packhama5f5df22014-09-10 16:03:10 +12007LDFLAGS_FINAL += --bss-plt
Rob Herringffdb4882015-03-17 15:28:55 -05008PLATFORM_RELFLAGS += -fpic -mrelocatable -ffunction-sections \
9-fdata-sections -mcall-linux
10
Tom Rinif1f4a7a2015-10-17 08:04:11 -040011PF_CPPFLAGS_POWERPC := $(call cc-option,-fno-ira-hoist-pressure,)
12PLATFORM_CPPFLAGS += -D__powerpc__ -ffixed-r2 -m32 $(PF_CPPFLAGS_POWERPC)
Tom Rini5d4ecf22020-03-27 11:46:27 -040013KBUILD_LDFLAGS += -m32 -melf32ppclinux
Shinya Kuribayashi686d44d2008-08-31 05:37:04 +090014
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
22ifeq ($(CROSS_COMPILE),powerpc-netbsd-)
23PLATFORM_CPPFLAGS+= -D__PPC__
24endif
25ifeq ($(CROSS_COMPILE),powerpc-openbsd-)
26PLATFORM_CPPFLAGS+= -D__PPC__
27endif
Scott Wood146f5062012-09-20 19:10:01 -050028
29# Only test once
Simon Glass85ed77d2024-09-29 19:49:46 -060030ifneq ($(CONFIG_XPL_BUILD),y)
Masahiro Yamadab646bec2014-03-05 17:49:23 +090031archprepare: 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
36checkgcc4:
Tom Rini7aaf2772016-01-19 20:39:02 -050037 @if test "$(call cc-name)" = "gcc" -a \
38 $(call cc-version) -lt 0400; then \
Masahiro Yamadab646bec2014-03-05 17:49:23 +090039 echo -n '*** Your GCC is too old, please upgrade to GCC 4.x or newer'; \
40 false; \
41 fi
Scott Wood146f5062012-09-20 19:10:01 -050042endif