gdb: fix refactoring hiccup in rs6000_register_to_value

In 2023-12-14 "gdb: make get_frame_register_bytes take the next frame"
(9fc79b4236), *_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>
This commit is contained in:
Kévin Le Gouguec 2023-12-22 14:06:15 +01:00
parent eb6476e2db
commit 54ede87e19

View File

@ -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;