]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
rs6000.c (rs6000_emit_prologue): Use 5 nops, instead of 4.
authorMike Stump <mrs@apple.com>
Fri, 8 Apr 2005 23:30:23 +0000 (23:30 +0000)
committerMike Stump <mrs@gcc.gnu.org>
Fri, 8 Apr 2005 23:30:23 +0000 (23:30 +0000)
        * config/rs6000/rs6000.c (rs6000_emit_prologue): Use 5 nops,
        instead of 4.

From-SVN: r97871

gcc/ChangeLog
gcc/config/darwin.c
gcc/config/rs6000/darwin.h
gcc/config/rs6000/rs6000.c

index 73ec69f286d1a1e7338cd66b05c5055a4ac8f885..3f99ac1b2030e08cfe12fea9545ba373c1b861e8 100644 (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>
 
index 0b2ddc3677aab77f44e3d027bbc67a519e790733..d3cafb165e46c547abfe72e3eabd9528351d4c61 100644 (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,
index a6e3fde79661d0539db4a529dc578faf39347cd1..3d646043ab14384e5dc918f2f9d5af1a8bea103a 100644 (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.  */
index 8ca07a242115a0a92c7e46cabe3f7790ee85a9e7..c75c272abc3a0d44eb742dcfb0120e4629f63b2b 100644 (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)