mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-25 04:49:54 +08:00
Variable size for regs mask in collection list
This patch changes collection_list to allow larger register masks. The mask is changed from an array to a vector and is initialized to hold the maximum possible remote register number. The stringify method is updated to resize temp_buf if needed. gdb/ChangeLog: 2018-08-06 Pedro Franco de Carvalho <pedromfc@linux.ibm.com> * tracepoint.h (collection_list) <m_regs_mask>: Change type to std::vector<unsigned char>. * tracepoint.c (collection_list::collection_list): Remove m_regs_mask initializer from initializer list. Resize m_regs_mask using the largest remote register number. (collection_list::add_remote_register): Remove size check on m_regs_mask. Use at to access element. (collection_list::stringify): Change type of temp_buf to gdb::char_vector. Update uses of temp_buf. Resize if needed to stringify the register mask. Use pack_hex_byte for the register mask.
This commit is contained in:
@ -292,8 +292,9 @@ public:
|
||||
{ return m_computed; }
|
||||
|
||||
private:
|
||||
/* room for up to 256 regs */
|
||||
unsigned char m_regs_mask[32];
|
||||
/* We need the allocator zero-initialize the mask, so we don't use
|
||||
gdb::byte_vector. */
|
||||
std::vector<unsigned char> m_regs_mask;
|
||||
|
||||
std::vector<memrange> m_memranges;
|
||||
|
||||
|
Reference in New Issue
Block a user