Commit 3d538bae by David Edelsohn Committed by David Edelsohn

aix43.h (SUBTARGET_OVERRIDE_OPTIONS): -msoft-float and -mlong-double-128 are incompatible.

        * config/rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): -msoft-float
        and -mlong-double-128 are incompatible.
        * config/rs6000/aix52.h (SUBTARGET_OVERRIDE_OPTIONS): Same.
        * config/rs6000/t-aix43 (LIB2FUNCS_EXTRA): Add ppc64-fp.c.
        (TARGET_LIBGCC2_CFLAGS): Define.
        * config/rs6000/t-aix52 (LIB2FUNCS_EXTRA): Same.
        (TARGET_LIBGCC2_CFLAGS): Same.
        * config/rs6000/ppc64-fp.c: Compile for 64-bit AIX.

From-SVN: r110333
parent 7ca383e6
2006-01-28 David Edelsohn <edelsohn@gnu.org>
* config/rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): -msoft-float
and -mlong-double-128 are incompatible.
* config/rs6000/aix52.h (SUBTARGET_OVERRIDE_OPTIONS): Same.
* config/rs6000/t-aix43 (LIB2FUNCS_EXTRA): Add ppc64-fp.c.
(TARGET_LIBGCC2_CFLAGS): Define.
* config/rs6000/t-aix52 (LIB2FUNCS_EXTRA): Same.
(TARGET_LIBGCC2_CFLAGS): Same.
* config/rs6000/ppc64-fp.c: Compile for 64-bit AIX.
2006-01-28 Kazu Hirata <kazu@codesourcery.com> 2006-01-28 Kazu Hirata <kazu@codesourcery.com>
PR c/19606. PR c/19606.
......
/* Definitions of target machine for GNU compiler, /* Definitions of target machine for GNU compiler,
for IBM RS/6000 POWER running AIX version 4.3. for IBM RS/6000 POWER running AIX version 4.3.
Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2005 Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006
Free Software Foundation, Inc. Free Software Foundation, Inc.
Contributed by David Edelsohn (edelsohn@gnu.org). Contributed by David Edelsohn (edelsohn@gnu.org).
...@@ -43,6 +43,12 @@ do { \ ...@@ -43,6 +43,12 @@ do { \
target_flags |= MASK_POWERPC64; \ target_flags |= MASK_POWERPC64; \
warning (0, "-maix64 requires PowerPC64 architecture remain enabled"); \ warning (0, "-maix64 requires PowerPC64 architecture remain enabled"); \
} \ } \
if (TARGET_SOFT_FLOAT && TARGET_LONG_DOUBLE_128) \
{ \
rs6000_long_double_type_size = 64; \
if (rs6000_explicit_options.long_double) \
warning (0, "soft-float and long-double-128 are incompatible"); \
} \
if (TARGET_POWERPC64 && ! TARGET_64BIT) \ if (TARGET_POWERPC64 && ! TARGET_64BIT) \
{ \ { \
error ("-maix64 required: 64-bit computation with 32-bit addressing not yet supported"); \ error ("-maix64 required: 64-bit computation with 32-bit addressing not yet supported"); \
......
/* Definitions of target machine for GNU compiler, /* Definitions of target machine for GNU compiler,
for IBM RS/6000 POWER running AIX V5.2. for IBM RS/6000 POWER running AIX V5.2.
Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
Contributed by David Edelsohn (edelsohn@gnu.org). Contributed by David Edelsohn (edelsohn@gnu.org).
This file is part of GCC. This file is part of GCC.
...@@ -42,6 +42,12 @@ do { \ ...@@ -42,6 +42,12 @@ do { \
target_flags |= MASK_POWERPC64; \ target_flags |= MASK_POWERPC64; \
warning (0, "-maix64 requires PowerPC64 architecture remain enabled"); \ warning (0, "-maix64 requires PowerPC64 architecture remain enabled"); \
} \ } \
if (TARGET_SOFT_FLOAT && TARGET_LONG_DOUBLE_128) \
{ \
rs6000_long_double_type_size = 64; \
if (rs6000_explicit_options.long_double) \
warning (0, "soft-float and long-double-128 are incompatible"); \
} \
if (TARGET_POWERPC64 && ! TARGET_64BIT) \ if (TARGET_POWERPC64 && ! TARGET_64BIT) \
{ \ { \
error ("-maix64 required: 64-bit computation with 32-bit addressing not yet supported"); \ error ("-maix64 required: 64-bit computation with 32-bit addressing not yet supported"); \
......
...@@ -30,7 +30,7 @@ along with GCC; see the file COPYING. If not, write to the Free ...@@ -30,7 +30,7 @@ along with GCC; see the file COPYING. If not, write to the Free
Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA. */ 02110-1301, USA. */
#if defined(__powerpc64__) #if defined(__powerpc64__) || defined (__64BIT__)
#define TMODES #define TMODES
#include "config/fp-bit.h" #include "config/fp-bit.h"
......
...@@ -67,7 +67,9 @@ SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver $(srcdir)/config/rs6000/libgcc-ppc64.v ...@@ -67,7 +67,9 @@ SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver $(srcdir)/config/rs6000/libgcc-ppc64.v
SHLIB_NM_FLAGS = -Bpg -X32_64 SHLIB_NM_FLAGS = -Bpg -X32_64
# GCC 128-bit long double support routines. # GCC 128-bit long double support routines.
LIB2FUNCS_EXTRA = $(srcdir)/config/rs6000/darwin-ldouble.c LIB2FUNCS_EXTRA = $(srcdir)/config/rs6000/ppc64-fp.c \
$(srcdir)/config/rs6000/darwin-ldouble.c
TARGET_LIBGCC2_CFLAGS = -mlong-double-128
# Either 32-bit and 64-bit objects in archives. # Either 32-bit and 64-bit objects in archives.
AR_FLAGS_FOR_TARGET = -X32_64 AR_FLAGS_FOR_TARGET = -X32_64
......
...@@ -48,7 +48,9 @@ SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver $(srcdir)/config/rs6000/libgcc-ppc64.v ...@@ -48,7 +48,9 @@ SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver $(srcdir)/config/rs6000/libgcc-ppc64.v
SHLIB_NM_FLAGS = -Bpg -X32_64 SHLIB_NM_FLAGS = -Bpg -X32_64
# GCC 128-bit long double support routines. # GCC 128-bit long double support routines.
LIB2FUNCS_EXTRA = $(srcdir)/config/rs6000/darwin-ldouble.c LIB2FUNCS_EXTRA = $(srcdir)/config/rs6000/ppc64-fp.c \
$(srcdir)/config/rs6000/darwin-ldouble.c
TARGET_LIBGCC2_CFLAGS = -mlong-double-128
# Either 32-bit and 64-bit objects in archives. # Either 32-bit and 64-bit objects in archives.
AR_FLAGS_FOR_TARGET = -X32_64 AR_FLAGS_FOR_TARGET = -X32_64
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment