From 5d54c62870438863320321eb704a13fc4c85953a Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Thu, 5 Aug 1999 21:01:37 +0000 Subject: Based on patches from Donn Terry : * coffcode.h (enum coff_symbol_classification): Define. (bfd_coff_backend_data): Rename _bfd_coff_sym_is_global to _bfd_coff_classify_symbol. Change return type. (bfd_coff_classify_symbol): Rename from bfd_coff_sym_is_global. (coff_slurp_symbol_table): Use coff_classify_symbol. (coff_classify_symbol): New static function. (coff_sym_is_global): Never define. (bfd_coff_std_swap_table): Initialize with coff_classify_symbol. * cofflink.c (coff_link_check_ar_symbols): Use bfd_coff_classify_symbol rather than bfd_coff_sym_is_global. (coff_link_add_symbols): Likewise. (_bfd_coff_link_input_bfd): Likewise. * coff-sh.c (bfd_coff_small_swap_table): Initialize with coff_classify_symbol. * libcoff.h: Rebuild. --- bfd/libcoff.h | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) (limited to 'bfd/libcoff.h') diff --git a/bfd/libcoff.h b/bfd/libcoff.h index 0eebf5f..229668e 100644 --- a/bfd/libcoff.h +++ b/bfd/libcoff.h @@ -586,6 +586,22 @@ struct lineno_cache_entry *lineno; /* Have the line numbers been relocated yet ? */ boolean done_lineno; } coff_symbol_type; + /* COFF symbol classifications. */ + +enum coff_symbol_classification +{ + /* Global symbol. */ + COFF_SYMBOL_GLOBAL, + /* Common symbol. */ + COFF_SYMBOL_COMMON, + /* Undefined symbol. */ + COFF_SYMBOL_UNDEFINED, + /* Local symbol. */ + COFF_SYMBOL_LOCAL, + /* PE section symbol. */ + COFF_SYMBOL_PE_SECTION +}; + typedef struct { void (*_bfd_coff_swap_aux_in) PARAMS (( @@ -722,7 +738,7 @@ typedef struct arelent *r, unsigned int shrink, struct bfd_link_info *link_info)); - boolean (*_bfd_coff_sym_is_global) PARAMS (( + enum coff_symbol_classification (*_bfd_coff_classify_symbol) PARAMS (( bfd *abfd, struct internal_syment *)); boolean (*_bfd_coff_compute_section_file_positions) PARAMS (( @@ -862,8 +878,8 @@ typedef struct ((coff_backend_info (abfd)->_bfd_coff_reloc16_estimate)\ (abfd, section, reloc, shrink, link_info)) -#define bfd_coff_sym_is_global(abfd, sym)\ - ((coff_backend_info (abfd)->_bfd_coff_sym_is_global)\ +#define bfd_coff_classify_symbol(abfd, sym)\ + ((coff_backend_info (abfd)->_bfd_coff_classify_symbol)\ (abfd, sym)) #define bfd_coff_compute_section_file_positions(abfd)\ -- cgit v1.1