1# SPDX-License-Identifier: GPL-2.0+ 2# 3# (C) Copyright 2000-2010 4# Wolfgang Denk, DENX Software Engineering, wd@denx.de. 5 6LDFLAGS_FINAL += --gc-sections 7LDFLAGS_FINAL += --bss-plt 8PLATFORM_RELFLAGS += -fpic -mrelocatable -ffunction-sections \ 9-fdata-sections -mcall-linux 10 11PF_CPPFLAGS_POWERPC := $(call cc-option,-fno-ira-hoist-pressure,) 12PLATFORM_CPPFLAGS += -D__powerpc__ -ffixed-r2 -m32 $(PF_CPPFLAGS_POWERPC) 13KBUILD_LDFLAGS += -m32 -melf32ppclinux 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 22ifeq ($(CROSS_COMPILE),powerpc-netbsd-) 23PLATFORM_CPPFLAGS+= -D__PPC__ 24endif 25ifeq ($(CROSS_COMPILE),powerpc-openbsd-) 26PLATFORM_CPPFLAGS+= -D__PPC__ 27endif 28 29# Only test once 30ifneq ($(CONFIG_SPL_BUILD),y) 31archprepare: 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: 37 @if test "$(call cc-name)" = "gcc" -a \ 38 $(call cc-version) -lt 0400; then \ 39 echo -n '*** Your GCC is too old, please upgrade to GCC 4.x or newer'; \ 40 false; \ 41 fi 42endif 43