+2017-08-29 Alan Modra <amodra@gmail.com>
+
+ * options.h (tls_get_addr_optimize): New option.
+ * symtab.h (Symbol::clear_in_reg, clone): New functions.
+ (Sized_symbol::clone): New function.
+ (Symbol_table::clone): New function.
+ * resolve.cc (Symbol::clone, Sized_symbol::clone): New functions.
+ * powerpc.cc (Target_powerpc::has_tls_get_addr_opt_,
+ tls_get_addr_, tls_get_addr_opt_): New vars.
+ (Target_powerpc::tls_get_addr_opt, tls_get_addr,
+ is_tls_get_addr_opt, replace_tls_get_addr,
+ set_has_tls_get_addr_opt, stk_linker): New functions.
+ (Target_powerpc::Track_tls::maybe_skip_tls_get_addr_call): Add
+ target param. Update callers. Compare symbols rather than names.
+ (Target_powerpc::do_define_standard_symbols): Init tls_get_addr_
+ and tls_get_addr_opt_.
+ (Target_powerpc::Branch_info::mark_pltcall): Translate tls_get_addr
+ sym to tls_get_addr_opt.
+ (Target_powerpc::Branch_info::make_stub): Likewise.
+ (Stub_table::define_stub_syms): Likewise.
+ (Target_powerpc::Scan::global): Likewise.
+ (Target_powerpc::Relocate::relocate): Likewise.
+ (add_3_12_2, add_3_12_13, bctrl, beqlr, cmpdi_11_0, cmpwi_11_0,
+ ld_11_1, ld_11_3, ld_12_3, lwz_11_3, lwz_12_3, mr_0_3, mr_3_0,
+ mtlr_11, std_11_1): New constants.
+ (Stub_table::eh_frame_added_): Delete.
+ (Stub_table::tls_get_addr_opt_bctrl_, plt_fde_len_, plt_fde_): New vars.
+ (Stub_table::init_plt_fde): New functions.
+ (Stub_table::add_eh_frame, replace_eh_frame): Move definition out
+ of line. Init and use plt_fde_.
+ (Stub_table::plt_call_size): Return size for tls_get_addr stub.
+ Extract alignment code to..
+ (Stub_table::plt_call_align): ..this new function. Adjust all callers.
+ (Stub_table::add_plt_call_entry): Set has_tls_get_addr_opt and
+ tls_get_addr_opt_bctrl, and align after that.
+ (Stub_table::do_write): Write out tls_get_addr stub.
+ (Target_powerpc::do_finalize_sections): Emit DT_PPC_OPT
+ PPC_OPT_TLS/PPC64_OPT_TLS bit.
+ (Target_powerpc::Relocate::relocate): Don't check for or modify
+ nop following bl for tls_get_addr stub.
+
+2017-08-29 Alan Modra <amodra@gmail.com>
+
+ * symtab.h (Symbol): Split u_ into u1_ and u2_. Adjust accessors
+ to suit. Move plt_offset_ before got_offsets_.
+ * symtab.cc (Symbol::init_fields): Adjust for union change.
+ (Symbol::init_base_output_data): Likewise.
+ (Symbol::init_base_output_segment): Likewise.
+ (Symbol::allocate_base_common): Likewise.
+ (Symbol::output_section): Likewise.
+ (Symbol::set_output_section): Likewise.
+ (Symbol::set_output_segment): Likewise.
+ * resolve.cc (Symbol::override_base): Likewise.
+ (Symbol::override_base_with_special): Likewise.
+
+2017-08-28 Igor Kudrin <ikudrin@accesssoftek.com>
+
+ * aarch64.cc (Target_aarch64::Relocate::relocate_tls):
+ Make got_tlsdesc_offset signed and fix its calculation.
+ * testsuite/Makefile.am (aarch64_tlsdesc): New test.
+ * testsuite/Makefile.in: Regenerate.
+ * testsuite/aarch64_tlsdesc.s: New test source file.
+ * testsuite/aarch64_tlsdesc.sh: New test script.
+ * testsuite/aarch64_tlsdesc.t: New test linker script.
+
+2017-08-28 Alan Modra <amodra@gmail.com>
+
+ PR 21847
+ * powerpc.cc (Target_powerpc::is_elfv2_localentry0): Test
+ non_zero_localentry.
+ (Target_powerpc::resolve): New function.
+ (powerpc_info): Set has_resolve for 64-bit.
+ * target.h (Sized_target::resolve): Return bool.
+ * resolve.cc (Symbol_table::resolve): Continue with normal
+ processing when target resolve returns false.
+ * symtab.h (Symbol::non_zero_localentry, set_non_zero_localentry):
+ New accessors.
+ (Symbol::non_zero_localentry_): New flag bit.
+ * symtab.cc (Symbol::init_fields): Init non_zero_localentry_.
+
+2017-08-08 Romain Geissler <romain.geissler@gmail.com>
+ Alan Modra <amodra@gmail.com>
+
+ * configure.ac: Add --enable-default-hash-style option.
+ * options.h (hash_style): Use DEFAULT_HASH_STYLE as default value.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+
2017-08-03 James Clarke <jrtc27@jrtc27.com>
* options.h (General_options): Set a non-NULL second help string
2017-07-31 Alan Modra <amodra@gmail.com>
+ PR 21847
* powerpc.cc (Target_powerpc::scan_relocs): Warn on --plt-localentry
without ld.so checks.