PR gold/14566
[binutils-gdb.git] / gold / ChangeLog
index d812165a03e0fe6be76eb44368534c3c9fa27b92..ed1a8d4f7f1c6b8c39856cb3950886b21a2ba335 100644 (file)
@@ -1,3 +1,156 @@
+2012-09-11  Alan Modra  <amodra@gmail.com>
+
+       PR gold/14566
+       * layout.cc (Layout::set_segment_offsets): When using
+       common-page-size alignment, ensure we are on a new max-page-size
+       page.
+       * output.cc (Output_segment::set_section_addresses): Use
+       abi_pagesize, not common_pagesize for relro boundary.
+       (Output_segment::set_offset): Likewise.
+
+2012-09-11  Alan Modra  <amodra@gmail.com>
+
+       * output.h (Output_data_got::add_global_tls, add_local_tls,
+       add_local_tls_pair): New functions.
+       (Output_data_got::add_local_pair_with_rel): Remove second
+       reloc param.  Expand comment.
+       (Output_data_got::Got_entry): Rename use_plt_offset_ to
+       use_plt_or_tls_offset_, similarly for constructor param.
+       (Output_data_got::Got_entry::write): Add got_index param.
+       * output.cc (Output_data_got::add_global_tls, add_local_tls,
+       add_local_tls_pair): New functions.
+       (Output_data_got::Got_entry::write): Handle tls symbols
+       with use_plt_or_tls_offset_ set specially.
+       (Output_data_got::add_local_pair_with_rel): Only one reloc.
+       (Output_data_got::do_write): Replace iterator with index, pass
+       index to entry write function.
+       * target.h (Target::tls_offset_for_local, tls_offset_for_global,
+       do_tls_offset_for_local, do_tls_offset_for_global): New functions.
+       * arm.cc (Target_arm::Scan::local): Update add_local_pair_with_rel
+       call.
+       * i386.cc (Target_i386::Scan::local): Likewise.
+       * sparc.cc (Target_sparc::Scan::local): Likewise.
+       * x86_64.cc (Target_x86_64::Scan::local): Likewise.
+       * powerpc.cc (Target_powerpc::do_tls_offset_for_local,
+       do_tls_offset_for_global): New functions.
+       (Target_powerpc::Scan::local): Correct TLS relocations and got
+       entry values.
+       (Target_powerpc::Scan::global): Don't emit unnecessary
+       dynamic relocations on TLS GOT entries.
+
+2012-09-10  Matthias Klose  <doko@ubuntu.com>
+
+       * config.in: Disable sanity check for kfreebsd.
+
+2012-09-10  Sterling Augustine  <saugustine@google.com>
+
+       * gdb-index.cc (Gdb_index::pubnames_read): New parameter.
+       (Gdb_index::pubtypes_read): New parameter.
+       (Gdb_index_info_reader::read_pubnames_and_pubtypes): Add parameters
+       to calls.
+       * gdb-index.h (Gdb_index): New fields pubnames_object_ and
+       pubtypes_object_.
+
+2012-09-09  Alan Modra  <amodra@gmail.com>
+
+       * target.h (Target::gc_mark_symbol, do_gc_mark_symbol): New functions.
+       (Sized_target::gc_add_reference, do_gc_add_reference): New functions.
+       * gc.h (gc_process_relocs): Call target gc_add_reference.
+       * gold.cc (queue_middle_tasks): Use gc_mark_symbol on start sym.
+       * symtab.cc (Symbol_table::gc_mark_undef_symbols): Use gc_mark_symbol.
+       (Symbol_table::gc_mark_symbol): Call target gc_mark_symbol. Remove
+       unnecessary cast.
+       * powerpc.cc (Powerpc_relobj::get_opd_ent): Rearrange parameters
+       to cater for when we don't need code offset.  Update use.
+       (Powerpc_relobj::access_from_map_, opd_valid_): New vars.
+       (Powerpc_relobj::access_from_map, add_reference, opd_valid,
+       set_opd_valid): New functions.
+       (Target_powerpc::do_gc_add_reference): New function.
+       (Target_powerpc::gc_process_relocs): Call gc()->add_reference on
+       stashed refs.
+       (Target_powerpc::do_gc_mark_symbol): New function.
+
+2012-09-06  Cary Coutant  <ccoutant@google.com>
+
+       * dwarf_reader.cc (Dwarf_die::read_attributes): Add
+       DW_FORM_GNU_addr_index and DW_FORM_GNU_str_index.
+       (Dwarf_die::skip_attributes): Likewise.
+       * object.cc (Read_symbols_data::~Read_symbols_data): Update comment.
+       * testsuite/gdb_index_test.cc (inline_func_1): New function.
+       (main): Call it.
+       * testsuite/gdb_index_test_comm.sh: Check index for inline function.
+
+2012-09-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * testsuite/script_test_3.t: Add .got.plt output section
+       statement.
+       * testsuite/script_test_4.t: Likewise.
+
+2012-09-05  Alan Modra  <amodra@gmail.com>
+
+       * powerpc.cc (Powerpc_relocate_functions): Upcase enum values,
+       update all uses and lose "enum" when using type.
+
+2012-09-05  Alan Modra  <amodra@gmail.com>
+
+       * configure.ac (FN_PTRS_IN_SO_WITHOUT_PIC): False for powerpc.
+       * configure: Regenerate.
+       * testsuite/Makefile.am (final_layout.stdout): Pass --synthetic to nm.
+       (plugin_final_layout.stdout): Likewise.
+       (memory_test): Set page sizes to 0x1000.
+       * testsuite/Makefile.in: Regenerate.
+       * testsuite/discard_locals_test.sh: Add FIXME comment.
+       * testsuite/justsyms_exec.c: Disable function test for powerpc64.
+       * testsuite/pr14265.t: Add .got output section statement.
+       * testsuite/script_test_2.t: Likewise.
+       * testsuite/script_test_3.t: Likewise.
+       * testsuite/script_test_4.t: Likewise.
+       * testsuite/script_test_5.t: Likewise.
+       * testsuite/script_test_6.t: Likewise.
+       * testsuite/script_test_7.t: Likewise.
+       * testsuite/script_test_9.t: Likewise.
+
+2012-09-05  Alan Modra  <amodra@gmail.com>
+
+       * powerpc.cc (Powerpc_relobj::get_opd_ent): Make const.
+       (Powerpc_relocate_functions::Status): New typedef.
+       (Target_powerpc::Scan::get_reference_flags): Handle more relocs.
+       (Target_powerpc::Scan::local): Handle REL64.
+       (Target_powerpc::Scan::global): Likewise, and dynamic relocs
+       for REL32 and REL64.
+       (Target_powerpc::symval_for_branch): New function, extracted from..
+       (Target_powerpc::Relocate::relocate): ..here.  Correct plt call
+       checks.  Report overflow errors.
+
+2012-09-05  Alan Modra  <amodra@gmail.com>
+
+       * object.h (Sized_relobj_file::emit_relocs): Delete.
+       (Sized_relobj_file::emit_relocs_reltype): Delete.
+       * reloc.cc (Sized_relobj_file::do_relocate_sections): Call target
+       relocate_relocs for --emit-relocs.
+       (Sized_relobj_file::emit_relocs, emit_relocs_reltype): Delete.
+       * output.h: Update comment.
+       (Output_segment::first_section): New function.
+       (Output_segment::first_section_load_address): Use first_section.
+       * output.cc (Output_segment::first_section): New function extracted..
+       (Output_segment::first_section_load_address): ..from here.  Delete.
+       * target-reloc.h (relocate_for_relocatable): Rename to relocate_relocs.
+       * target.h (Sized_target::relocate_for_relocatable): Likewise.
+       * arm.cc (Target_arm::relocate_for_relocatable): Likewise, and
+       adjust call to target.h function.
+       * i386.cc (Target_i386): Likewise.
+       * sparc.cc (Target_sparc): Likewise.
+       * x86_64.cc (Target_x86_64): Likewise.
+       * powerpc.cc (Target_powerpc): Likewise.
+       (Target_powerpc::Scan::local, global): Handle R_POWERPC_TLS.  Ensure
+       first tls section has section symbol for optimised local dynamic
+       output relocs.
+       (Target_powerpc::Relocate::relocate): Correct local dynamic value.
+       (Target_powerpc::relocate_relocs): Adjust relocs emitted for
+       optimised tls code.
+       * testsuite/testfile.cc (Target_test::relocate_for_relocatable):
+       Rename to relocate_relocs.  Update error message.
+
 2012-09-04  Andreas Schwab  <schwab@linux-m68k.org>
 
        * powerpc.cc (do_make_elf_object): Allow ET_EXEC files with