1*e6c7e151Schristos2017-12-15 Alan Modra <amodra@gmail.com> 2*e6c7e151Schristos 3*e6c7e151Schristos PR 22602 4*e6c7e151Schristos * powerpc.cc (Target_powerpc::Branch_info::mark_pltcall): Resolve 5*e6c7e151Schristos forwards before replacing __tls_get_addr. 6*e6c7e151Schristos (Target_powerpc::Branch_info::make_stub): Likewise. 7*e6c7e151Schristos 8*e6c7e151Schristos2017-12-11 Stephen Crane <sjc@immunant.com> 9*e6c7e151Schristos 10*e6c7e151Schristos * plugin.cc (Plugin::load): Include hooks for register_new_input 11*e6c7e151Schristos in transfer vector. 12*e6c7e151Schristos (Plugin::new_input): New function. 13*e6c7e151Schristos (register_new_input): New function. 14*e6c7e151Schristos (Plugin_manager::claim_file): Call Plugin::new_input if in 15*e6c7e151Schristos replacement phase. 16*e6c7e151Schristos * plugin.h (Plugin::set_new_input_handler): New function. 17*e6c7e151Schristos * testsuite/plugin_new_section_layout.c: New plugin to test 18*e6c7e151Schristos new_input plugin API. 19*e6c7e151Schristos * testsuite/plugin_final_layout.sh: Add new input test. 20*e6c7e151Schristos * testsuite/Makefile.am (plugin_layout_new_file): New test case. 21*e6c7e151Schristos * testsuite/Makefile.in: Regenerate. 22*e6c7e151Schristos 23*e6c7e151Schristos2017-12-02 Vladimir Kondratyev <vladimir@kondratyev.su> 24*e6c7e151Schristos Cary Coutant <ccoutant@gmail.com> 25*e6c7e151Schristos 26*e6c7e151Schristos PR gold/22540 27*e6c7e151Schristos * output.cc (gold_fallocate): Trivial return for len == 0. 28*e6c7e151Schristos Add fallback options when posix_fallocate and fallocate return 29*e6c7e151Schristos not-supported errors. 30*e6c7e151Schristos 31*e6c7e151Schristos2017-12-01 Cary Coutant <ccoutant@gmail.com> 32*e6c7e151Schristos 33*e6c7e151Schristos PR gold/21090 34*e6c7e151Schristos * incremental.cc (Sized_relobj_incr::do_relocate): Fix comment. 35*e6c7e151Schristos * options.cc (General_options::finalize): Disallow -pie with 36*e6c7e151Schristos incremental linking. 37*e6c7e151Schristos * x86_64.cc (Target_x86_64::Scan::local): Don't do mov-to-lea 38*e6c7e151Schristos or callq-to-direct optimizations for incremental links. 39*e6c7e151Schristos (Target_x86_64::Scan::global): Likewise. 40*e6c7e151Schristos (Target_x86_64::Relocate::relocate): Likewise. 41*e6c7e151Schristos * testsuite/Makefile.am (incremental_test): Force -no-pie. 42*e6c7e151Schristos (incremental_test_2): Likewise. 43*e6c7e151Schristos (incremental_test_3): Likewise. 44*e6c7e151Schristos (incremental_test_4): Likewise. 45*e6c7e151Schristos (incremental_test_5): Likewise. 46*e6c7e151Schristos (incremental_test_6): Likewise. 47*e6c7e151Schristos (incremental_copy_test): Likewise. 48*e6c7e151Schristos (incremental_common_test_1): Likewise. 49*e6c7e151Schristos (incremental_comdat_test_1): Likewise. 50*e6c7e151Schristos * testsuite/Makefile.in: Regenerate. 51*e6c7e151Schristos 52*e6c7e151Schristos2017-12-01 Cary Coutant <ccoutant@gmail.com> 53*e6c7e151Schristos 54*e6c7e151Schristos PR gold/21841 55*e6c7e151Schristos * testsuite/debug_msg.sh: Adjust expected line numbers. 56*e6c7e151Schristos * testsuite/odr_violation2.cc (DummyFunction): New function. 57*e6c7e151Schristos 58*e6c7e151Schristos2017-12-01 Cary Coutant <ccoutant@gmail.com> 59*e6c7e151Schristos 60*e6c7e151Schristos PR gold/22309 61*e6c7e151Schristos * testsuite/Makefile.am (two_file_test_1_v1_ndebug.o): Compile with 62*e6c7e151Schristos no EH information. 63*e6c7e151Schristos (two_file_test_1_ndebug.o): Likewise. 64*e6c7e151Schristos * testsuite/Makefile.in: Regenerate. 65*e6c7e151Schristos * testsuite/two_file_test_1.cc: Touch to force recompilation with new 66*e6c7e151Schristos flags. 67*e6c7e151Schristos * testsuite/two_file_test_1_v1.cc: Likewise. 68*e6c7e151Schristos 69*e6c7e151Schristos2017-12-01 Cary Coutant <ccoutant@gmail.com> 70*e6c7e151Schristos 71*e6c7e151Schristos PR gold/22042 72*e6c7e151Schristos * options.h (-fuse-ld): Use NULL instead of empty string. 73*e6c7e151Schristos 74*e6c7e151Schristos2017-12-01 Benjamin Peterson <bp@benjamin.pe> 75*e6c7e151Schristos 76*e6c7e151Schristos PR gold/22406 77*e6c7e151Schristos * gold.cc (queue_initial_tasks) Check for number of real input files. 78*e6c7e151Schristos * options.cc (Command_line::process) Check for unterminated --start-lib 79*e6c7e151Schristos options. 80*e6c7e151Schristos * testsuite/Makefile.am: Add new test script. 81*e6c7e151Schristos * testsuite/Makefile.in: Regenerate. 82*e6c7e151Schristos * testsuite/check_empty_command_lines.sh: New test script. 83*e6c7e151Schristos 84*e6c7e151Schristos2017-11-17 Stephen Crane <sjc@immunant.com> 85*e6c7e151Schristos 86*e6c7e151Schristos PR gold/22448 87*e6c7e151Schristos * symtab.cc (Symbol_table::add_from_object): Only rescan for 88*e6c7e151Schristos undefined symbols in regular, not dynamic, objects. 89*e6c7e151Schristos 90*e6c7e151Schristos2017-11-30 Peter Smith <peter.smith@linaro.org> 91*e6c7e151Schristos 92*e6c7e151Schristos PR gold/20765 93*e6c7e151Schristos * aarch64.cc (Aarch64_relobj::update_erratum_address): New method. 94*e6c7e151Schristos (AArch64_relobj::scan_errata): Update addresses in stub table after 95*e6c7e151Schristos relaxation pass. 96*e6c7e151Schristos 97*e6c7e151Schristos2017-11-30 Peter Smith <peter.smith@linaro.org> 98*e6c7e151Schristos Cary Coutant <ccoutant@gmail.com> 99*e6c7e151Schristos 100*e6c7e151Schristos PR gold/20765 101*e6c7e151Schristos * aarch64.cc (Erratum_stub::invalidate_erratum_stub): Use erratum_insn_ 102*e6c7e151Schristos instead of relobj_ to invalidate the stub. 103*e6c7e151Schristos (Erratum_stub::is_invalidated_erratum_stub): Likewise. 104*e6c7e151Schristos 105*e6c7e151Schristos2017-11-30 Peter Smith <peter.smith@linaro.org> 106*e6c7e151Schristos 107*e6c7e151Schristos PR gold/22233 108*e6c7e151Schristos * aarch64.cc (AArch64_relobj::fix_errata_and_relocate_erratum_stubs): 109*e6c7e151Schristos Fix calculation of stub address. 110*e6c7e151Schristos 111*e6c7e151Schristos2017-11-29 Stefan Stroe <stroestefan@gmail.com> 112*e6c7e151Schristos 113*e6c7e151Schristos * po/Make-in (datadir): Define as @datadir@. 114*e6c7e151Schristos (localedir): Define as @localedir@. 115*e6c7e151Schristos (gnulocaledir, gettextsrcdir): Use @datarootdir@. 116*e6c7e151Schristos 117*e6c7e151Schristos2017-11-28 Cary Coutant <ccoutant@gmail.com> 118*e6c7e151Schristos 119*e6c7e151Schristos * resolve.cc (Symbol_table::resolve): Allow multiply-defined absolute 120*e6c7e151Schristos symbols when they have the same value. 121*e6c7e151Schristos 122*e6c7e151Schristos2017-11-28 Cary Coutant <ccoutant@gmail.com> 123*e6c7e151Schristos 124*e6c7e151Schristos * object.h (class Sized_relobj_file): Remove discarded_eh_frame_shndx_. 125*e6c7e151Schristos * object.cc (Sized_relobj_file::Sized_relobj_file): Likewise. 126*e6c7e151Schristos (Sized_relobj_file::layout_eh_frame_section): Likewise. 127*e6c7e151Schristos (Sized_relobj_file::do_count_local_symbols): Check for optimized 128*e6c7e151Schristos .eh_frame section by other means. 129*e6c7e151Schristos (Sized_relobj_file::compute_final_local_value_internal): Likewise. 130*e6c7e151Schristos 131*e6c7e151Schristos2017-11-28 H.J. Lu <hongjiu.lu@intel.com> 132*e6c7e151Schristos 133*e6c7e151Schristos * testsuite/pr22266_a.c: Add a newline at end of file. 134*e6c7e151Schristos 135*e6c7e151Schristos2017-11-27 Cary Coutant <ccoutant@gmail.com> 136*e6c7e151Schristos 137*e6c7e151Schristos PR gold/19291 138*e6c7e151Schristos PR gold/22266 139*e6c7e151Schristos * object.cc (Sized_relobj_file::compute_final_local_value_internal): 140*e6c7e151Schristos Revert changes from 2017-11-08 patch. Adjust symbol value in 141*e6c7e151Schristos relocatable links for non-section symbols. 142*e6c7e151Schristos (Sized_relobj_file::compute_final_local_value): Revert changes from 143*e6c7e151Schristos 2017-11-08 patch. 144*e6c7e151Schristos (Sized_relobj_file::do_finalize_local_symbols): Likewise. 145*e6c7e151Schristos (Sized_relobj_file::write_local_symbols): Revert changes from 146*e6c7e151Schristos 2015-11-25 patch. 147*e6c7e151Schristos * object.h (Sized_relobj_file::compute_final_local_value_internal): 148*e6c7e151Schristos Revert changes from 2017-11-08 patch. 149*e6c7e151Schristos * powerpc.cc (Target_powerpc::relocate_relocs): Adjust addend for 150*e6c7e151Schristos relocatable links. 151*e6c7e151Schristos * target-reloc.h (relocate_relocs): Adjust addend for relocatable links. 152*e6c7e151Schristos * testsuite/pr22266_a.c (hello): New function. 153*e6c7e151Schristos * testsuite/pr22266_main.c (main): Add test for merge sections. 154*e6c7e151Schristos * testsuite/pr22266_script.t: Add rule for .rodata. 155*e6c7e151Schristos 156*e6c7e151Schristos2017-11-19 Ian Lance Taylor <iant@google.com> 157*e6c7e151Schristos Cary Coutant <ccoutant@gmail.com> 158*e6c7e151Schristos 159*e6c7e151Schristos * dwarf_reader.h (class Dwarf_info_reader): Add ref_addr_size 160*e6c7e151Schristos method. 161*e6c7e151Schristos * dwarf_reader.cc (Dwarf_die::read_attributes): Use ref_addr_size 162*e6c7e151Schristos for DW_FORM_ref_addr_size. 163*e6c7e151Schristos (Dwarf_die::skip_attributes): Likewise. 164*e6c7e151Schristos 165*e6c7e151Schristos2017-11-08 H.J. Lu <hongjiu.lu@intel.com> 166*e6c7e151Schristos 167*e6c7e151Schristos PR gold/22291 168*e6c7e151Schristos * layout.cc (Layout::define_section_symbols): Use STV_PROTECTED 169*e6c7e151Schristos for __start and __stop symbols. 170*e6c7e151Schristos * symtab.cc (Symbol_table::define_special_symbol): Add an 171*e6c7e151Schristos argument, visibility. Ignore definition and reference from 172*e6c7e151Schristos a dynamic object, depending on visibility. 173*e6c7e151Schristos (Symbol_table::do_define_in_output_data): Pass visibility to 174*e6c7e151Schristos define_special_symbol. 175*e6c7e151Schristos (Symbol_table::do_define_in_output_segment): Likewise. 176*e6c7e151Schristos (Symbol_table::do_define_as_constant): Likewise. 177*e6c7e151Schristos (Symbol_table::add_undefined_symbol_from_command_line): Pass 178*e6c7e151Schristos STV_DEFAULT to define_special_symbol. 179*e6c7e151Schristos * symtab.h (Symbol_table::define_special_symbol): Add an 180*e6c7e151Schristos argument, visibility. 181*e6c7e151Schristos 182*e6c7e151Schristos2017-11-08 James Clarke <jrtc27@jrtc27.com> 183*e6c7e151Schristos 184*e6c7e151Schristos PR gold/22266 185*e6c7e151Schristos * object.cc (Sized_relobj_file::compute_final_local_value_internal): 186*e6c7e151Schristos Drop relocatable parameter and stop adjusting output value based on 187*e6c7e151Schristos it. 188*e6c7e151Schristos (Sized_relobj_file::compute_final_local_value): Stop passing 189*e6c7e151Schristos relocatable to compute_final_local_value_internal. 190*e6c7e151Schristos (Sized_relobj_file::do_finalize_local_symbols): Ditto. 191*e6c7e151Schristos * object.h (Sized_relobj_file::compute_final_local_value_internal): 192*e6c7e151Schristos Drop relocatable parameter. 193*e6c7e151Schristos 194*e6c7e151Schristos2017-11-08 Kyle Butt <iteratee@google.com> 195*e6c7e151Schristos 196*e6c7e151Schristos * object.cc (do_find_special_sections): Fix a thinko with memmem return 197*e6c7e151Schristos values and check for != NULL rather than == 0. 198*e6c7e151Schristos 199*e6c7e151Schristos2017-11-07 Alan Modra <amodra@gmail.com> 200*e6c7e151Schristos 201*e6c7e151Schristos * system.h (textdomain, bindtextdomain): Use safer "do nothing". 202*e6c7e151Schristos (ngettext, dngettext, dcngettext): Define when !ENABLE_NLS. 203*e6c7e151Schristos 204*e6c7e151Schristos2017-10-25 Alan Modra <amodra@gmail.com> 205*e6c7e151Schristos 206*e6c7e151Schristos * symtab.cc (Symbol_table::add_from_relobj): Match "__gnu_lto_slim" 207*e6c7e151Schristos optionally prefixed with "_". 208*e6c7e151Schristos 209*e6c7e151Schristos2017-10-20 Sriraman Tallam <tmsriram@google.com> 210*e6c7e151Schristos 211*e6c7e151Schristos * options.h (-z,text_unlikely_segment): New option. 212*e6c7e151Schristos * layout.cc (Layout::layout): Create new output section 213*e6c7e151Schristos for .text.unlikely sections with the new option. 214*e6c7e151Schristos (Layout::segment_precedes): Check for the new option 215*e6c7e151Schristos when segment flags match. 216*e6c7e151Schristos * testsuite/text_unlikely_segment.cc: New test source. 217*e6c7e151Schristos * testsuite/text_unlikely_segment.sh: New test script. 218*e6c7e151Schristos * testsuite/Makefile.am (text_unlikely_segment): New test. 219*e6c7e151Schristos * testsuite/Makefile.in: Regenerate. 220*e6c7e151Schristos 221*e6c7e151Schristos2017-10-19 Umesh Kalappa <ukalappa@cisco.com> 222*e6c7e151Schristos 223*e6c7e151Schristos * arm.cc (Stub::do_fixed_endian_write):Far call stubs support for arm 224*e6c7e151Schristos in the be8 mode. 225*e6c7e151Schristos * testsuite/Makefile.am: New test cases. 226*e6c7e151Schristos * testsuite/Makefile.in: Regenerate. 227*e6c7e151Schristos * testsuite/arm_farcall_arm_arm_be8.sh: New script for arm to arm far 228*e6c7e151Schristos call stubs. 229*e6c7e151Schristos * testsuite/arm_farcall_thumb_thumb_be8.sh: New script for thumb to 230*e6c7e151Schristos thumb far call stubs. 231*e6c7e151Schristos 232*e6c7e151Schristos2017-10-18 Kyle Butt <iteratee@google.com> 233*e6c7e151Schristos Alan Modra <amodra@gmail.com> 234*e6c7e151Schristos 235*e6c7e151Schristos * powerpc.cc (Target_powerpc::Scan::local): Correct dst_off 236*e6c7e151Schristos calculation for TOC16 relocs. 237*e6c7e151Schristos (Target_powerpc::Scan::global): Likewise. 238*e6c7e151Schristos 239*e6c7e151Schristos2017-09-26 Cary Coutant <ccoutant@gmail.com> 240*e6c7e151Schristos 241*e6c7e151Schristos PR gold/22213 242*e6c7e151Schristos * sparc.cc (Target_sparc): Fix incorrect register mask. 243*e6c7e151Schristos 244*e6c7e151Schristos2017-09-22 Jim Wilson <jim.wilson@linaro.org> 245*e6c7e151Schristos 246*e6c7e151Schristos * aarch64.cc (Target_aarch64::aarch64_info): Set 247*e6c7e151Schristos is_default_stack_executable to false. 248*e6c7e151Schristos 249*e6c7e151Schristos2017-09-22 Alan Modra <amodra@gmail.com> 250*e6c7e151Schristos 251*e6c7e151Schristos * resolve.cc (clone): Fix got_offset_list test. 252*e6c7e151Schristos 253*e6c7e151Schristos2017-09-22 Alan Modra <amodra@gmail.com> 254*e6c7e151Schristos 255*e6c7e151Schristos * powerpc.cc (Target_powerpc<64,*>::powerpc_info): Set 256*e6c7e151Schristos is_default_stack_executable false. 257*e6c7e151Schristos 258*e6c7e151Schristos2017-09-20 Teresa Johnson <tejohnson@google.com> 259*e6c7e151Schristos 260*e6c7e151Schristos * plugin.cc (is_visible_from_outside): Check for export dynamic symbol 261*e6c7e151Schristos option and list. 262*e6c7e151Schristos * testsuite/Makefile.am (plugin_test_12): New test. 263*e6c7e151Schristos * testsuite/Makefile.in: Regenerate. 264*e6c7e151Schristos * testsuite/export_dynamic_plugin.cc: New test source. 265*e6c7e151Schristos * testsuite/plugin_test_12.sh: New test script. 266*e6c7e151Schristos 267*e6c7e151Schristos2017-09-20 Alan Modra <amodra@gmail.com> 268*e6c7e151Schristos 269*e6c7e151Schristos * powerpc.cc (Target_powerpc::Branch_info::make_stub): Put 270*e6c7e151Schristos stubs for ppc32 non-branch relocs in first stub table. 271*e6c7e151Schristos (Target_powerpc::Relocate::relocate): Resolve similarly. 272*e6c7e151Schristos 273*e6c7e151Schristos2017-09-19 Alan Modra <amodra@gmail.com> 274*e6c7e151Schristos 275*e6c7e151Schristos * options.h (stub-group-multi): Default to true. Add 276*e6c7e151Schristos --no-stub-group-multi. 277*e6c7e151Schristos 278*e6c7e151Schristos2017-08-30 Alan Modra <amodra@gmail.com> 279*e6c7e151Schristos 280*e6c7e151Schristos * powerpc.cc (Target_powerpc::Relocate::relocate): Nop addis on 281*e6c7e151Schristos TPREL16_HA, and convert insn on TPREL16_LO and TPREL16_LO_DS 282*e6c7e151Schristos relocs to use r2/r13 when addis would add zero. 283*e6c7e151Schristos 284*e6c7e151Schristos2017-08-29 Alan Modra <amodra@gmail.com> 285*e6c7e151Schristos 286*e6c7e151Schristos * options.h (tls_get_addr_optimize): New option. 287*e6c7e151Schristos * symtab.h (Symbol::clear_in_reg, clone): New functions. 288*e6c7e151Schristos (Sized_symbol::clone): New function. 289*e6c7e151Schristos (Symbol_table::clone): New function. 290*e6c7e151Schristos * resolve.cc (Symbol::clone, Sized_symbol::clone): New functions. 291*e6c7e151Schristos * powerpc.cc (Target_powerpc::has_tls_get_addr_opt_, 292*e6c7e151Schristos tls_get_addr_, tls_get_addr_opt_): New vars. 293*e6c7e151Schristos (Target_powerpc::tls_get_addr_opt, tls_get_addr, 294*e6c7e151Schristos is_tls_get_addr_opt, replace_tls_get_addr, 295*e6c7e151Schristos set_has_tls_get_addr_opt, stk_linker): New functions. 296*e6c7e151Schristos (Target_powerpc::Track_tls::maybe_skip_tls_get_addr_call): Add 297*e6c7e151Schristos target param. Update callers. Compare symbols rather than names. 298*e6c7e151Schristos (Target_powerpc::do_define_standard_symbols): Init tls_get_addr_ 299*e6c7e151Schristos and tls_get_addr_opt_. 300*e6c7e151Schristos (Target_powerpc::Branch_info::mark_pltcall): Translate tls_get_addr 301*e6c7e151Schristos sym to tls_get_addr_opt. 302*e6c7e151Schristos (Target_powerpc::Branch_info::make_stub): Likewise. 303*e6c7e151Schristos (Stub_table::define_stub_syms): Likewise. 304*e6c7e151Schristos (Target_powerpc::Scan::global): Likewise. 305*e6c7e151Schristos (Target_powerpc::Relocate::relocate): Likewise. 306*e6c7e151Schristos (add_3_12_2, add_3_12_13, bctrl, beqlr, cmpdi_11_0, cmpwi_11_0, 307*e6c7e151Schristos ld_11_1, ld_11_3, ld_12_3, lwz_11_3, lwz_12_3, mr_0_3, mr_3_0, 308*e6c7e151Schristos mtlr_11, std_11_1): New constants. 309*e6c7e151Schristos (Stub_table::eh_frame_added_): Delete. 310*e6c7e151Schristos (Stub_table::tls_get_addr_opt_bctrl_, plt_fde_len_, plt_fde_): New vars. 311*e6c7e151Schristos (Stub_table::init_plt_fde): New functions. 312*e6c7e151Schristos (Stub_table::add_eh_frame, replace_eh_frame): Move definition out 313*e6c7e151Schristos of line. Init and use plt_fde_. 314*e6c7e151Schristos (Stub_table::plt_call_size): Return size for tls_get_addr stub. 315*e6c7e151Schristos Extract alignment code to.. 316*e6c7e151Schristos (Stub_table::plt_call_align): ..this new function. Adjust all callers. 317*e6c7e151Schristos (Stub_table::add_plt_call_entry): Set has_tls_get_addr_opt and 318*e6c7e151Schristos tls_get_addr_opt_bctrl, and align after that. 319*e6c7e151Schristos (Stub_table::do_write): Write out tls_get_addr stub. 320*e6c7e151Schristos (Target_powerpc::do_finalize_sections): Emit DT_PPC_OPT 321*e6c7e151Schristos PPC_OPT_TLS/PPC64_OPT_TLS bit. 322*e6c7e151Schristos (Target_powerpc::Relocate::relocate): Don't check for or modify 323*e6c7e151Schristos nop following bl for tls_get_addr stub. 324*e6c7e151Schristos 325*e6c7e151Schristos2017-08-29 Alan Modra <amodra@gmail.com> 326*e6c7e151Schristos 327*e6c7e151Schristos * symtab.h (Symbol): Split u_ into u1_ and u2_. Adjust accessors 328*e6c7e151Schristos to suit. Move plt_offset_ before got_offsets_. 329*e6c7e151Schristos * symtab.cc (Symbol::init_fields): Adjust for union change. 330*e6c7e151Schristos (Symbol::init_base_output_data): Likewise. 331*e6c7e151Schristos (Symbol::init_base_output_segment): Likewise. 332*e6c7e151Schristos (Symbol::allocate_base_common): Likewise. 333*e6c7e151Schristos (Symbol::output_section): Likewise. 334*e6c7e151Schristos (Symbol::set_output_section): Likewise. 335*e6c7e151Schristos (Symbol::set_output_segment): Likewise. 336*e6c7e151Schristos * resolve.cc (Symbol::override_base): Likewise. 337*e6c7e151Schristos (Symbol::override_base_with_special): Likewise. 338*e6c7e151Schristos 339*e6c7e151Schristos2017-08-28 Igor Kudrin <ikudrin@accesssoftek.com> 340*e6c7e151Schristos 341*e6c7e151Schristos * aarch64.cc (Target_aarch64::Relocate::relocate_tls): 342*e6c7e151Schristos Make got_tlsdesc_offset signed and fix its calculation. 343*e6c7e151Schristos * testsuite/Makefile.am (aarch64_tlsdesc): New test. 344*e6c7e151Schristos * testsuite/Makefile.in: Regenerate. 345*e6c7e151Schristos * testsuite/aarch64_tlsdesc.s: New test source file. 346*e6c7e151Schristos * testsuite/aarch64_tlsdesc.sh: New test script. 347*e6c7e151Schristos * testsuite/aarch64_tlsdesc.t: New test linker script. 348*e6c7e151Schristos 349*e6c7e151Schristos2017-08-28 Alan Modra <amodra@gmail.com> 350*e6c7e151Schristos 351*e6c7e151Schristos PR 21847 352*e6c7e151Schristos * powerpc.cc (Target_powerpc::is_elfv2_localentry0): Test 353*e6c7e151Schristos non_zero_localentry. 354*e6c7e151Schristos (Target_powerpc::resolve): New function. 355*e6c7e151Schristos (powerpc_info): Set has_resolve for 64-bit. 356*e6c7e151Schristos * target.h (Sized_target::resolve): Return bool. 357*e6c7e151Schristos * resolve.cc (Symbol_table::resolve): Continue with normal 358*e6c7e151Schristos processing when target resolve returns false. 359*e6c7e151Schristos * symtab.h (Symbol::non_zero_localentry, set_non_zero_localentry): 360*e6c7e151Schristos New accessors. 361*e6c7e151Schristos (Symbol::non_zero_localentry_): New flag bit. 362*e6c7e151Schristos * symtab.cc (Symbol::init_fields): Init non_zero_localentry_. 363*e6c7e151Schristos 364*e6c7e151Schristos2017-08-08 Romain Geissler <romain.geissler@gmail.com> 365*e6c7e151Schristos Alan Modra <amodra@gmail.com> 366*e6c7e151Schristos 367*e6c7e151Schristos * configure.ac: Add --enable-default-hash-style option. 368*e6c7e151Schristos * options.h (hash_style): Use DEFAULT_HASH_STYLE as default value. 369*e6c7e151Schristos * configure: Regenerate. 370*e6c7e151Schristos * config.in: Regenerate. 371*e6c7e151Schristos 372*e6c7e151Schristos2017-08-03 James Clarke <jrtc27@jrtc27.com> 373*e6c7e151Schristos 374*e6c7e151Schristos * options.h (General_options): Set a non-NULL second help string 375*e6c7e151Schristos argument for relax to allow --no-relax. 376*e6c7e151Schristos 377*e6c7e151Schristos2017-08-01 Alan Modra <amodra@gmail.com> 378*e6c7e151Schristos 379*e6c7e151Schristos * ehframe.cc (Fde::operator==): New. 380*e6c7e151Schristos (Cie::remove_fde, Eh_frame::remove_ehframe_for_plt): New. 381*e6c7e151Schristos * ehframe.h (Fde::operator==): Declare. 382*e6c7e151Schristos (Cie::remove_fde, Eh_frame::remove_ehframe_for_plt): Likewise. 383*e6c7e151Schristos * layout.cc (Layout::remove_eh_frame_for_plt): New. 384*e6c7e151Schristos * layout.h (Layout::remove_eh_frame_for_plt): Declare. 385*e6c7e151Schristos * powerpc.cc (Target_powerpc::do_relax): Remove old eh_frame FDEs. 386*e6c7e151Schristos (Stub_table::add_eh_frame): Delete eh_frame_added_ condition. 387*e6c7e151Schristos Don't add eh_frame for empty stub section. 388*e6c7e151Schristos (Stub_table::remove_eh_frame): New. 389*e6c7e151Schristos 390*e6c7e151Schristos2017-07-31 Alan Modra <amodra@gmail.com> 391*e6c7e151Schristos 392*e6c7e151Schristos * options.h (no_tls_optimize): New powerpc option. 393*e6c7e151Schristos * powerpc.cc (Target_powerpc::abiversion, set_abiversion): Formatting. 394*e6c7e151Schristos (Target_powerpc::stk_toc): Formatting, fix comment. 395*e6c7e151Schristos (Target_powerpc::Track_tls::tls_get_addr_state): Rename from 396*e6c7e151Schristos tls_get_addr. 397*e6c7e151Schristos (Target_powerpc::optimize_tls_gd, optimize_tls_ld, optimize_tls_ie): 398*e6c7e151Schristos Return TLSOPT_NONE when !tls_optimize. 399*e6c7e151Schristos (Target_powerpc::add_global_pair_with_rel): Check 400*e6c7e151Schristos for existing reloc before reserving. 401*e6c7e151Schristos (Target_powerpc::add_local_tls_pair): Likewise. 402*e6c7e151Schristos 403*e6c7e151Schristos2017-07-31 Alan Modra <amodra@gmail.com> 404*e6c7e151Schristos 405*e6c7e151Schristos PR 21847 406*e6c7e151Schristos * powerpc.cc (Target_powerpc::scan_relocs): Warn on --plt-localentry 407*e6c7e151Schristos without ld.so checks. 408*e6c7e151Schristos 409*e6c7e151Schristos2017-07-29 Alan Modra <amodra@gmail.com> 410*e6c7e151Schristos 411*e6c7e151Schristos PR 21847 412*e6c7e151Schristos * powerpc.cc (Target_powerpc::scan_relocs): Default to 413*e6c7e151Schristos --no-plt-localentry. 414*e6c7e151Schristos 415*e6c7e151Schristos2017-07-28 H.J. Lu <hongjiu.lu@intel.com> 416*e6c7e151Schristos 417*e6c7e151Schristos PR gold/21857 418*e6c7e151Schristos * compressed_output.cc (Output_compressed_section::set_final_data_size): 419*e6c7e151Schristos Call put_ch_reserved to clear the reserved field for 64-bit ELF. 420*e6c7e151Schristos 421*e6c7e151Schristos2017-07-26 H.J. Lu <hongjiu.lu@intel.com> 422*e6c7e151Schristos 423*e6c7e151Schristos * mips.cc (Mips_relocate_functions): Add "llu" suffix to 424*e6c7e151Schristos 0x800080008000. 425*e6c7e151Schristos 426*e6c7e151Schristos2017-07-23 Alan Modra <amodra@gmail.com> 427*e6c7e151Schristos 428*e6c7e151Schristos * powerpc.cc (glink_eh_frame_fde_64v2): Correct advance to 429*e6c7e151Schristos restore of LR. 430*e6c7e151Schristos (glink_eh_frame_fde_64v1): Advance to restore of LR at latest 431*e6c7e151Schristos possible insn. 432*e6c7e151Schristos 433*e6c7e151Schristos2017-07-18 Nick Clifton <nickc@redhat.com> 434*e6c7e151Schristos 435*e6c7e151Schristos PR 21775 436*e6c7e151Schristos * aarch64.cc: Fix spelling typos. 437*e6c7e151Schristos * arm.cc: Likewise. 438*e6c7e151Schristos * layout.cc: Likewise. 439*e6c7e151Schristos * powerpc.cc: Likewise. 440*e6c7e151Schristos * x86_64.cc: Likewise. 441*e6c7e151Schristos 442*e6c7e151Schristos2017-07-12 Alan Modra <amodra@gmail.com> 443*e6c7e151Schristos 444*e6c7e151Schristos * po/es.po: Update from translationproject.org/latest/gold/. 445*e6c7e151Schristos * po/fi.po: Likewise. 446*e6c7e151Schristos * po/fr.po: Likewise. 447*e6c7e151Schristos * po/id.po: Likewise. 448*e6c7e151Schristos * po/it.po: Likewise. 449*e6c7e151Schristos * po/vi.po: Likewise. 450*e6c7e151Schristos * po/zh_CN.po: Likewise. 451*e6c7e151Schristos * po/ja.po: New file from translationproject.org. 452*e6c7e151Schristos * po/sv.po: Likewise. 453*e6c7e151Schristos * po/uk.po: Likewise. 454*e6c7e151Schristos 455*e6c7e151Schristos2017-07-06 Han Shen <shenhan@google.com> 456*e6c7e151Schristos 457*e6c7e151Schristos PR gold/21491 458*e6c7e151Schristos * aarch64.cc (Erratum_stub::invalidate_erratum_stub): New method. 459*e6c7e151Schristos (Erratum_stub::is_invalidated_erratum_stub): New method. 460*e6c7e151Schristos (Stub_table::relocate_reloc_stub): Renamed from "relocate_stub". 461*e6c7e151Schristos (Stub_table::relocate_reloc_stubs): Renamed from "relocate_stubs". 462*e6c7e151Schristos (Stub_table::relocate_erratum_stub): New method. 463*e6c7e151Schristos (AArch64_relobj::fix_errata_and_relocate_erratum_stubs): Renamed from 464*e6c7e151Schristos "fix_errata". 465*e6c7e151Schristos (Target_aarch64::relocate_reloc_stub): Renamed from "relocate_stub". 466*e6c7e151Schristos 467*e6c7e151Schristos2017-06-23 Alan Modra <amodra@gmail.com> 468*e6c7e151Schristos 469*e6c7e151Schristos * options.h (General_options): Add plt_localentry. 470*e6c7e151Schristos * powerpc.cc (Target_powerpc::st_other): New function. 471*e6c7e151Schristos (Target_powerpc::plt_localentry0_, plt_localentry0_init_, 472*e6c7e151Schristos has_localentry0_): New vars. 473*e6c7e151Schristos (Target_powerpc::plt_localentry0, set_has_localentry0, 474*e6c7e151Schristos is_elfv2_localentry0): New functions. 475*e6c7e151Schristos (Target_powerpc::Branch_info::mark_pltcall): Don't set tocsave or 476*e6c7e151Schristos return true for localentry:0 calls. 477*e6c7e151Schristos (Stub_table::Plt_stub_ent::localentry0_): New var. 478*e6c7e151Schristos (Stub_table::add_plt_call_entry): Set localentry0_ and has_localentry0_. 479*e6c7e151Schristos Don't set r2save_ for localentry:0 calls. 480*e6c7e151Schristos (Output_data_glink::do_write): Save r2 in __glink_PLTresolve for elfv2. 481*e6c7e151Schristos (Target_powerpc::scan_relocs): Default plt_localentry0_. 482*e6c7e151Schristos (Target_powerpc::do_finalize_sections): Set DT_PPC64_OPT. 483*e6c7e151Schristos (Target_powerpc::Relocate::relocate): Don't require nop following 484*e6c7e151Schristos calls for localentry:0 plt calls, and don't change nop. 485*e6c7e151Schristos 486*e6c7e151Schristos2017-06-23 Alan Modra <amodra@gmail.com> 487*e6c7e151Schristos 488*e6c7e151Schristos * powerpc.cc (Target_powerpc::tocsave_loc_): New var. 489*e6c7e151Schristos (Target_powerpc::mark_pltcall, add_tocsave, tocsave_loc): New functions. 490*e6c7e151Schristos (Target_powerpc::Branch_info::tocsave_): New var. 491*e6c7e151Schristos (Target_powerpc::Branch_info::mark_pltcall): New function. 492*e6c7e151Schristos (Target_powerpc::Branch_info::make_stub): Pass tocsave_ to 493*e6c7e151Schristos add_plt_call_entry. 494*e6c7e151Schristos (Stub_table::Plt_stub_ent): Make public. Add r2save_. 495*e6c7e151Schristos (Stub_table::add_plt_call_entry): Add bool tocsave_ param. Set 496*e6c7e151Schristos r2save_. 497*e6c7e151Schristos (Stub_table::find_plt_call_entry): Return Plt_stub_ent*. Adjust 498*e6c7e151Schristos use throughout. 499*e6c7e151Schristos (Stub_table::do_write): Conditionally output r2 save in plt stubs. 500*e6c7e151Schristos (Target_powerpc::Scan::local): Handle R_PPC64_TOCSAVE. 501*e6c7e151Schristos (Target_powerpc::Scan::global): Likewise. 502*e6c7e151Schristos (Target_powerpc::Relocate::relocate): Skip r2 save in plt call stub 503*e6c7e151Schristos with tocsave reloc. Replace header tocsave nop with r2 save. 504*e6c7e151Schristos * symtab.h (struct Symbol_location_hash): Make public. 505*e6c7e151Schristos 506*e6c7e151Schristos2017-06-21 Alan Modra <amodra@gmail.com> 507*e6c7e151Schristos 508*e6c7e151Schristos * powerpc.cc (Plt_stub_key): Rename from Plt_stub_ent. Remove indx_. 509*e6c7e151Schristos (Plt_stub_key_hash): Rename from Plt_stub_ent_hash. 510*e6c7e151Schristos (struct Plt_stub_ent): New. 511*e6c7e151Schristos (Plt_stub_entries): Map from Plt_stub_key to Plt_stub_ent. Adjust 512*e6c7e151Schristos use throughout file. 513*e6c7e151Schristos 514*e6c7e151Schristos2017-06-20 Eric Christopher <echristo@gmail.com> 515*e6c7e151Schristos 516*e6c7e151Schristos * aarch64.cc (scan_reloc_for_stub): Use plt_address_for_global to 517*e6c7e151Schristos calculate the symbol value. 518*e6c7e151Schristos (scan_reloc_section_for_stubs): Allow stubs to be created for 519*e6c7e151Schristos section symbols. 520*e6c7e151Schristos (maybe_apply_stub): Handle creating stubs for weak symbols to 521*e6c7e151Schristos match the code in scan_reloc_for_stub. 522*e6c7e151Schristos 523*e6c7e151Schristos2017-06-20 James Clarke <jrtc27@jrtc27.com> 524*e6c7e151Schristos 525*e6c7e151Schristos * powerpc.cc (Stub_table::define_stub_syms): Always include object's 526*e6c7e151Schristos uniq_ value. 527*e6c7e151Schristos 528*e6c7e151Schristos2017-06-15 Eric Christopher <echristo@gmail.com> 529*e6c7e151Schristos 530*e6c7e151Schristos * aarch64.cc: Fix a few typos and grammar-os. 531*e6c7e151Schristos 532*e6c7e151Schristos2017-06-15 Jiong Wang <jiong.wang@arm.com> 533*e6c7e151Schristos 534*e6c7e151Schristos * aarch64.cc (Insn_utilities::is_mrs_tpidr_el0): New method. 535*e6c7e151Schristos (AArch64_relobj<size, big_endian>::try_fix_erratum_843419_optimized): 536*e6c7e151Schristos Return ture for some TLS relaxed sequences. 537*e6c7e151Schristos 538*e6c7e151Schristos2017-06-07 Eric Christopher <echristo@gmail.com> 539*e6c7e151Schristos 540*e6c7e151Schristos * aarch64.cc (maybe_apply_stub): Add debug logging for looking 541*e6c7e151Schristos up stubs to undefined symbols and early return rather than 542*e6c7e151Schristos fail to look them up. 543*e6c7e151Schristos (scan_reloc_for_stub): Add debug logging for no stub creation 544*e6c7e151Schristos for undefined symbols. 545*e6c7e151Schristos 546*e6c7e151Schristos2017-05-23 Alan Modra <amodra@gmail.com> 547*e6c7e151Schristos 548*e6c7e151Schristos PR 21503 549*e6c7e151Schristos * options.h: Add --emit-stub-syms option. 550*e6c7e151Schristos * powerpc.cc (object_id): New. 551*e6c7e151Schristos (Powerpc_relobj): Add uniq_ and accessor. Sort variables for 552*e6c7e151Schristos better packing. 553*e6c7e151Schristos (Powerpc_dynobj): Sort variables for better packing. 554*e6c7e151Schristos (Target_powerpc::define_local): New function. 555*e6c7e151Schristos (Target_powerpc::group_sections): Pass stub table size to 556*e6c7e151Schristos Stub_table constructor. 557*e6c7e151Schristos (Target_powerpc::do_relax): Define stub and glink symbols. 558*e6c7e151Schristos (Stub_table): Add uniq_ variable, and id param to constructor. 559*e6c7e151Schristos (Stub_table::Plt_stub_ent): Add indx_ variable. 560*e6c7e151Schristos (Stub_table::Branch_stub_entries): Move typedef earlier. 561*e6c7e151Schristos (Stub_table::branch_stub_size): Replace "to" parameter with a 562*e6c7e151Schristos Branch_stub_entries iterator. 563*e6c7e151Schristos (Stub_table::add_long_branch_entry): Adjust to suit. 564*e6c7e151Schristos (Stub_table::add_plt_call_entry): Set indx_. 565*e6c7e151Schristos (Stub_table::define_stub_syms): New function. 566*e6c7e151Schristos 567*e6c7e151Schristos2017-05-15 Eric Christopher <echristo@gmail.com> 568*e6c7e151Schristos 569*e6c7e151Schristos * layout.cc (Layout::segment_precedes): Add a case for testing 570*e6c7e151Schristos pointer equality when determining which segment precedes 571*e6c7e151Schristos another. 572*e6c7e151Schristos 573*e6c7e151Schristos2017-05-13 James Clarke <jrtc27@jrtc27.com> 574*e6c7e151Schristos 575*e6c7e151Schristos PR gold/21444 576*e6c7e151Schristos * gold.cc (Target_sparc::Relocate::relocate_tls): Local 577*e6c7e151Schristos variables are final for position-independent executables. This 578*e6c7e151Schristos has to be consistent with Target_sparc::Scan::local otherwise 579*e6c7e151Schristos they will disagree as to whether local-exec is used. 580*e6c7e151Schristos 581*e6c7e151Schristos2017-05-12 Igor Kudrin <ikudrin@accesssoftek.com> 582*e6c7e151Schristos 583*e6c7e151Schristos PR gold/21430 584*e6c7e151Schristos * aarch64.cc 585*e6c7e151Schristos (AArch64_relobj::convert_input_section_to_relaxed_section): 586*e6c7e151Schristos Set the section offset to -1ULL. 587*e6c7e151Schristos (Target_aarch64::relocate_section): Adjust the view in case 588*e6c7e151Schristos of a relaxed input section. 589*e6c7e151Schristos * testsuite/Makefile.am (pr21430): New test. 590*e6c7e151Schristos * testsuite/Makefile.in: Regenerate 591*e6c7e151Schristos * testsuite/pr21430.s: New test source file. 592*e6c7e151Schristos * testsuite/pr21430.sh: New test script. 593*e6c7e151Schristos 594*e6c7e151Schristos2017-04-27 Alan Modra <amodra@gmail.com> 595*e6c7e151Schristos 596*e6c7e151Schristos * testsuite/plugin_section_order.c (onload): Add missing break. 597*e6c7e151Schristos 598*e6c7e151Schristos2017-03-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com> 599*e6c7e151Schristos 600*e6c7e151Schristos * mips.cc (Mips_got_entry::hash()): Shift addend to reduce 601*e6c7e151Schristos possibility of collisions. 602*e6c7e151Schristos (Mips_got_entry::equals): Fix case for GOT_TLS_LDM 603*e6c7e151Schristos entries. 604*e6c7e151Schristos 605*e6c7e151Schristos2017-03-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com> 606*e6c7e151Schristos 607*e6c7e151Schristos * mips.cc (Mips_relobj::merge_processor_specific_data_): New data 608*e6c7e151Schristos member. 609*e6c7e151Schristos (Mips_relobj::merge_processor_specific_data): New method. 610*e6c7e151Schristos (Mips_relobj::do_read_symbols): Set merge_processor_specific_data_ 611*e6c7e151Schristos to false, only if the input file is a binary or if object has no 612*e6c7e151Schristos contents except the section name string table and an empty symbol 613*e6c7e151Schristos table with the undefined symbol. 614*e6c7e151Schristos (Target_mips::do_finalize_sections): Refactor. Skip empty object files 615*e6c7e151Schristos for merging processor-specific data. 616*e6c7e151Schristos 617*e6c7e151Schristos2017-03-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com> 618*e6c7e151Schristos 619*e6c7e151Schristos * mips.cc (Target_mips::Relocate::calculated_value_): New data 620*e6c7e151Schristos member. 621*e6c7e151Schristos (Target_mips::Relocate::calculate_only_): Likewise. 622*e6c7e151Schristos (Target_mips::Relocate::relocate): Handle multiple consecutive 623*e6c7e151Schristos relocations with the same offset. 624*e6c7e151Schristos 625*e6c7e151Schristos2017-03-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com> 626*e6c7e151Schristos 627*e6c7e151Schristos * mips.cc (Target_mips::Relocate::relocate): Remove redundant 628*e6c7e151Schristos checks for relocatable link. 629*e6c7e151Schristos (Mips_relocate_functions::reljalr): Likewise. 630*e6c7e151Schristos 631*e6c7e151Schristos2017-03-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com> 632*e6c7e151Schristos 633*e6c7e151Schristos * mips.cc (class Mips_output_section_options): New class. 634*e6c7e151Schristos (Target_mips::do_make_output_section): New method. 635*e6c7e151Schristos 636*e6c7e151Schristos2017-03-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com> 637*e6c7e151Schristos 638*e6c7e151Schristos * mips.cc (Mips_relocate_functions::rel26): Don't print relocation 639*e6c7e151Schristos overflow error message. 640*e6c7e151Schristos (Target_mips::relocate_special_relocatable): Improve relocation 641*e6c7e151Schristos overflow error message. 642*e6c7e151Schristos (Target_mips::Relocate::relocate): Likewise. 643*e6c7e151Schristos 644*e6c7e151Schristos2017-03-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com> 645*e6c7e151Schristos 646*e6c7e151Schristos * mips.cc (symbol_refs_local): Return false if a symbol 647*e6c7e151Schristos is from a dynamic object. 648*e6c7e151Schristos (Target_mips::got_section): Make _GLOBAL_OFFSET_TABLE_ STV_HIDDEN. 649*e6c7e151Schristos (Target_mips::set_gp): Refactor. Make _gp STT_NOTYPE and 650*e6c7e151Schristos STB_LOCAL. 651*e6c7e151Schristos (Target_mips::do_finalize_sections): Set _gp after all the checks 652*e6c7e151Schristos for creating .got are done. 653*e6c7e151Schristos (Target_mips::Scan::global): Remove unused code. 654*e6c7e151Schristos 655*e6c7e151Schristos2017-02-22 Alan Modra <amodra@gmail.com> 656*e6c7e151Schristos 657*e6c7e151Schristos * powerpc.cc (Target_powerpc::make_iplt_section): Check that 658*e6c7e151Schristos output_section exists before attempting add_output_section_data. 659*e6c7e151Schristos (Target_powerpc::make_brlt_section): Likewise. 660*e6c7e151Schristos 661*e6c7e151Schristos2017-02-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com> 662*e6c7e151Schristos 663*e6c7e151Schristos * mips.cc (Target_mips::Scan::get_reference_flags): Remove 664*e6c7e151Schristos gold_unreachable from default case. 665*e6c7e151Schristos 666*e6c7e151Schristos2017-02-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com> 667*e6c7e151Schristos 668*e6c7e151Schristos PR gold/21111 669*e6c7e151Schristos * mips.cc (Mips_relocate_functions::relhigher): New method. 670*e6c7e151Schristos (Mips_relocate_functions::relhighest): Likewise. 671*e6c7e151Schristos (mips_get_size_for_reloc): Add support for relocs: R_MIPS_HIGHER and 672*e6c7e151Schristos R_MIPS_HIGHEST. 673*e6c7e151Schristos (Target_mips::Scan::local): Add support for relocs: R_MIPS_HIGHER, 674*e6c7e151Schristos R_MIPS_HIGHEST, R_MICROMIPS_HIGHER and R_MICROMIPS_HIGHEST. 675*e6c7e151Schristos (Target_mips::Scan::global): Likewise. 676*e6c7e151Schristos (Target_mips::Scan::get_reference_flags): Likewise. 677*e6c7e151Schristos (Target_mips::Relocate::relocate): Call static methods for resolving 678*e6c7e151Schristos HIGHER and HIGHEST relocations. 679*e6c7e151Schristos 680*e6c7e151Schristos2017-02-03 Rahul Chaudhry <rahulchaudhry@google.com> 681*e6c7e151Schristos 682*e6c7e151Schristos * x86_64.cc (Target_x86_64::do_can_check_for_function_pointers): 683*e6c7e151Schristos Return true even when building pie binaries. 684*e6c7e151Schristos (Target_x86_64::possible_function_pointer_reloc): Check opcode 685*e6c7e151Schristos for R_X86_64_PC32 relocations. 686*e6c7e151Schristos (Target_x86_64::local_reloc_may_be_function_pointer): Pass 687*e6c7e151Schristos extra arguments to local_reloc_may_be_function_pointer. 688*e6c7e151Schristos (Target_x86_64::global_reloc_may_be_function_pointer): Likewise. 689*e6c7e151Schristos * gc.h (gc_process_relocs): Add check for STT_FUNC. 690*e6c7e151Schristos * testsuite/Makefile.am (icf_safe_pie_test): New test case. 691*e6c7e151Schristos * testsuite/Makefile.in: Regenerate. 692*e6c7e151Schristos * testsuite/icf_safe_pie_test.sh: New shell script. 693*e6c7e151Schristos 694*e6c7e151Schristos2017-02-03 Alan Modra <amodra@gmail.com> 695*e6c7e151Schristos 696*e6c7e151Schristos * powerpc.cc (Powerpc_relobj::make_toc_relative): Don't crash 697*e6c7e151Schristos when no .toc section exists. 698*e6c7e151Schristos 699*e6c7e151Schristos2017-01-31 Cary Coutant <ccoutant@gmail.com> 700*e6c7e151Schristos 701*e6c7e151Schristos PR gold/21090 702*e6c7e151Schristos * x86_64.cc (Target_x86_64::can_convert_mov_to_lea): Add check 703*e6c7e151Schristos for predefined symbol. 704*e6c7e151Schristos (Target_x86_64::Relocate::relocate): Fix formatting. 705*e6c7e151Schristos 706*e6c7e151Schristos2017-01-23 Rahul Chaudhry <rahulchaudhry@google.com> 707*e6c7e151Schristos 708*e6c7e151Schristos * testsuite/icf_safe_so_test.sh: Use "set -e". 709*e6c7e151Schristos * testsuite/icf_safe_test.sh: Likewise. 710*e6c7e151Schristos * testsuite/icf_test.sh: Likewise. 711*e6c7e151Schristos 712*e6c7e151Schristos2017-01-23 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com> 713*e6c7e151Schristos 714*e6c7e151Schristos * mips.cc (Mips_output_data_plt::rel_plt): Remove const from return 715*e6c7e151Schristos type. 716*e6c7e151Schristos (Target_mips::make_plt_entry): Make the sh_info field of .rel.plt 717*e6c7e151Schristos point to .plt. 718*e6c7e151Schristos 719*e6c7e151Schristos2017-01-23 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com> 720*e6c7e151Schristos 721*e6c7e151Schristos PR gold/21054 722*e6c7e151Schristos * mips.cc (Mips_got_info::record_global_got_symbol): Don't add symbol 723*e6c7e151Schristos to the dynamic symbol table if it is forced to local visibility. 724*e6c7e151Schristos (Target_mips::do_finalize_sections): Don't add __RLD_MAP symbol to the 725*e6c7e151Schristos dynamic symbol table if it is forced to local visibility. 726*e6c7e151Schristos 727*e6c7e151Schristos2017-01-20 Nick Clifton <nickc@redhat.com> 728*e6c7e151Schristos 729*e6c7e151Schristos * aarch64.cc (Stub_template_repertoire): Change ST_E_835769_INSNS 730*e6c7e151Schristos from a pointer to an array. 731*e6c7e151Schristos 732*e6c7e151Schristos2017-01-13 H.J. Lu <hongjiu.lu@intel.com> 733*e6c7e151Schristos 734*e6c7e151Schristos PR gold/21040 735*e6c7e151Schristos * powerpc.cc (Powerpc_relobj<size, big_endian>::make_toc_relative): 736*e6c7e151Schristos Cast 0x80008000 to uint64_t. 737*e6c7e151Schristos 738*e6c7e151Schristos2017-01-12 Cary Coutant <ccoutant@gmail.com> 739*e6c7e151Schristos 740*e6c7e151Schristos * object.cc (Sized_relobj_file): Fix byte counts for calls to memmem. 741*e6c7e151Schristos 742*e6c7e151Schristos2017-01-11 Cary Coutant <ccoutant@gmail.com> 743*e6c7e151Schristos 744*e6c7e151Schristos PR gold/21040 745*e6c7e151Schristos * x86_64.cc (Output_data_plt_x86_64_bnd::do_fill_first_plt_entry): 746*e6c7e151Schristos Remove unnecessary 'typename' keyword. 747*e6c7e151Schristos (Output_data_plt_x86_64_bnd::do_fill_plt_entry): Likewise. 748*e6c7e151Schristos (Output_data_plt_x86_64_bnd::fill_aplt_entry): Likewise. 749*e6c7e151Schristos (Output_data_plt_x86_64_bnd::do_fill_tlsdesc_entry): Likewise. 750*e6c7e151Schristos (Output_data_plt_x86_64_bnd::do_write): Likewise. 751*e6c7e151Schristos 752*e6c7e151Schristos2017-01-11 Cary Coutant <ccoutant@gmail.com> 753*e6c7e151Schristos 754*e6c7e151Schristos PR gold/21040 755*e6c7e151Schristos * x86_64.cc (Output_data_plt_x86_64_bnd::do_fill_first_plt_entry): 756*e6c7e151Schristos Remove unnecessary 'typename' keyword. 757*e6c7e151Schristos (Output_data_plt_x86_64_bnd::do_fill_plt_entry): Likewise. 758*e6c7e151Schristos (Output_data_plt_x86_64_bnd::do_fill_tlsdesc_entry): Likewise. 759*e6c7e151Schristos (Output_data_plt_x86_64_bnd::fill_aplt_entry): Likewise. 760*e6c7e151Schristos * testsuite/copy_test_relro_1.cc (p, b, c, q): Add separate extern 761*e6c7e151Schristos declarations. 762*e6c7e151Schristos 763*e6c7e151Schristos2017-01-11 Cary Coutant <ccoutant@gmail.com> 764*e6c7e151Schristos 765*e6c7e151Schristos PR gold/21039 766*e6c7e151Schristos * testsuite/script_test_13.sh: Adjust patterns to work for i386. 767*e6c7e151Schristos * testsuite/script_test_15a.sh: Likewise. 768*e6c7e151Schristos * testsuite/script_test_15b.sh: Likewise. 769*e6c7e151Schristos * testsuite/script_test_15c.sh: Likewise. 770*e6c7e151Schristos 771*e6c7e151Schristos2017-01-11 Alan Modra <amodra@gmail.com> 772*e6c7e151Schristos 773*e6c7e151Schristos * powerpc.cc (class Powerpc_copy_relocs): New. 774*e6c7e151Schristos (Powerpc_copy_relocs::emit): New function. 775*e6c7e151Schristos (Powerpc_relobj::relatoc_, toc_, no_toc_opt_): New variables. 776*e6c7e151Schristos (Powerpc_relobj::toc_shndx, set_no_toc_opt, no_toc_opt): New inlines. 777*e6c7e151Schristos (Powerpc_relobj::do_relocate_sections): New function. 778*e6c7e151Schristos (Powerpc_relobj::make_toc_relative): Likewise. 779*e6c7e151Schristos (Powerpc_relobj::do_find_special_sections): Stash away .rela.toc 780*e6c7e151Schristos and .toc too. 781*e6c7e151Schristos (ok_lo_toc_insn): Move earlier, and handle more insns. 782*e6c7e151Schristos (Target_powerpc::Scan::local): If optimizing toc accesses, set 783*e6c7e151Schristos no_toc_opt for entries we can't edit. Check insn validity. 784*e6c7e151Schristos Emit "toc optimization is not supported" warning, downgraded 785*e6c7e151Schristos from error. 786*e6c7e151Schristos (Target_powerpc::Scan::global): Likewise. 787*e6c7e151Schristos (Target_powerpc::Relocate::relocate): Edit TOC indirect code 788*e6c7e151Schristos to TOC relative. Don't emit "toc optimization is not supported" 789*e6c7e151Schristos error here. 790*e6c7e151Schristos 791*e6c7e151Schristos2017-01-10 Cary Coutant <ccoutant@gmail.com> 792*e6c7e151Schristos 793*e6c7e151Schristos * aarch64.cc (AArch64_relobj::do_relocate_sections): Call 794*e6c7e151Schristos Sized_relobj_file::relocate_section_range(). 795*e6c7e151Schristos * arm.cc (Arm_relobj::do_relocate_sections): Likewise. 796*e6c7e151Schristos * object.h (Sized_relobj_file::relocate_section_range): New method. 797*e6c7e151Schristos * reloc.cc (Sized_relobj_file::do_relocate_sections): Move 798*e6c7e151Schristos implementation... 799*e6c7e151Schristos (Sized_relobj_file::relocate_section_range): ...to new method. 800*e6c7e151Schristos 801*e6c7e151Schristos2017-01-10 Alan Modra <amodra@gmail.com> 802*e6c7e151Schristos 803*e6c7e151Schristos * testsuite/ver_test_8.sh: Accept .TOC. in lieu of 804*e6c7e151Schristos _GLOBAL_OFFSET_TABLE_. Allow zero count. 805*e6c7e151Schristos * testsuite/copy_test_relro_1.cc (c, q): New vars. 806*e6c7e151Schristos * testsuite/copy_test_relro.cc: Rewrite to test read-only 807*e6c7e151Schristos status of variables directly. Reference new vars in 808*e6c7e151Schristos read-only data. 809*e6c7e151Schristos 810*e6c7e151Schristos2017-01-10 Alan Modra <amodra@gmail.com> 811*e6c7e151Schristos 812*e6c7e151Schristos * options.h: Add --secure-plt option. 813*e6c7e151Schristos * powerpc.cc (Target_powerpc::Scan::local): Detect and error 814*e6c7e151Schristos on -fPIC -mbss-plt code. 815*e6c7e151Schristos (Target_powerpc::Scan::global): Likewise. 816*e6c7e151Schristos 817*e6c7e151Schristos2017-01-09 Alan Modra <amodra@gmail.com> 818*e6c7e151Schristos 819*e6c7e151Schristos * powerpc.cc (Target_powerpc::make_plt_section): Point sh_info of 820*e6c7e151Schristos ".rela.plt" at ".plt". 821*e6c7e151Schristos 822*e6c7e151Schristos2017-01-07 Alan Modra <amodra@gmail.com> 823*e6c7e151Schristos 824*e6c7e151Schristos * powerpc.cc: Use shorter equivalent elfcpp typedef for 825*e6c7e151Schristos Reltype and reloc_size throughout. 826*e6c7e151Schristos (Target_powerpc::symval_for_branch): Exclude dynamic symbols. 827*e6c7e151Schristos (Target_powerpc::Scan::local): Use local var r_sym. 828*e6c7e151Schristos (Target_powerpc::Scan::global: Likewise. 829*e6c7e151Schristos (Target_powerpc::Relocate::relocate): Delete shadowing r_sym. 830*e6c7e151Schristos 831*e6c7e151Schristos2017-01-02 Alan Modra <amodra@gmail.com> 832*e6c7e151Schristos 833*e6c7e151Schristos Update year range in copyright notice of all files. 834*e6c7e151Schristos 835*e6c7e151SchristosFor older changes see ChangeLog-2016 836*e6c7e151Schristos 837*e6c7e151SchristosCopyright (C) 2017 Free Software Foundation, Inc. 838*e6c7e151Schristos 839*e6c7e151SchristosCopying and distribution of this file, with or without modification, 840*e6c7e151Schristosare permitted in any medium without royalty provided the copyright 841*e6c7e151Schristosnotice and this notice are preserved. 842*e6c7e151Schristos 843*e6c7e151SchristosLocal Variables: 844*e6c7e151Schristosmode: change-log 845*e6c7e151Schristosleft-margin: 8 846*e6c7e151Schristosfill-column: 74 847*e6c7e151Schristosversion-control: never 848*e6c7e151SchristosEnd: 849