summaryrefslogtreecommitdiff
path: root/gdb/gdbserver
diff options
context:
space:
mode:
authorStan Shebs <shebs@codesourcery.com>2011-09-08 22:38:29 +0000
committerStan Shebs <shebs@codesourcery.com>2011-09-08 22:38:29 +0000
commitbf15cbda5419893123f50ba99a8e49e73bcfd29f (patch)
treee3b3d8884e1efdae926791f8217e26a74c12ef0c /gdb/gdbserver
parent63d97a2024d3c47cc780e99ac5f15f1e23c54a6c (diff)
downloadbinutils-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/ChangeLog5
-rw-r--r--gdb/gdbserver/linux-x86-low.c4
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");
}