Commit 4c4eb375 by Geoffrey Keating Committed by Geoffrey Keating

config.gcc (powerpc*-*-*, [...]): Don't bother including softfloat.h.

	* config.gcc (powerpc*-*-*, rs6000-*-*-*): Don't bother including
	softfloat.h.
	* config/rs6000/vxppc.h (CPP_ENDIAN_BIG_SPEC): Delete.
	(CPP_ENDIAN_LITTLE_SPEC): Delete.
	* config/rs6000/sysv4le.h (CPP_ENDIAN_DEFAULT_SPEC): Delete.
	* config/rs6000/sysv4.h (CPP_SYSV_SPEC): Delete _SOFT_FLOAT setting,
	__LONG_DOUBLE_128__ setting, _CALL_* setting.
	(CPP_DEFAULT_SPEC): Delete.
	(CPP_FLOAT_DEFAULT_SPEC): Delete.
	(CPP_LONGDOUBLE_DEFAULT_SPEC): Delete.
	(CPP_SYSV_DEFAULT_SPEC): Delete.
	(CPP_ENDIAN_BIG_SPEC): Delete.
	(CPP_ENDIAN_LITTLE_SPEC): Delete.
	(CPP_ENDIAN_SPEC): Delete.
	(CPP_SPEC): Don't include cpp_endian, cpp_cpu.
	(SUBTARGET_EXTRA_SPECS): Delete cpp_sysv_default, cpp_endian_default,
	cpp_endian, cpp_endian_big, cpp_endian_little, cpp_float_default,
	cpp_longdouble_default.
	* config/rs6000/softfloat.h: Delete.
	* config/rs6000/rs6000.h (CPP_CPU_SPEC): Delete.
	(EXTRA_SPECS): Delete cpp_cpu.
	(TARGET_CPU_CPP_BUILTINS): New.
	* config/rs6000/rs6000-protos.h (rs6000_cpu_cpp_builtins): New
	prototype.
	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): New.
	* config/rs6000/linux64.h (CPP_PREDEFINES): Remove endianness defines.
	(CPP_DEFAULT_SPEC): Delete.
	* config/rs6000/eabiaix.h (CPP_SYSV_DEFAULT_SPEC): Delete.
	* config/rs6000/darwin.h (CPP_PREDEFINES): Don't define __BIG_ENDIAN__.
	* config/rs6000/beos.h (CPP_SPEC): Remove cpp_cpu.
	(CPP_DEFAULT_SPEC): Delete.
	* config/rs6000/aix51.h (CPP_SPEC): Remove cpp_cpu, -D_ARCH_PPC.
	(CPLUSPLUS_CPP_SPEC): Likewise.
	(CPP_CPU_SPEC): Delete.
	(CPP_DEFAULT_SPEC): Delete.
	* config/rs6000/aix43.h (CPP_SPEC): Remove cpp_cpu, -D_ARCH_PPC.
	(CPLUSPLUS_CPP_SPEC): Likewise.
	(CPP_CPU_SPEC): Delete.
	(CPP_DEFAULT_SPEC): Delete.
	* config/rs6000/aix41.h (CPP_SPEC): Remove cpp_cpu.
	(CPP_DEFAULT_SPEC): Delete.
	* config/rs6000/aix.h (CPP_SPEC): Remove cpp_cpu.
	(CPP_DEFAULT_SPEC): Delete.

From-SVN: r54534
parent fc5c400a
2002-06-11 Geoffrey Keating <geoffk@redhat.com> 2002-06-11 Geoffrey Keating <geoffk@redhat.com>
* config.gcc (powerpc*-*-*, rs6000-*-*-*): Don't bother including
softfloat.h.
* config/rs6000/vxppc.h (CPP_ENDIAN_BIG_SPEC): Delete.
(CPP_ENDIAN_LITTLE_SPEC): Delete.
* config/rs6000/sysv4le.h (CPP_ENDIAN_DEFAULT_SPEC): Delete.
* config/rs6000/sysv4.h (CPP_SYSV_SPEC): Delete _SOFT_FLOAT setting,
__LONG_DOUBLE_128__ setting, _CALL_* setting.
(CPP_DEFAULT_SPEC): Delete.
(CPP_FLOAT_DEFAULT_SPEC): Delete.
(CPP_LONGDOUBLE_DEFAULT_SPEC): Delete.
(CPP_SYSV_DEFAULT_SPEC): Delete.
(CPP_ENDIAN_BIG_SPEC): Delete.
(CPP_ENDIAN_LITTLE_SPEC): Delete.
(CPP_ENDIAN_SPEC): Delete.
(CPP_SPEC): Don't include cpp_endian, cpp_cpu.
(SUBTARGET_EXTRA_SPECS): Delete cpp_sysv_default, cpp_endian_default,
cpp_endian, cpp_endian_big, cpp_endian_little, cpp_float_default,
cpp_longdouble_default.
* config/rs6000/softfloat.h: Delete.
* config/rs6000/rs6000.h (CPP_CPU_SPEC): Delete.
(EXTRA_SPECS): Delete cpp_cpu.
(TARGET_CPU_CPP_BUILTINS): New.
* config/rs6000/rs6000-protos.h (rs6000_cpu_cpp_builtins): New
prototype.
* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): New.
* config/rs6000/linux64.h (CPP_PREDEFINES): Remove endianness defines.
(CPP_DEFAULT_SPEC): Delete.
* config/rs6000/eabiaix.h (CPP_SYSV_DEFAULT_SPEC): Delete.
* config/rs6000/darwin.h (CPP_PREDEFINES): Don't define __BIG_ENDIAN__.
* config/rs6000/beos.h (CPP_SPEC): Remove cpp_cpu.
(CPP_DEFAULT_SPEC): Delete.
* config/rs6000/aix51.h (CPP_SPEC): Remove cpp_cpu, -D_ARCH_PPC.
(CPLUSPLUS_CPP_SPEC): Likewise.
(CPP_CPU_SPEC): Delete.
(CPP_DEFAULT_SPEC): Delete.
* config/rs6000/aix43.h (CPP_SPEC): Remove cpp_cpu, -D_ARCH_PPC.
(CPLUSPLUS_CPP_SPEC): Likewise.
(CPP_CPU_SPEC): Delete.
(CPP_DEFAULT_SPEC): Delete.
* config/rs6000/aix41.h (CPP_SPEC): Remove cpp_cpu.
(CPP_DEFAULT_SPEC): Delete.
* config/rs6000/aix.h (CPP_SPEC): Remove cpp_cpu.
(CPP_DEFAULT_SPEC): Delete.
* doc/gty.texi: Small updates. * doc/gty.texi: Small updates.
2002-06-12 Gabriel Dos Reis <gdr@codesourcery.com> 2002-06-12 Gabriel Dos Reis <gdr@codesourcery.com>
......
...@@ -2876,7 +2876,6 @@ powerpc*-*-* | rs6000-*-*) ...@@ -2876,7 +2876,6 @@ powerpc*-*-* | rs6000-*-*)
x401 | x403 | x405 | xec603e | x801 | x821 | x823 | x860) x401 | x403 | x405 | xec603e | x801 | x821 | x823 | x860)
target_cpu_default2="\\\"$with_cpu\\\"" target_cpu_default2="\\\"$with_cpu\\\""
tm_file="$tm_file rs6000/softfloat.h"
;; ;;
xyes | xno) xyes | xno)
......
...@@ -48,11 +48,7 @@ Boston, MA 02111-1307, USA. */ ...@@ -48,11 +48,7 @@ Boston, MA 02111-1307, USA. */
target switches. */ target switches. */
#define CPP_SPEC "%{posix: -D_POSIX_SOURCE}\ #define CPP_SPEC "%{posix: -D_POSIX_SOURCE}\
%{ansi: -D_ANSI_C_SOURCE}\ %{ansi: -D_ANSI_C_SOURCE}"
%(cpp_cpu)"
#undef CPP_DEFAULT_SPEC
#define CPP_DEFAULT_SPEC "-D_ARCH_PWR"
#undef ASM_DEFAULT_SPEC #undef ASM_DEFAULT_SPEC
#define ASM_DEFAULT_SPEC "" #define ASM_DEFAULT_SPEC ""
......
...@@ -41,11 +41,7 @@ Boston, MA 02111-1307, USA. */ ...@@ -41,11 +41,7 @@ Boston, MA 02111-1307, USA. */
#define CPP_SPEC "%{posix: -D_POSIX_SOURCE}\ #define CPP_SPEC "%{posix: -D_POSIX_SOURCE}\
%{ansi: -D_ANSI_C_SOURCE}\ %{ansi: -D_ANSI_C_SOURCE}\
%{mpe: -I/usr/lpp/ppe.poe/include}\ %{mpe: -I/usr/lpp/ppe.poe/include}\
%{pthread: -D_THREAD_SAFE}\ %{pthread: -D_THREAD_SAFE}"
%(cpp_cpu)"
#undef CPP_DEFAULT_SPEC
#define CPP_DEFAULT_SPEC "-D_ARCH_COM"
#undef TARGET_DEFAULT #undef TARGET_DEFAULT
#define TARGET_DEFAULT MASK_NEW_MNEMONICS #define TARGET_DEFAULT MASK_NEW_MNEMONICS
......
...@@ -103,10 +103,9 @@ do { \ ...@@ -103,10 +103,9 @@ do { \
#undef CPP_SPEC #undef CPP_SPEC
#define CPP_SPEC "%{posix: -D_POSIX_SOURCE}\ #define CPP_SPEC "%{posix: -D_POSIX_SOURCE}\
%{ansi: -D_ANSI_C_SOURCE}\ %{ansi: -D_ANSI_C_SOURCE}\
%{maix64: -D__64BIT__ -D_ARCH_PPC -D__LONG_MAX__=9223372036854775807L}\ %{maix64: -D__64BIT__ -D__LONG_MAX__=9223372036854775807L}\
%{mpe: -I/usr/lpp/ppe.poe/include}\ %{mpe: -I/usr/lpp/ppe.poe/include}\
%{pthread: -D_THREAD_SAFE}\ %{pthread: -D_THREAD_SAFE}"
%(cpp_cpu)"
/* The GNU C++ standard library requires that these macros be /* The GNU C++ standard library requires that these macros be
defined. */ defined. */
...@@ -116,42 +115,9 @@ do { \ ...@@ -116,42 +115,9 @@ do { \
-D_XOPEN_SOURCE_EXTENDED=1 \ -D_XOPEN_SOURCE_EXTENDED=1 \
-D_LARGE_FILE_API \ -D_LARGE_FILE_API \
-D_ALL_SOURCE \ -D_ALL_SOURCE \
%{maix64: -D__64BIT__ -D_ARCH_PPC -D__LONG_MAX__=9223372036854775807L}\ %{maix64: -D__64BIT__ -D__LONG_MAX__=9223372036854775807L}\
%{mpe: -I/usr/lpp/ppe.poe/include}\ %{mpe: -I/usr/lpp/ppe.poe/include}\
%{pthread: -D_THREAD_SAFE}\ %{pthread: -D_THREAD_SAFE}"
%(cpp_cpu)"
/* Common CPP definitions used by CPP_SPEC among the various targets
for handling -mcpu=xxx switches. */
#undef CPP_CPU_SPEC
#define CPP_CPU_SPEC \
"%{!mcpu*: %{!maix64: \
%{mpower: %{!mpower2: -D_ARCH_PWR}} \
%{mpower2: -D_ARCH_PWR2} \
%{mpowerpc*: -D_ARCH_PPC} \
%{!mpower*: %{!mpowerpc*: %(cpp_default)}}}} \
%{mcpu=common: -D_ARCH_COM} \
%{mcpu=power: -D_ARCH_PWR} \
%{mcpu=power2: -D_ARCH_PWR2} \
%{mcpu=power3: -D_ARCH_PPC} \
%{mcpu=power4: -D_ARCH_PPC} \
%{mcpu=powerpc: -D_ARCH_PPC} \
%{mcpu=rios: -D_ARCH_PWR} \
%{mcpu=rios1: -D_ARCH_PWR} \
%{mcpu=rios2: -D_ARCH_PWR2} \
%{mcpu=rsc: -D_ARCH_PWR} \
%{mcpu=rsc1: -D_ARCH_PWR} \
%{mcpu=rs64a: -D_ARCH_PPC} \
%{mcpu=601: -D_ARCH_PPC -D_ARCH_PWR} \
%{mcpu=602: -D_ARCH_PPC} \
%{mcpu=603: -D_ARCH_PPC} \
%{mcpu=603e: -D_ARCH_PPC} \
%{mcpu=604: -D_ARCH_PPC} \
%{mcpu=620: -D_ARCH_PPC} \
%{mcpu=630: -D_ARCH_PPC}"
#undef CPP_DEFAULT_SPEC
#define CPP_DEFAULT_SPEC "-D_ARCH_COM"
#undef TARGET_DEFAULT #undef TARGET_DEFAULT
#define TARGET_DEFAULT MASK_NEW_MNEMONICS #define TARGET_DEFAULT MASK_NEW_MNEMONICS
......
...@@ -103,10 +103,9 @@ do { \ ...@@ -103,10 +103,9 @@ do { \
#undef CPP_SPEC #undef CPP_SPEC
#define CPP_SPEC "%{posix: -D_POSIX_SOURCE}\ #define CPP_SPEC "%{posix: -D_POSIX_SOURCE}\
%{ansi: -D_ANSI_C_SOURCE}\ %{ansi: -D_ANSI_C_SOURCE}\
%{maix64: -D__64BIT__ -D_ARCH_PPC -D__LONG_MAX__=9223372036854775807L} %{maix64: -D__64BIT__ -D__LONG_MAX__=9223372036854775807L}
%{mpe: -I/usr/lpp/ppe.poe/include}\ %{mpe: -I/usr/lpp/ppe.poe/include}\
%{pthread: -D_THREAD_SAFE}\ %{pthread: -D_THREAD_SAFE}"
%(cpp_cpu)"
/* The GNU C++ standard library requires that these macros be /* The GNU C++ standard library requires that these macros be
defined. */ defined. */
...@@ -116,42 +115,9 @@ do { \ ...@@ -116,42 +115,9 @@ do { \
-D_XOPEN_SOURCE_EXTENDED=1 \ -D_XOPEN_SOURCE_EXTENDED=1 \
-D_LARGE_FILE_API \ -D_LARGE_FILE_API \
-D_ALL_SOURCE \ -D_ALL_SOURCE \
%{maix64: -D__64BIT__ -D_ARCH_PPC -D__LONG_MAX__=9223372036854775807L} %{maix64: -D__64BIT__ -D__LONG_MAX__=9223372036854775807L}
%{mpe: -I/usr/lpp/ppe.poe/include}\ %{mpe: -I/usr/lpp/ppe.poe/include}\
%{pthread: -D_THREAD_SAFE}\ %{pthread: -D_THREAD_SAFE}"
%(cpp_cpu)"
/* Common CPP definitions used by CPP_SPEC among the various targets
for handling -mcpu=xxx switches. */
#undef CPP_CPU_SPEC
#define CPP_CPU_SPEC \
"%{!mcpu*: %{!maix64: \
%{mpower: %{!mpower2: -D_ARCH_PWR}} \
%{mpower2: -D_ARCH_PWR2} \
%{mpowerpc*: -D_ARCH_PPC} \
%{!mpower*: %{!mpowerpc*: %(cpp_default)}}}} \
%{mcpu=common: -D_ARCH_COM} \
%{mcpu=power: -D_ARCH_PWR} \
%{mcpu=power2: -D_ARCH_PWR2} \
%{mcpu=power3: -D_ARCH_PPC} \
%{mcpu=power4: -D_ARCH_PPC} \
%{mcpu=powerpc: -D_ARCH_PPC} \
%{mcpu=rios: -D_ARCH_PWR} \
%{mcpu=rios1: -D_ARCH_PWR} \
%{mcpu=rios2: -D_ARCH_PWR2} \
%{mcpu=rsc: -D_ARCH_PWR} \
%{mcpu=rsc1: -D_ARCH_PWR} \
%{mcpu=rs64a: -D_ARCH_PPC} \
%{mcpu=601: -D_ARCH_PPC -D_ARCH_PWR} \
%{mcpu=602: -D_ARCH_PPC} \
%{mcpu=603: -D_ARCH_PPC} \
%{mcpu=603e: -D_ARCH_PPC} \
%{mcpu=604: -D_ARCH_PPC} \
%{mcpu=620: -D_ARCH_PPC} \
%{mcpu=630: -D_ARCH_PPC}"
#undef CPP_DEFAULT_SPEC
#define CPP_DEFAULT_SPEC "-D_ARCH_COM"
#undef TARGET_DEFAULT #undef TARGET_DEFAULT
#define TARGET_DEFAULT MASK_NEW_MNEMONICS #define TARGET_DEFAULT MASK_NEW_MNEMONICS
......
...@@ -43,10 +43,7 @@ Boston, MA 02111-1307, USA. */ ...@@ -43,10 +43,7 @@ Boston, MA 02111-1307, USA. */
#define CPP_PREDEFINES "-D__BEOS__ -D__POWERPC__ -Asystem=beos -Acpu=powerpc -Amachine=powerpc" #define CPP_PREDEFINES "-D__BEOS__ -D__POWERPC__ -Asystem=beos -Acpu=powerpc -Amachine=powerpc"
#undef CPP_SPEC #undef CPP_SPEC
#define CPP_SPEC "%{posix: -D_POSIX_SOURCE} %(cpp_cpu)" #define CPP_SPEC "%{posix: -D_POSIX_SOURCE}"
#undef CPP_DEFAULT_SPEC
#define CPP_DEFAULT_SPEC "-D_ARCH_PPC"
/* This is the easiest way to disable use of gcc's builtin alloca, /* This is the easiest way to disable use of gcc's builtin alloca,
which in the current BeOS release (DR9) is a problem because of the which in the current BeOS release (DR9) is a problem because of the
......
...@@ -44,7 +44,7 @@ Boston, MA 02111-1307, USA. */ ...@@ -44,7 +44,7 @@ Boston, MA 02111-1307, USA. */
#define SUBTARGET_OVERRIDE_OPTIONS \ #define SUBTARGET_OVERRIDE_OPTIONS \
rs6000_altivec_abi = 1; rs6000_altivec_abi = 1;
#define CPP_PREDEFINES "-D__ppc__ -D__POWERPC__ -D__NATURAL_ALIGNMENT__ -D__MACH__ -D__BIG_ENDIAN__ -D__APPLE__" #define CPP_PREDEFINES "-D__ppc__ -D__POWERPC__ -D__NATURAL_ALIGNMENT__ -D__MACH__ -D__APPLE__"
/* We want -fPIC by default, unless we're using -static to compile for /* We want -fPIC by default, unless we're using -static to compile for
the kernel or some such. */ the kernel or some such. */
......
...@@ -23,9 +23,6 @@ Boston, MA 02111-1307, USA. */ ...@@ -23,9 +23,6 @@ Boston, MA 02111-1307, USA. */
#undef RS6000_ABI_NAME #undef RS6000_ABI_NAME
#define RS6000_ABI_NAME "aix" #define RS6000_ABI_NAME "aix"
#undef CPP_SYSV_DEFAULT_SPEC
#define CPP_SYSV_DEFAULT_SPEC "-D_CALL_AIX"
/* Define this macro as a C expression for the initializer of an /* Define this macro as a C expression for the initializer of an
array of string to tell the driver program which options are array of string to tell the driver program which options are
defaults for this target and thus do not need to be handled defaults for this target and thus do not need to be handled
......
...@@ -36,9 +36,6 @@ Boston, MA 02111-1307, USA. */ ...@@ -36,9 +36,6 @@ Boston, MA 02111-1307, USA. */
#undef PROCESSOR_DEFAULT64 #undef PROCESSOR_DEFAULT64
#define PROCESSOR_DEFAULT64 PROCESSOR_PPC630 #define PROCESSOR_DEFAULT64 PROCESSOR_PPC630
#undef CPP_DEFAULT_SPEC
#define CPP_DEFAULT_SPEC "-D_ARCH_PPC64"
#undef ASM_DEFAULT_SPEC #undef ASM_DEFAULT_SPEC
#define ASM_DEFAULT_SPEC "-mppc64" #define ASM_DEFAULT_SPEC "-mppc64"
...@@ -112,7 +109,7 @@ Boston, MA 02111-1307, USA. */ ...@@ -112,7 +109,7 @@ Boston, MA 02111-1307, USA. */
#undef CPP_PREDEFINES #undef CPP_PREDEFINES
#define CPP_PREDEFINES \ #define CPP_PREDEFINES \
"-D_PPC_ -D__PPC__ -D_PPC64_ -D__PPC64__ -D__powerpc__ -D__powerpc64__ \ "-D_PPC_ -D__PPC__ -D_PPC64_ -D__PPC64__ -D__powerpc__ -D__powerpc64__ \
-D_PIC_ -D__PIC__ -D_BIG_ENDIAN -D__BIG_ENDIAN__ -D__ELF__ \ -D_PIC_ -D__PIC__ -D__ELF__ \
-D__LONG_MAX__=9223372036854775807L \ -D__LONG_MAX__=9223372036854775807L \
-Acpu=powerpc64 -Amachine=powerpc64" -Acpu=powerpc64 -Amachine=powerpc64"
......
...@@ -69,3 +69,61 @@ rs6000_pragma_longcall (pfile) ...@@ -69,3 +69,61 @@ rs6000_pragma_longcall (pfile)
rs6000_default_long_calls = (n == integer_one_node); rs6000_default_long_calls = (n == integer_one_node);
} }
/* Handle defining many CPP flags based on TARGET_xxx. As a general
policy, rather than trying to guess what flags a user might want a
#define for, it's better to define a flag for everything. */
#define builtin_define(TXT) cpp_define (pfile, TXT)
#define builtin_assert(TXT) cpp_assert (pfile, TXT)
void
rs6000_cpu_cpp_builtins (pfile)
cpp_reader *pfile;
{
if (TARGET_POWER2)
builtin_define ("_ARCH_PWR2");
else if (TARGET_POWER)
builtin_define ("_ARCH_PWR");
if (TARGET_POWERPC)
builtin_define ("_ARCH_PPC");
if (TARGET_POWERPC64)
builtin_define ("_ARCH_PPC64");
if (! TARGET_POWER && ! TARGET_POWER2 && ! TARGET_POWERPC)
builtin_define ("_ARCH_COM");
if (TARGET_ALTIVEC)
builtin_define ("__ALTIVEC__");
if (TARGET_SOFT_FLOAT)
builtin_define ("_SOFT_FLOAT");
if (BYTES_BIG_ENDIAN)
{
builtin_define ("__BIG_ENDIAN__");
builtin_define ("_BIG_ENDIAN");
builtin_assert ("machine=bigendian");
}
else
{
builtin_define ("__LITTLE_ENDIAN__");
builtin_define ("_LITTLE_ENDIAN");
builtin_assert ("machine=littleendian");
}
if (TARGET_LONG_DOUBLE_128)
builtin_define ("__LONG_DOUBLE_128__");
switch (rs6000_current_abi)
{
case ABI_V4:
builtin_define ("_CALL_SYSV");
break;
case ABI_AIX_NODESC:
builtin_define ("_CALL_AIX");
break;
case ABI_AIX:
builtin_define ("_CALL_AIXDESC");
builtin_define ("_CALL_AIX");
break;
case ABI_DARWIN:
builtin_define ("_CALL_DARWIN");
break;
}
}
...@@ -183,8 +183,11 @@ extern void debug_stack_info PARAMS ((rs6000_stack_t *)); ...@@ -183,8 +183,11 @@ extern void debug_stack_info PARAMS ((rs6000_stack_t *));
extern void machopic_output_stub PARAMS ((FILE *, const char *, const char *)); extern void machopic_output_stub PARAMS ((FILE *, const char *, const char *));
/* Declare functions in rs6000-c.c */
#ifdef GCC_CPPLIB_H #ifdef GCC_CPPLIB_H
extern void rs6000_pragma_longcall PARAMS ((cpp_reader *)); extern void rs6000_pragma_longcall PARAMS ((cpp_reader *));
extern void rs6000_cpu_cpp_builtins PARAMS ((cpp_reader *));
#endif #endif
#endif /* rs6000-protos.h */ #endif /* rs6000-protos.h */
...@@ -46,48 +46,6 @@ Boston, MA 02111-1307, USA. */ ...@@ -46,48 +46,6 @@ Boston, MA 02111-1307, USA. */
#define TARGET_CPU_DEFAULT ((char *)0) #define TARGET_CPU_DEFAULT ((char *)0)
#endif #endif
/* Common CPP definitions used by CPP_SPEC among the various targets
for handling -mcpu=xxx switches. */
#define CPP_CPU_SPEC \
"%{!mcpu*: \
%{mpower: %{!mpower2: -D_ARCH_PWR}} \
%{mpower2: -D_ARCH_PWR2} \
%{mpowerpc*: -D_ARCH_PPC} \
%{mno-power: %{!mpowerpc*: -D_ARCH_COM}} \
%{!mno-power: %{!mpower2: %(cpp_default)}}} \
%{mcpu=common: -D_ARCH_COM} \
%{mcpu=power: -D_ARCH_PWR} \
%{mcpu=power2: -D_ARCH_PWR2} \
%{mcpu=power3: -D_ARCH_PPC} \
%{mcpu=power4: -D_ARCH_PPC} \
%{mcpu=powerpc: -D_ARCH_PPC} \
%{mcpu=rios: -D_ARCH_PWR} \
%{mcpu=rios1: -D_ARCH_PWR} \
%{mcpu=rios2: -D_ARCH_PWR2} \
%{mcpu=rsc: -D_ARCH_PWR} \
%{mcpu=rsc1: -D_ARCH_PWR} \
%{mcpu=401: -D_ARCH_PPC} \
%{mcpu=403: -D_ARCH_PPC} \
%{mcpu=405: -D_ARCH_PPC} \
%{mcpu=505: -D_ARCH_PPC} \
%{mcpu=601: -D_ARCH_PPC -D_ARCH_PWR} \
%{mcpu=602: -D_ARCH_PPC} \
%{mcpu=603: -D_ARCH_PPC} \
%{mcpu=603e: -D_ARCH_PPC} \
%{mcpu=ec603e: -D_ARCH_PPC} \
%{mcpu=604: -D_ARCH_PPC} \
%{mcpu=604e: -D_ARCH_PPC} \
%{mcpu=620: -D_ARCH_PPC} \
%{mcpu=740: -D_ARCH_PPC} \
%{mcpu=7400: -D_ARCH_PPC} \
%{mcpu=7450: -D_ARCH_PPC} \
%{mcpu=750: -D_ARCH_PPC} \
%{mcpu=801: -D_ARCH_PPC} \
%{mcpu=821: -D_ARCH_PPC} \
%{mcpu=823: -D_ARCH_PPC} \
%{mcpu=860: -D_ARCH_PPC} \
%{maltivec: -D__ALTIVEC__}"
/* Common ASM definitions used by ASM_SPEC among the various targets /* Common ASM definitions used by ASM_SPEC among the various targets
for handling -mcpu=xxx switches. */ for handling -mcpu=xxx switches. */
#define ASM_CPU_SPEC \ #define ASM_CPU_SPEC \
...@@ -148,7 +106,6 @@ Boston, MA 02111-1307, USA. */ ...@@ -148,7 +106,6 @@ Boston, MA 02111-1307, USA. */
#define SUBTARGET_EXTRA_SPECS #define SUBTARGET_EXTRA_SPECS
#define EXTRA_SPECS \ #define EXTRA_SPECS \
{ "cpp_cpu", CPP_CPU_SPEC }, \
{ "cpp_default", CPP_DEFAULT_SPEC }, \ { "cpp_default", CPP_DEFAULT_SPEC }, \
{ "asm_cpu", ASM_CPU_SPEC }, \ { "asm_cpu", ASM_CPU_SPEC }, \
{ "asm_default", ASM_DEFAULT_SPEC }, \ { "asm_default", ASM_DEFAULT_SPEC }, \
...@@ -494,15 +451,19 @@ extern int rs6000_default_long_calls; ...@@ -494,15 +451,19 @@ extern int rs6000_default_long_calls;
/* Define this to change the optimizations performed by default. */ /* Define this to change the optimizations performed by default. */
#define OPTIMIZATION_OPTIONS(LEVEL,SIZE) optimization_options(LEVEL,SIZE) #define OPTIMIZATION_OPTIONS(LEVEL,SIZE) optimization_options(LEVEL,SIZE)
/* Show we can debug even without a frame pointer. */
#define CAN_DEBUG_WITHOUT_FP
/* Target pragma. */ /* Target pragma. */
#define REGISTER_TARGET_PRAGMAS(PFILE) do { \ #define REGISTER_TARGET_PRAGMAS(PFILE) do { \
cpp_register_pragma (PFILE, 0, "longcall", rs6000_pragma_longcall); \ cpp_register_pragma (PFILE, 0, "longcall", rs6000_pragma_longcall); \
} while (0) } while (0)
/* Show we can debug even without a frame pointer. */ /* Target #defines. */
#define CAN_DEBUG_WITHOUT_FP #define TARGET_CPU_CPP_BUILTINS() \
rs6000_cpu_cpp_builtins (pfile)
/* target machine storage layout */ /* Target machine storage layout. */
/* Define this macro if it is advisable to hold scalars in registers /* Define this macro if it is advisable to hold scalars in registers
in a wider mode than that declared by the program. In such cases, in a wider mode than that declared by the program. In such cases,
......
/* Target definitions for GNU compiler for PowerPC defaulting to -msoft-float
Copyright (C) 2001
Free Software Foundation, Inc.
Contributed by Red Hat Inc.
This file is part of GNU CC.
GNU CC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU CC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#undef CPP_FLOAT_DEFAULT_SPEC
#define CPP_FLOAT_DEFAULT_SPEC "-D_SOFT_FLOAT"
...@@ -34,10 +34,6 @@ Boston, MA 02111-1307, USA. */ ...@@ -34,10 +34,6 @@ Boston, MA 02111-1307, USA. */
#undef ASM_DEFAULT_SPEC #undef ASM_DEFAULT_SPEC
#define ASM_DEFAULT_SPEC "-mppc" #define ASM_DEFAULT_SPEC "-mppc"
/* Override rs6000.h definition. */
#undef CPP_DEFAULT_SPEC
#define CPP_DEFAULT_SPEC "-D_ARCH_PPC"
/* Small data support types. */ /* Small data support types. */
enum rs6000_sdata_type { enum rs6000_sdata_type {
SDATA_NONE, /* No small data support. */ SDATA_NONE, /* No small data support. */
...@@ -969,55 +965,11 @@ do { \ ...@@ -969,55 +965,11 @@ do { \
#define CPP_SYSV_SPEC \ #define CPP_SYSV_SPEC \
"%{mrelocatable*: -D_RELOCATABLE} \ "%{mrelocatable*: -D_RELOCATABLE} \
%{fpic: -D__PIC__=1 -D__pic__=1} \ %{fpic: -D__PIC__=1 -D__pic__=1} \
%{!fpic: %{fPIC: -D__PIC__=2 -D__pic__=2}} \ %{!fpic: %{fPIC: -D__PIC__=2 -D__pic__=2}}"
%{mlong-double-128: -D__LONG_DOUBLE_128__=1} \
%{!mlong-double-64: %(cpp_longdouble_default)} \
%{mcall-sysv: -D_CALL_SYSV} \
%{mcall-aix: -D_CALL_AIX} %{mcall-aixdesc: -D_CALL_AIX -D_CALL_AIXDESC} \
%{!mcall-sysv: %{!mcall-aix: %{!mcall-aixdesc: %(cpp_sysv_default) }}} \
%{msoft-float: -D_SOFT_FLOAT} \
%{!msoft-float: %{!mhard-float: \
%{mcpu=401: -D_SOFT_FLOAT} \
%{mcpu=403: -D_SOFT_FLOAT} \
%{mcpu=405: -D_SOFT_FLOAT} \
%{mcpu=ec603e: -D_SOFT_FLOAT} \
%{mcpu=801: -D_SOFT_FLOAT} \
%{mcpu=821: -D_SOFT_FLOAT} \
%{mcpu=823: -D_SOFT_FLOAT} \
%{mcpu=860: -D_SOFT_FLOAT} \
%{!mcpu*: %(cpp_float_default) }}}"
/* Whether floating point is disabled by default. */
#define CPP_FLOAT_DEFAULT_SPEC ""
/* Whether 'long double' is 128 bits by default. */
#define CPP_LONGDOUBLE_DEFAULT_SPEC ""
#define CPP_SYSV_DEFAULT_SPEC "-D_CALL_SYSV"
#define CPP_ENDIAN_BIG_SPEC "-D_BIG_ENDIAN -D__BIG_ENDIAN__ -Amachine=bigendian"
#define CPP_ENDIAN_LITTLE_SPEC "-D_LITTLE_ENDIAN -D__LITTLE_ENDIAN__ -Amachine=littleendian"
#define CPP_ENDIAN_SPEC \
"%{mlittle: %(cpp_endian_little) } \
%{mlittle-endian: %(cpp_endian_little) } \
%{mbig: %(cpp_endian_big) } \
%{mbig-endian: %(cpp_endian_big) } \
%{!mlittle: %{!mlittle-endian: %{!mbig: %{!mbig-endian: \
%{mcall-freebsd: %(cpp_endian_big) } \
%{mcall-linux: %(cpp_endian_big) } \
%{mcall-gnu: %(cpp_endian_big) } \
%{mcall-netbsd: %(cpp_endian_big) } \
%{mcall-i960-old: %(cpp_endian_little) } \
%{mcall-aixdesc: %(cpp_endian_big) } \
%{!mcall-linux: %{!mcall-gnu: %{!mcall-freebsd: %{!mcall-netbsd: %{!mcall-aixdesc: %(cpp_endian_default) }}}}}}}}}"
#define CPP_ENDIAN_DEFAULT_SPEC "%(cpp_endian_big)"
/* Override rs6000.h definition. */ /* Override rs6000.h definition. */
#undef CPP_SPEC #undef CPP_SPEC
#define CPP_SPEC "%{posix: -D_POSIX_SOURCE} %(cpp_sysv) %(cpp_endian) %(cpp_cpu) \ #define CPP_SPEC "%{posix: -D_POSIX_SOURCE} %(cpp_sysv) \
%{mads: %(cpp_os_ads) } \ %{mads: %(cpp_os_ads) } \
%{myellowknife: %(cpp_os_yellowknife) } \ %{myellowknife: %(cpp_os_yellowknife) } \
%{mmvme: %(cpp_os_mvme) } \ %{mmvme: %(cpp_os_mvme) } \
...@@ -1323,9 +1275,6 @@ ncrtn.o%s" ...@@ -1323,9 +1275,6 @@ ncrtn.o%s"
#undef SUBTARGET_EXTRA_SPECS #undef SUBTARGET_EXTRA_SPECS
#define SUBTARGET_EXTRA_SPECS \ #define SUBTARGET_EXTRA_SPECS \
{ "cpp_sysv", CPP_SYSV_SPEC }, \ { "cpp_sysv", CPP_SYSV_SPEC }, \
{ "cpp_sysv_default", CPP_SYSV_DEFAULT_SPEC }, \
{ "cpp_endian_default", CPP_ENDIAN_DEFAULT_SPEC }, \
{ "cpp_endian", CPP_ENDIAN_SPEC }, \
{ "crtsavres_default", CRTSAVRES_DEFAULT_SPEC }, \ { "crtsavres_default", CRTSAVRES_DEFAULT_SPEC }, \
{ "lib_ads", LIB_ADS_SPEC }, \ { "lib_ads", LIB_ADS_SPEC }, \
{ "lib_yellowknife", LIB_YELLOWKNIFE_SPEC }, \ { "lib_yellowknife", LIB_YELLOWKNIFE_SPEC }, \
...@@ -1390,10 +1339,6 @@ ncrtn.o%s" ...@@ -1390,10 +1339,6 @@ ncrtn.o%s"
{ "cc1_endian_big", CC1_ENDIAN_BIG_SPEC }, \ { "cc1_endian_big", CC1_ENDIAN_BIG_SPEC }, \
{ "cc1_endian_little", CC1_ENDIAN_LITTLE_SPEC }, \ { "cc1_endian_little", CC1_ENDIAN_LITTLE_SPEC }, \
{ "cc1_endian_default", CC1_ENDIAN_DEFAULT_SPEC }, \ { "cc1_endian_default", CC1_ENDIAN_DEFAULT_SPEC }, \
{ "cpp_endian_big", CPP_ENDIAN_BIG_SPEC }, \
{ "cpp_endian_little", CPP_ENDIAN_LITTLE_SPEC }, \
{ "cpp_float_default", CPP_FLOAT_DEFAULT_SPEC }, \
{ "cpp_longdouble_default", CPP_LONGDOUBLE_DEFAULT_SPEC }, \
{ "cpp_os_ads", CPP_OS_ADS_SPEC }, \ { "cpp_os_ads", CPP_OS_ADS_SPEC }, \
{ "cpp_os_yellowknife", CPP_OS_YELLOWKNIFE_SPEC }, \ { "cpp_os_yellowknife", CPP_OS_YELLOWKNIFE_SPEC }, \
{ "cpp_os_mvme", CPP_OS_MVME_SPEC }, \ { "cpp_os_mvme", CPP_OS_MVME_SPEC }, \
......
...@@ -23,9 +23,6 @@ Boston, MA 02111-1307, USA. */ ...@@ -23,9 +23,6 @@ Boston, MA 02111-1307, USA. */
#undef TARGET_DEFAULT #undef TARGET_DEFAULT
#define TARGET_DEFAULT (MASK_POWERPC | MASK_NEW_MNEMONICS | MASK_LITTLE_ENDIAN) #define TARGET_DEFAULT (MASK_POWERPC | MASK_NEW_MNEMONICS | MASK_LITTLE_ENDIAN)
#undef CPP_ENDIAN_DEFAULT_SPEC
#define CPP_ENDIAN_DEFAULT_SPEC "%(cpp_endian_little)"
#undef CC1_ENDIAN_DEFAULT_SPEC #undef CC1_ENDIAN_DEFAULT_SPEC
#define CC1_ENDIAN_DEFAULT_SPEC "%(cc1_endian_little)" #define CC1_ENDIAN_DEFAULT_SPEC "%(cc1_endian_little)"
......
...@@ -44,13 +44,6 @@ Boston, MA 02111-1307, USA. */ ...@@ -44,13 +44,6 @@ Boston, MA 02111-1307, USA. */
-D__vxworks -D__vxworks__ -Asystem=vxworks -Asystem=embedded \ -D__vxworks -D__vxworks__ -Asystem=vxworks -Asystem=embedded \
-Acpu=powerpc -Amachine=powerpc" -Acpu=powerpc -Amachine=powerpc"
/* Don't define _LITTLE_ENDIAN or _BIG_ENDIAN */
#undef CPP_ENDIAN_BIG_SPEC
#define CPP_ENDIAN_BIG_SPEC "-D__BIG_ENDIAN__ -Amachine=bigendian"
#undef CPP_ENDIAN_LITTLE_SPEC
#define CPP_ENDIAN_LITTLE_SPEC "-D__LITTLE_ENDIAN__ -Amachine=littleendian"
/* We use stabs-in-elf for debugging */ /* We use stabs-in-elf for debugging */
#undef PREFERRED_DEBUGGING_TYPE #undef PREFERRED_DEBUGGING_TYPE
#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG #define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
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