gdb: use gdb::byte_vector instead of std::vector<char> in core_target::get_core_register_section

Since the data held by the `contents` variable is arbitrary binary data,
it should have gdb_byte elements, not char elements.  Also, using
gdb::byte_vector is preferable, since it doesn't unnecessarily
zero-initialize the values.

Instead of adding a cast in the call to m_core_vec->core_read_registers,
I have changed core_read_registers' argument to be a gdb_byte* instead
of a char*.

gdb/ChangeLog:

	* gdbcore.h (struct core_fns) <core_read_registers>: Change
	core_reg_sect type to gdb_byte *.
	* arm-nbsd-nat.c (fetch_elfcore_registers): Likewise.
	* cris-tdep.c (fetch_core_registers): Likewise.
	* corelow.c (core_target::get_core_register_section): Change
	type of `contents` to gdb::byte_vector.
This commit is contained in:
Simon Marchi 2020-01-13 18:12:08 -05:00
parent 9a6d629ccf
commit 0cac9354bf
5 changed files with 13 additions and 4 deletions

View file

@ -213,7 +213,7 @@ struct core_fns
address X is at location core_reg_sect+x+reg_addr. */
void (*core_read_registers) (struct regcache *regcache,
char *core_reg_sect,
gdb_byte *core_reg_sect,
unsigned core_reg_size,
int which, CORE_ADDR reg_addr);