This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
PATCH: AIX EH
- To: gcc-patches at gcc dot gnu dot org
- Subject: PATCH: AIX EH
- From: Mark Mitchell <mark at codesourcery dot com>
- Date: Mon, 05 Feb 2001 11:49:11 -0800
- Organization: CodeSourcery, LLC
I checked in this patch (a collaborative effort between Franz and
David) which (together with my patches) fixes most of the EH problems
on AIX.
--
Mark Mitchell mark@codesourcery.com
CodeSourcery, LLC http://www.codesourcery.com
2001-02-05 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
David Edelsohn <edelsohn@gnu.org>
* config/rs6000/rs6000.c (rs6000_return_addr): Use PIC
code for AIX, even without flag_pic.
Index: config/rs6000/rs6000.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/rs6000/rs6000.c,v
retrieving revision 1.162
diff -c -p -r1.162 rs6000.c
*** rs6000.c 2001/01/24 00:07:31 1.162
--- rs6000.c 2001/02/05 19:29:52
*************** rs6000_return_addr (count, frame)
*** 5057,5068 ****
/* Currently we don't optimize very well between prolog and body code and
for PIC code the code can be actually quite bad, so don't try to be
too clever here. */
! if (count != 0 || flag_pic != 0)
{
cfun->machine->ra_needs_full_frame = 1;
return
gen_rtx_MEM (Pmode,
! memory_address (Pmode,
plus_constant (copy_to_reg (gen_rtx_MEM (Pmode,
memory_address (Pmode, frame))),
RETURN_ADDRESS_OFFSET)));
--- 5057,5071 ----
/* Currently we don't optimize very well between prolog and body code and
for PIC code the code can be actually quite bad, so don't try to be
too clever here. */
! if (count != 0
! || flag_pic != 0
! || DEFAULT_ABI == ABI_AIX
! || DEFAULT_ABI == ABI_AIX_NODESC)
{
cfun->machine->ra_needs_full_frame = 1;
return
gen_rtx_MEM (Pmode,
! memory_address (Pmode,
plus_constant (copy_to_reg (gen_rtx_MEM (Pmode,
memory_address (Pmode, frame))),
RETURN_ADDRESS_OFFSET)));