diff options
author | Luis Machado <luis.machado@linaro.org> | 2021-01-15 13:16:04 -0300 |
---|---|---|
committer | Luis Machado <luis.machado@linaro.org> | 2021-01-19 14:42:23 -0300 |
commit | bdec2917b1e94c7198ba39919f45060067952f43 (patch) | |
tree | 808f5e6ba99e684a6c2328e25f338dc0731970e1 /gdb/mips-tdep.c | |
parent | c65ca138c4be913964dbd332c44e861fced991cd (diff) | |
download | gdb-bdec2917b1e94c7198ba39919f45060067952f43.zip gdb-bdec2917b1e94c7198ba39919f45060067952f43.tar.gz gdb-bdec2917b1e94c7198ba39919f45060067952f43.tar.bz2 |
Convert some frame functions to use gdb::array_view.
This patch converts the most obvious functions from gdb/frame.h to use
the gdb::array_view abstraction. I've converted the ones that used buffer +
length.
There are others using only the buffer, with an implicit size. I did not
touch those for now. But it would be nice to pass the size for safety.
Tested with --enable-targets=all on Ubuntu 18.04/20.04 aarch64-linux.
gdb/ChangeLog
2021-01-19 Luis Machado <luis.machado@linaro.org>
* frame.h (get_frame_register_bytes): Pass a gdb::array_view instead
of buffer + length.
(put_frame_register_bytes): Likewise.
Adjust documentation.
(get_frame_memory): Pass a gdb::array_view instead of buffer + length.
(safe_frame_unwind_memory): Likewise.
* frame.c (get_frame_register_bytes, put_frame_register_bytes)
(get_frame_memory, safe_frame_unwind_memory): Adjust to use
gdb::array_view.
* amd64-fbsd-tdep.c (amd64fbsd_sigtramp_p): Likewise.
* amd64-linux-tdep.c (amd64_linux_sigtramp_start): Likewise.
* amd64-obsd-tdep.c (amd64obsd_sigtramp_p): Likewise.
* arc-linux-tdep.c (arc_linux_is_sigtramp): Likewise.
* cris-tdep.c (cris_sigtramp_start, cris_rt_sigtramp_start): Likewise.
* dwarf2/loc.c (rw_pieced_value): Likewise.
* hppa-tdep.c (hppa_frame_cache): Likewise.
* i386-fbsd-tdep.c (i386fbsd_sigtramp_p): Likewise.
* i386-gnu-tdep.c (i386_gnu_sigtramp_start): Likewise.
* i386-linux-tdep.c (i386_linux_sigtramp_start)
(i386_linux_rt_sigtramp_start): Likewise.
* i386-obsd-tdep.c (i386obsd_sigtramp_p): Likewise.
* i386-tdep.c (i386_register_to_value): Likewise.
* i387-tdep.c (i387_register_to_value): Likewise.
* ia64-tdep.c (ia64_register_to_value): Likewise.
* m32r-linux-tdep.c (m32r_linux_sigtramp_start)
(m32r_linux_rt_sigtramp_start): Likewise.
* m68k-linux-tdep.c (m68k_linux_pc_in_sigtramp): Likewise.
* m68k-tdep.c (m68k_register_to_value): Likewise.
* mips-tdep.c (mips_register_to_value)
(mips_value_to_register): Likewise.
* ppc-fbsd-tdep.c (ppcfbsd_sigtramp_frame_sniffer)
(ppcfbsd_sigtramp_frame_cache): Likewise.
* ppc-obsd-tdep.c (ppcobsd_sigtramp_frame_sniffer)
(ppcobsd_sigtramp_frame_cache): Likewise.
* rs6000-tdep.c (rs6000_in_function_epilogue_frame_p)
(rs6000_register_to_value): Likewise.
* tilegx-tdep.c (tilegx_analyze_prologue): Likewise.
* tramp-frame.c (tramp_frame_start): Likewise.
* valops.c (value_assign): Likewise.
Diffstat (limited to 'gdb/mips-tdep.c')
-rw-r--r-- | gdb/mips-tdep.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c index f0c343d..e12dffb 100644 --- a/gdb/mips-tdep.c +++ b/gdb/mips-tdep.c @@ -926,11 +926,11 @@ mips_register_to_value (struct frame_info *frame, int regnum, get_frame_register (frame, regnum + 0, to + 4); get_frame_register (frame, regnum + 1, to + 0); - if (!get_frame_register_bytes (frame, regnum + 0, 0, 4, to + 4, + if (!get_frame_register_bytes (frame, regnum + 0, 0, {to + 4, 4}, optimizedp, unavailablep)) return 0; - if (!get_frame_register_bytes (frame, regnum + 1, 0, 4, to + 0, + if (!get_frame_register_bytes (frame, regnum + 1, 0, {to + 0, 4}, optimizedp, unavailablep)) return 0; *optimizedp = *unavailablep = 0; @@ -938,11 +938,11 @@ mips_register_to_value (struct frame_info *frame, int regnum, } else if (mips_convert_register_gpreg_case_p (gdbarch, regnum, type)) { - int len = TYPE_LENGTH (type); + size_t len = TYPE_LENGTH (type); CORE_ADDR offset; offset = gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG ? 8 - len : 0; - if (!get_frame_register_bytes (frame, regnum, offset, len, to, + if (!get_frame_register_bytes (frame, regnum, offset, {to, len}, optimizedp, unavailablep)) return 0; @@ -970,7 +970,7 @@ mips_value_to_register (struct frame_info *frame, int regnum, else if (mips_convert_register_gpreg_case_p (gdbarch, regnum, type)) { gdb_byte fill[8]; - int len = TYPE_LENGTH (type); + size_t len = TYPE_LENGTH (type); /* Sign extend values, irrespective of type, that are stored to a 64-bit general purpose register. (32-bit unsigned values @@ -984,8 +984,8 @@ mips_value_to_register (struct frame_info *frame, int regnum, store_signed_integer (fill, 8, BFD_ENDIAN_BIG, -1); else store_signed_integer (fill, 8, BFD_ENDIAN_BIG, 0); - put_frame_register_bytes (frame, regnum, 0, 8 - len, fill); - put_frame_register_bytes (frame, regnum, 8 - len, len, from); + put_frame_register_bytes (frame, regnum, 0, {fill, 8 - len}); + put_frame_register_bytes (frame, regnum, 8 - len, {from, len}); } else { @@ -993,8 +993,8 @@ mips_value_to_register (struct frame_info *frame, int regnum, store_signed_integer (fill, 8, BFD_ENDIAN_LITTLE, -1); else store_signed_integer (fill, 8, BFD_ENDIAN_LITTLE, 0); - put_frame_register_bytes (frame, regnum, 0, len, from); - put_frame_register_bytes (frame, regnum, len, 8 - len, fill); + put_frame_register_bytes (frame, regnum, 0, {from, len}); + put_frame_register_bytes (frame, regnum, len, {fill, 8 - len}); } } else |