re PR target/26453 (Segfault with -m64 -mtraceback=full)

PR target/26453
	* config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't
	output traceback table for thunks.  Localise rs6000_stack_info call.

From-SVN: r111415
This commit is contained in:
Alan Modra 2006-02-24 06:30:51 +00:00 committed by Alan Modra
parent efbbbb61ee
commit 8097c268b0
2 changed files with 8 additions and 3 deletions

View File

@ -1,3 +1,9 @@
2006-02-24 Alan Modra <amodra@bigpond.net.au>
PR target/26453
* config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't
output traceback table for thunks. Localise rs6000_stack_info call.
2006-02-23 Roger Sayle <roger@eyesopen.com>
Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>

View File

@ -15153,8 +15153,6 @@ static void
rs6000_output_function_epilogue (FILE *file,
HOST_WIDE_INT size ATTRIBUTE_UNUSED)
{
rs6000_stack_t *info = rs6000_stack_info ();
if (! HAVE_epilogue)
{
rtx insn = get_last_insn ();
@ -15225,13 +15223,14 @@ rs6000_output_function_epilogue (FILE *file,
System V.4 Powerpc's (and the embedded ABI derived from it) use a
different traceback table. */
if (DEFAULT_ABI == ABI_AIX && ! flag_inhibit_size_directive
&& rs6000_traceback != traceback_none)
&& rs6000_traceback != traceback_none && !current_function_is_thunk)
{
const char *fname = NULL;
const char *language_string = lang_hooks.name;
int fixed_parms = 0, float_parms = 0, parm_info = 0;
int i;
int optional_tbtab;
rs6000_stack_t *info = rs6000_stack_info ();
if (rs6000_traceback == traceback_full)
optional_tbtab = 1;