# Don't build libgcc.a with debug info
LIBGCC2_DEBUG_CFLAGS =

# We provide our own implementation for __clear_cache, using a
# VxWorks specific entry point.
LIB2FUNCS_EXCLUDE += _clear_cache

# This ensures that the correct target headers are used; some VxWorks
# system headers have names that collide with GCC's internal (host)
# headers, e.g. regs.h. Make sure the local libgcc headers still
# prevail (e.g. unwind.h), and that gcc provided header files intended
# to be user visible eventually are visible as well.
LIBGCC2_INCLUDES = -nostdinc -I. \
  -I$(MULTIBUILDTOP)../../gcc/include-fixed$(MULTISUBDIR) \
  -I$(MULTIBUILDTOP)../../gcc/include \
  $(if $(findstring vxworks7, $(target_noncanonical)), \
    -I$(VSB_DIR)/h -I$(VSB_DIR)/share/h -I=/system -I=/public, \
    -I=/ -I=/wrn/coreip)

# Use these also for the vxcrstuff objects (.e.g for version.h), on top of
# the options possibly already set specifically for the target:
CRTSTUFF_T_CFLAGS += $(LIBGCC2_INCLUDES)
