diff options
author | Nick Clifton <nickc@redhat.com> | 2020-03-05 15:47:15 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2020-03-05 15:47:15 +0000 |
commit | a8e14f4cc2badfcf959f5e2cc57a941dc43f72d4 (patch) | |
tree | 444ec5de9720df67ac7202749119058278f3d9d7 /bfd/ChangeLog | |
parent | 842806cb6f1c321666dd086a79a0fdfbd35497ed (diff) | |
download | gdb-a8e14f4cc2badfcf959f5e2cc57a941dc43f72d4.zip gdb-a8e14f4cc2badfcf959f5e2cc57a941dc43f72d4.tar.gz gdb-a8e14f4cc2badfcf959f5e2cc57a941dc43f72d4.tar.bz2 |
Add support for ELF files which contain multiple reloc sections which all target the same section.
* elf-bfd.h (struct elf_backend_data): Add new fields:
init_secondary_reloc_section, slurp_secondary_reloc_section,
write_secondary_reloc_section.
(_bfd_elf_init_secondary_reloc_section): Prototype.
(_bfd_elf_slurp_secondary_reloc_section): Prototype.
(_bfd_elf_write_secondary_reloc_section): Prototype.
* elf.c ( bfd_section_from_shdr): Invoke the new
init_secondary_reloc_section backend function, if defined, when a
second reloc section is encountered.
(swap_out_syms): Invoke the new symbol_section_index function, if
defined, when computing the section index of an OS/PROC specific
symbol.
(_bfd_elf_init_secondary_reloc_section): New function.
(_bfd_elf_slurp_secondary_reloc_section): New function.
(_bfd_elf_write_secondary_reloc_section): New function.
(_bfd_elf_copy_special_section_fields): New function.
* elfcode.h (elf_write_relocs): Invoke the new
write_secondary_relocs function, if defined, in order to emit
secondary relocs.
(elf_slurp_reloc_table): Invoke the new slurp_secondary_relocs
function, if defined, in order to read in secondary relocs.
* elfxx-target.h (elf_backend_copy_special_section_fields):
Provide a non-NULL default definition.
(elf_backend_init_secondary_reloc_section): Likewise.
(elf_backend_slurp_secondary_reloc_section): Likewise.
(elf_backend_write_secondary_reloc_section): Likewise.
(struct elf_backend_data elfNN_bed): Add initialisers for the new
fields.
* configure.ac (score_elf32_[bl]e_vec): Add elf64.lo
* configure: Regenerate.
Diffstat (limited to 'bfd/ChangeLog')
-rw-r--r-- | bfd/ChangeLog | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 9f1a942..1cfff1c 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,36 @@ +2020-03-05 Nick Clifton <nickc@redhat.com> + + * elf-bfd.h (struct elf_backend_data): Add new fields: + init_secondary_reloc_section, slurp_secondary_reloc_section, + write_secondary_reloc_section. + (_bfd_elf_init_secondary_reloc_section): Prototype. + (_bfd_elf_slurp_secondary_reloc_section): Prototype. + (_bfd_elf_write_secondary_reloc_section): Prototype. + * elf.c ( bfd_section_from_shdr): Invoke the new + init_secondary_reloc_section backend function, if defined, when a + second reloc section is encountered. + (swap_out_syms): Invoke the new symbol_section_index function, if + defined, when computing the section index of an OS/PROC specific + symbol. + (_bfd_elf_init_secondary_reloc_section): New function. + (_bfd_elf_slurp_secondary_reloc_section): New function. + (_bfd_elf_write_secondary_reloc_section): New function. + (_bfd_elf_copy_special_section_fields): New function. + * elfcode.h (elf_write_relocs): Invoke the new + write_secondary_relocs function, if defined, in order to emit + secondary relocs. + (elf_slurp_reloc_table): Invoke the new slurp_secondary_relocs + function, if defined, in order to read in secondary relocs. + * elfxx-target.h (elf_backend_copy_special_section_fields): + Provide a non-NULL default definition. + (elf_backend_init_secondary_reloc_section): Likewise. + (elf_backend_slurp_secondary_reloc_section): Likewise. + (elf_backend_write_secondary_reloc_section): Likewise. + (struct elf_backend_data elfNN_bed): Add initialisers for the new + fields. + * configure.ac (score_elf32_[bl]e_vec): Add elf64.lo + * configure: Regenerate. + 2020-03-05 Alan Modra <amodra@gmail.com> * archive64.c (_bfd_archive_64_bit_slurp_armap): Check parsed_size |