[binutils-gdb] bfd/PEI: mark internal functions hidden
Jan Beulich
jbeulich@sourceware.org
Fri Nov 21 08:08:04 GMT 2025
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=d00ae9728658be17b6d6f35c9e53a143bcf0c418
commit d00ae9728658be17b6d6f35c9e53a143bcf0c418
Author: Jan Beulich <jbeulich@suse.com>
Date: Fri Nov 21 09:05:18 2025 +0100
bfd/PEI: mark internal functions hidden
This reduces the dynamic symbol table a bit (over a hundred symbols when
building all targets) and allows the compiler to be more aggressive about
inlining (as it sees fit, of course).
Diff:
---
bfd/libpei.h | 63 +++++++++++++++++++++++++++++++++++-------------------------
1 file changed, 37 insertions(+), 26 deletions(-)
diff --git a/bfd/libpei.h b/bfd/libpei.h
index b2d8da81e5c..f69f40804ed 100644
--- a/bfd/libpei.h
+++ b/bfd/libpei.h
@@ -22,6 +22,8 @@
#ifndef _LIBPEI_H
#define _LIBPEI_H
+#include "hidden.h"
+
/* Most of this hacked by Steve Chamberlain,
sac@cygnus.com
@@ -445,42 +447,51 @@
#define coff_final_link_postscript _bfd_XXi_final_link_postscript
#endif
-void _bfd_XXi_swap_sym_in (bfd *, void *, void *);
-unsigned _bfd_XXi_swap_sym_out (bfd *, void *, void *);
-void _bfd_XXi_swap_aux_in (bfd *, void *, int, int, int, int, void *);
-unsigned _bfd_XXi_swap_aux_out (bfd *, void *, int, int, int, int, void *);
-void _bfd_XXi_swap_lineno_in (bfd *, void *, void *);
-unsigned _bfd_XXi_swap_lineno_out (bfd *, void *, void *);
-void _bfd_XXi_swap_aouthdr_in (bfd *, void *, void *);
-unsigned _bfd_XXi_swap_aouthdr_out (bfd *, void *, void *);
-unsigned _bfd_XXi_swap_scnhdr_out (bfd *, void *, void *, const asection *);
-bool _bfd_XX_print_private_bfd_data_common (bfd *, void *);
-bool _bfd_XX_bfd_copy_private_bfd_data_common (bfd *, bfd *);
-void _bfd_XX_get_symbol_info (bfd *, asymbol *, symbol_info *);
-bool _bfd_XXi_final_link_postscript (bfd *, struct coff_final_link_info *);
-void _bfd_XXi_swap_debugdir_in (bfd *, void *, void *);
+void _bfd_XXi_swap_sym_in (bfd *, void *, void *) ATTRIBUTE_HIDDEN;
+unsigned _bfd_XXi_swap_sym_out (bfd *, void *, void *) ATTRIBUTE_HIDDEN;
+void _bfd_XXi_swap_aux_in (bfd *, void *, int, int, int, int, void *)
+ ATTRIBUTE_HIDDEN;
+unsigned _bfd_XXi_swap_aux_out (bfd *, void *, int, int, int, int, void *)
+ ATTRIBUTE_HIDDEN;
+void _bfd_XXi_swap_lineno_in (bfd *, void *, void *) ATTRIBUTE_HIDDEN;
+unsigned _bfd_XXi_swap_lineno_out (bfd *, void *, void *) ATTRIBUTE_HIDDEN;
+void _bfd_XXi_swap_aouthdr_in (bfd *, void *, void *) ATTRIBUTE_HIDDEN;
+unsigned _bfd_XXi_swap_aouthdr_out (bfd *, void *, void *) ATTRIBUTE_HIDDEN;
+unsigned _bfd_XXi_swap_scnhdr_out (bfd *, void *, void *, const asection *)
+ ATTRIBUTE_HIDDEN;
+bool _bfd_XX_print_private_bfd_data_common (bfd *, void *) ATTRIBUTE_HIDDEN;
+bool _bfd_XX_bfd_copy_private_bfd_data_common (bfd *, bfd *) ATTRIBUTE_HIDDEN;
+void _bfd_XX_get_symbol_info (bfd *, asymbol *, symbol_info *) ATTRIBUTE_HIDDEN;
+bool _bfd_XXi_final_link_postscript (bfd *, struct coff_final_link_info *)
+ ATTRIBUTE_HIDDEN;
+void _bfd_XXi_swap_debugdir_in (bfd *, void *, void *) ATTRIBUTE_HIDDEN;
unsigned _bfd_XXi_swap_debugdir_out (bfd *, void *, void *);
+
unsigned _bfd_XXi_write_codeview_record
(bfd *, file_ptr, CODEVIEW_INFO *, const char *);
CODEVIEW_INFO *_bfd_XXi_slurp_codeview_record
(bfd * abfd, file_ptr where, unsigned long length, CODEVIEW_INFO *cvinfo,
- char **pdb);
+ char **pdb) ATTRIBUTE_HIDDEN;
/* The following are needed only for ONE of pe or pei, but don't
otherwise vary; peicode.h fixes up ifdefs but we provide the
prototype. */
-unsigned _bfd_XX_only_swap_filehdr_out (bfd *, void *, void *);
-unsigned _bfd_XXi_only_swap_filehdr_out (bfd *, void *, void *);
+unsigned _bfd_XX_only_swap_filehdr_out
+ (bfd *, void *, void *) ATTRIBUTE_HIDDEN;
+unsigned _bfd_XXi_only_swap_filehdr_out
+ (bfd *, void *, void *) ATTRIBUTE_HIDDEN;
bool _bfd_XX_bfd_copy_private_section_data
- (bfd *, asection *, bfd *, asection *, struct bfd_link_info *);
-
-bool _bfd_pe_print_ce_compressed_pdata (bfd *, void *);
-bool _bfd_pe64_print_ce_compressed_pdata (bfd *, void *);
-bool _bfd_pex64_print_ce_compressed_pdata (bfd *, void *);
-bool _bfd_peAArch64_print_ce_compressed_pdata (bfd *, void *);
-bool _bfd_peLoongArch64_print_ce_compressed_pdata (bfd *, void *);
-bool _bfd_peRiscV64_print_ce_compressed_pdata (bfd *, void *);
-bool _bfd_pep_print_ce_compressed_pdata (bfd *, void *);
+ (bfd *, asection *, bfd *, asection *, struct bfd_link_info *)
+ ATTRIBUTE_HIDDEN;
+
+bool _bfd_pe_print_ce_compressed_pdata (bfd *, void *) ATTRIBUTE_HIDDEN;
+bool _bfd_pe64_print_ce_compressed_pdata (bfd *, void *) ATTRIBUTE_HIDDEN;
+bool _bfd_pex64_print_ce_compressed_pdata (bfd *, void *) ATTRIBUTE_HIDDEN;
+bool _bfd_peAArch64_print_ce_compressed_pdata (bfd *, void *) ATTRIBUTE_HIDDEN;
+bool _bfd_peLoongArch64_print_ce_compressed_pdata (bfd *, void *)
+ ATTRIBUTE_HIDDEN;
+bool _bfd_peRiscV64_print_ce_compressed_pdata (bfd *, void *) ATTRIBUTE_HIDDEN;
+bool _bfd_pep_print_ce_compressed_pdata (bfd *, void *) ATTRIBUTE_HIDDEN;
#endif /* _LIBPEI_H */
More information about the Binutils-cvs
mailing list