[PATCH 18/27] bfd/ELF: adjust *_size_info properties

Jan Beulich jbeulich@suse.com
Mon Oct 27 14:20:16 GMT 2025
Target-specific symbols can be static. The common ones can at least be
hidden.

--- a/bfd/elf32-arc.c
+++ b/bfd/elf32-arc.c
@@ -2842,7 +2842,7 @@ elf32_arc_reloc_type_class (const struct
     }
 }
 
-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),
--- a/bfd/elf32-arm.c
+++ b/bfd/elf32-arm.c
@@ -19770,7 +19770,7 @@ elf32_arm_add_symbol_hook (bfd *abfd, st
 }
 
 /* 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),
--- a/bfd/elf64-hppa.c
+++ b/bfd/elf64-hppa.c
@@ -3960,7 +3960,7 @@ static const struct bfd_elf_special_sect
 
 /* 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),
--- a/bfd/elf64-mips.c
+++ b/bfd/elf64-mips.c
@@ -4687,7 +4687,7 @@ static const struct ecoff_debug_swap mip
    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),
--- a/bfd/elf64-s390.c
+++ b/bfd/elf64-s390.c
@@ -4312,7 +4312,7 @@ elf_s390_create_dynamic_sections (bfd *d
    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),
--- a/bfd/elf64-sparc.c
+++ b/bfd/elf64-sparc.c
@@ -849,7 +849,7 @@ elf64_sparc_reloc_type_class (const stru
    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),
--- a/bfd/elfnn-aarch64.c
+++ b/bfd/elfnn-aarch64.c
@@ -10612,7 +10612,7 @@ elfNN_aarch64_merge_gnu_properties (stru
 /* 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),
--- 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 =
 {



More information about the Binutils mailing list