diff options
author | Ian Lance Taylor <iant@google.com> | 2006-10-06 20:40:16 +0000 |
---|---|---|
committer | Ian Lance Taylor <iant@google.com> | 2006-10-06 20:40:16 +0000 |
commit | 12e14209f0834b6d3d9884a586b558c32eb2607c (patch) | |
tree | 04db4beba9abf0d2bb6f91c383a4ac4d76cf7541 /gold/archive.h | |
parent | 33423b7ffed87b140d924bc06ff35d353bfc4871 (diff) | |
download | gdb-12e14209f0834b6d3d9884a586b558c32eb2607c.zip gdb-12e14209f0834b6d3d9884a586b558c32eb2607c.tar.gz gdb-12e14209f0834b6d3d9884a586b558c32eb2607c.tar.bz2 |
Lay out object file sections when we add the symbols to the symbol
table.
Diffstat (limited to 'gold/archive.h')
-rw-r--r-- | gold/archive.h | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/gold/archive.h b/gold/archive.h index 14d1c3b..b2d4c46 100644 --- a/gold/archive.h +++ b/gold/archive.h @@ -13,6 +13,7 @@ namespace gold class Input_file; class Input_objects; +class Layout; class Symbol_table; // This class represents an archive--generally a libNAME.a file. @@ -61,7 +62,7 @@ class Archive // Select members from the archive as needed and add them to the // link. void - add_symbols(Symbol_table*, Input_objects*); + add_symbols(Symbol_table*, Layout*, Input_objects*); private: Archive(const Archive&); @@ -81,7 +82,7 @@ class Archive // Include an archive member in the link. void - include_member(Symbol_table*, Input_objects*, off_t off); + include_member(Symbol_table*, Layout*, Input_objects*, off_t off); // An entry in the archive map of symbols to object files. struct Armap_entry @@ -108,11 +109,13 @@ class Archive class Add_archive_symbols : public Task { public: - Add_archive_symbols(Symbol_table* symtab, Input_objects* input_objects, + Add_archive_symbols(Symbol_table* symtab, Layout* layout, + Input_objects* input_objects, Archive* archive, Task_token* this_blocker, Task_token* next_blocker) - : symtab_(symtab), input_objects_(input_objects), archive_(archive), - this_blocker_(this_blocker), next_blocker_(next_blocker) + : symtab_(symtab), layout_(layout), input_objects_(input_objects), + archive_(archive), this_blocker_(this_blocker), + next_blocker_(next_blocker) { } ~Add_archive_symbols(); @@ -132,6 +135,7 @@ class Add_archive_symbols : public Task class Add_archive_symbols_locker; Symbol_table* symtab_; + Layout* layout_; Input_objects* input_objects_; Archive* archive_; Task_token* this_blocker_; |