OSDN Git Service

config-ml.in: Remove support for --disable-aix removing call-aix multilibs.
authornickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 13 Apr 2003 16:59:45 +0000 (16:59 +0000)
committernickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 13 Apr 2003 16:59:45 +0000 (16:59 +0000)
config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Delete support for
 -mcall-aix switch.
config/rs6000/eabiaix.h: Delete.
config/rs6000/rs6000.h (rs6000_abi): Remove ABI_AIX_NODESC.
 (RS6000_REG_SAVE, RS6000_SAVE_AREA, FP_ARGS_MAX_REG, RETURN_ADDRESS_OFFSET):
 Remove use of ABI_AIX_NODESC.
config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Likewise.
config/rs6000/rs6000.c (print_operand, rs6000_stack_info, debug_stack_info,
 output_function_profiler, rs6000_trampoline_size,
 rs6000_initialise_trampoline): Likewise.
config/rs6000/rs6000.md (call, call_value, call_nonlocal_sysv,
 call_indirect_nonlocal_sysv, call_value_indirect_nonlocal_sysv,
 call_value_nonlocal_sysv, sibcall_value_nonlocal_sysv, sibcall_nonlocal_sysv,
 sibcall_value_local64): Likewise.
config/rs6000/t-ppcgas (MULTILIB_OPTIONS): Remove mcall-aix multilibs.
 (MULTILIB_DIRNAMES): Remove mcall-aix directories.
 (MULTILIB_EXCEPTIONS): Delete.
 (MULTILIB_MATCHES): Remove mcall-aix matches.
doc/fragments.texi: Replace -mcall-aix example with an ARM one.
doc/install.texi: Delete powerpc-*-eabiaix target.
doc/invoke.texi: Remove documentation of mcall-aix switch.
doc/tm.texi: Remove mcall-aix from example CPP_SPEC.
config.gcc: Delete powerpc-*-eabiaix target.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@65546 138bc75d-0d04-0410-961f-82ee72b054a4

15 files changed:
ChangeLog
config-ml.in
gcc/ChangeLog
gcc/config.gcc
gcc/config/rs6000/eabiaix.h
gcc/config/rs6000/rs6000-c.c
gcc/config/rs6000/rs6000.c
gcc/config/rs6000/rs6000.h
gcc/config/rs6000/rs6000.md
gcc/config/rs6000/sysv4.h
gcc/config/rs6000/t-ppcgas
gcc/doc/fragments.texi
gcc/doc/install.texi
gcc/doc/invoke.texi
gcc/doc/tm.texi

index 9cba18a..828bc8b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2003-04-13  Nick Clifton  <nickc@redhat.com>
+
+       * config-ml.in: Remove support for --disable-aix removing
+       call-aix multilibs.
+
 2003-04-10  Alexandre Oliva  <aoliva@redhat.com>
 
        * libtool.m4 (lt_cv_deplibs_check_method): Use pass_all on mips*.
index d19a797..e227500 100644 (file)
@@ -464,17 +464,6 @@ powerpc*-*-* | rs6000*-*-*)
            esac
          done
        fi
-       if [ x$enable_aix = xno ]
-       then
-         old_multidirs="${multidirs}"
-         multidirs=""
-         for x in ${old_multidirs}; do
-           case "$x" in
-             *mcall-aix* ) : ;;
-             *) multidirs="${multidirs} ${x}" ;;
-           esac
-         done
-       fi
        ;;
 sparc*-*-*)
        case " $multidirs " in
index 337f0cf..d65be51 100644 (file)
@@ -1,3 +1,32 @@
+2003-04-13  Nick Clifton  <nickc@redhat.com>
+
+       * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Delete
+       support for -mcall-aix switch.
+       * config/rs6000/eabiaix.h: Delete.
+       * config/rs6000/rs6000.h (rs6000_abi): Remove ABI_AIX_NODESC.
+       (RS6000_REG_SAVE, RS6000_SAVE_AREA, FP_ARGS_MAX_REG,
+       RETURN_ADDRESS_OFFSET): Remove use of ABI_AIX_NODESC.
+       * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Likewise.
+       * config/rs6000/rs6000.c (print_operand, rs6000_stack_info,
+       debug_stack_info, output_function_profiler,
+       rs6000_trampoline_size, rs6000_initialise_trampoline): Likewise.
+       * config/rs6000/rs6000.md (call, call_value, call_nonlocal_sysv,
+       call_indirect_nonlocal_sysv, call_value_indirect_nonlocal_sysv,
+       call_value_nonlocal_sysv, sibcall_value_nonlocal_sysv,
+       sibcall_nonlocal_sysv, sibcall_value_local64): Likewise.
+       * config/rs6000/t-ppcgas (MULTILIB_OPTIONS): Remove mcall-aix
+       multilibs.
+       (MULTILIB_DIRNAMES): Remove mcall-aix directories.
+       (MULTILIB_EXCEPTIONS): Delete.
+       (MULTILIB_MATCHES): Remove mcall-aix matches.
+
+       * doc/fragments.texi: Replace -mcall-aix example with an ARM
+       one.
+       * doc/install.texi: Delete powerpc-*-eabiaix target.
+       * doc/invoke.texi: Remove documentation of mcall-aix switch.
+       * doc/tm.texi: Remove mcall-aix from example CPP_SPEC.
+       * config.gcc: Delete powerpc-*-eabiaix target.
+
 2003-04-13  Kazu Hirata  <kazu@cs.umass.edu>
 
        * doc/invoke.texi: Fix typos.
index 0da8afb..68b06c5 100644 (file)
@@ -1961,10 +1961,6 @@ powerpc-*-chorusos*)
                ;;
        esac
        ;;
-powerpc-*-eabiaix*)
-       tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/eabiaix.h"
-       tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
-       ;;
 powerpc-*-eabispe*)
        tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/eabispe.h"
        tmake_file="rs6000/t-fprules rs6000/t-ppcendian rs6000/t-ppccomm"
index 4e18067..e69de29 100644 (file)
@@ -1,36 +0,0 @@
-/* Embedded ELF system support, using old AIX based calling sequence.
-   Copyright (C) 1995, 1996, 2000 Free Software Foundation, Inc.
-   Contributed by Cygnus Support.
-
-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.  */
-
-/* Default ABI to use */
-#undef RS6000_ABI_NAME
-#define RS6000_ABI_NAME "aix"
-
-/* Define this macro as a C expression for the initializer of an
-   array of string to tell the driver program which options are
-   defaults for this target and thus do not need to be handled
-   specially when using `MULTILIB_OPTIONS'.
-
-   Do not define this macro if `MULTILIB_OPTIONS' is not defined in
-   the target makefile fragment or if none of the options listed in
-   `MULTILIB_OPTIONS' are set by default.  *Note Target Fragment::.  */
-
-#undef MULTILIB_DEFAULTS
-#define        MULTILIB_DEFAULTS { "mbig", "mcall-aix" }
index a9ea94f..01048dc 100644 (file)
@@ -114,9 +114,6 @@ rs6000_cpu_cpp_builtins (pfile)
     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");
index 929804b..8e9870a 100644 (file)
@@ -8185,7 +8185,6 @@ print_operand (file, x, code)
              break;
 
            case ABI_V4:
-           case ABI_AIX_NODESC:
            case ABI_DARWIN:
              break;
            }
@@ -9293,8 +9292,7 @@ is_altivec_return_reg (reg, xyes)
    align the stack at program startup.  A happy side-effect is that
    -mno-eabi libraries can be used with -meabi programs.)
 
-   The EABI configuration defaults to the V.4 layout, unless
-   -mcall-aix is used, in which case the AIX layout is used.  However,
+   The EABI configuration defaults to the V.4 layout.  However,
    the stack alignment requirements may differ.  If -mno-eabi is not
    given, the required stack alignment is 8 bytes; if -mno-eabi is
    given, the required alignment is 16 bytes.  (But see V.4 comment
@@ -9447,7 +9445,6 @@ rs6000_stack_info ()
       abort ();
 
     case ABI_AIX:
-    case ABI_AIX_NODESC:
     case ABI_DARWIN:
       info_ptr->fp_save_offset   = - info_ptr->fp_size;
       info_ptr->gp_save_offset   = info_ptr->fp_save_offset - info_ptr->gp_size;
@@ -9663,8 +9660,7 @@ debug_stack_info (info)
     {
     default:            abi_string = "Unknown";        break;
     case ABI_NONE:      abi_string = "NONE";           break;
-    case ABI_AIX:
-    case ABI_AIX_NODESC: abi_string = "AIX";           break;
+    case ABI_AIX:       abi_string = "AIX";            break;
     case ABI_DARWIN:    abi_string = "Darwin";         break;
     case ABI_V4:        abi_string = "V.4";            break;
     }
@@ -12447,9 +12443,6 @@ output_function_profiler (file, labelno)
 
     case ABI_V4:
       save_lr = 4;
-      /* Fall through.  */
-
-    case ABI_AIX_NODESC:
       if (!TARGET_32BIT)
        {
          warning ("no profiling of 64-bit code for this ABI");
@@ -12493,19 +12486,8 @@ output_function_profiler (file, labelno)
          asm_fprintf (file, "@l(%s)\n", reg_names[12]);
        }
 
-      if (current_function_needs_context && DEFAULT_ABI == ABI_AIX_NODESC)
-       {
-         asm_fprintf (file, "\t{st|stw} %s,%d(%s)\n",
-                      reg_names[STATIC_CHAIN_REGNUM],
-                      12, reg_names[1]);
-         fprintf (file, "\tbl %s\n", RS6000_MCOUNT);
-         asm_fprintf (file, "\t{l|lwz} %s,%d(%s)\n",
-                      reg_names[STATIC_CHAIN_REGNUM],
-                      12, reg_names[1]);
-       }
-      else
-       /* ABI_V4 saves the static chain reg with ASM_OUTPUT_REG_PUSH.  */
-       fprintf (file, "\tbl %s\n", RS6000_MCOUNT);
+      /* ABI_V4 saves the static chain reg with ASM_OUTPUT_REG_PUSH.  */
+      fprintf (file, "\tbl %s\n", RS6000_MCOUNT);
       break;
 
     case ABI_AIX:
@@ -12748,7 +12730,6 @@ rs6000_trampoline_size ()
 
     case ABI_DARWIN:
     case ABI_V4:
-    case ABI_AIX_NODESC:
       ret = (TARGET_32BIT) ? 40 : 48;
       break;
     }
@@ -12796,7 +12777,6 @@ rs6000_initialize_trampoline (addr, fnaddr, cxt)
     /* Under V.4/eabi/darwin, __trampoline_setup does the real work.  */
     case ABI_DARWIN:
     case ABI_V4:
-    case ABI_AIX_NODESC:
       emit_library_call (gen_rtx_SYMBOL_REF (SImode, "__trampoline_setup"),
                         FALSE, VOIDmode, 4,
                         addr, pmode,
index b326292..6bb65d8 100644 (file)
@@ -1386,8 +1386,6 @@ enum reg_class
 enum rs6000_abi {
   ABI_NONE,
   ABI_AIX,                     /* IBM's AIX */
-  ABI_AIX_NODESC,              /* AIX calling sequence minus
-                                  function descriptors */
   ABI_V4,                      /* System V.4/eabi */
   ABI_DARWIN                   /* Apple's Darwin (OS X kernel) */
 };
@@ -1452,14 +1450,13 @@ typedef struct rs6000_stack {
 
 /* Size of the outgoing register save area */
 #define RS6000_REG_SAVE ((DEFAULT_ABI == ABI_AIX                       \
-                         || DEFAULT_ABI == ABI_AIX_NODESC              \
                          || DEFAULT_ABI == ABI_DARWIN)                 \
                         ? (TARGET_64BIT ? 64 : 32)                     \
                         : 0)
 
 /* Size of the fixed area on the stack */
 #define RS6000_SAVE_AREA \
-  (((DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_AIX_NODESC || DEFAULT_ABI == ABI_DARWIN) ? 24 : 8)   \
+  (((DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_DARWIN) ? 24 : 8)    \
    << (TARGET_64BIT ? 1 : 0))
 
 /* MEM representing address to save the TOC register */
@@ -1625,7 +1622,6 @@ typedef struct rs6000_stack {
 #define        FP_ARG_AIX_MAX_REG 45
 #define        FP_ARG_V4_MAX_REG  40
 #define        FP_ARG_MAX_REG ((DEFAULT_ABI == ABI_AIX                         \
-                        || DEFAULT_ABI == ABI_AIX_NODESC               \
                         || DEFAULT_ABI == ABI_DARWIN)                  \
                        ? FP_ARG_AIX_MAX_REG : FP_ARG_V4_MAX_REG)
 #define FP_ARG_NUM_REG (FP_ARG_MAX_REG - FP_ARG_MIN_REG + 1)
@@ -1900,8 +1896,7 @@ typedef struct rs6000_args
    abi's store the return address.  */
 #define RETURN_ADDRESS_OFFSET                                          \
  ((DEFAULT_ABI == ABI_AIX                                              \
-   || DEFAULT_ABI == ABI_DARWIN                                                \
-   || DEFAULT_ABI == ABI_AIX_NODESC)   ? (TARGET_32BIT ? 8 : 16) :     \
+   || DEFAULT_ABI == ABI_DARWIN)       ? (TARGET_32BIT ? 8 : 16) :     \
   (DEFAULT_ABI == ABI_V4)              ? 4 :                           \
   (internal_error ("RETURN_ADDRESS_OFFSET not supported"), 0))
 
index eb65422..a51c81c 100644 (file)
        operands[0] = rs6000_longcall_ref (operands[0]);
 
       if (DEFAULT_ABI == ABI_V4
-          || DEFAULT_ABI == ABI_AIX_NODESC
          || DEFAULT_ABI == ABI_DARWIN)
        operands[0] = force_reg (Pmode, operands[0]);
 
        operands[1] = rs6000_longcall_ref (operands[1]);
 
       if (DEFAULT_ABI == ABI_V4
-         || DEFAULT_ABI == ABI_AIX_NODESC
          || DEFAULT_ABI == ABI_DARWIN)
        operands[0] = force_reg (Pmode, operands[0]);
 
         (match_operand 1 "" "g,g"))
    (use (match_operand:SI 2 "immediate_operand" "O,n"))
    (clobber (match_scratch:SI 3 "=l,l"))]
-  "DEFAULT_ABI == ABI_AIX_NODESC
-   || DEFAULT_ABI == ABI_V4
+  "DEFAULT_ABI == ABI_V4
    || DEFAULT_ABI == ABI_DARWIN"
 {
   if (INTVAL (operands[2]) & CALL_V4_SET_FP_ARGS)
         (match_operand 1 "" "g,g"))
    (use (match_operand:SI 2 "immediate_operand" "O,n"))
    (clobber (match_scratch:SI 3 "=l,l"))]
-  "(DEFAULT_ABI == ABI_AIX_NODESC
-    || DEFAULT_ABI == ABI_V4
+  "(DEFAULT_ABI == ABI_V4
     || DEFAULT_ABI == ABI_DARWIN)
    && (INTVAL (operands[2]) & CALL_LONG) == 0"
 {
              (match_operand 2 "" "g,g")))
    (use (match_operand:SI 3 "immediate_operand" "O,n"))
    (clobber (match_scratch:SI 4 "=l,l"))]
-  "DEFAULT_ABI == ABI_AIX_NODESC
-   || DEFAULT_ABI == ABI_V4
+  "DEFAULT_ABI == ABI_V4
    || DEFAULT_ABI == ABI_DARWIN"
 {
   if (INTVAL (operands[3]) & CALL_V4_SET_FP_ARGS)
              (match_operand 2 "" "g,g")))
    (use (match_operand:SI 3 "immediate_operand" "O,n"))
    (clobber (match_scratch:SI 4 "=l,l"))]
-  "(DEFAULT_ABI == ABI_AIX_NODESC
-    || DEFAULT_ABI == ABI_V4
+  "(DEFAULT_ABI == ABI_V4
     || DEFAULT_ABI == ABI_DARWIN)
    && (INTVAL (operands[3]) & CALL_LONG) == 0"
 {
    (use (match_operand:SI 3 "register_operand" "l,l"))
    (return)]
   "(DEFAULT_ABI == ABI_DARWIN
-     || DEFAULT_ABI == ABI_V4
-     || DEFAULT_ABI == ABI_AIX_NODESC)
+     || DEFAULT_ABI == ABI_V4)
    && (INTVAL (operands[2]) & CALL_LONG) == 0"
   "*
 {
    (use (match_operand:SI 4 "register_operand" "l,l"))
    (return)]
   "(DEFAULT_ABI == ABI_DARWIN
-       || DEFAULT_ABI == ABI_V4
-       || DEFAULT_ABI == ABI_AIX_NODESC)
+       || DEFAULT_ABI == ABI_V4)
    && (INTVAL (operands[3]) & CALL_LONG) == 0"
   "*
 {
index cdc15ac..0a072a7 100644 (file)
@@ -185,11 +185,6 @@ do {                                                                       \
       rs6000_current_abi = ABI_V4;                                     \
       target_flags |= MASK_EABI;                                       \
     }                                                                  \
-  else if (!strcmp (rs6000_abi_name, "aix"))                           \
-    {                                                                  \
-      rs6000_current_abi = ABI_AIX_NODESC;                             \
-      target_flags |= MASK_EABI;                                       \
-    }                                                                  \
   else if (!strcmp (rs6000_abi_name, "aixdesc"))                       \
     rs6000_current_abi = ABI_AIX;                                      \
   else if (!strcmp (rs6000_abi_name, "freebsd"))                       \
index 9b82b9f..120aef4 100644 (file)
@@ -2,18 +2,13 @@
 
 MULTILIB_OPTIONS       = msoft-float \
                          mlittle/mbig \
-                         mcall-sysv/mcall-aix \
                          fleading-underscore
 
 MULTILIB_DIRNAMES      = nof \
                          le be \
-                         cs ca \
                          und
 
 MULTILIB_EXTRA_OPTS    = mrelocatable-lib mno-eabi mstrict-align
-MULTILIB_EXCEPTIONS    = *mcall-aix/*fleading-underscore* \
-                         *mlittle/*mcall-aix*
 
 MULTILIB_MATCHES       = ${MULTILIB_MATCHES_FLOAT} \
-                         ${MULTILIB_MATCHES_ENDIAN} \
-                         ${MULTILIB_MATCHES_SYSV}
+                         ${MULTILIB_MATCHES_ENDIAN}
index 7987455..c9ebcf9 100644 (file)
@@ -134,12 +134,12 @@ specified, there are combinations that should not be built.  In that
 case, set @code{MULTILIB_EXCEPTIONS} to be all of the switch exceptions
 in shell case syntax that should not be built.
 
-For example, in the PowerPC embedded ABI support, it is not desirable
-to build libraries compiled with the @option{-mcall-aix} option
-and either of the @option{-fleading-underscore} or @option{-mlittle} options
-at the same time.  Therefore @code{MULTILIB_EXCEPTIONS} is set to
+For example the ARM processor cannot execute both hardware floating
+point instructions and the reduced size THUMB instructions at the same
+time, so there is no need to build libraries with both of these
+options enabled.  Therefore @code{MULTILIB_EXCEPTIONS} is set to:
 @smallexample
-*mcall-aix/*fleading-underscore* *mlittle/*mcall-aix*
+*mthumb/*mhard-float*
 @end smallexample
 
 @findex MULTILIB_EXTRA_OPTS
index b379c74..43c62fa 100644 (file)
@@ -2997,13 +2997,6 @@ Texinfo version 3.12).
 @html
 <hr />
 @end html
-@heading @anchor{powerpc-*-eabiaix}powerpc-*-eabiaix
-Embedded PowerPC system in big endian mode with @option{-mcall-aix} selected as
-the default.
-
-@html
-<hr />
-@end html
 @heading @anchor{powerpc-*-eabisim}powerpc-*-eabisim
 Embedded PowerPC system in big endian mode for use in running under the
 PSIM simulator.
index b69ea7e..689d2ce 100644 (file)
@@ -420,7 +420,7 @@ in the following sections.
 -mno-relocatable  -mrelocatable-lib  -mno-relocatable-lib @gol
 -mtoc  -mno-toc  -mlittle  -mlittle-endian  -mbig  -mbig-endian @gol
 -mdynamic-no-pic @gol
--mcall-aix  -mcall-sysv  -mcall-netbsd @gol
+-mcall-sysv  -mcall-netbsd @gol
 -maix-struct-return  -msvr4-struct-return @gol
 -mabi=altivec  -mabi=no-altivec @gol
 -mabi=spe  -mabi=no-spe @gol
@@ -7220,12 +7220,6 @@ Specify both @option{-mcall-sysv} and @option{-meabi} options.
 @opindex mcall-sysv-noeabi
 Specify both @option{-mcall-sysv} and @option{-mno-eabi} options.
 
-@item -mcall-aix
-@opindex mcall-aix
-On System V.4 and embedded PowerPC systems compile code using calling
-conventions that are similar to those used on AIX@.  This is the
-default if you configured GCC using @samp{powerpc-*-eabiaix}.
-
 @item -mcall-solaris
 @opindex mcall-solaris
 On System V.4 and embedded PowerPC systems compile code for the Solaris
index f9da5e2..84643b5 100644 (file)
@@ -337,8 +337,8 @@ The @file{config/rs6000/sysv.h} target file defines:
 #undef CPP_SPEC
 #define CPP_SPEC \
 "%@{posix: -D_POSIX_SOURCE @} \
-%@{mcall-sysv: -D_CALL_SYSV @} %@{mcall-aix: -D_CALL_AIX @} \
-%@{!mcall-sysv: %@{!mcall-aix: %(cpp_sysv_default) @}@} \
+%@{mcall-sysv: -D_CALL_SYSV @} \
+%@{!mcall-sysv: %(cpp_sysv_default) @} \
 %@{msoft-float: -D_SOFT_FLOAT@} %@{mcpu=403: -D_SOFT_FLOAT@}"
 
 #undef CPP_SYSV_DEFAULT