From 0fae84368f22250cb672c467e56652103fbb8c49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Le=20Gouguec?= Date: Fri, 22 Dec 2023 14:06:15 +0100 Subject: [PATCH] gdb: fix refactoring hiccup in rs6000_register_to_value MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- gdb/rs6000-tdep.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdb/rs6000-tdep.c b/gdb/rs6000-tdep.c index 1c9bb3e5f04..f043be08355 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; -- 2.34.1