diff options
author | meissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4> | 1996-04-04 16:45:26 +0000 |
---|---|---|
committer | meissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4> | 1996-04-04 16:45:26 +0000 |
commit | d904c4a84c7967b8cc1457a0bf74245f2775857c (patch) | |
tree | 7fd84d7adf1e64111f4f7de54d28ddf03f1e7219 | |
parent | 0f47ada979df78e9b8f6dfa8856461d8ddc9d2b6 (diff) | |
download | gcc-d904c4a84c7967b8cc1457a0bf74245f2775857c.tar.gz |
Add support for EXTENDED_FLOAT_STUBS
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@11659 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/config/fp-bit.c | 44 | ||||
-rw-r--r-- | gcc/config/i960/t-960bare | 6 | ||||
-rw-r--r-- | gcc/config/i960/t-vxworks960 | 6 |
3 files changed, 54 insertions, 2 deletions
diff --git a/gcc/config/fp-bit.c b/gcc/config/fp-bit.c index 4ee08f1629b..eb160e8afc7 100644 --- a/gcc/config/fp-bit.c +++ b/gcc/config/fp-bit.c @@ -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 */ diff --git a/gcc/config/i960/t-960bare b/gcc/config/i960/t-960bare index 20a4870c939..3ffcf951aeb 100644 --- a/gcc/config/i960/t-960bare +++ b/gcc/config/i960/t-960bare @@ -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 diff --git a/gcc/config/i960/t-vxworks960 b/gcc/config/i960/t-vxworks960 index 84949cf17f5..b2aa7d466a3 100644 --- a/gcc/config/i960/t-vxworks960 +++ b/gcc/config/i960/t-vxworks960 @@ -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 |