diff options
Diffstat (limited to 'bfd/bfd-in2.h')
-rw-r--r-- | bfd/bfd-in2.h | 13 |
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 |