aboutsummaryrefslogtreecommitdiff
path: root/gdb/rs6000-tdep.c
diff options
context:
space:
mode:
authorSimon Marchi <simon.marchi@efficios.com>2023-12-01 11:27:20 -0500
committerSimon Marchi <simon.marchi@efficios.com>2023-12-14 16:04:49 +0000
commitf6e3d5577db80e7b43b585f83a383bc6621ae71b (patch)
treef1eaa17ca335f572b77ce60d03f3abfc354f8f19 /gdb/rs6000-tdep.c
parente94d1f726ff6271e826b598301cf3e759793ac1a (diff)
downloadgdb-f6e3d5577db80e7b43b585f83a383bc6621ae71b.zip
gdb-f6e3d5577db80e7b43b585f83a383bc6621ae71b.tar.gz
gdb-f6e3d5577db80e7b43b585f83a383bc6621ae71b.tar.bz2
gdb: make put_frame_register take an array_view
Change put_frame_register to take an array_view instead of a raw pointer. Add an assertion to verify that the number of bytes we try to write matches the length of the register. Change-Id: Ib75a9c8a12b47e203097621643eaa2c1830591ae Reviewed-By: John Baldwin <jhb@FreeBSD.org>
Diffstat (limited to 'gdb/rs6000-tdep.c')
-rw-r--r--gdb/rs6000-tdep.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/gdb/rs6000-tdep.c b/gdb/rs6000-tdep.c
index 16f3da9..cbbaf6d 100644
--- a/gdb/rs6000-tdep.c
+++ b/gdb/rs6000-tdep.c
@@ -2741,9 +2741,10 @@ rs6000_value_to_register (frame_info_ptr frame,
fpr to vsr. */
regnum = ieee_128_float_regnum_adjust (gdbarch, type, regnum);
- target_float_convert (from, type,
- to, builtin_type (gdbarch)->builtin_double);
- put_frame_register (frame, regnum, to);
+ struct type *to_type = builtin_type (gdbarch)->builtin_double;
+ target_float_convert (from, type, to, to_type);
+ auto to_view = gdb::make_array_view (to, to_type->length ());
+ put_frame_register (frame, regnum, to_view);
}
static struct value *