diff options
Diffstat (limited to 'gcc/config/rs6000/aix43.h')
| -rw-r--r-- | gcc/config/rs6000/aix43.h | 49 |
1 files changed, 15 insertions, 34 deletions
diff --git a/gcc/config/rs6000/aix43.h b/gcc/config/rs6000/aix43.h index 8b0c6fb6b05..3822c0a2aa3 100644 --- a/gcc/config/rs6000/aix43.h +++ b/gcc/config/rs6000/aix43.h @@ -1,6 +1,6 @@ /* Definitions of target machine for GNU compiler, for IBM RS/6000 POWER running AIX version 4.3. - Copyright (C) 1998, 1999 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc. Contributed by David Edelsohn (edelsohn@gnu.org). This file is part of GNU CC. @@ -21,17 +21,20 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* Enable AIX XL compiler calling convention breakage compatibility. */ -#define MASK_XL_CALL 0x40000000 -#define TARGET_XL_CALL (target_flags & MASK_XL_CALL) -#undef SUBTARGET_SWITCHES -#define SUBTARGET_SWITCHES \ - {"aix64", MASK_64BIT | MASK_POWERPC64 | MASK_POWERPC}, \ - {"aix32", - (MASK_64BIT | MASK_POWERPC64)}, \ - {"xl-call", MASK_XL_CALL}, \ - {"no-xl-call", - MASK_XL_CALL}, \ - {"threads", 0}, \ - {"pe", 0}, +#include "rs6000/rs6000.h" +#include "rs6000/aix.h" + +/* AIX 4.3 and above support 64-bit executables. */ +#undef SUBSUBTARGET_SWITCHES +#define SUBSUBTARGET_SWITCHES \ + {"aix64", MASK_64BIT | MASK_POWERPC64 | MASK_POWERPC, \ + "Compile for 64-bit pointers" }, \ + {"aix32", - (MASK_64BIT | MASK_POWERPC64), \ + "Compile for 32-bit pointers" }, \ + {"threads", 0, \ + "Use the thread library and reentrant C library" }, \ + {"pe", 0, \ + "Support message passing with the Parallel Environment" }, /* Sometimes certain combinations of command options do not make sense on a particular target machine. You can define a macro @@ -57,8 +60,6 @@ do { \ } \ } while (0); -#include "rs6000/rs6000.h" - #undef ASM_SPEC #define ASM_SPEC "-u %{maix64:-a64 -mppc64} %(asm_cpu)" @@ -161,24 +162,6 @@ do { \ #undef MULTILIB_DEFAULTS #define MULTILIB_DEFAULTS { "mcpu=common" } -/* These are not necessary when we pass -u to the assembler, and undefining - them saves a great deal of space in object files. */ - -#undef ASM_OUTPUT_EXTERNAL -#undef ASM_OUTPUT_EXTERNAL_LIBCALL -#define ASM_OUTPUT_EXTERNAL(FILE, DECL, NAME) \ -{ rtx _symref = XEXP (DECL_RTL (DECL), 0); \ - if ((TREE_CODE (DECL) == VAR_DECL \ - || TREE_CODE (DECL) == FUNCTION_DECL) \ - && (NAME)[strlen (NAME) - 1] != ']') \ - { \ - char *_name = (char *) permalloc (strlen (XSTR (_symref, 0)) + 5); \ - strcpy (_name, XSTR (_symref, 0)); \ - strcat (_name, TREE_CODE (DECL) == FUNCTION_DECL ? "[DS]" : "[RW]"); \ - XSTR (_symref, 0) = _name; \ - } \ -} - #undef LIB_SPEC #define LIB_SPEC "%{pg:-L/lib/profiled -L/usr/lib/profiled}\ %{p:-L/lib/profiled -L/usr/lib/profiled}\ @@ -214,7 +197,6 @@ do { \ #undef RS6000_CALL_GLUE #define RS6000_CALL_GLUE "{cror 31,31,31|nop}" -#if 0 /* AIX 4.2 and above provides initialization and finalization function support from linker command line. */ #undef HAS_INIT_SECTION @@ -222,4 +204,3 @@ do { \ #undef LD_INIT_SWITCH #define LD_INIT_SWITCH "-binitfini" -#endif |

