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:
parent
797e15eb88
commit
de2ab0ca8b
@ -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>
|
||||
|
||||
|
@ -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,
|
||||
|
@ -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. */
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user