From 7ee7ff7015840f2d0156bf386a050bd728d22fc4 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Fri, 23 Jun 2017 20:39:43 +0930 Subject: [GOLD] PowerPC64 localentry:0 plt call optimization elfcpp/ * elfcpp.h (DT_PPC64_OPT): Define. * powerpc.h (PPC64_OPT_TLS, PPC64_OPT_MULTI_TOC, PPC64_OPT_LOCALENTRY): Define. gold/ * options.h (General_options): Add plt_localentry. * powerpc.cc (Target_powerpc::st_other): New function. (Target_powerpc::plt_localentry0_, plt_localentry0_init_, has_localentry0_): New vars. (Target_powerpc::plt_localentry0, set_has_localentry0, is_elfv2_localentry0): New functions. (Target_powerpc::Branch_info::mark_pltcall): Don't set tocsave or return true for localentry:0 calls. (Stub_table::Plt_stub_ent::localentry0_): New var. (Stub_table::add_plt_call_entry): Set localentry0_ and has_localentry0_. Don't set r2save_ for localentry:0 calls. (Output_data_glink::do_write): Save r2 in __glink_PLTresolve for elfv2. (Target_powerpc::scan_relocs): Default plt_localentry0_. (Target_powerpc::do_finalize_sections): Set DT_PPC64_OPT. (Target_powerpc::Relocate::relocate): Don't require nop following calls for localentry:0 plt calls, and don't change nop. --- elfcpp/ChangeLog | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'elfcpp/ChangeLog') diff --git a/elfcpp/ChangeLog b/elfcpp/ChangeLog index 6a61d61..0be1bcb 100644 --- a/elfcpp/ChangeLog +++ b/elfcpp/ChangeLog @@ -1,3 +1,9 @@ +2017-06-21 Alan Modra + + * elfcpp.h (DT_PPC64_OPT): Define. + * powerpc.h (PPC64_OPT_TLS, PPC64_OPT_MULTI_TOC, + PPC64_OPT_LOCALENTRY): Define. + 2017-01-02 Alan Modra Update year range in copyright notice of all files. -- cgit v1.1