- /* The sections in ABFD may already have output sections and offsets set.
- Because this function is primarily for debug sections, and GCC uses the
- knowledge that debug sections will generally have VMA 0 when emitting
- relocations between DWARF-2 sections (which are supposed to be
- section-relative offsets anyway), we need to reset the output offsets
- to zero. We also need to arrange for section->output_section->vma plus
- section->output_offset to equal section->vma, which we do by setting
- section->output_section to point back to section. Save the original
- output offset and output section to restore later. */
- saved_offsets = malloc (sizeof (struct saved_output_info)
- * abfd->section_count);
- if (saved_offsets == NULL)
+ saved_offsets.section_count = abfd->section_count;
+ saved_offsets.sections = malloc (sizeof (*saved_offsets.sections)
+ * saved_offsets.section_count);
+ if (saved_offsets.sections == NULL)