Commit graph

77 commits

Author SHA1 Message Date
Cary Coutant
a12074662b 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.
2008-04-01 20:57:36 +00:00
Ian Lance Taylor
ebdbb4583d Update copyright years. Update language files. 2008-03-13 21:04:21 +00:00
Ian Lance Taylor
45aa233bdc From Craig Silverstein: rename option functions for future option
handling rewrite.
2008-02-26 21:45:30 +00:00
Ian Lance Taylor
cb29561284 Reduce the number of system calls. Use readv instead of pread. Do
better handling of cached views.
2008-01-02 23:48:49 +00:00
Ian Lance Taylor
8383303e0a Add section_size_type and section_offset_type, use them to replace a
lot of instances of off_t.
2007-12-18 00:48:04 +00:00
Ian Lance Taylor
17a1d0a9b2 Rewrite workqueue. This version eliminates the master thread, and
reduces the amount of locking required to find a new thread to run.
2007-12-14 19:00:21 +00:00
Ian Lance Taylor
c79126688f Add threading support. 2007-11-22 00:05:51 +00:00
Ian Lance Taylor
3e95a404c8 Ignore empty archives. 2007-11-16 18:44:20 +00:00
Ian Lance Taylor
019cdb1a59 From Craig Silverstein: Don't crash if we see a file we don't recognize. 2007-11-07 00:31:32 +00:00
Ian Lance Taylor
a0c4fb0ac6 Remove extraneous newlines. 2007-10-14 06:57:58 +00:00
Ian Lance Taylor
75f2446ec3 Run all error handling through an Errors object. Delete output file
on error.
2007-10-14 06:49:14 +00:00
Ian Lance Taylor
f5c3f2256f From Craig Silverstein: avoid some signed/unsigned warnings from gcc 4.2. 2007-10-02 20:52:18 +00:00
Ian Lance Taylor
9eb9fa57c2 Add cache parameter to get_view. Discard uncached views on unlock.
Fix bug this exposed in archive armap symbol name handling.
2007-09-25 17:50:26 +00:00
Ian Lance Taylor
82dcae9de0 Rework File_read interface. Get file size. Use pread when
available.
2007-09-25 06:43:17 +00:00
Ian Lance Taylor
bae3688d8f Remove get_view_and_size. 2007-09-25 05:16:35 +00:00
Ian Lance Taylor
ba45d2478b Break out default pbytes argument to read and get_view routines,
adding new routines.
2007-09-25 00:27:29 +00:00
Ian Lance Taylor
6cb15b7f89 Add licensing text to every source file. 2007-09-22 21:02:10 +00:00
Ian Lance Taylor
7e1edb9089 Add global parameters. 2007-09-21 07:20:01 +00:00
Ian Lance Taylor
8c838dbd52 Fix comment. 2007-09-20 19:31:54 +00:00
Ian Lance Taylor
a93d6d0708 Rework patch to check by both armap entry and archive offset. Also,
preserve information for --group.
2007-09-20 05:56:14 +00:00
Ian Lance Taylor
e243ffc667 From Craig Silverstein: rework seen handling to be based on archive
offsets rather than entries in archive symbol table.
2007-09-20 05:43:14 +00:00
Ian Lance Taylor
4973341a7d Implement --whole-archive. 2007-08-21 23:37:56 +00:00
Ian Lance Taylor
f6ce93d6e9 Split Object into Dynobj and Relobj, incorporate elfcpp swapping changes. 2006-11-06 22:46:08 +00:00
Ian Lance Taylor
ead1e4244a Can now do a full static link of hello, world in C or C++ 2006-11-03 18:26:11 +00:00
Ian Lance Taylor
92e059d8dc Framework for relocation scanning. Implement simple static TLS
relocations.
2006-10-20 20:40:49 +00:00
Ian Lance Taylor
12e14209f0 Lay out object file sections when we add the symbols to the symbol
table.
2006-10-06 20:40:16 +00:00
Ian Lance Taylor
61ba1cf936 Snapshot. Now able to produce a minimal executable which actually
runs.
2006-09-29 19:58:17 +00:00