diff options
author | Simon Marchi <simon.marchi@efficios.com> | 2020-01-13 18:12:08 -0500 |
---|---|---|
committer | Simon Marchi <simon.marchi@efficios.com> | 2020-01-13 18:12:08 -0500 |
commit | 0cac9354bfb07a5cf53d70dbefaa35c6afa7da0a (patch) | |
tree | 92db38d9e027bd2eea944586d3f1aed2aa10472d /gdb | |
parent | 9a6d629ccf328e3f041c3fcb7e91f49a5d72d0fb (diff) | |
download | gdb-0cac9354bfb07a5cf53d70dbefaa35c6afa7da0a.zip gdb-0cac9354bfb07a5cf53d70dbefaa35c6afa7da0a.tar.gz gdb-0cac9354bfb07a5cf53d70dbefaa35c6afa7da0a.tar.bz2 |
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.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 9 | ||||
-rw-r--r-- | gdb/arm-nbsd-nat.c | 2 | ||||
-rw-r--r-- | gdb/corelow.c | 2 | ||||
-rw-r--r-- | gdb/cris-tdep.c | 2 | ||||
-rw-r--r-- | gdb/gdbcore.h | 2 |
5 files changed, 13 insertions, 4 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index f966da8..2ec7a61 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,12 @@ +2020-01-13 Simon Marchi <simon.marchi@efficios.com> + + * 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. + 2020-01-13 Andrew Burgess <andrew.burgess@embecosm.com> * tui/tui-wingeneral.c (box_win): Position the title in the center diff --git a/gdb/arm-nbsd-nat.c b/gdb/arm-nbsd-nat.c index 1d058a9..00f9191 100644 --- a/gdb/arm-nbsd-nat.c +++ b/gdb/arm-nbsd-nat.c @@ -397,7 +397,7 @@ arm_nbsd_nat_target::store_registers (struct regcache *regcache, int regno) static void fetch_elfcore_registers (struct regcache *regcache, - char *core_reg_sect, unsigned core_reg_size, + gdb_byte *core_reg_sect, unsigned core_reg_size, int which, CORE_ADDR ignore) { struct reg gregset; diff --git a/gdb/corelow.c b/gdb/corelow.c index 0418ec2..5cd058d 100644 --- a/gdb/corelow.c +++ b/gdb/corelow.c @@ -621,7 +621,7 @@ core_target::get_core_register_section (struct regcache *regcache, section_name.c_str ()); } - std::vector<char> contents (size); + gdb::byte_vector contents (size); if (!bfd_get_section_contents (core_bfd, section, contents.data (), (file_ptr) 0, size)) { diff --git a/gdb/cris-tdep.c b/gdb/cris-tdep.c index 22b4db9..6885d23 100644 --- a/gdb/cris-tdep.c +++ b/gdb/cris-tdep.c @@ -3793,7 +3793,7 @@ cris_supply_gregset (struct regcache *regcache, cris_elf_gregset_t *gregsetp) static void fetch_core_registers (struct regcache *regcache, - char *core_reg_sect, unsigned core_reg_size, + gdb_byte *core_reg_sect, unsigned core_reg_size, int which, CORE_ADDR reg_addr) { cris_elf_gregset_t gregset; diff --git a/gdb/gdbcore.h b/gdb/gdbcore.h index 5b216e9..66e81df 100644 --- a/gdb/gdbcore.h +++ b/gdb/gdbcore.h @@ -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); |