xref: /openbmc/u-boot/arch/powerpc/config.mk (revision 23ff8633)
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-version) -lt 0400; then \
45		echo -n '*** Your GCC is too old, please upgrade to GCC 4.x or newer'; \
46		false; \
47	fi
48endif
49