summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormeissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4>1996-04-04 16:45:26 +0000
committermeissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4>1996-04-04 16:45:26 +0000
commitd904c4a84c7967b8cc1457a0bf74245f2775857c (patch)
tree7fd84d7adf1e64111f4f7de54d28ddf03f1e7219
parent0f47ada979df78e9b8f6dfa8856461d8ddc9d2b6 (diff)
downloadgcc-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.c44
-rw-r--r--gcc/config/i960/t-960bare6
-rw-r--r--gcc/config/i960/t-vxworks9606
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