mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-26 15:28:50 +00:00

When debugging, it is useful to have a backtrace to find out what is in the call stack as the previous function (RA) may not have been the culprit. Since this adds size to the build, do not add it by default and avoid putting it in the SPL build if not needed. Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk> Tested-by: Leo Yu-Chi Liang <ycliang@andestech.com>
62 lines
1.4 KiB
Makefile
62 lines
1.4 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0+
|
|
#
|
|
# Copyright (C) 2017 Andes Technology Corporation.
|
|
# Rick Chen, Andes Technology Corporation <rick@andestech.com>
|
|
|
|
ifeq ($(CONFIG_ARCH_RV64I),y)
|
|
ARCH_BASE = rv64im
|
|
ABI_BASE = lp64
|
|
endif
|
|
ifeq ($(CONFIG_ARCH_RV32I),y)
|
|
ARCH_BASE = rv32im
|
|
ABI_BASE = ilp32
|
|
endif
|
|
ifeq ($(CONFIG_RISCV_ISA_A),y)
|
|
ARCH_A = a
|
|
endif
|
|
ifeq ($(CONFIG_RISCV_ISA_F),y)
|
|
ARCH_F = f
|
|
endif
|
|
ifeq ($(CONFIG_RISCV_ISA_D),y)
|
|
ARCH_D = d
|
|
ABI_D = d
|
|
endif
|
|
ifeq ($(CONFIG_RISCV_ISA_C),y)
|
|
ARCH_C = c
|
|
endif
|
|
ifeq ($(CONFIG_RISCV_ISA_ZBB),y)
|
|
ARCH_ZBB = _zbb
|
|
endif
|
|
ifeq ($(CONFIG_CMODEL_MEDLOW),y)
|
|
CMODEL = medlow
|
|
endif
|
|
ifeq ($(CONFIG_CMODEL_MEDANY),y)
|
|
CMODEL = medany
|
|
endif
|
|
|
|
|
|
RISCV_MARCH = $(ARCH_BASE)$(ARCH_A)$(ARCH_F)$(ARCH_D)$(ARCH_C)$(ARCH_ZBB)
|
|
ABI = $(ABI_BASE)$(ABI_D)
|
|
|
|
# Newer binutils versions default to ISA spec version 20191213 which moves some
|
|
# instructions from the I extension to the Zicsr and Zifencei extensions.
|
|
toolchain-need-zicsr-zifencei := $(call cc-option-yn, -mabi=$(ABI) -march=$(RISCV_MARCH)_zicsr_zifencei)
|
|
ifeq ($(toolchain-need-zicsr-zifencei),y)
|
|
RISCV_MARCH := $(RISCV_MARCH)_zicsr_zifencei
|
|
endif
|
|
|
|
ARCH_FLAGS = -march=$(RISCV_MARCH) -mabi=$(ABI) \
|
|
-mcmodel=$(CMODEL)
|
|
|
|
ifeq ($(CONFIG_$(SPL_)FRAMEPOINTER),y)
|
|
ARCH_FLAGS += -fno-omit-frame-pointer
|
|
endif
|
|
|
|
PLATFORM_CPPFLAGS += $(ARCH_FLAGS)
|
|
CFLAGS_EFI += $(ARCH_FLAGS)
|
|
|
|
head-y := arch/riscv/cpu/start.o
|
|
|
|
libs-y += arch/riscv/cpu/
|
|
libs-y += arch/riscv/cpu/$(CPU)/
|
|
libs-y += arch/riscv/lib/
|