aboutsummaryrefslogtreecommitdiff
path: root/gold/ChangeLog
AgeCommit message (Collapse)AuthorFilesLines
2011-12-19 * object.h (Relobj::local_symbol_value): New function.Ian Lance Taylor1-0/+59
(Relobj::local_plt_offset): New function. (Relobj::local_has_got_offset): New function. (Relobj::local_got_offset): New function. (Relobj::set_local_got_offset): New function. (Relobj::do_local_symbol_value): New pure virtual function. (Relobj::do_local_plt_offset): Likewise. (Relobj::do_local_has_got_offset): Likewise. (Relobj::do_local_got_offset): Likewise. (Relobj::do_set_local_got_offset): Likewise. (Sized_relobj::do_local_has_got_offset): Rename from local_has_got_offset. (Sized_relobj::do_local_got_offset): Rename from local_got_offset. (Sized_relobj::do_set_local_got_offset): Rename from set_local_got_offset. (Sized_relobj_file::do_local_plt_offset): Rename from local_plt_offset. (Sized_relobj_file::do_local_symbol_value): New function. * object.cc (Sized_relobj_file::do_local_plt_offset): Rename from local_plt_offset. * output.cc (Output_data_got::Got_entry::write): Change object to Relobj. Use local_symbol_value. (Output_data_got::add_global_with_rel): Change rel_dyn to Output_data_reloc_generic*. Use add_global_generic. (Output_data_got::add_global_with_rela): Remove. Change all callers to use add_global_with_rel. (Output_data_got::add_global_pair_with_rel): Change rel_dyn to Output_data_reloc_generic*. Use add_global_generic. (Output_data_got::add_global_pair_with_rela): Remove. Change all callers to use add_global_pair_with_rel. (Output_data_got::add_local): Change object to Relobj*. (Output_data_got::add_local_plt): Likewise. (Output_data_got::add_local_with_rel): Change object to Relobj*, change rel_dyn to Output_data_reloc_generic*. Use add_local_generic. (Output_data_got::add_local_with_rela): Remove. Change all callers to use all_local_with_rel. (Output_data_got::add_local_pair_with_rel): Change object to Relobj*, change rel_dyn to Output_data_reloc_generic*. Use add_output_section_generic. (Output_data_got::add_local_pair_with_rela): Remove. Change all callers to use add_local_pair_with_rel. (Output_data_got::reserve_local): Change object to Relobj*. * output.h: (class Output_data_reloc_generic): Add pure virtual declarations for add_global_generic, add_local_generic, add_output_section_generic. (class Output_data_reloc) [SHT_REL, SHT_RELA]: Implement new functions for Output_data_reloc_generic. Update declarations for changes listed in output.cc. (class Output_data_got): Change template parameter to got_size. Don't define Rel_dyn or Rela_dyn. Update declarations per above. * incremental.h (Sized_relobj_incr::do_local_symbol_value): New function. (Sized_relobj_incr::do_local_plt_offset): New function. * copy-relocs.cc (Copy_relocs::Copy_reloc_entry::emit): Call add_global_generic.
2011-12-172011-12-17 Cary Coutant <ccoutant@google.com>Cary Coutant1-0/+8
* dwarf_reader.cc (Sized_dwarf_line_info::read_lines): Add casts. * resolve.cc (Symbol_table::resolve): Likewise. * i386.cc (Target_i386::do_code_fill): Use char constants for nop arrays. * x86_64.cc (Target_x86_64::do_code_fill): Likewise.
2011-12-16 * output.h (Output_data_reloc_generic::add): Only callIan Lance Taylor1-0/+5
add_dynamic_reloc if this is a dynamic reloc section.
2011-12-15Replace <64, false> with <size, big_endian>H.J. Lu1-0/+6
2011-12-15 H.J. Lu <hongjiu.lu@intel.com> PR gold/13505 * target-reloc.h (apply_relocation): Replace <64, false> with <size, big_endian>.
2011-11-25 * po/it.po: New Italian translation.Nick Clifton1-0/+4
2011-11-172011-11-17 Sterling Augustine <saugustine@google.com>Sterling Augustine1-0/+8
* script.cc (script_include_directive): Implement. (read_script_file): New local variables name and search_path. Update comment. Call IS_ABSOLUTE_PATH and Dirsearch::find_file_in_dir_list. * dirsearch.h (Dirsearch::find_file_in_dir_list): Declare new method. * dirsearch.cc (Dirsearch::find_file_in_dir_list): Implement it.
2011-11-112011-11-11 Sterling Augustine <saugustine@google.com>Sterling Augustine1-0/+5
* yyscript.y (section_cmd): Add support for INCLUDE directive. (file_or_sections_cmd): Likewise.
2011-11-112011-11-11 Doug Kwan <dougkwan@google.com>Doug Kwan1-0/+5
* arm.cc (Target_arm::do_make_elf_object): Allow executable also if --just-symbols is given.
2011-11-102011-11-10 Doug Kwan <dougkwan@google.com>Doug Kwan1-0/+10
PR gold/13362 * arm.cc (Target_arm::Relocate::relocate_tls): Do unaligned accesses when processing data relocs. * reloc.h (Relocate_functions::rel_unaligned): New method. (Relocate_functions::pcrel_unaligned): Ditto. (Relocate_functions::rel32_unaligned): Ditto. (Relocate_functions::pcrel32_unaligned): Ditto.
2011-11-102011-11-09 Doug Kwan <dougkwan@google.com>Doug Kwan1-0/+17
PR gold/13362 * arm.cc (Arm_scan_relocatable_relocs::Default_scan_relocatable_relocs): Use unaligned 4-byte relocs for static 32-bit data as required by EABI. * reloc.h (Relocatable_relocs::Reloc_strategy): New enum RELOC_ADJUST_FOR_SECTION_4_UNALIGNED. (Relocate_functions::rel_unaligned): New. (Relocate_functions::rel32_unaligned): New. * target-reloc.h (relocate_for_relocatable): Add code to handle RELOC_ADJUST_FOR_SECTION_4_UNALIGNED. * testsuite/Makefile.am (arm_unaligned_reloc_r.stdout, arm_unaligned_reloc_r): New targets. * testsuite/Makefile.in: Regenerate. * arm_unaligned_reloc.sh: Check unaligned relocs in relocatable linking.
2011-11-03 * configure.ac: Add --with-lib-path option. Define LIB_PATH andIan Lance Taylor1-0/+14
NATIVE_LINKER. * Makefile.am (AM_CPPFLAGS): Define TOOLLIBDIR. * options.cc (General_options::finalize): Use library search path from configure script if specified. If not native and no sysroot, only search TOOLLIBDIR. * options.h (Search_directory::Search_directory): Change name to const std::string&. (General_options::add_to_library_path_with_sysroot): Change arg to const std::string&. * configure, Makefile.in, config.in: Rebuild.
2011-11-03 * arm.cc (Target_arm::may_use_v5t_interworking): Check whetherIan Lance Taylor1-0/+11
we are working around the ARM1176 Erratum. * options.h (General_options::fix_arm1176): Add option. * testsuite/Makefile.am: Add testcases, and keep current ones working. * testsuite/Makefile.in: Regenerate. * testsuite/arm_fix_1176.s: New file. * testsuite/arm_fix_1176.sh: Likewise.
2011-11-02 * arm.cc (Target_arm::Target_arm): Remove initialisation ofIan Lance Taylor1-0/+25
may_use_blx_. (Target_arm::may_use_blx): Remove method. (Target_arm::set_may_use_blx): Likewise. (Target_arm::may_use_v4t_interworking): New method. (Target_arm::may_use_v5t_interworking): Likewise. (Target_arm::may_use_blx_): Remove member variable. (Arm_relocate_functions::arm_branch_common): Check for v5T interworking. (Arm_relocate_functions::thumb_branch_common): Likewise. (Reloc_stub::stub_type_for_reloc): Likewise. (Target_arm::do_finalize_sections): Correct interworking checks. * testsuite/Makefile.am: Add new tests. * testsuite/Makefile.in: Regenerate. * testsuite/arm_farcall_arm_arm.s: New test. * testsuite/arm_farcall_arm_arm.sh: Likewise. * testsuite/arm_farcall_arm_thumb.s: Likewise. * testsuite/arm_farcall_arm_thumb.sh: Likewise. * testsuite/arm_farcall_thumb_arm.s: Likewise. * testsuite/arm_farcall_thumb_arm.sh: Likewise. * testsuite/arm_farcall_thumb_thumb.s: Likewise. * testsuite/arm_farcall_thumb_thumb.sh: Likewise.
2011-10-31 PR gold/13023Cary Coutant1-0/+25
* expression.cc (Expression::eval_with_dot): Add is_section_dot_assignment parameter. (Expression::eval_maybe_dot): Likewise. Adjust value when rhs is absolute and assigning to dot within a section. * script-sections.cc (Output_section_element_assignment::set_section_addresses): Pass dot_section to set_if_absolute. (Output_section_element_dot_assignment::finalize_symbols): Pass TRUE as is_section_dot_assignment flag to eval_with_dot. (Output_section_element_dot_assignment::set_section_addresses): Likewise. * script.cc (Symbol_assignment::set_if_absolute): Add dot_section parameter. Also set value if relative to dot_section; set the symbol's output_section. * script.h (Expression::eval_with_dot): Add is_section_dot_assignment parameter. Adjust all callers. (Expression::eval_maybe_dot): Likewise. (Symbol_assignment::set_if_absolute): Add dot_section parameter. Adjust all callers. * testsuite/script_test_2.t: Test assignment of an absolute value to dot within an output section element.
2011-10-31 * options.h (class General_options): Add --[no-]gnu-unique options.Cary Coutant1-0/+6
* symtab.cc (Symbol_table::sized_write_globals): Convert STB_GNU_UNIQUE to STB_GLOBAL if --no-gnu-unique.
2011-10-31 PR gold/13359Cary Coutant1-0/+7
* i386.cc (Target_i386::Relocate::relocate_tls): Remove unnecessary assertion. * x86_64.cc (Target_x86_64::Relocate::relocate_tls): Likewise.
2011-10-312011-10-31 Sriraman Tallam <tmsriram@google.com>Sriraman Tallam1-0/+11
* symtab.h (Symbol_table::gc_mark_symbol_for_shlib): Rename to gc_mark_symbol. * symtab.cc (Symbol_table::gc_mark_symbol_for_shlib): Rename to gc_mark_symbol. Change to just keep the section associated with symbol. (Symbol_table::add_from_relobj): Mark symbols as not garbage when they are externally visible and --export-dynamic is turned on. (Symbol_table::gc_mark_dyn_syms): Call gc_mark_symbol.
2011-10-19 PR gold/13163Ian Lance Taylor1-0/+7
* script-sections.cc (Output_section_element_dot_assignment::needs_output_section): New function.
2011-10-19 PR gold/13204Ian Lance Taylor1-0/+7
* layout.cc (Layout::segment_precedes): Don't assert failure if a --section-start option was seen. * options.h (General_options::any_section_start): New function.
2011-10-19Fix sparc TLS call relaxation when the delay slot sets up %o0.David S. Miller1-0/+13
bfd/ PR binutils/13301 * elfxx-sparc.c (sparc_elf_find_reloc_at_ofs): New function. (_bfd_sparc_elf_relocate_section): Always move the __tls_get_addr call delay slot instruction forward 4 bytes when performing relaxation. gold/ PR binutils/13301 * sparc.cc (Target_sparc::Relocate::reloc_adjust_addr_): New member to track relocation locations that have moved during TLS reloc optimizations. (Target_sparc::Relocate::Relocate): Initialize to NULL. (Target_sparc::Relocate::relocate): Adjust view down by 4 bytes if it matches reloc_adjust_addr_. (Target_sparc::Relocate::relocate_tls): Always move the __tls_get_addr call delay slot instruction forward 4 bytes when performing relaxation. ld/testsuite/ * ld-sparc/tlssunbin32.dd: Update for TLS call relaxation fix for PR 13301. * ld-sparc/tlssunbin64.dd: Likewise. * ld-sparc/tlssunpic32.dd: Likewise. * ld-sparc/tlssunpic64.dd: Likewise.
2011-10-18 * output.cc (posix_fallocate): Return 0 on success, errno on failure.Cary Coutant1-0/+6
(Output_file::map_no_anonymous): Check for non-zero return code from posix_fallocate.
2011-10-18 PR gold/13245Cary Coutant1-0/+9
* plugin.cc (is_visible_from_outside): Check for symbols referenced from dynamic objects. * resolve.cc (Symbol_table::resolve): Don't count references from dynamic objects as references from real ELF files. * testsuite/plugin_test_2.sh: Adjust expected result.
2011-10-18 * gold.cc: Include timer.h.Cary Coutant1-0/+20
(queue_middle_tasks): Stamp time. (queue_final_tasks): Likewise. * main.cc (main): Store timer in parameters. Print timers for each pass. * parameters.cc (Parameters::Parameters): Initialize timer_. (Parameters::set_timer): New function. (set_parameters_timer): New function. * parameters.h (Parameters::set_timer): New function. (Parameters::timer): New function. (Parameters::timer_): New data member. (set_parameters_timer): New function. * timer.cc (Timer::stamp): New function. (Timer::get_pass_time): New function. * timer.h (Timer::stamp): New function. (Timer::get_pass_time): New function. (Timer::pass_times_): New data member.
2011-10-17 * readsyms.cc (Read_symbols::run): Don't queue an unblockerCary Coutant1-0/+5
task for members of lib groups.
2011-10-17Fixed several recent ChangeLog entries to remove "gold/" from filenames.Cary Coutant1-12/+12
2011-10-17 PR gold/13288Cary Coutant1-0/+7
* gold/fileread.cc (File_read::find_view): Add assert. (File_read::make_view): Move bounds check (replace with assert)... (File_read::find_or_make_view): ... to here.
2011-10-13 * gold/output.cc (Output_file::open_base_file): Handle case whereCary Coutant1-0/+5
::read returns less than requested size.
2011-10-10 * gold/incremental.cc (Sized_relobj_incr::Sized_relobj_incr):Cary Coutant1-0/+15
Initialize defined_count_. (Sized_relobj_incr::do_add_symbols): Count defined symbols. (Sized_relobj_incr::do_get_global_symbol_counts): Rewrite. (Sized_incr_dynobj::Sized_incr_dynobj): Initialize defined_count_. (Sized_incr_dynobj::do_add_symbols): Count defined symbols. (Sized_incr_dynobj::do_get_global_symbol_counts): Rewrite. * gold/incremental.h (Sized_relobj_incr::defined_count_): New data member. (Sized_incr_dynobj::defined_count_): New data member. * gold/plugin.cc (Sized_pluginobj::do_get_global_symbol_counts): Return zeroes instead of internal error.
2011-10-10 PR gold/13249Cary Coutant1-0/+14
* gold/output.cc (Output_reloc::Output_reloc): Add use_plt_offset flag. (Output_reloc::symbol_value): Return PLT offset if flag is set. * gold/output.h (class Output_reloc): Add use_plt_offset flag. (Output_reloc::type_): Adjust size of bit field. (Output_reloc::use_plt_offset_): New bit field. (class Output_data_reloc): Adjust all calls to Output_reloc_type. (Output_data_reloc::add_local_relative): (RELA only) Add use_plt_offset flag. Adjust all callers. * gold/x86_64.cc (Target_x86_64::Scan::local): Check for IFUNC when creating RELATIVE relocations.
2011-10-10Updated Bulgarian, Spanish, Finnish, French, Russian and Ukranian translations.Nick Clifton1-0/+5
2011-10-03 * options.cc (parse_uint): Fix dereference of RETVAL.Diego Novillo1-0/+4
2011-09-292011-09-29 Sriraman Tallam <tmsriram@google.com>Sriraman Tallam1-0/+17
* layout.h (section_order_map_): New member. (get_section_order_map): New member function. * output.cc (Output_section::add_input_section): Check for patterns only when --section-ordering-file is specified. * gold.cc (queue_middle_tasks): Delay updating order of sections till output_sections have been formed. * layout.cc (Layout_Layout): Initialize section_order_map_. * plugin.cc (update_section_order): Store order in order_map. Do not update the order. * testsuite/Makefile.am: Add test case for plugin_final_layout. * testsuite/Makefile.in: Regenerate. * testsuite/plugin_section_order.c: New file. * testsuite/plugin_final_layout.cc: New file. * testsuite/plugin_final_layout.sh: New file.
2011-09-29 * gold/incremental.cc (Sized_incremental_binary::do_process_got_plt):Cary Coutant1-0/+8
Check for NULL. * gold/symtab.cc (Symbol_table::add_from_relobj): Ignore version symbols during incremental update. (Symbol_table::add_from_dynobj): Likewise.
2011-09-28 * symtab.cc (Symbol_table::define_special_symbol): AlwaysIan Lance Taylor1-0/+6
canonicalize version string.
2011-09-26 * gold/gold.cc (queue_initial_tasks): Move option checks ...Cary Coutant1-0/+6
* gold/options.cc (General_options::finalize): ... to here. Disable some options; make others fatal.
2011-09-26include/ChangeLogCary Coutant1-0/+18
gcc PR lto/47247 * plugin-api.h (enum ld_plugin_symbol_resolution): Add LDPR_PREVAILING_DEF_IRONLY_EXP. (enum ld_plugin_tag): Add LDPT_GET_SYMBOLS_V2. gold/ChangeLog gcc PR lto/47247 * plugin.cc (get_symbols_v2): New function. (Plugin::load): Add LDPT_GET_SYMBOLS_V2. (is_referenced_from_outside): New function. (Pluginobj::get_symbol_resolution_info): Add version parameter, return LDPR_PREVAILING_DEF_IRONLY_EXP when using new version. (get_symbols): Pass version parameter. (get_symbols_v2): New function. * plugin.h (Pluginobj::get_symbol_resolution_info): Add version parameter. * testsuite/plugin_test.c (get_symbols_v2): New static variable. (onload): Add LDPT_GET_SYMBOLS_V2. (all_symbols_read_hook): Use get_symbols_v2; check for LDPR_PREVAILING_DEF_IRONLY_EXP. * testsuite/plugin_test_3.sh: Update expected results.
2011-09-23 * configure.ac: Add new --with-gold-ldadd and --with-gold-ldflagsIan Lance Taylor1-0/+9
configuration options. * configure: Regenerate. * Makefile.am: Handle GOLD_LDADD and GOLD_LDFLAGS. * Makefile.in: Regenerate. * testsuite/Makefile.in: Regenerate.
2011-09-192011-09-19 Sriraman Tallam <tmsriram@google.com>Sriraman Tallam1-0/+4
* plugin.h (should_defer_layout): Modify to check for any_claimed_.
2011-09-19 * incremental.cc (can_incremental_update): Fix typo in comment.Cary Coutant1-0/+5
* incremental.h (can_incremental_update): Likewise.
2011-09-18 * incremental.cc (can_incremental_update): New function.Cary Coutant1-0/+9
* incremental.h (can_incremental_update): New function. * layout.cc (Layout::init_fixed_output_section): Call it. (Layout::make_output_section): Don't allow patch space in .eh_frame. * object.cc (Sized_relobj_file::do_layout): Call can_incremental_update.
2011-09-14 * configure.ac: Check for glibc support for gnu_indirect_functionCary Coutant1-0/+13
support with static linking, setting automake conditional IFUNC_STATIC. * Makefile.in: Regenerate. * configure: Regenerate. * testsuite/Makefile.am (ifuncmain1static, ifuncmain2static) (ifuncmain4static, ifuncmain5static, ifuncmain7static): Add check for IFUNC_STATIC. * testsuite/Makefile.in: Regenerate.
2011-09-14 * incremental.cc (Sized_relobj_incr::do_layout): CallCary Coutant1-0/+11
report_comdat_group for kept comdat sections. * testsuite/Makefile.am (incremental_comdat_test_1): New test. * testsuite/Makefile.in: Regenerate. * testsuite/incr_comdat_test_1.cc: New source file. * testsuite/incr_comdat_test_2_v1.cc: New source file. * testsuite/incr_comdat_test_2_v2.cc: New source file. * testsuite/incr_comdat_test_2_v3.cc: New source file.
2011-09-13 * object.cc (Sized_relobj_file::do_layout): Remove unused localIan Lance Taylor1-0/+5
variable external_symbols_offset.
2011-09-12 * object.cc (Sized_relobj_file::do_layout): Remove assertion whichIan Lance Taylor1-0/+5
triggered if object has no symbols.
2011-09-10 * output.cc (Output_fill_debug_info::do_write): Use Swap_unaligned.David S. Miller1-0/+5
(Output_fill_debug_line::do_write): Likewise.
2011-08-29 * output.cc: (Output_fill_debug_info::do_minimum_hole_size): AddCary Coutant1-0/+6
casts to match formatting specs. (Output_fill_debug_line::do_minimum_hole_size): Likewise.
2011-08-27 * layout.cc (Free_list::allocate): Provide guarantee of minimumCary Coutant1-0/+33
remaining hole size when allocating. (Layout::make_output_section): Set fill methods for debug sections. * layout.h (Free_list::Free_list_node): Move from private to public. (Free_list::set_min_hole_size): New function. (Free_list::begin, Free_list::end): New functions. (Free_list::min_hole_): New data member. * output.cc: Include dwarf.h. (Output_fill_debug_info::do_minimum_hole_size): New function. (Output_fill_debug_info::do_write): New function. (Output_fill_debug_line::do_minimum_hole_size): New function. (Output_fill_debug_line::do_write): New function. (Output_section::Output_section): Initialize new data member. (Output_section::set_final_data_size): Ensure patch space is larger than minimum hole size. (Output_section::do_write): Fill holes in debug sections. * output.h (Output_fill): New class. (Output_fill_debug_info): New class. (Output_fill_debug_line): New class. (Output_section::set_free_space_fill): New function. (Output_section::free_space_fill_): New data member. * testsuite/Makefile.am (incremental_test_3): Add --incremental-patch option. (incremental_test_4): Likewise. (incremental_test_5): Likewise. (incremental_test_6): Likewise. (incremental_copy_test): Likewise. (incremental_common_test_1): Likewise. * testsuite/Makefile.in: Regenerate.
2011-08-26Updated Spanish translations.Nick Clifton1-0/+4
2011-08-02 Fix timestamps in three ChangeLog entries with wrong year.Cary Coutant1-3/+3
2011-08-01 * gold/testsuite/Makefile.am (justsyms_exec): New testcase.Cary Coutant1-0/+7
* gold/testsuite/Makefile.in: Regenerate. * gold/testsuite/justsyms_exec.c: New source file. * gold/testsuite/justsyms_lib.c: New source file.