Files
vxWorks/h/tool/gnu/defs.arm
2025-08-20 18:25:46 +08:00

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