OSDN Git Service

* x86_64.cc (Target_x86_64::do_calls_non_split): Recognize
authorian <ian>
Thu, 24 Dec 2009 16:48:14 +0000 (16:48 +0000)
committerian <ian>
Thu, 24 Dec 2009 16:48:14 +0000 (16:48 +0000)
-fsplit-stack prologue when using %r11.

gold/ChangeLog
gold/x86_64.cc

index 18e2a30..e44f2ba 100644 (file)
@@ -2,6 +2,8 @@
 
        * i386.cc (Target_i386::do_calls_non_split): Recognize
        -fsplit-stack prologue for a function with a static chain.
+       * x86_64.cc (Target_x86_64::do_calls_non_split): Recognize
+       -fsplit-stack prologue when using %r11.
 
 2009-12-21  Sriraman Tallam  <tmsriram@google.com>
 
index e51b4ab..c31949f 100644 (file)
@@ -2692,7 +2692,11 @@ Target_x86_64::do_calls_non_split(Relobj* object, unsigned int shndx,
       this->set_view_to_nop(view, view_size, fnoffset + 1, 8);
     }
   // lea NN(%rsp),%r10
-  else if (this->match_view(view, view_size, fnoffset, "\x4c\x8d\x94\x24", 4)
+  // lea NN(%rsp),%r11
+  else if ((this->match_view(view, view_size, fnoffset,
+                            "\x4c\x8d\x94\x24", 4)
+           || this->match_view(view, view_size, fnoffset,
+                               "\x4c\x8d\x9c\x24", 4))
           && fnsize > 8)
     {
       // This is loading an offset from the stack pointer for a