diff options
Diffstat (limited to 'bfd/libbfd.h')
-rw-r--r-- | bfd/libbfd.h | 33 |
1 files changed, 23 insertions, 10 deletions
diff --git a/bfd/libbfd.h b/bfd/libbfd.h index 5f5ad2d..d106262 100644 --- a/bfd/libbfd.h +++ b/bfd/libbfd.h @@ -963,7 +963,29 @@ void _bfd_clear_error_data (void) ATTRIBUTE_HIDDEN; char *bfd_asprintf (const char *fmt, ...) ATTRIBUTE_HIDDEN; -bfd_error_handler_type _bfd_set_error_handler_caching (bfd *) ATTRIBUTE_HIDDEN; +/* Cached _bfd_check_format messages are put in this. */ +struct per_xvec_message +{ + struct per_xvec_message *next; + char message[]; +}; + +/* A list of per_xvec_message objects. The targ field indicates + which xvec this list holds; PER_XVEC_NO_TARGET is only set for the + root of the list and indicates that the entry isn't yet used. The + abfd field is only needed in the root entry of the list. */ +struct per_xvec_messages +{ + bfd *abfd; + const bfd_target *targ; + struct per_xvec_message *messages; + struct per_xvec_messages *next; +}; + +#define PER_XVEC_NO_TARGET ((const bfd_target *) -1) +struct per_xvec_messages *_bfd_set_error_handler_caching (struct per_xvec_messages *) ATTRIBUTE_HIDDEN; + +void _bfd_restore_error_handler_caching (struct per_xvec_messages *) ATTRIBUTE_HIDDEN; const char *_bfd_get_error_program_name (void) ATTRIBUTE_HIDDEN; @@ -3708,15 +3730,6 @@ bool _bfd_write_stab_strings (bfd *, struct stab_info *) ATTRIBUTE_HIDDEN; bfd_vma _bfd_stab_section_offset (asection *, void *, bfd_vma) ATTRIBUTE_HIDDEN; /* Extracted from targets.c. */ -/* Cached _bfd_check_format messages are put in this. */ -struct per_xvec_message -{ - struct per_xvec_message *next; - char message[]; -}; - -struct per_xvec_message **_bfd_per_xvec_warn (const bfd_target *, size_t) ATTRIBUTE_HIDDEN; - #ifdef __cplusplus } #endif |