aboutsummaryrefslogtreecommitdiff
path: root/gold/archive.h
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@google.com>2007-08-21 23:37:56 +0000
committerIan Lance Taylor <iant@google.com>2007-08-21 23:37:56 +0000
commit4973341a7d985b4d211b0b2ce14d95e2c05dbd37 (patch)
treef9e70df85ba58125e976bc2377bcdcf3d463bd51 /gold/archive.h
parent72a2eed757d46b207f6e127dcc7c5acf848f5872 (diff)
downloadgdb-4973341a7d985b4d211b0b2ce14d95e2c05dbd37.zip
gdb-4973341a7d985b4d211b0b2ce14d95e2c05dbd37.tar.gz
gdb-4973341a7d985b4d211b0b2ce14d95e2c05dbd37.tar.bz2
Implement --whole-archive.
Diffstat (limited to 'gold/archive.h')
-rw-r--r--gold/archive.h18
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*,