summaryrefslogtreecommitdiff
path: root/gold/symtab.h
Commit message (Collapse)AuthorAgeFilesLines
* * options.h (class General_options): Define --wrap as a specialIan Lance Taylor2008-04-091-0/+4
| | | | | | | | | | | | | | | | | 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-04 Cary Coutant <ccoutant@google.com>Cary Coutant2008-04-041-1/+31
| | | | | | | | | | | | | | | * 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.
* * i386.cc (Target_i386::Got_type): New enum declaration.Cary Coutant2008-03-251-60/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (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.
* Don't get confused about whether a symbol is the default version if weIan Lance Taylor2008-03-141-3/+3
| | | | see a later reference to it. Add tests for this case.
* Update copyright years. Update language files.Ian Lance Taylor2008-03-131-1/+1
|
* Remove gcc 3.2 compatibility hacks.Ian Lance Taylor2008-02-291-9/+7
|
* From Craig Silverstein: Have Parameters point to General_options.Ian Lance Taylor2008-02-281-7/+7
|
* From Craig Silverstein: rename option functions for future optionIan Lance Taylor2008-02-261-1/+1
| | | | handling rewrite.
* Assignments in linker scripts override definitions from object files.Ian Lance Taylor2008-02-131-2/+3
|
* Track sections for expressions.Ian Lance Taylor2008-02-091-3/+10
|
* From Cary Coutant: fix handling of undefined symbols in sharedIan Lance Taylor2008-02-081-5/+21
| | | | libraries.
* Fully implement the SECTIONS clause.Ian Lance Taylor2008-02-041-4/+12
|
* Don't pass around the target in order to define symbols; get it fromIan Lance Taylor2008-01-261-21/+15
| | | | the parameters instead.
* From Cary Coutant: Fix last patch.Ian Lance Taylor2008-01-241-11/+4
|
* Originally from Craig Silverstein, with changes: support using aIan Lance Taylor2008-01-241-11/+50
| | | | version script to force symbols to be local.
* From Cary Coutant: Fix mixing PIC and non-PIC relocs in the sameIan Lance Taylor2008-01-231-4/+28
| | | | shared library.
* From Andrew Chatham and Craig Silverstein: Add support for versionIan Lance Taylor2008-01-151-1/+24
| | | | scripts.
* Reduce the number of system calls. Use readv instead of pread. DoIan Lance Taylor2008-01-021-17/+13
| | | | better handling of cached views.
* Convert more instances of off_t to be 32-bit types.Ian Lance Taylor2007-12-201-1/+2
|
* Add section_size_type and section_offset_type, use them to replace aIan Lance Taylor2007-12-181-1/+1
| | | | lot of instances of off_t.
* Rewrite workqueue. This version eliminates the master thread, andIan Lance Taylor2007-12-141-3/+3
| | | | reduces the amount of locking required to find a new thread to run.
* From Craig Silverstein: size hash tables to avoid resizing.Ian Lance Taylor2007-12-141-1/+4
|
* From Cary Coutant: Fix handling of RELATIVE RELA relocs.Ian Lance Taylor2007-12-071-16/+0
|
* Print symbol table statistics with --stats.Ian Lance Taylor2007-12-041-0/+4
|
* Add threading support.Ian Lance Taylor2007-11-221-0/+10
|
* From Craig Silverstein: Add support for --demangle.Ian Lance Taylor2007-11-151-0/+7
|
* From Cary Coutant: Improve i386 shared library TLS support.Ian Lance Taylor2007-11-141-0/+47
|
* From Craig Silverstein: Report output file name with ODR violationIan Lance Taylor2007-11-141-1/+1
| | | | warning message.
* Add heuristics for undefined symbol warnings.Ian Lance Taylor2007-11-141-3/+8
|
* From Craig Silverstein: First cut at detecting ODR violations.Ian Lance Taylor2007-11-131-3/+45
|
* Correct handling of GOT references in a regular object.Ian Lance Taylor2007-11-121-0/+4
|
* From Cary Coutant: More shared library support, some refactorization.Ian Lance Taylor2007-11-091-0/+82
|
* Generate a complete exception frame header. Discard duplicateIan Lance Taylor2007-11-091-1/+1
| | | | exception frame information.
* Add support for PT_GNU_STACK.Ian Lance Taylor2007-10-231-1/+1
|
* Fix versions of copied symbols.Ian Lance Taylor2007-10-221-13/+37
|
* Add support for -Bsymbolic.Ian Lance Taylor2007-10-181-1/+2
|
* From Cary Coutant: preliminary shared library support.Ian Lance Taylor2007-10-161-0/+15
|
* Keep track of weak aliases, so that overriding environ works.Ian Lance Taylor2007-10-141-3/+39
|
* Better multiple definition errors.Ian Lance Taylor2007-10-141-1/+1
|
* Run all error handling through an Errors object. Delete output fileIan Lance Taylor2007-10-141-4/+9
| | | | on error.
* Add an option for Stringpools to not copy strings.Ian Lance Taylor2007-10-121-1/+1
|
* Use parameters to track whether we are doing a static link. Fix upIan Lance Taylor2007-09-281-6/+1
| | | | | final_value_is_known for weak undefined symbols. Pointed out by Cary Coutant.
* Put size and endianness in parameters.Ian Lance Taylor2007-09-261-17/+3
|
* Use special value when we refer a function symbol in some way otherIan Lance Taylor2007-09-231-1/+21
| | | | than calling it.
* Add licensing text to every source file.Ian Lance Taylor2007-09-221-0/+20
|
* Canonicalize name and version when working with special symbols.Ian Lance Taylor2007-09-221-2/+2
|
* Add global parameters.Ian Lance Taylor2007-09-211-2/+3
|
* Let special symbols override existing symbols rather thanIan Lance Taylor2007-09-191-2/+20
| | | | reinitializing them.
* Any symbol which is in both a regular object and a dynamic objectIan Lance Taylor2007-08-291-1/+4
| | | | requires an entry in the dynamic symbol table.
* Copy in_reg and in_dyn when resolving NAME/VERSION with NAME/NULL.Ian Lance Taylor2007-08-291-0/+5
|