# 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$(VSB_DIR)/h -I$(VSB_DIR)/share/h \
  -I$(MULTIBUILDTOP)../../gcc/include \
  `case "/$(MULTIDIR)" in \
      */mrtp*) echo -I$(VSB_DIR)/usr/h/public -I$(VSB_DIR)/usr/h ;; \
      *) echo -I$(VSB_DIR)/krnl/h/system -I$(VSB_DIR)/krnl/h/public ;; \
   esac`
