Index: bfd/libbfd-in.h |
diff --git a/bfd/libbfd-in.h b/bfd/libbfd-in.h |
index ccc6c6542eccdf9349c2a76c005b77e93acfccc4..baffaea1bafbeee5906a8af0b7bfaa3de90fd409 100644 |
--- a/bfd/libbfd-in.h |
+++ b/bfd/libbfd-in.h |
@@ -3,7 +3,7 @@ |
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, |
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, |
- 2010, 2011 |
+ 2010, 2011, 2012 |
Free Software Foundation, Inc. |
Written by Cygnus Support. |
@@ -64,16 +64,17 @@ struct section_hash_entry |
/* tdata for an archive. For an input archive, cache |
needs to be free()'d. For an output archive, symdefs do. */ |
-struct artdata { |
+struct artdata |
+{ |
file_ptr first_file_filepos; |
/* Speed up searching the armap */ |
htab_t cache; |
- bfd *archive_head; /* Only interesting in output routines */ |
- carsym *symdefs; /* the symdef entries */ |
- symindex symdef_count; /* how many there are */ |
- char *extended_names; /* clever intel extension */ |
- bfd_size_type extended_names_size; /* Size of extended names */ |
- /* when more compilers are standard C, this can be a time_t */ |
+ bfd *archive_head; /* Only interesting in output routines. */ |
+ carsym *symdefs; /* The symdef entries. */ |
+ symindex symdef_count; /* How many there are. */ |
+ char *extended_names; /* Clever intel extension. */ |
+ bfd_size_type extended_names_size; /* Size of extended names. */ |
+ /* When more compilers are standard C, this can be a time_t. */ |
long armap_timestamp; /* Timestamp value written into armap. |
This is used for BSD archives to check |
that the timestamp is recent enough |
@@ -88,12 +89,13 @@ struct artdata { |
#define bfd_ardata(bfd) ((bfd)->tdata.aout_ar_data) |
/* Goes in bfd's arelt_data slot */ |
-struct areltdata { |
- char * arch_header; /* it's actually a string */ |
- unsigned int parsed_size; /* octets of filesize not including ar_hdr */ |
- unsigned int extra_size; /* BSD4.4: extra bytes after the header. */ |
- char *filename; /* null-terminated */ |
- file_ptr origin; /* for element of a thin archive */ |
+struct areltdata |
+{ |
+ char * arch_header; /* It's actually a string. */ |
+ bfd_size_type parsed_size; /* Octets of filesize not including ar_hdr. */ |
+ 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. */ |
}; |
#define arelt_size(bfd) (((struct areltdata *)((bfd)->arelt_data))->parsed_size) |
@@ -115,6 +117,7 @@ extern void *bfd_zmalloc2 |
extern void _bfd_default_error_handler (const char *s, ...); |
extern bfd_error_handler_type _bfd_error_handler; |
+extern bfd_assert_handler_type _bfd_assert_handler; |
/* These routines allocate and free things on the BFD's objalloc. */ |
@@ -203,6 +206,8 @@ extern void *_bfd_generic_read_ar_hdr |
(bfd *); |
extern void _bfd_ar_spacepad |
(char *, size_t, const char *, long); |
+extern bfd_boolean _bfd_ar_sizepad |
+ (char *, size_t, bfd_size_type); |
extern void *_bfd_generic_read_ar_hdr_mag |
(bfd *, const char *); |
@@ -454,7 +459,7 @@ extern bfd_boolean _bfd_generic_set_section_contents |
((bfd_boolean (*) (bfd *, struct bfd_link_info *)) \ |
bfd_false) |
#define _bfd_nolink_bfd_lookup_section_flags \ |
- ((void (*) (struct bfd_link_info *, struct flag_info *)) \ |
+ ((bfd_boolean (*) (struct bfd_link_info *, struct flag_info *, asection *)) \ |
bfd_0) |
#define _bfd_nolink_bfd_merge_sections \ |
((bfd_boolean (*) (bfd *, struct bfd_link_info *)) \ |
@@ -548,7 +553,15 @@ bfd_boolean _bfd_generic_find_line |
/* Find inliner info after calling bfd_find_nearest_line. */ |
extern bfd_boolean _bfd_dwarf2_find_inliner_info |
(bfd *, const char **, const char **, unsigned int *, void **); |
- |
+ |
+/* Read DWARF 2 debugging information. */ |
+extern bfd_boolean _bfd_dwarf2_slurp_debug_info |
+ (bfd *, bfd *, const struct dwarf_debug_section *, asymbol **, void **); |
+ |
+/* Clean up the data used to handle DWARF 2 debugging information. */ |
+extern void _bfd_dwarf2_cleanup_debug_info |
+ (bfd *, void **); |
+ |
/* Create a new section entry. */ |
extern struct bfd_hash_entry *bfd_section_hash_newfunc |
(struct bfd_hash_entry *, struct bfd_hash_table *, const char *); |