diff options
author | Julian Brown <julian@codesourcery.com> | 2007-01-18 18:45:46 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2007-01-18 18:45:46 +0000 |
commit | 5189ab949ec36792eea8d11f4f64f611f5855522 (patch) | |
tree | 684199b84d588a0a2d652904a8976192593bd0f1 /gcc | |
parent | 4529dbf15fa88a1c2a5a51be43bd74c84bf8ca96 (diff) | |
download | gcc-5189ab949ec36792eea8d11f4f64f611f5855522.zip gcc-5189ab949ec36792eea8d11f4f64f611f5855522.tar.gz gcc-5189ab949ec36792eea8d11f4f64f611f5855522.tar.bz2 |
200x-xx-xx Julian Brown <julian@codesourcery.com> Richard Sandiford <richard@codesourcery.com>
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.
Co-Authored-By: Richard Sandiford <richard@codesourcery.com>
From-SVN: r120910
Diffstat (limited to 'gcc')
-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 286f5f2..83c6035 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 17105b5..772943a 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 c8dd1b9..e37bea0 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 82124f9..6e47460 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 |