aboutsummaryrefslogtreecommitdiff
path: root/gold
AgeCommit message (Collapse)AuthorFilesLines
2008-04-15toplevel/David S. Miller9-385/+3680
* configure.ac: Add sparc*-*-* to gold supported targets. * configure: Regenerate. gold/ * sparc.cc: New file. * Makefile.am (TARGETSOURCES): Add sparc.cc (ALL_TARGETOBJS): Add sparc.$(OBJEXT) * configure.tgt: Document targ_extra_size and targ_extra_big_endian. Add entries for sparc-* and sparc64-*. * configure.ac: Handle targ_extra_size and targ_extra_big_endian. * Makefile.in: Rebuild. * configure: Likewise. * po/POTFILES.in: Likewise. * po/gold.pot: Likewise.
2008-04-15 * layout.cc (Layout::Layout): Initialize sections_are_attached_.Ian Lance Taylor6-108/+114
(Layout::get_output_section): Ignore SHF_WRITE and SHF_EXECINSTR in the name/type/flags to section mapping. Don't call allocate_output_section. (Layout::choose_output_section): Change parameter from adjust_name to is_input_section. Don't permit input sections after sections are attached to segments. Don't call allocate_output_section. (Layout::layout_eh_frame): Call update_flags_for_input_section, not write_enable_output_section. (Layout::make_output_section): Don't push to unattached_section_list_ nor call attach_to_segment. Call attach_section_to_segment if sections are attached. (Layout::attach_sections_to_segments): New function. (Layout::attach_section_to_segment): New function. (Layout::attach_allocated_section_to_segment): Rename from attach_to_segment. Remove flags parameter. (Layout::allocate_output_section): Remove function. (Layout::write_enable_output_section): Remove function. * layout.h (class Layout): Update for above changes. Add new field sections_are_attached_. * output.h (Output_section::update_flags_for_input_section): New function. * output.cc (Output_section::add_input_section): Call update_flags_for_input_section. * gold.cc (queue_middle_tasks): Call attach_sections_to_segments.
2008-04-11 * i386.cc (Target_i386::got_mod_index_entry): Restore code previouslyCary Coutant3-0/+8
thought unnecessary. * x86_64.cc (Target_x86_64::got_mod_index_entry): Likewise.
2008-04-11 * output.h (class Output_section_data): Remove inline definitionIan Lance Taylor3-2/+19
of set_addralign. * output.cc (Output_section_data::set_addralign): New function.
2008-04-112008-04-11 Cary Coutant <ccoutant@google.com>Cary Coutant10-189/+976
Add support for TLS descriptors for i386 and x86_64. * i386.cc (Target_i386::Relocate::tls_desc_gd_to_ie): New function. (Target_i386::Relocate::tls_desc_gd_to_le): New function. (Target_i386::Got_type): Add GOT_TYPE_TLS_NOFFSET and GOT_TYPE_TLS_DESC. (Target_i386::got_mod_index_entry): Remove unnecessary code. (Target_i386::Scan::local): Implement R_386_TLS_GOTDESC and R_386_TLS_DESC_CALL relocations. Fix problem with initial-exec relocations. (Target_i386::Scan::global): Fix problem with GD-to-IE relaxation. Implement R_386_TLS_GOTDESC and R_386_TLS_DESC_CALL relocations; Fix problem with initial-exec relocations. (Target_i386::Relocate::relocate_tls): Likewise. (Target_i386::Relocate::tls_gd_to_ie): Fix problem with GD-to-IE relaxation. * output.cc (Output_data_dynamic::Dynamic_entry::write): Add support for section-plus-offset dynamic table entries. * output.h (Output_data_dynamic::add_section_plus_offset): New function. (Output_data_dynamic::Dynamic_entry): Add support for section-plus-offset dynamic table entries. (Output_data_dynamic::Classification): Likewise. (Output_data_dynamic::classification_): Renamed offset_. * x86_64.cc (Target_x86_64::Relocate::tls_desc_gd_to_ie): New function. (Target_x86_64::Relocate::tls_desc_gd_to_le): New function. (Target_x86_64::make_plt_section): New function. (Target_x86_64::reserve_tlsdesc_entries): New function. (Output_data_plt_x86_64::Output_data_plt_x86_64): Add new parameter. (Output_data_plt_x86_64::reserve_tlsdesc_entry): New function. (Output_data_plt_x86_64::has_tlsdesc_entry): New function. (Output_data_plt_x86_64::get_tlsdesc_got_offset): New function. (Output_data_plt_x86_64::get_tlsdesc_plt_offset): New function. (Output_data_plt_x86_64::tlsdesc_plt_entry): New field. (Output_data_plt_x86_64::set_final_data_size): Move out of line; add extra PLT entry for TLS descriptors. (Output_data_plt_x86_64::got_): New field. (Output_data_plt_x86_64::tlsdesc_got_offset_): New field. (Output_data_plt_x86_64::Output_data_plt_x86_64): Initialize new fields. (Output_data_plt_x86_64::do_write): Write extra PLT entry for TLS descriptors. (Target_x86_64::make_plt_entry): Factor out make_plt_section. (Target_x86_64::got_mod_index_entry): Remove unnecessary code. (Target_x86_64::Scan::local): Implement R_386_TLS_GOTDESC and R_386_TLS_DESC_CALL relocations. (Target_x86_64::Scan::global): Likewise. (Target_x86_64::do_finalize_sections): Add dynamic table entries for TLS descriptors. (Relocate::relocate_tls): Fix problem with GD-to-IE relaxation. Implement R_386_TLS_GOTDESC and R_386_TLS_DESC_CALL relocations. (Target_x86_64::Relocate::tls_gd_to_ie): Fix problem with GD-to-IE relaxation. * configure.ac: Export new conditional variables TLS_GNU2_DIALECT and TLS_DESCRIPTORS. * Makefile.in: Rebuild. * configure: Rebuild. * testsuite/Makefile.am (tls_shared_gd_to_ie_test): New target. (tls_test_shared2.so): New target. (tls_shared_gd_to_ie_test_SOURCES): New variable. (tls_shared_gd_to_ie_test_DEPENDENCIES): New variable. (tls_shared_gd_to_ie_test_LDFLAGS): New variable. (tls_shared_gd_to_ie_test_LDADD): New variable. (tls_shared_gnu2_gd_to_ie_test): New target. (tls_test_gnu2.o, tls_test_file2_gnu2.o, tls_test_gnu2_shared2.so): New targets. (tls_shared_gnu2_gd_to_ie_test_SOURCES): New variable. (ls_shared_gnu2_gd_to_ie_test_DEPENDENCIES): New variable. (tls_shared_gnu2_gd_to_ie_test_LDFLAGS): New variable. (tls_shared_gnu2_gd_to_ie_test_LDADD): New variable. (tls_shared_gnu2_test): New target. (tls_test_gnu2_shared.so): New target. (tls_shared_gnu2_test_SOURCES): New variable. (tls_shared_gnu2_test_DEPENDENCIES): New variable. (tls_shared_gnu2_test_LDFLAGS): New variable. (tls_shared_gnu2_test_LDADD): New variable. * testsuite/Makefile.in: Rebuild. * testsuite/Makefile.
2008-04-11 * testsuite/Makefile.am (justsyms_2r.o): Add dependency onIan Lance Taylor6-10/+36
justsyms.t. * testsuite/Makefile.in: Rebuild. * testsuite/script_test_2a.cc (script_test_string_a): Make 8 bytes long. * testsuite/script_test_2.cc (main): Adjust test.
2008-04-11 * options.h (General_options): Add entries for '-Y' andIan Lance Taylor3-4/+43
'-relax'. * options.cc (General_options:finalize): If -Y was used, add those entries to the library path instead of the default "/lib" and "/usr/lib".
2008-04-11 * testsuite/justsyms.t: Start at 0x100.David S. Miller5-5/+12
* testsuite/justsyms_1.cc: Adjust justsyms_string assertion. * script_test_2b.cc (script_test_string_b): Make 8 bytes long. * script_test_2.cc: Adjust string and section length checks.
2008-04-10 PR gold/5996Ian Lance Taylor5-24/+87
* script-sections.cc (Sections_element::allocate_to_segment): Add orphan parameter. (Output_section_definition::allocate_to_segment): Likewise. (Orphan_output_section::allocate_to_segment): Likewise. (Script_sections::attach_sections_using_phdrs_clause): Don't propagate non-PT_LOAD segments to orphan sections. * testsuite/Makefile.am (script_test_3.stdout): Generate using readelf rather than objdump. * testsuite/script_test_3.sh: Adjust accordingly. Test that .interp section and PT_INTERP segment are the same size. * testsuite/Makefile.in: Rebuild.
2008-04-10Fix typo in comment in last commit.Ian Lance Taylor1-1/+1
2008-04-09 * symtab.cc (Symbol_table::add_from_dynobj): Only look for weakIan Lance Taylor9-4/+340
aliases for symbols defined in the same object. * testsuite/Makefile.am (check_PROGRAMS): Add weak_alias_test. (weak_alias_test_SOURCES): New variable. (weak_alias_test_DEPENDENCIES): New variable. (weak_alias_test_LDFLAGS): New variable. (weak_alias_test_LDADD): New variable. (weak_alias_test_1_pic.o, weak_alias_test_1.so): New targets. (weak_alias_test_2_pic.o, weak_alias_test_2.so): New targets. (weak_alias_test_3.o): New target. (weak_alias_test_4_pic.o, weak_alias_test_4.so): New targets. * testsuite/weak_alias_test_main.cc: New file. * testsuite/weak_alias_test_1.cc: New file. * testsuite/weak_alias_test_2.cc: New file. * testsuite/weak_alias_test_3.cc: New file.
2008-04-09 * options.h (class General_options): Add --noinhibit-exec option.Ian Lance Taylor3-1/+10
* main.cc (main): Check --noinhibit-exec.
2008-04-09 * options.h (class General_options): Define --wrap as a specialIan Lance Taylor9-1/+127
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 * errors.cc (Errors::undefined_symbol): Mention symbol version ifIan Lance Taylor2-3/+12
there is one.
2008-04-09 * layout.h (class Layout): Add added_eh_frame_data_ field.Ian Lance Taylor4-5/+25
* layout.cc (Layout::Layout): Initialize new field. (Layout::layout_eh_frame): Don't add eh_frame_data_ to .eh_frame output section until we find a section we merged successfully. * object.cc (Sized_relobj::check_eh_frame_flags): Don't require that the size be non-zero.
2008-04-08 * merge.cc (Object_merge_map::get_output_offset): Remove inlineIan Lance Taylor2-1/+6
qualifier.
2008-04-08 * configure.ac: Export new conditional variable HAVE_ZLIB.Ian Lance Taylor6-30/+73
* testsuite/Makefile.am (flagstest_o_specialfile): Condition on HAVE_ZLIB. (flagstest_o_specialfile_and_compress_debug_sections): Likewise. * configure, Makefile.in, testsuite/Makefile.in: Rebuild.
2008-04-08 * version.cc (version_string): Set to "1.5".Ian Lance Taylor2-1/+3
2008-04-08 * x86_64.cc (Target_x86_64::Scan): Change from struct to class.Ian Lance Taylor2-1/+67
Add issued_non_pic_error_ field. Declare check_non_pic. (Target_x86_64::Scan::check_non_pic): New function. (Target_x86_64::Scan::local): Call check_non_pic as appropriate. (Target_x86_64::Scan::global): Likewise.
2008-04-07 * output.cc (Output_reloc<SHT_REL>::local_section_offset): AddIan Lance Taylor7-9/+76
addend parameter. Change caller. Handle merge sections. (Output_reloc<SHT_REL>::symbol_value): Change parameter type from Address to Addend. Don't add in the result of local_section_offset, pass down the addend and use the returned value. * output.h (class Output_reloc<SHT_REL>): Add Addend typedef. Update declarations of local_section_offset and symbol_value. * testsuite/two_file_test_1.cc (t18): New function. * testsuite/two_file_test_2.cc (f18): New function. * testsuite/two_file_test_main.cc (main): Call t18. * testsuite/two_file_test.h (t18, f18): Declare.
2008-04-07 * configure.ac: Don't test for objdump, c++filt, or readelf.Ian Lance Taylor6-135/+143
* testsuite/Makefile.am: Remove READELF and OBJDUMP_AND_CPPFILT conditionals. (TEST_READELF): New variable. (TEST_OBJDUMP, TEST_CXXFILT, TEST_STRIP): New variables. (check_PROGRAMS): Add two_file_strip_test. (two_file_strip_test): New target. (check_PROGRAMS): Add two_file_same_shared_strip_test. (two_file_same_shared_strip_test_SOURCES): New variable. (two_file_same_shared_strip_test_DEPENDENCIES): New variable. (two_file_same_shared_strip_test_LDFLAGS): New variable. (two_file_same_shared_strip_test_LDADD): New variable. (two_file_shared_strip.so): New target. (ver_test_2.syms, ver_test_4.syms): Use TEST_READELF. (ver_test_5.syms, ver_test_7.syms): Likewise. (ver_matching_test.stdout): Use TEST_OBJDUMP and TEST_CXXFILT. (strip_test_3.stdout): Use TEST_OBJDUMP. * configure, Makefile.in, testsuite/Makefile.in: Rebuild.
2008-04-042008-04-04 Cary Coutant <ccoutant@google.com>Cary Coutant7-5/+227
* 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-03 * compressed_output.h (class Output_compressed_section): UseIan Lance Taylor6-27/+43
unsigned buffer. * compressed_output.cc (zlib_compress): Use unsigned buffers, add zlib header. (zlib_compressed_suffix): Removed. (Output_compressed_section::set_final_data_size): Use unsigned buffers. * testsuite/Makefile.am (flagstest_compress_debug_sections): Fix linker invocation. (flagstest_o_specialfile_and_compress_debug_sections): Likewise. * testsuite/Makefile.in: Regenerated.
2008-04-03 * dwarf_reader.cc (Sized_dwarf_line_info::read_header_prolog,David S. Miller2-7/+12
Sized_dwarf_line_info::process_one_opcode): Use Swap_unaligned.
2008-04-03 * TODO: New file.Ian Lance Taylor2-0/+30
2008-04-02 * fileread.cc (File_read::find_view): Add byteshift and vshiftedIan Lance Taylor10-108/+285
parameters. Update for new key type to views_. Change all callers. (File_read::read): Adjust for byteshift in returned view. (File_read::add_view): New function, broken out of find_and_make_view. (File_read::make_view): New function, broken out of find_and_make_view. (File_read::find_or_make_view): Add offset and aligned parameters. Rewrite accordingly. Change all callers. (File_read::get_view): Add offset and aligned parameters. Adjust for byteshift in return value. (File_read::get_lasting_view): Likewise. * fileread.h (class File_read): Update declarations. (class File_read::View): Add byteshift_ field. Add byteshift to constructor. Add byteshift method. * archive.h (Archive::clear_uncached_views): New function. (Archive::get_view): Add aligned parameter. Change all callers. * object.h (Object::get_view): Add aligned parameter. Change all callers. (Object::get_lasting_view): Likewise. * fileread.cc (File_read::release): Don't call clear_views if there are multiple objects. * fileread.h (File_read::clear_uncached_views): New function. * archive.cc (Add_archive_symbols::run): Call clear_uncached_views on the archive.
2008-04-012008-03-31 Cary Coutant <ccoutant@google.com>Cary Coutant4-30/+178
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-03-29 * symtab.cc (Symbol_table::do_define_as_constant): Don't force aIan Lance Taylor5-2/+68
version symbol to be local. * testsuite/ver_test_4.sh: New file. * testsuite/Makefile.am (check_SCRIPTS): Add ver_test_4.sh. (check_DATA): Add ver_test_4.syms. (ver_test_4.syms): New target. * testsuite/Makefile.in: Rebuild.
2008-03-29 * output.ccIan Lance Taylor3-63/+63
(Output_section::Input_section_sort_entry::has_priority): New function. (Output_section::Input_section_sort_entry::match_file_name): New function. (Output_section::Input_section_sort_entry::match_section_name): Remove. (Output_section::Input_section_sort_entry::match_section_name_prefix): Remove. (Output_section::Input_section_sort_entry::match_section_file): Remove. (Output_section::Input_section_sort_compare::operator()): Rewrite using new Input_section_sort_entry functions. Sort crtbegin and crtend first. Sort sections with no priority before sections with a priority. * testsuite/initpri1.c (d3): Check j != 4. (cd5): New constructor/destructor function. (main): Check j != 2.
2008-03-29 * symtab.cc (Symbol_table::add_from_object): If we don't use theIan Lance Taylor6-2/+119
new symbol when resolving, don't call set_is_default. * testsuite/ver_test_7.cc: New file. * testsuite/ver_test_7.sh: New file. * testsuite/Makefile.am (ver_test_7.so): New target. (ver_test_7.o): New target. (check_SCRIPTS): Add ver_test_7.sh. (check_DATA): Add ver_test_7.syms. (ver_test_7.syms): New target.
2008-03-28 * layout.cc (Layout::layout): If we see an input section with aIan Lance Taylor10-25/+576
name that needs sorting, set the must_sort flag for the output section. (Layout::make_output_section): If the name of the output section indicates that it might require sorting, set the may_sort flag. * output.h (Output_section::may_sort_attached_input_sections): New function. (Output_section::set_may_sort_attached_input_sections): New function. (Output_section::must_sort_attached_input_sections): New function. (Output_section::set_must_sort_attached_input_sections): New function. (class Output_section): Declare Input_section_sort_entry. Define Input_section_sort_compare. Declare sort_attached_input_sections. Add new fields: may_sort_attached_input_sections_, must_sort_attached_input_sections_, attached_input_sections_are_sorted_. * output.cc (Output_section::Output_section): Initialize new fields. (Output_section::add_input_section): Add an entry to input_sections_ if may_sort or must_sort are true. (Output_section::set_final_data_size): Call sort_attached_input_sections if necessary. (Output_section::Input_section_sort_entry): Define new class. (Output_section::Input_section_sort_compare::operator()): New function. (Output_section::sort_attached_input_sections): New function. * configure.ac: Check whether the compiler supports constructor priorities. Define a CONSTRUCTOR_PRIORITY automake conditional. * testsuite/initpri1.c: New file. * testsuite/Makefile.am (check_PROGRAMS): Add initpri1 if CONSTRUCTOR_PRIORITY. (initpri1_SOURCES, initpri1_DEPENDENCIES): New variables. (initpri1_LDFLAGS): New variable. * configure, Makefile.in, testsuite/Makefile.in: Rebuild.
2008-03-27 * common.cc (Sort_commons::operator): Correct sorting algorithm.Ian Lance Taylor5-6/+117
* testsuite/common_test_1.c: New file. * testsuite/Makefile.am (check_PROGRAMS): Add common_test_1. (common_test_1_SOURCES): New variable. (common_test_1_DEPENDENCIES): New variable. (common_test_1_LDFLAGS): New variable.
2008-03-27 * symtab.cc (Symbol_table::add_from_object): Handle saw_undefined_Ian Lance Taylor5-6/+74
and commons_ correctly when NAME/VERSION does not override NAME/NULL. * testsuite/ver_test_6.c: New file. * testsuite/Makefile.am (check_PROGRAMS): Add ver_test_6 (ver_test_6_SOURCES, ver_test_6_DEPENDENCIES): New variables. (ver_test_6_LDFLAGS, ver_test_6_LDADD): New variables.
2008-03-27 * symtab.cc (Symbol_table::add_from_relobj): Don't set the versionIan Lance Taylor8-5/+149
of an undefined symbol from a version script. * testsuite/Makefile.am (ver_test_5.so): New target. (ver_test_5.o): New target. (check_SCRIPTS): Add ver_test_5.sh. (check_DATA): Add ver_test_5.syms. (ver_test_5.syms): New target. * testsuite/ver_test_5.cc: New file. * testsuite/ver_test_5.script: New file. * testsuite/ver_test_5.sh: New file. * Makefile.in, testsuite/Makefile.in: Rebuild.
2008-03-26 PR gold/5986Ian Lance Taylor18-7/+171
Fix problems building gold with gcc 4.3.0. * gold.h (TEMPLATE_ATTRIBUTE_PRINTF_4): Define. (gold_error_at_location, gold_warning_at_location): Use it. * configure.ac: Check whether we can compile and use a template function with a printf attribute. * x86_64.cc (Target_x86_64::do_code_fill): Swap out a 32-bit value when jumping over bytes. * object.cc: Instantiate Object::read_section_data. * debug.h: Include <cstring> * dwarf_reader.cc: Include <algorithm> * main.cc: Include <cstring>. * options.cc: Include <cstring>. * output.cc: Include <cstring>. * script.cc: Include <cstring>. * script.h: Include <string>. * symtab.cc: Include <cstring> and <algorithm>. * target-select.cc: Include <cstring>. * version.cc: Include <string>. * testsuite/testmain.cc: Include <cstdlib>. * configure, config.in: Rebuild.
2008-03-26Fix a ChangeLog formatting problem.Ben Elliston1-1/+1
2008-03-25 * options.cc: Include "../bfd/bfdver.h".Ian Lance Taylor2-0/+9
(options::help): Print bug reporting address.
2008-03-25 * version.cc (print_version): Adjust output for current value ofIan Lance Taylor2-3/+20
BFD_VERSION_STRING.
2008-03-25 * NEWS: New file.Ian Lance Taylor1-0/+1
2008-03-25 * options.cc (options::help): Print list of supported targets.Ian Lance Taylor7-80/+177
* target-select.h: Include <vector>. (class Target_selector): Make machine_, size_, and is_big_endian_ fields const. Add bfd_name_ and instantiated_target_ fields. (Target_selector::Target_selector): Add bfd_name parameter. (Target_selector::recognize): Make non-virtual, call do_recognize. (Target_selector::recognize_by_name): Make non-virtual, call do_recognize_by_name. (Target_selector::supported_names): New function. (Target_selector::bfd_name): New function. (Target_selector::do_instantiate_target): New pure virtual function. (Target_selector::do_recognize): New virtual function. (Target_selector::do_recognize_by_name): New virtual function. (Target_selector::instantiate_target): New private function. (supported_target_names): Declare. * target-select.cc (Target_selector::Target_selector): Update for new parameter and fields. (select_target_by_name): Check that the name matches before calling recognize_by_name. (supported_target_names): New function. * i386.cc (class Target_selector_i386): Update Target_selector constructor call. Remove recognize and recognize_by_name. Add do_instantiate_target. * x86_64.cc (class Target_selector_x86_64): Likewise. * testsuite/testfile.cc (class Target_selector_test): Update for changes to Target_selector.
2008-03-25 * README: Rewrite, with some notes on unsupported features.Ian Lance Taylor2-10/+49
2008-03-25 * i386.cc (Target_i386::Got_type): New enum declaration.Cary Coutant9-416/+418
(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 * yyscript.y: Fix spelling error in comment.Ben Elliston2-1/+5
2008-03-25 * options.h (class General_options): Define build_id option.Ian Lance Taylor4-20/+230
* layout.h (class Layout): Declare write_build_id, create_note, create_build_id. Add build_id_note_ member. * layout.cc: Include <cerrno>, <fcntl.h>, <unistd.h>, "libiberty.h", "md5.h", "sha1.h". (Layout::Layout): Initialize eh_frame_data_, eh_frame_hdr_section_, and build_id_note_. (Layout::finalize): Call create_build_id. (Layout::create_note): New function, broken out of Layout::create_gold_note. (Layout::create_gold_note): Call create_note. (Layout::create_build_id): New function. (Layout::write_build_id): New function. (Close_task_runner::run): Call write_build_id.
2008-03-24 * x86_64.cc: Correct license to GPLv3.Ian Lance Taylor2-21/+16
2008-03-24 * options.cc: Include "demangle.h".Ian Lance Taylor5-24/+131
(parse_optional_string): New function. (parse_long_option): Handle takes_optional_argument. (parse_short_option): Update dash_z initializer. Handle takes_optional_argument. (General_options::General_options): Initialize do_demangle_. (General_options::finalize): Set do_demangle_. Handle demangling style. * options.h (parse_optional_string): Declare. (struct One_option): Add optional_arg field. Update constructor. Update call constructor calls. Add takes_optional_argument function. (DEFINE_var): Add optional_arg__ parameter. Change all callers. (DEFINE_optional_string): Define. (General_options::demangle): Change from DEFINE_bool to DEFINE_optional_string. (General_options::no_demangle): New function. (General_options::do_demangle): New function. (General_options::set_do_demangle): New function. (General_options::execstack_status_): Move definition to end of class definition. (General_options::static_): Likewise. (General_options::do_demangle_): New field. * object.cc (big_endian>::get_symbol_location_info): Call Options::do_demangle, not Options::demangle. * symtab.cc (demangle): Likewise.
2008-03-22 * gold.h: Include <cstddef> and <sys/types.h>Ian Lance Taylor3-0/+9
* options.h: Include <cstring>.
2008-03-21Add ChangeLog file now that the sources are part of the GNU binutils.Ian Lance Taylor1-0/+4
2008-03-21Bump version for general release.Ian Lance Taylor2-40/+44
2008-03-20From Craig Silverstein: implement -z defs.Ian Lance Taylor2-1/+5