Lines Matching refs:cc

5 	* aarch64.cc (Reloc_stub::stub_type_for_reloc): Return PC-relative
11 * aarch64.cc (Target_aarch64::Relocate::relocate): Don't apply
19 * aarch64.cc (Target_aarch64::Scan::local): Add support for
24 * version.cc (print_version): Just print current year.
25 * dwp.cc (print_version): Likewise.
35 * powerpc.cc (Global_symbol_visitor_opd::operator()): Set default
44 * object.cc (write_local_symbols): avoid std::vector copy.
48 * merge.cc (get_output_offset): Use upper_bound instead of lower_bound.
52 * gdb-index.cc (Gdb_index_info_reader::visit_top_die): Recognize
58 * incremental.cc: Remove redundant include of "output.h".
63 * arm.cc (Target_arm::make_plt_section): Create an ARM
80 * merge.cc (do_add_input_section): Combine loop epilogue into main loop
85 * x86_64.cc (Target_x86_64::Relocate::relocate_tls): Check for
90 * x86_64.cc (Target_x86_64::Scan::global): Allow IE-to-LE optimization
97 * output.cc (Output_segment::set_section_addresses): Fix calculation
102 * mips.cc (reloc_high): Add r_sym.
113 * layout.cc (Layout::set_segment_offsets): Don't align start of segment
122 * x86_64.cc (cmp_insn_32): New.
146 * x86_64.cc (Target_x86_64<size>::Relocate::tls_ie_to_le): Handle
151 * arm.cc (Target_arm::do_adjust_elf_header): Provide namespace on
157 * arm.cc (Target_arm::do_adjust_elf_header): Set e_flags in ELF header
166 * testsuite/debug_msg.cc (SometimesInlineFunction): Changed
171 * mapfile.cc (Mapfile::print_input_section): Print uncompressed sizes.
186 * layout.cc (Layout::finish_dynamic_section): When '-z global'
193 * layout.cc (Layout::layout_gnu_stack): Don't warn when -z execstack
200 * layout.cc (gdb_sections): Keep .debug_gdb_scripts and
207 * binary.cc (Binary_to_elf::sized_convert): Add size to _start symbol.
214 * object.cc (Sized_relobj_file): Initialize is_deferred_layout_.
223 * x86_64.cc (Output_data_plt_x86_64_standard<size>::do_fill_plt_entry):
228 * resolve.cc disable the warning of a hidden symbol matches a
239 * arm.cc (Reloc_stub::stub_type_for_reloc): Plumb to stub
245 * aarch64.cc (Erratum_stub::STUB_ADDR_ALIGN): Move initialization
253 * aarch64.cc (AArch64_insn_utilities::is_adr): New method.
266 * arm.cc (Target_arm::do_adjust_elf_header): Set flags into view.
272 * aarch64.cc (AArch64_relobj::scan_errata): Drop missing symbol warning.
273 * arm.cc (Arm_relobj::scan_section_for_cortex_a8_erratum): Drop missing
280 * aarch64.cc (Target_aarch64::scan_erratum_843419_span): Use
288 * aarch64.cc (AArch64_relobj::do_count_local_symbols): Make legal
295 * aarch64.cc (Erratum_stub::Insn_utilities): New typedef.
304 * aarch64.cc (AArch64_insn_utilities::BYTES_PER_INSN): Move
335 * aarch64.cc(global enum): New constants representing stub types.
383 * aarch64.cc (AArch64_relobj::do_count_local_symbols): Use renamed
389 * aarch64.cc (AArch64_insn_utilities): New utility class.
409 * arm.cc: Add V8 arch combine table.
415 * script.cc (script_include_directive): Add first_token parameter, and
436 * stringpool.cc (Stringpool_template): Don't optimize if section
441 * x86_64.cc (Target_x86_64<size>::Scan::global): Don't make PLT
448 * plugin.cc: use lock to searialize calls of Plugin_manager::claim_file
458 * aarch64.cc (Target_aarch64::do_can_check_for_function_pointers): New
508 * testsuite/icf_safe_so_test.cc: Correct test comment.
513 * powerpc.cc (do_relax): Add gcc-4.9 libgomp functions to
522 * aarch64.cc (AArch64_relocate_functions::maybe_apply_stub):
530 * aarch64.cc (class Reloc_stub): New class.
555 * resolve.cc (Symbol_table::resolve): Fix local shadowing error.
560 * layout.cc (Layout::create_dynamic_symtab): Build gnu-style
570 * object.cc (Sized_relobj_file): Compute value of section symbols
576 * resolve.cc (Symbol_table::resolve): Override common placeholder
578 * symtab.cc (Symbol_table::add_from_object): Don't add placeholder
589 * gold.cc (queue_final_tasks): Add Write_sections_task as a blocker
591 * layout.cc (Write_sections_task::locks): Unblock
608 * plugin.cc (Sized_pluginobj::do_add_symbols): Ignore isym->size.
609 * resolve.cc (Symbol_table::resolve): Don't override common symbols
617 * aarch64.cc (Target_aarch64): Add data members
691 * mips.cc (Target_mips_nacl): New class.
705 * dwp.cc (Sized_relobj_dwo::do_section_name): Add const attribute.
707 * incremental.cc (Sized_relobj_incr::do_section_name): Likewise.
714 * plugin.cc (Sized_pluginobj::do_section_name): Likewise.
720 * ehframe.cc (Fde::write): Add output_offset parameter.
727 * output.cc (Output_section::Input_section_sort_entry): Remove
742 * aarch64-reloc-property.cc
747 * aarch64.cc: (Output_data_got_aarch64::add_static_reloc):
771 (TARGETSOURCES): Add aarch64-reloc-property.cc.
774 * aarch64-reloc-property.cc: New file.
777 * aarch64.cc: Include aarch64-reloc-property.h. Replace spaces
815 * symtab.cc (Symbol_table::add_from_relobj): Warn on __gnu_lto_slim.
819 * object.cc (Relobj::is_section_name_included): Add
824 * expression.cc (struct Expression::Expression_eval_info): Add
830 * script.cc (Symbol_assignment::sized_finalize): Update type,
845 * dynobj.cc (Sized_dynobj::do_read_symbols): Move body to...
848 * object.cc (Sized_relobj_file::do_read_symbols): Move body to...
850 * arm.cc (Arm_relobj::do_read_symbols): Call base_read_symbols.
851 * mips.cc: (Mips_relobj::do_read_symbols): Likewise.
852 * powerpc.cc (Powerpc_dynobj::do_read_symbols): Likewise.
860 * aarch64.cc: New file
861 * Makefile.am (TARGETSOURCES): Add aarch64.cc
870 * symtab.cc (Symbol::should_add_dynsym_entry): Don't make inline.
874 * dwp.cc (Dwo_file::read): Allow files with no .debug_types
880 * mips.cc: New file.
881 * Makefile.am (TARGETSOURCES): Add mips.cc
890 * dwarf_reader.cc (Dwarf_pubnames_table::read_header): Check that
896 * layout.cc (Layout::print_to_mapfile): Print unattached sections in
901 * powerpc.cc (relocate): Treat field of cmpli insn as a bitfield.
906 * dwarf_reader.cc (Dwarf_pubnames_table::read_section): Likewise.
908 * layout.cc (gdb_fast_lookup_sections): Add .debug_gnu_pubnames and
918 * powerpc.cc (addis_12_2): Define.
928 * powerpc.cc (Target_powerpc::local_reloc_may_be_function_pointer):
941 * x86_64.cc (Target_x86_64::Relocate::relocate): Use signed int
946 * powerpc.cc (do_plt_fde_location): Handle zero length .glink.
953 * x86_64.cc (Target_x86_64<size>::Scan::global): Add check for no
957 * i386.cc: Ditto.
958 * arm.cc: Ditto.
959 * sparc.cc: Ditto.
960 * tilegx.cc: Ditto.
961 * powerpc.cc: Add check for no position independence before
963 * testsuite/pie_copyrelocs_test.cc: New file.
964 * testsuite/pie_copyrelocs_shared_test.cc: New file.
970 * output.cc (Sized_relobj_file::do_layout): Fix typo in info message.
975 * i386.cc (Output_data_got_plt_i386): New class.
983 * x86_64.cc (Output_data_got_plt_x86_64): New class.
997 * gdb-index.cc (Gdb_index_info_reader): Don't complain about language
1002 * defstd.cc (in_segment): Define __ehdr_start here...
1003 * layout.cc (Layout::finalize): ...Instead of here. Set the
1005 * resolve.cc (Symbol::override_base_with_special): Remember
1007 * symtab.cc (Symbol::set_output_segment): New function.
1023 * testsuite/ehdr_start_def.cc: New source file.
1024 * testsuite/ehdr_start_test.cc: New source file.
1031 * x86_64.cc (Target_x86_64::Relocate::relocate): Add missing break.
1035 * layout.cc (Layout::include_section): Allow a target to decide
1042 * copy-relocs.cc (Copy_relocs::Copy_reloc_entry::emit): Remove and
1051 * icf.cc (get_section_contents): Replace copies of reloc
1074 * symtab.cc (Sized_symbol<32>::init_output_data):
1080 * symtab.cc (Symbol_table::sized_write_globals): Allow a target to
1087 * output.cc (Output_data_dynamic::Dynamic_entry::write):
1098 * symtab.cc (Symbol_table::set_dynsym_indexes): Allow a target to set
1107 * powerpc.cc (Powerpc_relocate_functions::Overflow_check): Add
1123 * powerpc.cc (Target_powerpc::Scan::local, global): Support
1129 * dwp.cc (print_version): Update copyright year to current.
1139 * archive.cc (Library_base::should_include_member): Reorder
1143 * testsuite/weak_undef_file3.cc: New file.
1144 * testsuite/weak_undef_file4.cc: New file.
1145 * testsuite/weak_undef_test_2.cc: New file.
1152 * errors.cc (Errors::undefined_symbol): Move undef vtable symbol
1163 * options.cc (General_options::parse_dynamic_list):
1174 * symtab.cc (Symbol_table::add_from_relobj): If symbol is named
1180 * testsuite/dynamic_list_2.cc: New file.
1182 * testsuite/dynamic_list_lib1.cc: New file.
1183 * testsuite/dynamic_list_lib2.cc: New file.
1192 * gold/dwarf_reader.cc: include <utility> (for make_pair).
1208 * gold/gdb-index.cc (gdb_index_version): Update to version 7.
1221 * version.cc (print_version): Update copyright year to 2014.
1225 * stringpool.cc (Stringpool_template::reserve): Add
1227 * stringpool.cc (Stringpool_template::print_stats): Likewise.
1256 * x86_64.cc (Target_x86_64<size>::Scan::get_reference_flags):
1279 * powerpc.cc (Target_powerpc::glink_section): Provide non-const
1320 * ehframe.cc (Eh_frame_hdr::Eh_frame_hdr): Initialize lock_.
1328 * dwp.cc (Dwo_file_entry): New type.
1344 * ehframe.cc (Eh_frame_hdr::Eh_frame_hdr): Initialize lock_.
1353 * object.cc (Sized_relobj_file::do_layout): Handle .eh_frame sections
1360 * powerpc.cc (needs_dynamic_reloc, use_plt_offset): Delete.
1372 * dwarf_reader.cc (Dwarf_info_reader::visit_type_unit): Add
1375 * dwp.cc: Include dwarf.h.
1439 * gdb-index.cc (Gdb_index_info_reader::visit_type_unit): Adjust
1449 * x86_64.cc (Output_data_plt_x86_64_nacl::first_plt_entry):
1454 * powerpc.cc (Powerpc_relobj::abiversion, set_abiversion,
1494 * powerpc.cc (Target_powerpc::Scan::check_non_pic): Handle new relocs.
1503 * powerpc.cc (Output_data_got_powerpc): Override all Output_data_got
1508 * powerpc.cc (Output_data_got_powerpc): Remove unused methods
1520 * target.cc (Sized_target::do_adjust_elf_header): Update definition.
1521 * sparc.cc (Target_sparc::do_adjust_elf_header): Likewise.
1524 * output.cc (Output_file_header::Output_file_header): Update prototype.
1528 * testsuite/undef_symbol.cc (Foo::get_a): New method.
1533 * testsuite/merge_string_literals_1.c: Renamed to have .cc suffix.
1541 * i386.cc (Target_i386): Remove unused member dynbss_.
1542 * arm.cc (Target_arm): Likewise.
1543 * powerpc.cc (Target_powerpc): Likewise.
1544 * sparc.cc (Target_sparc): Likewise.
1545 * tilegx.cc (Target_tilegx): Likewise.
1546 * x86_64.cc (Target_x86_64): Likewise.
1556 * archive.cc (Lib_group::Lib_group): Update initializer.
1565 * gold-threads.cc (Once::Once): Likewise conditionalize initializer.
1582 * x86_64.cc (Target_x86_64<size>::Scan::global): Use relative
1587 * output.cc (Output_segment::set_section_addresses): Take new
1596 * layout.cc (Layout::Layout): Update constructor.
1614 * i386.cc (Target_i386_nacl::do_code_fill): New virtual function.
1615 * x86_64.cc (Target_x86_64_nacl::do_code_fill): New virtual function.
1624 * dwarf_reader.cc (Dwarf_info_reader::visit_type_unit): Add
1627 * dwp.cc: Include dwarf.h.
1691 * gdb-index.cc (Gdb_index_info_reader::visit_type_unit): Adjust
1696 * object.cc (Sized_relobj::do_output_section_address): New function.
1701 * powerpc.cc (Target_powerpc::symval_for_branch): Use it.
1706 * parameters.cc (Parameters::entry): Return target-specific entry
1711 * arm.cc (Target_arm::arm_info): Add entry_symbol_name.
1712 * i386.cc (Target_i386::i386_info): Likewise.
1714 * sparc.cc (Target_sparc::sparc_info): Likewise.
1715 * tilegx.cc (Target_tilegx::tilegx_info): Likewise.
1716 * x86_64.cc: (Target_x86_64::x86_64_info) Likewise.
1718 * testsuite/testfile.cc (Target_test::test_target_info): Likewise.
1722 * dwarf_reader.cc (Dwarf_pubnames_table::read_section):
1739 * gdb_index.cc (Gdb_index_info_reader::read_pubnames_and_pubtypes):
1767 * parameters.cc (Parameters::check_rodata_segment): New function.
1770 * layout.cc (load_seg_unusable_for_headers): New function, broken
1786 * powerpc.cc (Target_powerpc::write_branch_lookup_table): Use
1791 * powerpc.cc (Target_powerpc::Relocate::relocate): Update self-call
1796 * dwarf_reader.cc (Dwarf_ranges_table::read_ranges_table): Save
1808 * powerpc.cc (Output_data_brlt_powerpc::reset_brlt_sizes): New
1815 * powerpc.cc (Target_powerpc::symval_for_branch): Don't assert
1820 * powerpc.cc (Target_powerpc::do_gc_add_reference): Test dst_shndx
1827 * resolve.cc (Symbol::override_base): Don't override st_type
1835 * testsuite/two_file_test_2_tls.cc: New test source.
1836 * testsuite/two_file_test_tls.cc: New test source.
1840 * layout.cc (Layout::set_segment_offsets): Taking care of the case when
1845 * testsuite/large_symbol_alignment.cc: New file.
1854 * output.cc (Output_section::Input_section_sort_section_name_compare::
1858 * layout.cc (Layout::make_output_section):
1863 * testsuite/section_sorting_name.cc: New file.
1872 * testsuite/missing_key_func.cc: New test source.
1877 * object.cc (Sized_relobj_file::get_symbol_location_info): Set
1898 * options.cc (finalize): --rosegment-gap implies --rosegment.
1899 * layout.cc (set_segment_offsets): Let user option override
1910 * layout.cc (Layout::finalize): Make __ehdr_start STV_HIDDEN.
1914 * merge.cc (Output_merge_string::do_add_input_section): Correct
1920 * merge.cc (Output_merge_string<Char_type>::do_add_input_section):
1925 * stringpool.cc (Stringpool_template::new_key_offset): Fix
1930 * output.cc (Output_section::add_merge_input_section): Allow
1934 * merge.cc (Output_merge_string<Char_type>::do_add_input_section): Count
1940 * stringpool.cc (Stringpool_template<Stringpool_char>::new_key_offset):
1955 * arm.cc (Target_arm:Relocate::relocate): Check for a NULL view.
1956 * i386.cc (Target_i386::Relocate::relocate): Likewise.
1957 * powerpc.cc (Target_powerpc::Relocate::relocate): Likewise.
1958 * sparc.cc (Target_sparc::Relocate::relocate): Likewise.
1959 * tilegx.cc (Target_tilegx::Relocate::relocate): Likewise.
1960 * x86_64.cc (Target_x86_64::Relocate::relocate): Likewise.
1964 * gold.cc (queue_final_tasks): invoke layout->queue_build_id_tasks().
1965 * layout.cc (Hash_task): New class.
1987 * layout.cc (Layout::segment_precedes): Allow more than one
1992 * layout.cc (Layout::set_relocatable_section_offsets): Don't
1997 * script-sections.cc (Orphan_output_section): Reset address
2002 * symtab.cc (Symbol_table::sized_write_globals): Subtract
2011 * powerpc.cc (Stub_control::can_add_to_stub_group): Don't set
2021 * powerpc.cc (Target_powerpc::make_brlt_section): Name section
2027 * object.cc (do_layout_deferred_sections): Handle .eh_frame
2032 * archive.cc (Archive::get_elf_object_for_member): Create the elf
2039 * layout.cc (Layout::set_segment_offsets): Accept writable .text
2044 * dwp.cc (Dwp_output_file::add_contribution): Avoid signed/unsigned
2046 * layout.cc (Layout::create_dynamic_symtab): Avoid "may be used
2052 * symtab.cc (Symbol_table::set_dynsym_indexes): Don't set object
2058 * powerpc.cc (Target_powerpc::Scan::reloc_needs_plt_for_ifunc): Make
2075 * icf.cc (get_section_contents): Do so here instead.
2079 * powerpc.cc (is_branch_reloc): Forward declare.
2105 * gold.cc (queue_middle_tasks): Move detect_odr_violations..
2106 * layout.cc (Layout_task_runner::run): ..to here.
2109 * symtab.cc (Symbol_table::linenos_from_loc): Invoke function_location.
2115 * object.cc: Likewise. Update to suit. Instantiate.
2117 * powerpc.cc (class Powerpc_dynobj): New.
2125 * options.cc (General_options::string_to_object_format): Accept
2133 * ehframe.cc (struct Post_fde): ..from here.
2155 * powerpc.cc (class Powerpc_relobj): Move some member functions.
2170 * dwarf_reader.cc (Dwarf_info_reader::visit_type_unit): Add
2173 * dwp.cc: Include dwarf.h.
2237 * gdb-index.cc (Gdb_index_info_reader::visit_type_unit): Adjust
2242 * dwarf_reader.cc (Dwarf_info_reader::check_buffer): Move
2247 (Dwarf_info_reader::check_buffer): Move here from .cc file.
2252 * target.cc (Target::do_plt_fde_location): New function.
2257 * ehframe.cc (Fde::write): Use plt_fde_location.
2264 * powerpc.cc (Target_powerpc::do_plt_fde_location): New function.
2284 * powerpc.cc (Stub_table::plt_off): New function, extracted from..
2290 * descriptors.cc (Descriptors::close_all): New function.
2293 * plugin.cc: Include "descriptors.h".
2302 * dwp.cc (File_list): New typedef.
2316 * layout.cc (Layout::layout): Check for option text_reorder.
2319 * output.cc (Input_section_sort_compare): Remove special ordering
2340 * layout.cc (Layout::finish_dynamic_section): Only add DT_RPATH
2346 * powerpc.cc (Stub_table::find_plt_call_entry): Make types
2352 * testsuite/plugin_final_layout.cc: Fix comment.
2356 * layout.cc (Layout::layout): Do not do default sorting for
2359 * testsuite/plugin_final_layout.cc: Name the function sections
2364 * powerpc.cc (Target_powerpc::do_relax): Default shared libs to
2383 * plugin.cc: Handle non-dlfcn case.
2392 * script-sections.cc
2405 * arm.cc (Target_arm::attributes_accept_div): New function.
2414 * output.cc (Output_section::add_input_section): For incremental
2445 * version.cc (print_version): Update copyright year to 2013.
2449 * layout.cc (Layout::special_ordering_of_input_section): New
2458 * output.cc (Output_section::add_input_section): Revert last
2470 * layout.cc (Layout::is_section_name_prefix_grouped): New function.
2472 * output.cc (Output_section::add_input_section): Check if section
2481 * testsuite/text_section_grouping.cc: New file.
2503 * dwp.cc (Dwp_output_file::add_cu_set): Check for duplicate CUs.
2508 * powerpc.cc (class Track_tls): New.
2520 * powerpc.cc (Powerpc_relobj::has_small_toc_reloc_,
2530 * testsuite/binary_unittest.cc (read_all): New function.
2532 * fileread.cc (do_read): Don't assume pread always reads the whole
2537 * powerpc.cc (Target_selector_powerpc::Target_selector_powerpc):
2543 * powerpc.cc (Powerpc_relobj::Powerpc_relobj): Init has14_ and
2549 * testsuite/binary_unittest.cc (Sized_binary_test):
2554 * powerpc.cc (Stub_table::do_write): Delete redundant Address
2571 * powerpc.cc (ok_lo_toc_insn): New function.
2578 * powerpc.cc (Target_powerpc::plt_thread_safe): New access function
2600 * powerpc.cc (Powerpc_relobj::do_scan_relocs): Delete.
2610 * layout.cc (Layout::get_executable_sections): New function.
2611 * arm.cc (Target_arm::group_sections): Use it.
2613 * output.cc (Output_reloc::Output_reloc): Add is_relative.
2624 * powerpc.cc (class Output_data_brlt_powerpc): New.
2655 * powerpc.cc (Target_powerpc::make_plt_section): Add symtab
2661 * powerpc.cc (Powerpc_relobj::do_scan_relocs): Make STB_LOCAL
2669 * x86_64.cc (Relocate::tls_ld_to_le): Support x32.
2673 * arm.cc (Output_data_plt_arm_nacl::first_plt_entry): Use bic rather
2687 * powerpc.cc (Powerpc_relobj): Delete "Offset" typedef.
2697 * i386.cc (Target_i386::relocate_relocs): Remove extraneous typename
2705 * arm.cc (Target_arm::relocate_relocs): Likewise.
2707 * i386.cc (Target_i386::relocate_relocs): Likewise.
2708 * powerpc.cc (Target_powerpc::relocate_relocs): Likewise.
2709 * sparc.cc (Target_sparc::relocate_relocs): Likewise.
2711 * testsuite/testfile.cc (Target_test): Likewise.
2712 * tilegx.cc (Target_tilegx::relocate_relocs): Likewise.
2713 * x86_64.cc (Target_x86_64::relocate_relocs): Likewise.
2718 * descriptors.cc (set_close_on_exec): Add ATTRIBUTE_UNUSED to the
2721 * dwarf_reader.cc (Sized_elf_reloc_mapper::symbol_section): Cast
2723 * output.cc (Output_symtab_xindex::endian_do_write): Likewise.
2724 * incremental.cc (Output_section_incremental_inputs::do_write):
2727 * nacl.cc: Include "libiberty.h" for vasprintf declaration.
2731 * gold.cc (Target_arm::do_adjust_elf_header): Add the
2737 * dwp.cc (usage): Add file and exit status parameters;
2763 * dwp.cc (Dwo_file::record_target_info): Issue a fatal error
2768 * dwp.cc (Dwo_file::remap_str_offset): Use section_offset_type
2776 * testsuite/dwp_test_1.cc: New source file.
2779 * testsuite/dwp_test_1b.cc: New source file.
2781 * testsuite/dwp_test_2.cc: New source file.
2784 * testsuite/dwp_test_main.cc: New source file.
2790 * dwp.cc: New source file.
2798 * dwarf_reader.cc (Dwarf_ranges_table::read_range_list): Call
2808 * gdb-index.cc (Gdb_index_info_reader): Adjust call to
2813 * dwarf_reader.cc (Dwarf_info_reader::do_parse): Use stored
2822 * dwarf_reader.cc (make_elf_reloc_mapper): Check size and endianness
2832 * fileread.cc (Input_file::Input_file): New constructor.
2838 * object.cc (Relobj::is_section_name_included): Also match
2847 * arm.cc (Target_arm::relocate_section): Adjust to suit.
2849 * i386.cc (Target_i386::relocate_section): Likewise.
2850 * sparc.cc (Target_sparc::relocate_section): Likewise.
2851 * tilegx.cc (Target_tilegx::relocate_section): Likewise.
2852 * x86_64.cc (Target_x86_64::relocate_section): Likewise.
2853 * powerpc.cc (class Relocate_comdat_behavior): New.
2859 * powerpc.cc (Target_powerpc::Scan::local, global): Always emit
2869 * gold.cc (queue_middle_tasks): Call gc_mark_symbol on _init and _fini.
2873 * layout.cc (Layout::include_section): Keep sections marked
2878 * powerpc.cc (Target_powerpc::define_save_restore_funcs): New func.
2886 * powerpc.cc (Powerpc_relobj::add_gc_mark, process_gc_mark): New.
2894 * powerpc.cc (Output_data_plt_powerpc::add_entry, add_ifunc_entry,
2900 * powerpc.cc (Target_powerpc::do_plt_address_for_local,
2929 * i386.cc (Output_data_plt_i386::address_for_global,
2931 * sparc.cc (Output_data_plt_sparc::address_for_global,
2933 * tilegx.cc (Output_data_plt_tilegx::address_for_global,
2935 * x86_64.cc (Output_data_plt_x86_64::address_for_global,
2939 * output.cc (Output_reloc::symbol_value): Don't add plt offset here.
2945 * tilegx.cc (Target_tilegx::do_finalize_sections): Adjust
2951 * powerpc.cc (Target_powerpc::iplt_): New output section.
2975 * object.cc (Sized_relobj_file::do_count_local_symbols): Use the above.
2976 * powerpc.cc (Powerpc_relobj::do_adjust_local_symbol): New function.
2986 * tilegx.cc: New file.
2987 * Makefile.am (TARGETSOURCES): Add tilegx.cc
3001 * arm.cc, * i386.cc, * sparc.cc, * x86_64.cc (Target_*::Scan::local):
3017 * output.cc: Rename Output_data_got template parameter from size
3030 * layout.cc (Layout::set_segment_offsets): When using
3033 * output.cc (Output_segment::set_section_addresses): Use
3046 * output.cc (Output_data_got::add_global_tls, add_local_tls,
3055 * arm.cc (Target_arm::Scan::local): Update add_local_pair_with_rel
3057 * i386.cc (Target_i386::Scan::local): Likewise.
3058 * sparc.cc (Target_sparc::Scan::local): Likewise.
3059 * x86_64.cc (Target_x86_64::Scan::local): Likewise.
3060 * powerpc.cc (Target_powerpc::do_tls_offset_for_local,
3073 * gdb-index.cc (Gdb_index::pubnames_read): New parameter.
3085 * gold.cc (queue_middle_tasks): Use gc_mark_symbol on start sym.
3086 * symtab.cc (Symbol_table::gc_mark_undef_symbols): Use gc_mark_symbol.
3089 * powerpc.cc (Powerpc_relobj::get_opd_ent): Rearrange parameters
3101 * dwarf_reader.cc (Dwarf_die::read_attributes): Add
3104 * object.cc (Read_symbols_data::~Read_symbols_data): Update comment.
3105 * testsuite/gdb_index_test.cc (inline_func_1): New function.
3117 * powerpc.cc (Powerpc_relocate_functions): Upcase enum values,
3141 * powerpc.cc (Powerpc_relobj::get_opd_ent): Make const.
3155 * reloc.cc (Sized_relobj_file::do_relocate_sections): Call target
3161 * output.cc (Output_segment::first_section): New function extracted..
3165 * arm.cc (Target_arm::relocate_for_relocatable): Likewise, and
3167 * i386.cc (Target_i386): Likewise.
3168 * sparc.cc (Target_sparc): Likewise.
3169 * x86_64.cc (Target_x86_64): Likewise.
3170 * powerpc.cc (Target_powerpc): Likewise.
3177 * testsuite/testfile.cc (Target_test::relocate_for_relocatable):
3182 * powerpc.cc (do_make_elf_object): Allow ET_EXEC files with
3187 * powerpc.cc (Powerpc_relobj): Add and use Address typedef.
3227 * layout.cc (Layout::set_segment_offsets): Set p_align to
3237 * output.cc (Output_reloc::Output_reloc <output section>): Handle
3243 * gold.cc (queue_middle_tasks): Call layout again when unique
3245 * layout.cc (Layout::Layout): Initialize new members.
3261 * object.cc (Sized_relobj_file<size, big_endian>::do_layout):
3267 * output.cc (Output_section::Output_section): Initialize new
3282 * plugin.cc (allow_unique_segment_for_sections): New function.
3298 * layout.cc (Layout::include_section): Don't assert on GROUP
3303 * symtab.cc (Symbol_table::gc_mark_undef_symbols): Don't assert
3308 * powerpc.cc: Formatting and white space.
3335 * x86_64.cc (Target_x86_64::Scan::global): Fix erroneous call to
3341 * script-sections.cc (Sections_element::output_section_name): Add
3347 * layout.cc (Layout::keep_input_section): New public member
3352 * object.cc (Sized_relobj_file::do_layout): Check for kept input
3364 * layout.cc (Layout::choose_output_section): Call the above.
3365 * powerpc.cc (Target_powerpc::do_output_section_name): New function.
3369 * powerpc.cc: Update for renamed R_PPC_REL16 relocs.
3379 * powerpc.cc (Powerpc_relobj::set_got2_shndx): Delete.
3394 * powerpc.cc: Whitespace fixes. Wrap overly long lines.
3402 * object.cc (Sized_relobj_file::find_shdr): New function.
3411 * output.cc (Output_data_got::replace_got_entry): New function.
3412 * powerpc.cc (class Powerpc_relobj): New.
3429 * layout.cc (Layout::add_target_dynamic_tags): If
3458 * gold.cc (queue_middle_tasks): Update function order only after
3463 * arm.cc (Arm_relocate_functions::abs16): Remove unused typedef.
3466 * common.cc (Symbol_table::do_allocate_commons_list): Likewise.
3467 * dwarf_reader.cc (Dwarf_die::skip_attributes): Likewise.
3468 * ehframe.cc (Eh_frame::do_add_ehframe_input_section): Likewise.
3469 * incremental.cc (Sized_incr_dynobj::do_add_symbols): Likewise.
3470 * powerpc.cc (Target_powerpc::relocate_tls): Likewise.
3484 * layout.cc (finalize): Define __ehdr_start symbol if applicable.
3488 * plugin.cc (Plugin::load): Handle position independent executables.
3492 * layout.cc (gdb_sections): Remove ".debug_" prefixes,
3512 * output.cc: (posix_fallocate): Remove; replace with...
3524 * dynobj.cc (Sized_dynobj::do_get_global_symbol_counts): Call
3529 * symtab.cc (Symbol_table::define_special_symbol):
3534 * layout.cc (Layout::section_name_mapping): Add rules to handle
3540 * layout.cc (Layout::section_name_mapping): Match .data.rel.ro.*
3545 * symtab.cc (Symbol::should_add_dynsym_entry): Check for relocatable
3550 * testsuite/tls_test.cc: Include "config.h" first.
3564 * layout.cc (Layout::make_output_section): Mark .tdata section
3566 * testsuite/relro_test.cc: Add a TLS variable.
3571 * x86_64.cc (Target_x86_64::Scan::local): For x32, generate
3577 * layout.cc (gdb_sections): Update GDB version, add .debug_addr.
3582 * nacl.cc: New file.
3586 * i386.cc (Output_data_plt_i386_nacl): New class.
3592 * x86_64.cc (Output_data_plt_x86_64_nacl): New class.
3597 * arm.cc (Output_data_plt_arm_nacl): New class.
3603 * target-select.cc (select_target): Take new Input_file* and off_t
3605 * object.cc (make_elf_sized_object): Update caller.
3606 * parameters.cc (parameters_force_valid_target): Likewise.
3607 * incremental.cc (make_sized_incremental_binary): Likewise.
3613 * powerpc.cc (Target_selector_powerpc::do_recognize): Likewise.
3614 * sparc.cc (Target_selector_sparc::do_recognize): Likewise.
3615 * testsuite/testfile.cc (Target_selector::do_recognize): Likewise.
3620 * arm.cc (Target_arm::arm_info): Update initializer.
3621 * i386.cc (Target_i386::i386_info): Likewise.
3622 * powerpc.cc (Target_powerpc::powerpc_info): Likewise.
3623 * sparc.cc (Target_sparc::sparc_info): Likewise.
3624 * x86_64.cc (Target_x86_64::x86_64_info): Likewise.
3625 * testsuite/testfile.cc (Target_test::test_target_info): Likewise.
3626 * layout.cc (Layout::attach_allocated_section_to_segment):
3641 * gold.cc (queue_middle_tasks): Update caller.
3644 * arm.cc (Target_arm::Target_arm): Take optional argument for the
3676 * x86_64.cc (Output_data_plt_x86_64::Output_data_plt_x86_64):
3726 * i386.cc (Output_data_plt_i386::Output_data_plt_i386): Take
3778 * dwarf_reader.cc (Dwarf_die::read_attributes)
3781 * reduced_debug_output.cc
3787 * dwarf_reader.cc (Dwarf_die::address_attribute): New function.
3789 * gdb-index.cc (Gdb_index_info_reader::record_cu_ranges): Handle
3799 * arm.cc (Target_arm::do_is_defined_by_abi): Make sym a const
3812 * sparc.cc (Target_sparc::Relocate::relax_call): New function.
3818 * incremental-dump.cc (find_input_containing_global): Replace
3821 * incremental.cc (Output_section_incremental_inputs): Update version
3841 * sparc.cc (class Target_sparc): Add elf_machine_, elf_flags_,
3849 * gdb-index.cc (Gdb_index::do_write): Use Swap_aligned32 for writing
3854 * target.cc (Sized_target::do_adjust_elf_header): Use big_endian
3859 * sparc.cc (Target_sparc::got_address): New function.
3870 * gdb-index.cc (Gdb_index::do_write): Use Swap_unaligned when
3877 * sparc.cc (class Target_sparc): Add rela_ifunc_.
3918 * output.cc (Output_reloc::Output_reloc): Add use_plt_offset flag for
3921 * powerpc.cc (Target_powerpc::Scan::global): Adjust add_global_relative
3923 * sparc.cc (Target_sparc::Scan::global): Likewise.
3924 * x86_64.cc (Target_x86_64::Scan::global): Likewise.
3928 * archive.cc (Library_base::should_include_member): Check for
3931 * symtab.cc (Symbol::should_add_dynsym_entry): Check for
3938 * sparc.cc (Reloc::wdisp10): New relocation method.
3949 * gdb-index.cc (Gdb_index_info_reader::record_cu_ranges): Allow
3954 * timer.cc: #include <unistd.h>.
3972 * Makefile.am: Add gdb-index.cc, gdb-index.h.
3974 * dwarf_reader.cc (Sized_elf_reloc_mapper::do_initialize): New function.
4027 * gdb-index.cc: New source file.
4029 * incremental.cc (Sized_relobj_incr::do_layout): Track .debug_info
4039 * layout.cc: Include gdb-index.h.
4046 * main.cc: Include gdb-index.h.
4048 * object.cc (Object::section_contents): Move code into
4066 * plugin.cc (Sized_pluginobj::do_section_contents): Adjust parameter
4075 * testsuite/gdb_index_test.cc: New test source file.
4081 * arm.cc (Target_arm::do_define_standard_symbols): New method.
4085 * gold.cc (queue_middle_tasks): Call target hook to define any
4103 * arm.cc (Target_arm::got_section): Make .got section read-only
4109 * layout.cc (Layout::make_output_section): Correctly mark
4114 * gold/arm.cc (Target_arm::Scan::global): Generate R_ARM_GLOB_DAT
4119 * resolve.cc (Symbol_table::resolve): When merging common symbols,
4124 * dwarf_reader.cc (Sized_dwarf_line_info::process_one_opcode): Fix
4129 * reduced_debug_output.cc
4135 * object.cc (need_decompressed_section): Add #ifdef ENABLE_THREADS.
4139 * dwarf_reader.cc (Sized_dwarf_line_info::Sized_dwarf_line_info):
4144 * merge.cc (Output_merge_data::do_add_input_section): Call
4147 * object.cc (need_decompressed_section): New function.
4167 * options.cc (General_options::finalize): Disallow -pie and -static.
4171 * arm.cc (Arm_relocate_functions::abs8,
4181 * arm.cc (Reloc_stub::stub_type_for_reloc): Use PIC stubs in all
4192 namespace utils in arm.cc.
4193 * arm.cc (namespace utils): Remove. Rewrite all uses to use Bits
4198 * incremental.cc (write_info_blocks): Correct relocation offset.
4202 * x86_64.cc (Relocate::tls_gd_to_ie): Support x32.
4207 * x86_64.cc (Scan::global): Support x32 IFUNC function pointer.
4216 * int_encoding.cc (read_unsigned_LEB_128): Replaced with inline
4227 * testsuite/leb128_unittest.cc: New unit test.
4232 * i386.cc (Target_i386::do_code_fill): When using a jmp
4234 * x86_64.cc (Target_x86_64::do_code_fill): Likewise.
4238 * x86_64.cc (gc_process_relocs): Add typename on types used in
4246 * x86_64.cc (Scan::check_non_pic): Allow R_X86_64_32 for x32.
4252 * x86_64.cc: Initial support for x32.
4256 * gold/incremental.cc (Sized_incremental_binary::do_process_got_plt):
4264 * gold/x86_64.cc (Target_x86_64::init_got_plt_for_update): Likewise.
4286 * object.cc (Sized_relobj_file::do_local_plt_offset): Rename from
4288 * output.cc (Output_data_got::Got_entry::write): Change object to
4316 changes listed in output.cc.
4322 * copy-relocs.cc (Copy_relocs::Copy_reloc_entry::emit): Call
4327 * dwarf_reader.cc (Sized_dwarf_line_info::read_lines): Add casts.
4328 * resolve.cc (Symbol_table::resolve): Likewise.
4329 * i386.cc (Target_i386::do_code_fill): Use char constants for nop
4331 * x86_64.cc (Target_x86_64::do_code_fill): Likewise.
4350 * script.cc (script_include_directive): Implement.
4354 * dirsearch.cc (Dirsearch::find_file_in_dir_list): Implement it.
4363 * arm.cc (Target_arm::do_make_elf_object): Allow executable also
4369 * arm.cc (Target_arm::Relocate::relocate_tls): Do unaligned accesses
4379 * arm.cc (Arm_scan_relocatable_relocs::Default_scan_relocatable_relocs):
4398 * options.cc (General_options::finalize): Use library search path
4409 * arm.cc (Target_arm::may_use_v5t_interworking): Check whether
4420 * arm.cc (Target_arm::Target_arm): Remove initialisation of
4446 * expression.cc (Expression::eval_with_dot): Add
4450 * script-sections.cc
4457 * script.cc (Symbol_assignment::set_if_absolute): Add dot_section
4471 * symtab.cc (Symbol_table::sized_write_globals): Convert
4477 * i386.cc (Target_i386::Relocate::relocate_tls): Remove
4479 * x86_64.cc (Target_x86_64::Relocate::relocate_tls): Likewise.
4485 * symtab.cc (Symbol_table::gc_mark_symbol_for_shlib): Rename to
4495 * script-sections.cc
4502 * layout.cc (Layout::segment_precedes): Don't assert failure if a
4509 * sparc.cc (Target_sparc::Relocate::reloc_adjust_addr_): New
4521 * output.cc (posix_fallocate): Return 0 on success, errno on failure.
4528 * plugin.cc (is_visible_from_outside): Check for symbols
4530 * resolve.cc (Symbol_table::resolve): Don't count references
4536 * gold.cc: Include timer.h.
4539 * main.cc (main): Store timer in parameters. Print timers
4541 * parameters.cc (Parameters::Parameters): Initialize timer_.
4548 * timer.cc (Timer::stamp): New function.
4556 * readsyms.cc (Read_symbols::run): Don't queue an unblocker
4562 * fileread.cc (File_read::find_view): Add assert.
4568 * output.cc (Output_file::open_base_file): Handle case where
4573 * incremental.cc (Sized_relobj_incr::Sized_relobj_incr):
4583 * plugin.cc (Sized_pluginobj::do_get_global_symbol_counts):
4589 * output.cc (Output_reloc::Output_reloc): Add use_plt_offset flag.
4597 * x86_64.cc (Target_x86_64::Scan::local): Check for IFUNC when
4607 * options.cc (parse_uint): Fix dereference of RETVAL.
4613 * output.cc (Output_section::add_input_section): Check for patterns
4615 * gold.cc (queue_middle_tasks): Delay updating order of sections till
4617 * layout.cc (Layout_Layout): Initialize section_order_map_.
4618 * plugin.cc (update_section_order): Store order in order_map. Do not
4623 * testsuite/plugin_final_layout.cc: New file.
4628 * incremental.cc (Sized_incremental_binary::do_process_got_plt):
4630 * symtab.cc (Symbol_table::add_from_relobj): Ignore version
4637 * symtab.cc (Symbol_table::define_special_symbol): Always
4642 * gold.cc (queue_initial_tasks): Move option checks ...
4643 * options.cc (General_options::finalize): ... to here. Disable
4649 * plugin.cc (get_symbols_v2): New function.
4679 * incremental.cc (can_incremental_update): Fix typo in comment.
4684 * incremental.cc (can_incremental_update): New function.
4686 * layout.cc (Layout::init_fixed_output_section): Call it.
4688 * object.cc (Sized_relobj_file::do_layout): Call
4706 * incremental.cc (Sized_relobj_incr::do_layout): Call
4710 * testsuite/incr_comdat_test_1.cc: New source file.
4711 * testsuite/incr_comdat_test_2_v1.cc: New source file.
4712 * testsuite/incr_comdat_test_2_v2.cc: New source file.
4713 * testsuite/incr_comdat_test_2_v3.cc: New source file.
4717 * object.cc (Sized_relobj_file::do_layout): Remove unused local
4722 * object.cc (Sized_relobj_file::do_layout): Remove assertion which
4727 * output.cc (Output_fill_debug_info::do_write): Use Swap_unaligned.
4732 * output.cc: (Output_fill_debug_info::do_minimum_hole_size): Add
4738 * layout.cc (Free_list::allocate): Provide guarantee of minimum
4746 * output.cc: Include dwarf.h.
4782 * layout.cc (Layout::set_segment_offsets): Don't realign text
4784 * object.cc (Sized_relobj_file::Sized_relobj_file): Store the ELF
4788 * symtab.cc (Symbol_table::add_from_relobj): Don't add section
4790 * target.cc (Target::do_make_elf_object_implementation): Allow
4798 * workqueue-threads.cc
4802 * workqueue.cc (Workqueue_threader_single::should_cancel_thread):
4812 * symtab.cc (Symbol_table::add_from_relobj): Mark symbol as referenced
4821 * target-select.cc: Include <cstdio>, "options.h", and
4828 * main.cc: Include "target-select.h".
4830 * gold.cc: Include "target-select.h".
4833 * parameters.cc (parameters_force_valid_target): Give a better
4840 * i386.cc (class Output_data_plt_i386): Add layout_ field.
4844 * x86_64.cc (class Output_data_plt_x86_64): Add layout_ field.
4853 * archive.cc (Archive::get_elf_object_for_member): Add extra parameter
4855 * layout.cc (Layout::Layout): Initialize section_ordering_specified_,
4861 * main.cc(main): Call load_plugins after layout object is defined.
4862 * output.cc (Output_section::add_input_section): Use
4865 * output.cc (Output_section::add_relaxed_input_section): Use
4872 * plugin.cc (get_section_count): New function.
4893 * readsyms.cc (Read_symbols::do_read_symbols): Call the claim_file
4906 * i386.cc (Target_i386::got_section): If -z now, make .got.plt a
4908 * x86_64.cc (Target_x86_64::got_section): Likewise.
4920 * i386.cc (Target_i386::Scan::global): For a GOT reloc, use a
4923 * x86_64.cc (Target_x86_64::Scan::global): Likewise.
4924 * testsuite/protected_1.cc (f2, get_f2_addr): New functions.
4925 * testsuite/protected_main_1.cc (main): Test that protected
4932 * options.cc (General_options::finalize): If -Bgroup is set,
4934 * layout.cc (Layout::finish_dynamic_section): Implement -Bgroup.
4941 * layout.cc (Layout::create_initial_dynamic_sections): Don't crash
4959 * testsuite/odr_violation2.cc (Ordering::operator()): Make
4968 * i386.cc (Target_i386::Relocate::relocate_tls): Don't crash if
4971 * x86_64.cc (Target_x86_64::relocate_tls): Likewise.
4976 * resolve.cc (Symbol_table::should_override): Add fromtype
4981 * i386.cc (Target_i386::Relocate::relocate_tls): Don't crash if
4983 * x86_64.cc (Target_x86_64::relocate_tls): Likewise.
4998 * output.cc (Output_data_got::Got_entry::write): Use
5000 * layout.cc (Layout::add_target_dynamic_tags): Use size and
5002 * i386.cc (class Output_data_plt_i386): Add irelative_rel_,
5038 * x86_64.cc (class Output_data_plt_x86_64): Add irelative_rel_,
5104 * gold/incremental.cc
5110 * incremental.cc (Sized_incremental_binary::do_file_has_changed):
5114 * options.cc (General_options::parse_incremental_startup_unchanged):
5124 * incremental.cc (Sized_incremental_binary::setup_readers): Pass
5134 * readsyms.cc (Read_member::is_runnable): Check for this_blocker_.
5141 * incremental.cc (Sized_incremental_binary::do_check_inputs): Add
5146 * incremental.cc (Incremental_inputs::report_command_line): Ignore
5148 * layout.cc (Free_list::allocate): Extend allocation beyond original
5152 * options.cc (parse_percent): New function.
5156 * output.cc (Output_section::Output_section): Initialize new data
5170 * parameters.cc (Parameters::incremental_full): New function.
5175 * testsuite/two_file_test_1_v1.cc (t1, t2, t3): Add comments.
5181 * arm.cc (Arm_relocate_functions::abs8): Use int32_t for addend and
5197 * i386.cc (Target_i386::do_finalize_sections): Define __rel_iplt
5199 * x86_64.cc (Target_x86_64::do_finalize_sections): Likewise.
5204 * resolve.cc (Symbol::override_base_with_special): Simply override
5209 * object.cc (Sized_relobj_file::include_section_group): Add
5216 * options.cc (General_options::finalize): Fatal error if -f/-F
5218 * layout.cc (Layout::finish_dynamic_section): Implement -f/-F.
5222 * dirsearch.cc (Dir_cache::read_files): Ignore ENOTDIR errors.
5228 * resolve.cc (Symbol::override_base_with_special): Don't override
5230 * dynobj.cc (Versions::add_def): Add dynpool parameter. Change
5234 * testsuite/weak_alias_test_5.cc: New file.
5236 * testsuite/weak_alias_test_main.cc: Check that versioned_symbol
5270 * ehframe.cc (Eh_frame_hdr::get_fde_pc): Handle DW_EH_PE_datarel.
5274 * i386.cc (Target_i386::do_ehframe_datarel_base): New function.
5275 * x86_64.cc (Target_x86_64::do_ehframe_datarel_base): New
5283 * ehframe.cc (Fde::write): Add address parameter. Change all
5296 * layout.cc (Layout::layout_eh_frame): Break out code into
5301 * merge.cc (Merge_map::add_mapping): Add assertion.
5302 * i386.cc: Include "dwarf.h".
5309 * x86_64.cc: Include "dwarf.h".
5320 * object.cc (Sized_relobj_file::layout_section): Change shdr
5333 * script.cc (Token::integer_value): Accept trailing M/m/K/k
5340 * object.cc (Sized_relobj_file::check_eh_frame_flags): Check for
5342 * layout.cc (Layout::layout_eh_frame): Likewise.
5347 * layout.cc (Layout::symtab_section_shndx): New function.
5349 * output.cc (Output_section::write_header): Call it.
5354 * symtab.cc (Symbol::should_add_dynsym_entry): Don't add undefined
5360 * layout.cc (Layout::segment_precedes): Don't crash if a linker
5367 * script-sections.cc
5376 * target-select.cc (Target_selector::Target_selector): Add
5400 * parameters.cc (parameters_force_valid_target): Try to find
5403 * options.cc (help): Print emulations.
5416 * target.cc (Sized_target::do_adjust_elf_header): New function.
5423 * i386.cc (class Target_i386): Inherit from Sized_target rather
5425 * x86_64.cc (class Target_x86_64): Likewise.
5437 * arm.cc (Target_arm::do_can_check_for_function_pointers): Rename
5442 * i386.cc (Target_i386::do_can_check_for_function_pointers):
5447 * powerpc.cc (Target_powerpc::powerpc_info) [all versions]:
5449 * sparc.cc (Target_sparc::sparc_info) [both version]: Likewise.
5450 * x86_64.cc (Target_x86_64::do_can_check_for_function_pointers):
5455 * testsuite/testfile.cc (Target_test::test_target_info):
5457 * icf.cc (get_section_contents): Correct formatting.
5461 * symtab.cc (Symbol::versioned_name): New function.
5476 * arm.cc (Arm_relocate_functions::thm_jump8,
5491 * layout.cc: Include "object.h".
5497 * reloc.cc (Sized_relobj_file::do_relocate): Call reverse_words if
5525 * arm.cc (Arm_output_section::append_text_sections_to_list): Do not
5533 * layout.cc (Layout::get_output_section): Treat SHT_INIT_ARRAY and
5545 (Layout::match_file_name): New function, moved from output.cc.
5547 * output.cc: Include "layout.h".
5565 * layout.cc (Layout::attach_allocated_section_to_segment): Add a
5573 * script-sections.cc
5580 * layout.cc (Layout::finish_dynamic_section): Don't set DT_TEXTREL
5585 * layout.cc (Layout::finish_dynamic_section): Don't create
5591 * layout.cc (Layout::layout_eh_frame): Correct handling of
5597 * resolve.cc (Symbol_table::resolve): Don't give an error if a
5604 * layout.cc (Layout::Layout): Initialize interp_segment_ field.
5612 * script-sections.cc
5618 * object.cc (Sized_relobj_file::do_layout): Keep warning sections
5623 * x86_64.cc (Target_x86_64::Scan::check_non_pic): Add gsym
5629 * symtab.cc (Warnings::issue_warning): Don't warn if relocation
5638 * script-sections.cc
5645 * gold/gold.cc (queue_initial_tasks): Warn if --incremental is
5647 * gold/object.cc (Sized_relobj_file::do_layout): Report
5653 * testsuite/two_file_test_2_v1.cc: Change initialization of
5658 * common.cc (Symbol_table::do_allocate_commons_list): Call
5660 * errors.cc (Errors::fatal): Adjust call to gold_exit.
5664 * gold.cc (gold_exit): Change status parameter to enum; adjust
5671 * layout.cc (Layout::set_section_offsets): Call gold_fallback.
5674 * main.cc (main): Adjust call to gold_exit.
5675 * output.cc (Output_data_got::add_got_entry): Call gold_fallback.
5680 * x86_64.cc (Output_data_plt_x86_64::add_entry): Likewise.
5684 * layout.cc (Layout::set_segment_offsets): Don't adjust layout
5686 * output.cc (Output_segment::set_section_list_addresses): Remove
5696 * testsuite/copy_test_v1.cc: New source file.
5700 * common.cc (Symbol_table::do_allocate_commons_list): For incremental
5702 * incremental-dump.cc (dump_incremental_inputs): Print flag for
5704 * incremental.cc (Sized_incremental_binary::do_process_got_plt):
5709 * output.cc (Output_section::allocate): New function.
5711 * resolve.cc (Symbol_table::report_resolve_problem): Add case for
5714 * symtab.cc (Symbol::init_fields): Initialize is_predefined_ flag.
5736 * copy-relocs.cc (Copy_relocs::copy_reloc): Call make_copy_reloc
5745 * gold.cc (queue_middle_tasks): Emit old COPY relocations from
5747 * incremental-dump.cc (dump_incremental_inputs): Print "COPY" flag.
5748 * incremental.cc (Sized_incremental_binary::do_reserve_layout):
5767 * symtab.cc (Symbol_table::add_from_incrobj): Change return type.
5770 * x86_64.cc (Target_x86_64::emit_copy_reloc): New function.
5775 * gold/archive.cc (Archive::Archive): Initialize new data member.
5783 * output.cc: Likewise.
5789 * arm.cc (Target_arm::tag_cpu_arch_combine): Fix handling of
5803 * reloc.cc (Sized_relobj_file::do_read_relocs): Ignore empty reloc
5815 * binary.cc (Binary_to_elf::sized_convert): Don't crash if the
5826 * incremental-dump.cc (dump_incremental_inputs): Print COMDAT groups.
5827 * incremental.cc (Incremental_inputs::report_input_section): Fix
5851 * object.cc (Sized_relobj::include_section_group): Report kept
5856 * dirsearch.cc (Dirsearch::find): Replace n1 and n2 parameters
5858 * fileread.cc (Input_file::find_file): Adjust code accordingly.
5863 * archive.cc (Library_base::should_include_member): Pull in object
5865 * parameters.cc (Parameters::entry): New function.
5868 * output.cc (Output_file_header::Output_file_header): Remove entry
5871 * gold.cc (queue_middle_tasks): Likewise.
5872 * plugin.cc (Plugin_hook::run): Likewise.
5876 * gold.cc (queue_initial_tasks): Pass incremental base filename
5878 * incremental-dump.cc (main): Adjust call to
5880 * incremental-dump.cc (main): Likewise.
5881 * incremental.cc (Incremental_inputs::report_command_line):
5885 * output.cc (Output_file::Output_file):
5904 * testsuite/two_file_test_1_v1.cc: New test source file.
5905 * testsuite/two_file_test_1b_v1.cc: New test source file.
5906 * testsuite/two_file_test_2_v1.cc: New test source file.
5911 * incremental-dump.cc (dump_incremental_inputs): Print as_needed
5913 * incremental.cc (Incremental_inputs::report_object): Make
5943 * layout.cc (Layout::finish_dynamic_section): Don't test for
5954 * incremental-dump.cc (dump_incremental_inputs): Print dynamic reloc
5956 * incremental.cc (Sized_incremental_binary::setup_readers): Allocate
6007 * object.cc (Sized_relobj::do_for_all_local_got_entries): New
6059 * output.cc (Output_reloc::Output_reloc): Adjust type of relobj
6088 * reloc.cc (Sized_relobj_file::do_read_relocs): Replace refs to
6094 * x86_64.cc (Target_x86_64::reserve_local_got_entry): New function.
6100 * gold.cc (queue_middle_tasks): Process existing GOT/PLT entries.
6101 * incremental-dump.cc (dump_incremental_inputs): Mask high-order
6103 * incremental.cc (Sized_incremental_binary::setup_readers):
6131 * output.cc (Output_data_got::Got_entry::write): Add case
6165 * x86_64.cc (Output_data_plt_x86_64::Output_data_plt_x86_64):
6176 * testsuite/object_unittest.cc (Object_test): Set default options.
6184 * testsuite/tls_test_main.cc: Use semaphores instead of mutexes.
6188 * object.cc (Sized_relobj::do_count_local_symbols): Check for
6193 * layout.cc (Layout::layout): If the output section flags change,
6198 * incremental-dump.cc (dump_incremental_inputs): Print local
6200 * incremental.cc
6238 * descriptors.cc (set_close_on_exec): New function.
6240 * output.cc (S_ISLNK): Define if not defined.
6244 * incremental.cc (Sized_incremental_binary::setup_readers): Allocate
6264 * layout.cc (Layout_task_runner::run): Apply incremental relocations.
6267 * x86_64.cc (Target_x86_64::apply_relocation): New function.
6271 * arm.cc (Arm_output_section::Arm_output_section): Set SHF_LINK_ORDER
6286 * object.cc (Relocate_info::location): Simplify location string.
6287 * errors.cc (Errors::error_at_location): Don't print program
6295 * gold/layout.cc (Layout::symtab_section_offset): New function.
6297 * gold/reloc.cc (Sized_relobj::do_relocate): Call it.
6304 * output.cc: Only #include <sys/mman.h> if it exists. If mmap is
6312 * fileread.cc: Only #include <sys/mman.h> if it exists. If mmap
6326 * incremental.cc (Sized_incr_relobj::do_add_symbols): Always
6331 * archive.cc (Archive::include_member): Adjust call to
6339 * dynobj.cc (Dynobj::Dynobj): Allow input_file_ to be NULL.
6345 * fileread.cc (get_mtime): New function.
6347 * gold.cc (queue_initial_tasks): Check for incremental update.
6351 * incremental-dump.cc (find_input_containing_global): Adjust
6356 * incremental.cc
6564 * layout.cc (Free_list::num_lists): New static data member.
6601 * main.cc (main): Print Free_list statistics.
6602 * object.cc (Relobj::finalize_incremental_relocs): Add
6639 * options.cc (Input_arguments::add_file): Remove const.
6651 * output.cc (Output_segment_headers::Output_segment_headers):
6684 * plugin.cc (Sized_pluginobj::do_for_all_local_got_entries):
6688 * readsyms.cc (Read_symbols::do_read_symbols): Add library
6710 * reloc.cc (Read_relocs::is_runnable): Allow case where
6722 * script.cc (read_input_script): Allocate Script_info; pass
6725 * symtab.cc (Symbol_table::add_from_incrobj): New function.
6731 * incremental-dump.cc (dump_incremental_inputs): Change signature
6734 * incremental.cc
6772 * dwarf_reader.cc (Sized_dwarf_line_info): Fix vector bounds
6777 * archive.cc (Archive::include_member): Adjust call to report_object.
6782 * incremental-dump.cc (dump_incremental_inputs): Remove unnecessary
6784 * incremental.cc (Incremental_inputs::report_archive_begin): Add
6802 * options.cc (Input_arguments::add_file): Return reference to
6811 * readsyms.cc (Add_symbols::run): Adjust call to report_object.
6812 * script.cc (Parser_closure::Parser_closure): Add script_info
6823 * archive.cc (Library_base::should_include_member): Move
6858 * dynobj.cc (Sized_dynobj::do_for_all_global_symbols): New
6862 * incremental.cc (Incremental_inputs::report_archive_begin):
6876 * object.cc (Sized_relobj::do_for_all_global_symbols): New
6881 * plugin.cc (Sized_pluginobj::do_for_all_global_symbols): New
6888 * archive.cc (Archive::interpret_header): Return -1 if something
6898 * plugin.cc (get_view): New.
6919 * script-sections.cc (Sort_output_sections::script_compare):
6926 * testsuite/odr_violation2.cc: Add comment to make all error line
6932 * dwarf_reader.cc (Sized_dwarf_line_info): Include all lines,
6941 * object.cc (Relocate_info): Pass NULL for the vector* out-param
6942 * symtab.cc (Odr_violation_compare): Include the lineno in the
6956 * testsuite/debug_msg.cc (main): Make OdrDerived classes.
6959 * testsuite/odr_violation1.cc: Use OdrDerived, in a
6961 * testsuite/odr_violation2.cc: Make sure Ordering::operator()
6970 * fileread.cc (File_read::clear_views): Don't delete the whole
6976 * fileread.cc: #include <climits>.
6999 * symtab.cc (Symbol::should_add_dynsym_entry) Return false for
7006 * output.cc (Output_section::add_input_section): Delay fill
7013 * reloc.cc (Sized_relobj::do_relocate): Don't call
7018 * plugin.cc (is_visible_from_outside): Return true for symbols
7023 * symtab.cc (Odr_violation_compare::operator()): Sort by just the
7030 * icf.cc (Icf::find_identical_sections): Change type of local variable
7036 * script.cc (script_add_extern): Rewrite to use
7041 * icf.cc (get_section_contents): Always lock section's object.
7050 * version.cc (version_string): Bump to 1.11.
7054 * plugin.cc (class Plugin_rescan): Define new class.
7071 * archive.cc (Archive::defines_symbol): New function.
7074 * readsyms.cc (Input_group::~Input_group): New function.
7077 * symtab.cc (add_from_object): Pass undefined symbol to plugins if
7082 * layout.cc (Layout::layout_eh_frame): Mark a writable .eh_frame
7089 * script-sections.cc (Sort_output_sections::operator()): Sort TLS
7094 * version.cc (print_version): Update copyright to 2011.
7103 * dwarf_reader.cc (Sized_dwarf_line_info::read_lines): Only keep
7117 * x86_64.cc (Target_x86_64::Scan::check_non_pic): Give an error
7125 * fileread.cc (file_counts_lock, file_counts_initialize_lock)
7133 * dwarf_reader.cc: Remove outdated comment.
7134 * gold-threads.cc: Fix typo in error message.
7135 * archive.cc: Fix typos in comments.
7137 * arm-reloc-property.cc: Likewise.
7140 * arm.cc: Likewise.
7142 * cref.cc: Likewise.
7143 * ehframe.cc: Likewise.
7146 * i386.cc: Likewise.
7147 * icf.cc: Likewise.
7149 * int_encoding.cc: Likewise.
7151 * main.cc: Likewise.
7153 * object.cc: Likewise.
7155 * options.cc: Likewise.
7156 * readsyms.cc: Likewise.
7157 * reduced_debug_output.cc: Likewise.
7158 * reloc.cc: Likewise.
7159 * script-sections.cc: Likewise.
7160 * sparc.cc: Likewise.
7163 * target.cc: Likewise.
7165 * timer.cc: Likewise.
7167 * x86_64.cc: Likewise.
7171 * layout.cc (Layout::layout_gnu_stack): Add warnings for executable
7175 * object.cc (Sized_relobj::do_layout): Adjust call to layout_gnu_stack.
7180 * arm.cc (Target_arm::Scan::get_reference_flags): Treat R_ARM_PREL31
7185 * archive.cc (Archive::get_elf_object_for_member): Permit
7196 * dwarf_reader.cc (Sized_dwarf_line_info::Sized_dwarf_line_info):
7202 * reloc.cc (Track_relocs::next_addend): New function.
7207 * testsuite/icf_virtual_function_folding_test.cc (class Bar): Add
7223 * expression.cc (BINARY_EXPRESSION): Initialize left_alignment
7230 * dwarf_reader.cc (Sized_dwarf_line_info::Sized_dwarf_line_info):
7238 * output.cc (Output_segment::set_section_addresses): Adjust references
7247 * layout.cc (Layout::choose_output_section): Transform names of
7251 * output.cc (Output_section::add_input_section): Use uncompressed
7263 * arm.cc (Target_arm::Scan::get_reference_flags): New function.
7271 * i386.cc (Target_i386::Scan::get_reference_flags): New function.
7279 * powerpc.cc (Target_powerpc::Scan::get_reference_flags): New function.
7283 * sparc.cc (Target_sparc::Scan::get_reference_flags): New function.
7287 * x86_64.cc (Target_x86_64::Scan::get_reference_flags): New function.
7295 * arm.cc (Arm_exidx_merge_section::build_contents): New method.
7335 * layout.cc (Layout::finalize): Pass TASK to Target::relax().
7344 * copy-relocs.cc (Copy_relocs::emit_copy_reloc): Hold a lock on the
7346 * gold.cc (queue_middle_tasks): Hold a lock on the object when doing
7348 * icf.cc (preprocess_for_unique_sections): Hold a lock on the object
7352 * mapfile.cc (Mapfile::print_discarded_sections): Hold a lock on the
7354 * plugin.cc (Plugin_manager::layout_deferred_objects): Hold a lock on
7362 * scrfipt.cc (Script_options::is_pending_assignment): New member.
7365 * archive.cc (should_incldue_member): If the symbol is undefined,
7370 * script-sections.cc (Script_sections::find_memory_region): Check
7375 * arm.cc (Arm_outout_section::fix_exidx_coverage): Adjust call to
7377 * output.cc (Output_section::add_relaxed_input_section): Add new
7392 * arm.cc (Arm_relobj::do_read_symbols): Warn about ARM EXIDX sections
7394 * layout.cc (Layout::choose_output_section): Do not filter
7401 * output.cc (Output_segment::is_first_section_relro): Ignore TLS
7408 * gold/arm.cc (Target_arm::got_section): Use correct order and set
7415 * gold.cc (queue_initial_tasks): Check parameters for incremental link
7417 * incremental.cc (report_command_line): Ignore all forms of
7419 * layout.cc (Layout::Layout): Check parameters for incremental link
7421 * options.cc (General_options::parse_incremental): New function.
7432 * parameters.cc (Parameters::incremental_mode_): New data member.
7443 * plugin.cc (Plugin_manager::add_input_file): Check parameters for
7445 * reloc.cc (Sized_relobj::do_read_relocs): Likewise.
7456 * script-sections.cc (class Sort_output_sections): Add elements_
7476 * arm.cc (Target_arm::Scan::local): Report the unsupported reloc
7483 * fileread.cc (Input_file::find_file): Initialize *found_name
7493 * resolve.cc (symbol_to_bits): Report the value of the unsupported
7498 * script-sections.cc(class Memory_region): Remove
7531 * symtab.cc (Symbol_table::Symbol_table_hash::operator()): Move
7538 * expression.cc (eval): Replace dummy argument with NULL.
7549 * script-sections.cc
7566 * x86_64.cc (Target__x86_64::can_icf_inline_merge_sections): New
7568 * i386.cc (Target_i386::can_icf_inline_merge_sections): New
7570 * icf.cc (get_section_contents): Inline merge sections only when
7587 * arm.cc (Target_arm::Relocate::relocate): Ignore symbol type and
7594 * script_sections.cc (class Memory_region): Remove "NULL" from
7599 * incremental.cc (Output_section_incremental_inputs::write_info_blocks):
7614 * x86_64.cc (Target_x86_64::saw_tls_block_reloc_): Remove member.
7637 * object.cc (Sized_relobj::do_finalize_local_symbols): Remove
7644 * layout.cc (Layout::attach_allocated_section_to_segment): Don't put
7652 * layout.cc (Layout::set_segment_offsets): Always advance to a new page.
7656 * arm.cc (Arm_exidx_cantunwind::do_print_to_mapfile): New method.
7662 * object.cc (Sized_relobj::compute_final_local_value): New methods.
7702 * script-sections.cc (Script_sections::add_memory_region): Convert
7704 * script.cc (script_set_section_region, script_set_section_region):
7709 * arm.cc (do_finalize_sections): Create the __exidx_start and
7715 * expression.cc (script_exp_function_origin)
7717 * script.cc: ... here.
7721 * script-sections.cc
7743 * gold/resolve.cc (Symbol_table::should_override): Let a weak
7762 * options.cc (version_script): Fix small typo in previous
7767 * archive.cc: Formatting fixes: Remove whitespace between
7771 * arm.cc: Likewise.
7772 * attributes.cc: Likewise.
7774 * common.cc: Likewise.
7775 * copy-relocs.cc: Likewise.
7777 * dynobj.cc: Likewise.
7778 * ehframe.cc: Likewise.
7780 * expression.cc: Likewise.
7781 * fileread.cc: Likewise.
7784 * gold-threads.cc: Likewise.
7785 * gold.cc: Likewise.
7786 * i386.cc: Likewise.
7788 * incremental-dump.cc: Likewise.
7789 * incremental.cc: Likewise.
7790 * layout.cc: Likewise.
7792 * main.cc: Likewise.
7793 * merge.cc: Likewise.
7795 * object.cc: Likewise.
7797 * options.cc: Likewise.
7799 * output.cc: Likewise.
7801 * plugin.cc: Likewise.
7803 * powerpc.cc: Likewise.
7804 * reloc.cc: Likewise.
7806 * script-sections.cc: Likewise.
7807 * script.cc: Likewise.
7808 * stringpool.cc: Likewise.
7809 * symtab.cc: Likewise.
7811 * target.cc: Likewise.
7812 * timer.cc: Likewise.
7814 * version.cc: Likewise.
7815 * x86_64.cc: Likewise.
7820 * layout.cc (segment_precedes): Sort segments by their physical
7825 * archive.cc (Lib_group::add_symbols): Lock object before deleting its
7837 * gold/archive.cc (Add_lib_group_symbols::is_runnable): Also check
7839 * gold/readsyms.cc (Read_symbols::do_lib_group): Also pass
7857 * i386.cc (class Output_data_plt_i386): Update declarations.
7881 * x86_64.cc (class Output_data_plt_x86_64): Update declarations.
7907 * object.cc (Sized_relobj::Sized_relobj): Initialize
7927 * output.cc (Output_data_reloc_base::do_adjust_output_section): If
7934 * defstd.cc (in_section): Remove entries for __rel_iplt_start,
7957 * incremental.cc
7964 * common.cc (Sort_commons::operator()): Remove unnecessary code.
7973 * resolve.cc (Symbol_table::should_override): When a weak dynamic
7976 * symtab.cc (Symbol_table::sized_write_global): For undef without
7992 * arm.cc (Target_arm::got_size): Add const.
8000 * i386.cc (Target_i386::got_size): Add const.
8008 * incremental-dump.cc (dump_incremental_inputs): Adjust call to
8010 * incremental.cc: Include target.h.
8030 * layout.cc (Layout::create_incremental_info_sections): Add the
8035 * powerpc.cc (Target_powerpc::got_size): Add const.
8043 * sparc.cc (Target_sparc::got_size): Add const.
8056 * x86_64.cc (Target_x86_64::got_size): Add const.
8067 * archive.cc: Include incremental.h.
8080 * incremental-dump.cc (find_input_containing_global): New function.
8082 * incremental.cc: Include symtab.h.
8160 * layout.cc (Layout::finalize): Move finalization of incremental info
8170 * main.cc (main): Remove call to Incremental_inputs::report_inputs.
8171 * object.cc: Include incremental.h.
8200 * plugin.cc (Plugin_manager::add_input_file): Rewrite test for
8202 * readsyms.cc (Read_symbols::do_read_symbols): Move reporting of
8206 * reloc.cc: Include layout.h, incremental.h.
8214 * script.cc (read_input_script): Rewrite test for incremental link.
8221 * arm.cc (Target_arm::merge_object_attributes): Check command line
8228 * x86_64.cc (Target_x86_64::Scan::local): Use
8238 * merge.cc (Output_merge_string::do_add_input_section): Count strings
8243 * stringpool.cc (Stringpool_template::string_length): Move
8251 * layout.cc (relaxation_loop_body): If address of load segment is
8256 * version.cc (version_string): Bump to 1.10.
8263 * layout.cc (Layout::get_output_section): Add order parameter.
8271 * output.cc (Output_section::Output_section): Initialize order_.
8316 * arm.cc (Target_arm::gc_process_relocs): Use typename.
8317 * powerpc.cc (Target_powerpc::gc_process_relocs): Likewise.
8318 * sparc.cc (Target_sparc::gc_process_relocs): Likewise.
8323 * script.cc (Script_options::Script_options): Initialize
8338 * symtab.cc: Include "script.h".
8350 * archive.cc: Include "layout.h".
8354 * object.cc (Sized_relobj::do_should_include_member): Add layout
8360 * dynobj.cc (Sized_dynobj::do_should_include_member): Add layout
8363 * plugin.cc (Sized_pluginobj::do_should_include_member): Add
8370 * output.cc (Output_segment::set_offset): Search for the first and
8383 * i386.cc (class Target_i386): Add got_tlsdesc_ field.
8393 * x86_64.cc (class Target_x86_64): Add got_tlsdesc_ field.
8411 * arm.cc (Target_arm<big_endian>::gc_process_relocs): Add template
8413 * i386.cc (Target_i386<big_endian>::gc_process_relocs): Add template
8415 * x86_64.cc (Target_x86_64<big_endian>::gc_process_relocs): Add template
8417 * powerpc.cc (Target_powerpc<big_endian>::gc_process_relocs): Add
8419 * sparc.cc (Target_sparc<big_endian>::gc_process_relocs): Add template
8423 * icf.cc (get_section_contents): Get the addend from the text section
8430 * testsuite/icf_sht_rel_addend_test_1.cc: New file.
8431 * testsuite/icf_sht_rel_addend_test_2.cc: New file.
8442 * gold/testsuite/debug_msg.cc: Likewise.
8443 * gold/testsuite/odr_violation1.cc
8444 * gold/testsuite/odr_violation2.cc
8454 * merge.cc (Output_merge_string::do_add_input_section): Allocate new
8462 * plugin.cc (Plugin_finish::run): Don't call cleanup handlers from
8467 * descriptors.cc (Descriptors::open): Report correct name in error
8472 * arm.cc (Arm_input_section::Arm_input_section): For a
8500 * output.cc (Output_section::Output_section): Initialize
8510 * fileread.cc (try_extra_search_path, find_file): Move to Input_file.
8521 * arm.cc (Target_arm::got_section): Remove used local os.
8522 * i386.cc (Target_i386::got_section): Likewise.
8523 * x86_64.cc (Target_x86_64::got_section): Likewise.
8524 * sparc.cc (Target_sparc::got_section): Likewise.
8526 * powerpc.cc (Target_powerpc::relocate): Likewise.
8530 * compressed_output.cc (zlib_decompress): Fix signature in
8533 * archive.cc (Archive::include_member): Unlock an external member
8539 * compressed_output.cc (zlib_decompress): New function.
8544 * dwarf_reader.cc (Sized_dwarf_line_info::Sized_dwarf_line_info)
8546 * layout.cc (is_compressed_debug_section): New function.
8551 * merge.cc: Include compressed_output.h.
8556 * object.cc: Include compressed_output.h.
8565 * output.cc (Output_section::add_input_section): Handle compressed
8567 * reloc.cc: Include compressed_output.h.
8572 * resolve.cc (Symbol_table::resolve): Remember whether undef was
8576 * symtab.cc (Symbol::init_fields): Initialize undef_binding_set_ and
8586 * testsuite/weak_undef_file1.cc: Add new test case.
8587 * testsuite/weak_undef_file2.cc: Fix header comment.
8588 * testsuite/weak_undef_test.cc: Add new test case.
8592 * arm-reloc-property.cc (Arm_reloc_property::Arm_reloc_property):
8597 * arm.cc (Target_arm::Relocate::relocate): Exit early if relocation
8602 * plugin.cc (Plugin::load): Use dlerror.
8606 * symtab.cc (detect_odr_violations): When reporting an ODR
8611 * arm.cc (Target_arm::can_check_for_functions_pointers): Return true.
8626 * fileread.cc (Input_file::find_fie): New
8629 * plugin.cc (set_extra_library_path): New.
8639 * layout.cc (gdb_sections): Add .debug_types.
8644 * plugin.cc (add_input_file,add_input_library)
8651 * arm.cc (Target_arm::do_finalize_sections): Do not emit an
8657 * arm.cc: Allow combining objects with no EABI version
8662 * plugin.cc (Plugin_hook::run): Set in_real_elf for the start symbol.
8666 * fileread.cc: Only #include <sys/uio.h> if HAVE_READV.
8671 * object.cc (Sized_relobj::do_layout): Defer layout for reloc sections.
8688 * script.cc (script_add_library): New function. Adds a library
8694 * arm.cc (Target_arm::do_relax): Reserve more space for stubs.
8700 * gold-threads.cc (Lock_impl_threads::Lock_impl_threads): Correct
8706 * output.cc
8715 * layout.cc (Layout::layout): Pass this pointer to add_input_section.
8723 * main.cc (main): Call read_layout_from_file here.
8725 * output.cc (Output_section::input_section_order_specified_): New
8759 * script-sections.cc (is_wildcard_string): Delete and move modified
8768 * testsuite/final_layout.cc: New file.
8773 * plugin.cc (Plugin::load): Pass the output name to the plugin.
8777 * plugin.cc (Sized_pluginobj::::do_add_symbols): Correctly set the
8782 * object.cc (Sized_relobj::do_finalize_local_symbols): Use offset
8789 * gold/object.cc(Sized_relobj::do_layout_deferred_sections): Avoid
8799 * script-sections.cc (Output_section_definition::set_section_addresses):
8804 * arm.cc (Arm_scan_relocatable_relocs): New class.
8816 * timer.cc: Only #include <sys/times.h> if HAVE_TIMES is defined.
8820 * arm.cc (Arm_input_section::do_output_offset): Use convert_types
8824 * merge.cc (Output_merge_base::record_input_section): New method
8846 * output.cc (Output_section::Input_section::relobj): Move method
8900 * arm.cc (Arm_input_section::do_output_offset): Add a cast to
8905 * script-sections.cc (Output_section_definition::allocate_to_segment):
8909 * testsuite/script_test_9.cc: New.
8915 * arm.cc (Arm_input_section::original_size): New method.
8929 * output.cc (Output_section::get_input_sections): Change type of
8945 * script-sections.cc (Input_section::Input_section_list): Change
8965 * options.cc (General_options::finalize): Handle -nostdlib.
8967 * script.cc (script_add_search_dir): Handle -nostdlib.
8971 * arm.cc (Target_arm::do_finalize_sections): Create an empty
9014 * layout.cc (Layout::layout_reloc): In relocatable link don't
9021 * icf.cc (get_section_contents): Handle relocation pointing to section
9025 * testsuite/icf_virtual_function_folding_test.cc: Remove printf.
9030 * expression.cc (Expression::Expression_eval_info): Add
9043 * script-sections.cc (class Sections_element): Add dot_alignment
9073 * arm.cc (class Arm_exidx_fixup): Add new arg, merge_exidx_entries.
9086 * icf.cc (get_section_contents): Check for preemptible functions.
9088 * symtab.cc (should_add_dynsym_entry): Add new parameter. Check for
9094 * x86_64.cc (Target_x86_64::Scan::possible_function_pointer_reloc):
9103 * testsuite/icf_preemptible_functions_test.cc: New file.
9105 * testsuite/icf_string_merge_test.cc: New file.
9107 * testsuite/icf_virtual_function_folding_test.cc: New file.
9112 * arm.cc (Arm_output_section::fix_exidx_coverage): Mark object
9114 * gold.cc (queue_middle_gc_tasks): Create a dummy blocker if
9119 * arm.cc (Arm_input_section::set_final_data_size): Compute
9124 * layout.cc (Layout::choose_output_section): Handle script section
9130 * output.cc (Output_section::Output_section): Initialize data member
9139 * script-sections.cc (Sections_element::output_section_name): Add
9165 * script.cc (script_keyword_parsecodes): Add keywords COPY, DSECT,
9181 * merge.cc (Output_merge_data::set_final_data_size): Handle empty
9183 * output.cc (Output_section::add_merge_input_section): Simplify
9190 * arm.cc (Arm_relobj::scan_section_for_cortex_a8_erratum): Warn
9199 * archive.cc (include_member): Destroy Read_symbols_data object before
9201 * object.cc (Read_symbols_data::~Read_symbols_data) New destructor.
9208 * testsuite/binary_unittest.cc (Sized_binary_test): Set sd member
9213 * arm.cc: Replace "endianity" with "endianness" in comments.
9231 * gold.cc (queue_middle_tasks): Handle the case in which there is
9233 * options.cc (General_options::parse_EB): New method.
9241 * parameters.cc (Parameters::set_options): Check target endianness.
9261 * plugin.cc (Pluginobj::get_symbol_resolution_info): Check for
9275 * arm.cc (Target_arm::using_thumb_only): Handle v6-M
9279 * gold/arm.cc (Arm_exidx_fixup::update_offset_map): Rearrange code
9295 * fileread.cc (find_or_make_view): Fix comment.
9299 * script-sections.cc (class Orphan_section_placement): Define
9313 * arm.cc (Arm_relocate_functions::abs8,
9343 * archive.cc (Should_include): Move to archive.h.
9349 (Should_include): Moved from archive.cc.
9352 * dynobj.cc (do_should_include_member): New.
9354 * gold.cc (queue_initial_tasks): Update call to queue.
9355 * main.cc (main): Print lib group stats.
9356 * object.cc (do_should_include_member): New.
9361 * options.cc (General_options::parse_start_lib): New.
9376 * plugin.cc (Pluginobj::get_symbol_resolution_info): Mark symbols
9380 * readsyms.cc (Read_symbols::locks): If we are just reading a member,
9390 * script.cc (read_input_script): Update call to queue_soon.
9394 * arm.cc (Stub_table::Stub_table): Initialize new data members
9404 * stringpool.cc (Stringpool_template::Stringpool_template): Initialize
9413 * stringpool.cc (Stringpool_template::Stringpool_template): Initialize
9433 * readsyms.cc (Read_symbols::do_read_symbols): Update calls to
9439 * reloc.cc (Sized_relobj::split_stack_adjust_reltype): Call the
9444 * target.cc: Include "symtab.h".
9446 * i386.cc (Target_i386::do_is_call_to_non_split): New function.
9450 * fileread.cc (File_read::~File_read): Don't delete whole_file_view_.
9467 * readsyms.cc (Add_symbols::run): Delete sd_ object before
9469 * reloc.cc (Scan_relocs::run): Delete rd_ object before releasing
9474 * sparc.cc (Target_sparc::Scan::local): Accept R_SPARC_WPLT30.
9478 * icf.cc (get_section_contents): Add '@' marker after processing the
9483 * gold/arm.cc (Arm_exidx_fixup::update_offset_map): Fix build breakage
9491 * output.cc (Output_data_dynamic::set_final_data_size): Implement
9496 * incremental.cc: Include "libiberty.h".
9502 * dynobj.cc (Verdef::write): Set VER_FLG_INFO if this->is_info_.
9509 * i386.cc (Target_i386::can_check_for_function_pointers): New function.
9517 * testsuite/icf_safe_so_test.cc: Ditto.
9518 * testsuite/icf_safe_test.cc: Ditto.
9543 * object.cc (Sized_relobj::do_count_local_symbols): Only discard a
9550 * arm.cc (Arm_relobj::update_output_local_symbol_count): Call
9574 * layout.cc (Layout::Layout): Force section types of .init_array*,
9576 * output.cc (Output_section::Input_section_sort_entry::has_priority):
9590 * arm.cc (Target_arm::Relocate::reloc_is_non_pic): Treat
9597 * arm.cc (Target_arm::scan_reloc_for_stub): Move code handling
9601 * options.cc (General_options::General_options): Initialize member
9617 * arm.cc (Target_arm::got_section): Make the .got section the first
9624 * arm.cc (Target_arm::do_finalize_sections): Skip processor specific
9626 * fileread.cc (Input_file::open): Record format of original file.
9634 * arm.cc (Arm_output_data_got): New class.
9649 * layout.cc (Layout::section_name_mapping): Remove trailing dots
9654 * arm.cc (Target_arm::do_finalize_sections): Create attribute
9656 * attributes.cc (Attributes_section_data::Attributes_section_data):
9662 * gold.cc (queue_middle_tasks): If no input files were opened,
9670 * icf.cc (get_section_contents): Cast snprintf arguments to long long
9676 * arm.cc (Arm_relocate_functions::arm_branch_common): Fix bug in
9708 * icf.cc (get_section_contents): Change iterators to point to the new
9725 * arm.cc (Arm_relocation_functions): New forward declaration.
9742 * arm.cc (Arm_relobj::find_linked_text_section): New method.
9759 * arm.cc (Scan::local_reloc_may_be_function_pointer): New function.
9761 * sparc.cc (Scan::local_reloc_may_be_function_pointer): New function.
9763 * powerpc.cc (Scan::local_reloc_may_be_function_pointer): New function.
9765 * i386.cc (Scan::local_reloc_may_be_function_pointer): New function.
9767 * x86_64.cc (Scan::local_reloc_may_be_function_pointer): New function.
9773 * icf.cc (Icf::find_identical_sections): Include functions for
9785 * testsuite/icf_safe_so_test.cc: New file.
9787 * testsuite/icf_safe_test.cc (kept_func_3): New function.
9807 * output.cc (Output_reloc<SHT_REL>::Output_reloc): Handle
9815 * sparc.cc (Target_sparc::Scan::local): Use
9823 * arm.cc (Target_arm::Scan::local): Fix bugs in relocation handling.
9841 * gold.cc (queue_middle_gc_tasks): Use a separate blocker for each
9845 * reloc.cc (Read_relocs::run): Pass next_blocker_ down to next
9863 * common.cc (Allocate_commons_tasK::is_runnable): Remove use of
9871 * gold-threads.cc (class Once_initialize): Define.
9883 * archive.cc (Archive::interpret_header): Only clear name if it is
9885 * fileread.cc: Include "gold-threads.h"
9890 * parameters.cc (class Set_parameters_target_once): Define.
9898 (Parameters::Parameters): Move to parameters.cc.
9900 * readsyms.cc (Read_symbols::do_group): Create a Start_group
9914 * target-select.cc (Set_target_once::do_run_once): New function.
9926 * dirsearch.cc (Dirsearch::initialize): Add all blockers before
9928 * gold.cc (queue_middle_gc_tasks): Likewise. Fix final blocker.
9936 * i386.cc (Relocate::relocate_tls): A local symbol is final if not
9938 * x86_64.cc (Relocate::relocate_tls): Likewise.
9950 * sparc.cc (Target_sparc::Scan::local): Do not emit relocs other than
9958 * output.cc (Output_data_dynamic::Dynamic_entry::write): For
9962 * layout.cc (Layout::add_target_dynamic_tags): If dynrel_includes_plt,
9964 * arm.cc (Target_arm::do_finalize_sections): Update to pass false
9966 * i386.cc (Target_i386::do_finalize_sections): Likewise.
9967 * x86_64.cc (Target_x86_64::do_finalize_sections): Likewise.
9968 * sparc.cc (Target_sparc::make_plt_entry): Force .rela.dyn to be output
9972 * powerpc.cc (Target_powerpc::make_plt_entry): Force .rela.dyn to be
9979 * arm.cc (Arm_relobj::simple_input_section_output_address): New
9989 * sparc.cc (Target_sparc::Relocate::relocate): If relocation offset is
9993 * sparc.cc (Target_sparc::Scan::local): Handle R_SPARC_GOTDATA_OP*
10007 * arm.cc (Arm_relobj::section_is_scannable): New method.
10014 * arm-reloc-property.cc (cstdio): Include.
10017 * resolve.cc (Symbol_table::resolve): Explicit instantiate both
10022 * arm-reloc-property.cc
10033 * arm.cc (Target_arm::reloc_uses_thumb_bit): Remove method.
10067 * arm.cc (Target_arm::relocate_section): Do view adjustment for all
10074 (TARGETSOURCES): Add arm-reloc-property.cc
10078 * arm-reloc-property.cc: New file.
10081 * arm.cc: Update comments.
10087 * parameters.cc (set_parameters_target): Call
10094 * arm.cc (Arm_exidx_fixup::Arm_exidx_fixup): Initialize
10105 * gold/arm.cc: Added support for the ARM relocations: R_ARM_THM_PC8,
10117 * arm.cc (Target_arm::Scan::global): General PLTs for the same set
10122 * arm.cc (Arm_relocate_functions::arm_branch_common) Change visibility
10136 * arm.cc (Arm_relobj::Arm_relobj): Initialize new data member
10153 * arm.cc: Added support for the ARM relocations:
10174 * arm.cc: Added support for ARM group relocations.
10191 * arm.cc (set): Include.
10224 * arm.cc (Arm_exidx_merged_section::do_output_offset):
10229 * arm.cc (Target_arm::do_relax): Record an output section for section
10231 * layout.cc (Layout::clean_up_after_relaxation): Adjust section
10233 * output.cc (Output_section::Output_section): Initialize
10248 * script-sections.cc
10255 * gold/arm.cc (Target_arm): Updated fix_v4bx method and usage of
10260 * gold/options.cc (General_options::parse_fix_v4bx): New method.
10265 * arm.cc (Arm_exidx_fixup): New class.
10269 * arm.cc (Arm_exidx_cantunwind, Arm_exidx_merged_section): New
10275 * arm.cc (Arm_exidx_input_section): New class.
10287 * arm.cc (Target_arm::Arm_input_section_map): Change key type from
10300 * output.cc (Output_section::add_relaxed_input_section): Change to
10320 * gold/arm.cc: Added support for R_ARM_V4BX relocation
10346 * output.cc (Output_section_headers::do_sized_write): Write large
10353 * arm.cc (Arm_relocate_functions::thm_jump6): New function.
10365 * arm.cc (map, utility): Include headers.
10376 * output.cc (Output_section::convert_input_sections_to_relaxed_sections)
10381 * object.cc (Sized_relobj::do_layout): Change to call layout_gnu_stack
10386 * arm.cc (Arm_relobj::section_needs_reloc_stub_scanning,
10393 * arm.cc (Arm_relobj::section_needs_reloc_stub_scanning,
10413 * testsuite/protected_4.cc: New file.
10417 * arm.cc (Cortex_a8_reloc): New class.
10432 * arm.cc (Arm_relobj::mapping_symbols_info_): New data member.
10442 * arm.cc (Arm_relocate_functions::thumb32_branch_offset,
10458 * arm.cc (Arm_relobj::do_gc_process_relocs): New method.
10467 * script.cc (Version_script_info::build_expression_list_lookup):
10471 * script.cc (class Lazy_demangler): Recreate--revert part of patch
10496 * dynobj.cc (Versions::finalize): Mark the version symbol as the
10501 * symtab.cc (Symbol_table::add_from_relobj): Don't call
10526 * resolve.cc (Symbol_table::resolve): Add symbols to list of ODR
10529 * resolve.cc (Symbol_table::resolve): Add symbols to the list of
10534 * script.cc (Version_script_info::build_expression_list_lookup):
10541 * arm.cc (Stub_table::Stub_table): Initalize cortex_a8_stubs_,
10594 * symtab.cc (Symbol::init_fields): Initialize plt_offset_ to -1U.
10599 * resolve.cc (Symbol::override_base_with_special): Don't test
10607 * dynobj.cc (big_endian>::find_dynsym_sections): Set pi to NULL in
10612 * object.cc (Sized_relobj::do_layout): Don't get confused if
10618 * dynobj.cc (Sized_dynobj::find_dynsym_sections): If there is no
10626 * layout.cc (Layout::include_section): Remove .gnu_debuglink
10631 * version.cc (print_version): Change to "Copyright 2010".
10637 * i386.cc (class Target_i386): Change return type of plt_section
10647 * x86_64.cc (class Target_x86_64): Add tlsdesc_reloc_info_ field.
10675 * output.cc (Output_reloc::Output_reloc): Add four new versions
10687 * layout.cc (add_target_dynamic_tags): Use output section for
10700 * output.cc (Output_data_reloc_base::do_write): Change sort_reloc_
10702 * layout.cc (Layout::add_target_dynamic_tags): Change dyn_rel to
10714 * layout.cc (Layout::add_target_dynamic_tags): New function.
10716 * arm.cc (Target_arm::do_finalize_sections): Use
10718 * i386.cc (Target_i386::do_finalize_sections): Likewise.
10719 * powerpc.cc (Target_powerpc::do_finalize_sections): Likewise.
10720 * sparc.cc (Target_sparc::do_finalize_sections): Likewise.
10721 * x86_64.cc (Target_x86_64::do_finalize_sections): Likewise.
10726 * copy-relocs.cc (Copy_relocs::emit_copy_reloc): Mark the dynamic
10733 * object.cc: Instantiate Xindex::initialize_symtab_xindex and
10738 * arm.cc (Insn_template::Type): New enum value THUMB16_SPECIAL_TYPE.
10758 * errors.cc (Errors::undefined_symbol): Implement
10762 * layout.cc (Layout::finish_dynamic_section): Implement -z text.
10775 * layout.cc (Layout::define_section_symbols): Replace string constants
10777 * object.cc (Sized_relobj::do_layout): Track sections whose names are
10781 * testsuite/gc_orphan_section_test.cc: New file.
10788 * layout.cc (Layout::finish_dynamic_section): Implement
10803 * options.cc (General_options::parse_section_start): New function.
10809 * layout.cc (Layout::attach_allocated_section_to_segment): If
10816 * output.cc (Output_segment::add_output_section): Call
10823 * script.cc (struct Version_expression): Add was_matched_by_symbol
10830 * gold.cc (queue_middle_tasks): Handle --no-undefined-version.
10834 * resolve.cc (Symbol_table::should_override): Don't test
10839 * main.cc (main): Print cref table if --cref. Don't close mapfile
10841 * cref.cc: Include "symtab.h".
10854 * object.cc (Input_objects::add_object): Pass object to cref_ if
10860 * dynobj.cc (big_endian>::do_add_symbols): Create symbols_ if
10862 * plugin.cc (Sized_pluginobj::do_get_global_symbols): New
10868 * symtab.cc (Symbol_table::add_from_object): Rename def parameter
10882 * resolve.cc (Symbol_table::should_override): Don't warn about a
10889 * object.cc (Input_objects::check_dynamic_dependencies): Give an
10901 * icf.cc (Icf::find_identical_sections): Ditto.
10915 * layout.cc (Layout::relaxation_loop_body): If -Ttext was used,
10920 * common.cc (Sort_commons::operator()): Stabilize sort when both
10936 * script.cc (read_input_script): If we see a new SECTIONS clause,
10940 * layout.cc (Layout::Layout): Initialize
10950 * common.cc (Sort_common): Add sort_order parameter to
10961 * symtab.cc (Symbol_table::add_from_relobj): When not exporting
10972 * script.cc: Various formatting fixes.
10993 * options.cc (Command_line::version_script): New function.
11012 * object.cc (Sized_relobj::do_count_local_symbols): Handle
11019 * output.cc (Output_segment::Output_segment): If PT_TLS, set the
11025 * dynobj.cc (Dynobj::create_gnu_hash_table): Add symbols to the
11032 * layout.cc (Layout::create_dynamic_symtab): Only set entsize of
11041 * i386.cc (class Target_i386): Initialize global_offset_table_ in
11046 * x86_64.cc (class Target_x86_64): Initialize global_offset_table_
11052 * layout.cc (Layout::Layout): Initialize increase_relro_.
11062 * output.cc (Output_section::Output_section): Initialize
11077 * i386.cc (Target_i386::got_section): Don't call set_is_relro.
11079 * x86_64.cc (Target_x86_64::got_section): Likewise.
11083 * layout.cc (Layout::Layout): Initialize dynamic_symbol_ field.
11092 * output.cc (Output_section::Output_section): Initialize
11103 * main.cc (main): Fix the sys time reporting.
11104 * workqueue.cc (Workqueue::find_and_run_task): Fix the sys time
11109 * options.cc (General_options::parse_version): Allow -v to exit
11120 * attributes.cc (Output_attributes_section_data::do_write): Use
11126 * resolve.cc (Symbol_table::should_override): Add defined
11132 * symtab.cc (Symbol_table::define_in_output_data): Add defined
11141 * script.cc (Script_options::add_symbol_assignment): Add is_defsym
11149 * gold.cc (queue_middle_tasks): Fix formatting.
11150 * object.cc (Relobj::is_section_name_included): Likewise.
11154 * i386.cc (Target_i386::do_calls_non_split): Recognize
11156 * x86_64.cc (Target_x86_64::do_calls_non_split): Recognize
11161 * options.cc (General_options::parse_version): Make -v continue and do
11166 * Makefile.am (CCFILES): Add timer.cc.
11169 * main.cc: include timer.h.
11171 * timer.cc: New.
11173 * workqueue.cc: include timer.h.
11182 * arm.cc (Arm_relobj::scan_sections_for_stubs): Exclude ICF-eliminated
11184 * object.cc (Sized_relobj::do_finalize_local_symbols): Handle
11186 * output.cc (Output_section::find_relaxed_input_section): Change
11195 * symtab.cc (Symbol_table::compute_final_value): Handle relaxed
11200 * layout.cc (Layout::create_shstrtab): Only write out after input
11205 * archive.cc (Archive::add_symbols): Only look up a symbol without
11217 * arm.cc (Target_arm::do_finalize_sections): Fix build breakage
11219 * attributes.cc (Object_attribute::size): Ditto.
11224 * testsuite/tls_test_main.cc (safe_lock, safe_unlock): Ditto.
11228 * archive.cc: Fix shadowed variable warnings.
11229 * arm.cc: Likewise.
11230 * compressed_output.cc: Likewise.
11233 * dwarf_reader.cc: Likewise.
11234 * dynobj.cc: Likewise.
11236 * ehframe.cc: Likewise.
11238 * errors.cc: Likewise.
11239 * expression.cc: Likewise.
11240 * fileread.cc: Likewise.
11243 * i386.cc: Likewise.
11244 * icf.cc: Likewise.
11246 * layout.cc: Likewise.
11248 * mapfile.cc: Likewise.
11249 * merge.cc: Likewise.
11251 * object.cc: Likewise.
11254 * output.cc: Likewise.
11256 * parameters.cc: Likewise.
11257 * plugin.cc: Likewise.
11258 * powerpc.cc: Likewise.
11259 * reduced_debug_output.cc: Likewise.
11261 * reloc.cc: Likewise.
11263 * resolve.cc: Likewise.
11264 * script-sections.cc: Likewise.
11265 * script.cc: Likewise.
11267 * sparc.cc: Likewise.
11268 * symtab.cc: Likewise.
11270 * target-select.cc: Likewise.
11273 * workqueue.cc: Likewise.
11275 * x86_64.cc: Likewise.
11279 * arm.cc (attributes.h): New include.
11319 * plugin.cc (Plugin::load): Don't cast from void* to a function
11324 * dynobj.cc (Sized_dynobj::do_read_symbols): Clear version
11335 * Makefile.am (CCFILES): Add attributes.cc and int_encoding.cc.
11338 * dwarf_reader.cc (read_unsigned_LEB_128, read_signed_LEB_128): Move
11339 function definitions to int_encoding.cc
11342 * reduced_debug_output.cc (int_encoding.h): New include.
11344 function definitions to int_encoding.cc
11347 * attributes.cc: New file.
11349 * int_encoding.cc: New file.
11355 * incremental-dump.cc (dump_incremental_inputs): New.
11361 * i386.cc (Target_i386::Scan::globa): Use is_func instead of
11364 * x86_64.cc (Target_x86_64::Scan::global): Likewise.
11366 * symtab.cc (Symbol_table::sized_write_symbol): Turn IFUNC
11373 * arm.cc (Target_arm::arm_info): Initialize new fields
11375 * i386.cc (Target_i386::i386_info): Same.
11376 * object.cc (Sized_relobj::do_layout): Skip attribute section.
11377 * gold/powerpc.cc (Target_powerpc::powerpc_info): Initialize new
11379 * sparc.cc (Target_sparc::sparc_info): Same.
11387 * x86_64.cc (Target_x86_64::x86_64_info): Initialize new fields
11389 * testsuite/testfile.cc (Target_test::test_target_info): Same.
11393 * arm.cc: Update comments about interworking and stub generation.
11423 * resolve.cc (symbol_to_bits): Treat STB_GNU_UNIQUE as STB_GLOBAL.
11429 * incremental.cc (Incremental_inputs::sized_create_inputs_section_data):
11438 * arm.cc: Remove comment about missing .ARM.exidx section symbols.
11441 * i386.cc (Target_i386::do_finalize_sections): Add an additional
11443 * layout.cc (Layout::finalize): Call Target::finalize_sections with
11445 * powerpc.cc (Target_powerpc::do_finalize_sections): Add an additional
11447 * sparc.cc (Target_sparc::do_finalize_sections): Ditto.
11450 * x86_64.cc (Target_x86_64::do_finalize_sections): Add an additional
11455 * incremental.cc (Incremental_inputs_header)
11464 * incremental.cc (make_sized_incremental_binary): Set the target.
11470 * incremental.cc (Incremental_inputs_entry): Remove unused argument
11475 * incremental-dump.cc (main): Check that the offeset of a script is 0.
11476 * incremental.cc (Incremental_inputs::sized_create_inputs_section_data):
11488 * incremental-dump.cc (main): Fix typos.
11493 * incremental-dump.cc (main): Use llu to print 64 bit values.
11509 * arm.cc (Target_arm::Target_arm): Move method definition
11527 * arm.cc (Target_arm::Target_arm): Move method definition outside of
11545 * arm.cc (Target_arm::may_use_thumb2_nop): New method definition.
11563 * incremental-dump.cc: New.
11564 * incremental.cc (Incremental_inputs_header_data,
11567 Incremental_inputs_entry_data): Move from incremental.cc
11571 * incremental.cc (Incremental_inputs_header,
11577 * incremental.cc (Incremental_inputs_header,
11584 * arm.cc (Target_arm::may_use_arm_nop): New method definition.
11601 * arm.cc (Arm_relobj::do_relocate_sections): Remove options parameter
11615 * i386.cc (Target_i386::do_calls_non_split): Add a cast to avoid
11617 * incremental.cc (open_incremental_binary): Initialized local
11619 * object.cc (make_elf_object): Ditto.
11620 * x86_64.cc (Target_x86_64::do_calls_non_split): Add a cast to avoid
11630 * arm.cc (Target_arm::fake_relnum_for_stubs): New constant.
11655 * reloc.cc: Instantiate
11662 * defstd.cc (in_segment): Set only_if_ref true for "end".
11666 * arm.cc (class Reloc_stub): Correct a comment.
11684 * fileread.cc (File_read::get_mtime): Use st_mtim if available.
11691 * output.cc (Output_segment::add_output_section): Add missing
11699 * symtab.cc (Symbol_table::set_dynsym_indexes): If a symbol is
11702 * layout.cc (Layout::finish_dynamic_section): Don't add DT_NEEDED
11708 * arm.cc (Target_arm::do_finalize_sections): Don't add dynamic
11710 * i386.cc (Target_i386::do_finalize_sections): Likewise.
11711 * powerpc.cc (Target_powerpc::do_finalize_sections): Likewise.
11712 * sparc.cc (Target_sparc::do_finalize_sections): Likewise.
11713 * x86_64.cc (Target_x86_64::do_finalize_sections): Likewise.
11717 * layout.cc (Layout::get_output_section): Add is_interp and
11728 * output.cc (Output_section::Output_sections): Initialize new
11737 * resolve.cc (Symbol_table::resolve): Handle --warn-common when
11747 * arm.cc (Target_arm::Target_arm): Initialize stub_tables_ and
11768 * defstd.cc (in_section): Add entries for __rel_iplt_start,
11786 * arm.cc (Stub_addend_reader): Fix bug in previouls check-in.
11790 * arm.cc (Stub_addend_reader): New struct template definition
11797 * arm.cc (Arm_relobj::processor_specific_flags): New method
11816 * i386.cc (Target_i386::do_finalize_sections): Add unnamed
11818 * layout.cc (Layout::finalize): Pass input objects to target's.
11820 * output.cc (Output_file_header::do_sized_write): Set ELF file
11822 * powerpc.cc (Target_powerpc::do_finalize_sections): Add unnamed
11824 * sparc.cc (Target_sparc::do_finalize_sections): Same.
11837 * x86_64.cc (Target_x86_64::do_finalize_sections): Add unnamed
11842 * arm.cc: Use Arm_address instead of elfcpp::Elf_types<32>::Elf_Addr.
11867 * arm.cc: Update functions to remove options parameters.
11868 * i386.cc: Likewise.
11869 * powerpc.cc: Likewise.
11870 * sparc.cc: Likewise.
11871 * x86_64.cc: Likewise.
11872 * testsuite/testfile.cc: Likewise.
11876 * arm.cc (Arm_relobj): New class definition.
11888 * plugin.cc (Plugin::cleanup): Test and set cleanup_done_.
11893 * fileread.cc: (File_read::View::~View): Use the new
11917 * symtab.cc (add_from_pluginobj): Pass correct value for is_ordinary.
11927 * reloc.cc (Sized_relobj::do_relocate_sections): Rename from
11933 * arm.cc (Arm_output_section, Arm_relobj): Forward class declarations.
11941 * arm.cc (Arm_input_section): New class definition.
11949 * arm.cc (Stub_table, Arm_input_section): New forward class
11958 * arm.cc: Update copyright comments.
11990 * stringpool.cc (Stringpool_template::string_hash): Use
11995 * object.cc (Sized_relobj::do_finalize_local_symbols): Handle section
12002 * dynobj.cc (Versions::Versions): Initialize version_script_.
12020 * expression.cc (class Segment_start_expression): New class definition.
12026 * script-sections.cc (Script_sections::Script_sections): Initialize
12036 * script.cc (script_saw_segment_start_expression): New function.
12054 * output.cc (Output_segment::set_section_list_address): Cast
12059 * script.cc (Script_options::add_symbol_assignment): Always add a
12061 * script-sections.cc (Script_sections::add_dot_assignment):
12064 * layout.cc (Layout::relaxation_loop_body): Don't crash if we see
12067 * layout.cc (Layout::set_segment_offsets): Align the file offset
12069 * output.cc (Output_segment::add_output_section): Don't crash if
12073 * script-sections.cc
12080 * layout.cc (Layout::finish_dynamic_section): Generate tags
12089 * object.cc (Sized_relobj::relocate_sections): Set reloc_shdr and
12091 * i386.cc (class Target_i386::Relocate): Remove ldo_addrs_ field.
12105 * options.cc (General_options::finalize): Reject incompatible uses
12107 * gold.cc (queue_middle_tasks): A -pie link is not static.
12109 * symtab.cc (Symbol::final_value_is_known): Return false if
12111 * layout.cc (Layout::set_segment_offsets): Start at address 0 if
12113 * output.cc (Output_file_header::do_sized_write): Use ET_DYN if
12115 * i386.cc (Output_data_plt_i386::do_write): Use the PIC PLT if
12129 * layout.cc (Layout::finish_dynamic_section): Emit
12136 * gold.cc (queue_initial_tasks): Likewise.
12138 * object.cc (do_layout): Likewise.
12139 * symtab.cc (is_section_folded): Likewise.
12140 * main.cc (main): Likewise.
12141 * reloc.cc (Read_relocs::run): Likewise.
12143 * icf.cc (is_function_ctor_or_dtor): New function.
12152 * (options.cc) (General_options::finalize): Set icf_status_.
12156 * testsuite/icf_safe_test.cc: New file.
12162 * arm.cc: Include gc.h.
12163 * gold.cc: Likewise.
12164 * i386.cc: Likewise.
12165 * powerpc.cc: Likewise.
12166 * sparc.cc: Likewise.
12167 * x86_64.cc: Likewise.
12172 * plugin.cc: Include "gold.h" before other header files.
12184 * options.cc (General_options::parse_library): Support -l:filename.
12188 * archive.cc (Archive::get_file_and_offset): Likewise.
12189 * plugin.cc (Plugin_manager::release_input_file): Likewise.
12190 * script.cc (read_script_file, script_add_file): Likewise.
12191 * fileread.cc (Input_file::Input_file): Likewise.
12194 * readsyms.cc (Read_symbols::get_name): Likewise.
12197 * testsuite/searched_file_test.cc: New file.
12198 * testsuite/searched_file_test_lib.cc: New file.
12203 * descriptor.cc: Include <cstdio> and "binary-io.h".
12205 * script.cc (Lex::get_token): Treat \r as whitespace.
12215 * fileread.cc (readv): Define if not HAVE_READV.
12223 * layout.cc (Layout::make_output_section): Call target hook to make
12232 * object.cc (Sized_relobj::do_setup): renamed from
12243 * options.cc (parse_int): New function.
12247 * output.cc (Output_section::Output_section): Initialize memebers
12304 * script-sections.cc
12309 * symtab.cc (Symbol_table::compute_final_value): Extract template
12315 * target.cc (Target::do_make_output_section): New method defintion.
12329 * plugin.cc: Don't include dlfcn.h when ENABLE_PLUGINS is not
12334 * dwarf_reader.cc (Sized_dwarf_line_info::Sized_dwarf_line_info):
12344 * layout.cc (Layout::create_symtab_sections): Cast the result of
12349 * arm.cc (Target_arm::relocate::reloc_is_non_pic): Return true for
12370 * arm.cc (Arm_relocate_functions::movw_prel_nc): New function.
12381 * gold.cc: (queue_initial_tasks): Pass incremental_inputs to
12383 * incremental.cc: (INCREMENTAL_LINK_VERSION): Change type to
12412 * incremental.cc: Include <cstdarg> and "target-select.h".
12426 * object.cc (is_elf_object): Use
12433 * arm.cc (Arm_relocate_functions::extract_arm_movw_movt_addend):
12452 * arm.cc (Arm_relocate_functions::got_prel) New function.
12469 * object.cc (Object::handle_split_stack_section): New function.
12471 * dynobj.cc (Sized_dynobj::do_layout): Call
12473 * reloc.cc (Sized_relobj::relocate_sections): Call
12485 * target.cc: Include "elfcpp.h".
12489 * gold.cc (queue_middle_tasks): Give an error if mixing
12491 * i386.cc (Target_i386::relocate_section): Add
12494 * x86_64.cc (Target_x86_64::relocate_section): Add
12497 * arm.cc (Target_arm::relocate_section): Add reloc_symbol_changes
12499 * powerpc.cc (Target_powerpc::relocate_section): Add
12501 * sparc.cc (Target_sparc::relocate_section): Add
12528 * testsuite/testfile.cc (Target_test): Update relocation_section
12534 * i386.cc (class Target_i386::Relocate): Add ldo_addrs_ field.
12543 * plugin.cc (add_input_library): New.
12552 * arm.cc (Target_arm::may_need_copy_reloc): Check for THUMB function
12555 * copy-relocs.cc (Copy_relocs::need_copy_reloc): Return false if -z
12559 * i386.cc (Target_i386::may_need_copy_reloc): Remove.
12563 * powerpc.cc (Target_powerpc::may_need_copy_reloc): Remove.
12566 * sparc.cc (Target_powerpc::may_need_copy_reloc): Remove.
12570 * x86_64.cc (Target_powerpc::may_need_copy_reloc): Remove.
12580 * object.cc (Sized_relobj::setup): Remove target parameter.
12585 * dynobj.cc (Sized_dynobj::target): Remove target parameter.
12587 * parameters.cc (Parameters::set_target): Change parameter type to
12599 * readsyms.cc (Read_symbols::do_read_symbols): Pass punconfigured
12602 * fileread.cc (Input_file::open_binary): Call
12604 * gold.cc (queue_middle_tasks): Likewise.
12605 * plugin.cc (make_sized_plugin_object): Likewise. Don't call
12608 * archive.cc (Archive::get_elf_object_for_member): Return NULL if
12612 * output.cc (Output_section::add_input_section): Get target from
12615 * reloc.cc (Sized_relobj::do_gc_process_relocs): Get target from
12619 * resolve.cc (Symbol_table::resolve): Likewise.
12620 * symtab.cc (Symbol_table::wrap_symbol): Likewise. Remove object
12628 * testsuite/binary_unittest.cc (gold_testsuite): Remove target
12631 * testsuite/object_unittest.cc (gold_testsuite): Remove
12648 * object.cc (Sized_relobj::do_count): Test should_retain_symbol map.
12649 * options.cc: Include <cerrno> and <fstream>.
12654 * symtab.cc (Symbol_table::sized_finalize_symbol): Test
12669 * layout.cc
12698 * output.cc: (Output_section_headers::do_size): New method definition.
12791 * script-sections.cc (Output_section_element::Input_section_list):
12822 * arm.cc (has_signed_unsigned_overflow): New function.
12841 * output.cc (Output_file::open): Add execute permission to empty file.
12847 * output.cc (Output_file::resize): Call map_no_anonymous rather
12852 * gold.cc: Include "incremental.h".
12854 * incremental.cc: Include "output.h".
12859 * output.cc (Output_file::open_for_modification): New method.
12870 * options.cc (gold::options::ready_to_register): New variable.
12909 * resolve.cc (Symbol_table::resolve): Don't complain about defined
12920 * dynobj.cc (Sized_dynobj::setup): Take a Target object instead of
12924 * object.cc (Object::set_target): Remove the version that looks up
12934 * target.cc: Include dynobj.h.
12948 * icf.cc (Icf::find_identical_sections): Issue a warning when a
12953 * icf.cc (Icf::find_identical_sections): Unfold symbols that have
12961 * testsuite/icf_keep_unique_test.cc: New file.
12966 * resolve.cc (Symbol_table::resolve): Check for references from
12976 * arm.cc: Update comments.
12991 * x86_64.cc (Target_x86_64::Relocate::relocate_tls): Check for a
12995 * testsuite/gc_tls_test.cc: New file.
13000 * icf.cc: New file.
13002 * Makefile.am (CCFILES): Add icf.cc.
13008 * gold.cc (queue_middle_tasks): Call identical code folding.
13010 * layout.cc (Layout::create_symtab_sections): Add symtab as parameter
13012 * main.cc (main): Create object of class Icf.
13013 * object.cc (Sized_relobj::do_layout): Allow this function to be
13027 * plugin.cc (Sized_pluginobj::do_section_entsize): New function.
13029 * reloc.cc (Read_relocs::run): Delay scanning relocs when doing
13031 * symtab.cc (Symbol_table::is_section_folded): New function.
13042 * testsuite/icf_test.cc: New file.
13046 * layout.cc (is_compressible_debug_section): Fix incorrect
13052 * x86_64.cc (Target_x86_64::do_code_fill): Correct nop sequences.
13064 * layout.cc (Layout::find_or_add_kept_section): Remove candidate
13068 * object.cc (Sized_relobj::include_section_group): Update use of
13085 * plugin.cc (Pluginobj::include_comdat_group): Update call to
13090 * merge.cc (Object_merge_map::initialize_input_to_output_map):
13095 * fileread.cc (File_read::get_mtime): New method.
13098 * incremental.cc (Incremental_inputs_entry_data::timestamp_usec):
13120 * script.cc (read_input_script): Pass file mtime to
13132 * layout.cc (Layout::choose_output_section): If we find an
13146 * gold.cc (queue_middle_tasks): Call create_notes.
13147 * output.cc (Output_section::update_flags_for_input_section): Move
13156 * script-sections.cc (Output_section_definition::
13163 * reloc.cc (relocate_sections): Skip empty relocation sections.
13168 * layout.cc (Layout::create_note): Use choose_output_section
13174 * options.cc (General_options::parse_V): Set printed_version_.
13177 * gold.cc (queue_initial_tasks): If there are no input files,
13185 * layout.cc (Layout::Layout): Initialize have_stabstr_section_.
13201 * fileread.cc: Include sys/state.h
13213 * object.cc (Object::section_contents): Don't try to get a view if
13223 * stringpool.cc (Stringpool_template::Stringpool_template):
13227 * layout.cc (Layout::Layout): Call set_optimize on the section
13234 * script.cc (script_set_target): New function.
13236 * options.cc (General_options::string_to_object_format): Rename
13244 * script-sections.cc (Script_sections::create_segments): Don't put
13252 * layout.cc (Layout::finish_dynamic_section): Handle -z now.
13256 * layout.cc (Layout::make_output_section): Call
13275 * output.cc (Output_section::Output_section): Initialize new
13288 * symtab.cc (Symbol::is_common_shndx): New function.
13295 * common.cc (Symbol_table::do_allocate_commons): Allocate new
13301 * object.cc (Sized_relobj::do_finalize_local_symbols): Check
13303 * resolve.cc (symbol_to_bits): Likewise.
13313 * arm.cc (Target_arm::arm_info): Initialize new fields.
13314 * i386.cc (Target_i386::i386_info): Likewise.
13315 * powerpc.cc (Target_powerpc::powerpc_info) [all versions]:
13318 * x86_64.cc (Target_x86_64::x86_64_info): Likewise.
13325 * testsuite/testfile.cc (Target_test::test_target_info):
13331 * Makefile.am (CCFILES): Add target.cc.
13333 * i386.cc (class Target_i386): Define new virtual method to
13335 * object.cc (Sized_relobj::do_count_local_symbols): Discard
13341 * target.cc: New file.
13353 * object.cc (Sized_relobj::Sized_relobj): Initialize
13368 * layout.cc (Layout::section_name_mapping): Add mapping for
13373 * arm.cc (utils::sign_extend): Reverse test in gold_assert.
13378 * layout.cc (Layout::section_name_mapping): New array, replacing
13391 * gold/arm.cc (namespace utils): New.
13399 * arm.cc (Target_arm::scan::global): Use || instead of |.
13403 * gold/arm.cc (Target_arm::Scan::Scan): Initialize
13419 * incremental.cc (Incremental_inputs::report_command_line): Filter
13424 * gold/arm.cc (Output_data_plt_arm): Forward declaration for new
13454 * Makefile.am (TARGETSOURCES): Add arm.cc.
13457 * arm.cc: New file.
13462 * options.cc (General_options::parse_exclude_libs). Fix a comment.
13493 * object.cc (Sized_relobj::map_to_kept_section): Return NULL if the
13498 * testsuite/gc_comdat_test_1.cc: New file.
13499 * testsuite/gc_comdat_test_2.cc: New file.
13503 * archive.cc (Archive::Archive): Move constructor from archive.h
13507 archive.cc.
13513 * options.cc (General_options::parse_exclude_libs): New method.
13518 * symtab.cc (Symbol_table::add_from_relobj): Hide symbols with
13545 * incremental.cc (Incremental_inputs::report_achive): New method.
13564 * main.cc (main): Call Incremental_input::report_inputs.
13570 * plugin.cc (Plugin_manager::add_input_file): Add error in
13572 * read_syms.cc (do_read_syms): Call Incremental_input::report_*
13574 * script.cc (read_input_script): Call
13580 * x86_64.cc (do_adjust_output_section): Set entsize to
13585 * output.cc (Output_file::close): After short writes, continue
13598 * incremental.cc (Incremental_inputs_header_data): Renamed from
13615 * layout.cc (Layout::Layout): Handle new incremental_inputs_.
13622 * main.cc (main): Notify Incremental_input of the command line.
13629 * layout.cc (Layout::Layout): Remove options parameter. Add
13646 * main.cc (main): Pass number of input files to Layout
13671 * powerpc.cc (Target_powerpc::check_non_pic): Assert that output is
13673 * sparc.cc (Target_sparc::check_non_pic): Likewise.
13674 * x86_64.cc (Target_x86_64::check_non_pic): Likewise.
13686 * script.cc (script_add_extern): Define.
13691 * object.cc (is_elf_object): Define.
13693 * archive.cc (Archive::get_elf_object_for_member): Call
13695 * readsyms.cc (Read_symbols::do_read_symbols): Likewise.
13699 * output.cc (Output_file::map_anonymous): Define.
13706 * target-select.cc (instantiate_target): Don't acquire the lock if
13712 * gold-threads.cc (class Initialize_lock_once): Define.
13721 * target-select.cc (Target_selector::Target_selector): Initialize
13726 * descriptors.cc (Descriptors::Descriptors): Initialize new
13730 * errors.cc (Errors::Errors): Initialize new field.
13732 * powerpc.cc (class Target_selector_powerpc): Remove
13736 * sparc.cc (class Target_selector_sparc): Likewise.
13739 * i386.cc: Include "freebsd.h".
13744 * x86_64.cc: Include "freebsd.h".
13751 * output.cc (Output_file_header:: do_sized_write): Call target
13755 * parameters.cc (Parameters::default_target): Pass
13762 * merge.cc (do_add_input_section): Correct pend value. Change
13768 * incremental.cc: New file.
13769 * Makefile.am (CCFILES): Add incremental.cc.
13774 * layout.cc (Layout::output_section_name): Preserve names
13779 * descriptors.cc (Descriptors::open): Check that the options are
13790 * script-sections.cc (class Orphan_section_placement): New class.
13807 * archive.cc (Archive::add_symbols): Check for a version attached
13818 * output.cc (posix_fallocate): Define dummy version if not
13828 * layout.cc (Layout::create_note): Likewise.
13833 * descriptors.cc: Include "options.h".
13839 * sparc.cc (class Target_sparc): Add has_got_section.
13843 * sparc.cc (optimize_tls_reloc): Recognize R_SPARC_TLS_IE_ADD.
13849 * symtab.cc (Symbol_table::define_default_version): New function,
13865 * readsyms.cc (Read_symbols::incompatible_warning): New function.
13881 * archive.cc (Archive::setup): Remove input_objects parameter.
13902 * script.cc: Include "target-select.h".
13921 * fileread.cc (Input_file::Input_file): Add explicit this.
13926 * object.cc (make_elf_object): Add punconfigured parameter.
13931 * dirsearch.cc (Dirsearch::find): Add pindex parameter. Use it to
13935 * parameters.cc (Parameters::is_compatible_target): New function.
13937 * workqueue.cc (Workqueue::add_blocker): New function.
13940 * fileread.cc (Input_file::open): Remove options parameter.
13943 * script.cc (read_input_script): Likewise.
13956 * options.cc (parse_short_option): Keep dash_z from registering itself.
13963 * i386.cc (Target_i386::should_apply_static_reloc): Add
13966 * x86_64.cc (Target_x86_64::Relocate::relocate): Likewise.
13967 * sparc.cc (Target_sparc::Relocate::relocate): Likewise.
13968 * powerpc.cc (Target_powerpc::Relocate::relocate): Likewise.
13983 * layout.cc (Layout::find_or_add_kept_section): New function.
13989 * object.cc (Sized_relobj::Sized_relobj): Don't initialize
13994 * object.cc (class Sized_relobj): Don't define Comdat_group or
13997 * plugin.cc (include_comdat_group): Use
14006 * symtab.cc (Symbol_table::sized_write_section_symbol): In a
14008 * object.cc (Sized_relobj::do_finalize_local_symbols): In a
14017 * options.cc (get_relative_sysroot): Make static.
14020 * fileread.cc (Input_file::is_in_system_directory): New function.
14024 * object.cc (Input_objects::add_object): Don't set
14027 * symtab.cc (Symbol_table::write_globals): Remove input_objects
14036 * descriptors.cc (Descriptors::open): If the descriptor is on the
14044 * output.cc (Output_section::find_starting_output_address): Rename
14049 * object.cc (Sized_relobj::do_finalize_local_symbols): Handle a
14053 * symtab.cc (Symbol_table::add_from_object): If the visibility is
14055 * resolve.cc (Symbol::override_visibility): Define.
14071 * layout.cc (Layout::choose_output_section): Don't rename sections
14077 * testsuite/script_test_5.cc: New file.
14083 * archive.cc (Archive::include_member): Update calls to add_symbols.
14084 * dynobj.cc (Sized_dynobj<size, big_endian>::make_version_map): Add
14087 * object.cc (Sized_relobj<size, big_endian>::do_add_symbols): Add the
14092 * plugin.cc (Sized_pluginobj<size, big_endian>::do_add_symbols):
14098 * readsyms.cc (Read_symbols::do_read_symbols): Update call to
14104 * object.cc (Sized_relobj::do_layout): Make info message start
14109 * binary.cc: Fix file comment.
14121 * options.cc (General_options::parse_incremental_changed): New
14139 * symtab.cc (Symbol_table::warn_about_undefined_dynobj_symbol):
14143 * errors.cc (Errors::fatal): Print "fatal error:" before the
14166 * script.cc (Lazy_demangler): New class.
14172 * i386.cc (Target_i386::Relocate::relocate): Recognize non-PIC calls
14174 * x86_64.cc (Target_x86_64::Relocate::relocate): Likewise.
14178 * version.cc (version_string): Bump to 1.9.
14181 * version.cc: Include <cstdio>.
14182 * object.cc (Sized_relobj::do_layout): Initialize gc_sd to avoid a
14184 * reduced_debug_output.cc (insert_into_vector): Rename from
14190 * Makefile.am (CCFILES): Add gc.cc.
14193 * gold.cc (Gc_runner): New class.
14200 (is_prefix_of): Move from "layout.cc".
14201 * i386.cc (Target_i386::gc_process_relocs): New function.
14202 * layout.cc (is_prefix_of): Remove. Move to "gold.h"
14203 * main.cc (main): Create object of class "Garbage_collection".
14204 * object.cc (Relobj::copy_symbols_data): New function.
14223 * plugin.cc (Plugin_finish::run): Remove function call to
14224 Plugin_manager::layout_deferred_objects. Move it to "gold.cc".
14225 * powerpc.cc (Target_powerpc::gc_process_relocs): New function.
14226 * reloc.cc (Read_relocs::run): Add task to process relocs and
14233 * sparc.cc (Target_sparc::gc_process_relocs): New function.
14234 * symtab.cc (Symbol::should_add_dynsym_entry): Do not add entries for
14256 * x86_64.cc (Target_x86_64::gc_process_relocs): New function.
14257 * testsuite/testfile.cc (Target_test::gc_process_relocs): New function.
14264 * options.cc (General_options::finalize): Honor -Bshareable.
14268 * powerpc.cc (Powerpc_relocate_functions::rel16_ha): Don't try to
14279 * object.cc (Sized_relobj::write_local_symbols): Don't write out
14284 * output.cc (Output_reloc): Add explicit instantiations.
14288 * archive.cc (Archive::get_elf_object_for_member): Remove call
14290 * descriptors.cc (Descriptors::open): Remove reference to
14296 * fileread.cc (File_read::claim_for_plugin): Remove.
14299 * plugin.cc (Plugin::load): Add two new APIs to transfer vector.
14321 * readsyms.cc (Read_symbols::do_read_symbols): Remove call to
14344 * version.cc (version_string): Bump to 1.8.
14348 * gold.cc (gold_exit): Call plugin cleanup handlers on exit.
14349 * plugin.cc (Plugin_manager::finish): Rename as
14361 * plugin.cc (is_visible_from_outside): New function.
14371 * object.cc (Sized_relobj::layout_section): New function.
14382 * plugin.cc (Plugin_manager::finish): Renamed, was cleanup.
14403 * plugin.cc (Plugin::load): Move LDPT_MESSAGE to front of transfer
14424 * reloc.cc (Emit_relocs_strategy::local_non_section_strategy): Add
14439 * layout.cc (Layout::add_comdat): Allow COMDAT group from a replacement
14452 * options.cc (General_options::parse_plugin_opt): New.
14458 * plugin.cc (Plugin::load): Don't parse the plugin option.
14469 * layout.cc (Layout::include_section): Check for SHF_EXCLUDE.
14475 * plugin.cc (ld_plugin_message): Change format parameter to const.
14480 * reloc.cc (Sized_relobj::do_read_relocs): Use constant invalid_address
14485 * options.cc (General_options::parse_dynamic_list): New function.
14490 * script.cc (Lex::Mode): New enum DYNAMIC_LIST.
14502 * symtab.cc (strprefix): New macro.
14526 * gold.cc (queue_middle_tasks): Assert that list of dynamic objects
14531 * plugin.cc (make_sized_plugin_object): Fix conditional
14536 * archive.cc (Archive::get_file_and_offset): Use filename instead
14544 * testsuite/thin_archive_main.cc: New file.
14545 * testsuite/thin_archive_test_1.cc: New file.
14546 * testsuite/thin_archive_test_2.cc: New file.
14547 * testsuite/thin_archive_test_3.cc: New file.
14548 * testsuite/thin_archive_test_4.cc: New file.
14552 * mapfile.cc (Mapfile::print_input_section): Change -1U to -1ULL.
14553 * object.cc (Sized_relobj::do_layout): Use constant invalid_address
14560 * output.cc (Output_reloc::local_section_offset): Use constant
14565 * reloc.cc (Sized_relobj::write_sections): Use constant
14568 * symtab.cc (Symbol_table::sized_finalize_symbol): Handle symbol
14580 (CCFILES): Add plugin.cc.
14585 * archive.cc: Include "plugin.h".
14592 * descriptors.cc (Descriptors::open): Check for file descriptors
14598 * fileread.cc (File_read::claim_for_plugin): New function.
14601 * gold.cc: Include "plugin.h".
14604 * main.cc: Include "plugin.h".
14610 * options.cc: Include "plugin.h".
14620 * plugin.cc: New file.
14622 * readsyms.cc: Include "plugin.h".
14625 * resolve.cc (Symbol_table::resolve): Record when symbol is referenced
14628 * symtab.cc (Symbol::init_fields): Initialize in_real_elf_ field.
14664 * i386.cc (Target_i386::do_is_defined_by_abi): Likewise.
14665 * powerpc.cc (Target_powerpc::do_is_defined_by_abi): Likewise.
14666 * sparc.cc (Target_sparc::do_is_defined_by_abi): Likewise.
14667 * x86_64.cc (Target_x86_64::do_is_defined_by_abi): Likewise.
14671 * fileread.cc (make_view): Add casts to avoid warning.
14675 * i386.cc (Target_i386::define_tls_base_symbol): Update comments.
14676 * x86_64.cc (Target_x86_64::define_tls_base_symbol): Likewise.
14682 * i386.cc (Target_i386::define_tls_base_symbol): Use SEGMENT_START
14684 * x86_64.cc (Target_x86_64::define_tls_base_symbol): Likewise.
14689 * layout.cc (Layout:finish_dynamic_section): If "-z origin"
14695 * fileread.cc (File_read::make_view): Add check for attempt to map
14700 * symtab.cc (Symbol_table::add_from_dynobj): Fix typos in
14706 * options.cc (General_options::finalize): Allow undefined symbols
14710 * symtab.cc (Symbol::init_base_undefined): Mark explicitly undefined
14715 * fileread.cc (File_read::open): Do not lock the file unless it
14720 * x86_64.cc (Target_x86_64::Relocate::relocat_tls):
14722 * testsuite/tls_test.cc (struct int128): 128-bit struct
14728 * testsuite/tls_test_main.cc (thread_routine): Call new test.
14732 * layout.cc (Layout::attach_allocated_section_to_segment): Don't
14737 * output.cc (Output_segment::add_output_section): Handle SHF_TLS
14741 * script.cc (script_data_segment_align): New function.
14748 * script-sections.cc (class Sections_element): Add set_is_relro
14776 * testsuite/relro_test.cc (using_script): Declare.
14788 * archive.cc (Archive::total_archives, Archive::total_members)
14818 * main.cc: Include archive.h.
14820 * mapfile.cc (Mapfile::report_include_archive_member): Delete
14824 * readsyms.cc (Read_symbols::do_read_symbols): Change call to
14830 * i386.cc (Relocate::relocate): Call Symbol::use_plt_offset.
14831 * powerpc.cc (Relocate::relocate): Likewise.
14832 * sparc.cc (Relocate::relocate): Likewise.
14833 * x86_64.cc (Relocate::relocate): Likewise.
14835 * testsuite/weak_plt_main.cc: New test.
14836 * testsuite/weak_plt_shared.cc: New test.
14857 * script.cc (Script_options::finalize_symbols): Finalize SECTIONS
14859 * testsuite/script_test_2.cc (test_addr): Declare.
14869 * descriptors.cc: New file.
14872 * fileread.cc: Include "descriptors.h".
14886 * layout.cc: Include "descriptors.h".
14888 * output.cc: Include "descriptors.h".
14890 * archive.cc (Archive::const_iterator): Change Archive to be
14896 * Makefile.am (CCFILES): Add descriptors.cc.
14905 * ehframe.cc (Eh_frame::add_ehframe_input_section): Check whether
14908 * dynobj.cc (Versions::Versions): Update comment.
14910 * dynobj.cc (Versions::Versions): If there is an soname, use it as
14913 * stringpool.cc (Stringpool_template::add_with_length): Set key to
14929 * script.cc (Version_script_info::get_versions): Don't add empty
14937 * symtab.cc (Sized_symbol::add_from_relobj): Rework version
14949 * symtab.cc (Symbol_table::sized_write_symbol): Only set st_size
14954 * symtab.cc (Symbol_table::resolve): Remove version parameter.
14957 * testsuite/ver_test_9.cc: New file.
14967 * layout.cc (Layout::set_segment_offsets): Handle
14972 * options.cc (General_options::finalize): For -n/--nmagic or
14974 * layout.cc (Layout::attach_allocated_section_to_segment): If
14982 * script-sections.cc (Script_sections::create_segments): If
14986 * cref.cc: New file.
14989 * main.cc (main): Issue defined symbol report if requested.
14990 * archive.cc (Archive::interpret_header): Make into a const member
15000 * object.cc: Include "cref.h".
15014 * dynobj.cc (Sized_dynobj::Sized_dynobj): Initialize symbols_ and
15021 * symtab.cc (Symbol_table::add_from_relobj): Add defined
15026 * Makefile.am (CCFILES): Add cref.cc.
15032 * symtab.cc (Symbol_table::sized_write_symbol): Set symbol size
15037 * output.cc (Output_section::add_input_section): Don't try to
15042 * symtab.cc (Symbol_table::warn_about_undefined_dynobj_symbol):
15056 * symtab.cc (Symbol_table::add_from_object): Rewrite the case
15058 * testsuite/ver_test_main.cc (main): Call t4.
15060 * testsuite/ver_test_2.cc (t4_2): Define.
15062 * testsuite/ver_test_4.cc (t4_2a): Define.
15068 * dynobj.cc (Versions::add_def): If we give an error about a
15091 * object.cc (Relobj::output_section_address): Remove.
15104 * reloc.cc (Sized_relobj::do_read_relocs): Change map_to_output to
15108 * symtab.cc (sized_finalize_symbol): Use output_section_offset.
15113 * output.cc (Output_reloc::Output_reloc): Change relobj to
15123 * copy-relocs.cc (Copy_relocs::copy_reloc): Change object
15133 * layout.cc (Layout::layout): Always set *off.
15134 * mapfile.cc (Mapfile::print_input_section): Use
15136 * i386.cc (Target_i386::copy_reloc): Change object parameter to
15138 * powerpc.cc (Target_powerpc::copy_reloc): Likewise.
15139 * sparc.cc (Target_sparc::copy_reloc): Likewise.
15140 * x86_64.cc (Target_x86_64::copy_reloc): Likewise.
15144 * layout.cc (Layout::include_section): Do not discard unrecognized
15149 * script.cc (Lex::can_continue_name): Make '?' allowable in
15156 * symtab.cc (Symbol_table::add_undefined_symbols_from_command_line):
15163 * powerpc.cc (Powerpc_relocate_functions::addr16_ha) [both
15169 * fileread.cc (File_read::make_view): Assert on zero-length view.
15170 * object.cc (Sized_relobj::do_read_symbols): Don't try to read
15175 * version.cc (version_string): Bump to 1.7
15179 * powerpc.cc (Powerpc_relocate_functions::addr16_ha): cast
15189 * testsuite/copy_test.cc: New file.
15190 * testsuite/copy_test_1.cc: New file.
15191 * testsuite/copy_test_2.cc: New file.
15199 * script-sections.cc (Script_sections::place_orphan): Initialize
15204 * powerpc.cc (Output_data_plt_powerpc::do_write): 8 + 4 = 0xC.
15209 * powerpc.cc: New file.
15210 * Makefile.am (TARGETSOURCES): Add powerpc.cc
15217 * testsuite/relro_test.cc: Include <cstdio>, <cstdlib>, and
15226 * binary.cc (Binary_to_elf::sized_convert): Fix .data
15231 * archive.cc (Archive::include_all_members) Correct to step
15242 * reduced_debug_output.cc: New file.
15245 * options.cc (General_options::finalize): Add strip_debug_non_line
15249 * layout.cc: Include "reduced_debug_output.h".
15256 * dwarf_reader.cc (read_unsigned_LEB_128): Move to namespace
15261 * Makefile.am (CCFILES): Add reduced_debug_output.cc.
15267 * mapfile.cc: New file.
15270 * options.cc (General_options::finalize): Make -M equivalent to
15272 * main.cc: Include <cstdio> and "mapfile.h".
15274 * gold.cc (class Middle_runner): Add mapfile_ field. Update
15280 * archive.cc: Include "mapfile.h".
15295 * common.cc: Include "mapfile.h".
15304 * layout.cc: Include "mapfile.h".
15313 * output.cc (Output_section::Input_section::print_to_mapfile): New
15343 * script-sections.cc
15347 * script.cc (read_input_script): Add mapfile parameter. Change
15354 * i386.cc (Output_data_plt_i386::do_print_to_mapfile): New
15356 * sparc.cc (Output_data_plt_sparc::do_print_to_mapfile): New
15358 * x86_64.cc (Output_data_plt_x86_64::do_print_to_mapfile): New
15360 * Makefile.am (CCFILES): Add mapfile.cc.
15367 * layout.cc (Layout::Layout): Initialize relro_segment_.
15383 * output.cc (Output_section::Output_section): Initialize is_relro_
15404 * i386.cc (Target_i386::got_section): Mark .got section as relro.
15405 * sparc.cc (Target_sparc::got_section): Likewise.
15406 * x86_64.cc (Target_x86_64::got_section): Likewise.
15407 * testsuite/relro_test_main.cc: New file.
15408 * testsuite/relro_test.cc: New file.
15417 * output.cc (Output_segment::add_output_section): Remove front
15422 * layout.cc (Layout::create_interp): Call add_output_section
15426 * i386.cc (Target_i386::Relocate::relocate_tls): Set dynamic type
15429 * x86_64.cc (Target_x86_64::Relocate): Add saw_tls_block_reloc_
15436 * output.cc (Output_reloc::get_address): Change return type to
15439 * x86_64.cc (Output_data_plt_x86_64::do_write): Use 64-bit types
15445 * gold.cc (gold_nomem): Use return value of write.
15464 * resolve.cc (Symbol::override_version): New function.
15480 * archive.cc (Archive::add_symbols): Check whether symbol was
15482 * gold.cc (queue_middle_tasks): Add -u symbols to symbol table.
15493 * symtab.cc (Symbol::init_base_object): Rename from init_base.
15514 * resolve.cc (Symbol_table::should_override): Likewise.
15517 * symtab.cc (Symbol_table::add_from_dynobj): If we see a protected
15519 * testsuite/protected_1.cc: New file.
15520 * testsuite/protected_2.cc: New file.
15521 * testsuite/protected_3.cc: New file.
15522 * testsuite/protected_main_1.cc: New file.
15523 * testsuite/protected_main_2.cc: New file.
15524 * testsuite/protected_main_3.cc: New file.
15541 * options.cc (General_options::parse_Bstatic): Remove.
15544 * main.cc (main): Implement --fatal-warnings.
15566 * output.cc (Output_reloc::get_address): New function, broken out
15577 * object.cc (Sized_relobj::include_section_group): Adjust section
15580 * layout.cc (Layout::layout_group): Add flags and shndxes
15584 * output.cc (Output_data_group::Output_data_group): Add flags and
15591 * testsuite/many_sections_test.cc: Add template.
15597 * layout.cc (Layout::include_section): Refactored check for debug
15608 * object.cc (Relobj::output_section_address): New function.
15639 * dwarf_reader.cc (next_generation_count): New static var.
15647 * symtab.cc (Symbol_table::detect_odr_violations): Pass
15652 * i386.cc (Relocate::relocate): Fix typos for R_386_PC16 and
15657 * object.cc (Sized_relobj::include_section_group): Check for
15660 * object.cc (make_elf_object): Correct test for 64-bit ELF file
15663 * readsyms.cc (Read_symbols::do_read_symbols): Use get_view rather
15665 * archive.cc (Archive::include_member): Likewise.
15674 * version.cc (version_string): Bump to 1.6.
15682 * object.cc (Sized_relobj::do_add_symbols): Always pass
15689 * object.cc (Xindex::initialize_symtab_xindex): New function.
15727 * dynobj.cc (Sized_dynobj::Sized_dynobj): Initialize dynsym_shndx_
15740 * layout.cc (Layout::Layout): Initialize symtab_xindex_ and
15760 * output.cc (Output_section_headers::Output_section_headers): Add
15773 * symtab.cc (Symbol::init_fields): Initialize is_ordinary_shndx_
15807 * resolve.cc (Symbol::override_base): Add st_shndx and is_ordinary
15814 * copy-relocs.cc (Copy_relocs::emit_copy_reloc): Require symbol
15816 * dwarf_reader.cc (Sized_dwarf_line_info::symbol_section): Add
15825 * ehframe.cc (Eh_frame::read_fde): Check for ordinary symbol.
15826 * reloc.cc (Sized_relobj::do_read_relocs): Adjust section links.
15830 * i386.cc (Scan::local): Check for ordinary symbols.
15831 * sparc.cc (Scan::local): Likewise.
15832 * x86_64.cc (Scan::local): Likewise.
15833 * testsuite/binary_unittest.cc (Sized_binary_test): Update calls
15835 * testsuite/many_sections_test.cc: New file.
15855 * errors.cc (Errors::info): New function.
15859 * object.cc (Input_objects::add_object): Print trace output.
15860 * options.cc (options::parse_set): New function.
15872 * symtab.cc (Symbol_table::add_from_object): Print trace output.
15876 * options.cc (General_options::parse_V): New function.
15881 * common.cc (Symbol_table::allocate_commons): Remove options
15889 * symtab.cc (Symbol_table::Symbol_table): Initialize
15898 * gold.cc (queue_middle_tasks): Update creation of
15918 * testsuite/tls_test.cc: Include "config.h".
15922 * testsuite/tls_test_main.cc (thread_routine): Call t11.
15929 * i386.cc (Target_i386::define_tls_base_symbol): New function.
15933 * symtab.cc (sized_finalize_symbol): Add check for TLS symbol.
15934 * x86_64.cc (Target_x86_64::define_tls_base_symbol): New function.
15950 * testsuite/weak_undef_file1.cc: Add extra test cases.
15951 * testsuite/weak_undef_file2.cc: Likewise.
15952 * testsuite/weak_undef_test.cc: Likewise.
15956 * sparc.cc (Target_sparc::Scan): Change from struct to class.
15969 * layout.cc (Layout:finish_dynamic_section): If new
15975 * copy-relocs.cc: New file.
15977 * reloc.cc: Remove Copy_relocs code.
15983 * i386.cc: Include "copy-relocs.h".
15990 * sparc.cc: Include "copy-relocs.h".
15997 * x86_64.cc: Include "copy-relocs.h".
16004 * Makefile.am (CCFILES): Add copy-relocs.cc.
16013 * script-sections.cc (Script_sections::create_segments): Use
16025 * sparc.cc: Add definitions for Output_data_plt_sparc class
16030 * sparc.cc: New file.
16031 * Makefile.am (TARGETSOURCES): Add sparc.cc
16045 * layout.cc (Layout::Layout): Initialize sections_are_attached_.
16067 * output.cc (Output_section::add_input_section): Call
16069 * gold.cc (queue_middle_tasks): Call attach_sections_to_segments.
16073 * i386.cc (Target_i386::got_mod_index_entry): Restore code previously
16075 * x86_64.cc (Target_x86_64::got_mod_index_entry): Likewise.
16081 * output.cc (Output_section_data::set_addralign): New function.
16086 * i386.cc (Target_i386::Relocate::tls_desc_gd_to_ie): New function.
16100 * output.cc (Output_data_dynamic::Dynamic_entry::write): Add
16107 * x86_64.cc (Target_x86_64::Relocate::tls_desc_gd_to_ie): New function.
16168 * testsuite/script_test_2a.cc (script_test_string_a): Make 8 bytes
16170 * testsuite/script_test_2.cc (main): Adjust test.
16177 * options.cc (General_options:finalize): If -Y was used, add those
16184 * testsuite/justsyms_1.cc: Adjust justsyms_string assertion.
16185 * testsuite/script_test_2b.cc (script_test_string_b): Make 8 bytes
16187 * testsuite/script_test_2.cc: Adjust string and section length
16193 * script-sections.cc (Sections_element::allocate_to_segment): Add
16205 * symtab.cc (Symbol_table::add_from_dynobj): Only look for weak
16216 * testsuite/weak_alias_test_main.cc: New file.
16217 * testsuite/weak_alias_test_1.cc: New file.
16218 * testsuite/weak_alias_test_2.cc: New file.
16219 * testsuite/weak_alias_test_3.cc: New file.
16224 * main.cc (main): Check --noinhibit-exec.
16230 * options.cc (General_options::parse_wrap): New function.
16232 * symtab.cc (Symbol_table::wrap_symbol): New function.
16237 * i386.cc (Target_i386::i386_info): Initialize wrap_char.
16238 * x86_64.cc (Target_x86_64::x86_64_info): Likewise.
16239 * testsuite/testfile.cc (Target_test::test_target_info):
16242 * errors.cc (Errors::undefined_symbol): Mention symbol version if
16246 * layout.cc (Layout::Layout): Initialize new field.
16249 * object.cc (Sized_relobj::check_eh_frame_flags): Don't require
16252 * merge.cc (Object_merge_map::get_output_offset): Remove inline
16265 * version.cc (version_string): Set to "1.5".
16267 * x86_64.cc (Target_x86_64::Scan): Change from struct to class.
16273 * output.cc (Output_reloc<SHT_REL>::local_section_offset): Add
16281 * testsuite/two_file_test_1.cc (t18): New function.
16282 * testsuite/two_file_test_2.cc (f18): New function.
16283 * testsuite/two_file_test_main.cc (main): Call t18.
16316 * testsuite/weak_undef_file1.cc: New file.
16317 * testsuite/weak_undef_file2.cc: New file.
16318 * testsuite/weak_undef_test.cc: New file.
16324 * compressed_output.cc (zlib_compress): Use unsigned buffers,
16337 * dwarf_reader.cc (Sized_dwarf_line_info::read_header_prolog,
16346 * fileread.cc (File_read::find_view): Add byteshift and vshifted
16368 * fileread.cc (File_read::release): Don't call clear_views if
16371 * archive.cc (Add_archive_symbols::run): Call clear_uncached_views
16377 * archive.cc (Archive::armagt): New const.
16399 * readsyms.cc (Read_symbols::do_read_symbols): Add check
16406 * symtab.cc (Symbol_table::do_define_as_constant): Don't force a
16414 * output.cc
16433 * symtab.cc (Symbol_table::add_from_object): If we don't use the
16435 * testsuite/ver_test_7.cc: New file.
16445 * layout.cc (Layout::layout): If we see an input section with a
16464 * output.cc (Output_section::Output_section): Initialize new
16485 * common.cc (Sort_commons::operator): Correct sorting algorithm.
16492 * symtab.cc (Symbol_table::add_from_object): Handle saw_undefined_
16502 * symtab.cc (Symbol_table::add_from_relobj): Don't set the version
16509 * testsuite/ver_test_5.cc: New file.
16520 * x86_64.cc (Target_x86_64::do_code_fill): Swap out a 32-bit value
16522 * object.cc: Instantiate Object::read_section_data.
16524 * dwarf_reader.cc: Include <algorithm>
16525 * main.cc: Include <cstring>.
16526 * options.cc: Include <cstring>.
16527 * output.cc: Include <cstring>.
16528 * script.cc: Include <cstring>.
16530 * symtab.cc: Include <cstring> and <algorithm>.
16531 * target-select.cc: Include <cstring>.
16532 * version.cc: Include <string>.
16533 * testsuite/testmain.cc: Include <cstdlib>.
16538 * options.cc: Include "../bfd/bfdver.h".
16541 * version.cc (print_version): Adjust output for current value of
16546 * options.cc (options::help): Print list of supported targets.
16563 * target-select.cc (Target_selector::Target_selector): Update for
16568 * i386.cc (class Target_selector_i386): Update Target_selector
16571 * x86_64.cc (class Target_selector_x86_64): Likewise.
16572 * testsuite/testfile.cc (class Target_selector_test): Update for
16579 * i386.cc (Target_i386::Got_type): New enum declaration.
16593 * output.cc (Output_data_got::add_global): Added got_type parameter.
16625 * resolve.cc (Symbol::override_base_with_special): Removed
16627 * symtab.cc (Symbol::init_fields): Replaced initialization
16643 * x86_64.cc (Target_x86_64::Got_type): New enum declaration.
16659 * layout.cc: Include <cerrno>, <fcntl.h>, <unistd.h>,
16671 * x86_64.cc: Correct license to GPLv3.
16675 * options.cc: Include "demangle.h".
16698 * object.cc (big_endian>::get_symbol_location_info): Call
16700 * symtab.cc (demangle): Likewise.