aboutsummaryrefslogtreecommitdiff
path: root/bfd/elfxx-target.h
diff options
context:
space:
mode:
authorAkihiko Odaki <akihiko.odaki.4i@stu.hosei.ac.jp>2016-09-23 16:32:04 +0100
committerNick Clifton <nickc@redhat.com>2016-09-23 16:32:04 +0100
commit5025eb7c0d87b01507116353b5d63b163d7add3d (patch)
tree5ee96f3e2ad11fe3c7c2fd3959bd2cd6f2c7c1c9 /bfd/elfxx-target.h
parent7c4236c3505d8dca3c6d9c2bc61145fa759bf4ce (diff)
downloadgdb-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.h4
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,