diff options
author | Simon Marchi <simon.marchi@efficios.com> | 2023-12-01 11:27:20 -0500 |
---|---|---|
committer | Simon Marchi <simon.marchi@efficios.com> | 2023-12-14 16:04:49 +0000 |
commit | f6e3d5577db80e7b43b585f83a383bc6621ae71b (patch) | |
tree | f1eaa17ca335f572b77ce60d03f3abfc354f8f19 /gdb/rs6000-tdep.c | |
parent | e94d1f726ff6271e826b598301cf3e759793ac1a (diff) | |
download | gdb-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.c | 7 |
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 * |