summaryrefslogtreecommitdiff
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
commitaa74259f4d1a5ca8315bc920d85bc982900aca98 (patch)
tree0977d0eef57773aaff0a115a6e86a428ab7459e7 /gold/archive.h
parent17eb9c07b0c8b23dddc9c8f58719d77a0e1e6763 (diff)
downloadbinutils-redhat-aa74259f4d1a5ca8315bc920d85bc982900aca98.tar.gz
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 193a9e2de8..ddd665f070 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*,