diff options
author | Stan Shebs <shebs@codesourcery.com> | 2011-09-08 22:38:29 +0000 |
---|---|---|
committer | Stan Shebs <shebs@codesourcery.com> | 2011-09-08 22:38:29 +0000 |
commit | bf15cbda5419893123f50ba99a8e49e73bcfd29f (patch) | |
tree | e3b3d8884e1efdae926791f8217e26a74c12ef0c /gdb/gdbserver | |
parent | 63d97a2024d3c47cc780e99ac5f15f1e23c54a6c (diff) | |
download | binutils-gdb-bf15cbda5419893123f50ba99a8e49e73bcfd29f.tar.gz |
* linux-x86-low.c (i386_emit_prologue): Save %ebx.
(i386_emit_epilogue): Restore %ebx.
Diffstat (limited to 'gdb/gdbserver')
-rw-r--r-- | gdb/gdbserver/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/gdbserver/linux-x86-low.c | 4 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog index 8fd3f2a8a60..91fee1a6b52 100644 --- a/gdb/gdbserver/ChangeLog +++ b/gdb/gdbserver/ChangeLog @@ -1,3 +1,8 @@ +2011-09-08 Stan Shebs <stan@codesourcery.com> + + * linux-x86-low.c (i386_emit_prologue): Save %ebx. + (i386_emit_epilogue): Restore %ebx. + 2011-08-31 Jie Zhang <jzhang918@gmail.com> * server.c (step_thread): Remove definition. diff --git a/gdb/gdbserver/linux-x86-low.c b/gdb/gdbserver/linux-x86-low.c index dd693795730..8a3a597ebf6 100644 --- a/gdb/gdbserver/linux-x86-low.c +++ b/gdb/gdbserver/linux-x86-low.c @@ -2035,7 +2035,8 @@ i386_emit_prologue (void) { EMIT_ASM32 (i386_prologue, "push %ebp\n\t" - "mov %esp,%ebp"); + "mov %esp,%ebp\n\t" + "push %ebx"); /* At this point, the raw regs base address is at 8(%ebp), and the value pointer is at 12(%ebp). */ } @@ -2048,6 +2049,7 @@ i386_emit_epilogue (void) "mov %eax,(%ecx)\n\t" "mov %ebx,0x4(%ecx)\n\t" "xor %eax,%eax\n\t" + "pop %ebx\n\t" "pop %ebp\n\t" "ret"); } |