OSDN Git Service

Add support for EXTENDED_FLOAT_STUBS
authormeissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 4 Apr 1996 16:45:26 +0000 (16:45 +0000)
committermeissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 4 Apr 1996 16:45:26 +0000 (16:45 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@11659 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/config/fp-bit.c
gcc/config/i960/t-960bare
gcc/config/i960/t-vxworks960

index 4ee08f1..eb160e8 100644 (file)
@@ -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 */
index 20a4870..3ffcf95 100644 (file)
@@ -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
index 84949cf..b2aa7d4 100644 (file)
@@ -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