Ian Lance Taylor
|
0864d55193
|
* options.h (class General_options): Define --wrap as a special
option. Add wrap_symbols_ field.
(General_options::any_wrap_symbols): New function.
(General_options::is_wrap_symbol): New function.
* options.cc (General_options::parse_wrap): New function.
(General_options::General_options): Initialize wrap_symbols_.
* symtab.cc (Symbol_table::wrap_symbol): New function.
(Symbol_table::add_from_object): Handle --wrap.
* symtab.h (class Symbol_table): Declare wrap_symbol.
* target.h (Target::wrap_char): New function.
(Target::Target_info): Add wrap_char field.
* i386.cc (Target_i386::i386_info): Initialize wrap_char.
* x86_64.cc (Target_x86_64::x86_64_info): Likewise.
* testsuite/testfile.cc (Target_test::test_target_info):
Likewise.
|
2008-04-09 00:48:13 +00:00 |
|
Cary Coutant
|
86925eef33
|
2008-04-04 Cary Coutant <ccoutant@google.com>
* symtab.h (Symbol::is_weak_undefined): New function.
(Symbol::is_strong_undefined): New function.
(Symbol::is_absolute): New function.
(Symbol::needs_plt_entry): Exclude weak undefined symbols.
(Symbol::needs_dynamic_reloc): Exclude weak undefined and
absolute symbols.
* testsuite/Makefile.am (check_PROGRAMS): Add weak_undef_test.
(weak_undef_test): New target.
* testsuite/Makefile.in: Rebuild.
* testsuite/weak_undef_file1.cc: New file.
* testsuite/weak_undef_file2.cc: New file.
* testsuite/weak_undef_test.cc: New file.
|
2008-04-04 17:24:47 +00:00 |
|
Cary Coutant
|
0a65a3a740
|
* i386.cc (Target_i386::Got_type): New enum declaration.
(Target_i386::Scan::local): Updated callers of Output_data_got
member functions.
(Target_i386::Scan::global): Likewise.
(Target_i386::Relocate::relocate): Likewise.
(Target_i386::Relocate::relocate_tls): Likewise.
* object.h (Got_offset_list): New class.
(Sized_relobj::local_has_got_offset): Added got_type parameter.
(Sized_relobj::local_got_offset): Likewise.
(Sized_relobj::set_local_got_offset): Likewise.
(Sized_relobj::local_has_tls_got_offset): Removed.
(Sized_relobj::local_tls_got_offset): Removed.
(Sized_relobj::set_local_tls_got_offset): Removed.
(Sized_relobj::Local_got_offsets): Changed to store a list of offsets.
* output.cc (Output_data_got::add_global): Added got_type parameter.
(Output_data_got::add_global_with_rel): Likewise.
(Output_data_got::add_global_with_rela): Likewise.
(Output_data_got::add_global_pair_with_rel): New function.
(Output_data_got::add_global_pair_with_rela): New function.
(Output_data_got::add_local): Added got_type parameter.
(Output_data_got::add_local_with_rel): Likewise.
(Output_data_got::add_local_with_rela): Likewise.
(Output_data_got::add_local_pair_with_rel): New function.
(Output_data_got::add_local_pair_with_rela): New function.
(Output_data_got::add_global_tls): Removed.
(Output_data_got::add_global_tls_with_rel): Removed.
(Output_data_got::add_global_tls_with_rela): Removed.
(Output_data_got::add_local_tls): Removed.
(Output_data_got::add_local_tls_with_rel): Removed.
(Output_data_got::add_local_tls_with_rela): Removed.
* output.h (Output_data_got::add_global): Added got_type parameter.
(Output_data_got::add_global_with_rel): Likewise.
(Output_data_got::add_global_with_rela): Likewise.
(Output_data_got::add_global_pair_with_rel): New function.
(Output_data_got::add_global_pair_with_rela): New function.
(Output_data_got::add_local): Added got_type parameter.
(Output_data_got::add_local_with_rel): Likewise.
(Output_data_got::add_local_with_rela): Likewise.
(Output_data_got::add_local_pair_with_rel): New function.
(Output_data_got::add_local_pair_with_rela): New function.
(Output_data_got::add_global_tls): Removed.
(Output_data_got::add_global_tls_with_rel): Removed.
(Output_data_got::add_global_tls_with_rela): Removed.
(Output_data_got::add_local_tls): Removed.
(Output_data_got::add_local_tls_with_rel): Removed.
(Output_data_got::add_local_tls_with_rela): Removed.
* resolve.cc (Symbol::override_base_with_special): Removed
reference to has_got_offset_ field.
* symtab.cc (Symbol::init_fields): Replaced initialization
of got_offset_ with got_offsets_. Removed initialization
of has_got_offset_
*symtab.h (Symbol::has_got_offset): Aded got_type parameter.
(Symbol::got_offset): Likewise.
(Symbol::set_got_offset): Likewise.
(Symbol::has_tls_got_offset): Removed.
(Symbol::tls_got_offset): Removed.
(Symbol::set_tls_got_offset): Removed.
(Symbol::got_offset_): Removed.
(Symbol::tls_mod_got_offset_): Removed.
(Symbol::tls_pair_got_offset_): Removed.
(Symbol::got_offsets_): New field.
(Symbol::has_got_offset): Removed.
(Symbol::has_tls_mod_got_offset): Removed.
(Symbol::has_tls_pair_got_offset): Removed.
* x86_64.cc (Target_x86_64::Got_type): New enum declaration.
(Target_x86_64::Scan::local): Updated callers of Output_data_got
member functions.
(Target_x86_64::Scan::global): Likewise.
(Target_x86_64::Relocate::relocate): Likewise.
(Target_x86_64::Relocate::relocate_tls): Likewise.
|
2008-03-25 18:37:16 +00:00 |
|
Ian Lance Taylor
|
be3e620119
|
Don't get confused about whether a symbol is the default version if we
see a later reference to it. Add tests for this case.
|
2008-03-14 05:57:19 +00:00 |
|
Ian Lance Taylor
|
ebdbb4583d
|
Update copyright years. Update language files.
|
2008-03-13 21:04:21 +00:00 |
|
Ian Lance Taylor
|
7d1a9ebbf2
|
Remove gcc 3.2 compatibility hacks.
|
2008-02-29 19:19:17 +00:00 |
|
Ian Lance Taylor
|
8851eccaec
|
From Craig Silverstein: Have Parameters point to General_options.
|
2008-02-28 00:18:24 +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
|
caa9d5d919
|
Assignments in linker scripts override definitions from object files.
|
2008-02-13 01:20:38 +00:00 |
|
Ian Lance Taylor
|
77e655378d
|
Track sections for expressions.
|
2008-02-09 01:22:17 +00:00 |
|
Ian Lance Taylor
|
8fc19601e8
|
From Cary Coutant: fix handling of undefined symbols in shared
libraries.
|
2008-02-08 22:49:22 +00:00 |
|
Ian Lance Taylor
|
a445fddf82
|
Fully implement the SECTIONS clause.
|
2008-02-04 05:43:05 +00:00 |
|
Ian Lance Taylor
|
9b07f471e3
|
Don't pass around the target in order to define symbols; get it from
the parameters instead.
|
2008-01-26 01:17:45 +00:00 |
|
Ian Lance Taylor
|
5240d12aa0
|
From Cary Coutant: Fix last patch.
|
2008-01-24 00:51:57 +00:00 |
|
Ian Lance Taylor
|
55a934330a
|
Originally from Craig Silverstein, with changes: support using a
version script to force symbols to be local.
|
2008-01-24 00:15:00 +00:00 |
|
Ian Lance Taylor
|
0700cf329e
|
From Cary Coutant: Fix mixing PIC and non-PIC relocs in the same
shared library.
|
2008-01-23 07:15:59 +00:00 |
|
Ian Lance Taylor
|
091244672e
|
From Andrew Chatham and Craig Silverstein: Add support for version
scripts.
|
2008-01-15 23:41:28 +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
|
fe8718a463
|
Convert more instances of off_t to be 32-bit types.
|
2007-12-20 21:21:24 +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
|
6d01333390
|
From Craig Silverstein: size hash tables to avoid resizing.
|
2007-12-14 05:24:17 +00:00 |
|
Ian Lance Taylor
|
e8c846c359
|
From Cary Coutant: Fix handling of RELATIVE RELA relocs.
|
2007-12-07 19:32:59 +00:00 |
|
Ian Lance Taylor
|
abaa399568
|
Print symbol table statistics with --stats.
|
2007-12-04 23:11:35 +00:00 |
|
Ian Lance Taylor
|
c79126688f
|
Add threading support.
|
2007-11-22 00:05:51 +00:00 |
|
Ian Lance Taylor
|
a2b1aa12f7
|
From Craig Silverstein: Add support for --demangle.
|
2007-11-15 01:12:55 +00:00 |
|
Ian Lance Taylor
|
07f397aba3
|
From Cary Coutant: Improve i386 shared library TLS support.
|
2007-11-14 22:31:02 +00:00 |
|
Ian Lance Taylor
|
78f156961e
|
From Craig Silverstein: Report output file name with ODR violation
warning message.
|
2007-11-14 18:44:58 +00:00 |
|
Ian Lance Taylor
|
9a2d698415
|
Add heuristics for undefined symbol warnings.
|
2007-11-14 16:53:25 +00:00 |
|
Ian Lance Taylor
|
70e654ba48
|
From Craig Silverstein: First cut at detecting ODR violations.
|
2007-11-13 20:02:32 +00:00 |
|
Ian Lance Taylor
|
386c048c7a
|
Correct handling of GOT references in a regular object.
|
2007-11-12 17:51:55 +00:00 |
|
Ian Lance Taylor
|
d61c6bd41c
|
From Cary Coutant: More shared library support, some refactorization.
|
2007-11-09 19:45:08 +00:00 |
|
Ian Lance Taylor
|
730cdc88f7
|
Generate a complete exception frame header. Discard duplicate
exception frame information.
|
2007-11-09 07:00:15 +00:00 |
|
Ian Lance Taylor
|
35cdfc9a87
|
Add support for PT_GNU_STACK.
|
2007-10-23 05:05:48 +00:00 |
|
Ian Lance Taylor
|
46fe162319
|
Fix versions of copied symbols.
|
2007-10-22 23:08:22 +00:00 |
|
Ian Lance Taylor
|
51b08ebe94
|
Add support for -Bsymbolic.
|
2007-10-18 23:20:53 +00:00 |
|
Ian Lance Taylor
|
436ca963fd
|
From Cary Coutant: preliminary shared library support.
|
2007-10-16 23:23:08 +00:00 |
|
Ian Lance Taylor
|
aeddab66fe
|
Keep track of weak aliases, so that overriding environ works.
|
2007-10-14 15:35:27 +00:00 |
|
Ian Lance Taylor
|
d20222a1e7
|
Better multiple definition errors.
|
2007-10-14 07:10:20 +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
|
cfd73a4e26
|
Add an option for Stringpools to not copy strings.
|
2007-10-12 06:06:34 +00:00 |
|
Ian Lance Taylor
|
b3b74ddc6e
|
Use parameters to track whether we are doing a static link. Fix up
final_value_is_known for weak undefined symbols. Pointed out by Cary
Coutant.
|
2007-09-28 06:36:25 +00:00 |
|
Ian Lance Taylor
|
9025d29d14
|
Put size and endianness in parameters.
|
2007-09-26 07:01:35 +00:00 |
|
Ian Lance Taylor
|
ab5c9e90a6
|
Use special value when we refer a function symbol in some way other
than calling it.
|
2007-09-23 05:31:48 +00:00 |
|
Ian Lance Taylor
|
6cb15b7f89
|
Add licensing text to every source file.
|
2007-09-22 21:02:10 +00:00 |
|
Ian Lance Taylor
|
306d9ef048
|
Canonicalize name and version when working with special symbols.
|
2007-09-22 04:40:13 +00:00 |
|
Ian Lance Taylor
|
7e1edb9089
|
Add global parameters.
|
2007-09-21 07:20:01 +00:00 |
|
Ian Lance Taylor
|
86f2e68346
|
Let special symbols override existing symbols rather than
reinitializing them.
|
2007-09-19 06:02:29 +00:00 |
|
Ian Lance Taylor
|
429c15693c
|
Any symbol which is in both a regular object and a dynamic object
requires an entry in the dynamic symbol table.
|
2007-08-29 05:48:24 +00:00 |
|
Ian Lance Taylor
|
1ebd95fdf1
|
Copy in_reg and in_dyn when resolving NAME/VERSION with NAME/NULL.
|
2007-08-29 03:42:51 +00:00 |
|