47 lines
1.1 KiB
Plaintext
47 lines
1.1 KiB
Plaintext
# defs.arm - ARM specific definitions for the GNU toolchain
|
|
#
|
|
# modification history
|
|
# --------------------
|
|
# 01c,24jun02,m_h define LONGCALL to allow far away ld relocations
|
|
# 01b,21jan02,sn removed unused C++_TEMPLATE_INST
|
|
# 01a,18dec01,to written
|
|
#
|
|
# DESCRIPTION
|
|
# This file contains ARM specific definitions and flags for the
|
|
# GNU tools (compiler, assembler, linker etc.)
|
|
#
|
|
# NOTE
|
|
# The file name comes from defs.$(VX_CPU_FAMILY)
|
|
#
|
|
|
|
include $(TGT_DIR)/h/tool/gnu/defs.gnu
|
|
include $(TGT_DIR)/h/tool/common/defs.arm
|
|
|
|
CC_OPTIM_DRIVER = -O2 -fno-builtin -fvolatile
|
|
CC_OPTIM_NORMAL = -O2 -fno-builtin
|
|
CC_OPTIM_TARGET = -O2 -fno-builtin -fvolatile
|
|
|
|
LONGCALL = -mlong-calls
|
|
|
|
ifeq ($(findstring _T,$(CPU)),_T)
|
|
# definitions for Thumb mode
|
|
CC_ARCH_SPEC = -mthumb -mthumb-interwork
|
|
else
|
|
# definitions for ARM mode
|
|
CC_ARCH_SPEC = -mapcs-32
|
|
endif
|
|
|
|
ifeq ($(findstring be,$(TOOL)),be)
|
|
# definitions for big endian
|
|
CC_ARCH_SPEC += -mbig-endian
|
|
LDFLAGS = -X -EB -N
|
|
LD_PARTIAL_FLAGS= -X -EB -r
|
|
else
|
|
# definitions for little endian
|
|
CC_ARCH_SPEC += -mlittle-endian
|
|
LDFLAGS = -X -EL -N
|
|
LD_PARTIAL_FLAGS= -X -EL -r
|
|
endif
|
|
|
|
# end of defs.arm
|