diff options
author | Ian Lance Taylor <iant@google.com> | 2007-08-21 23:37:56 +0000 |
---|---|---|
committer | Ian Lance Taylor <iant@google.com> | 2007-08-21 23:37:56 +0000 |
commit | 4973341a7d985b4d211b0b2ce14d95e2c05dbd37 (patch) | |
tree | f9e70df85ba58125e976bc2377bcdcf3d463bd51 /gold/archive.h | |
parent | 72a2eed757d46b207f6e127dcc7c5acf848f5872 (diff) | |
download | fsf-binutils-gdb-4973341a7d985b4d211b0b2ce14d95e2c05dbd37.zip fsf-binutils-gdb-4973341a7d985b4d211b0b2ce14d95e2c05dbd37.tar.gz fsf-binutils-gdb-4973341a7d985b4d211b0b2ce14d95e2c05dbd37.tar.bz2 |
Implement --whole-archive.
Diffstat (limited to 'gold/archive.h')
-rw-r--r-- | gold/archive.h | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/gold/archive.h b/gold/archive.h index 193a9e2..ddd665f 100644 --- a/gold/archive.h +++ b/gold/archive.h @@ -79,14 +79,28 @@ class Archive // Get a view into the underlying file. const unsigned char* - get_view(off_t start, off_t size) - { return this->input_file_->file().get_view(start, size); } + get_view(off_t start, off_t size, off_t* pbytes = NULL) + { return this->input_file_->file().get_view(start, size, pbytes); } + + // Read the archive symbol map. + void + read_armap(off_t start, off_t size); // Read an archive member header at OFF. Return the size of the // member, and set *PNAME to the name. off_t read_header(off_t off, std::string* pname); + // Interpret an archive header HDR at OFF. Return the size of the + // member, and set *PNAME to the name. + off_t + interpret_header(const Archive_header* hdr, off_t off, std::string* pname); + + // Include all the archive members in the link. + void + include_all_members(const General_options&, Symbol_table*, Layout*, + Input_objects*); + // Include an archive member in the link. void include_member(const General_options&, Symbol_table*, Layout*, |