1*e6c7e151Schristos2016-12-28 Andreas Schwab <schwab@linux-m68k.org> 2*e6c7e151Schristos 3*e6c7e151Schristos * copy-relocs.h: Fix comment typo. 4*e6c7e151Schristos 5*e6c7e151Schristos2016-12-28 Cary Coutant <ccoutant@gmail.com> 6*e6c7e151Schristos 7*e6c7e151Schristos PR gold/20996 8*e6c7e151Schristos * object.cc (build_compressed_section_map): Add explicit instantiations. 9*e6c7e151Schristos 10*e6c7e151Schristos2016-12-27 Cary Coutant <ccoutant@gmail.com> 11*e6c7e151Schristos 12*e6c7e151Schristos PR ld/20995 13*e6c7e151Schristos * copy-relocs.cc (Copy_relocs::make_copy_reloc): Use .data.rel.ro for 14*e6c7e151Schristos read-only data when linking with -z relro. 15*e6c7e151Schristos * copy-relocs.h (Copy_relocs::dynrelro_): New data member. 16*e6c7e151Schristos * testsuite/Makefile.am (copy_test_relro): New test case. 17*e6c7e151Schristos * testsuite/Makefile.in: Regenerate. 18*e6c7e151Schristos * testsuite/copy_test_relro.cc: New source file. 19*e6c7e151Schristos * testsuite/copy_test_relro_1.cc: New source file. 20*e6c7e151Schristos 21*e6c7e151Schristos2016-12-23 Cary Coutant <ccoutant@gmail.com> 22*e6c7e151Schristos 23*e6c7e151Schristos * NEWS: Add new features in 1.14. 24*e6c7e151Schristos * version.cc (version_string): Bump to 1.14. 25*e6c7e151Schristos 26*e6c7e151Schristos2016-12-22 Cary Coutant <ccoutant@gmail.com> 27*e6c7e151Schristos 28*e6c7e151Schristos PR gold/17643 29*e6c7e151Schristos * options.h (-z bndplt): New option. 30*e6c7e151Schristos * x86_64.cc (Output_data_plt_x86_64::regular_count): New method. 31*e6c7e151Schristos (Output_data_plt_x86_64::address_for_global): Move implementation into 32*e6c7e151Schristos virtual method. 33*e6c7e151Schristos (Output_data_plt_x86_64::address_for_local): Likewise. 34*e6c7e151Schristos (Output_data_plt_x86_64::got): New method. 35*e6c7e151Schristos (Output_data_plt_x86_64::got_plt): New method. 36*e6c7e151Schristos (Output_data_plt_x86_64::got_irelative): New method. 37*e6c7e151Schristos (Output_data_plt_x86_64::do_address_for_global): New virtual method. 38*e6c7e151Schristos (Output_data_plt_x86_64::do_address_for_local): New virtual method. 39*e6c7e151Schristos (class Output_data_plt_x86_64_bnd): New class. 40*e6c7e151Schristos (Target_x86_64::do_make_data_plt): Move out of line and specialize 41*e6c7e151Schristos for each size (both overloads). 42*e6c7e151Schristos (Output_data_plt_x86_64::set_final_data_size): Cosmetic changes. 43*e6c7e151Schristos * testsuite/Makefile.am (bnd_plt_1): New test case. 44*e6c7e151Schristos (bnd_ifunc_1): New test case. 45*e6c7e151Schristos (bnd_ifunc_2): New test case. 46*e6c7e151Schristos * testsuite/Makefile.in: Regenerate. 47*e6c7e151Schristos * testsuite/bnd_ifunc_1.s: New source file. 48*e6c7e151Schristos * testsuite/bnd_ifunc_1.sh: New shell script. 49*e6c7e151Schristos * testsuite/bnd_ifunc_2.s: New source file. 50*e6c7e151Schristos * testsuite/bnd_ifunc_2.sh: New shell script. 51*e6c7e151Schristos * testsuite/bnd_plt_1.s: New source file. 52*e6c7e151Schristos * testsuite/bnd_plt_1.sh: New shell script. 53*e6c7e151Schristos 54*e6c7e151Schristos2016-12-22 Cary Coutant <ccoutant@gmail.com> 55*e6c7e151Schristos 56*e6c7e151Schristos * layout.cc (Layout::finalize): Track count of forced-local symbols 57*e6c7e151Schristos in .dynsym. 58*e6c7e151Schristos (Layout::create_symtab_sections): Add local_dynamic_count parameter; 59*e6c7e151Schristos use that instead of sh_info value. 60*e6c7e151Schristos (Layout::create_dynamic_symtab): Add pforced_local_dynamic_count 61*e6c7e151Schristos parameter; pass it to Symtab::set_dynsym_indexes(). Include forced 62*e6c7e151Schristos locals in sh_info value. Pass index of first real global to 63*e6c7e151Schristos Dynobj::create_gnu_hash_table() and Dynobj::create_elf_hash_table(). 64*e6c7e151Schristos * layout.h (Layout::create_symtab_sections): Add local_dynamic_count 65*e6c7e151Schristos parameter. 66*e6c7e151Schristos (Layout::create_dynamic_symtab): Add pforced_local_dynamic_count 67*e6c7e151Schristos parameter. 68*e6c7e151Schristos * symtab.cc (Symbol_table::set_dynsym_indexes): Add pforced_local_count 69*e6c7e151Schristos parameter. Process forced-local symbols first and return the count. 70*e6c7e151Schristos (Symbol_table::finalize): Update comments. 71*e6c7e151Schristos * symtab.h (Symbol_table::set_dynsym_indexes): Add pforced_local_count 72*e6c7e151Schristos parameter. 73*e6c7e151Schristos (Symbol_table::first_dynamic_global_index_): Update comment. 74*e6c7e151Schristos (Symbol_table::dynamic_count_): Update comment. 75*e6c7e151Schristos * testsuite/Makefile.am (ifuncmod1.sh): New test case. 76*e6c7e151Schristos * testsuite/Makefile.in: Regenerate. 77*e6c7e151Schristos * testsuite/ifuncmod1.sh: New shell script. 78*e6c7e151Schristos 79*e6c7e151Schristos2016-12-21 Cary Coutant <ccoutant@gmail.com> 80*e6c7e151Schristos 81*e6c7e151Schristos * symtab.cc (Symbol_table::define_special_symbol): Add is_forced_local 82*e6c7e151Schristos parameter; if set, do not check version script. 83*e6c7e151Schristos (Symbol_table::do_define_in_output_data): Pass is_forced_local for 84*e6c7e151Schristos STB_LOCAL predefined symbols. 85*e6c7e151Schristos (Symbol_table::do_define_in_output_segment): Likewise. 86*e6c7e151Schristos (Symbol_table::do_define_in_output_segment): Likewise. 87*e6c7e151Schristos (Symbol_table::do_define_as_constant): Likewise. 88*e6c7e151Schristos * symtab.h (Symbol_table::define_special_symbol): Add is_forced_local 89*e6c7e151Schristos parameter. Adjust all callers. 90*e6c7e151Schristos * testsuite/Makefile.am (ver_test_8.sh): New test case. 91*e6c7e151Schristos * testsuite/Makefile.in: Regenerate. 92*e6c7e151Schristos * ver_test_8.sh: New test script. 93*e6c7e151Schristos 94*e6c7e151Schristos2016-12-21 Cary Coutant <ccoutant@gmail.com> 95*e6c7e151Schristos 96*e6c7e151Schristos * output.cc (Output_segment::first_section): Return NULL if there are 97*e6c7e151Schristos no sections in the segment. 98*e6c7e151Schristos * output.h (Output_segment::first_section_load_address): Assert that 99*e6c7e151Schristos first section is not NULL. 100*e6c7e151Schristos * symtab.cc (Symbol_table::sized_write_globals): Attach linker-created 101*e6c7e151Schristos segment-relative symbols to first section of the segment. 102*e6c7e151Schristos 103*e6c7e151Schristos2016-12-21 Alan Modra <amodra@gmail.com> 104*e6c7e151Schristos 105*e6c7e151Schristos * arm.cc: Fix comment chars with high bit set. 106*e6c7e151Schristos 107*e6c7e151Schristos2016-12-20 Cary Coutant <ccoutant@gmail.com> 108*e6c7e151Schristos 109*e6c7e151Schristos * testsuite/Makefile.am: Add missing dependencies on gcctestdir/ld 110*e6c7e151Schristos or ../ld-new. 111*e6c7e151Schristos * testsuite/Makefile.in: Regenerate. 112*e6c7e151Schristos 113*e6c7e151Schristos2016-12-19 Cary Coutant <ccoutant@gmail.com> 114*e6c7e151Schristos 115*e6c7e151Schristos PR gold/20949 116*e6c7e151Schristos * script.cc (Lex::get_token): Don't look ahead past NUL characters. 117*e6c7e151Schristos 118*e6c7e151Schristos2016-12-19 Cary Coutant <ccoutant@gmail.com> 119*e6c7e151Schristos 120*e6c7e151Schristos PR gold/14676 121*e6c7e151Schristos PR gold/20983 122*e6c7e151Schristos * layout.h (Layout::choose_output_section): Add match_input_spec 123*e6c7e151Schristos parameter. Adjust all callers. 124*e6c7e151Schristos * layout.cc (Layout::choose_output_section): Likewise. Pass 125*e6c7e151Schristos match_input_spec to Script_sections::output_section_name(). 126*e6c7e151Schristos (Layout::create_note): Pass true for match_input_spec. 127*e6c7e151Schristos * script-sections.h (Script_sections::output_section_name): Add 128*e6c7e151Schristos match_input_spec parameter. 129*e6c7e151Schristos * script-sections.cc (Sections_element::output_section_name): Likewise. 130*e6c7e151Schristos (Output_section_definition::output_section_name): Likewise. 131*e6c7e151Schristos (Script_sections::output_section_name): Likewise. 132*e6c7e151Schristos 133*e6c7e151Schristos2016-12-19 Igor Kudrin <ikudrin@accesssoftek.com> 134*e6c7e151Schristos 135*e6c7e151Schristos * arm.cc (Target_arm::Target_arm): Move initialization code ... 136*e6c7e151Schristos (Target_arm::do_select_as_default_target): ... to here. 137*e6c7e151Schristos * testsuite/Makefile.am (arm_target_lazy_init): New test case. 138*e6c7e151Schristos * testsuite/Makefile.in: Regenerate. 139*e6c7e151Schristos * testsuite/arm_target_lazy_init.s: New source file. 140*e6c7e151Schristos * testsuite/arm_target_lazy_init.t: New linker script. 141*e6c7e151Schristos 142*e6c7e151Schristos2016-12-19 Cary Coutant <ccoutant@gmail.com> 143*e6c7e151Schristos 144*e6c7e151Schristos PR gold/20976 145*e6c7e151Schristos * symtab.cc (Symbol_table::sized_write_globals): Use address of 146*e6c7e151Schristos output section, not input section. 147*e6c7e151Schristos * testsuite/Makefile.am (pr20976): New test case. 148*e6c7e151Schristos * testsuite/Makefile.in: Regenerate. 149*e6c7e151Schristos * testsuite/pr20976.c: New source file. 150*e6c7e151Schristos 151*e6c7e151Schristos2016-12-13 Cary Coutant <ccoutant@gmail.com> 152*e6c7e151Schristos 153*e6c7e151Schristos PR gold/20749 154*e6c7e151Schristos * options.h (--orphan-handling): New option. 155*e6c7e151Schristos (General_options::Orphan_handling): New enum. 156*e6c7e151Schristos (General_options::orphan_handling_enum): New method. 157*e6c7e151Schristos (General_options::set_orphan_handling_enum): New method. 158*e6c7e151Schristos (General_options::orphan_handling_enum_): New data member. 159*e6c7e151Schristos * options.cc (General_options::General_options): Initialize new member. 160*e6c7e151Schristos (General_options::finalize): Convert --orphan-handling argument to enum. 161*e6c7e151Schristos * script-sections.cc (Script_sections::output_section_name): Check it. 162*e6c7e151Schristos 163*e6c7e151Schristos2016-12-13 Cary Coutant <ccoutant@gmail.com> 164*e6c7e151Schristos 165*e6c7e151Schristos PR gold/20522 166*e6c7e151Schristos * layout.cc (Layout::choose_output_section): Add is_reloc parameter. 167*e6c7e151Schristos Adjust all callers. Do not use linker script for is_reloc sections. 168*e6c7e151Schristos (Layout::layout_reloc): Pass is_reloc == true. 169*e6c7e151Schristos * layout.h (Layout::choose_output_section): Add is_reloc parameter. 170*e6c7e151Schristos 171*e6c7e151Schristos2016-12-12 Igor Kudrin <ikudrin@accesssoftek.com> 172*e6c7e151Schristos Cary Coutant <ccoutant@gmail.com> 173*e6c7e151Schristos 174*e6c7e151Schristos PR gold/14676 175*e6c7e151Schristos * script-sections.cc (Output_section_definition::output_section_name): 176*e6c7e151Schristos For linker-generated sections, compare with output section name. 177*e6c7e151Schristos * testsuite/Makefile.am (script_test_13): New test. 178*e6c7e151Schristos * testsuite/Makefile.in: Regenerate. 179*e6c7e151Schristos * testsuite/script_test_13.c: New source file. 180*e6c7e151Schristos * testsuite/script_test_13.sh: New script. 181*e6c7e151Schristos * testsuite/script_test_13.t: New linker script. 182*e6c7e151Schristos 183*e6c7e151Schristos2016-12-12 Cary Coutant <ccoutant@gmail.com> 184*e6c7e151Schristos 185*e6c7e151Schristos * script-sections.cc (Orphan_section_placement::update_last_alloc): 186*e6c7e151Schristos New method. 187*e6c7e151Schristos (Orphan_section_placement::find_place): Place orphan .data section 188*e6c7e151Schristos after either RODATA or TEXT. 189*e6c7e151Schristos (Script_sections::place_orphan): Call update_last_alloc for allocated 190*e6c7e151Schristos sections. 191*e6c7e151Schristos (Script_sections::create_segments): Improve handling of BSS. 192*e6c7e151Schristos 193*e6c7e151Schristos2016-12-13 Alan Modra <amodra@gmail.com> 194*e6c7e151Schristos 195*e6c7e151Schristos PR gold/16711 196*e6c7e151Schristos * testsuite/script_test_15a.sh: Allows larger p_filesz. 197*e6c7e151Schristos * testsuite/script_test_15b.sh: Likewise. 198*e6c7e151Schristos * testsuite/script_test_15c.sh: Likewise. 199*e6c7e151Schristos 200*e6c7e151Schristos2016-12-13 Alan Modra <amodra@gmail.com> 201*e6c7e151Schristos 202*e6c7e151Schristos PR gold/20717 203*e6c7e151Schristos * testsuite/pr20717.t: Add .got output section containing .toc. 204*e6c7e151Schristos 205*e6c7e151Schristos2016-12-11 Igor Kudrin <ikudrin@accesssoftek.com> 206*e6c7e151Schristos 207*e6c7e151Schristos PR gold/20717 208*e6c7e151Schristos * testsuite/Makefile.am (pr20717): New test. 209*e6c7e151Schristos * testsuite/Makefile.in: Regenerate. 210*e6c7e151Schristos * testsuite/pr20717.c: New test source file. 211*e6c7e151Schristos * testsuite/pr20717.sh: New test script. 212*e6c7e151Schristos * testsuite/pr20717.t: New test linker script. 213*e6c7e151Schristos 214*e6c7e151Schristos2016-12-11 Cary Coutant <ccoutant@gmail.com> 215*e6c7e151Schristos 216*e6c7e151Schristos PR gold/16711 217*e6c7e151Schristos * output.cc (Output_section::set_final_data_size): Calculate data size 218*e6c7e151Schristos based on relative offset rather than file offset. 219*e6c7e151Schristos (Output_segment::set_section_addresses): Track file offset separately 220*e6c7e151Schristos from address offset. 221*e6c7e151Schristos (Output_segment::set_section_list_addresses): Add pfoff parameter. 222*e6c7e151Schristos Track file offset separately. Don't move file offset for BSS 223*e6c7e151Schristos sections. 224*e6c7e151Schristos * output.h (Output_segment::set_section_list_addresses): Add pfoff 225*e6c7e151Schristos parameter. 226*e6c7e151Schristos * script-sections.cc (Orphan_section_placement): Add PLACE_LAST_ALLOC. 227*e6c7e151Schristos (Orphan_section_placement::Orphan_section_placement): Initialize it. 228*e6c7e151Schristos (Orphan_section_placement::output_section_init): Track last allocated 229*e6c7e151Schristos section. 230*e6c7e151Schristos (Orphan_section_placement::find_place): Place BSS after last allocated 231*e6c7e151Schristos section. 232*e6c7e151Schristos (Output_section_element_input::set_section_addresses): Always override 233*e6c7e151Schristos input section alignment when SUBALIGN is specified. 234*e6c7e151Schristos (Output_section_definition::set_section_addresses): Override alignment 235*e6c7e151Schristos of output section when SUBALIGN is specified. 236*e6c7e151Schristos 237*e6c7e151Schristos * testsuite/Makefile.am (script_test_15a, script_test_15b) 238*e6c7e151Schristos (script_test_15c): New test cases. 239*e6c7e151Schristos * testsuite/Makefile.in: Regenerate. 240*e6c7e151Schristos * testsuite/script_test_2.cc: Adjust expected layout. 241*e6c7e151Schristos * testsuite/script_test_15.c: New source file. 242*e6c7e151Schristos * testsuite/script_test_15a.sh: New shell script. 243*e6c7e151Schristos * testsuite/script_test_15a.t: New linker script. 244*e6c7e151Schristos * testsuite/script_test_15b.sh: New shell script. 245*e6c7e151Schristos * testsuite/script_test_15b.t: New linker script. 246*e6c7e151Schristos * testsuite/script_test_15c.sh: New shell script. 247*e6c7e151Schristos * testsuite/script_test_15c.t: New linker script. 248*e6c7e151Schristos 249*e6c7e151Schristos2016-12-08 Alan Modra <amodra@gmail.com> 250*e6c7e151Schristos 251*e6c7e151Schristos * powerpc.cc (Powerpc_relobj::stub_table): Return NULL rather 252*e6c7e151Schristos then asserting. 253*e6c7e151Schristos 254*e6c7e151Schristos2016-12-08 Alan Modra <amodra@gmail.com> 255*e6c7e151Schristos 256*e6c7e151Schristos * options.h (--stub-group-multi): Fix typo. 257*e6c7e151Schristos 258*e6c7e151Schristos2016-12-07 Alan Modra <amodra@gmail.com> 259*e6c7e151Schristos 260*e6c7e151Schristos * options.h (--stub-group-multi): New PowerPC option. 261*e6c7e151Schristos * powerpc.cc (Stub_control): Add multi_os_ var and param 262*e6c7e151Schristos to constructor. Sort start_ var later. Comment State. 263*e6c7e151Schristos (Stub_control::can_add_to_stub_group): Heed multi_os_. 264*e6c7e151Schristos (Target_powerpc::group_sections): Update. 265*e6c7e151Schristos 266*e6c7e151Schristos2016-12-07 Alan Modra <amodra@gmail.com> 267*e6c7e151Schristos 268*e6c7e151Schristos PR gold/20878 269*e6c7e151Schristos * powerpc.cc (Stub_control): Replace stubs_always_before_branch_ 270*e6c7e151Schristos with stubs_always_after_branch_, group_end_addr_ with 271*e6c7e151Schristos group_start_addr_. 272*e6c7e151Schristos (Stub_control::can_add_to_stub_group): Rewrite to suit scanning 273*e6c7e151Schristos sections by increasing address. 274*e6c7e151Schristos (Target_powerpc::group_sections): Scan that way. Delete corner 275*e6c7e151Schristos case. 276*e6c7e151Schristos * options.h (--stub-group-size): Update help string. 277*e6c7e151Schristos 278*e6c7e151Schristos2016-12-07 Alan Modra <amodra@gmail.com> 279*e6c7e151Schristos 280*e6c7e151Schristos * powerpc.cc (Stub_table_owner): Provide constructor. 281*e6c7e151Schristos (Powerpc_relobj::set_stub_table): Resize fill with -1. 282*e6c7e151Schristos (Target_powerpc::Branch_info::make_stub): Provide target debug 283*e6c7e151Schristos output on returning false. 284*e6c7e151Schristos 285*e6c7e151Schristos2016-12-05 Cary Coutant <ccoutant@gmail.com> 286*e6c7e151Schristos Tristan Gingold <gingold@adacore.com> 287*e6c7e151Schristos 288*e6c7e151Schristos * object.cc (Sized_relobj_file::do_count_local_symbols): Check 289*e6c7e151Schristos is_ordinary before using shndx. 290*e6c7e151Schristos * testsuite/Makefile.am (file_in_many_sections_test.sh): New test case. 291*e6c7e151Schristos * testsuite/Makefile.in: Regenerate. 292*e6c7e151Schristos * testsuite/file_in_many_sections.c: New source file. 293*e6c7e151Schristos * testsuite/file_in_many_sections_test.sh: New script. 294*e6c7e151Schristos 295*e6c7e151Schristos2016-12-01 Cary Coutant <ccoutant@gmail.com> 296*e6c7e151Schristos Igor Kudrin <ikudrin@accesssoftek.com> 297*e6c7e151Schristos 298*e6c7e151Schristos PR gold/20717 299*e6c7e151Schristos * script-sections.cc (Script_sections): Set *keep to false when 300*e6c7e151Schristos no match. 301*e6c7e151Schristos 302*e6c7e151Schristos2016-12-01 Cary Coutant <ccoutant@gmail.com> 303*e6c7e151Schristos 304*e6c7e151Schristos PR gold/20834 305*e6c7e151Schristos * target.h (Target::default_text_segment_address): Bump default 306*e6c7e151Schristos start address up to ABI page size. 307*e6c7e151Schristos 308*e6c7e151Schristos2016-12-01 Cary Coutant <ccoutant@gmail.com> 309*e6c7e151Schristos 310*e6c7e151Schristos PR gold/18989 311*e6c7e151Schristos * options.cc (General_options::object_format_to_string): New function. 312*e6c7e151Schristos (General_options::copy_from_posdep_options): New function. 313*e6c7e151Schristos (General_options::parse_push_state): New function. 314*e6c7e151Schristos (General_options::parse_pop_state): New function. 315*e6c7e151Schristos * options.h (--push-state, --pop-state): New options. 316*e6c7e151Schristos (General_options::object_format_to_string): New method. 317*e6c7e151Schristos (General_options::set_incremental_disposition): New method. 318*e6c7e151Schristos (General_options::copy_from_posdep_options): New method. 319*e6c7e151Schristos (General_options::options_stack_): New data member. 320*e6c7e151Schristos 321*e6c7e151Schristos2016-12-01 Cary Coutant <ccoutant@gmail.com> 322*e6c7e151Schristos 323*e6c7e151Schristos PR gold/20807 324*e6c7e151Schristos * aarch64.cc (Target_aarch64::scan_reloc_section_for_stubs): Handle 325*e6c7e151Schristos section symbols correctly. 326*e6c7e151Schristos * arm.cc (Target_arm): Likewise. 327*e6c7e151Schristos * powerpc.cc (Target_powerpc): Likewise. 328*e6c7e151Schristos 329*e6c7e151Schristos2016-11-27 Ambrogino Modigliani <ambrogino.modigliani@gmail.com> 330*e6c7e151Schristos 331*e6c7e151Schristos * aarch64-reloc.def: Fix spelling in comments. 332*e6c7e151Schristos 333*e6c7e151Schristos2016-11-27 Ambrogino Modigliani <ambrogino.modigliani@gmail.com> 334*e6c7e151Schristos 335*e6c7e151Schristos * aarch64.cc: Fix spelling in comments. 336*e6c7e151Schristos * arm.cc: Fix spelling in comments. 337*e6c7e151Schristos * icf.cc: Fix spelling in comments. 338*e6c7e151Schristos * layout.cc: Fix spelling in comments. 339*e6c7e151Schristos * layout.h: Fix spelling in comments. 340*e6c7e151Schristos * mips.cc: Fix spelling in comments. 341*e6c7e151Schristos * output.h: Fix spelling in comments. 342*e6c7e151Schristos * plugin.h: Fix spelling in comments. 343*e6c7e151Schristos * script-sections.h: Fix spelling in comments. 344*e6c7e151Schristos * script.h: Fix spelling in comments. 345*e6c7e151Schristos * stringpool.h: Fix spelling in comments. 346*e6c7e151Schristos * tilegx.cc: Fix spelling in comments. 347*e6c7e151Schristos 348*e6c7e151Schristos2016-11-22 Cary Coutant <ccoutant@gmail.com> 349*e6c7e151Schristos 350*e6c7e151Schristos PR gold/20346 351*e6c7e151Schristos * options.cc (One_option::print): Print "(default)" when appropriate. 352*e6c7e151Schristos * options.h: Clean up and re-sort options. 353*e6c7e151Schristos (One_option::is_default): New data member. 354*e6c7e151Schristos (One_option::One_option): Add is_default parameter; adjust all calls. 355*e6c7e151Schristos (DEFINE_var): Add is_default__ parameter; adjust all calls. 356*e6c7e151Schristos (DEFINE_bool): Set is_default based on default_value__. 357*e6c7e151Schristos (DEFINE_bool_ignore): New macro. 358*e6c7e151Schristos (--no-eh-frame-hdr): New option. 359*e6c7e151Schristos (--enable-new-dtags): Remove mention of DT_FLAGS. 360*e6c7e151Schristos 361*e6c7e151Schristos2016-11-22 Ambrogino Modigliani <ambrogino.modigliani@gmail.com> 362*e6c7e151Schristos 363*e6c7e151Schristos * configure: Regenerate. 364*e6c7e151Schristos 365*e6c7e151Schristos2016-11-21 Cary Coutant <ccoutant@gmail.com> 366*e6c7e151Schristos 367*e6c7e151Schristos PR gold/20693 368*e6c7e151Schristos * gold.cc (queue_middle_tasks): Force valid target earlier. 369*e6c7e151Schristos 370*e6c7e151Schristos2016-11-21 Igor Kudrin <ikudrin@accesssoftek.com> 371*e6c7e151Schristos 372*e6c7e151Schristos * layout.cc: Include windows.h and rpcdce.h (for MinGW32). 373*e6c7e151Schristos (Layout::create_build_id): Generate uuid using UuidCreate(). 374*e6c7e151Schristos 375*e6c7e151Schristos2016-11-04 Loïc Yhuel <loic.yhuel@softathome.com> 376*e6c7e151Schristos 377*e6c7e151Schristos * configure.ac: add missing '$'. 378*e6c7e151Schristos * configure: Regenerate. 379*e6c7e151Schristos 380*e6c7e151Schristos2016-10-21 Gergely Nagy <ngg@tresorit.com> 381*e6c7e151Schristos 382*e6c7e151Schristos PR gold/17704 383*e6c7e151Schristos * icf.cc (match_sections): Add new parameter section_addraligns. 384*e6c7e151Schristos Check section alignment and keep the section with the strictest 385*e6c7e151Schristos alignment. 386*e6c7e151Schristos (find_identical_sections): New local variable section_addraligns. 387*e6c7e151Schristos Store each section's alignment. 388*e6c7e151Schristos * testsuite/pr17704a_test.s: New file. 389*e6c7e151Schristos * testsuite/Makefile.am (pr17704a_test): New test. 390*e6c7e151Schristos * testsuite/Makefile.in: Regenerate. 391*e6c7e151Schristos 392*e6c7e151Schristos2016-10-06 Alan Modra <amodra@gmail.com> 393*e6c7e151Schristos 394*e6c7e151Schristos * powerpc.cc (Target_powerpc::Relocate::relocate): Add fall 395*e6c7e151Schristos through comment. 396*e6c7e151Schristos * tilegx.cc (Target_tilegx::Relocate::relocate): Likewise. 397*e6c7e151Schristos 398*e6c7e151Schristos2016-10-06 Alan Modra <amodra@gmail.com> 399*e6c7e151Schristos 400*e6c7e151Schristos * aarch64.cc: Spell fall through comments as "// Fall through.". 401*e6c7e151Schristos * arm.cc: Likewise. 402*e6c7e151Schristos * mips.cc: Likewise. 403*e6c7e151Schristos * powerpc.cc: Likewise. 404*e6c7e151Schristos * s390.cc: Likewise. 405*e6c7e151Schristos * sparc.cc: Likewise. 406*e6c7e151Schristos * x86_64.cc: Likewise. 407*e6c7e151Schristos * powerpc.cc (Target_powerpc::Relocate::relocate): Add missing 408*e6c7e151Schristos fall through comments. 409*e6c7e151Schristos * sparc.cc: (Target_sparc::Scan::global): Likewise. 410*e6c7e151Schristos (Target_sparc::Relocate::relocate): Likewise. 411*e6c7e151Schristos * tilegx.cc (Target_tilegx::Relocate::relocate): Likewise. 412*e6c7e151Schristos * resolve.cc (symbol_to_bits): Add missing break. 413*e6c7e151Schristos 414*e6c7e151Schristos2016-09-26 Cary Coutant <ccoutant@gmail.com> 415*e6c7e151Schristos 416*e6c7e151Schristos PR gold/20238 417*e6c7e151Schristos * symtab.cc (Symbol_table::define_default_version): Check that 418*e6c7e151Schristos unversioned symbol is defined. 419*e6c7e151Schristos 420*e6c7e151Schristos2016-09-26 Vlad Zakharov <vzakhar@synopsys.com> 421*e6c7e151Schristos 422*e6c7e151Schristos * Makefile.in: Regenerate. 423*e6c7e151Schristos * configure: Likewise. 424*e6c7e151Schristos * testsuite/Makefile.in: Likewise. 425*e6c7e151Schristos 426*e6c7e151Schristos2016-09-26 Alan Modra <amodra@gmail.com> 427*e6c7e151Schristos 428*e6c7e151Schristos * aarch64.cc (Target_aarch64::is_erratum_835769_sequence): Avoid 429*e6c7e151Schristos compiler warning. 430*e6c7e151Schristos * output.cc (Output_segment::set_section_addresses): Likewise. 431*e6c7e151Schristos * testsuite/Makefile.in: Regenerate. 432*e6c7e151Schristos 433*e6c7e151Schristos2016-09-02 Doug Kwan <dougkwan@google.com> 434*e6c7e151Schristos 435*e6c7e151Schristos * arm.cc (Target_arm::Target_arm): Move method definition outside of 436*e6c7e151Schristos class definition. Add code to handle --target1-rel, --target1-abs 437*e6c7e151Schristos and --target2= options. 438*e6c7e151Schristos (Target_arm::get_reloc_reloc_type): Change method to be non-static 439*e6c7e151Schristos and const. 440*e6c7e151Schristos (Target_arm::target1_is_rel_, Target_arm::target2_reloc_): New data 441*e6c7e151Schristos member declaration. 442*e6c7e151Schristos (Target_arm::Scan::local, Target_arm::Scan::global, 443*e6c7e151Schristos Target_arm::Relocate::relocate, 444*e6c7e151Schristos Target_arm::Relocatable_size_for_reloc::get_size_for_reloc): Adjust 445*e6c7e151Schristos call to Target_arm::get_real_reloc_type. 446*e6c7e151Schristos (Target_arm::get_real_reloc_type): Use command line options to 447*e6c7e151Schristos determine real types of R_ARM_TARGET1 and R_ARM_TARGET2. 448*e6c7e151Schristos * options.h (--target1-rel, --target1-abs, --target2): New ARM-only 449*e6c7e151Schristos options. 450*e6c7e151Schristos 451*e6c7e151Schristos2016-08-31 Alan Modra <amodra@gmail.com> 452*e6c7e151Schristos 453*e6c7e151Schristos * powerpc.cc (class Stub_control): Delete stub14_group_size_ 454*e6c7e151Schristos and has14_. Add group_size_. 455*e6c7e151Schristos (Stub_control::can_add_to_stub_group): Adjust to suit. Print 456*e6c7e151Schristos debug info when switching to adding sections before stubs. 457*e6c7e151Schristos 458*e6c7e151Schristos2016-08-31 Alan Modra <amodra@gmail.com> 459*e6c7e151Schristos 460*e6c7e151Schristos * debug.h (DEBUG_TARGET): New. 461*e6c7e151Schristos (DEBUG_ALL): Add DEBUG_TARGET. 462*e6c7e151Schristos (gold_debug): Delete FORMAT param. 463*e6c7e151Schristos * powerpc.cc (Stub_control::can_add_to_stub_group): Print debug ourput. 464*e6c7e151Schristos 465*e6c7e151Schristos2016-08-30 Alan Modra <amodra@gmail.com> 466*e6c7e151Schristos 467*e6c7e151Schristos PR 20523 468*e6c7e151Schristos * powerpc.cc (class Stub_control): Add has14_. Comment owner_. 469*e6c7e151Schristos (Stub_control::can_add_to_stub_group): Correct grouping of 470*e6c7e151Schristos sections containing 14-bit external branches. When returning 471*e6c7e151Schristos false, set state_ to reflect the fact that we have one section 472*e6c7e151Schristos for the next group. Rewrite most of function for clarity. 473*e6c7e151Schristos Add and expand comments. 474*e6c7e151Schristos (Target_powerpc::do_relax): Print stub group size retry in hex. 475*e6c7e151Schristos 476*e6c7e151Schristos2016-08-26 Han Shen <shenhan@google.com> 477*e6c7e151Schristos 478*e6c7e151Schristos PR gold/20529 - relaxing loop never ends. 479*e6c7e151Schristos 480*e6c7e151Schristos * powerpc.cc (Stub_table::min_size_threshold_): New member to 481*e6c7e151Schristos limit size. 482*e6c7e151Schristos (Stub_table::set_min_size_threshold): New member function. 483*e6c7e151Schristos (Stub_table::set_address_and_size): Add code to only allow size 484*e6c7e151Schristos increase. 485*e6c7e151Schristos (Target_powerpc::do_relax): Add code to record last size. 486*e6c7e151Schristos 487*e6c7e151Schristos2016-08-23 Roland McGrath <roland@hack.frob.com> 488*e6c7e151Schristos 489*e6c7e151Schristos * options.h (General_options): Grok -z stack-size. 490*e6c7e151Schristos * output.h (Output_segment::set_size): New method. 491*e6c7e151Schristos * layout.cc (Layout::create_executable_stack_info): Renamed to ... 492*e6c7e151Schristos (Layout::create_stack_segment): ... this. Always create the 493*e6c7e151Schristos segment if -z stack-size was used. 494*e6c7e151Schristos (Layout::set_segment_offsets): Don't call ->set_offset on the 495*e6c7e151Schristos PT_GNU_STACK segment. 496*e6c7e151Schristos 497*e6c7e151Schristos2016-08-15 Bharathi Seshadri <bseshadr@cisco.com> 498*e6c7e151Schristos 499*e6c7e151Schristos * options.h (General_options): Add --be8 option. 500*e6c7e151Schristos * arm.cc (Arm_relobj::do_relocate_sections): Add code to swap for be8. 501*e6c7e151Schristos (Output_data_plt_arm_standard::do_fill_first_plt_entry): Likewise. 502*e6c7e151Schristos (Output_data_plt_arm_short::do_fill_plt_entry): Likewise. 503*e6c7e151Schristos (Output_data_plt_arm_long::do_fill_plt_entry): Likewise. 504*e6c7e151Schristos (Target_arm::do_adjust_elf_header): Do EF_ARM_BE8 adjustment. 505*e6c7e151Schristos 506*e6c7e151Schristos2016-08-17 Cary Coutant <ccoutant@gmail.com> 507*e6c7e151Schristos 508*e6c7e151Schristos * i386.cc (Target_i386): Reset skip_call_tls_get_addr_ after printing 509*e6c7e151Schristos error message. 510*e6c7e151Schristos * testsuite/Makefile.am (pr20216a): Add missing dependencies. 511*e6c7e151Schristos (pr20308a): Add -Bgcctestdir/ to compile rules. 512*e6c7e151Schristos * testsuite/Makefile.in: Regenerate. 513*e6c7e151Schristos 514*e6c7e151Schristos2016-08-12 Roland McGrath <roland@hack.frob.com> 515*e6c7e151Schristos 516*e6c7e151Schristos PR gold/20462 517*e6c7e151Schristos * script-sections.cc (Script_sections::release_segments): 518*e6c7e151Schristos Reset this->segments_created_. 519*e6c7e151Schristos 520*e6c7e151Schristos2016-08-12 Roland McGrath <roland@hack.frob.com> 521*e6c7e151Schristos 522*e6c7e151Schristos * yyscript.y (HIDDEN): New %token. 523*e6c7e151Schristos (assignment): Handle HIDDEN(string = expr) syntax. 524*e6c7e151Schristos * script.cc (script_keyword_parsecodes): Add HIDDEN. 525*e6c7e151Schristos 526*e6c7e151Schristos2016-08-10 Cary Coutant <ccoutant@gmail.com> 527*e6c7e151Schristos 528*e6c7e151Schristos PR gold/20216 529*e6c7e151Schristos * x86_64.cc (Target_x86_64::Relocate::relocate): Add check for 530*e6c7e151Schristos R_X86_64_GOTPCREL. Reset skip_call_tls_get_addr_ after printing 531*e6c7e151Schristos error message. 532*e6c7e151Schristos * testsuite/Makefile.am (pr20216_gd.o): Add -Bgcctestdir/. 533*e6c7e151Schristos (pr20216_ld.o): Likewise. 534*e6c7e151Schristos * testsuite/Makefile.in: Regenerate. 535*e6c7e151Schristos 536*e6c7e151Schristos2016-08-10 James Clarke <jrtc27@jrtc27.com> 537*e6c7e151Schristos 538*e6c7e151Schristos PR gold/20443 539*e6c7e151Schristos * symtab.cc (Symbol_table::add_from_relobj): Handle NULL symbols, 540*e6c7e151Schristos which will be present for STT_SPARC_REGISTER. 541*e6c7e151Schristos (Symbol_table::add_from_pluginobj): Likewise. 542*e6c7e151Schristos (Symbol_table::add_from_dynobj): Likewise. 543*e6c7e151Schristos (Symbol_table::add_from_incrobj): Removed dead code. 544*e6c7e151Schristos 545*e6c7e151Schristos2016-08-10 James Clarke <jrtc27@jrtc27.com> 546*e6c7e151Schristos 547*e6c7e151Schristos PR gold/20442 548*e6c7e151Schristos * sparc.cc (Target_sparc::Relocate::relocate): R_SPARC_GOTDATA_OP_LOX10 549*e6c7e151Schristos should fall back on R_SPARC_GOT10, not R_SPARC_GOT13. 550*e6c7e151Schristos 551*e6c7e151Schristos2016-08-10 James Clarke <jrtc27@jrtc27.com> 552*e6c7e151Schristos 553*e6c7e151Schristos PR gold/20441 554*e6c7e151Schristos * sparc.cc (Target_sparc::Scan::check_non_pic): Allow R_SPARC_32 on 555*e6c7e151Schristos sparc64. 556*e6c7e151Schristos 557*e6c7e151Schristos2016-06-29 Cary Coutant <ccoutant@gmail.com> 558*e6c7e151Schristos 559*e6c7e151Schristos PR gold/20310 560*e6c7e151Schristos * testsuite/dynamic_list.sh: Remove check for _ZdlPv. 561*e6c7e151Schristos 562*e6c7e151Schristos2016-06-29 Cary Coutant <ccoutant@gmail.com> 563*e6c7e151Schristos 564*e6c7e151Schristos * testsuite/Makefile.am (MOSTLYCLEANFILES): Add eh_test_2. 565*e6c7e151Schristos * testsuite/Makefile.in: Regenerate. 566*e6c7e151Schristos 567*e6c7e151Schristos2016-06-30 Alan Modra <amodra@gmail.com> 568*e6c7e151Schristos 569*e6c7e151Schristos * testsuite/Makefile.am (memory_test, memory_test_2): Pass 570*e6c7e151Schristos -Wl,-z to gcc, not plain -z. 571*e6c7e151Schristos * testsuite/Makefile.in: Regenerate. 572*e6c7e151Schristos 573*e6c7e151Schristos2016-06-29 H.J. Lu <hongjiu.lu@intel.com> 574*e6c7e151Schristos 575*e6c7e151Schristos PR gold/20308 576*e6c7e151Schristos * i386.cc (Target_i386::Relocate::relocate): Allow 577*e6c7e151Schristos R_386_GOT32X relocation against ___tls_get_addr. 578*e6c7e151Schristos (Target_i386::Relocate::tls_gd_to_ie): Support indirect 579*e6c7e151Schristos call to __tls_get_addr. 580*e6c7e151Schristos (Target_i386::Relocate::tls_gd_to_le): Likewise. 581*e6c7e151Schristos (Target_i386::Relocate::tls_ld_to_le): Likewise. 582*e6c7e151Schristos * testsuite/Makefile.am (check_PROGRAMS): Add pr20308a_test, 583*e6c7e151Schristos pr20308b_test, pr20308c_test, pr20308d_test, pr20308e_test. 584*e6c7e151Schristos (pr20308a_test_SOURCES): New. 585*e6c7e151Schristos (pr20308a_test_DEPENDENCIES): Likewise. 586*e6c7e151Schristos (pr20308a_test_CFLAGS): Likewise. 587*e6c7e151Schristos (pr20308a_test_LDFLAGS): Likewise. 588*e6c7e151Schristos (pr20308a_test_LDADD): Likewise. 589*e6c7e151Schristos (pr20308b_test_SOURCES): Likewise. 590*e6c7e151Schristos (pr20308b_test_DEPENDENCIES): Likewise. 591*e6c7e151Schristos (pr20308b_test_CFLAGS): Likewise. 592*e6c7e151Schristos (pr20308b_test_LDFLAGS): Likewise. 593*e6c7e151Schristos (pr20308b_test_LDADD): Likewise. 594*e6c7e151Schristos (pr20308c_test_SOURCES): Likewise. 595*e6c7e151Schristos (pr20308c_test_DEPENDENCIES): Likewise. 596*e6c7e151Schristos (pr20308c_test_CFLAGS): Likewise. 597*e6c7e151Schristos (pr20308c_test_LDFLAGS): Likewise. 598*e6c7e151Schristos (pr20308c_test_LDADD): Likewise. 599*e6c7e151Schristos (pr20308d_test_SOURCES): Likewise. 600*e6c7e151Schristos (pr20308d_test_DEPENDENCIES): Likewise. 601*e6c7e151Schristos (pr20308d_test_CFLAGS): Likewise. 602*e6c7e151Schristos (pr20308d_test_LDFLAGS): Likewise. 603*e6c7e151Schristos (pr20308d_test_LDADD): Likewise. 604*e6c7e151Schristos (pr20308e_test_SOURCES): Likewise. 605*e6c7e151Schristos (pr20308e_test_DEPENDENCIES): Likewise. 606*e6c7e151Schristos (pr20308e_test_CFLAGS): Likewise. 607*e6c7e151Schristos (pr20308e_test_LDFLAGS): Likewise. 608*e6c7e151Schristos (pr20308e_test_LDADD): Likewise. 609*e6c7e151Schristos (pr20308a.so): Likewise. 610*e6c7e151Schristos (pr20308b.so): Likewise. 611*e6c7e151Schristos (pr20308_gd.o): Likewise. 612*e6c7e151Schristos (pr20308_ld.o): Likewise. 613*e6c7e151Schristos (MOSTLYCLEANFILES): Add pr20308a.so pr20308b.so. 614*e6c7e151Schristos * testsuite/Makefile.in: Regenerated. 615*e6c7e151Schristos * testsuite/pr20308_def.c: New file. 616*e6c7e151Schristos * testsuite/pr20308_gd.S: Likewise. 617*e6c7e151Schristos * testsuite/pr20308_ld.S: Likewise. 618*e6c7e151Schristos * testsuite/pr20308_main.c: Likewise. 619*e6c7e151Schristos 620*e6c7e151Schristos2016-06-29 H.J. Lu <hongjiu.lu@intel.com> 621*e6c7e151Schristos 622*e6c7e151Schristos PR gold/20216 623*e6c7e151Schristos * configure.ac (DEFAULT_TARGET_X86_64_OR_X32): New 624*e6c7e151Schristos AM_CONDITIONAL. 625*e6c7e151Schristos * configure: Regenerated. 626*e6c7e151Schristos * x86_64.cc (Target_x86_64<size>::Relocate::relocate): Allow 627*e6c7e151Schristos R_X86_64_GOTPCRELX relocation against __tls_get_addr. 628*e6c7e151Schristos (Target_x86_64<size>::Relocate::tls_gd_to_ie): Support indirect 629*e6c7e151Schristos call to __tls_get_addr. 630*e6c7e151Schristos (Target_x86_64<size>::Relocate::tls_gd_to_le): Likewise. 631*e6c7e151Schristos (Target_x86_64<size>::Relocate::tls_ld_to_le): Likewise. 632*e6c7e151Schristos * testsuite/Makefile.am (check_PROGRAMS): Add pr20216a_test, 633*e6c7e151Schristos pr20216b_test, pr20216c_test, pr20216d_test, pr20216e_test. 634*e6c7e151Schristos (pr20216a_test_SOURCES): New. 635*e6c7e151Schristos (pr20216a_test_DEPENDENCIES): Likewise. 636*e6c7e151Schristos (pr20216a_test_CFLAGS): Likewise. 637*e6c7e151Schristos (pr20216a_test_LDFLAGS): Likewise. 638*e6c7e151Schristos (pr20216a_test_LDADD): Likewise. 639*e6c7e151Schristos (pr20216b_test_SOURCES): Likewise. 640*e6c7e151Schristos (pr20216b_test_DEPENDENCIES): Likewise. 641*e6c7e151Schristos (pr20216b_test_CFLAGS): Likewise. 642*e6c7e151Schristos (pr20216b_test_LDFLAGS): Likewise. 643*e6c7e151Schristos (pr20216b_test_LDADD): Likewise. 644*e6c7e151Schristos (pr20216c_test_SOURCES): Likewise. 645*e6c7e151Schristos (pr20216c_test_DEPENDENCIES): Likewise. 646*e6c7e151Schristos (pr20216c_test_CFLAGS): Likewise. 647*e6c7e151Schristos (pr20216c_test_LDFLAGS): Likewise. 648*e6c7e151Schristos (pr20216c_test_LDADD): Likewise. 649*e6c7e151Schristos (pr20216d_test_SOURCES): Likewise. 650*e6c7e151Schristos (pr20216d_test_DEPENDENCIES): Likewise. 651*e6c7e151Schristos (pr20216d_test_CFLAGS): Likewise. 652*e6c7e151Schristos (pr20216d_test_LDFLAGS): Likewise. 653*e6c7e151Schristos (pr20216d_test_LDADD): Likewise. 654*e6c7e151Schristos (pr20216e_test_SOURCES): Likewise. 655*e6c7e151Schristos (pr20216e_test_DEPENDENCIES): Likewise. 656*e6c7e151Schristos (pr20216e_test_CFLAGS): Likewise. 657*e6c7e151Schristos (pr20216e_test_LDFLAGS): Likewise. 658*e6c7e151Schristos (pr20216e_test_LDADD): Likewise. 659*e6c7e151Schristos (pr20216a.so): Likewise. 660*e6c7e151Schristos (pr20216b.so): Likewise. 661*e6c7e151Schristos (pr20216_gd.o): Likewise. 662*e6c7e151Schristos (pr20216_ld.o): Likewise. 663*e6c7e151Schristos (MOSTLYCLEANFILES): Add pr20216a.so pr20216b.so. 664*e6c7e151Schristos * testsuite/Makefile.in: Regenerated. 665*e6c7e151Schristos * testsuite/pr20216_def.c: New file. 666*e6c7e151Schristos * testsuite/pr20216_gd.S: Likewise. 667*e6c7e151Schristos * testsuite/pr20216_ld.S: Likewise. 668*e6c7e151Schristos * testsuite/pr20216_main.c: Likewise. 669*e6c7e151Schristos 670*e6c7e151Schristos2016-06-29 Alan Modra <amodra@gmail.com> 671*e6c7e151Schristos 672*e6c7e151Schristos * script_test_12.t: Delete .plt, specify 64k page size. 673*e6c7e151Schristos * script_test_12i.t: Likewise. 674*e6c7e151Schristos 675*e6c7e151Schristos2016-06-29 Alan Modra <amodra@gmail.com> 676*e6c7e151Schristos 677*e6c7e151Schristos * testsuite/plugin_layout_with_alignment.c: Explicitly align all 678*e6c7e151Schristos variables. 679*e6c7e151Schristos 680*e6c7e151Schristos2016-06-29 Alan Modra <amodra@gmail.com> 681*e6c7e151Schristos 682*e6c7e151Schristos * testsuite/Makefile.am (copy_test_protected): Disable for powerpc. 683*e6c7e151Schristos * testsuite/Makefile.in: Regenerate. 684*e6c7e151Schristos 685*e6c7e151Schristos2016-06-28 Igor Kudrin <ikudrin@accesssoftek.com> 686*e6c7e151Schristos 687*e6c7e151Schristos * aarch64-reloc.def (NONE): New relocation. 688*e6c7e151Schristos * aarch64.cc (Target_aarch64::Scan::local): Handle R_AARCH64_NONE. 689*e6c7e151Schristos (Target_aarch64::Scan::global): Likewise. 690*e6c7e151Schristos * testsuite/Makefile.am (aarch64_reloc_none): New test. 691*e6c7e151Schristos * testsuite/Makefile.in: Regenerate. 692*e6c7e151Schristos * testsuite/aarch64_reloc_none.s: New test source file. 693*e6c7e151Schristos * testsuite/aarch64_reloc_none.sh: New test script. 694*e6c7e151Schristos 695*e6c7e151Schristos2016-06-28 Sriraman Tallam <tmsriram@google.com> 696*e6c7e151Schristos 697*e6c7e151Schristos * x86_64.cc (Lazy_view): New class. 698*e6c7e151Schristos (can_convert_mov_to_lea): Templatize function. Make the function 699*e6c7e151Schristos check for appropriate relocation types and use the view parameter 700*e6c7e151Schristos to get section contents. 701*e6c7e151Schristos (can_convert_callq_to_direct): New function. 702*e6c7e151Schristos (Target_x86_64<size>::Scan::global): Refactor. 703*e6c7e151Schristos (Target_x86_64<size>::Relocate::relocate): Refactor. Change any indirect 704*e6c7e151Schristos call via GOT that can be converted. 705*e6c7e151Schristos * testsuite/Makefile.am (x86_64_indirect_call_to_direct.sh): New test. 706*e6c7e151Schristos * testsuite/Makefile.in: Regenerate. 707*e6c7e151Schristos * testsuite/x86_64_indirect_call_to_direct1.s: New file. 708*e6c7e151Schristos * testsuite/x86_64_indirect_jump_to_direct1.s: New file. 709*e6c7e151Schristos 710*e6c7e151Schristos2016-06-28 Igor Kudrin <ikudrin@accesssoftek.com> 711*e6c7e151Schristos 712*e6c7e151Schristos * aarch64.cc (Target_aarch64::Scan::local): Move the call to got_section 713*e6c7e151Schristos from the top level to the places of its use. 714*e6c7e151Schristos 715*e6c7e151Schristos2016-06-28 Igor Kudrin <ikudrin@accesssoftek.com> 716*e6c7e151Schristos 717*e6c7e151Schristos PR gold/18098 718*e6c7e151Schristos * script-c.h (Sort_wildcard): Add SORT_WILDCARD_BY_INIT_PRIORITY. 719*e6c7e151Schristos * script-sections.cc (Input_section_sorter::get_init_priority): New method. 720*e6c7e151Schristos (Input_section_sorter::operator()): Handle SORT_WILDCARD_BY_INIT_PRIORITY. 721*e6c7e151Schristos (Output_section_element_input::print): Likewise. 722*e6c7e151Schristos * script.cc (script_keyword_parsecodes): Add entry SORT_BY_INIT_PRIORITY. 723*e6c7e151Schristos * yyscript.y (SORT_BY_INIT_PRIORITY): New token. 724*e6c7e151Schristos (wildcard_section): Handle SORT_BY_INIT_PRIORITY. 725*e6c7e151Schristos 726*e6c7e151Schristos * testsuite/Makefile.am (script_test_14): New test. 727*e6c7e151Schristos * testsuite/Makefile.in: Regenerate. 728*e6c7e151Schristos * testsuite/script_test_14.s: New test source file. 729*e6c7e151Schristos * testsuite/script_test_14.sh: New test script. 730*e6c7e151Schristos * testsuite/script_test_14.t: New test linker script. 731*e6c7e151Schristos 732*e6c7e151Schristos2016-06-28 James Clarke <jrtc27@jrtc27.com> 733*e6c7e151Schristos 734*e6c7e151Schristos * sparc.cc (Target_sparc::Scan::local): Don't convert R_SPARC_32 735*e6c7e151Schristos to R_SPARC_RELATIVE if class is ELFCLASS64. 736*e6c7e151Schristos (Target_sparc::Scan::global): Likewise. 737*e6c7e151Schristos 738*e6c7e151Schristos2016-06-23 Cary Coutant <ccoutant@gmail.com> 739*e6c7e151Schristos Igor Kudrin <ikudrin@accesssoftek.com> 740*e6c7e151Schristos 741*e6c7e151Schristos PR gold/15370 742*e6c7e151Schristos * script-sections.cc 743*e6c7e151Schristos (Output_section_element_input::set_section_addresses): Keep bin_count 744*e6c7e151Schristos separate from input_pattern_count. 745*e6c7e151Schristos * testsuite/script_test_12.t: Add another section .x4. 746*e6c7e151Schristos * testsuite/script_test_12i.t: Likewise. 747*e6c7e151Schristos * testsuite/script_test_12a.c: Likewise. 748*e6c7e151Schristos * testsuite/script_test_12b.c: Likewise. 749*e6c7e151Schristos 750*e6c7e151Schristos2016-06-23 Igor Kudrin <ikudrin@accesssoftek.com> 751*e6c7e151Schristos 752*e6c7e151Schristos * gold-threads.cc (impl_threads::Lock_impl_threads): Fix typos. 753*e6c7e151Schristos 754*e6c7e151Schristos2016-06-22 H.J. Lu <hongjiu.lu@intel.com> 755*e6c7e151Schristos 756*e6c7e151Schristos PR ld/20283 757*e6c7e151Schristos * NEWS: Mention --enable-relro. 758*e6c7e151Schristos * configure.ac: Add --enable-relro. 759*e6c7e151Schristos (DEFAULT_LD_Z_RELRO): New. Set by --enable-relro and default 760*e6c7e151Schristos to 1. 761*e6c7e151Schristos * config.in: Regenerated. 762*e6c7e151Schristos * configure: Likewise. 763*e6c7e151Schristos * options.h (General_options::relro): Default to 764*e6c7e151Schristos DEFAULT_LD_Z_RELRO. 765*e6c7e151Schristos 766*e6c7e151Schristos2016-06-20 Cary Coutant <ccoutant@gmail.com> 767*e6c7e151Schristos 768*e6c7e151Schristos * NEWS: Add new features in 1.12. 769*e6c7e151Schristos * version.cc (version_string): Bump to 1.12. 770*e6c7e151Schristos 771*e6c7e151Schristos2016-06-20 H.J. Lu <hongjiu.lu@intel.com> 772*e6c7e151Schristos 773*e6c7e151Schristos PR gold/20245 774*e6c7e151Schristos * i386.cc (Target_i386::first_plt_entry_offset): Return 0 if 775*e6c7e151Schristos plt_ is NULL. 776*e6c7e151Schristos (Target_i386::plt_entry_size): Likewise. 777*e6c7e151Schristos (Target_x86_64<size>::first_plt_entry_offset): Likewise. 778*e6c7e151Schristos (Target_x86_64<size>::plt_entry_size): Likewise. 779*e6c7e151Schristos 780*e6c7e151Schristos2016-06-20 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com> 781*e6c7e151Schristos 782*e6c7e151Schristos * mips.cc (Target_mips::Target_mips): Initialize rld_map_. 783*e6c7e151Schristos (Target_mips::rld_map_): New data member. 784*e6c7e151Schristos (Target_mips::do_finalize_sections): Add support for 785*e6c7e151Schristos DT_MIPS_RLD_MAP and DT_MIPS_RLD_MAP_REL dynamic tags, 786*e6c7e151Schristos .rld_map section, and __RLD_MAP symbol. 787*e6c7e151Schristos (Target_mips::do_dynamic_tag_custom_value): Add support for 788*e6c7e151Schristos DT_MIPS_RLD_MAP_REL dynamic tag. 789*e6c7e151Schristos * output.cc (Output_data_dynamic::get_entry_offset): New method 790*e6c7e151Schristos definition. 791*e6c7e151Schristos * output.h (Output_data_dynamic::get_entry_offset): New method 792*e6c7e151Schristos declaration. 793*e6c7e151Schristos 794*e6c7e151Schristos2016-06-20 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com> 795*e6c7e151Schristos 796*e6c7e151Schristos * mips.cc (Mips_relocate_functions::relpc16): Add unaligned check. 797*e6c7e151Schristos 798*e6c7e151Schristos2016-06-20 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com> 799*e6c7e151Schristos 800*e6c7e151Schristos * mips.cc (relocation_needs_la25_stub): Add support for relocs: 801*e6c7e151Schristos R_MIPS_PC21_S2 and R_MIPS_PC26_S2. 802*e6c7e151Schristos (hi16_reloc): Add support for R_MIPS_PCHI16 relocation. 803*e6c7e151Schristos (is_matching_lo16_reloc): Likewise. 804*e6c7e151Schristos (lo16_reloc): Add support for R_MIPS_PCLO16 relocation. 805*e6c7e151Schristos (Mips_output_data_plt::plt_entry_r6): New static data member for 806*e6c7e151Schristos R6 PLT entry. 807*e6c7e151Schristos (Target_mips::is_output_r6): New method. 808*e6c7e151Schristos (Target_mips::Mips_mach): Add new enum constants. 809*e6c7e151Schristos (Mips_relocate_functions::Status): Likewise. 810*e6c7e151Schristos (Mips_relocate_functions::pchi16_relocs): New static data member. 811*e6c7e151Schristos (Mips_relocate_functions::relpc21): New method. 812*e6c7e151Schristos (Mips_relocate_functions::relpc26): Likewise. 813*e6c7e151Schristos (Mips_relocate_functions::relpc18): Likewise. 814*e6c7e151Schristos (Mips_relocate_functions::relpc19): Likewise. 815*e6c7e151Schristos (Mips_relocate_functions::relpchi16): Likewise. 816*e6c7e151Schristos (Mips_relocate_functions::do_relpchi16): Likewise. 817*e6c7e151Schristos (Mips_relocate_functions::relpclo16): Likewise. 818*e6c7e151Schristos (Mips_output_data_plt::do_write): Add support for Mips r6 plt 819*e6c7e151Schristos entry. 820*e6c7e151Schristos (Target_mips::mips_32bit_flags): Add E_MIPS_ARCH_32R6 support. 821*e6c7e151Schristos (Target_mips::elf_mips_mach): Add E_MIPS_ARCH_32R6 and 822*e6c7e151Schristos E_MIPS_ARCH_64R6 support. 823*e6c7e151Schristos (Target_mips::update_abiflags_isa): Likewise. 824*e6c7e151Schristos (mips_get_size_for_reloc): Add support for relocs: R_MIPS_PCHI16, 825*e6c7e151Schristos R_MIPS_PCLO16, R_MIPS_PC21_S2, R_MIPS_PC26_S2, R_MIPS_PC18_S3 and 826*e6c7e151Schristos R_MIPS_PC19_S2. 827*e6c7e151Schristos (Target_mips::Scan::local): Add support for relocs: R_MIPS_PCHI16 828*e6c7e151Schristos and R_MIPS_PCLO16. 829*e6c7e151Schristos (Target_mips::Scan::global): Add support for relocs: 830*e6c7e151Schristos R_MIPS_PC21_S2 and R_MIPS_PC26_S2. 831*e6c7e151Schristos (Target_mips::Relocate::relocate): Call functions for resolving 832*e6c7e151Schristos Mips32r6 and Mips64r6 relocations, and print error message for 833*e6c7e151Schristos STATUS_PCREL_UNALIGNED. 834*e6c7e151Schristos (Target_mips::Scan::get_reference_flags): Add support for relocs: 835*e6c7e151Schristos R_MIPS_PCHI16, R_MIPS_PCLO16, R_MIPS_PC21_S2, R_MIPS_PC26_S2, 836*e6c7e151Schristos R_MIPS_PC18_S3 and R_MIPS_PC19_S2. 837*e6c7e151Schristos (Target_mips::elf_mips_mach_name): Add E_MIPS_ARCH_32R6 and 838*e6c7e151Schristos E_MIPS_ARCH_64R6 support. 839*e6c7e151Schristos 840*e6c7e151Schristos2016-06-13 H.J. Lu <hongjiu.lu@intel.com> 841*e6c7e151Schristos 842*e6c7e151Schristos PR gold/20246 843*e6c7e151Schristos * testsuite/script_test_2.t: Add .got.plt after .got. 844*e6c7e151Schristos 845*e6c7e151Schristos2016-06-10 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com> 846*e6c7e151Schristos 847*e6c7e151Schristos * mips.cc (struct Mips_abiflags): New struct. 848*e6c7e151Schristos (Mips_relobj::Mips_relobj): Initialize attributes_section_data_ 849*e6c7e151Schristos and abiflags_. 850*e6c7e151Schristos (Mips_relobj::~Mips_relobj): Delete object pointed by 851*e6c7e151Schristos attributes_section_data_. 852*e6c7e151Schristos (Mips_relobj::abiflags): New method. 853*e6c7e151Schristos (Mips_relobj::attributes_section_data): Likewise. 854*e6c7e151Schristos (Mips_relobj::attributes_section_data_): New data member. 855*e6c7e151Schristos (Mips_relobj::abiflags_): Likewise. 856*e6c7e151Schristos (class Mips_output_section_abiflags): New class. 857*e6c7e151Schristos (Target_mips::Target_mips): Initialize attributes_section_data_, 858*e6c7e151Schristos abiflags_ and has_abiflags_section_. 859*e6c7e151Schristos (Target_mips::do_should_include_section): Don't emit input 860*e6c7e151Schristos .MIPS.abiflags sections to output .MIPS.abiflags. 861*e6c7e151Schristos (Target_mips::Mips_mach): Add new enum constants. 862*e6c7e151Schristos (Target_mips::mips_isa_ext_mach): New method. 863*e6c7e151Schristos (Target_mips::mips_isa_ext): Likewise. 864*e6c7e151Schristos (Target_mips::update_abiflags_isa): Likewise. 865*e6c7e151Schristos (Target_mips::infer_abiflags): Likewise. 866*e6c7e151Schristos (Target_mips::create_abiflags): Likewise. 867*e6c7e151Schristos (Target_mips::fp_abi_string): Likewise. 868*e6c7e151Schristos (Target_mips::select_fp_abi): Likewise. 869*e6c7e151Schristos (Target_mips::merge_obj_attributes): Likewise. 870*e6c7e151Schristos (Target_mips::merge_obj_abiflags): Likewise. 871*e6c7e151Schristos (Target_mips::level_rev): Likewise. 872*e6c7e151Schristos (Target_mips::merge_obj_e_flags): Rename from 873*e6c7e151Schristos merge_processor_specific_flags. Remove dyn_obj argument, 874*e6c7e151Schristos call update_abiflags_isa when needed, compare NaN encodings and 875*e6c7e151Schristos compare FP64 state. 876*e6c7e151Schristos (Target_mips::add_machine_extensions): Add two machine extensions 877*e6c7e151Schristos and fix one. 878*e6c7e151Schristos (Target_mips::attributes_section_data_): New data member. 879*e6c7e151Schristos (Target_mips::abiflags_): Likewise. 880*e6c7e151Schristos (Target_mips::has_abiflags_section_): Likewise. 881*e6c7e151Schristos (Mips_relobj::do_read_symbols): Read .gnu.attributes and 882*e6c7e151Schristos .MIPS.abiflags sections if they exists. 883*e6c7e151Schristos (Target_mips::elf_mips_mach): Add E_MIPS_MACH_5900 and 884*e6c7e151Schristos E_MIPS_MACH_OCTEON3 support. 885*e6c7e151Schristos (Target_mips::do_adjust_elf_header): Setup EI_ABIVERSION flag. 886*e6c7e151Schristos (Target_mips::do_finalize_sections): Merge .gnu.attributes and 887*e6c7e151Schristos .MIPS.abiflags sections from input. Create these sections if 888*e6c7e151Schristos needed. 889*e6c7e151Schristos (Target_mips::elf_mips_mach_name): Add E_MIPS_MACH_5900 and 890*e6c7e151Schristos E_MIPS_MACH_OCTEON3 support, and change strings for 891*e6c7e151Schristos E_MIPS_MACH_LS2E, E_MIPS_MACH_LS2F and E_MIPS_MACH_LS3A just 892*e6c7e151Schristos to match bfd. 893*e6c7e151Schristos 894*e6c7e151Schristos2016-06-10 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com> 895*e6c7e151Schristos 896*e6c7e151Schristos * mips.cc (Mips_relobj::Mips_relobj): Initialize 897*e6c7e151Schristos has_reginfo_section_. 898*e6c7e151Schristos (Mips_relobj::has_reginfo_section_): New data member. 899*e6c7e151Schristos (Mips_relobj::has_reginfo_section): New method. 900*e6c7e151Schristos (class Mips_output_section_reginfo): Change base class to 901*e6c7e151Schristos Output_section_data, and set masks of the output .reginfo section 902*e6c7e151Schristos in constructor. 903*e6c7e151Schristos (Mips_output_section_reginfo::as_mips_output_section_reginfo): 904*e6c7e151Schristos Remove. 905*e6c7e151Schristos (Mips_output_section_reginfo::set_masks): Likewise. 906*e6c7e151Schristos (Mips_output_section_reginfo::set_final_data_size): Likewise. 907*e6c7e151Schristos (Mips_output_section_reginfo::do_print_to_mapfile): New method. 908*e6c7e151Schristos (Target_mips::do_make_output_section): Remove. 909*e6c7e151Schristos (Mips_relobj::do_read_symbols): Set has_reginfo_section_ to true 910*e6c7e151Schristos if the object contains a .reginfo section. 911*e6c7e151Schristos (Target_mips::do_finalize_sections): Create a .reginfo output 912*e6c7e151Schristos section if needed. 913*e6c7e151Schristos 914*e6c7e151Schristos2016-06-09 Artemiy Volkov <artemiyv@acm.org> 915*e6c7e151Schristos 916*e6c7e151Schristos * mips.cc (Mips_output_data_got::do_write): Add missing template 917*e6c7e151Schristos args via typedef. 918*e6c7e151Schristos 919*e6c7e151Schristos2016-05-30 Marcin Kościelnicki <koriakin@0x04.net> 920*e6c7e151Schristos 921*e6c7e151Schristos PR/19960 922*e6c7e151Schristos * s390.cc (Target_s390::ss_code_st_r14): Removed. 923*e6c7e151Schristos (Target_s390::ss_code_l_r14): Removed. 924*e6c7e151Schristos (Target_s390::ss_code_ear): Removed. 925*e6c7e151Schristos (Target_s390::ss_code_c): Removed. 926*e6c7e151Schristos (Target_s390::ss_match_st_r14): New function. 927*e6c7e151Schristos (Target_s390::ss_match_l_r14): New function. 928*e6c7e151Schristos (Target_s390::ss_match_mcount): Call ss_match_{l,st}_r14 instead 929*e6c7e151Schristos of matching code directly. 930*e6c7e151Schristos (Target_s390::ss_match_ear): New function. 931*e6c7e151Schristos (Target_s390::ss_match_c): New function. 932*e6c7e151Schristos (Target_s390::do_calls_non_split): Call ss_match_{ear,c} instead 933*e6c7e151Schristos of matching code directly. 934*e6c7e151Schristos 935*e6c7e151Schristos2016-05-19 Cary Coutant <ccoutant@gmail.com> 936*e6c7e151Schristos 937*e6c7e151Schristos PR gold/19823 938*e6c7e151Schristos * copy-relocs.cc (Copy_relocs::make_copy_reloc): Add object 939*e6c7e151Schristos parameter; check for protected symbol. 940*e6c7e151Schristos * copy-relocs.h (Copy_relocs::make_copy_reloc): Add object parameter. 941*e6c7e151Schristos * mips.cc (Mips_copy_relocs): Adjust call to make_copy_reloc. 942*e6c7e151Schristos * symtab.cc (Symbol::init_fields): Initialize is_protected_. 943*e6c7e151Schristos (Symbol_table::add_from_dynobj): Mark protected symbols. 944*e6c7e151Schristos * symtab.h (Symbol::is_protected): New method. 945*e6c7e151Schristos (Symbol::set_is_protected): New method. 946*e6c7e151Schristos (Symbol::is_protected_): New data member. 947*e6c7e151Schristos 948*e6c7e151Schristos * testsuite/Makefile.am (copy_test_protected): New test. 949*e6c7e151Schristos * testsuite/Makefile.in: Regenerate. 950*e6c7e151Schristos * testsuite/copy_test.cc (main): Add legal reference to protected 951*e6c7e151Schristos symbol. 952*e6c7e151Schristos * testsuite/copy_test_v1.cc (main): Likewise. 953*e6c7e151Schristos * testsuite/copy_test_2.cc (ip): Add protected symbol. 954*e6c7e151Schristos * testsuite/copy_test_protected.cc: New test source file. 955*e6c7e151Schristos * testsuite/copy_test_protected.sh: New test script. 956*e6c7e151Schristos 957*e6c7e151Schristos2016-05-19 Vladimir Radosavljevic <vladimir.radosavljevic@imgtec.com> 958*e6c7e151Schristos 959*e6c7e151Schristos * mips.cc (Mips_got_entry::Mips_got_entry): Remove object argument 960*e6c7e151Schristos for global got symbols, and set addend to 0. 961*e6c7e151Schristos (Mips_got_entry::hash): Change hash algorithm. 962*e6c7e151Schristos (Mips_got_entry::equals): Refactor. 963*e6c7e151Schristos (Mips_got_entry::object): Return input object for local got symbols 964*e6c7e151Schristos from union d. 965*e6c7e151Schristos (Mips_got_entry::addend): Change return of the relocation addend. 966*e6c7e151Schristos (Mips_got_entry::addend_): Move from union d. 967*e6c7e151Schristos (Mips_got_entry::object_): Move into union d. 968*e6c7e151Schristos (class Mips_symbol_hash): New class. 969*e6c7e151Schristos (Mips_got_info::Global_got_entry_set): New type. 970*e6c7e151Schristos (Mips_got_info::global_got_symbols): Change return type to 971*e6c7e151Schristos Global_got_entry_set. 972*e6c7e151Schristos (Mips_got_info::global_got_symbols_): Change type to 973*e6c7e151Schristos Global_got_entry_set. 974*e6c7e151Schristos (Mips_symbol::hash): New method. 975*e6c7e151Schristos (Mips_output_data_la25_stub::symbols_): Change type to std::vector. 976*e6c7e151Schristos (Mips_output_data_mips_stubs::Mips_stubs_entry_set): New type. 977*e6c7e151Schristos (Mips_output_data_mips_stubs::symbols_): Change type to 978*e6c7e151Schristos Mips_stubs_entry_set. 979*e6c7e151Schristos (Mips_got_info::record_global_got_symbol): Don't pass object 980*e6c7e151Schristos argument when creating global got symbol. 981*e6c7e151Schristos (Mips_got_info::record_got_entry): Remove find before inserting 982*e6c7e151Schristos got entries. 983*e6c7e151Schristos (Mips_got_info::add_reloc_only_entries): Change type of iterator 984*e6c7e151Schristos to Global_got_entry_set. 985*e6c7e151Schristos (Mips_got_info::count_got_symbols): Likewise. 986*e6c7e151Schristos (Mips_output_data_la25_stub::create_la25_stub): Use push_back 987*e6c7e151Schristos for adding entries to symbols_. 988*e6c7e151Schristos (Mips_output_data_la25_stub::do_write): Change type of iterator 989*e6c7e151Schristos to std::vector. 990*e6c7e151Schristos (Mips_output_data_mips_stubs::set_lazy_stub_offsets): Change type 991*e6c7e151Schristos of iterator to Mips_stubs_entry_set. 992*e6c7e151Schristos (Mips_output_data_mips_stubs::set_needs_dynsym_value): Likewise. 993*e6c7e151Schristos (Mips_output_data_mips_stubs::do_write): Likewise. 994*e6c7e151Schristos 995*e6c7e151Schristos2016-05-06 Han Shen <shenhan@google.com> 996*e6c7e151Schristos 997*e6c7e151Schristos PR gold/19987. 998*e6c7e151Schristos 999*e6c7e151Schristos * aarch64-reloc.def: New relocation type. 1000*e6c7e151Schristos * aarch64.cc (AArch64_relocate_functions::Page): Changed to public. 1001*e6c7e151Schristos (Target_aarch64::Scan::local): Add R_AARCH64_LD64_GOTPAGE_LO15. 1002*e6c7e151Schristos (Target_aarch64::Scan::global): Add R_AARCH64_LD64_GOTPAGE_LO15. 1003*e6c7e151Schristos (Target_aarch64::Relocate::relocate): Implement R_AARCH64_LD64_GOTPAGE_LO15. 1004*e6c7e151Schristos 1005*e6c7e151Schristos2016-04-28 Nick Clifton <nickc@redhat.com> 1006*e6c7e151Schristos 1007*e6c7e151Schristos * po/zh_CN.po: Updated Chinese (simplified) translation. 1008*e6c7e151Schristos 1009*e6c7e151Schristos2016-04-15 H.J. Lu <hongjiu.lu@intel.com> 1010*e6c7e151Schristos 1011*e6c7e151Schristos * Makefile.in: Regenerated with automake 1.11.6. 1012*e6c7e151Schristos * aclocal.m4: Likewise. 1013*e6c7e151Schristos * testsuite/Makefile.in: Likewise. 1014*e6c7e151Schristos 1015*e6c7e151Schristos2016-03-30 Cary Coutant <ccoutant@gmail.com> 1016*e6c7e151Schristos 1017*e6c7e151Schristos PR gold/16979 1018*e6c7e151Schristos * symtab.cc (Symbol_table::define_default_version): Check for case 1019*e6c7e151Schristos where symbols are both in different shared objects. 1020*e6c7e151Schristos 1021*e6c7e151Schristos2016-03-27 Cary Coutant <ccoutant@gmail.com> 1022*e6c7e151Schristos 1023*e6c7e151Schristos PR gold/16111 1024*e6c7e151Schristos * i386.cc (Target_i386): Add check for fully-resolved symbol for 1025*e6c7e151Schristos R_386_GOTOFF. 1026*e6c7e151Schristos 1027*e6c7e151Schristos2016-03-22 Nick Clifton <nickc@redhat.com> 1028*e6c7e151Schristos 1029*e6c7e151Schristos * configure: Regenerate. 1030*e6c7e151Schristos 1031*e6c7e151Schristos2016-03-21 Cary Coutant <ccoutant@gmail.com> 1032*e6c7e151Schristos 1033*e6c7e151Schristos PR gold/19842 1034*e6c7e151Schristos * errors.cc (Errors::undefined_symbol): Add info message when 1035*e6c7e151Schristos symbol should have been provided by a plugin. 1036*e6c7e151Schristos * target-reloc.h (issue_undefined_symbol_error): Check for 1037*e6c7e151Schristos placeholder symbols defined in discarded sections. 1038*e6c7e151Schristos * testsuite/Makefile.am (plugin_test_9b): New test case. 1039*e6c7e151Schristos * testsuite/Makefile.in: Regenerate. 1040*e6c7e151Schristos * testsuite/plugin_test_9b_elf.cc: New test source file. 1041*e6c7e151Schristos * testsuite/plugin_test_9b_ir.cc: New test source file. 1042*e6c7e151Schristos 1043*e6c7e151Schristos2016-03-20 Cary Coutant <ccoutant@gmail.com> 1044*e6c7e151Schristos 1045*e6c7e151Schristos PR gold/19002 1046*e6c7e151Schristos * ehframe.cc (Eh_frame::read_fde): Check for dropped functions. 1047*e6c7e151Schristos * testsuite/Makefile.am (eh_test_2): New test. 1048*e6c7e151Schristos * testsuite/Makefile.in: Regenerate. 1049*e6c7e151Schristos * testsuite/eh_test_2.sh: New test script. 1050*e6c7e151Schristos * testsuite/eh_test_a.cc (bar): Make it comdat. 1051*e6c7e151Schristos * testsuite/eh_test_b.cc (bar): Add a duplicate copy. 1052*e6c7e151Schristos 1053*e6c7e151Schristos2016-03-18 Vladimir Radosavljevic <vladimir.radosavljevic@imgtec.com> 1054*e6c7e151Schristos 1055*e6c7e151Schristos * mips.cc (Mips_relobj::is_n64_): Remove. 1056*e6c7e151Schristos (Target_mips::ei_class_): Likewise. 1057*e6c7e151Schristos (Mips_relobj::is_newabi): Call methods. 1058*e6c7e151Schristos (Mips_relobj::is_n64): Change checking for N64 ABI. 1059*e6c7e151Schristos (Target_mips::is_output_n64): Likewise. 1060*e6c7e151Schristos (Target_mips::merge_processor_specific_flags): Remove ei_class 1061*e6c7e151Schristos argument, and remove comparing ei_class. 1062*e6c7e151Schristos (Target_mips::do_adjust_elf_header): Remove setting EI_CLASS field 1063*e6c7e151Schristos of the ELF header. 1064*e6c7e151Schristos (Target_mips::do_finalize_sections): Don't pass ei_class argument 1065*e6c7e151Schristos to merge_processor_specific_flags. 1066*e6c7e151Schristos (Target_mips::elf_mips_abi_name): Remove ei_class argument, and 1067*e6c7e151Schristos change checking for N64 ABI. 1068*e6c7e151Schristos 1069*e6c7e151Schristos2016-03-17 Vladimir Radosavljevic <vladimir.radosavljevic@imgtec.com> 1070*e6c7e151Schristos 1071*e6c7e151Schristos * mips.cc (enum Special_relocation_symbol): New enum type. 1072*e6c7e151Schristos (is_readonly_section): New function. 1073*e6c7e151Schristos (eh_reloc): Likewise. 1074*e6c7e151Schristos (Mips_got_entry::is_section_symbol_): New member. 1075*e6c7e151Schristos (Mips_got_entry::is_section_symbol): New method. 1076*e6c7e151Schristos (Mips_got_info::record_local_got_symbol): Add is_section_symbol 1077*e6c7e151Schristos argument. 1078*e6c7e151Schristos (Mips_relobj::mips_elf_options_section_name): New method. 1079*e6c7e151Schristos (Mips_output_data_got::record_local_got_symbol): Add 1080*e6c7e151Schristos is_section_symbol argument, and pass it to 1081*e6c7e151Schristos Mips_got_info::record_local_got_symbol. 1082*e6c7e151Schristos (Mips_output_data_got::got_offset): Add addend argument, and pass 1083*e6c7e151Schristos it to Relobj::local_got_offset. 1084*e6c7e151Schristos (struct Mips_output_reloc_writer): New type. 1085*e6c7e151Schristos (class Mips_output_data_reloc): New class. 1086*e6c7e151Schristos (Mips_output_data_plt::Reloc_section): Change type to 1087*e6c7e151Schristos Mips_output_data_reloc. 1088*e6c7e151Schristos (Target_mips::Reloc_section): Likewise. 1089*e6c7e151Schristos (Mips_reloc_types::get_r_addend): Remove unsigned from return type. 1090*e6c7e151Schristos (Mips_classify_reloc::get_r_type2): New method. 1091*e6c7e151Schristos (Mips_classify_reloc::get_r_type3): Likewise. 1092*e6c7e151Schristos (Mips_classify_reloc::get_r_ssym): Likewise. 1093*e6c7e151Schristos (Target_mips::Reloca_section): Remove. 1094*e6c7e151Schristos (Relocate::should_apply_static_reloc): Rename from 1095*e6c7e151Schristos should_apply_r_mips_32_reloc. 1096*e6c7e151Schristos (Target_mips::copy_reloc): Replace Reltype parameter with r_type 1097*e6c7e151Schristos and r_offset. 1098*e6c7e151Schristos (Mips_relocate_functions::Valtype): New type. 1099*e6c7e151Schristos (Mips_relocate_functions::Valtype64): New type. 1100*e6c7e151Schristos (Mips_relocate_functions::check_overflow): New method. 1101*e6c7e151Schristos (Mips_relocate_functions::mips_reloc_unshuffle): Move to public 1102*e6c7e151Schristos interface. 1103*e6c7e151Schristos (Mips_relocate_functions::mips_reloc_shuffle): Likewise. 1104*e6c7e151Schristos (Mips_relocate_functions::rel16): Add support for resolving 1105*e6c7e151Schristos relocations for Mips64. 1106*e6c7e151Schristos (Mips_relocate_functions::rel32): Likewise. 1107*e6c7e151Schristos (Mips_relocate_functions::reljalr): Likewise. 1108*e6c7e151Schristos (Mips_relocate_functions::relpc32): Likewise. 1109*e6c7e151Schristos (Mips_relocate_functions::rel26): Likewise. 1110*e6c7e151Schristos (Mips_relocate_functions::relpc16): Likewise. 1111*e6c7e151Schristos (Mips_relocate_functions::relmicromips_pc7_s1): Likewise. 1112*e6c7e151Schristos (Mips_relocate_functions::relmicromips_pc10_s1): Likewise. 1113*e6c7e151Schristos (Mips_relocate_functions::relmicromips_pc16_s1): Likewise. 1114*e6c7e151Schristos (Mips_relocate_functions::do_relhi16): Likewise. 1115*e6c7e151Schristos (Mips_relocate_functions::do_relgot16_local): Likewise. 1116*e6c7e151Schristos (Mips_relocate_functions::rello16): Likewise. 1117*e6c7e151Schristos (Mips_relocate_functions::relgot): Likewise. 1118*e6c7e151Schristos (Mips_relocate_functions::relgotpage): Likewise. 1119*e6c7e151Schristos (Mips_relocate_functions::relgotofst): Likewise. 1120*e6c7e151Schristos (Mips_relocate_functions::relgot_hi16): Likewise. 1121*e6c7e151Schristos (Mips_relocate_functions::relgot_lo16): Likewise. 1122*e6c7e151Schristos (Mips_relocate_functions::relgprel): Likewise. 1123*e6c7e151Schristos (Mips_relocate_functions::relgprel32): Likewise. 1124*e6c7e151Schristos (Mips_relocate_functions::tlsrelhi16): Likewise. 1125*e6c7e151Schristos (Mips_relocate_functions::tlsrello16): Likewise. 1126*e6c7e151Schristos (Mips_relocate_functions::tlsrel32): Likewise. 1127*e6c7e151Schristos (Mips_relocate_functions::relsub): Likewise. 1128*e6c7e151Schristos (Mips_relocate_functions::releh): New method. 1129*e6c7e151Schristos (Mips_relocate_functions::rel64): Likewise. 1130*e6c7e151Schristos (Mips_got_info::record_local_got_symbol): Add is_section_symbol and 1131*e6c7e151Schristos pass it to Mips_got_entry. 1132*e6c7e151Schristos (Mips_got_info::add_local_entries): Pass addend argument 1133*e6c7e151Schristos to code functions, and for STT_SECTION symbols call 1134*e6c7e151Schristos add_symbolless_local_addend. 1135*e6c7e151Schristos (Mips_got_info::add_tls_entries): Pass addend argument to code 1136*e6c7e151Schristos functions. 1137*e6c7e151Schristos (Mips_relobj::do_read_symbols): Read gp value that was used to 1138*e6c7e151Schristos create object. 1139*e6c7e151Schristos (Mips_output_data_plt::plt_entry): Remove opcode from l[wd] 1140*e6c7e151Schristos instruction. Opcode for instruction will be selected later. 1141*e6c7e151Schristos (Target_mips::gc_process_relocs): Add case for SHT_RELA. 1142*e6c7e151Schristos (Target_mips::scan_relocatable_relocs): Likewise. 1143*e6c7e151Schristos (Target_mips::emit_relocs_scan): Likewise. 1144*e6c7e151Schristos (Target_mips::relocate_relocs): Likewise. 1145*e6c7e151Schristos (Target_mips::do_finalize_sections): Skip objects for merging 1146*e6c7e151Schristos processor specific flags in which all input sections will be 1147*e6c7e151Schristos discarded. 1148*e6c7e151Schristos (mips_get_size_for_reloc): Add case for R_MIPS_EH. 1149*e6c7e151Schristos (Target_mips::Scan::get_reference_flags): Likewise. 1150*e6c7e151Schristos (Target_mips::relocate_special_relocatable): Call rel26 method with 1151*e6c7e151Schristos calculate_only and calculated_value arguments. 1152*e6c7e151Schristos (Target_mips::Scan::local): Add case for R_MIPS_EH. Don't create a 1153*e6c7e151Schristos dynamic relocation against a readonly sections, and pass 1154*e6c7e151Schristos is_section_symbol to Mips_got_info::record_local_got_symbol. 1155*e6c7e151Schristos (Target_mips::Scan::global): Add case for R_MIPS_EH. Don't create a 1156*e6c7e151Schristos dynamic relocation against a readonly sections, and pass r_type 1157*e6c7e151Schristos and r_offset to Target_mips::copy_reloc. 1158*e6c7e151Schristos (Target_mips::Relocate::relocate): Add support for resolving 1159*e6c7e151Schristos relocations for Mips64. 1160*e6c7e151Schristos (Target_mips::mips_info): Add case for Mips64 default dynamic 1161*e6c7e151Schristos linker name. 1162*e6c7e151Schristos (Target_selector_mips): Correct emulation names. 1163*e6c7e151Schristos 1164*e6c7e151Schristos2016-03-17 Vladimir Radosavljevic <vladimir.radosavljevic@imgtec.com> 1165*e6c7e151Schristos 1166*e6c7e151Schristos * mips.cc (class Mips_output_data_la25_stub): Add 1167*e6c7e151Schristos do_print_to_mapfile function. 1168*e6c7e151Schristos 1169*e6c7e151Schristos2016-03-17 Vladimir Radosavljevic <vladimir.radosavljevic@imgtec.com> 1170*e6c7e151Schristos 1171*e6c7e151Schristos * mips.cc (Mips_classify_reloc::put_r_info): Call 32bit version of 1172*e6c7e151Schristos elf_r_info. 1173*e6c7e151Schristos 1174*e6c7e151Schristos2016-03-09 H.J. Lu <hongjiu.lu@intel.com> 1175*e6c7e151Schristos 1176*e6c7e151Schristos * testsuite/plugin_layout_with_alignment.cc: Renamed to .. 1177*e6c7e151Schristos * testsuite/plugin_layout_with_alignment.c: This. 1178*e6c7e151Schristos * testsuite/Makefile.am (plugin_layout_with_alignment.o): Updated. 1179*e6c7e151Schristos (plugin_layout_with_alignment): Likewise. 1180*e6c7e151Schristos * testsuite/Makefile.in: Regenerated. 1181*e6c7e151Schristos 1182*e6c7e151Schristos2016-03-08 Cary Coutant <ccoutant@gmail.com> 1183*e6c7e151Schristos 1184*e6c7e151Schristos PR 19751 1185*e6c7e151Schristos * testsuite/Makefile.am (retain_symbols_file_test): Remove check 1186*e6c7e151Schristos for constructor. 1187*e6c7e151Schristos * testsuite/Makefile.in: Regenerate. 1188*e6c7e151Schristos * testsuite/dynamic_list.sh: Likewise. 1189*e6c7e151Schristos * testsuite/retain_symbols_file_test.sh: Likewise. 1190*e6c7e151Schristos 1191*e6c7e151Schristos2016-03-08 Cary Coutant <ccoutant@gmail.com> 1192*e6c7e151Schristos 1193*e6c7e151Schristos PR 19751 1194*e6c7e151Schristos * arm.cc (Reloc_stub::Key::name): Add unused attribute. 1195*e6c7e151Schristos * dirsearch.cc (Dir_caches::~Dir_caches): Likewise. 1196*e6c7e151Schristos 1197*e6c7e151Schristos2016-03-08 Cary Coutant <ccoutant@gmail.com> 1198*e6c7e151Schristos Vladimir Radosavljevic <vladimir.radosavljevic@imgtec.com> 1199*e6c7e151Schristos 1200*e6c7e151Schristos * output.cc (Output_reloc_writer): New type. 1201*e6c7e151Schristos (Output_data_reloc_base::do_write): Move implementation to template 1202*e6c7e151Schristos in output.h and replace with invocation of template. 1203*e6c7e151Schristos * output.h (Output_file): Move to top of file. 1204*e6c7e151Schristos (Output_reloc::get_symbol_index): Move to public interface. 1205*e6c7e151Schristos (Output_reloc::get_address): Likewise. 1206*e6c7e151Schristos (Output_data_reloc_base::do_write_generic): New function template. 1207*e6c7e151Schristos 1208*e6c7e151Schristos2016-03-04 Cary Coutant <ccoutant@gmail.com> 1209*e6c7e151Schristos 1210*e6c7e151Schristos PR gold/19019 1211*e6c7e151Schristos PR gold/19763 1212*e6c7e151Schristos * symtab.cc: Instantiate Sized_symbol::init_constant and 1213*e6c7e151Schristos Sized_symbol::init_undefined. 1214*e6c7e151Schristos 1215*e6c7e151Schristos2016-03-03 Cary Coutant <ccoutant@gmail.com> 1216*e6c7e151Schristos 1217*e6c7e151Schristos PR gold/19019 1218*e6c7e151Schristos * layout.h (Layout::add_target_specific_dynamic_tag): New function. 1219*e6c7e151Schristos * layout.cc (Layout::add_target_specific_dynamic_tag): New function. 1220*e6c7e151Schristos * mips.cc (Target_mips::make_symbol): Adjust function signature. 1221*e6c7e151Schristos * sparc.cc (Target_sparc::Target_sparc): Initialize register_syms_. 1222*e6c7e151Schristos (Target_sparc::do_is_defined_by_abi): Remove test for 1223*e6c7e151Schristos STT_SPARC_REGISTER. 1224*e6c7e151Schristos (Target_sparc::Register_symbol): New struct type. 1225*e6c7e151Schristos (Target_sparc::register_syms_): New data member. 1226*e6c7e151Schristos (Target_sparc<64, true>::sparc_info): Set has_make_symbol to true. 1227*e6c7e151Schristos (Target_sparc::make_symbol): New function. 1228*e6c7e151Schristos (Target_sparc::do_finalize_sections): Add register symbols and new 1229*e6c7e151Schristos dynamic table entries. 1230*e6c7e151Schristos * symtab.h (Sized_symbol::init_undefined): Add value parameter. 1231*e6c7e151Schristos (Symbol_table::add_target_global_symbol): New function. 1232*e6c7e151Schristos (Symbol_table::target_symbols_): New data member. 1233*e6c7e151Schristos * symtab.cc (Sized_symbol::init_undefined): Add value parameter. 1234*e6c7e151Schristos (Symbol_table::Symbol_table): Initialize target_symbols_. 1235*e6c7e151Schristos (Symbol_table::add_from_object): Pass additional parameters to 1236*e6c7e151Schristos Target::make_symbol. 1237*e6c7e151Schristos (Symbol_table::define_special_symbol): Likewise. 1238*e6c7e151Schristos (Symbol_table::add_undefined_symbol_from_command_line): Pass 0 for 1239*e6c7e151Schristos undefined symbol value. 1240*e6c7e151Schristos (Symbol_table::set_dynsym_indexes): Process target-specific symbols. 1241*e6c7e151Schristos (Symbol_table::sized_finalize): Likewise. 1242*e6c7e151Schristos (Symbol_table::sized_write_globals): Likewise. 1243*e6c7e151Schristos * target.h (Sized_target::make_symbol): Add name, st_type, object, 1244*e6c7e151Schristos st_shndx, and value parameters. 1245*e6c7e151Schristos 1246*e6c7e151Schristos2016-03-03 Rafael Ávila de Espíndola <rafael.espindola@gmail.com> 1247*e6c7e151Schristos 1248*e6c7e151Schristos * plugin.cc (do_should_include_member): Ignore LDPK_UNDEF and 1249*e6c7e151Schristos LDPK_WEAKUNDEF symbols. 1250*e6c7e151Schristos 1251*e6c7e151Schristos2016-03-03 Than McIntosh <thanm@google.com> 1252*e6c7e151Schristos 1253*e6c7e151Schristos * plugin.cc (Plugin::load): Include hooks for get_input_section_size 1254*e6c7e151Schristos and get_input_section_alignment in transfer vector. 1255*e6c7e151Schristos (get_input_section_alignment): New function. 1256*e6c7e151Schristos (get_input_section_size): New function. 1257*e6c7e151Schristos * testsuite/Makefile.am: Add plugin_layout_with_alignment.sh test. 1258*e6c7e151Schristos * testsuite/Makefile.in: [Regenerate.] 1259*e6c7e151Schristos * testsuite/plugin_section_alignment.cc: New test file. 1260*e6c7e151Schristos * testsuite/plugin_layout_with_alignment.cc: New test file. 1261*e6c7e151Schristos * testsuite/plugin_layout_with_alignment.sh: New test file. 1262*e6c7e151Schristos 1263*e6c7e151Schristos2016-03-03 Evgenii Stepanov <eugenis@google.com> 1264*e6c7e151Schristos 1265*e6c7e151Schristos * plugin.h (Pluginobj::get_symbol_resolution_info): Add version 1266*e6c7e151Schristos parameter. 1267*e6c7e151Schristos * plugin.cc (get_symbols_v3): New function. 1268*e6c7e151Schristos (Plugin::load): Add LDPT_GET_SYMBOLS_V3. 1269*e6c7e151Schristos (Pluginobj::get_symbol_resolution_info): Return LDPS_NO_SYMS when using 1270*e6c7e151Schristos new version. 1271*e6c7e151Schristos 1272*e6c7e151Schristos2016-02-26 Egor Kochetov <egor.kochetov@intel.com> 1273*e6c7e151Schristos Cary Coutant <ccoutant@gmail.com> 1274*e6c7e151Schristos 1275*e6c7e151Schristos PR gold/19735 1276*e6c7e151Schristos * ehframe.h (Cie::fde_encoding): New method. 1277*e6c7e151Schristos * ehframe.cc (Eh_frame::read_fde): Discard FDEs for zero-length 1278*e6c7e151Schristos address ranges. 1279*e6c7e151Schristos 1280*e6c7e151Schristos2016-02-15 H.J. Lu <hongjiu.lu@intel.com> 1281*e6c7e151Schristos 1282*e6c7e151Schristos * testsuite/Makefile.am (x86_64_mov_to_lea5.o): Pass 1283*e6c7e151Schristos -mrelax-relocations=yes to $(TEST_AS). 1284*e6c7e151Schristos (x86_64_mov_to_lea6.o): Likewise. 1285*e6c7e151Schristos (x86_64_overflow_pc32.o): Remove duplicated target. 1286*e6c7e151Schristos * testsuite/Makefile.in: Regenerated. 1287*e6c7e151Schristos 1288*e6c7e151Schristos2016-02-15 Marcin Kościelnicki <koriakin@0x04.net> 1289*e6c7e151Schristos 1290*e6c7e151Schristos * s390.cc (Target_s390::match_view_u): New helper method. 1291*e6c7e151Schristos (Target_s390::do_is_call_to_non_split): New method. 1292*e6c7e151Schristos (Target_s390::ss_code_st_r14): New const. 1293*e6c7e151Schristos (Target_s390::ss_code_l_r14): New const. 1294*e6c7e151Schristos (Target_s390::ss_code_bras_8): New const. 1295*e6c7e151Schristos (Target_s390::ss_code_l_basr): New const. 1296*e6c7e151Schristos (Target_s390::ss_code_a_basr): New const. 1297*e6c7e151Schristos (Target_s390::ss_code_ear): New const. 1298*e6c7e151Schristos (Target_s390::ss_code_c): New const. 1299*e6c7e151Schristos (Target_s390::ss_code_larl): New const. 1300*e6c7e151Schristos (Target_s390::ss_code_brasl): New const. 1301*e6c7e151Schristos (Target_s390::ss_code_jg): New const. 1302*e6c7e151Schristos (Target_s390::ss_code_jgl): New const. 1303*e6c7e151Schristos (Target_s390::ss_match_mcount): New helper method. 1304*e6c7e151Schristos (Target_s390::ss_match_l): New helper method. 1305*e6c7e151Schristos (Target_s390::ss_match_ahi): New helper method. 1306*e6c7e151Schristos (Target_s390::ss_match_alfi): New helper method. 1307*e6c7e151Schristos (Target_s390::ss_match_cr): New helper method. 1308*e6c7e151Schristos (Target_s390::do_calls_non_split): New method. 1309*e6c7e151Schristos * testsuite/Makefile.am: Added new tests. 1310*e6c7e151Schristos * testsuite/Makefile.in: Regenerate. 1311*e6c7e151Schristos * testsuite/split_s390.sh: New test. 1312*e6c7e151Schristos * testsuite/split_s390_1_a1.s: New test. 1313*e6c7e151Schristos * testsuite/split_s390_1_a2.s: New test. 1314*e6c7e151Schristos * testsuite/split_s390_1_n1.s: New test. 1315*e6c7e151Schristos * testsuite/split_s390_1_n2.s: New test. 1316*e6c7e151Schristos * testsuite/split_s390_1_z1.s: New test. 1317*e6c7e151Schristos * testsuite/split_s390_1_z2.s: New test. 1318*e6c7e151Schristos * testsuite/split_s390_1_z3.s: New test. 1319*e6c7e151Schristos * testsuite/split_s390_1_z4.s: New test. 1320*e6c7e151Schristos * testsuite/split_s390_2_ns.s: New test. 1321*e6c7e151Schristos * testsuite/split_s390_2_s.s: New test. 1322*e6c7e151Schristos * testsuite/split_s390x_1_a1.s: New test. 1323*e6c7e151Schristos * testsuite/split_s390x_1_a2.s: New test. 1324*e6c7e151Schristos * testsuite/split_s390x_1_n1.s: New test. 1325*e6c7e151Schristos * testsuite/split_s390x_1_n2.s: New test. 1326*e6c7e151Schristos * testsuite/split_s390x_1_z1.s: New test. 1327*e6c7e151Schristos * testsuite/split_s390x_1_z2.s: New test. 1328*e6c7e151Schristos * testsuite/split_s390x_1_z3.s: New test. 1329*e6c7e151Schristos * testsuite/split_s390x_1_z4.s: New test. 1330*e6c7e151Schristos * testsuite/split_s390x_2_ns.s: New test. 1331*e6c7e151Schristos * testsuite/split_s390x_2_s.s: New test. 1332*e6c7e151Schristos 1333*e6c7e151Schristos2016-02-11 Rahul Chaudhry <rahulchaudhry@google.com> 1334*e6c7e151Schristos 1335*e6c7e151Schristos * aarch64.cc (Target_aarch64::scan_erratum_843419_span): Remove 1336*e6c7e151Schristos info message for every erratum 843419 found and fixed. 1337*e6c7e151Schristos 1338*e6c7e151Schristos2016-02-07 Cary Coutant <ccoutant@gmail.com> 1339*e6c7e151Schristos 1340*e6c7e151Schristos PR gold/18695 1341*e6c7e151Schristos * x86_64.cc (Target_x86_64::Relocate::relocate): Add additional 1342*e6c7e151Schristos information to relocation overflow errors. 1343*e6c7e151Schristos 1344*e6c7e151Schristos2016-02-06 Cary Coutant <ccoutant@gmail.com> 1345*e6c7e151Schristos 1346*e6c7e151Schristos PR gold/18695 1347*e6c7e151Schristos * x86_64.cc (X86_64_relocate_functions::pcrela32_check): Fix x32 1348*e6c7e151Schristos overflow checking when symbol value + addend < 0. 1349*e6c7e151Schristos 1350*e6c7e151Schristos2016-02-06 Cary Coutant <ccoutant@gmail.com> 1351*e6c7e151Schristos 1352*e6c7e151Schristos PR gold/19577 1353*e6c7e151Schristos * reloc.h (Limits): New class. 1354*e6c7e151Schristos (Bits::has_overflow32): Use min/max values from Limits. 1355*e6c7e151Schristos (Bits::has_unsigned_overflow32): Likewise. 1356*e6c7e151Schristos (Bits::has_signed_unsigned_overflow32): Likewise. 1357*e6c7e151Schristos (Bits::has_overflow): Likewise. 1358*e6c7e151Schristos (Bits::has_unsigned_overflow): Likewise. 1359*e6c7e151Schristos (Bits::has_signed_unsigned_overflow64): Likewise. 1360*e6c7e151Schristos 1361*e6c7e151Schristos2016-02-06 Cary Coutant <ccoutant@gmail.com> 1362*e6c7e151Schristos 1363*e6c7e151Schristos PR gold/19567 1364*e6c7e151Schristos * reloc.h (Relocate_functions::Overflow_check): Add comments. 1365*e6c7e151Schristos * x86_64.cc (X86_64_relocate_functions): New class. 1366*e6c7e151Schristos (Target_x86_64::Relocate::relocate): Use the new class. 1367*e6c7e151Schristos * testsuite/Makefile.am (x86_64_overflow_pc32): Add -Tdata option. 1368*e6c7e151Schristos (x32_overflow_pc32): New test case. 1369*e6c7e151Schristos * testsuite/Makefile.in: Regenerate. 1370*e6c7e151Schristos * testsuite/x32_overflow_pc32.sh: New script. 1371*e6c7e151Schristos * testsuite/x86_64_overflow_pc32.s: Remove .space directive. 1372*e6c7e151Schristos 1373*e6c7e151Schristos2016-02-06 Cary Coutant <ccoutant@gmail.com> 1374*e6c7e151Schristos 1375*e6c7e151Schristos PR gold/19577 1376*e6c7e151Schristos * reloc.h (Bits::has_unsigned_overflow32): Fix static_cast. 1377*e6c7e151Schristos (Bits::has_unsigned_overflow): Remove unnecessary static_cast. 1378*e6c7e151Schristos 1379*e6c7e151Schristos2016-02-06 Cary Coutant <ccoutant@gmail.com> 1380*e6c7e151Schristos 1381*e6c7e151Schristos PR gold/19577 1382*e6c7e151Schristos * reloc.h (Bits::has_unsigned_overflow32): Fix unsigned/signed 1383*e6c7e151Schristos comparison. 1384*e6c7e151Schristos (Bits::has_unsigned_overflow): Likewise. 1385*e6c7e151Schristos 1386*e6c7e151Schristos2016-02-06 Marcin Kościelnicki <koriakin@0x04.net> 1387*e6c7e151Schristos 1388*e6c7e151Schristos * i386.cc (Target_i386::is_call_to_non_split): Add view and view_size 1389*e6c7e151Schristos parameters. 1390*e6c7e151Schristos * reloc.cc (Sized_relobj_file::split_stack_adjust_reltype): Pass view 1391*e6c7e151Schristos and view_size to is_call_to_non_split. 1392*e6c7e151Schristos * target.cc (Target::is_call_to_non_split): Add view and view_size 1393*e6c7e151Schristos parameters. 1394*e6c7e151Schristos * target.h (class Target): Likewise. 1395*e6c7e151Schristos 1396*e6c7e151Schristos2016-02-05 Sriraman Tallam <tmsriram@google.com> 1397*e6c7e151Schristos 1398*e6c7e151Schristos * icf.cc (get_rel_addend): New function. 1399*e6c7e151Schristos (get_section_contents): Move merge section addend computation to a 1400*e6c7e151Schristos new function. Ignore negative values for SHT_REL and SHT_RELA addends. 1401*e6c7e151Schristos Fix bug to not read past the length of the section. 1402*e6c7e151Schristos 1403*e6c7e151Schristos2016-02-05 Cary Coutant <ccoutant@gmail.com> 1404*e6c7e151Schristos Andrew Senkevich <andrew.senkevich@intel.com> 1405*e6c7e151Schristos 1406*e6c7e151Schristos PR gold/18695 1407*e6c7e151Schristos * x86_64.cc (Target_x86_64::Relocate::relocate): Add overflow 1408*e6c7e151Schristos checking for R_X86_64_32, R_X86_64_32S, R_X86_64_PC32, and 1409*e6c7e151Schristos R_X86_64_PLT32. 1410*e6c7e151Schristos * testsuite/Makefile.am (x86_64_overflow_pc32): New test. 1411*e6c7e151Schristos * testsuite/x86_64_overflow_pc32.sh: New test script. 1412*e6c7e151Schristos * testsuite/x86_64_overflow_pc32.s: New source file. 1413*e6c7e151Schristos 1414*e6c7e151Schristos2016-02-05 Cary Coutant <ccoutant@gmail.com> 1415*e6c7e151Schristos 1416*e6c7e151Schristos PR gold/18695 1417*e6c7e151Schristos * reloc.h (Relocate_functions::Address): New typedef. 1418*e6c7e151Schristos (Relocate_functions::Addendtype): New typedef. 1419*e6c7e151Schristos (Relocate_functions::Overflow_check): New enum type. 1420*e6c7e151Schristos (Relocate_functions::Reloc_status): New enum type. 1421*e6c7e151Schristos (Relocate_functions::check_overflow): New function template. 1422*e6c7e151Schristos (Relocate_functions::rel): Add check parameter; check for overflow. 1423*e6c7e151Schristos (Relocate_functions::rel_unaligned): Likewise. 1424*e6c7e151Schristos (Relocate_functions::rela): Likewise. 1425*e6c7e151Schristos (Relocate_functions::pcrel): Likewise. 1426*e6c7e151Schristos (Relocate_functions::pcrel_unaligned): Likewise. 1427*e6c7e151Schristos (Relocate_functions::pcrela): Likewise. 1428*e6c7e151Schristos (Relocate_functions::rel8): Adjust parameter types. 1429*e6c7e151Schristos (Relocate_functions::rela8): Likewise. 1430*e6c7e151Schristos (Relocate_functions::pcrel8): Likewise. 1431*e6c7e151Schristos (Relocate_functions::pcrela8): Likewise. 1432*e6c7e151Schristos (Relocate_functions::rel16): Likewise. 1433*e6c7e151Schristos (Relocate_functions::rela168): Likewise. 1434*e6c7e151Schristos (Relocate_functions::pcrel16): Likewise. 1435*e6c7e151Schristos (Relocate_functions::pcrela16): Likewise. 1436*e6c7e151Schristos (Relocate_functions::rel32): Likewise. 1437*e6c7e151Schristos (Relocate_functions::rel32_unaligned): Likewise. 1438*e6c7e151Schristos (Relocate_functions::rela32): Likewise. 1439*e6c7e151Schristos (Relocate_functions::pcrel32): Likewise. 1440*e6c7e151Schristos (Relocate_functions::pcrel32_unaligned): Likewise. 1441*e6c7e151Schristos (Relocate_functions::pcrela32): Likewise. 1442*e6c7e151Schristos (Relocate_functions::rel8_check): New function. 1443*e6c7e151Schristos (Relocate_functions::rela8_check): New function. 1444*e6c7e151Schristos (Relocate_functions::pcrel8_check): New function. 1445*e6c7e151Schristos (Relocate_functions::pcrela8_check): New function. 1446*e6c7e151Schristos (Relocate_functions::rel16_check): New function. 1447*e6c7e151Schristos (Relocate_functions::rela168_check): New function. 1448*e6c7e151Schristos (Relocate_functions::pcrel16_check): New function. 1449*e6c7e151Schristos (Relocate_functions::pcrela16_check): New function. 1450*e6c7e151Schristos (Relocate_functions::rel32_check): New function. 1451*e6c7e151Schristos (Relocate_functions::rel32_unaligned_check): New function. 1452*e6c7e151Schristos (Relocate_functions::rela32_check): New function. 1453*e6c7e151Schristos (Relocate_functions::pcrel32_check): New function. 1454*e6c7e151Schristos (Relocate_functions::pcrel32_unaligned_check): New function. 1455*e6c7e151Schristos (Relocate_functions::pcrela32_check): New function. 1456*e6c7e151Schristos (Bits::has_unsigned_overflow32): New function. 1457*e6c7e151Schristos (Bits::has_unsigned_overflow): New function. 1458*e6c7e151Schristos * testsuite/Makefile.am (overflow_unittest): New test. 1459*e6c7e151Schristos * testsuite/Makefile.in: Regenerate. 1460*e6c7e151Schristos * testsuite/overflow_unittest.cc: New source file. 1461*e6c7e151Schristos 1462*e6c7e151Schristos2016-02-04 Alan Modra <amodra@gmail.com> 1463*e6c7e151Schristos 1464*e6c7e151Schristos * powerpc.cc (relocate): Adjust last patch for big-endian. 1465*e6c7e151Schristos 1466*e6c7e151Schristos2016-02-02 Alan Modra <amodra@gmail.com> 1467*e6c7e151Schristos 1468*e6c7e151Schristos * powerpc.cc (relocate): Further restrict ELFv2 entry optimization. 1469*e6c7e151Schristos 1470*e6c7e151Schristos2016-01-15 Han Shen <shenhan@google.com> 1471*e6c7e151Schristos 1472*e6c7e151Schristos PR gold/19472 - need pc-relative stubs. 1473*e6c7e151Schristos 1474*e6c7e151Schristos * aarch64.cc (Reloc_stub::stub_type_for_reloc): Return PC-relative 1475*e6c7e151Schristos stub type for DSOs and pie executables. 1476*e6c7e151Schristos 1477*e6c7e151Schristos2016-01-12 H.J. Lu <hongjiu.lu@intel.com> 1478*e6c7e151Schristos 1479*e6c7e151Schristos * i386.cc (Target_i386::Classify_reloc::get_r_addend): Remove 1480*e6c7e151Schristos 'typename'. 1481*e6c7e151Schristos 1482*e6c7e151Schristos2016-01-12 Cary Coutant <ccoutant@gmail.com> 1483*e6c7e151Schristos 1484*e6c7e151Schristos * arm.cc (Target_arm::Classify_reloc::get_r_addend): New method. 1485*e6c7e151Schristos * i386.cc (Target_i386::Classify_reloc::get_r_addend): New method. 1486*e6c7e151Schristos * mips.cc (Target_arm::Mips_classify_reloc::get_r_addend): (Both 1487*e6c7e151Schristos specializations) New method. 1488*e6c7e151Schristos 1489*e6c7e151Schristos2016-01-11 Cary Coutant <ccoutant@gmail.com> 1490*e6c7e151Schristos 1491*e6c7e151Schristos PR gold/19353 1492*e6c7e151Schristos * aarch64.cc (Target_aarch64::relocate_tls): Don't insist that 1493*e6c7e151Schristos we have a TLS segment for GD-to-IE optimization. 1494*e6c7e151Schristos * i386.cc (Target_i386::tls_gd_to_ie): Remove tls_segment parameter. 1495*e6c7e151Schristos Adjust all calls. 1496*e6c7e151Schristos (Target_i386::tls_desc_gd_to_ie): Likewise. 1497*e6c7e151Schristos (Target_i386::relocate_tls): Don't insist that we have a TLS segment 1498*e6c7e151Schristos for TLSDESC GD-to-IE optimizations. 1499*e6c7e151Schristos * x86_64.cc (Target_x86_64::tls_gd_to_ie): Remove tls_segment parameter. 1500*e6c7e151Schristos Adjust all calls. 1501*e6c7e151Schristos (Target_x86_64::tls_desc_gd_to_ie): Likewise. 1502*e6c7e151Schristos (Target_x86_64::relocate_tls): Don't insist that we have a TLS segment 1503*e6c7e151Schristos for TLSDESC GD-to-IE optimizations. 1504*e6c7e151Schristos 1505*e6c7e151Schristos2016-01-11 Cary Coutant <ccoutant@gmail.com> 1506*e6c7e151Schristos 1507*e6c7e151Schristos Refactor gold to enable support for MIPS-64 relocation format. 1508*e6c7e151Schristos 1509*e6c7e151Schristos * gc.h (get_embedded_addend_size): Remove sh_type parameter. 1510*e6c7e151Schristos (gc_process_relocs): Remove sh_type template parameter. 1511*e6c7e151Schristos Use Classify_reloc to access r_sym, r_type, and r_addend fields. 1512*e6c7e151Schristos * object.h (Sized_relobj_file::split_stack_adjust): Add target 1513*e6c7e151Schristos parameter. 1514*e6c7e151Schristos (Sized_relobj_file::split_stack_adjust_reltype): Likewise. 1515*e6c7e151Schristos * reloc-types.h (Reloc_types::copy_reloc_addend): (SHT_REL and SHT_RELA 1516*e6c7e151Schristos specializations) Remove. 1517*e6c7e151Schristos * reloc.cc (Emit_relocs_strategy): Rename and move to target-reloc.h. 1518*e6c7e151Schristos (Sized_relobj_file::emit_relocs_scan): Call Target::emit_relocs_scan(). 1519*e6c7e151Schristos (Sized_relobj_file::emit_relocs_scan_reltype): Remove. 1520*e6c7e151Schristos (Sized_relobj_file::split_stack_adjust): Add target parameter. 1521*e6c7e151Schristos Adjust all callers. 1522*e6c7e151Schristos (Sized_relobj_file::split_stack_adjust_reltype): Likewise. Call 1523*e6c7e151Schristos Target::get_r_sym() to get r_sym field from relocations. 1524*e6c7e151Schristos (Track_relocs::next_symndx): Call Target::get_r_sym(). 1525*e6c7e151Schristos * target-reloc.h (scan_relocs): Remove sh_type template parameter; 1526*e6c7e151Schristos add Classify_reloc template parameter. Use for accessing r_sym and 1527*e6c7e151Schristos r_type. 1528*e6c7e151Schristos (relocate_section): Likewise. 1529*e6c7e151Schristos (Default_classify_reloc): New class (renamed and moved from reloc.cc). 1530*e6c7e151Schristos (Default_scan_relocatable_relocs): Remove sh_type template parameter. 1531*e6c7e151Schristos (Default_scan_relocatable_relocs::Reltype): New typedef. 1532*e6c7e151Schristos (Default_scan_relocatable_relocs::reloc_size): New const. 1533*e6c7e151Schristos (Default_scan_relocatable_relocs::sh_type): New const. 1534*e6c7e151Schristos (Default_scan_relocatable_relocs::get_r_sym): New method. 1535*e6c7e151Schristos (Default_scan_relocatable_relocs::get_r_type): New method. 1536*e6c7e151Schristos (Default_emit_relocs_strategy): New class. 1537*e6c7e151Schristos (scan_relocatable_relocs): Replace sh_type template parameter with 1538*e6c7e151Schristos Scan_relocatable_relocs class. Use it to access r_sym and r_type 1539*e6c7e151Schristos fields. 1540*e6c7e151Schristos (relocate_relocs): Replace sh_type template parameter with 1541*e6c7e151Schristos Classify_reloc class. Use it to access r_sym and r_type fields. 1542*e6c7e151Schristos * target.h (Target::is_call_to_non_split): Replace r_type parameter 1543*e6c7e151Schristos with pointer to relocation. Adjust all callers. 1544*e6c7e151Schristos (Target::do_is_call_to_non_split): Likewise. 1545*e6c7e151Schristos (Target::emit_relocs_scan): New virtual method. 1546*e6c7e151Schristos (Sized_target::get_r_sym): New virtual method. 1547*e6c7e151Schristos * target.cc (Target::do_is_call_to_non_split): Replace r_type parameter 1548*e6c7e151Schristos with pointer to relocation. 1549*e6c7e151Schristos 1550*e6c7e151Schristos * aarch64.cc (Target_aarch64::emit_relocs_scan): New method. 1551*e6c7e151Schristos (Target_aarch64::Relocatable_size_for_reloc): Remove. 1552*e6c7e151Schristos (Target_aarch64::gc_process_relocs): Use Default_classify_reloc. 1553*e6c7e151Schristos (Target_aarch64::scan_relocs): Likewise. 1554*e6c7e151Schristos (Target_aarch64::relocate_section): Likewise. 1555*e6c7e151Schristos (Target_aarch64::Relocatable_size_for_reloc::get_size_for_reloc): 1556*e6c7e151Schristos Remove. 1557*e6c7e151Schristos (Target_aarch64::scan_relocatable_relocs): Use Default_classify_reloc. 1558*e6c7e151Schristos (Target_aarch64::relocate_relocs): Use Default_classify_reloc. 1559*e6c7e151Schristos * arm.cc (Target_arm::Arm_scan_relocatable_relocs): Remove sh_type 1560*e6c7e151Schristos template parameter. 1561*e6c7e151Schristos (Target_arm::emit_relocs_scan): New method. 1562*e6c7e151Schristos (Target_arm::Relocatable_size_for_reloc): Replace with... 1563*e6c7e151Schristos (Target_arm::Classify_reloc): ...this. 1564*e6c7e151Schristos (Target_arm::gc_process_relocs): Use Classify_reloc. 1565*e6c7e151Schristos (Target_arm::scan_relocs): Likewise. 1566*e6c7e151Schristos (Target_arm::relocate_section): Likewise. 1567*e6c7e151Schristos (Target_arm::scan_relocatable_relocs): Likewise. 1568*e6c7e151Schristos (Target_arm::relocate_relocs): Likewise. 1569*e6c7e151Schristos * i386.cc (Target_i386::emit_relocs_scan): New method. 1570*e6c7e151Schristos (Target_i386::Relocatable_size_for_reloc): Replace with... 1571*e6c7e151Schristos (Target_i386::Classify_reloc): ...this. 1572*e6c7e151Schristos (Target_i386::gc_process_relocs): Use Classify_reloc. 1573*e6c7e151Schristos (Target_i386::scan_relocs): Likewise. 1574*e6c7e151Schristos (Target_i386::relocate_section): Likewise. 1575*e6c7e151Schristos (Target_i386::scan_relocatable_relocs): Likewise. 1576*e6c7e151Schristos (Target_i386::relocate_relocs): Likewise. 1577*e6c7e151Schristos * mips.cc (Mips_scan_relocatable_relocs): Remove sh_type template 1578*e6c7e151Schristos parameter. 1579*e6c7e151Schristos (Mips_reloc_types): New class template. 1580*e6c7e151Schristos (Mips_classify_reloc): New class template. 1581*e6c7e151Schristos (Target_mips::Reltype): New typedef. 1582*e6c7e151Schristos (Target_mips::Relatype): New typedef. 1583*e6c7e151Schristos (Target_mips::emit_relocs_scan): New method. 1584*e6c7e151Schristos (Target_mips::get_r_sym): New method. 1585*e6c7e151Schristos (Target_mips::Relocatable_size_for_reloc): Replace with 1586*e6c7e151Schristos Mips_classify_reloc. 1587*e6c7e151Schristos (Target_mips::copy_reloc): Use Mips_classify_reloc. 1588*e6c7e151Schristos (Target_mips::gc_process_relocs): Likewise. 1589*e6c7e151Schristos (Target_mips::scan_relocs): Likewise. 1590*e6c7e151Schristos (Target_mips::relocate_section): Likewise. 1591*e6c7e151Schristos (Target_mips::scan_relocatable_relocs): Likewise. 1592*e6c7e151Schristos (Target_mips::relocate_relocs): Likewise. 1593*e6c7e151Schristos (mips_get_size_for_reloc): New function, factored out from 1594*e6c7e151Schristos Relocatable_size_for_reloc::get_size_for_reloc. 1595*e6c7e151Schristos (Target_mips::Scan::local): Use Mips_classify_reloc. 1596*e6c7e151Schristos (Target_mips::Scan::global): Likewise. 1597*e6c7e151Schristos (Target_mips::Relocate::relocate): Likewise. 1598*e6c7e151Schristos * powerpc.cc (Target_powerpc::emit_relocs_scan): New method. 1599*e6c7e151Schristos (Target_powerpc::Relocatable_size_for_reloc): Remove. 1600*e6c7e151Schristos (Target_powerpc::gc_process_relocs): Use Default_classify_reloc. 1601*e6c7e151Schristos (Target_powerpc::scan_relocs): Likewise. 1602*e6c7e151Schristos (Target_powerpc::relocate_section): Likewise. 1603*e6c7e151Schristos (Powerpc_scan_relocatable_reloc): Convert to class template. 1604*e6c7e151Schristos (Powerpc_scan_relocatable_reloc::Reltype): New typedef. 1605*e6c7e151Schristos (Powerpc_scan_relocatable_reloc::reloc_size): New const. 1606*e6c7e151Schristos (Powerpc_scan_relocatable_reloc::sh_type): New const. 1607*e6c7e151Schristos (Powerpc_scan_relocatable_reloc::get_r_sym): New method. 1608*e6c7e151Schristos (Powerpc_scan_relocatable_reloc::get_r_type): New method. 1609*e6c7e151Schristos (Target_powerpc::scan_relocatable_relocs): Use 1610*e6c7e151Schristos Powerpc_scan_relocatable_reloc. 1611*e6c7e151Schristos (Target_powerpc::relocate_relocs): Use Default_classify_reloc. 1612*e6c7e151Schristos * s390.cc (Target_s390::emit_relocs_scan): New method. 1613*e6c7e151Schristos (Target_s390::Relocatable_size_for_reloc): Remove. 1614*e6c7e151Schristos (Target_s390::gc_process_relocs): Use Default_classify_reloc. 1615*e6c7e151Schristos (Target_s390::scan_relocs): Likewise. 1616*e6c7e151Schristos (Target_s390::relocate_section): Likewise. 1617*e6c7e151Schristos (Target_s390::Relocatable_size_for_reloc::get_size_for_reloc): 1618*e6c7e151Schristos Remove. 1619*e6c7e151Schristos (Target_s390::scan_relocatable_relocs): Use Default_classify_reloc. 1620*e6c7e151Schristos (Target_s390::relocate_relocs): Use Default_classify_reloc. 1621*e6c7e151Schristos * sparc.cc (Target_sparc::emit_relocs_scan): New method. 1622*e6c7e151Schristos (Target_sparc::Relocatable_size_for_reloc): Remove. 1623*e6c7e151Schristos (Target_sparc::gc_process_relocs): Use Default_classify_reloc. 1624*e6c7e151Schristos (Target_sparc::scan_relocs): Likewise. 1625*e6c7e151Schristos (Target_sparc::relocate_section): Likewise. 1626*e6c7e151Schristos (Target_sparc::Relocatable_size_for_reloc::get_size_for_reloc): 1627*e6c7e151Schristos Remove. 1628*e6c7e151Schristos (Target_sparc::scan_relocatable_relocs): Use Default_classify_reloc. 1629*e6c7e151Schristos (Target_sparc::relocate_relocs): Use Default_classify_reloc. 1630*e6c7e151Schristos * tilegx.cc (Target_tilegx::emit_relocs_scan): New method. 1631*e6c7e151Schristos (Target_tilegx::Relocatable_size_for_reloc): Remove. 1632*e6c7e151Schristos (Target_tilegx::gc_process_relocs): Use Default_classify_reloc. 1633*e6c7e151Schristos (Target_tilegx::scan_relocs): Likewise. 1634*e6c7e151Schristos (Target_tilegx::relocate_section): Likewise. 1635*e6c7e151Schristos (Target_tilegx::Relocatable_size_for_reloc::get_size_for_reloc): 1636*e6c7e151Schristos Remove. 1637*e6c7e151Schristos (Target_tilegx::scan_relocatable_relocs): Use Default_classify_reloc. 1638*e6c7e151Schristos (Target_tilegx::relocate_relocs): Use Default_classify_reloc. 1639*e6c7e151Schristos * x86_64.cc (Target_x86_64::emit_relocs_scan): New method. 1640*e6c7e151Schristos (Target_x86_64::Relocatable_size_for_reloc): Remove. 1641*e6c7e151Schristos (Target_x86_64::gc_process_relocs): Use Default_classify_reloc. 1642*e6c7e151Schristos (Target_x86_64::scan_relocs): Likewise. 1643*e6c7e151Schristos (Target_x86_64::relocate_section): Likewise. 1644*e6c7e151Schristos (Target_x86_64::Relocatable_size_for_reloc::get_size_for_reloc): 1645*e6c7e151Schristos Remove. 1646*e6c7e151Schristos (Target_x86_64::scan_relocatable_relocs): Use Default_classify_reloc. 1647*e6c7e151Schristos (Target_x86_64::relocate_relocs): Use Default_classify_reloc. 1648*e6c7e151Schristos 1649*e6c7e151Schristos * testsuite/testfile.cc (Target_test::emit_relocs_scan): New method. 1650*e6c7e151Schristos 1651*e6c7e151Schristos2016-01-01 Alan Modra <amodra@gmail.com> 1652*e6c7e151Schristos 1653*e6c7e151Schristos Update year range in copyright notice of all files. 1654*e6c7e151Schristos 1655*e6c7e151SchristosFor older changes see ChangeLog-0815 1656*e6c7e151Schristos 1657*e6c7e151SchristosCopyright (C) 2016 Free Software Foundation, Inc. 1658*e6c7e151Schristos 1659*e6c7e151SchristosCopying and distribution of this file, with or without modification, 1660*e6c7e151Schristosare permitted in any medium without royalty provided the copyright 1661*e6c7e151Schristosnotice and this notice are preserved. 1662*e6c7e151Schristos 1663*e6c7e151SchristosLocal Variables: 1664*e6c7e151Schristosmode: change-log 1665*e6c7e151Schristosleft-margin: 8 1666*e6c7e151Schristosfill-column: 74 1667*e6c7e151Schristosversion-control: never 1668*e6c7e151SchristosEnd: 1669