diff options
author | Ian Lance Taylor <ian@airs.com> | 2012-01-24 06:21:11 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 2012-01-24 06:21:11 +0000 |
commit | 9dee3b3c89077e7a5dd4720077af0c667534219d (patch) | |
tree | 4d154e67608bf589f0cf00d97095db81f4c1f145 /gold/i386.cc | |
parent | 42bc6e0f9561c2fe2bba0153ec426792fe97aaa5 (diff) | |
download | gdb-9dee3b3c89077e7a5dd4720077af0c667534219d.zip gdb-9dee3b3c89077e7a5dd4720077af0c667534219d.tar.gz gdb-9dee3b3c89077e7a5dd4720077af0c667534219d.tar.bz2 |
PR gold/13617
* i386.cc (Target_i386::do_code_fill): When using a jmp
instruction, pad with nop instructions.
* x86_64.cc (Target_x86_64::do_code_fill): Likewise.
Diffstat (limited to 'gold/i386.cc')
-rw-r--r-- | gold/i386.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/gold/i386.cc b/gold/i386.cc index efb6248..b4174bc 100644 --- a/gold/i386.cc +++ b/gold/i386.cc @@ -1,6 +1,7 @@ // i386.cc -- i386 target support for gold. -// Copyright 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. +// Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012 +// Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. @@ -3470,7 +3471,7 @@ Target_i386::do_code_fill(section_size_type length) const jmp[0] = 0xe9; elfcpp::Swap_unaligned<32, false>::writeval(jmp + 1, length - 5); return (std::string(reinterpret_cast<char*>(&jmp[0]), 5) - + std::string(length - 5, '\0')); + + std::string(length - 5, static_cast<char>(0x90))); } // Nop sequences of various lengths. |