diff options
author | Akihiko Odaki <akihiko.odaki.4i@stu.hosei.ac.jp> | 2016-09-23 16:32:04 +0100 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2016-09-23 16:32:04 +0100 |
commit | 5025eb7c0d87b01507116353b5d63b163d7add3d (patch) | |
tree | 5ee96f3e2ad11fe3c7c2fd3959bd2cd6f2c7c1c9 /bfd/elfxx-target.h | |
parent | 7c4236c3505d8dca3c6d9c2bc61145fa759bf4ce (diff) | |
download | gdb-5025eb7c0d87b01507116353b5d63b163d7add3d.zip gdb-5025eb7c0d87b01507116353b5d63b163d7add3d.tar.gz gdb-5025eb7c0d87b01507116353b5d63b163d7add3d.tar.bz2 |
Delete relocations associatesd with deleted exidx entries.
PR ld/20595
ld * testsuite/ld-arm/unwind-4.d: Add -q option to linker command
line and -r option to objdump command line. Match emitted relocs
to make sure that superflous relocs are not generated.
bfd * elf-bfd.h (struct elf_backend_data): Add
elf_backend_count_output_relocs callback to count relocations in
the final output.
* elf-arm.c (elf32_arm_add_relocation): Deleted.
(elf32_arm_write_section): Move additional relocation to emit_relocs.
(elf32_arm_count_output_relocs): New function.
(emit_relocs): New function.
(elf32_arm_emit_relocs): New function.
(elf32_arm_vxworks_emit_relocs): New function.
(elf_backend_emit_relocs): Updated to use the new functions.
(elf_backend_count_output_relocs): New define.
* bfd/elflink.c (bfd_elf_final_link): Do not add additional_reloc_count
to the relocation count.
(_bfd_elf_link_size_reloc_section): Use callback to count the
relocations which will be in output.
(_bfd_elf_default_count_output_relocs): New function.
* bfd/elfxx-target.h (elf_backend_count_output_relocs): New define.
Diffstat (limited to 'bfd/elfxx-target.h')
-rw-r--r-- | bfd/elfxx-target.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/bfd/elfxx-target.h b/bfd/elfxx-target.h index 364bddf..0f6f5c5 100644 --- a/bfd/elfxx-target.h +++ b/bfd/elfxx-target.h @@ -554,6 +554,9 @@ #ifndef elf_backend_count_additional_relocs #define elf_backend_count_additional_relocs NULL #endif +#ifndef elf_backend_count_output_relocs +#define elf_backend_count_output_relocs _bfd_elf_default_count_output_relocs +#endif #ifndef elf_backend_sort_relocs_p #define elf_backend_sort_relocs_p NULL #endif @@ -777,6 +780,7 @@ static struct elf_backend_data elfNN_bed = elf_backend_emit_relocs, elf_backend_count_relocs, elf_backend_count_additional_relocs, + elf_backend_count_output_relocs, elf_backend_sort_relocs_p, elf_backend_grok_prstatus, elf_backend_grok_psinfo, |