From 1782c879ce0b3370409c708eeddf47dccd5f5a03 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Wed, 23 Dec 2009 23:53:43 +0000 Subject: [PATCH] * i386.cc (Target_i386::do_calls_non_split): Recognize -fsplit-stack prologue for a function with a static chain. --- gold/ChangeLog | 5 +++++ gold/i386.cc | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/gold/ChangeLog b/gold/ChangeLog index 6ae76109dc0..18e2a3055a5 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,8 @@ +2009-12-23 Ian Lance Taylor + + * i386.cc (Target_i386::do_calls_non_split): Recognize + -fsplit-stack prologue for a function with a static chain. + 2009-12-21 Sriraman Tallam * options.cc (General_options::parse_version): Make -v continue and do diff --git a/gold/i386.cc b/gold/i386.cc index 4820f15aaf6..bf7c695ed4a 100644 --- a/gold/i386.cc +++ b/gold/i386.cc @@ -2703,7 +2703,9 @@ Target_i386::do_calls_non_split(Relobj* object, unsigned int shndx, this->set_view_to_nop(view, view_size, fnoffset + 1, 6); } // lea NN(%esp),%ecx - else if (this->match_view(view, view_size, fnoffset, "\x8d\x8c\x24", 3) + // lea NN(%esp),%edx + else if ((this->match_view(view, view_size, fnoffset, "\x8d\x8c\x24", 3) + || this->match_view(view, view_size, fnoffset, "\x8d\x94\x24", 3)) && fnsize > 7) { // This is loading an offset from the stack pointer for a -- 2.30.2