mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-16 09:48:16 +00:00
b9f06b360d
There are various toolchain issues that cause us to produce invalid binaries with certain gcc 4.8.x and 4.9.x versions when we don't pass this flag in. Tested-by: Joakim Tjernlund <joakim.tjernlund@transmode.se> Signed-off-by: Tom Rini <trini@konsulko.com>
48 lines
1.3 KiB
Makefile
48 lines
1.3 KiB
Makefile
#
|
|
# (C) Copyright 2000-2010
|
|
# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
|
#
|
|
# SPDX-License-Identifier: GPL-2.0+
|
|
#
|
|
|
|
ifeq ($(CROSS_COMPILE),)
|
|
CROSS_COMPILE := ppc_8xx-
|
|
endif
|
|
|
|
CONFIG_STANDALONE_LOAD_ADDR ?= 0x40000
|
|
LDFLAGS_FINAL += --gc-sections
|
|
LDFLAGS_FINAL += --bss-plt
|
|
PLATFORM_RELFLAGS += -fpic -mrelocatable -ffunction-sections \
|
|
-fdata-sections -mcall-linux
|
|
|
|
PF_CPPFLAGS_POWERPC := $(call cc-option,-fno-ira-hoist-pressure,)
|
|
PLATFORM_CPPFLAGS += -D__powerpc__ -ffixed-r2 -m32 $(PF_CPPFLAGS_POWERPC)
|
|
PLATFORM_LDFLAGS += -m32 -melf32ppclinux
|
|
|
|
#
|
|
# When cross-compiling on NetBSD, we have to define __PPC__ or else we
|
|
# will pick up a va_list declaration that is incompatible with the
|
|
# actual argument lists emitted by the compiler.
|
|
#
|
|
# [Tested on NetBSD/i386 1.5 + cross-powerpc-netbsd-1.3]
|
|
|
|
ifeq ($(CROSS_COMPILE),powerpc-netbsd-)
|
|
PLATFORM_CPPFLAGS+= -D__PPC__
|
|
endif
|
|
ifeq ($(CROSS_COMPILE),powerpc-openbsd-)
|
|
PLATFORM_CPPFLAGS+= -D__PPC__
|
|
endif
|
|
|
|
# Only test once
|
|
ifneq ($(CONFIG_SPL_BUILD),y)
|
|
archprepare: checkgcc4
|
|
|
|
# GCC 3.x is reported to have problems generating the type of relocation
|
|
# that U-Boot wants.
|
|
# See http://lists.denx.de/pipermail/u-boot/2012-September/135156.html
|
|
checkgcc4:
|
|
@if test $(call cc-version) -lt 0400; then \
|
|
echo -n '*** Your GCC is too old, please upgrade to GCC 4.x or newer'; \
|
|
false; \
|
|
fi
|
|
endif
|