i386.c (ix86_output_function_epilogue): Don't insert a label at the end of an function under Mach-O.
* config/i386/i386.c (ix86_output_function_epilogue): Don't insert a label at the end of an function under Mach-O. From-SVN: r115079
This commit is contained in:
parent
6cbd871cb0
commit
f8c2645c2d
2 changed files with 23 additions and 0 deletions
|
@ -1,3 +1,9 @@
|
|||
2006-06-29 Asher Langton <langton2@llnl.gov>
|
||||
|
||||
PR target/25765
|
||||
* config/i386/i386.c (ix86_output_function_epilogue): Don't
|
||||
insert a label at the end of an function under Mach-O.
|
||||
|
||||
2006-06-29 Eric Christopher <echristo@apple.com>
|
||||
Evan Cheng <evan.cheng@apple.com>
|
||||
|
||||
|
|
|
@ -5700,6 +5700,23 @@ ix86_output_function_epilogue (FILE *file ATTRIBUTE_UNUSED,
|
|||
{
|
||||
if (pic_offset_table_rtx)
|
||||
REGNO (pic_offset_table_rtx) = REAL_PIC_OFFSET_TABLE_REGNUM;
|
||||
#if TARGET_MACHO
|
||||
/* Mach-O doesn't support labels at the end of objects, so if
|
||||
it looks like we might want one, insert a NOP. */
|
||||
{
|
||||
rtx insn = get_last_insn ();
|
||||
while (insn
|
||||
&& NOTE_P (insn)
|
||||
&& NOTE_LINE_NUMBER (insn) != NOTE_INSN_DELETED_LABEL)
|
||||
insn = PREV_INSN (insn);
|
||||
if (insn
|
||||
&& (LABEL_P (insn)
|
||||
|| (NOTE_P (insn)
|
||||
&& NOTE_LINE_NUMBER (insn) == NOTE_INSN_DELETED_LABEL)))
|
||||
fputs ("\tnop\n", file);
|
||||
}
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
/* Extract the parts of an RTL expression that is a valid memory address
|
||||
|
|
Loading…
Add table
Reference in a new issue