diff options
author | Daniel Jacobowitz <drow@false.org> | 2007-01-09 20:19:15 +0000 |
---|---|---|
committer | Daniel Jacobowitz <drow@false.org> | 2007-01-09 20:19:15 +0000 |
commit | 5efde11249adf7e041cbbce5e089ac956f9b834b (patch) | |
tree | f629bdca5d73fc8b3d9b85cba293751b858d6e3e /gdb | |
parent | 6aba47ca06d9150c6196a374b745c2711b46e045 (diff) | |
download | fsf-binutils-gdb-5efde11249adf7e041cbbce5e089ac956f9b834b.zip fsf-binutils-gdb-5efde11249adf7e041cbbce5e089ac956f9b834b.tar.gz fsf-binutils-gdb-5efde11249adf7e041cbbce5e089ac956f9b834b.tar.bz2 |
* alpha-mdebug-tdep.c (alpha_mdebug_frame_prev_register): Use
frame_unwind_register to recurse.
* alpha-tdep.c (alpha_sigtramp_frame_prev_register): Likewise.
(alpha_heuristic_frame_prev_register): Likewise.
* h8300-tdep.c (h8300_frame_prev_register): Likewise.
* m32c-tdep.c (m32c_prev_register): Likewise.
* frame.c (frame_register_unwind_location): Remove FIXME.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 10 | ||||
-rw-r--r-- | gdb/alpha-mdebug-tdep.c | 8 | ||||
-rw-r--r-- | gdb/alpha-tdep.c | 16 | ||||
-rw-r--r-- | gdb/frame.c | 5 | ||||
-rw-r--r-- | gdb/h8300-tdep.c | 8 | ||||
-rw-r--r-- | gdb/m32c-tdep.c | 10 |
6 files changed, 43 insertions, 14 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 296fc4c..f6260c4 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,4 +1,14 @@ 2007-01-09 Daniel Jacobowitz <dan@codesourcery.com> + + * alpha-mdebug-tdep.c (alpha_mdebug_frame_prev_register): Use + frame_unwind_register to recurse. + * alpha-tdep.c (alpha_sigtramp_frame_prev_register): Likewise. + (alpha_heuristic_frame_prev_register): Likewise. + * h8300-tdep.c (h8300_frame_prev_register): Likewise. + * m32c-tdep.c (m32c_prev_register): Likewise. + * frame.c (frame_register_unwind_location): Remove FIXME. + +2007-01-09 Daniel Jacobowitz <dan@codesourcery.com> Eli Zaretskii <eliz@gnu.org> * copyright.sh: New file. diff --git a/gdb/alpha-mdebug-tdep.c b/gdb/alpha-mdebug-tdep.c index 906c1c7..c2f1802 100644 --- a/gdb/alpha-mdebug-tdep.c +++ b/gdb/alpha-mdebug-tdep.c @@ -294,8 +294,12 @@ alpha_mdebug_frame_prev_register (struct frame_info *next_frame, } /* Otherwise assume the next frame has the same register value. */ - frame_register (next_frame, regnum, optimizedp, lvalp, addrp, - realnump, bufferp); + *optimizedp = 0; + *lvalp = lval_register; + *addrp = 0; + *realnump = regnum; + if (bufferp) + frame_unwind_register (next_frame, *realnump, bufferp); } static const struct frame_unwind alpha_mdebug_frame_unwind = { diff --git a/gdb/alpha-tdep.c b/gdb/alpha-tdep.c index 0bf0f78..5b8f421 100644 --- a/gdb/alpha-tdep.c +++ b/gdb/alpha-tdep.c @@ -864,8 +864,12 @@ alpha_sigtramp_frame_prev_register (struct frame_info *next_frame, current description of it in alpha_sigtramp_frame_unwind_cache doesn't include it. Too bad. Fall back on whatever's in the outer frame. */ - frame_register (next_frame, regnum, optimizedp, lvalp, addrp, - realnump, bufferp); + *optimizedp = 0; + *lvalp = lval_register; + *addrp = 0; + *realnump = regnum; + if (bufferp) + frame_unwind_register (next_frame, *realnump, bufferp); } static const struct frame_unwind alpha_sigtramp_frame_unwind = { @@ -1218,8 +1222,12 @@ alpha_heuristic_frame_prev_register (struct frame_info *next_frame, } /* Otherwise assume the next frame has the same register value. */ - frame_register_unwind (next_frame, regnum, optimizedp, lvalp, addrp, - realnump, bufferp); + *optimizedp = 0; + *lvalp = lval_register; + *addrp = 0; + *realnump = regnum; + if (bufferp) + frame_unwind_register (next_frame, *realnump, bufferp); } static const struct frame_unwind alpha_heuristic_frame_unwind = { diff --git a/gdb/frame.c b/gdb/frame.c index 32a97d7..8d39305 100644 --- a/gdb/frame.c +++ b/gdb/frame.c @@ -1103,10 +1103,7 @@ reinit_frame_cache (void) /* Find where a register is saved (in memory or another register). The result of frame_register_unwind is just where it is saved - relative to this particular frame. - - FIXME: alpha, m32c, and h8300 actually do the transitive operation - themselves. */ + relative to this particular frame. */ static void frame_register_unwind_location (struct frame_info *this_frame, int regnum, diff --git a/gdb/h8300-tdep.c b/gdb/h8300-tdep.c index 4b06521..f5a8e4d 100644 --- a/gdb/h8300-tdep.c +++ b/gdb/h8300-tdep.c @@ -529,8 +529,12 @@ h8300_frame_prev_register (struct frame_info *next_frame, void **this_cache, return; } - frame_register_unwind (next_frame, regnum, - optimizedp, lvalp, addrp, realnump, valuep); + *optimizedp = 0; + *lvalp = lval_register; + *addrp = 0; + *realnump = regnum; + if (valuep) + frame_unwind_register (next_frame, *realnump, valuep); } static const struct frame_unwind h8300_frame_unwind = { diff --git a/gdb/m32c-tdep.c b/gdb/m32c-tdep.c index 12e0ec2..3aeeedf 100644 --- a/gdb/m32c-tdep.c +++ b/gdb/m32c-tdep.c @@ -1919,8 +1919,14 @@ m32c_prev_register (struct frame_info *next_frame, /* Otherwise, presume we haven't changed the value of this register, and get it from the next frame. */ else - frame_register_unwind (next_frame, regnum, - optimizedp, lvalp, addrp, realnump, bufferp); + { + *optimizedp = 0; + *lvalp = lval_register; + *addrp = 0; + *realnump = regnum; + if (bufferp) + frame_unwind_register (next_frame, *realnump, bufferp); + } } |