aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKévin Le Gouguec <legouguec@adacore.com>2023-12-22 14:06:15 +0100
committerKévin Le Gouguec <legouguec@adacore.com>2023-12-22 17:19:29 +0100
commit54ede87e196dca065e1f7f66f8fd80c327fd5255 (patch)
treec5bb0d56d78d83f1d35d255d7614d90fbfc20273
parenteb6476e2db406ba323efba438b0d1851e86d02e5 (diff)
downloadbinutils-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.c2
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;