aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* PR 5990Ian Lance Taylor2008-07-251-10/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * descriptors.cc: New file. * descriptors.h: New file. * gold-threads.h (class Hold_optional_lock): New class. * fileread.cc: Include "descriptors.h". (File_read::~File_read): Release descriptor rather than closing it. (File_read::open) [file]: Call open_descriptor rather than open. Set is_descriptor_opened_. (File_read::open) [memory]: Assert that descriptor is not open. (File_read::reopen_descriptor): New function. (File_read::release): Release descriptor. (File_read::do_read): Make non-const. Reopen descriptor. (File_read::read): Make non-const. (File_read::make_view): Reopen descriptor. (File_read::do_readv): Likewise. * fileread.h (class File_read): Add is_descriptor_opened_ field. Update declarations. * layout.cc: Include "descriptors.h". (Layout::create_build_id): Use open_descriptor rather than open. * output.cc: Include "descriptors.h". (Output_file::open): Use open_descriptor rather than open. * archive.cc (Archive::const_iterator): Change Archive to be non-const. (Archive::begin, Archive::end): Make non-const. (Archive::count_members): Likewise. * archive.h (class Archive): Update declarations. * object.h (Object::read): Make non-const. * Makefile.am (CCFILES): Add descriptors.cc. (HFILES): Add descriptors.h. * Makefile.in: Rebuild.
* * cref.cc: New file.Ian Lance Taylor2008-07-221-10/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * cref.h: New file. * options.h (class General_options): Add --print-symbol-counts. * main.cc (main): Issue defined symbol report if requested. * archive.cc (Archive::interpret_header): Make into a const member function. (Archive::add_symbols): Call Input_objects::archive_start and archive_stop. (Archive::const_iterator): Define new class. (Archive::begin, Archive::end): New functions. (Archive::include_all_members): Rewrite to use iterator. (Archive::count_members): New function. * archive.h (class Archive): Update declarations. (Archive::filename): New function. * object.cc: Include "cref.h". (Sized_relobj::Sized_relobj): Initialize defined_count_. (Sized_relobj::do_get_global_symbol_counts): New function. (Input_objects::add_object): Add object to cross-referencer. (Input_objects::archive_start): New function. (Input_objects::archive_stop): New function. (Input_objects::print_symbol_counts): New function. * object.h: Declare Cref and Archive. (Object::get_global_symbol_counts): New function. (Object::do_get_global_symbol_counts): New pure virtual function. (class Sized_relobj): Add defined_count_ field. Update declarations. (class Input_objects): Add cref_ field. Update constructor. Update declarations. * dynobj.cc (Sized_dynobj::Sized_dynobj): Initialize symbols_ and defined_count_. (Sized_dynobj::do_add_symbols): Allocate symbols_ if printing symbol counts. (Sized_dynobj::do_get_global_symbol_counts): New function. * dynobj.h (class Sized_dynobj): Add fields symbols_ and defined_count_. Update declarations. Define Symbols typedef. * symtab.cc (Symbol_table::add_from_relobj): Add defined parameter. Change all callers. (Symbol_table::add_from_dynobj): Add sympointers and defined parameters. Change all callers. * symtab.h (class Symbol_table): Update declarations. * Makefile.am (CCFILES): Add cref.cc. (HFILES): Add cref.h. * Makefile.in: Rebuild.
* 2008-07-20 Chris Demetriou <cgd@google.com>Chris Demetriou2008-07-211-2/+3
| | | | | | | | | * configure.ac (gold_cv_c_random_seed): New configured variable. (RANDOM_SEED_CFLAGS): New substituted variable. * Makefile.am (AM_CFLAGS, AM_CXXFLAGS): Add $(RANDOM_SEED_CFLAGS). * configure: Rebuild. * Makefile.in: Likewise. * testsuite/Makefile.in: Likewise.
* 2008-06-12 David Edelsohn <edelsohn@gnu.org>David Edelsohn2008-06-121-2/+3
| | | | | | | | | | David S. Miller <davem@davemloft.net> * powerpc.cc: New file. * Makefile.am (TARGETSOURCES): Add powerpc.cc (ALL_TARGETOBJS): Add powerpc.$(OBJEXT) * configure.tgt: Add entries for powerpc-* and powerpc64-*. * Makefile.in: Rebuild.
* elfcpp/:Ian Lance Taylor2008-05-281-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | * dwarf.h (enum DW_FORM): Define. gold/: * reduced_debug_output.cc: New file. * reduced_debug_output.h: New file. * options.h (class General_optoins): Add --strip-debug-non-line. * options.cc (General_options::finalize): Add strip_debug_non_line to the strip heirarchy. * layout.h (class Layout): Add debug_abbrev_ and debug_info_ fields. * layout.cc: Include "reduced_debug_output.h". (Layout::Layout): Initialize new fields. (line_only_debug_sections): New static array. (is_lines_only_debug_sections): New static inline function. (Layout::include_section): Handle --strip-debug-non-line. (Layout::make_output_section): If --strip-debug-non-line, build new output sections for .debug_abbrev and .debug_info. * dwarf_reader.cc (read_unsigned_LEB_128): Move to namespace gold. Warn about possible overflow. (read_signed_LEB_128): Likewise. * dwarf_reader.h: (read_unsigned_LEB_128): Declare. (read_signed_LEB_128): Declare. * Makefile.am (CCFILES): Add reduced_debug_output.cc. (HFILES): Add reduced_debug_output.h. * Makefile.in: Rebuild.
* * mapfile.cc: New file.Ian Lance Taylor2008-05-211-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * mapfile.h: New file. * options.h (class General_options): Add -M/--print-map and -Map. * options.cc (General_options::finalize): Make -M equivalent to -Map -. * main.cc: Include <cstdio> and "mapfile.h". (main): Open mapfile if requested. * gold.cc (class Middle_runner): Add mapfile_ field. Update constructor. Change caller. (queue_initial_tasks): Add mapfile parameter. Change caller. (queue_middle_tasks): Likewise. * gold.h (queue_initial_tasks, queue_middle_tasks): Update declarations. * archive.cc: Include "mapfile.h". (Archive::add_symbols): Add mapfile parameter. Change all callers. Pass mapfile, symbol, and reason to include_member. (Archive::include_all_members): Add mapfile parameter. Change all callers. (Archive::include_member): Add mapfile, sym, and why parameters. Change all callers. Report inclusion to map file. * archive.h: Include "fileread.h". (class Archive): Update declarations. (Archive::file): New const method. (class Add_archive_symbols): Add mapfile_ field. Update constructor. Change all callers. * readsyms.h (class Read_symbols): Likewise. (class Finish_group): Likewise. (class Read_script): Likewise. * common.cc: Include "mapfile.h". (Symbol_table::allocate_commons): Add mapfile parameter. Change all callers. (Symbol_table::do_allocate_commons): Likewise. (Symbol_table::do_allocate_commons_list): Likewise. Report common symbol allocation to mapfile. * common.h (class Allocate_commons_task): Add mapfile_ field. Update constructor. Change all callers. * symtab.h (class Symbol_table): Update declarations. * layout.cc: Include "mapfile.h". (Layout_task_runner::run): Print information to mapfile. (Layout::create_gold_note): Change Output_data_fixed_space to Output_data_zero_fill. (Layout::create_build_id): Likewise. (Layout::print_to_mapfile): New function. * layout.h (class Layout_task_runner): Add mapfile_ field. Update constructor. Change caller. (class Layout): Declare print_to_mapfile. * output.cc (Output_section::Input_section::print_to_mapfile): New function. (Output_section::add_input_section): If producing a map, always add to input_sections_ list. (Output_section::do_print_to_mapfile): New function. (Output_segment::print_sections_to_mapfile): New function. (Output_segment::print_section_list_to_mapfile): New function. * output.h: Include "mapfile.h". (Output_data::print_to_mapfile): New function. (Output_data::do_print_to_mapfile): New virtual function. (Output_segment_headers::do_print_to_mapfile): New function. (Output_file_header::do_print_to_mapfile): New function. (Output_data_const::do_print_to_mapfile): New function. (class Output_data_const_buffer): Add map_name_ field. Update constructor. Change all callers. Add do_print_to_mapfile function. (class Output_data_fixed_space): Likewise. (class Output_data_space): Likewise. (class Output_data_zero_fill): New class. (Output_data_strtab::do_print_to_mapfile): New function. (Output_data_reloc_base::do_print_to_mapfile): New function. (Output_relocatable_relocs::do_print_to_mapfile): New function. (Output_data_group::do_print_to_mapfile): New function. (Output_data_got::do_print_to_mapfile): New function. (Output_data_dynamic::do_print_to_mapfile): New function. (Output_symtab_xindex::do_print_to_mapfile): New function. (class Output_section): Declare do_print_to_mapflie. Declare print_to_mapfile in Input_section. (class Output_segment): Declare new functions. * object.h (Sized_relobj::symbol_count): New function. * script-sections.cc (Output_section_element_dot_assignment::set_section_addresses): Change Output_data_fixed_space to Output_data_zero_fill. (Output_data_expression::do_print_to_mapfile): New function. * script.cc (read_input_script): Add mapfile parameter. Change all callers. * script.h (read_input_script): Update declaration. * ehframe.h (Eh_frame_hdr::do_print_to_mapfile): New function. (Eh_frame::do_print_to_mapfile): New function. * merge.h (Output_merge_data::do_print_to_mapfile): New function. (Output_merge_string::do_print_to_mapfile): New function. * i386.cc (Output_data_plt_i386::do_print_to_mapfile): New function. * sparc.cc (Output_data_plt_sparc::do_print_to_mapfile): New function. * x86_64.cc (Output_data_plt_x86_64::do_print_to_mapfile): New function. * Makefile.am (CCFILES): Add mapfile.cc. (HFILES): Add mapfile.h. * Makefile.in: Rebuild.
* * symtab.cc (Symbol_table::add_from_dynobj): If we see a protectedIan Lance Taylor2008-05-061-1/+3
| | | | | | | | | | | | | | | | | | | | symbol, change it to have default visibility. * testsuite/protected_1.cc: New file. * testsuite/protected_2.cc: New file. * testsuite/protected_3.cc: New file. * testsuite/protected_main_1.cc: New file. * testsuite/protected_main_2.cc: New file. * testsuite/protected_main_3.cc: New file. * testsuite/Makefile.am (check_PROGRAMS): Add protected_1. (protected_1_SOURCES, protected_1_DEPENDENCIES): Define. (protected_1_LDFLAGS, protected_1_LDADD): Define. (protected_1.so): New target. (protected_1_pic.o, protected_2_pic.o): New targets. (protected_3_pic.o): New target. (check_PROGRAMS): Add protected_2. (protected_2_SOURCES, protected_2_DEPENDENCIES): Define. (protected_2_LDFLAGS, protected_2_LDADD): Define. * testsuite/Makefile.in: Rebuild.
* * common.cc (Symbol_table::allocate_commons): Remove optionsIan Lance Taylor2008-04-171-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* * copy-relocs.cc: New file.Ian Lance Taylor2008-04-161-8/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * copy-relocs.h: New file. * reloc.cc: Remove Copy_relocs code. * reloc.h: Likewise. * reloc-types.h (struct Reloc_types) [both versions]: Add get_reloc_addend_noerror. * output.h (class Output_data_reloc<elfcpp::SHT_REL>): Add variants of add_global which take an addend which must be zero. * i386.cc: Include "copy-relocs.h". (class Target_i386): Change type of copy_relocs_ to variable, update initializer. (Target_i386::copy_reloc): Rewrite to pass to Copy_relocs class. Change all callers. (Target_i386::do_finalize_sections): Change handling of copy_relocs_. * sparc.cc: Include "copy-relocs.h". (class Target_sparc): Change type of copy_relocs_ to variable, update initializer. (Target_sparc::copy_reloc): Rewrite to pass to Copy_relocs class. Change all callers. (Target_sparc::do_finalize_sections): Change handling of copy_relocs_. * x86_64.cc: Include "copy-relocs.h". (class Target_x86_64): Change type of copy_relocs_ to variable, update initializer. (Target_x86_64::copy_reloc): Rewrite to pass to Copy_relocs class. Change all callers. (Target_x86_64::do_finalize_sections): Change handling of copy_relocs_. * Makefile.am (CCFILES): Add copy-relocs.cc. (HFILES): Add copy-relocs.h.
* * Makefile.in, aclocal.m4, testsuite/Makefile.in: Rebuild.Ian Lance Taylor2008-04-161-11/+5
|
* * script-sections.cc (Script_sections::create_segments): UseIan Lance Taylor2008-04-151-5/+11
| | | | | | | | | | | | | header_size_adjustment even when there is enough room for the headers. * testsuite/script_test_4.sh: New file. * testsuite/script_test_4.t: New file. * testsuite/Makefile.am (check_SCRIPTS): Add script_test_4.sh. (check_DATA): Add script_test_4.stdout. (MOSTLYCLEANFILES): Likewise. (script_test_4): New target. (script_test_4.stdout): New target. * testsuite/Makefile.in: Rebuild.
* toplevel/David S. Miller2008-04-151-4/+6
| | | | | | | | | | | | | | | | | | | | * 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-11 Cary Coutant <ccoutant@google.com>Cary Coutant2008-04-111-9/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* * testsuite/Makefile.am (justsyms_2r.o): Add dependency onIan Lance Taylor2008-04-111-2/+9
| | | | | | | | | 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.
* * configure.ac: Export new conditional variable HAVE_ZLIB.Ian Lance Taylor2008-04-081-0/+2
| | | | | | | * 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.
* * configure.ac: Don't test for objdump, c++filt, or readelf.Ian Lance Taylor2008-04-071-4/+0
| | | | | | | | | | | | | | | | | | | | * 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.
* * compressed_output.h (class Output_compressed_section): UseIan Lance Taylor2008-04-031-1/+1
| | | | | | | | | | | | | | 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.
* * layout.cc (Layout::layout): If we see an input section with aIan Lance Taylor2008-03-281-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* * symtab.cc (Symbol_table::add_from_relobj): Don't set the versionIan Lance Taylor2008-03-271-2/+2
| | | | | | | | | | | | | 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.
* Don't get confused about whether a symbol is the default version if weIan Lance Taylor2008-03-141-0/+2
| | | | see a later reference to it. Add tests for this case.
* Add support for --format binary for input files.Ian Lance Taylor2008-02-081-1/+4
|
* Fix group signature handling for relocatable link, add bootstrapIan Lance Taylor2008-02-061-4/+44
| | | | relocatable test.
* From Ollie Wild: add missing backquote to install-exec-local.Ian Lance Taylor2008-02-051-1/+1
|
* Add explicit dependencies on yyscript.h to make sure that it isIan Lance Taylor2008-01-231-0/+2
| | | | built.
* Parse a SECTIONS clause in a linker script.Ian Lance Taylor2008-01-231-5/+10
|
* From Andrew Chatham and Craig Silverstein: Add support for versionIan Lance Taylor2008-01-151-0/+2
| | | | scripts.
* Support assignments and expressions in linker scripts.Ian Lance Taylor2008-01-091-7/+9
|
* Rewrite workqueue. This version eliminates the master thread, andIan Lance Taylor2007-12-141-0/+1
| | | | reduces the amount of locking required to find a new thread to run.
* Compile shared library code with -fPIC. Also, alphabetize.Ian Lance Taylor2007-12-011-2/+2
|
* From Craig Silverstein: Add support for compressing .debug_str section.Ian Lance Taylor2007-11-301-1/+6
|
* Add threading support.Ian Lance Taylor2007-11-221-3/+7
|
* From Craig Silverstein: Add first version of generating error messagesIan Lance Taylor2007-11-021-8/+11
| | | | with file name and line number.
* Use AC_GNU_SOURCE.Ian Lance Taylor2007-10-241-1/+1
|
* Add infrastructure for threading support.Ian Lance Taylor2007-10-171-2/+6
|
* Run all error handling through an Errors object. Delete output fileIan Lance Taylor2007-10-141-6/+10
| | | | on error.
* Only run static TLS tests on glibc 2.4 or later.Ian Lance Taylor2007-10-141-0/+2
|
* From Craig Silverstein: add tls.h, use it in i386.cc.Ian Lance Taylor2007-10-081-0/+1
|
* Add --version option.Ian Lance Taylor2007-10-071-1/+3
|
* Add a TLS test case.Ian Lance Taylor2007-10-071-0/+2
|
* Full support for --sysroot.Ian Lance Taylor2007-10-041-5/+8
|
* From Craig Silverstein: don't run function pointer non-PIC tests whenIan Lance Taylor2007-10-021-0/+2
| | | | they won't work.
* From Craig Silverstein: x86_64 support.Ian Lance Taylor2007-10-011-2/+3
|
* Clean up target handling--only build required files, warn aboutIan Lance Taylor2007-09-301-18/+24
| | | | unsupported targets.
* Add basic exception frame header, plus test.Ian Lance Taylor2007-09-261-7/+10
|
* Rework File_read interface. Get file size. Use pread whenIan Lance Taylor2007-09-251-6/+8
| | | | available.
* Change YFLAGS to AM_YFLAGS.Ian Lance Taylor2007-09-221-1/+1
|
* Add bootstrap test.Ian Lance Taylor2007-09-221-23/+156
|
* Add global parameters.Ian Lance Taylor2007-09-211-3/+6
|
* Add support for SHF_MERGE sections.Ian Lance Taylor2007-05-161-4/+8
|
* Added a testsuite. More support for COPY relocations.Ian Lance Taylor2006-11-301-33/+58
|