* i386-tdep.c (i386_analyze_frame_setup): Add missing encodings
for `subl' and `xorl' instructions.
This commit is contained in:
parent
1eb4d9af74
commit
5daa5b4ecc
|
@ -1,3 +1,8 @@
|
||||||
|
2003-12-14 Mark Kettenis <kettenis@gnu.org>
|
||||||
|
|
||||||
|
* i386-tdep.c (i386_analyze_frame_setup): Add missing encodings
|
||||||
|
for `subl' and `xorl' instructions.
|
||||||
|
|
||||||
2003-12-13 Jim Blandy <jimb@redhat.com>
|
2003-12-13 Jim Blandy <jimb@redhat.com>
|
||||||
|
|
||||||
* dwarf2read.c (dwarf2_add_member_fn, read_structure_scope):
|
* dwarf2read.c (dwarf2_add_member_fn, read_structure_scope):
|
||||||
|
|
|
@ -508,9 +508,13 @@ i386_analyze_frame_setup (CORE_ADDR pc, CORE_ADDR current_pc,
|
||||||
subl %edx, %edx
|
subl %edx, %edx
|
||||||
subl %eax, %eax
|
subl %eax, %eax
|
||||||
|
|
||||||
|
Because of the symmetry, there are actually two ways to
|
||||||
|
encode these instructions; with opcode bytes 0x29 and 0x2b
|
||||||
|
for `subl' and opcode bytes 0x31 and 0x33 for `xorl'.
|
||||||
|
|
||||||
Make sure we only skip these instructions if we later see the
|
Make sure we only skip these instructions if we later see the
|
||||||
`movl %esp, %ebp' that actually sets up the frame. */
|
`movl %esp, %ebp' that actually sets up the frame. */
|
||||||
while (op == 0x29 || op == 0x31)
|
while (op == 0x29 || op == 0x2b || op == 0x31 || op == 0x33)
|
||||||
{
|
{
|
||||||
op = read_memory_unsigned_integer (pc + skip + 2, 1);
|
op = read_memory_unsigned_integer (pc + skip + 2, 1);
|
||||||
switch (op)
|
switch (op)
|
||||||
|
|
Loading…
Reference in New Issue