aboutsummaryrefslogtreecommitdiff
path: root/gold/symtab.h
AgeCommit message (Collapse)AuthorFilesLines
2008-04-17 * common.cc (Symbol_table::allocate_commons): Remove optionsIan Lance Taylor1-5/+13
parameter. Change caller. (Symbol_table::do_allocate_commons): Remove options parameter. Change caller. Just call do_allocate_commons_list twice. (Symbol_table::do_allocate_commons_list): New function, broken out of do_allocate_commons. * common.h (class Allocate_commons_task): Remove options_ field. Update constructor. * symtab.cc (Symbol_table::Symbol_table): Initialize tls_commons_. (Symbol_table::add_from_object): Put TLS common symbols on tls_commons_ list. (Symbol_table::sized_finalize_symbol): Handle STT_TLS symbols which are IN_OUTPUT_DATA. * symtab.h (class Symbol_table): Add tls_commons_ field. Update allocate_commons and do_allocate_commons declarations. Declare do_allocate_commons_list. * gold.cc (queue_middle_tasks): Update creation of Allocate_commons_task to not pass options. * testsuite/Makefile.am (INCLUDES): Add -I.. . (TLS_TEST_C_FLAGS): New variable. (tls_test_c_pic.o): New target. (tls_test_shared.so): Link in tls_test_c_pic.o. (tls_test_c_pic_ie.o): New target. (tls_test_ie_shared.so): Link in tls_test_c_pic_ie.o. (tls_test_DEPENDENCIES, tls_test_LDADD): Add tls_test_c.o. (tls_test_c.o): New target. (tls_pic_test_DEPENDENCIES): Add tls_test_c_pic.o. (tls_pic_test_LDADD): Likewise. (tls_shared_gd_to_ie_test_DEPENDENCIES): Add tls_test_c_pic.o. (tls_shared_gd_to_ie_test_LDADD): Likewise. (tls_test_c_gnu2.o): New target. (tls_shared_gnu2_gd_to_ie_test_DEPENDENCIES): Add tls_test_c_gnu2.o. (tls_shared_gnu2_gd_to_ie_test_LDADD): Likewise. (tls_test_gnu2_shared.so): Link in tls_test_c_gnu2.o. (tls_test_shared_nonpic.so): Link in tls_test_c.o. * testsuite/tls_test.cc: Include "config.h". (t_last): Call t11_last. * testsuite/tls_test.h (t11, t11_last): Declare. * testsuite/tls_test_c.c: New file. * testsuite/tls_test_main.cc (thread_routine): Call t11. * configure.ac: Check for OpenMP support. * configure, config.in, Makefile.in: Rebuild. * testsuite/Makefile.in: Rebuild.
2008-04-17 * symtab.h (Symbol::is_strong_undefined): Removed unused function.Cary Coutant1-13/+9
(Symbol::needs_plt_entry): Allow weak undefined symbols. (Symbol::needs_dynamic_reloc): Allow weak undefined symbols when building shared libraries. * testsuite/Makefile.am (weak_undef_nonpic_test): New target. (weak_undef_file1_nonpic.o, weak_undef_file2_nonpic.o) (weak_undef_lib_nonpic.so, alt/weak_undef_lib_nonpic.so): New targets. * testsuite/Makefile.in: Rebuild. * testsuite/weak_undef.h: New file. * testsuite/weak_undef_file1.cc: Add extra test cases. * testsuite/weak_undef_file2.cc: Likewise. * testsuite/weak_undef_test.cc: Likewise.
2008-04-09 * options.h (class General_options): Define --wrap as a specialIan Lance Taylor1-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-042008-04-04 Cary Coutant <ccoutant@google.com>Cary Coutant1-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.
2008-03-25 * i386.cc (Target_i386::Got_type): New enum declaration.Cary Coutant1-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.
2008-03-14Don't get confused about whether a symbol is the default version if weIan Lance Taylor1-3/+3
see a later reference to it. Add tests for this case.
2008-03-13Update copyright years. Update language files.Ian Lance Taylor1-1/+1
2008-02-29Remove gcc 3.2 compatibility hacks.Ian Lance Taylor1-9/+7
2008-02-28From Craig Silverstein: Have Parameters point to General_options.Ian Lance Taylor1-7/+7
2008-02-26From Craig Silverstein: rename option functions for future optionIan Lance Taylor1-1/+1
handling rewrite.
2008-02-13Assignments in linker scripts override definitions from object files.Ian Lance Taylor1-2/+3
2008-02-09Track sections for expressions.Ian Lance Taylor1-3/+10
2008-02-08From Cary Coutant: fix handling of undefined symbols in sharedIan Lance Taylor1-5/+21
libraries.
2008-02-04Fully implement the SECTIONS clause.Ian Lance Taylor1-4/+12
2008-01-26Don't pass around the target in order to define symbols; get it fromIan Lance Taylor1-21/+15
the parameters instead.
2008-01-24From Cary Coutant: Fix last patch.Ian Lance Taylor1-11/+4
2008-01-24Originally from Craig Silverstein, with changes: support using aIan Lance Taylor1-11/+50
version script to force symbols to be local.
2008-01-23From Cary Coutant: Fix mixing PIC and non-PIC relocs in the sameIan Lance Taylor1-4/+28
shared library.
2008-01-15From Andrew Chatham and Craig Silverstein: Add support for versionIan Lance Taylor1-1/+24
scripts.
2008-01-02Reduce the number of system calls. Use readv instead of pread. DoIan Lance Taylor1-17/+13
better handling of cached views.
2007-12-20Convert more instances of off_t to be 32-bit types.Ian Lance Taylor1-1/+2
2007-12-18Add section_size_type and section_offset_type, use them to replace aIan Lance Taylor1-1/+1
lot of instances of off_t.
2007-12-14Rewrite workqueue. This version eliminates the master thread, andIan Lance Taylor1-3/+3
reduces the amount of locking required to find a new thread to run.
2007-12-14From Craig Silverstein: size hash tables to avoid resizing.Ian Lance Taylor1-1/+4
2007-12-07From Cary Coutant: Fix handling of RELATIVE RELA relocs.Ian Lance Taylor1-16/+0
2007-12-04Print symbol table statistics with --stats.Ian Lance Taylor1-0/+4
2007-11-22Add threading support.Ian Lance Taylor1-0/+10
2007-11-15From Craig Silverstein: Add support for --demangle.Ian Lance Taylor1-0/+7
2007-11-14From Cary Coutant: Improve i386 shared library TLS support.Ian Lance Taylor1-0/+47
2007-11-14From Craig Silverstein: Report output file name with ODR violationIan Lance Taylor1-1/+1
warning message.
2007-11-14Add heuristics for undefined symbol warnings.Ian Lance Taylor1-3/+8
2007-11-13From Craig Silverstein: First cut at detecting ODR violations.Ian Lance Taylor1-3/+45
2007-11-12Correct handling of GOT references in a regular object.Ian Lance Taylor1-0/+4
2007-11-09From Cary Coutant: More shared library support, some refactorization.Ian Lance Taylor1-0/+82
2007-11-09Generate a complete exception frame header. Discard duplicateIan Lance Taylor1-1/+1
exception frame information.
2007-10-23Add support for PT_GNU_STACK.Ian Lance Taylor1-1/+1
2007-10-22Fix versions of copied symbols.Ian Lance Taylor1-13/+37
2007-10-18Add support for -Bsymbolic.Ian Lance Taylor1-1/+2
2007-10-16From Cary Coutant: preliminary shared library support.Ian Lance Taylor1-0/+15
2007-10-14Keep track of weak aliases, so that overriding environ works.Ian Lance Taylor1-3/+39
2007-10-14Better multiple definition errors.Ian Lance Taylor1-1/+1
2007-10-14Run all error handling through an Errors object. Delete output fileIan Lance Taylor1-4/+9
on error.
2007-10-12Add an option for Stringpools to not copy strings.Ian Lance Taylor1-1/+1
2007-09-28Use parameters to track whether we are doing a static link. Fix upIan Lance Taylor1-6/+1
final_value_is_known for weak undefined symbols. Pointed out by Cary Coutant.
2007-09-26Put size and endianness in parameters.Ian Lance Taylor1-17/+3
2007-09-23Use special value when we refer a function symbol in some way otherIan Lance Taylor1-1/+21
than calling it.
2007-09-22Add licensing text to every source file.Ian Lance Taylor1-0/+20
2007-09-22Canonicalize name and version when working with special symbols.Ian Lance Taylor1-2/+2
2007-09-21Add global parameters.Ian Lance Taylor1-2/+3
2007-09-19Let special symbols override existing symbols rather thanIan Lance Taylor1-2/+20
reinitializing them.