diff options
author | Jeffrey A Law <law@cygnus.com> | 1997-12-21 13:45:20 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1997-12-21 06:45:20 -0700 |
commit | 5198352eea3242b89cbfc9674184458027901a53 (patch) | |
tree | a3930c35ffb64f909bb175eb62a2dd7bcbfc84d8 /gcc/Makefile.in | |
parent | 1d300e19b61d11e3a2321a098b7949f6c2058be2 (diff) | |
download | gcc-5198352eea3242b89cbfc9674184458027901a53.zip gcc-5198352eea3242b89cbfc9674184458027901a53.tar.gz gcc-5198352eea3242b89cbfc9674184458027901a53.tar.bz2 |
Makefile.in (FPBIT_FUNCS, [...]): Define.
* Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS): Define.
(libgcc2.a): Depend on $(DPBIT) and $(FPBIT). Add rules to
generate more fine grained floating point emulation libraries.
* config/fp-bit.c: Add protecting #ifdef to all functions so
that they can be compiled separately. If !FINE_GRAINED_LIBRARIES,
then compile all suitable functions.
(pack_d, unpack_d, fpcmp_parts): Add declarations, define with two
underscores to avoid namespace pollution.
* t-mn10200 (LIB2FUNCS_EXTRA): Remove fp-bit.c
(FPBIT): Define.
* t-mn10300 (LIB2FUNCS_EXTRA): Remove fp-bit.c and dp-bit.c
(FPBIT): Define.
(DPBIT): Define.
From-SVN: r17163
Diffstat (limited to 'gcc/Makefile.in')
-rw-r--r-- | gcc/Makefile.in | 34 |
1 files changed, 33 insertions, 1 deletions
diff --git a/gcc/Makefile.in b/gcc/Makefile.in index cc19d63..329f41f 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -647,6 +647,16 @@ LIB2FUNCS = _muldi3 _divdi3 _moddi3 _udivdi3 _umoddi3 _negdi2 \ _bb _shtab _clear_cache _trampoline __main _exit \ _ctors _eh _pure +FPBIT_FUNCS = _pack_sf _unpack_sf _addsub_sf _mul_sf _div_sf \ + _fpcmp_parts_sf _compare_sf _eq_sf _ne_sf _gt_sf _ge_sf \ + _lt_sf _le_sf _si_to_sf _sf_to_si _negate_sf _make_sf \ + _sf_to_df + +DPBIT_FUNCS = _pack_df _unpack_df _addsub_df _mul_df _div_df \ + _fpcmp_parts_df _compare_df _eq_df _ne_df _gt_df _ge_df \ + _lt_df _le_df _si_to_df _df_to_si _negate_df _make_df \ + _df_to_sf + # The files that "belong" in CONFIG_H are deliberately omitted # because having them there would not be useful in actual practice. # All they would do is cause complete recompilation every time @@ -974,7 +984,7 @@ libgcc2.ready: $(GCC_PASSES) $(LIBGCC2_DEPS) stmp-int-hdrs fi LIB2ADD = $(srcdir)/frame.c $(LIB2FUNCS_EXTRA) $(LANG_LIB2FUNCS) -libgcc2.a: libgcc2.c libgcc2.ready $(CONFIG_H) $(LIB2ADD) \ +libgcc2.a: libgcc2.c libgcc2.ready $(CONFIG_H) $(FPBIT) $(DPBIT) $(LIB2ADD) \ machmode.h longlong.h frame.h gansidecl.h gbl-ctors.h config.status # Actually build it in tmplibgcc2.a, then rename at end, # so that libgcc2.a itself remains nonexistent if compilation is aborted. @@ -994,6 +1004,28 @@ libgcc2.a: libgcc2.c libgcc2.ready $(CONFIG_H) $(LIB2ADD) \ $(AR) $(AR_FLAGS) tmplibgcc2.a $${name}$(objext); \ rm -f $${name}$(objext); \ done + if [ x$(FPBIT) != x ]; then \ + for name in $(FPBIT_FUNCS); \ + do \ + echo $${name}; \ + $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) $(INCLUDES) -c -DL$${name} \ + -DFINE_GRAINED_LIBRARIES $(FPBIT) -o $${name}$(objext); \ + if [ $$? -eq 0 ] ; then true; else exit 1; fi; \ + $(AR) $(AR_FLAGS) tmplibgcc2.a $${name}$(objext); \ + rm -f $${name}$(objext); \ + done; \ + else true; fi; + if [ x$(DPBIT) != x ]; then \ + for name in $(DPBIT_FUNCS); \ + do \ + echo $${name}; \ + $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) $(INCLUDES) -c -DL$${name} \ + -DFINE_GRAINED_LIBRARIES $(DPBIT) -o $${name}$(objext); \ + if [ $$? -eq 0 ] ; then true; else exit 1; fi; \ + $(AR) $(AR_FLAGS) tmplibgcc2.a $${name}$(objext); \ + rm -f $${name}$(objext); \ + done; \ + else true; fi; # Some shells crash when a loop has no items. # So make sure there is always at least one--`..'. # Then ignore it. |