gdb: make symfile_segment_data::segment_info an std::vector

Change the symfile_segment_data::segment_info array to be an
std::vector.  No functional changes are expected.

gdb/ChangeLog:

	* symfile.h (struct symfile_segment_data)
	<~symfile_segment_data>: Remove.
	<segment_info>: Change to std::vector.
	* symfile.c (default_symfile_segments): Update.
	* elfread.c (elf_symfile_segments): Update.
This commit is contained in:
Simon Marchi 2020-05-19 12:18:05 -04:00
parent 68b888fff3
commit 9005fbbb00
4 changed files with 15 additions and 8 deletions

View File

@ -1,3 +1,11 @@
2020-05-19 Simon Marchi <simon.marchi@efficios.com>
* symfile.h (struct symfile_segment_data)
<~symfile_segment_data>: Remove.
<segment_info>: Change to std::vector.
* symfile.c (default_symfile_segments): Update.
* elfread.c (elf_symfile_segments): Update.
2020-05-19 Simon Marchi <simon.marchi@efficios.com>
* symfile.h (struct symfile_segment_data) <struct segment>: New.

View File

@ -118,7 +118,9 @@ elf_symfile_segments (bfd *abfd)
data->segments.emplace_back (segments[i]->p_vaddr, segments[i]->p_memsz);
num_sections = bfd_count_sections (abfd);
data->segment_info = XCNEWVEC (int, num_sections);
/* All elements are initialized to 0 (map to no segment). */
data->segment_info.resize (num_sections);
for (i = 0, sect = abfd->sections; sect != NULL; i++, sect = sect->next)
{

View File

@ -747,7 +747,9 @@ default_symfile_segments (bfd *abfd)
symfile_segment_data_up data (new symfile_segment_data);
num_sections = bfd_count_sections (abfd);
data->segment_info = XCNEWVEC (int, num_sections);
/* All elements are initialized to 0 (map to no segment). */
data->segment_info.resize (num_sections);
for (i = 0, sect = abfd->sections; sect != NULL; i++, sect = sect->next)
{

View File

@ -93,11 +93,6 @@ struct symfile_segment_data
CORE_ADDR size;
};
~symfile_segment_data ()
{
xfree (this->segment_info);
}
/* The segments present in this file. If there are
two, the text segment is the first one and the data segment
is the second one. */
@ -106,7 +101,7 @@ struct symfile_segment_data
/* This is an array of entries recording which segment contains each BFD
section. SEGMENT_INFO[I] is S+1 if the I'th BFD section belongs to segment
S, or zero if it is not in any segment. */
int *segment_info = nullptr;
std::vector<int> segment_info;
};
using symfile_segment_data_up = std::unique_ptr<symfile_segment_data>;