2
0
mirror of git://gcc.gnu.org/git/gcc.git synced 2025-04-04 20:21:36 +08:00

Add support for EXTENDED_FLOAT_STUBS

From-SVN: r11659
This commit is contained in:
Michael Meissner 1996-04-04 16:45:26 +00:00
parent 22745c7e7a
commit b9b7c94c41
3 changed files with 54 additions and 2 deletions

@ -62,6 +62,49 @@ Boston, MA 02111-1307, USA. */
SMALL_MACHINE: Useful when operations on QIs and HIs are faster
than on an SI */
/* We don't currently support extended floats (long doubles) on machines
without hardware to deal with them.
These stubs are just to keep the linker from complaining about unresolved
references which can be pulled in from libio & libstdc++, even if the
user isn't using long doubles. However, they may generate an unresolved
external to abort if abort is not used by the function, and the stubs
are referenced from within libc, since libgcc goes before and after the
system library. */
#ifdef EXTENDED_FLOAT_STUBS
__truncxfsf2 (){ abort(); }
__extendsfxf2 (){ abort(); }
__addxf3 (){ abort(); }
__divxf3 (){ abort(); }
__eqxf2 (){ abort(); }
__extenddfxf2 (){ abort(); }
__gtxf2 (){ abort(); }
__lexf2 (){ abort(); }
__ltxf2 (){ abort(); }
__mulxf3 (){ abort(); }
__negxf2 (){ abort(); }
__nexf2 (){ abort(); }
__subxf3 (){ abort(); }
__truncxfdf2 (){ abort(); }
__trunctfsf2 (){ abort(); }
__extendsftf2 (){ abort(); }
__addtf3 (){ abort(); }
__divtf3 (){ abort(); }
__eqtf2 (){ abort(); }
__extenddftf2 (){ abort(); }
__gttf2 (){ abort(); }
__letf2 (){ abort(); }
__lttf2 (){ abort(); }
__multf3 (){ abort(); }
__negtf2 (){ abort(); }
__netf2 (){ abort(); }
__subtf3 (){ abort(); }
__trunctfdf2 (){ abort(); }
#else /* !EXTENDED_FLOAT_STUBS, rest of file */
typedef SFtype __attribute__ ((mode (SF)));
typedef DFtype __attribute__ ((mode (DF)));
@ -1350,3 +1393,4 @@ df_to_sf (DFtype arg_a)
}
#endif
#endif /* !EXTENDED_FLOAT_STUBS */

@ -1,7 +1,7 @@
LIBGCC1 =
CROSS_LIBGCC1 =
LIB2FUNCS_EXTRA = fp-bit.c dp-bit.c
LIB2FUNCS_EXTRA = fp-bit.c dp-bit.c xp-bit.c
dp-bit.c: $(srcdir)/config/fp-bit.c
echo '#define FLOAT_BIT_ORDER_MISMATCH' > dp-bit.c
@ -12,6 +12,10 @@ fp-bit.c: $(srcdir)/config/fp-bit.c
echo '#define FLOAT_BIT_ORDER_MISMATCH' >> fp-bit.c
cat $(srcdir)/config/fp-bit.c >> fp-bit.c
xp-bit.c: $(srcdir)/config/xp-bit.c
echo '#define EXTENDED_FLOAT_STUBS' > xp-bit.c
cat $(srcdir)/config/fp-bit.c >> xp-bit.c
MULTILIB_OPTIONS=mnumerics
MULTILIB_DIRNAMES=float
MULTILIB_MATCHES=mnumerics=msb mnumerics=msc mnumerics=mkb mnumerics=mkc mnumerics=mmc mnumerics=mcb mnumerics=mcc

@ -4,7 +4,7 @@ CROSS_LIBGCC1 =
# We don't want to put exit in libgcc.a for VxWorks, because VxWorks
# does not have _exit.
LIBGCC2_CFLAGS = -O2 $(GCC_CFLAGS) -g1 -Dexit=unused_exit
LIB2FUNCS_EXTRA = fp-bit.c dp-bit.c
LIB2FUNCS_EXTRA = fp-bit.c dp-bit.c xp-bit.c
dp-bit.c: $(srcdir)/config/fp-bit.c
echo '#define FLOAT_BIT_ORDER_MISMATCH' > dp-bit.c
@ -15,6 +15,10 @@ fp-bit.c: $(srcdir)/config/fp-bit.c
echo '#define FLOAT_BIT_ORDER_MISMATCH' >> fp-bit.c
cat $(srcdir)/config/fp-bit.c >> fp-bit.c
xp-bit.c: $(srcdir)/config/fp-bit.c
echo '#define EXTENDED_FLOAT_STUBS' > xp-bit.c
cat $(srcdir)/config/fp-bit.c >> xp-bit.c
MULTILIB_OPTIONS=mnumerics
MULTILIB_DIRNAMES=float
MULTILIB_MATCHES=mnumerics=msb mnumerics=msc mnumerics=mkb mnumerics=mkc mnumerics=mmc mnumerics=mcb mnumerics=mcc