GCC on AIX historically has used -maix64 and -maix32 to switch to
64 bit mode
    or 32 bit mode, unlike other ports that use -m64 and -m32.  The Alias()
    directive for options cannot be used because aix64 is expected in multiple
    parts of the compiler infrastructure and one cannot switch to -m64 due to
    backward compatibility.

    This patch defines DRIVER_SELF_SPECS to translate -m64 to -maix64 and
    -m32 to -maix32 so that the command line option compatible with other
    targets can be used while continuing to allow the historical options.

Bootstrapped on powerpc-ibm-aix7.2.3.0

Thanks, David

    gcc/ChangeLog:

            * config/rs6000/aix.h (SUBTARGET_DRIVER_SELF_SPECS): New.
            * config/rs6000/aix64.opt (m64): New.
            (m32): New.

diff --git a/gcc/config/rs6000/aix.h b/gcc/config/rs6000/aix.h
index b116e1a36bb..662785cc7db 100644
--- a/gcc/config/rs6000/aix.h
+++ b/gcc/config/rs6000/aix.h
@@ -280,3 +280,9 @@
 #define RS6000_USE_DWARF_NUMBERING

 #define TARGET_PRECOMPUTE_TLS_P rs6000_aix_precompute_tls_p
+
+/* Replace -m64 with -maix64 and -m32 with -maix32.  */
+#undef SUBTARGET_DRIVER_SELF_SPECS
+#define SUBTARGET_DRIVER_SELF_SPECS    \
+"%{m64:-maix64} %<m64",                        \
+"%{m32:-maix32} %<m32"

diff --git a/gcc/config/rs6000/aix64.opt b/gcc/config/rs6000/aix64.opt
index 7673c91e013..8473b110539 100644
--- a/gcc/config/rs6000/aix64.opt
+++ b/gcc/config/rs6000/aix64.opt
@@ -53,3 +53,9 @@ Driver

 pthread
 Driver
+
+m64
+Driver
+
+m32
+Driver

Reply via email to