diff options
author | Alan Modra <amodra@gmail.com> | 2012-08-09 06:25:53 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2012-08-09 06:25:53 +0000 |
commit | eeb1f9aea6773f39b281b43600d38ec0aa3fed6d (patch) | |
tree | d361dc01b6b1cfa93f129aab36f4c8a75d5a58bd /bfd/libbfd.h | |
parent | 2588feef114cd2dc404453c36827e32b40ccc143 (diff) | |
download | gdb-eeb1f9aea6773f39b281b43600d38ec0aa3fed6d.zip gdb-eeb1f9aea6773f39b281b43600d38ec0aa3fed6d.tar.gz gdb-eeb1f9aea6773f39b281b43600d38ec0aa3fed6d.tar.bz2 |
* archive.c (SECTION Archives): Update documentation.
(_bfd_delete_archive_data): Remove.
(_bfd_add_bfd_to_archive_cache): Set 'parent_cache' and 'key'.
(archive_close_worker, _bfd_archive_close_and_cleanup): New
functions.
* libbfd-in.h (struct areltdata <parent_cache, key>): New fields.
(_bfd_delete_archive_data): Don't declare.
(_bfd_archive_close_and_cleanup): Declare.
(_bfd_generic_close_and_cleanup): Redefine.
* libbfd.h: Rebuild.
* opncls.c (_bfd_delete_bfd): Don't call _bfd_delete_archive_data.
(bfd_close): Don't close nested thin archives here.
Diffstat (limited to 'bfd/libbfd.h')
-rw-r--r-- | bfd/libbfd.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/bfd/libbfd.h b/bfd/libbfd.h index a1e544f..03b065f 100644 --- a/bfd/libbfd.h +++ b/bfd/libbfd.h @@ -101,6 +101,8 @@ struct areltdata bfd_size_type extra_size; /* BSD4.4: extra bytes after the header. */ char *filename; /* Null-terminated. */ file_ptr origin; /* For element of a thin archive. */ + void *parent_cache; /* Where and how to find this member. */ + file_ptr key; }; #define arelt_size(bfd) (((struct areltdata *)((bfd)->arelt_data))->parsed_size) @@ -135,8 +137,6 @@ extern void bfd_release bfd * _bfd_create_empty_archive_element_shell (bfd *obfd); -void _bfd_delete_archive_data - (bfd *abfd); bfd * _bfd_look_for_bfd_in_cache (bfd *, file_ptr); bfd_boolean _bfd_add_bfd_to_archive_cache @@ -237,7 +237,9 @@ int bfd_generic_stat_arch_elt /* Generic routines to use for BFD_JUMP_TABLE_GENERIC. Use BFD_JUMP_TABLE_GENERIC (_bfd_generic). */ -#define _bfd_generic_close_and_cleanup bfd_true +#define _bfd_generic_close_and_cleanup _bfd_archive_close_and_cleanup +extern bfd_boolean _bfd_archive_close_and_cleanup + (bfd *); #define _bfd_generic_bfd_free_cached_info bfd_true extern bfd_boolean _bfd_generic_new_section_hook (bfd *, asection *); |