# Add the bpabi.S functions.
LIB1ASMFUNCS += _aeabi_lcmp _aeabi_ulcmp _aeabi_ldivmod _aeabi_uldivmod

# Add the BPABI C functions.
LIB2FUNCS_EXTRA = $(srcdir)/config/arm/bpabi.c \
		  $(srcdir)/config/arm/unaligned-funcs.c

# These functions are present in both lib1funcs.asm and arm-libgcc2.c.  Only
# one version of a function is built based on compilation time arch setting.
LIB2FUNCS_EXTRA += $(srcdir)/config/arm/arm-libgcc2.c
LIB2FUNCS_EXCLUDE += _clzdi2 _clzsi2
LIB1ASMFUNCS += _clzdi2 _clzsi2

UNWIND_H = $(srcdir)/config/arm/unwind-arm.h
LIB2ADDEH = $(srcdir)/config/arm/unwind-arm.c \
  $(srcdir)/config/arm/libunwind.S \
  $(srcdir)/config/arm/pr-support.c $(srcdir)/unwind-c.c
LIB2ADDEHDEP = $(UNWIND_H) $(srcdir)/config/$(LIB1ASMSRC)

# Add the BPABI names.
SHLIB_MAPFILES += $(srcdir)/config/arm/libgcc-bpabi.ver

