diff options
author | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-01-18 18:45:46 +0000 |
---|---|---|
committer | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-01-18 18:45:46 +0000 |
commit | 86d3be83b32818b9687d680816426d80a2d97847 (patch) | |
tree | 684199b84d588a0a2d652904a8976192593bd0f1 | |
parent | 8bc6779205a840cc318e56497d99c4590455d084 (diff) | |
download | gcc-86d3be83b32818b9687d680816426d80a2d97847.tar.gz |
gcc/
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
-rw-r--r-- | gcc/ChangeLog | 11 | ||||
-rw-r--r-- | gcc/config/m68k/m68k.h | 12 | ||||
-rw-r--r-- | gcc/config/m68k/netbsd-elf.h | 1 | ||||
-rw-r--r-- | gcc/config/m68k/uclinux-oldabi.h | 6 |
4 files changed, 29 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 286f5f28520..83c6035f436 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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. diff --git a/gcc/config/m68k/m68k.h b/gcc/config/m68k/m68k.h index 17105b5db44..772943af8d8 100644 --- a/gcc/config/m68k/m68k.h +++ b/gcc/config/m68k/m68k.h @@ -259,7 +259,17 @@ Boston, MA 02110-1301, USA. */ /* 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 diff --git a/gcc/config/m68k/netbsd-elf.h b/gcc/config/m68k/netbsd-elf.h index c8dd1b9af34..e37bea0a629 100644 --- a/gcc/config/m68k/netbsd-elf.h +++ b/gcc/config/m68k/netbsd-elf.h @@ -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 diff --git a/gcc/config/m68k/uclinux-oldabi.h b/gcc/config/m68k/uclinux-oldabi.h index 82124f9619e..6e4746054c9 100644 --- a/gcc/config/m68k/uclinux-oldabi.h +++ b/gcc/config/m68k/uclinux-oldabi.h @@ -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 |