From: Jan Beulich Date: Fri, 7 Nov 2025 13:56:45 +0000 (+0100) Subject: bfd/ELF: adjust *_size_info properties X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0141f46278de76280c2dd8cf81aa58162428f9ae;p=thirdparty%2Fbinutils-gdb.git bfd/ELF: adjust *_size_info properties Target-specific symbols can be static. The common ones can at least be hidden. --- diff --git a/bfd/elf32-arc.c b/bfd/elf32-arc.c index ebfe4dcc26a..6fa1a79ee87 100644 --- a/bfd/elf32-arc.c +++ b/bfd/elf32-arc.c @@ -2842,7 +2842,7 @@ elf32_arc_reloc_type_class (const struct bfd_link_info *info ATTRIBUTE_UNUSED, } } -const struct elf_size_info arc_elf32_size_info = +static const struct elf_size_info arc_elf32_size_info = { sizeof (Elf32_External_Ehdr), sizeof (Elf32_External_Phdr), diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c index 4e968077b3e..ed2f5467c1e 100644 --- a/bfd/elf32-arm.c +++ b/bfd/elf32-arm.c @@ -19770,7 +19770,7 @@ elf32_arm_add_symbol_hook (bfd *abfd, struct bfd_link_info *info, } /* We use this to override swap_symbol_in and swap_symbol_out. */ -const struct elf_size_info elf32_arm_size_info = +static const struct elf_size_info elf32_arm_size_info = { sizeof (Elf32_External_Ehdr), sizeof (Elf32_External_Phdr), diff --git a/bfd/elf64-hppa.c b/bfd/elf64-hppa.c index 42434b3a2ef..2d06396fb16 100644 --- a/bfd/elf64-hppa.c +++ b/bfd/elf64-hppa.c @@ -4099,7 +4099,7 @@ static const struct bfd_elf_special_section elf64_hppa_special_sections[] = /* The hash bucket size is the standard one, namely 4. */ -const struct elf_size_info hppa64_elf_size_info = +static const struct elf_size_info hppa64_elf_size_info = { sizeof (Elf64_External_Ehdr), sizeof (Elf64_External_Phdr), diff --git a/bfd/elf64-mips.c b/bfd/elf64-mips.c index f031dfd1133..5cd3bae3ea3 100644 --- a/bfd/elf64-mips.c +++ b/bfd/elf64-mips.c @@ -4687,7 +4687,7 @@ static const struct ecoff_debug_swap mips_elf64_ecoff_debug_swap = standard ELF. This structure is used to redirect the relocation handling routines. */ -const struct elf_size_info mips_elf64_size_info = +static const struct elf_size_info mips_elf64_size_info = { sizeof (Elf64_External_Ehdr), sizeof (Elf64_External_Phdr), diff --git a/bfd/elf64-s390.c b/bfd/elf64-s390.c index e87f063be69..8e41104b580 100644 --- a/bfd/elf64-s390.c +++ b/bfd/elf64-s390.c @@ -4332,7 +4332,7 @@ elf_s390_create_dynamic_sections (bfd *dynobj, ARCH_SIZE/8 to 4? This breaks the 64 bit dynamic linker and this is the only reason for the s390_elf64_size_info structure. */ -const struct elf_size_info s390_elf64_size_info = +static const struct elf_size_info s390_elf64_size_info = { sizeof (Elf64_External_Ehdr), sizeof (Elf64_External_Phdr), diff --git a/bfd/elf64-sparc.c b/bfd/elf64-sparc.c index 9f8cbd914f9..4a0126ef69b 100644 --- a/bfd/elf64-sparc.c +++ b/bfd/elf64-sparc.c @@ -849,7 +849,7 @@ elf64_sparc_reloc_type_class (const struct bfd_link_info *info, ELF64_R_TYPE_DATA field. This structure is used to redirect the relocation handling routines. */ -const struct elf_size_info elf64_sparc_size_info = +static const struct elf_size_info elf64_sparc_size_info = { sizeof (Elf64_External_Ehdr), sizeof (Elf64_External_Phdr), diff --git a/bfd/elfnn-aarch64.c b/bfd/elfnn-aarch64.c index 3c3c2899674..b529c3d43cc 100644 --- a/bfd/elfnn-aarch64.c +++ b/bfd/elfnn-aarch64.c @@ -10612,7 +10612,7 @@ elfNN_aarch64_merge_gnu_properties (struct bfd_link_info *info, /* We use this so we can override certain functions (though currently we don't). */ -const struct elf_size_info elfNN_aarch64_size_info = +static const struct elf_size_info elfNN_aarch64_size_info = { sizeof (ElfNN_External_Ehdr), sizeof (ElfNN_External_Phdr), diff --git a/bfd/elfxx-target.h b/bfd/elfxx-target.h index 3369db5c2cf..5ae98b5ecc1 100644 --- a/bfd/elfxx-target.h +++ b/bfd/elfxx-target.h @@ -808,7 +808,7 @@ (ELF_ARCH == bfd_arch_unknown ? 2 : ELF_OSABI == ELFOSABI_NONE ? 1 : 0) #endif -extern const struct elf_size_info _bfd_elfNN_size_info; +extern const struct elf_size_info _bfd_elfNN_size_info ATTRIBUTE_HIDDEN; static const struct elf_backend_data elfNN_bed = {