OSDN Git Service

2008-03-31 Cary Coutant <ccoutant@google.com>
authorccoutant <ccoutant>
Tue, 1 Apr 2008 20:57:36 +0000 (20:57 +0000)
committerccoutant <ccoutant>
Tue, 1 Apr 2008 20:57:36 +0000 (20:57 +0000)
commiteda8d73d5a97cc5a51d835f9f78e440352f8cef9
treef249e91e839cb8393f870e8298ca48392980d4f9
parent88fc4f9a4db0b85e68d4de5bbff8cd1f28f76e77
2008-03-31  Cary Coutant  <ccoutant@google.com>

Add thin archive support.
* archive.cc (Archive::armagt): New const.
(Archive::setup): Remove task parameter and calls to unlock.
(Archive::unlock_nested_archives): New function.
(Archive::read_header): Add nested_off parameter. Change
all callers.
(Archive::interpret_header): Likewise.
(Archive::include_all_members): Change to handle thin
archives.
(Archive::include_member): Likewise.
* archive.h (Archive::Archive): Add new parameters and
initializers.
(Archive::armagt): New const.
(Archive::setup): Remove task parameter.
(Archive::unlock_nested_archives): New function.
(Archive::read_header): Add nested_off parameter.
(Archive::interpret_header): Likewise.
(Archive::Nested_archive_table): New typedef.
(Archive::is_thin_archive_): New field.
(Archive::nested_archives_): New field.
(Archive::options_): New field.
(Archive::dirpath_): New field.
(Archive::task_): New field.
* readsyms.cc (Read_symbols::do_read_symbols): Add check
for thin archives.  Pass additional parameters to
Archive::Archive.  Unlock the archive file after calling
Archive::setup.
gold/ChangeLog
gold/archive.cc
gold/archive.h
gold/readsyms.cc