From 8281d8d247531f5268d9325ad49c08e9baedc210 Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Fri, 7 Nov 2025 14:49:59 +0100 Subject: [PATCH] bfd/ELF: mark internal aarch64 functions hidden This reduces the dynamic symbol table some and allows the compiler to be more aggressive about inlining (as it sees fit, of course). --- bfd/elfxx-aarch64.h | 43 +++++++++++++++++++++++++------------------ 1 file changed, 25 insertions(+), 18 deletions(-) diff --git a/bfd/elfxx-aarch64.h b/bfd/elfxx-aarch64.h index bd3642cbefe..09ed86f5e18 100644 --- a/bfd/elfxx-aarch64.h +++ b/bfd/elfxx-aarch64.h @@ -187,14 +187,14 @@ extern bool elf32_aarch64_build_stubs /* AArch64 relative relocation packing support for ELF64. */ extern bool elf64_aarch64_size_relative_relocs - (struct bfd_link_info *, bool *); + (struct bfd_link_info *, bool *) ATTRIBUTE_HIDDEN; extern bool elf64_aarch64_finish_relative_relocs - (struct bfd_link_info *); + (struct bfd_link_info *) ATTRIBUTE_HIDDEN; /* AArch64 relative relocation packing support for ELF32. */ extern bool elf32_aarch64_size_relative_relocs - (struct bfd_link_info *, bool *); + (struct bfd_link_info *, bool *) ATTRIBUTE_HIDDEN; extern bool elf32_aarch64_finish_relative_relocs - (struct bfd_link_info *); + (struct bfd_link_info *) ATTRIBUTE_HIDDEN; /* Take the PAGE component of an address or offset. */ #define PG(x) ((x) & ~ (bfd_vma) 0xfff) @@ -205,56 +205,63 @@ extern bool elf32_aarch64_finish_relative_relocs #define AARCH64_ADRP_OP_MASK 0x9F000000 extern bfd_signed_vma -_bfd_aarch64_sign_extend (bfd_vma, int); +_bfd_aarch64_sign_extend (bfd_vma, int) ATTRIBUTE_HIDDEN; extern uint32_t -_bfd_aarch64_decode_adrp_imm (uint32_t); +_bfd_aarch64_decode_adrp_imm (uint32_t) ATTRIBUTE_HIDDEN; extern uint32_t -_bfd_aarch64_reencode_adr_imm (uint32_t, uint32_t); +_bfd_aarch64_reencode_adr_imm (uint32_t, uint32_t) ATTRIBUTE_HIDDEN; extern bfd_reloc_status_type _bfd_aarch64_elf_put_addend (bfd *, bfd_byte *, bfd_reloc_code_real_type, - reloc_howto_type *, bfd_signed_vma); + reloc_howto_type *, bfd_signed_vma) + ATTRIBUTE_HIDDEN; extern bfd_vma _bfd_aarch64_elf_resolve_relocation (bfd *, bfd_reloc_code_real_type, bfd_vma, - bfd_vma, bfd_vma, bool); + bfd_vma, bfd_vma, bool) ATTRIBUTE_HIDDEN; extern bool -_bfd_aarch64_elf_grok_prstatus (bfd *, Elf_Internal_Note *); +_bfd_aarch64_elf_grok_prstatus (bfd *, Elf_Internal_Note *) ATTRIBUTE_HIDDEN; extern bool -_bfd_aarch64_elf_grok_psinfo (bfd *, Elf_Internal_Note *); +_bfd_aarch64_elf_grok_psinfo (bfd *, Elf_Internal_Note *) ATTRIBUTE_HIDDEN; extern char * -_bfd_aarch64_elf_write_core_note (bfd *, char *, int *, int, ...); +_bfd_aarch64_elf_write_core_note (bfd *, char *, int *, int, ...) + ATTRIBUTE_HIDDEN; #define elf_backend_grok_prstatus _bfd_aarch64_elf_grok_prstatus #define elf_backend_grok_psinfo _bfd_aarch64_elf_grok_psinfo #define elf_backend_write_core_note _bfd_aarch64_elf_write_core_note extern bfd * -_bfd_aarch64_elf_link_setup_gnu_properties (struct bfd_link_info *); +_bfd_aarch64_elf_link_setup_gnu_properties (struct bfd_link_info *) + ATTRIBUTE_HIDDEN; extern enum elf_property_kind _bfd_aarch64_elf_parse_gnu_properties (bfd *, unsigned int, - bfd_byte *, unsigned int); + bfd_byte *, unsigned int) + ATTRIBUTE_HIDDEN; extern bool _bfd_aarch64_elf_merge_gnu_properties (struct bfd_link_info *, bfd *, elf_property *, elf_property *, - uint32_t); + uint32_t) ATTRIBUTE_HIDDEN; extern void -_bfd_aarch64_elf_check_bti_report (struct bfd_link_info *, bfd *); +_bfd_aarch64_elf_check_bti_report (struct bfd_link_info *, bfd *) + ATTRIBUTE_HIDDEN; extern void -_bfd_aarch64_elf_check_gcs_report (struct bfd_link_info *, bfd *); +_bfd_aarch64_elf_check_gcs_report (struct bfd_link_info *, bfd *) + ATTRIBUTE_HIDDEN; extern void _bfd_aarch64_elf_link_fixup_gnu_properties (struct bfd_link_info *, - elf_property_list **); + elf_property_list **) + ATTRIBUTE_HIDDEN; #define elf_backend_parse_gnu_properties \ _bfd_aarch64_elf_parse_gnu_properties -- 2.47.3