diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2006-03-02 09:31:23 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2006-03-02 09:31:23 +0000 |
commit | c59ec59d597c7b77af539f75885ecda4586c7ff8 (patch) | |
tree | 6a24f2e0f15e59254aa1fbf5541f750e1c2be237 | |
parent | 2f9a34b57d3323b04ee6b894e2fb69645ea34083 (diff) | |
download | gdb-c59ec59d597c7b77af539f75885ecda4586c7ff8.tar.gz |
* mn10300-tdep.c (mn10300_push_dummy_call): Write breakpoint
address to MDR register.
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/mn10300-tdep.c | 5 |
2 files changed, 10 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 3fdd9a5dfe7..cbd4d1e5b52 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2006-03-02 Corinna Vinschen <vinschen@redhat.com> + + * mn10300-tdep.c (mn10300_push_dummy_call): Write breakpoint + address to MDR register. + 2006-03-01 Daniel Jacobowitz <dan@codesourcery.com> * gdbtypes.c (lookup_struct_elt_type): Correct noerr for recursive diff --git a/gdb/mn10300-tdep.c b/gdb/mn10300-tdep.c index 47844d1a6d2..bc5e8d8d155 100644 --- a/gdb/mn10300-tdep.c +++ b/gdb/mn10300-tdep.c @@ -1055,6 +1055,11 @@ mn10300_push_dummy_call (struct gdbarch *gdbarch, /* Push the return address that contains the magic breakpoint. */ sp -= 4; write_memory_unsigned_integer (sp, push_size, bp_addr); + + /* The CPU also writes the return address always into the + MDR register on "call". */ + regcache_cooked_write_unsigned (regcache, E_MDR_REGNUM, bp_addr); + /* Update $sp. */ regcache_cooked_write_unsigned (regcache, E_SP_REGNUM, sp); return sp; |