summaryrefslogtreecommitdiffstats
path: root/contrib/gcc/config/rs6000/aix.h
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/gcc/config/rs6000/aix.h')
-rw-r--r--contrib/gcc/config/rs6000/aix.h53
1 files changed, 34 insertions, 19 deletions
diff --git a/contrib/gcc/config/rs6000/aix.h b/contrib/gcc/config/rs6000/aix.h
index d8dde5b..505d758 100644
--- a/contrib/gcc/config/rs6000/aix.h
+++ b/contrib/gcc/config/rs6000/aix.h
@@ -21,14 +21,31 @@ Boston, MA 02111-1307, USA. */
/* Yes! We are AIX! */
#define DEFAULT_ABI ABI_AIX
-#undef TARGET_AIX
+#undef TARGET_AIX
#define TARGET_AIX 1
+
+/* AIX always has a TOC. */
+#define TARGET_NO_TOC 0
+#define TARGET_TOC 1
+#define FIXED_R2 1
+
+/* AIX allows r13 to be used in 32-bit mode. */
+#define FIXED_R13 0
+
+/* AIX does not support Altivec. */
+#undef TARGET_ALTIVEC
+#define TARGET_ALTIVEC 0
+#undef TARGET_ALTIVEC_ABI
+#define TARGET_ALTIVEC_ABI 0
+#undef TARGET_ALTIVEC_VRSAVE
+#define TARGET_ALTIVEC_VRSAVE 0
+
/* The AIX linker will discard static constructors in object files before
collect has a chance to see them, so scan the object files directly. */
#define COLLECT_EXPORT_LIST
/* Handle #pragma weak and #pragma pack. */
-#define HANDLE_SYSV_PRAGMA
+#define HANDLE_SYSV_PRAGMA 1
/* This is the only version of nm that collect2 can work with. */
#define REAL_NM_FILE_NAME "/usr/ucb/nm"
@@ -41,18 +58,26 @@ Boston, MA 02111-1307, USA. */
#define LINK_LIBGCC_SPECIAL_1
/* Names to predefine in the preprocessor for this target machine. */
-#define CPP_PREDEFINES "-D_IBMR2 -D_POWER -D_AIX -D_AIX32 -D_LONG_LONG \
--Asystem=unix -Asystem=aix -Acpu=rs6000 -Amachine=rs6000"
+#define TARGET_OS_CPP_BUILTINS() \
+ do \
+ { \
+ builtin_define ("_IBMR2"); \
+ builtin_define ("_POWER"); \
+ builtin_define ("_AIX"); \
+ builtin_define ("_AIX32"); \
+ builtin_define ("_LONG_LONG"); \
+ builtin_assert ("system=unix"); \
+ builtin_assert ("system=aix"); \
+ builtin_assert ("cpu=rs6000"); \
+ builtin_assert ("machine=rs6000"); \
+ } \
+ while (0)
/* Define appropriate architecture macros for preprocessor depending on
target switches. */
#define CPP_SPEC "%{posix: -D_POSIX_SOURCE}\
- %{ansi: -D_ANSI_C_SOURCE}\
- %(cpp_cpu)"
-
-#undef CPP_DEFAULT_SPEC
-#define CPP_DEFAULT_SPEC "-D_ARCH_PWR"
+ %{ansi: -D_ANSI_C_SOURCE}"
#undef ASM_DEFAULT_SPEC
#define ASM_DEFAULT_SPEC ""
@@ -121,8 +146,6 @@ Boston, MA 02111-1307, USA. */
? MAX (MAX ((COMPUTED), (SPECIFIED)), 64) \
: MAX ((COMPUTED), (SPECIFIED)))
-
-
/* Indicate that jump tables go in the text section. */
#define JUMP_TABLES_IN_TEXT_SECTION 1
@@ -176,14 +199,6 @@ Boston, MA 02111-1307, USA. */
} \
} while (0)
-/* AIX always has a TOC. */
-#define TARGET_NO_TOC 0
-#define TARGET_TOC 1
-
-#define FIXED_R2 1
-/* AIX allows r13 to be used. */
-#define FIXED_R13 0
-
/* __throw will restore its own return address to be the same as the
return address of the function that the throw is being made to.
This is unfortunate, because we want to check the original
OpenPOWER on IntegriCloud