diff options
author | Kévin Le Gouguec <legouguec@adacore.com> | 2023-12-22 14:06:15 +0100 |
---|---|---|
committer | Kévin Le Gouguec <legouguec@adacore.com> | 2023-12-22 17:19:29 +0100 |
commit | 54ede87e196dca065e1f7f66f8fd80c327fd5255 (patch) | |
tree | c5bb0d56d78d83f1d35d255d7614d90fbfc20273 | |
parent | eb6476e2db406ba323efba438b0d1851e86d02e5 (diff) | |
download | binutils-54ede87e196dca065e1f7f66f8fd80c327fd5255.zip binutils-54ede87e196dca065e1f7f66f8fd80c327fd5255.tar.gz binutils-54ede87e196dca065e1f7f66f8fd80c327fd5255.tar.bz2 |
gdb: fix refactoring hiccup in rs6000_register_to_value
In 2023-12-14 "gdb: make get_frame_register_bytes take the next frame"
(9fc79b42369), *_register_to_value functions were made to (a) call
get_next_frame_sentinel_okay (frame) (b) pass that next frame to
get_frame_register_bytes.
Step (b) was omitted for rs6000-tdep.c; this manifests as a regression on
PPC platforms for e.g. O2_float_param: instead of seeing…
Temporary breakpoint 1, callee.increment (val=val@entry=99.0, msg=...) at callee.adb:19
… we get "optimized_out" for val. Passing next_frame to
get_frame_register_bytes fixes the issue.
Approved-By: Simon Marchi <simon.marchi@efficios.com>
-rw-r--r-- | gdb/rs6000-tdep.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gdb/rs6000-tdep.c b/gdb/rs6000-tdep.c index a7e0bf5..af0ade8 100644 --- a/gdb/rs6000-tdep.c +++ b/gdb/rs6000-tdep.c @@ -2716,7 +2716,7 @@ rs6000_register_to_value (frame_info_ptr frame, auto from_view = gdb::make_array_view (from, register_size (gdbarch, regnum)); frame_info_ptr next_frame = get_next_frame_sentinel_okay (frame); - if (!get_frame_register_bytes (frame, regnum, 0, from_view, optimizedp, + if (!get_frame_register_bytes (next_frame, regnum, 0, from_view, optimizedp, unavailablep)) return 0; |