# Makefile fragment for building LIBGCC for the Renesas RL78 target.
# Copyright (C) 2011-2017 Free Software Foundation, Inc.
# Contributed by Red Hat and CyberTHOR Studios
#
# This file is part of GCC.
#
# GCC is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published
# by the Free Software Foundation; either version 3, or (at your
# option) any later version.
#
# GCC is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.   See
# the GNU General Public License for more details.
#
# You should have received a copy of the  GNU General Public
# License along with GCC; see the file COPYING3.  If not see
# <http://www.gnu.org/licenses/>.

LIB2ADD = \
$(srcdir)/config/rl78/trampoline.S \
$(srcdir)/config/rl78/lib2shift.c \
$(srcdir)/config/rl78/divmodsi.S \
$(srcdir)/config/rl78/divmodhi.S \
$(srcdir)/config/rl78/divmodqi.S \
$(srcdir)/config/rl78/signbit.S \
$(srcdir)/config/rl78/bit-count.S \
$(srcdir)/config/rl78/fpbit-sf.S \
$(srcdir)/config/rl78/fpmath-sf.S \
$(srcdir)/config/rl78/adddi3.S \
$(srcdir)/config/rl78/subdi3.S \
$(srcdir)/config/rl78/uminsi3.S \
$(srcdir)/config/rl78/umaxsi3.S \
$(srcdir)/config/rl78/sminsi3.S \
$(srcdir)/config/rl78/smaxsi3.S \
$(srcdir)/config/rl78/umindi3.S \
$(srcdir)/config/rl78/umaxdi3.S \
$(srcdir)/config/rl78/smindi3.S \
$(srcdir)/config/rl78/smaxdi3.S \
$(srcdir)/config/rl78/negabssi2.S \
$(srcdir)/config/rl78/negdi2.S \
$(srcdir)/config/rl78/one_cmplsi2.S \
$(srcdir)/config/rl78/one_cmpldi2.S \
$(srcdir)/config/rl78/absqi2.S \
$(srcdir)/config/rl78/abshi2.S \
$(srcdir)/config/rl78/absdi2.S \
$(srcdir)/config/rl78/cmpsi2.S \
$(srcdir)/config/rl78/andsi3.S \
$(srcdir)/config/rl78/iorsi3.S \
$(srcdir)/config/rl78/xorsi3.S \
$(srcdir)/config/rl78/anddi3.S \
$(srcdir)/config/rl78/iordi3.S \
$(srcdir)/config/rl78/xordi3.S \
$(srcdir)/config/rl78/bswapdi2.S \
$(srcdir)/config/rl78/setmemqi.S \
$(srcdir)/config/rl78/setmemhi.S \
$(srcdir)/config/rl78/movmemqi.S \
$(srcdir)/config/rl78/movmemhi.S \
$(srcdir)/config/rl78/movstr.S \
$(srcdir)/config/rl78/strlenhi.S \
$(srcdir)/config/rl78/cmpstrhi.S \
$(srcdir)/config/rl78/cmpmemhi.S \
$(srcdir)/config/rl78/cmpstrnhi.S \
$(srcdir)/config/rl78/cmpdi2.S \
$(srcdir)/config/rl78/rotqihi3.S \
$(srcdir)/config/rl78/shifthi3.S \
$(srcdir)/config/rl78/ashrsi3.S \
$(srcdir)/config/rl78/lshrsi3.S \
$(srcdir)/config/rl78/ashlsi3.S \
$(srcdir)/config/rl78/rotlrsi3.S \
$(srcdir)/config/rl78/ashldi3.S \
$(srcdir)/config/rl78/lshrdi3.S \
$(srcdir)/config/rl78/ashrdi3.S \
$(srcdir)/config/rl78/rotlrdi3.S \
$(srcdir)/config/rl78/mulqihi3.S \
$(srcdir)/config/rl78/mulhi3.S \
$(srcdir)/config/rl78/mulhisi3.S \
$(srcdir)/config/rl78/mulsi3.S \
$(srcdir)/config/rl78/mulsidi3.S \
$(srcdir)/config/rl78/umulsi3_hp.S \
$(srcdir)/config/rl78/muldi3.S \
$(srcdir)/config/rl78/tbljmp.S \
$(srcdir)/config/rl78/udivmodqi.S \


LIB2FUNCS_EXCLUDE = \
  _clzhi2 _clzsi2 \
  _ctzhi2 _ctzsi2 \
  _bswapsi2 _bswapdi2 \
  _popcounthi2 _popcountsi2 \
  _parityhi2 _paritysi2 _ffssi2 _ffshi2 \
  _negate_sf _compare_sf _eq_sf _ne_sf _gt_sf _ge_sf \
  _lt_sf _le_sf _unord_sf \
  _si_to_sf _usi_to_sf \
  _sf_to_si   _sf_to_usi \
  _fixunssfsi _fixsfsi \
  _addsub_sf _mul_sf _div_sf \
  _cmpdi2 _ucmpdi2 \
  _ashlsi3 _lshrsi3 _ashrsi3 _ashldi3 _lshrdi3 _ashrdi3 \
  _mulsi3 _muldi3

# Remove __gcc_bcmp from LIB2FUNCS_ST
LIB2FUNCS_ST = _eprintf

HOST_LIBGCC2_CFLAGS += -Os -ffunction-sections -fdata-sections
