From 362b674aa48a7bd18012d07e4cf7f3e2122fee30 Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Fri, 14 Nov 2025 09:03:49 +0100 Subject: [PATCH] bfd/ELF: properly mark bfd_elf_{,gc_common_}final_link() as private They're solely used as hook functions (or helpers thereof), so aren't intended to be invoked directly from outside the library. Add underscore prefixes and make them hidden. --- bfd/elf-bfd.h | 8 ++++---- bfd/elf32-arm.c | 2 +- bfd/elf32-bfin.c | 2 +- bfd/elf32-cris.c | 3 +-- bfd/elf32-hppa.c | 2 +- bfd/elf32-m68k.c | 2 +- bfd/elf32-rx.c | 2 +- bfd/elf32-spu.c | 4 ++-- bfd/elf32-tic6x.c | 5 +---- bfd/elf32-vax.c | 2 +- bfd/elf64-alpha.c | 2 +- bfd/elf64-hppa.c | 2 +- bfd/elf64-ia64-vms.c | 2 +- bfd/elf64-mmix.c | 2 +- bfd/elflink.c | 6 +++--- bfd/elfnn-ia64.c | 2 +- bfd/elfxx-mips.c | 2 +- bfd/elfxx-target.h | 2 +- 18 files changed, 24 insertions(+), 28 deletions(-) diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h index e7ee074f1c7..c9aa3ff9ca9 100644 --- a/bfd/elf-bfd.h +++ b/bfd/elf-bfd.h @@ -2843,8 +2843,8 @@ extern bfd_reloc_status_type _bfd_elf_rel_vtable_reloc_fn (bfd *, arelent *, struct bfd_symbol *, void *, asection *, bfd *, char **) ATTRIBUTE_HIDDEN; -extern bool bfd_elf_final_link - (bfd *, struct bfd_link_info *); +extern bool _bfd_elf_final_link + (bfd *, struct bfd_link_info *) ATTRIBUTE_HIDDEN; extern void _bfd_elf_gc_keep (struct bfd_link_info *info) ATTRIBUTE_HIDDEN; @@ -2886,8 +2886,8 @@ extern bool _bfd_elf_gc_mark_extra_sections extern bool bfd_elf_gc_common_finalize_got_offsets (bfd *, struct bfd_link_info *); -extern bool bfd_elf_gc_common_final_link - (bfd *, struct bfd_link_info *); +extern bool _bfd_elf_gc_common_final_link + (bfd *, struct bfd_link_info *) ATTRIBUTE_HIDDEN; extern bool bfd_elf_reloc_symbol_deleted_p (bfd_vma, void *); diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c index ed2f5467c1e..b1426e1744c 100644 --- a/bfd/elf32-arm.c +++ b/bfd/elf32-arm.c @@ -13693,7 +13693,7 @@ elf32_arm_final_link (bfd *abfd, struct bfd_link_info *info) return false; /* Invoke the regular ELF backend linker to do all the work. */ - if (!bfd_elf_final_link (abfd, info)) + if (!_bfd_elf_final_link (abfd, info)) return false; /* Process stub sections (eg BE8 encoding, ...). */ diff --git a/bfd/elf32-bfin.c b/bfd/elf32-bfin.c index e5ad4d6ca0a..4da3e0ec0e7 100644 --- a/bfd/elf32-bfin.c +++ b/bfd/elf32-bfin.c @@ -5425,7 +5425,7 @@ struct bfd_elf_special_section const elf32_bfin_special_sections[] = _bfd_elf_create_dynamic_sections #define bfd_elf32_bfd_link_hash_table_create \ bfin_link_hash_table_create -#define bfd_elf32_bfd_final_link bfd_elf_gc_common_final_link +#define bfd_elf32_bfd_final_link _bfd_elf_gc_common_final_link #define elf_backend_check_relocs bfin_check_relocs #define elf_backend_adjust_dynamic_symbol \ diff --git a/bfd/elf32-cris.c b/bfd/elf32-cris.c index 77e8201b4a6..cb88725cc50 100644 --- a/bfd/elf32-cris.c +++ b/bfd/elf32-cris.c @@ -4100,8 +4100,7 @@ elf_cris_got_elt_size (bfd *abfd ATTRIBUTE_UNUSED, elf_cris_finish_dynamic_sections #define elf_backend_create_dynamic_sections \ _bfd_elf_create_dynamic_sections -#define bfd_elf32_bfd_final_link \ - bfd_elf_gc_common_final_link +#define bfd_elf32_bfd_final_link _bfd_elf_gc_common_final_link #define elf_backend_hide_symbol elf_cris_hide_symbol #define elf_backend_reloc_type_class elf_cris_reloc_type_class diff --git a/bfd/elf32-hppa.c b/bfd/elf32-hppa.c index 3a7237dbe7d..4721cad619a 100644 --- a/bfd/elf32-hppa.c +++ b/bfd/elf32-hppa.c @@ -3043,7 +3043,7 @@ elf32_hppa_final_link (bfd *abfd, struct bfd_link_info *info) struct stat buf; /* Invoke the regular ELF linker to do all the work. */ - if (!bfd_elf_final_link (abfd, info)) + if (!_bfd_elf_final_link (abfd, info)) return false; /* If we're producing a final executable, sort the contents of the diff --git a/bfd/elf32-m68k.c b/bfd/elf32-m68k.c index b5df42d7488..b1147ad7d9f 100644 --- a/bfd/elf32-m68k.c +++ b/bfd/elf32-m68k.c @@ -4629,7 +4629,7 @@ elf_m68k_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) _bfd_elf_create_dynamic_sections #define bfd_elf32_bfd_link_hash_table_create \ elf_m68k_link_hash_table_create -#define bfd_elf32_bfd_final_link bfd_elf_final_link +#define bfd_elf32_bfd_final_link _bfd_elf_final_link #define elf_backend_check_relocs elf_m68k_check_relocs #define elf_backend_early_size_sections \ diff --git a/bfd/elf32-rx.c b/bfd/elf32-rx.c index 3aeb80bf1fb..5c8921e27c4 100644 --- a/bfd/elf32-rx.c +++ b/bfd/elf32-rx.c @@ -3684,7 +3684,7 @@ rx_final_link (bfd * abfd, struct bfd_link_info * info) } } - return bfd_elf_final_link (abfd, info); + return _bfd_elf_final_link (abfd, info); } static bool diff --git a/bfd/elf32-spu.c b/bfd/elf32-spu.c index de051e48185..adea6d0d51c 100644 --- a/bfd/elf32-spu.c +++ b/bfd/elf32-spu.c @@ -3428,7 +3428,7 @@ struct _mos_param { /* Set linker_mark and gc_mark on any sections that we will put in overlays. These flags are used by the generic ELF linker, but we - won't be continuing on to bfd_elf_final_link so it is OK to use + won't be continuing on to _bfd_elf_final_link() so it is OK to use them. linker_mark is clear before we get here. Set segment_mark on sections that are part of a pasted function (excluding the last section). @@ -4744,7 +4744,7 @@ spu_elf_final_link (bfd *output_bfd, struct bfd_link_info *info) if (!spu_elf_build_stubs (info)) info->callbacks->fatal (_("%P: can not build overlay stubs: %E\n")); - return bfd_elf_final_link (output_bfd, info); + return _bfd_elf_final_link (output_bfd, info); } /* Called when not normally emitting relocs, ie. !bfd_link_relocatable (info) diff --git a/bfd/elf32-tic6x.c b/bfd/elf32-tic6x.c index 98b3a894ee5..eb980f9268c 100644 --- a/bfd/elf32-tic6x.c +++ b/bfd/elf32-tic6x.c @@ -1594,10 +1594,7 @@ elf32_tic6x_final_link (bfd *abfd, struct bfd_link_info *info) } } /* Invoke the regular ELF backend linker to do all the work. */ - if (!bfd_elf_final_link (abfd, info)) - return false; - - return true; + return _bfd_elf_final_link (abfd, info); } /* Called to pass PARAMS to the backend. We store them in the hash table diff --git a/bfd/elf32-vax.c b/bfd/elf32-vax.c index 37a96492d61..aa21c74b3f9 100644 --- a/bfd/elf32-vax.c +++ b/bfd/elf32-vax.c @@ -1859,7 +1859,7 @@ elf_vax_plt_sym_val (bfd_vma i, const asection *plt, _bfd_elf_create_dynamic_sections #define bfd_elf32_bfd_link_hash_table_create \ elf_vax_link_hash_table_create -#define bfd_elf32_bfd_final_link bfd_elf_gc_common_final_link +#define bfd_elf32_bfd_final_link _bfd_elf_gc_common_final_link #define elf_backend_check_relocs elf_vax_check_relocs #define elf_backend_adjust_dynamic_symbol \ diff --git a/bfd/elf64-alpha.c b/bfd/elf64-alpha.c index 967c9c3c414..077539bdcfd 100644 --- a/bfd/elf64-alpha.c +++ b/bfd/elf64-alpha.c @@ -5253,7 +5253,7 @@ elf64_alpha_final_link (bfd *abfd, struct bfd_link_info *info) } /* Invoke the regular ELF backend linker to do all the work. */ - if (! bfd_elf_final_link (abfd, info)) + if (! _bfd_elf_final_link (abfd, info)) return false; /* Now write out the computed sections. */ diff --git a/bfd/elf64-hppa.c b/bfd/elf64-hppa.c index 582c28f718f..d2f0211d8ad 100644 --- a/bfd/elf64-hppa.c +++ b/bfd/elf64-hppa.c @@ -2992,7 +2992,7 @@ elf_hppa_final_link (bfd *abfd, struct bfd_link_info *info) info); /* Invoke the regular ELF backend linker to do all the work. */ - if (!bfd_elf_final_link (abfd, info)) + if (!_bfd_elf_final_link (abfd, info)) return false; elf_link_hash_traverse (elf_hash_table (info), diff --git a/bfd/elf64-ia64-vms.c b/bfd/elf64-ia64-vms.c index 65498ee4fb9..8f80a92e23f 100644 --- a/bfd/elf64-ia64-vms.c +++ b/bfd/elf64-ia64-vms.c @@ -3348,7 +3348,7 @@ elf64_ia64_final_link (bfd *abfd, struct bfd_link_info *info) } /* Invoke the regular ELF backend linker to do all the work. */ - if (!bfd_elf_final_link (abfd, info)) + if (!_bfd_elf_final_link (abfd, info)) return false; if (unwind_output_sec) diff --git a/bfd/elf64-mmix.c b/bfd/elf64-mmix.c index 223a85044f2..319369b2d0b 100644 --- a/bfd/elf64-mmix.c +++ b/bfd/elf64-mmix.c @@ -2216,7 +2216,7 @@ mmix_elf_final_link (bfd *abfd, struct bfd_link_info *info) } } - if (! bfd_elf_final_link (abfd, info)) + if (! _bfd_elf_final_link (abfd, info)) return false; /* Since this section is marked SEC_LINKER_CREATED, it isn't output by diff --git a/bfd/elflink.c b/bfd/elflink.c index 359d1c59248..ec3ad9735fe 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -12616,7 +12616,7 @@ elf_final_link_free (bfd *obfd, struct elf_final_link_info *flinfo) /* Do the final step of an ELF link. */ bool -bfd_elf_final_link (bfd *abfd, struct bfd_link_info *info) +_bfd_elf_final_link (bfd *abfd, struct bfd_link_info *info) { bool dynamic; bool emit_relocs; @@ -15066,13 +15066,13 @@ bfd_elf_gc_common_finalize_got_offsets (bfd *abfd, got entry reference counting is enabled. */ bool -bfd_elf_gc_common_final_link (bfd *abfd, struct bfd_link_info *info) +_bfd_elf_gc_common_final_link (bfd *abfd, struct bfd_link_info *info) { if (!bfd_elf_gc_common_finalize_got_offsets (abfd, info)) return false; /* Invoke the regular ELF backend linker to do all the work. */ - return bfd_elf_final_link (abfd, info); + return _bfd_elf_final_link (abfd, info); } bool diff --git a/bfd/elfnn-ia64.c b/bfd/elfnn-ia64.c index 2ff82919350..abee1516505 100644 --- a/bfd/elfnn-ia64.c +++ b/bfd/elfnn-ia64.c @@ -3739,7 +3739,7 @@ elfNN_ia64_final_link (bfd *abfd, struct bfd_link_info *info) } /* Invoke the regular ELF backend linker to do all the work. */ - if (!bfd_elf_final_link (abfd, info)) + if (!_bfd_elf_final_link (abfd, info)) return false; if (unwind_output_sec) diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c index 80e7e08308a..4460531e584 100644 --- a/bfd/elfxx-mips.c +++ b/bfd/elfxx-mips.c @@ -15504,7 +15504,7 @@ _bfd_mips_elf_final_link (bfd *abfd, struct bfd_link_info *info) } /* Invoke the regular ELF backend linker to do all the work. */ - if (!bfd_elf_final_link (abfd, info)) + if (!_bfd_elf_final_link (abfd, info)) return false; /* Now write out the computed sections. */ diff --git a/bfd/elfxx-target.h b/bfd/elfxx-target.h index 27b07c9b1c4..301a2d1bc93 100644 --- a/bfd/elfxx-target.h +++ b/bfd/elfxx-target.h @@ -278,7 +278,7 @@ #define bfd_elfNN_bfd_define_start_stop bfd_elf_define_start_stop #endif #ifndef bfd_elfNN_bfd_final_link -#define bfd_elfNN_bfd_final_link bfd_elf_final_link +#define bfd_elfNN_bfd_final_link _bfd_elf_final_link #endif #undef TARGET_MERGE_SECTIONS #define TARGET_MERGE_SECTIONS true -- 2.47.3