diff options
author | Ian Lance Taylor <ian@airs.com> | 2009-12-23 23:53:43 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 2009-12-23 23:53:43 +0000 |
commit | 1782c879ce0b3370409c708eeddf47dccd5f5a03 (patch) | |
tree | ec2b6a0fe5abb6272364b80e0b6a3bc4013686be /gold | |
parent | 98c5b216c285de64674753964c70aa2f4b2af244 (diff) | |
download | gdb-1782c879ce0b3370409c708eeddf47dccd5f5a03.zip gdb-1782c879ce0b3370409c708eeddf47dccd5f5a03.tar.gz gdb-1782c879ce0b3370409c708eeddf47dccd5f5a03.tar.bz2 |
* i386.cc (Target_i386::do_calls_non_split): Recognize
-fsplit-stack prologue for a function with a static chain.
Diffstat (limited to 'gold')
-rw-r--r-- | gold/ChangeLog | 5 | ||||
-rw-r--r-- | gold/i386.cc | 4 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog index 6ae7610..18e2a30 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,8 @@ +2009-12-23 Ian Lance Taylor <iant@google.com> + + * i386.cc (Target_i386::do_calls_non_split): Recognize + -fsplit-stack prologue for a function with a static chain. + 2009-12-21 Sriraman Tallam <tmsriram@google.com> * options.cc (General_options::parse_version): Make -v continue and do diff --git a/gold/i386.cc b/gold/i386.cc index 4820f15..bf7c695 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 |