aboutsummaryrefslogtreecommitdiff
path: root/bfd/bfd-in2.h
diff options
context:
space:
mode:
Diffstat (limited to 'bfd/bfd-in2.h')
-rw-r--r--bfd/bfd-in2.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index 4e13bef..88dc337 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -506,6 +506,7 @@ extern void warn_deprecated (const char *, const char *, int, const char *);
#define bfd_applicable_section_flags(abfd) ((abfd)->xvec->section_flags)
#define bfd_my_archive(abfd) ((abfd)->my_archive)
#define bfd_has_map(abfd) ((abfd)->has_armap)
+#define bfd_is_thin_archive(abfd) ((abfd)->is_thin_archive)
#define bfd_valid_reloc_types(abfd) ((abfd)->xvec->valid_reloc_types)
#define bfd_usrdata(abfd) ((abfd)->usrdata)
@@ -4659,6 +4660,13 @@ struct bfd
origin, with origin set to 0 for non archive files. */
ufile_ptr origin;
+ /* The origin in the archive of the proxy entry. This will
+ normally be the same as origin, except for thin archives,
+ when it will contain the current offset of the proxy in the
+ thin archive rather than the offset of the bfd in its actual
+ container. */
+ ufile_ptr proxy_origin;
+
/* A hash table for section names. */
struct bfd_hash_table section_htab;
@@ -4692,6 +4700,8 @@ struct bfd
struct bfd *my_archive; /* The containing archive BFD. */
struct bfd *archive_next; /* The next BFD in the archive. */
struct bfd *archive_head; /* The first BFD in the archive. */
+ struct bfd *nested_archives; /* List of nested archive in a flattened
+ thin archive. */
/* A chain of BFD structures involved in a link. */
struct bfd *link_next;
@@ -4774,6 +4784,9 @@ struct bfd
/* Have archive map. */
unsigned int has_armap : 1;
+
+ /* Set if this is a thin archive. */
+ unsigned int is_thin_archive : 1;
};
typedef enum bfd_error