1# 2# (C) Copyright 2000-2010 3# Wolfgang Denk, DENX Software Engineering, wd@denx.de. 4# 5# SPDX-License-Identifier: GPL-2.0+ 6# 7 8ifeq ($(CROSS_COMPILE),) 9CROSS_COMPILE := ppc_8xx- 10endif 11 12CONFIG_STANDALONE_LOAD_ADDR ?= 0x40000 13LDFLAGS_FINAL += --gc-sections 14LDFLAGS_FINAL += --bss-plt 15PLATFORM_RELFLAGS += -fpic -mrelocatable -ffunction-sections \ 16-fdata-sections -mcall-linux 17 18PF_CPPFLAGS_POWERPC := $(call cc-option,-fno-ira-hoist-pressure,) 19PLATFORM_CPPFLAGS += -D__powerpc__ -ffixed-r2 -m32 $(PF_CPPFLAGS_POWERPC) 20PLATFORM_LDFLAGS += -m32 -melf32ppclinux 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 29ifeq ($(CROSS_COMPILE),powerpc-netbsd-) 30PLATFORM_CPPFLAGS+= -D__PPC__ 31endif 32ifeq ($(CROSS_COMPILE),powerpc-openbsd-) 33PLATFORM_CPPFLAGS+= -D__PPC__ 34endif 35 36# Only test once 37ifneq ($(CONFIG_SPL_BUILD),y) 38archprepare: 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 43checkgcc4: 44 @if test "$(call cc-name)" = "gcc" -a \ 45 $(call cc-version) -lt 0400; then \ 46 echo -n '*** Your GCC is too old, please upgrade to GCC 4.x or newer'; \ 47 false; \ 48 fi 49endif 50