Commit b2142ad8 by Hans-Peter Nilsson Committed by Hans-Peter Nilsson

re PR target/14619 (Incorrect Dwarf 2 information in function prologue)

	PR target/14619
	* config/cris/cris.c (cris_target_asm_function_prologue): Create
	dwarf2 label manually and put it after, not before the prologue.

From-SVN: r95521
parent 589b3fda
2005-02-24 Hans-Peter Nilsson <hp@axis.com>
PR target/14619
* config/cris/cris.c (cris_target_asm_function_prologue): Create
dwarf2 label manually and put it after, not before the prologue.
2005-02-24 David Edelsohn <edelsohn@gnu.org>
PR target/19019
......
......@@ -656,6 +656,10 @@ cris_fatal (char *arg)
return 0;
}
/* This variable belongs to cris_target_asm_function_prologue but must
be located outside it for GTY reasons. */
static GTY(()) unsigned long cfa_label_num = 0;
/* Textual function prologue. */
static void
......@@ -670,7 +674,7 @@ cris_target_asm_function_prologue (FILE *file, HOST_WIDE_INT size)
int framesize;
int faked_args_size = 0;
int cfa_write_offset = 0;
char *cfa_label = NULL;
static char cfa_label[30];
int return_address_on_stack
= regs_ever_live[CRIS_SRP_REGNUM]
|| cfun->machine->needs_return_address_on_stack != 0;
......@@ -723,7 +727,8 @@ cris_target_asm_function_prologue (FILE *file, HOST_WIDE_INT size)
cfa_offset += cris_initial_frame_pointer_offset ();
}
cfa_label = dwarf2out_cfi_label ();
ASM_GENERATE_INTERNAL_LABEL (cfa_label, "LCFIT",
cfa_label_num++);
dwarf2out_def_cfa (cfa_label, cfa_reg, cfa_offset);
cfa_write_offset = - faked_args_size - 4;
......@@ -921,6 +926,9 @@ cris_target_asm_function_prologue (FILE *file, HOST_WIDE_INT size)
reg_names[PIC_OFFSET_TABLE_REGNUM],
reg_names[PIC_OFFSET_TABLE_REGNUM]);
if (doing_dwarf)
ASM_OUTPUT_LABEL (file, cfa_label);
if (TARGET_PDEBUG)
fprintf (file,
"; parm #%d @ %d; frame " HOST_WIDE_INT_PRINT_DEC
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment