From: Kévin Le Gouguec Date: Fri, 22 Dec 2023 13:06:15 +0000 (+0100) Subject: gdb: fix refactoring hiccup in rs6000_register_to_value X-Git-Tag: binutils-2_42~421 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=54ede87e196dca065e1f7f66f8fd80c327fd5255;p=thirdparty%2Fbinutils-gdb.git 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 --- diff --git a/gdb/rs6000-tdep.c b/gdb/rs6000-tdep.c index a7e0bf5305b..af0ade85242 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;