/* Locate the segments in ABFD. */
-static struct symfile_segment_data *
+static symfile_segment_data_up
elf_symfile_segments (bfd *abfd)
{
Elf_Internal_Phdr *phdrs, **segments;
long phdrs_size;
int num_phdrs, num_segments, num_sections, i;
asection *sect;
- struct symfile_segment_data *data;
phdrs_size = bfd_get_elf_phdr_upper_bound (abfd);
if (phdrs_size == -1)
if (num_segments == 0)
return NULL;
- data = XCNEW (struct symfile_segment_data);
+ symfile_segment_data_up data (new symfile_segment_data);
data->num_segments = num_segments;
data->segment_bases = XCNEWVEC (CORE_ADDR, num_segments);
data->segment_sizes = XCNEWVEC (CORE_ADDR, num_segments);