rs6000.c (rs6000_emit_prologue): Use 5 nops, instead of 4.

* config/rs6000/rs6000.c (rs6000_emit_prologue): Use 5 nops,
        instead of 4.

From-SVN: r97871
This commit is contained in:
Mike Stump 2005-04-08 23:30:23 +00:00 committed by Mike Stump
parent 797e15eb88
commit de2ab0ca8b
4 changed files with 8 additions and 4 deletions

View File

@ -8,6 +8,9 @@
2005-04-08 Mike Stump <mrs@apple.com>
* config/darwin.c (indirect_data): Fix typo in strncmp logic.
* config/rs6000/rs6000.c (rs6000_emit_prologue): Use 5 nops,
instead of 4.
2005-04-08 Kazu Hirata <kazu@cs.umass.edu>

View File

@ -59,8 +59,8 @@ Boston, MA 02111-1307, USA. */
existed in the unit to be replaced, and from the new translation
unit, for new data.
The changes are to insert 4 nops at the beginning of all functions
and to use indirection to get at static duration data. The 4 nops
The changes are to insert 5 nops at the beginning of all functions
and to use indirection to get at static duration data. The 5 nops
are required by consumers of the generated code. Currently, gdb
uses this to patch in a jump to the overriding function, this
allows all uses of the old name to forward to the replacement,

View File

@ -406,7 +406,7 @@ extern const char *darwin_one_byte_bool;
#define HAS_MD_FALLBACK_FRAME_STATE_FOR 1
/* True, iff we're generating fast turn around debugging code. When
true, we arrange for function prologues to start with 4 nops so
true, we arrange for function prologues to start with 5 nops so
that gdb may insert code to redirect them, and for data to be
accessed indirectly. The runtime uses this indirection to forward
references for data to the original instance of that data. */

View File

@ -12565,7 +12565,7 @@ rs6000_emit_prologue (void)
if (TARGET_FIX_AND_CONTINUE)
{
/* gdb on darwin arranges to forward a function from the old
address by modifying the first 4 instructions of the function
address by modifying the first 5 instructions of the function
to branch to the overriding function. This is necessary to
permit function pointers that point to the old function to
actually forward to the new function. */
@ -12573,6 +12573,7 @@ rs6000_emit_prologue (void)
emit_insn (gen_nop ());
emit_insn (gen_nop ());
emit_insn (gen_nop ());
emit_insn (gen_nop ());
}
if (TARGET_SPE_ABI && info->spe_64bit_regs_used != 0)