From cbc999b90f8fe82cc2d2e25926e51c410d158703 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Thu, 24 Dec 2009 07:48:14 +0000 Subject: [PATCH] * x86_64.cc (Target_x86_64::do_calls_non_split): Recognize -fsplit-stack prologue when using %r11. --- gold/ChangeLog | 2 ++ gold/x86_64.cc | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/gold/ChangeLog b/gold/ChangeLog index 18e2a3055a5..e44f2baa012 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -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 diff --git a/gold/x86_64.cc b/gold/x86_64.cc index e51b4ab74d2..c31949f311b 100644 --- a/gold/x86_64.cc +++ b/gold/x86_64.cc @@ -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 -- 2.30.2