diff options
52 files changed, 115 insertions, 64 deletions
diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h index b0f16fd..d1368ec 100644 --- a/bfd/elf-bfd.h +++ b/bfd/elf-bfd.h @@ -1305,7 +1305,7 @@ struct elf_backend_data output file. The FINISH_DYNAMIC_SYMBOL will have been called on all dynamic symbols. */ bool (*elf_backend_finish_dynamic_sections) - (bfd *output_bfd, struct bfd_link_info *info); + (bfd *output_bfd, struct bfd_link_info *info, bfd_byte *); /* A function to do any beginning processing needed for the ELF file before building the ELF headers and computing file positions. */ diff --git a/bfd/elf-m10300.c b/bfd/elf-m10300.c index c2ed6e8..7ffc9d6 100644 --- a/bfd/elf-m10300.c +++ b/bfd/elf-m10300.c @@ -5336,8 +5336,9 @@ _bfd_mn10300_elf_finish_dynamic_symbol (bfd * output_bfd, /* Finish up the dynamic sections. */ static bool -_bfd_mn10300_elf_finish_dynamic_sections (bfd * output_bfd, - struct bfd_link_info * info) +_bfd_mn10300_elf_finish_dynamic_sections (bfd *output_bfd, + struct bfd_link_info *info, + bfd_byte *buf ATTRIBUTE_UNUSED) { bfd * dynobj; asection * sgot; diff --git a/bfd/elf32-arc.c b/bfd/elf32-arc.c index b5c2d9b..c1a9fb6 100644 --- a/bfd/elf32-arc.c +++ b/bfd/elf32-arc.c @@ -2580,7 +2580,8 @@ arc_create_forced_local_got_entries_for_tls (struct bfd_hash_entry *bh, static bool elf_arc_finish_dynamic_sections (bfd * output_bfd, - struct bfd_link_info *info) + struct bfd_link_info *info, + bfd_byte *buf ATTRIBUTE_UNUSED) { struct elf_link_hash_table *htab = elf_hash_table (info); bfd *dynobj = (elf_hash_table (info))->dynobj; diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c index 16a7544..24dde62 100644 --- a/bfd/elf32-arm.c +++ b/bfd/elf32-arm.c @@ -17217,7 +17217,8 @@ arm_put_trampoline (struct elf32_arm_link_hash_table *htab, bfd *output_bfd, /* Finish up the dynamic sections. */ static bool -elf32_arm_finish_dynamic_sections (bfd * output_bfd, struct bfd_link_info * info) +elf32_arm_finish_dynamic_sections (bfd *output_bfd, struct bfd_link_info *info, + bfd_byte *buf ATTRIBUTE_UNUSED) { bfd * dynobj; asection * sgot; diff --git a/bfd/elf32-bfin.c b/bfd/elf32-bfin.c index a3f66ab..279e31b 100644 --- a/bfd/elf32-bfin.c +++ b/bfd/elf32-bfin.c @@ -4218,7 +4218,8 @@ bfinfdpic_elf_discard_info (bfd *ibfd, static bool elf32_bfinfdpic_finish_dynamic_sections (bfd *output_bfd, - struct bfd_link_info *info) + struct bfd_link_info *info, + bfd_byte *buf ATTRIBUTE_UNUSED) { bfd *dynobj; asection *sdyn; @@ -4861,7 +4862,8 @@ bfin_link_hash_table_create (bfd * abfd) static bool bfin_finish_dynamic_sections (bfd * output_bfd ATTRIBUTE_UNUSED, - struct bfd_link_info *info) + struct bfd_link_info *info, + bfd_byte *buf ATTRIBUTE_UNUSED) { bfd *dynobj; asection *sdyn; diff --git a/bfd/elf32-cr16.c b/bfd/elf32-cr16.c index 9ddf654..06ba71a 100644 --- a/bfd/elf32-cr16.c +++ b/bfd/elf32-cr16.c @@ -2579,8 +2579,9 @@ _bfd_cr16_elf_finish_dynamic_symbol (bfd * output_bfd, /* Finish up the dynamic sections. */ static bool -_bfd_cr16_elf_finish_dynamic_sections (bfd * output_bfd, - struct bfd_link_info * info) +_bfd_cr16_elf_finish_dynamic_sections (bfd *output_bfd, + struct bfd_link_info *info, + bfd_byte *buf ATTRIBUTE_UNUSED) { bfd * dynobj; asection * sgot; diff --git a/bfd/elf32-cris.c b/bfd/elf32-cris.c index 7d90b83..463ac32 100644 --- a/bfd/elf32-cris.c +++ b/bfd/elf32-cris.c @@ -2310,7 +2310,8 @@ elf_cris_finish_dynamic_symbol (bfd *output_bfd, static bool elf_cris_finish_dynamic_sections (bfd *output_bfd, - struct bfd_link_info *info) + struct bfd_link_info *info, + bfd_byte *buf ATTRIBUTE_UNUSED) { bfd *dynobj; asection *sgot; diff --git a/bfd/elf32-csky.c b/bfd/elf32-csky.c index 239cf72..d648ed5 100644 --- a/bfd/elf32-csky.c +++ b/bfd/elf32-csky.c @@ -2272,7 +2272,8 @@ csky_elf_finish_dynamic_symbol (bfd *output_bfd, static bool csky_elf_finish_dynamic_sections (bfd *output_bfd, - struct bfd_link_info *info) + struct bfd_link_info *info, + bfd_byte *buf ATTRIBUTE_UNUSED) { struct csky_elf_link_hash_table *htab; bfd *dynobj; diff --git a/bfd/elf32-frv.c b/bfd/elf32-frv.c index 7dd354b..5a0c3e6 100644 --- a/bfd/elf32-frv.c +++ b/bfd/elf32-frv.c @@ -5685,7 +5685,8 @@ elf32_frvfdpic_relax_section (bfd *abfd ATTRIBUTE_UNUSED, asection *sec, static bool elf32_frv_finish_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED, - struct bfd_link_info *info ATTRIBUTE_UNUSED) + struct bfd_link_info *info ATTRIBUTE_UNUSED, + bfd_byte *buf ATTRIBUTE_UNUSED) { /* Nothing to be done for non-FDPIC. */ return true; @@ -5693,7 +5694,8 @@ elf32_frv_finish_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED, static bool elf32_frvfdpic_finish_dynamic_sections (bfd *output_bfd, - struct bfd_link_info *info) + struct bfd_link_info *info, + bfd_byte *buf ATTRIBUTE_UNUSED) { bfd *dynobj; asection *sdyn; diff --git a/bfd/elf32-hppa.c b/bfd/elf32-hppa.c index 4721cad..daafff7 100644 --- a/bfd/elf32-hppa.c +++ b/bfd/elf32-hppa.c @@ -4369,7 +4369,8 @@ elf32_hppa_reloc_type_class (const struct bfd_link_info *info ATTRIBUTE_UNUSED, static bool elf32_hppa_finish_dynamic_sections (bfd *output_bfd, - struct bfd_link_info *info) + struct bfd_link_info *info, + bfd_byte *buf ATTRIBUTE_UNUSED) { bfd *dynobj; struct elf32_hppa_link_hash_table *htab; diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c index c887133..abb361b 100644 --- a/bfd/elf32-i386.c +++ b/bfd/elf32-i386.c @@ -4137,11 +4137,12 @@ elf_i386_reloc_type_class (const struct bfd_link_info *info, static bool elf_i386_finish_dynamic_sections (bfd *output_bfd, - struct bfd_link_info *info) + struct bfd_link_info *info, + bfd_byte *buf) { struct elf_x86_link_hash_table *htab; - htab = _bfd_x86_elf_finish_dynamic_sections (output_bfd, info); + htab = _bfd_x86_elf_finish_dynamic_sections (output_bfd, info, buf); if (htab == NULL) return false; diff --git a/bfd/elf32-lm32.c b/bfd/elf32-lm32.c index ec916aa..7197806 100644 --- a/bfd/elf32-lm32.c +++ b/bfd/elf32-lm32.c @@ -1257,7 +1257,8 @@ lm32_elf_check_relocs (bfd *abfd, static bool lm32_elf_finish_dynamic_sections (bfd *output_bfd, - struct bfd_link_info *info) + struct bfd_link_info *info, + bfd_byte *buf ATTRIBUTE_UNUSED) { struct elf_lm32_link_hash_table *htab; bfd *dynobj; diff --git a/bfd/elf32-m32c.c b/bfd/elf32-m32c.c index 93cd2d5..bbc1225 100644 --- a/bfd/elf32-m32c.c +++ b/bfd/elf32-m32c.c @@ -751,7 +751,8 @@ m32c_elf_check_relocs static bool m32c_elf_finish_dynamic_sections (bfd *abfd ATTRIBUTE_UNUSED, - struct bfd_link_info *info) + struct bfd_link_info *info, + bfd_byte *buf ATTRIBUTE_UNUSED) { bfd *dynobj = elf_hash_table (info)->dynobj; asection *splt = elf_hash_table (info)->splt; diff --git a/bfd/elf32-m32r.c b/bfd/elf32-m32r.c index f21939b..02a563e 100644 --- a/bfd/elf32-m32r.c +++ b/bfd/elf32-m32r.c @@ -3067,7 +3067,8 @@ m32r_elf_finish_dynamic_symbol (bfd *output_bfd, static bool m32r_elf_finish_dynamic_sections (bfd *output_bfd, - struct bfd_link_info *info) + struct bfd_link_info *info, + bfd_byte *buf ATTRIBUTE_UNUSED) { struct elf_link_hash_table *htab; bfd *dynobj; diff --git a/bfd/elf32-m68k.c b/bfd/elf32-m68k.c index 41bc5ae..efe98b5 100644 --- a/bfd/elf32-m68k.c +++ b/bfd/elf32-m68k.c @@ -4270,7 +4270,8 @@ elf_m68k_finish_dynamic_symbol (bfd *output_bfd, /* Finish up the dynamic sections. */ static bool -elf_m68k_finish_dynamic_sections (bfd *output_bfd, struct bfd_link_info *info) +elf_m68k_finish_dynamic_sections (bfd *output_bfd, struct bfd_link_info *info, + bfd_byte *buf ATTRIBUTE_UNUSED) { bfd *dynobj; asection *sgot; diff --git a/bfd/elf32-metag.c b/bfd/elf32-metag.c index ca95aad..65a9e6f 100644 --- a/bfd/elf32-metag.c +++ b/bfd/elf32-metag.c @@ -3104,7 +3104,8 @@ elf_metag_reloc_type_class (const struct bfd_link_info *info ATTRIBUTE_UNUSED, static bool elf_metag_finish_dynamic_sections (bfd *output_bfd, - struct bfd_link_info *info) + struct bfd_link_info *info, + bfd_byte *buf ATTRIBUTE_UNUSED) { bfd *dynobj; struct elf_metag_link_hash_table *htab; diff --git a/bfd/elf32-microblaze.c b/bfd/elf32-microblaze.c index ede2131..e133839 100644 --- a/bfd/elf32-microblaze.c +++ b/bfd/elf32-microblaze.c @@ -3320,7 +3320,8 @@ microblaze_elf_finish_dynamic_symbol (bfd *output_bfd, static bool microblaze_elf_finish_dynamic_sections (bfd *output_bfd, - struct bfd_link_info *info) + struct bfd_link_info *info, + bfd_byte *buf ATTRIBUTE_UNUSED) { bfd *dynobj; asection *sdyn, *sgot; diff --git a/bfd/elf32-nds32.c b/bfd/elf32-nds32.c index 2341939..acfc659 100644 --- a/bfd/elf32-nds32.c +++ b/bfd/elf32-nds32.c @@ -6344,7 +6344,8 @@ nds32_elf_finish_dynamic_symbol (bfd *output_bfd, struct bfd_link_info *info, /* Finish up the dynamic sections. */ static bool -nds32_elf_finish_dynamic_sections (bfd *output_bfd, struct bfd_link_info *info) +nds32_elf_finish_dynamic_sections (bfd *output_bfd, struct bfd_link_info *info, + bfd_byte *buf ATTRIBUTE_UNUSED) { bfd *dynobj; asection *sdyn; diff --git a/bfd/elf32-or1k.c b/bfd/elf32-or1k.c index 10abd87..e6e25a8 100644 --- a/bfd/elf32-or1k.c +++ b/bfd/elf32-or1k.c @@ -2320,7 +2320,8 @@ or1k_write_plt_entry (bfd *output_bfd, bfd_byte *contents, unsigned insnj, static bool or1k_elf_finish_dynamic_sections (bfd *output_bfd, - struct bfd_link_info *info) + struct bfd_link_info *info, + bfd_byte *buf ATTRIBUTE_UNUSED) { bfd *dynobj; asection *sdyn, *sgot; diff --git a/bfd/elf32-ppc.c b/bfd/elf32-ppc.c index dd09435..6ed220d 100644 --- a/bfd/elf32-ppc.c +++ b/bfd/elf32-ppc.c @@ -9920,7 +9920,8 @@ ppc_elf_reloc_type_class (const struct bfd_link_info *info, static bool ppc_elf_finish_dynamic_sections (bfd *output_bfd, - struct bfd_link_info *info) + struct bfd_link_info *info, + bfd_byte *buf ATTRIBUTE_UNUSED) { asection *sdyn; struct ppc_elf_link_hash_table *htab; diff --git a/bfd/elf32-rl78.c b/bfd/elf32-rl78.c index b44fabb..16897cc 100644 --- a/bfd/elf32-rl78.c +++ b/bfd/elf32-rl78.c @@ -1409,7 +1409,8 @@ rl78_elf_check_relocs static bool rl78_elf_finish_dynamic_sections (bfd *abfd ATTRIBUTE_UNUSED, - struct bfd_link_info *info) + struct bfd_link_info *info, + bfd_byte *buf ATTRIBUTE_UNUSED) { bfd *dynobj; asection *splt; diff --git a/bfd/elf32-s390.c b/bfd/elf32-s390.c index b53d1a4..5e0c783 100644 --- a/bfd/elf32-s390.c +++ b/bfd/elf32-s390.c @@ -3610,7 +3610,8 @@ elf_s390_reloc_type_class (const struct bfd_link_info *info ATTRIBUTE_UNUSED, static bool elf_s390_finish_dynamic_sections (bfd *output_bfd, - struct bfd_link_info *info) + struct bfd_link_info *info, + bfd_byte *buf ATTRIBUTE_UNUSED) { struct elf_s390_link_hash_table *htab; bfd *dynobj; diff --git a/bfd/elf32-score.c b/bfd/elf32-score.c index 7084e4d..684144f 100644 --- a/bfd/elf32-score.c +++ b/bfd/elf32-score.c @@ -3550,7 +3550,8 @@ s3_bfd_score_elf_finish_dynamic_symbol (bfd *output_bfd, /* Finish up the dynamic sections. */ static bool s3_bfd_score_elf_finish_dynamic_sections (bfd *output_bfd, - struct bfd_link_info *info) + struct bfd_link_info *info, + bfd_byte *buf ATTRIBUTE_UNUSED) { bfd *dynobj; asection *sdyn; @@ -4216,12 +4217,13 @@ _bfd_score_elf_finish_dynamic_symbol (bfd *output_bfd, static bool _bfd_score_elf_finish_dynamic_sections (bfd *output_bfd, - struct bfd_link_info *info) + struct bfd_link_info *info, + bfd_byte *buf) { if (bfd_get_mach (output_bfd) == bfd_mach_score3) - return s3_bfd_score_elf_finish_dynamic_sections (output_bfd, info); + return s3_bfd_score_elf_finish_dynamic_sections (output_bfd, info, buf); else - return s7_bfd_score_elf_finish_dynamic_sections (output_bfd, info); + return s7_bfd_score_elf_finish_dynamic_sections (output_bfd, info, buf); } static bool diff --git a/bfd/elf32-score.h b/bfd/elf32-score.h index 0dee807..b982ed9 100644 --- a/bfd/elf32-score.h +++ b/bfd/elf32-score.h @@ -99,8 +99,8 @@ s7_bfd_score_elf_finish_dynamic_symbol (bfd *, Elf_Internal_Sym *) ATTRIBUTE_HIDDEN; extern bool -s7_bfd_score_elf_finish_dynamic_sections (bfd *, struct bfd_link_info *) - ATTRIBUTE_HIDDEN; +s7_bfd_score_elf_finish_dynamic_sections (bfd *, struct bfd_link_info *, + bfd_byte *) ATTRIBUTE_HIDDEN; extern bool s7_bfd_score_elf_fake_sections (bfd *, diff --git a/bfd/elf32-score7.c b/bfd/elf32-score7.c index eb8b1eb..a74c727 100644 --- a/bfd/elf32-score7.c +++ b/bfd/elf32-score7.c @@ -3362,7 +3362,8 @@ s7_bfd_score_elf_finish_dynamic_symbol (bfd *output_bfd, bool s7_bfd_score_elf_finish_dynamic_sections (bfd *output_bfd, - struct bfd_link_info *info) + struct bfd_link_info *info, + bfd_byte *buf ATTRIBUTE_UNUSED) { bfd *dynobj; asection *sdyn; diff --git a/bfd/elf32-sh.c b/bfd/elf32-sh.c index da00593..7df228d 100644 --- a/bfd/elf32-sh.c +++ b/bfd/elf32-sh.c @@ -6245,7 +6245,8 @@ sh_elf_finish_dynamic_symbol (bfd *output_bfd, struct bfd_link_info *info, /* Finish up the dynamic sections. */ static bool -sh_elf_finish_dynamic_sections (bfd *output_bfd, struct bfd_link_info *info) +sh_elf_finish_dynamic_sections (bfd *output_bfd, struct bfd_link_info *info, + bfd_byte *buf ATTRIBUTE_UNUSED) { struct elf_sh_link_hash_table *htab; asection *sgotplt; diff --git a/bfd/elf32-spu.c b/bfd/elf32-spu.c index adea6d0..00cf73f 100644 --- a/bfd/elf32-spu.c +++ b/bfd/elf32-spu.c @@ -5135,7 +5135,8 @@ spu_elf_relocate_section (bfd *output_bfd, static bool spu_elf_finish_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED, - struct bfd_link_info *info ATTRIBUTE_UNUSED) + struct bfd_link_info *info ATTRIBUTE_UNUSED, + bfd_byte *buf ATTRIBUTE_UNUSED) { return true; } diff --git a/bfd/elf32-tic6x.c b/bfd/elf32-tic6x.c index 564bb72..c3a434e 100644 --- a/bfd/elf32-tic6x.c +++ b/bfd/elf32-tic6x.c @@ -3362,7 +3362,8 @@ elf32_tic6x_early_size_sections (bfd *output_bfd, struct bfd_link_info *info) static bool elf32_tic6x_finish_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED, - struct bfd_link_info *info) + struct bfd_link_info *info, + bfd_byte *buf ATTRIBUTE_UNUSED) { struct elf32_tic6x_link_hash_table *htab; bfd *dynobj; diff --git a/bfd/elf32-tilepro.c b/bfd/elf32-tilepro.c index 05746e9..63aa148 100644 --- a/bfd/elf32-tilepro.c +++ b/bfd/elf32-tilepro.c @@ -3581,7 +3581,8 @@ tilepro_finish_dyn (bfd *output_bfd, struct bfd_link_info *info, static bool tilepro_elf_finish_dynamic_sections (bfd *output_bfd, - struct bfd_link_info *info) + struct bfd_link_info *info, + bfd_byte *buf ATTRIBUTE_UNUSED) { bfd *dynobj; asection *sdyn; diff --git a/bfd/elf32-vax.c b/bfd/elf32-vax.c index 8d5c18d..0d0bb0d 100644 --- a/bfd/elf32-vax.c +++ b/bfd/elf32-vax.c @@ -43,7 +43,8 @@ static int elf_vax_relocate_section (bfd *, struct bfd_link_info *, static bool elf_vax_finish_dynamic_symbol (bfd *, struct bfd_link_info *, struct elf_link_hash_entry *, Elf_Internal_Sym *); -static bool elf_vax_finish_dynamic_sections (bfd *, struct bfd_link_info *); +static bool elf_vax_finish_dynamic_sections (bfd *, struct bfd_link_info *, + bfd_byte *); static bfd_vma elf_vax_plt_sym_val (bfd_vma, const asection *, const arelent *); @@ -1733,7 +1734,8 @@ elf_vax_finish_dynamic_symbol (bfd *output_bfd, struct bfd_link_info *info, /* Finish up the dynamic sections. */ static bool -elf_vax_finish_dynamic_sections (bfd *output_bfd, struct bfd_link_info *info) +elf_vax_finish_dynamic_sections (bfd *output_bfd, struct bfd_link_info *info, + bfd_byte *buf ATTRIBUTE_UNUSED) { bfd *dynobj; asection *sgot; diff --git a/bfd/elf32-xstormy16.c b/bfd/elf32-xstormy16.c index 471eb2e..7f330eb 100644 --- a/bfd/elf32-xstormy16.c +++ b/bfd/elf32-xstormy16.c @@ -958,7 +958,8 @@ xstormy16_elf_relocate_section (bfd * output_bfd ATTRIBUTE_UNUSED, static bool xstormy16_elf_finish_dynamic_sections (bfd *abfd ATTRIBUTE_UNUSED, - struct bfd_link_info *info) + struct bfd_link_info *info, + bfd_byte *buf ATTRIBUTE_UNUSED) { bfd *dynobj = elf_hash_table (info)->dynobj; asection *splt = elf_hash_table (info)->splt; diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c index 20b6292..403e218 100644 --- a/bfd/elf32-xtensa.c +++ b/bfd/elf32-xtensa.c @@ -3215,7 +3215,8 @@ elf_xtensa_combine_prop_entries (bfd *output_bfd, static bool elf_xtensa_finish_dynamic_sections (bfd *output_bfd, - struct bfd_link_info *info) + struct bfd_link_info *info, + bfd_byte *buf ATTRIBUTE_UNUSED) { struct elf_xtensa_link_hash_table *htab; bfd *dynobj; diff --git a/bfd/elf64-alpha.c b/bfd/elf64-alpha.c index 077539b..932f65d 100644 --- a/bfd/elf64-alpha.c +++ b/bfd/elf64-alpha.c @@ -4905,7 +4905,8 @@ elf64_alpha_finish_dynamic_symbol (bfd *output_bfd, struct bfd_link_info *info, static bool elf64_alpha_finish_dynamic_sections (bfd *output_bfd, - struct bfd_link_info *info) + struct bfd_link_info *info, + bfd_byte *buf ATTRIBUTE_UNUSED) { bfd *dynobj; asection *sdyn; diff --git a/bfd/elf64-hppa.c b/bfd/elf64-hppa.c index befe6fc..026c8a6 100644 --- a/bfd/elf64-hppa.c +++ b/bfd/elf64-hppa.c @@ -192,7 +192,7 @@ static bool elf64_hppa_finish_dynamic_symbol struct elf_link_hash_entry *, Elf_Internal_Sym *); static bool elf64_hppa_finish_dynamic_sections - (bfd *, struct bfd_link_info *); + (bfd *, struct bfd_link_info *, bfd_byte *); static bool elf64_hppa_check_relocs (bfd *, struct bfd_link_info *, @@ -2424,7 +2424,8 @@ elf64_hppa_reloc_type_class (const struct bfd_link_info *info ATTRIBUTE_UNUSED, static bool elf64_hppa_finish_dynamic_sections (bfd *output_bfd, - struct bfd_link_info *info) + struct bfd_link_info *info, + bfd_byte *buf ATTRIBUTE_UNUSED) { bfd *dynobj; asection *sdyn; diff --git a/bfd/elf64-ia64-vms.c b/bfd/elf64-ia64-vms.c index 538b723..74f1551 100644 --- a/bfd/elf64-ia64-vms.c +++ b/bfd/elf64-ia64-vms.c @@ -4054,7 +4054,8 @@ elf64_ia64_finish_dynamic_symbol (bfd *output_bfd, static bool elf64_ia64_finish_dynamic_sections (bfd *abfd, - struct bfd_link_info *info) + struct bfd_link_info *info, + bfd_byte *buf ATTRIBUTE_UNUSED) { struct elf64_ia64_link_hash_table *ia64_info; bfd *dynobj; diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c index 8186091..48af990 100644 --- a/bfd/elf64-ppc.c +++ b/bfd/elf64-ppc.c @@ -18248,7 +18248,8 @@ ppc64_elf_reloc_type_class (const struct bfd_link_info *info, static bool ppc64_elf_finish_dynamic_sections (bfd *output_bfd, - struct bfd_link_info *info) + struct bfd_link_info *info, + bfd_byte *buf ATTRIBUTE_UNUSED) { struct ppc_link_hash_table *htab; bfd *dynobj; diff --git a/bfd/elf64-s390.c b/bfd/elf64-s390.c index 5df77f2..decd742 100644 --- a/bfd/elf64-s390.c +++ b/bfd/elf64-s390.c @@ -3841,7 +3841,8 @@ elf_s390_reloc_type_class (const struct bfd_link_info *info ATTRIBUTE_UNUSED, static bool elf_s390_finish_dynamic_sections (bfd *output_bfd, - struct bfd_link_info *info) + struct bfd_link_info *info, + bfd_byte *buf ATTRIBUTE_UNUSED) { struct elf_s390_link_hash_table *htab; bfd *dynobj; diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c index 26c6f0e..337394f 100644 --- a/bfd/elf64-x86-64.c +++ b/bfd/elf64-x86-64.c @@ -5651,11 +5651,12 @@ elf_x86_64_reloc_type_class (const struct bfd_link_info *info, static bool elf_x86_64_finish_dynamic_sections (bfd *output_bfd, - struct bfd_link_info *info) + struct bfd_link_info *info, + bfd_byte *buf) { struct elf_x86_link_hash_table *htab; - htab = _bfd_x86_elf_finish_dynamic_sections (output_bfd, info); + htab = _bfd_x86_elf_finish_dynamic_sections (output_bfd, info, buf); if (htab == NULL) return false; diff --git a/bfd/elflink.c b/bfd/elflink.c index fb975d9..7a5f54b 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -13737,7 +13737,8 @@ _bfd_elf_final_link (bfd *abfd, struct bfd_link_info *info) /* If we have created any dynamic sections, then output them. */ if (dynobj != NULL) { - if (! (*bed->elf_backend_finish_dynamic_sections) (abfd, info)) + if (! (*bed->elf_backend_finish_dynamic_sections) (abfd, info, + flinfo.contents)) goto error_return; /* Check for DT_TEXTREL (late, in case the backend removes it). */ diff --git a/bfd/elfnn-aarch64.c b/bfd/elfnn-aarch64.c index 89cf50b..b104e40 100644 --- a/bfd/elfnn-aarch64.c +++ b/bfd/elfnn-aarch64.c @@ -10219,7 +10219,8 @@ elfNN_aarch64_init_small_plt0_entry (bfd *output_bfd ATTRIBUTE_UNUSED, static bool elfNN_aarch64_finish_dynamic_sections (bfd *output_bfd, - struct bfd_link_info *info) + struct bfd_link_info *info, + bfd_byte *buf ATTRIBUTE_UNUSED) { struct elf_aarch64_link_hash_table *htab; bfd *dynobj; diff --git a/bfd/elfnn-ia64.c b/bfd/elfnn-ia64.c index e0c3a8c..43113ca 100644 --- a/bfd/elfnn-ia64.c +++ b/bfd/elfnn-ia64.c @@ -4597,7 +4597,8 @@ elfNN_ia64_finish_dynamic_symbol (bfd *output_bfd, static bool elfNN_ia64_finish_dynamic_sections (bfd *abfd, - struct bfd_link_info *info) + struct bfd_link_info *info, + bfd_byte *buf ATTRIBUTE_UNUSED) { struct elfNN_ia64_link_hash_table *ia64_info; bfd *dynobj; diff --git a/bfd/elfnn-kvx.c b/bfd/elfnn-kvx.c index 853ccfd..297785f 100644 --- a/bfd/elfnn-kvx.c +++ b/bfd/elfnn-kvx.c @@ -4548,7 +4548,8 @@ elfNN_kvx_init_small_plt0_entry (bfd *output_bfd ATTRIBUTE_UNUSED, static bool elfNN_kvx_finish_dynamic_sections (bfd *output_bfd, - struct bfd_link_info *info) + struct bfd_link_info *info, + bfd_byte *buf ATTRIBUTE_UNUSED) { struct elf_kvx_link_hash_table *htab; bfd *dynobj; diff --git a/bfd/elfnn-loongarch.c b/bfd/elfnn-loongarch.c index a2d40a8..ddb8097 100644 --- a/bfd/elfnn-loongarch.c +++ b/bfd/elfnn-loongarch.c @@ -6348,7 +6348,8 @@ elf_loongarch_output_arch_local_syms static bool loongarch_elf_finish_dynamic_sections (bfd *output_bfd, - struct bfd_link_info *info) + struct bfd_link_info *info, + bfd_byte *buf ATTRIBUTE_UNUSED) { bfd *dynobj; asection *sdyn, *plt, *gotplt = NULL; diff --git a/bfd/elfnn-riscv.c b/bfd/elfnn-riscv.c index a81a990..345b3bb 100644 --- a/bfd/elfnn-riscv.c +++ b/bfd/elfnn-riscv.c @@ -3760,7 +3760,8 @@ riscv_finish_dyn (bfd *output_bfd, struct bfd_link_info *info, static bool riscv_elf_finish_dynamic_sections (bfd *output_bfd, - struct bfd_link_info *info) + struct bfd_link_info *info, + bfd_byte *buf ATTRIBUTE_UNUSED) { bfd *dynobj; asection *sdyn; diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c index b8809a4..e37c45f 100644 --- a/bfd/elfxx-mips.c +++ b/bfd/elfxx-mips.c @@ -11929,7 +11929,8 @@ mips_vxworks_finish_shared_plt (bfd *output_bfd, struct bfd_link_info *info) bool _bfd_mips_elf_finish_dynamic_sections (bfd *output_bfd, - struct bfd_link_info *info) + struct bfd_link_info *info, + bfd_byte *buf ATTRIBUTE_UNUSED) { bfd *dynobj; asection *sdyn; diff --git a/bfd/elfxx-mips.h b/bfd/elfxx-mips.h index 33e02b7..55f8a96 100644 --- a/bfd/elfxx-mips.h +++ b/bfd/elfxx-mips.h @@ -80,7 +80,7 @@ extern bool _bfd_mips_vxworks_finish_dynamic_symbol (bfd *, struct bfd_link_info *, struct elf_link_hash_entry *, Elf_Internal_Sym *) ATTRIBUTE_HIDDEN; extern bool _bfd_mips_elf_finish_dynamic_sections - (bfd *, struct bfd_link_info *) ATTRIBUTE_HIDDEN; + (bfd *, struct bfd_link_info *, bfd_byte *) ATTRIBUTE_HIDDEN; extern bool _bfd_mips_elf_sort_relocs_p (asection *) ATTRIBUTE_HIDDEN; extern void _bfd_mips_final_write_processing diff --git a/bfd/elfxx-sparc.c b/bfd/elfxx-sparc.c index 0a80e7c..bd1dcf7 100644 --- a/bfd/elfxx-sparc.c +++ b/bfd/elfxx-sparc.c @@ -4696,7 +4696,9 @@ pie_finish_undefweak_symbol (struct bfd_hash_entry *bh, } bool -_bfd_sparc_elf_finish_dynamic_sections (bfd *output_bfd, struct bfd_link_info *info) +_bfd_sparc_elf_finish_dynamic_sections (bfd *output_bfd, + struct bfd_link_info *info, + bfd_byte *buf ATTRIBUTE_UNUSED) { bfd *dynobj; asection *sdyn; diff --git a/bfd/elfxx-sparc.h b/bfd/elfxx-sparc.h index 26fec75..16abaa9 100644 --- a/bfd/elfxx-sparc.h +++ b/bfd/elfxx-sparc.h @@ -127,7 +127,7 @@ extern bool _bfd_sparc_elf_finish_dynamic_symbol (bfd *, struct bfd_link_info *, struct elf_link_hash_entry *, Elf_Internal_Sym *sym) ATTRIBUTE_HIDDEN; extern bool _bfd_sparc_elf_finish_dynamic_sections - (bfd *, struct bfd_link_info *) ATTRIBUTE_HIDDEN; + (bfd *, struct bfd_link_info *, bfd_byte *) ATTRIBUTE_HIDDEN; extern bool _bfd_sparc_elf_fixup_symbol (struct bfd_link_info *, struct elf_link_hash_entry *) ATTRIBUTE_HIDDEN; extern bool _bfd_sparc_elf_object_p diff --git a/bfd/elfxx-tilegx.c b/bfd/elfxx-tilegx.c index cdbeac1..2937169 100644 --- a/bfd/elfxx-tilegx.c +++ b/bfd/elfxx-tilegx.c @@ -3960,7 +3960,8 @@ tilegx_finish_dyn (bfd *output_bfd, struct bfd_link_info *info, bool tilegx_elf_finish_dynamic_sections (bfd *output_bfd, - struct bfd_link_info *info) + struct bfd_link_info *info, + bfd_byte *buf ATTRIBUTE_UNUSED) { bfd *dynobj; asection *sdyn; diff --git a/bfd/elfxx-tilegx.h b/bfd/elfxx-tilegx.h index c6a560a..38713c3 100644 --- a/bfd/elfxx-tilegx.h +++ b/bfd/elfxx-tilegx.h @@ -95,7 +95,7 @@ tilegx_elf_finish_dynamic_symbol (bfd *, Elf_Internal_Sym *) ATTRIBUTE_HIDDEN; extern bool -tilegx_elf_finish_dynamic_sections (bfd *, struct bfd_link_info *) +tilegx_elf_finish_dynamic_sections (bfd *, struct bfd_link_info *, bfd_byte *) ATTRIBUTE_HIDDEN; extern bool diff --git a/bfd/elfxx-x86.c b/bfd/elfxx-x86.c index 1f7024f..67fba0f 100644 --- a/bfd/elfxx-x86.c +++ b/bfd/elfxx-x86.c @@ -2762,7 +2762,8 @@ _bfd_x86_elf_late_size_sections (bfd *output_bfd, struct elf_x86_link_hash_table * _bfd_x86_elf_finish_dynamic_sections (bfd *output_bfd, - struct bfd_link_info *info) + struct bfd_link_info *info, + bfd_byte *buf ATTRIBUTE_UNUSED) { struct elf_x86_link_hash_table *htab; const struct elf_backend_data *bed; diff --git a/bfd/elfxx-x86.h b/bfd/elfxx-x86.h index 9ed1864..7e196cd 100644 --- a/bfd/elfxx-x86.h +++ b/bfd/elfxx-x86.h @@ -884,7 +884,7 @@ extern bool _bfd_x86_elf_late_size_sections (bfd *, struct bfd_link_info *) ATTRIBUTE_HIDDEN; extern struct elf_x86_link_hash_table *_bfd_x86_elf_finish_dynamic_sections - (bfd *, struct bfd_link_info *) ATTRIBUTE_HIDDEN; + (bfd *, struct bfd_link_info *, bfd_byte *) ATTRIBUTE_HIDDEN; extern bool _bfd_x86_elf_early_size_sections (bfd *, struct bfd_link_info *) ATTRIBUTE_HIDDEN; |
