]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
gcc/
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 18 Jan 2007 18:45:46 +0000 (18:45 +0000)
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 18 Jan 2007 18:45:46 +0000 (18:45 +0000)
200x-xx-xx  Julian Brown  <julian@codesourcery.com>
    Richard Sandiford  <richard@codesourcery.com>

* config/m68k/m68k.h (LONG_DOUBLE_TYPE_SIZE): Make 64-bit on ColdFire.
(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Likewise.
* config/m68k/netbsd-elf.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Undefine
before redefining.
* config/m68k/uclinux-oldabi.h (LONG_DOUBLE_TYPE_SIZE): Redefine to
80 unconditionally.
(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120910 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/m68k/m68k.h
gcc/config/m68k/netbsd-elf.h
gcc/config/m68k/uclinux-oldabi.h

index 286f5f285201028e4e15062a0a9ed06a98458d64..83c6035f436988130b1931a5cc6fe0a4a437a09c 100644 (file)
@@ -1,3 +1,14 @@
+2007-01-18  Julian Brown  <julian@codesourcery.com>
+           Richard Sandiford  <richard@codesourcery.com>
+
+       * config/m68k/m68k.h (LONG_DOUBLE_TYPE_SIZE): Make 64-bit on ColdFire.
+       (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Likewise.
+       * config/m68k/netbsd-elf.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Undefine
+       before redefining.
+       * config/m68k/uclinux-oldabi.h (LONG_DOUBLE_TYPE_SIZE): Redefine to
+       80 unconditionally.
+       (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Likewise.
+
 2007-01-18  Richard Sandiford  <richard@codesourcery.com>
 
        * doc/install.texi: Document m68k-uclinuxoldabi.
index 17105b5db444c56158e3f090822b6bfeae4272f5..772943af8d87ac88b1fbd0937ceae57b4ee427ee 100644 (file)
@@ -259,7 +259,17 @@ Boston, MA 02110-1301, USA.  */
 \f
 /* target machine storage layout */
 
-#define LONG_DOUBLE_TYPE_SIZE 80
+/* "long double" is the same as "double" on ColdFire targets.  */
+
+#define LONG_DOUBLE_TYPE_SIZE (TARGET_COLDFIRE ? 64 : 80)
+
+/* We need to know the size of long double at compile-time in libgcc2.  */
+
+#ifdef __mcoldfire__
+#define LIBGCC2_LONG_DOUBLE_TYPE_SIZE 64
+#else
+#define LIBGCC2_LONG_DOUBLE_TYPE_SIZE 80
+#endif
 
 /* Set the value of FLT_EVAL_METHOD in float.h.  When using 68040 fp
    instructions, we get proper intermediate rounding, otherwise we
index c8dd1b9af34e51c1aeafe7faaa9672106a6cb54a..e37bea0a6290e030146c204f2b18e4140062f991 100644 (file)
@@ -40,6 +40,7 @@ Boston, MA 02110-1301, USA.  */
 #undef LONG_DOUBLE_TYPE_SIZE
 #define LONG_DOUBLE_TYPE_SIZE (TARGET_68020 ? 80 : 64)
 
+#undef LIBGCC2_LONG_DOUBLE_TYPE_SIZE
 #ifdef __mc68010__
 #define LIBGCC2_LONG_DOUBLE_TYPE_SIZE 64
 #else
index 82124f9619e03a20a43b754daa5da8efac76ff7c..6e4746054c9be07b7784a936eb78f934c8762b1c 100644 (file)
@@ -22,6 +22,12 @@ the Free Software Foundation, 51 Franklin Street, Fifth Floor,
 Boston, MA 02110-1301, USA.  */
 
 
+/* The old uClinux ABI used 80-byte "long double"s for ColdFire too.  */
+#undef LONG_DOUBLE_TYPE_SIZE
+#define LONG_DOUBLE_TYPE_SIZE 80
+#undef LIBGCC2_LONG_DOUBLE_TYPE_SIZE
+#define LIBGCC2_LONG_DOUBLE_TYPE_SIZE 80
+
 /* Undo the definition of STARTFILE_SPEC from m68kelf.h so we'll
    pick the default from gcc.c (just link crt0.o from multilib dir).  */
 #undef STARTFILE_SPEC