Skip to content

Commit

Permalink
config-ml.in: Remove support for --disable-aix removing call-aix mult…
Browse files Browse the repository at this point in the history
…ilibs.

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
  • Loading branch information
nickc committed Apr 13, 2003
1 parent 5dd077a commit 82aa4d6
Show file tree
Hide file tree
Showing 15 changed files with 55 additions and 131 deletions.
5 changes: 5 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -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*.
Expand Down
11 changes: 0 additions & 11 deletions config-ml.in
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
29 changes: 29 additions & 0 deletions gcc/ChangeLog
Original file line number Diff line number Diff line change
@@ -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.
Expand Down
4 changes: 0 additions & 4 deletions gcc/config.gcc
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
36 changes: 0 additions & 36 deletions gcc/config/rs6000/eabiaix.h
Original file line number Diff line number Diff line change
@@ -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" }
3 changes: 0 additions & 3 deletions gcc/config/rs6000/rs6000-c.c
Original file line number Diff line number Diff line change
Expand Up @@ -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");
Expand Down
28 changes: 4 additions & 24 deletions gcc/config/rs6000/rs6000.c
Original file line number Diff line number Diff line change
Expand Up @@ -8185,7 +8185,6 @@ print_operand (file, x, code)
break;

case ABI_V4:
case ABI_AIX_NODESC:
case ABI_DARWIN:
break;
}
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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;
}
Expand Down Expand Up @@ -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");
Expand Down Expand Up @@ -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:
Expand Down Expand Up @@ -12748,7 +12730,6 @@ rs6000_trampoline_size ()

case ABI_DARWIN:
case ABI_V4:
case ABI_AIX_NODESC:
ret = (TARGET_32BIT) ? 40 : 48;
break;
}
Expand Down Expand Up @@ -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,
Expand Down
9 changes: 2 additions & 7 deletions gcc/config/rs6000/rs6000.h
Original file line number Diff line number Diff line change
Expand Up @@ -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) */
};
Expand Down Expand Up @@ -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 */
Expand Down Expand Up @@ -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)
Expand Down Expand Up @@ -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))

Expand Down
20 changes: 6 additions & 14 deletions gcc/config/rs6000/rs6000.md
Original file line number Diff line number Diff line change
Expand Up @@ -10064,7 +10064,6 @@
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]);
Expand Down Expand Up @@ -10112,7 +10111,6 @@
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]);
Expand Down Expand Up @@ -10343,8 +10341,7 @@
(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)
Expand All @@ -10363,8 +10360,7 @@
(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"
{
Expand All @@ -10385,8 +10381,7 @@
(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)
Expand All @@ -10406,8 +10401,7 @@
(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"
{
Expand Down Expand Up @@ -10621,8 +10615,7 @@
(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"
"*
{
Expand Down Expand Up @@ -10668,8 +10661,7 @@
(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"
"*
{
Expand Down
5 changes: 0 additions & 5 deletions gcc/config/rs6000/sysv4.h
Original file line number Diff line number Diff line change
Expand Up @@ -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")) \
Expand Down
7 changes: 1 addition & 6 deletions gcc/config/rs6000/t-ppcgas
Original file line number Diff line number Diff line change
Expand Up @@ -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}
10 changes: 5 additions & 5 deletions gcc/doc/fragments.texi
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
7 changes: 0 additions & 7 deletions gcc/doc/install.texi
Original file line number Diff line number Diff line change
Expand Up @@ -2994,13 +2994,6 @@ PowerPC system in big endian mode running NetBSD@. To build the
documentation you will need Texinfo version 4.2 (NetBSD 1.5.1 included
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
Expand Down
Loading

0 comments on commit 82aa4d6

Please sign in to comment.