| 1 | 2017-06-20 Eric Christopher <echristo@gmail.com> |
| 2 | |
| 3 | * aarch64.cc (scan_reloc_for_stub): Use plt_address_for_global to |
| 4 | calculate the symbol value. |
| 5 | (scan_reloc_section_for_stubs): Allow stubs to be created for |
| 6 | section symbols. |
| 7 | (maybe_apply_stub): Handle creating stubs for weak symbols to |
| 8 | match the code in scan_reloc_for_stub. |
| 9 | |
| 10 | 2017-06-20 James Clarke <jrtc27@jrtc27.com> |
| 11 | |
| 12 | * powerpc.cc (Stub_table::define_stub_syms): Always include object's |
| 13 | uniq_ value. |
| 14 | |
| 15 | 2017-06-15 Eric Christopher <echristo@gmail.com> |
| 16 | |
| 17 | * aarch64.cc: Fix a few typos and grammar-os. |
| 18 | |
| 19 | 2017-06-15 Jiong Wang <jiong.wang@arm.com> |
| 20 | |
| 21 | * aarch64.cc (Insn_utilities::is_mrs_tpidr_el0): New method. |
| 22 | (AArch64_relobj<size, big_endian>::try_fix_erratum_843419_optimized): |
| 23 | Return ture for some TLS relaxed sequences. |
| 24 | |
| 25 | 2017-06-07 Eric Christopher <echristo@gmail.com> |
| 26 | |
| 27 | * aarch64.cc (maybe_apply_stub): Add debug logging for looking |
| 28 | up stubs to undefined symbols and early return rather than |
| 29 | fail to look them up. |
| 30 | (scan_reloc_for_stub): Add debug logging for no stub creation |
| 31 | for undefined symbols. |
| 32 | |
| 33 | 2017-05-23 Alan Modra <amodra@gmail.com> |
| 34 | |
| 35 | PR 21503 |
| 36 | * options.h: Add --emit-stub-syms option. |
| 37 | * powerpc.cc (object_id): New. |
| 38 | (Powerpc_relobj): Add uniq_ and accessor. Sort variables for |
| 39 | better packing. |
| 40 | (Powerpc_dynobj): Sort variables for better packing. |
| 41 | (Target_powerpc::define_local): New function. |
| 42 | (Target_powerpc::group_sections): Pass stub table size to |
| 43 | Stub_table constructor. |
| 44 | (Target_powerpc::do_relax): Define stub and glink symbols. |
| 45 | (Stub_table): Add uniq_ variable, and id param to constructor. |
| 46 | (Stub_table::Plt_stub_ent): Add indx_ variable. |
| 47 | (Stub_table::Branch_stub_entries): Move typedef earlier. |
| 48 | (Stub_table::branch_stub_size): Replace "to" parameter with a |
| 49 | Branch_stub_entries iterator. |
| 50 | (Stub_table::add_long_branch_entry): Adjust to suit. |
| 51 | (Stub_table::add_plt_call_entry): Set indx_. |
| 52 | (Stub_table::define_stub_syms): New function. |
| 53 | |
| 54 | 2017-05-15 Eric Christopher <echristo@gmail.com> |
| 55 | |
| 56 | * layout.cc (Layout::segment_precedes): Add a case for testing |
| 57 | pointer equality when determining which segment precedes |
| 58 | another. |
| 59 | |
| 60 | 2017-05-13 James Clarke <jrtc27@jrtc27.com> |
| 61 | |
| 62 | PR gold/21444 |
| 63 | * gold.cc (Target_sparc::Relocate::relocate_tls): Local |
| 64 | variables are final for position-independent executables. This |
| 65 | has to be consistent with Target_sparc::Scan::local otherwise |
| 66 | they will disagree as to whether local-exec is used. |
| 67 | |
| 68 | 2017-05-12 Igor Kudrin <ikudrin@accesssoftek.com> |
| 69 | |
| 70 | PR gold/21430 |
| 71 | * aarch64.cc |
| 72 | (AArch64_relobj::convert_input_section_to_relaxed_section): |
| 73 | Set the section offset to -1ULL. |
| 74 | (Target_aarch64::relocate_section): Adjust the view in case |
| 75 | of a relaxed input section. |
| 76 | * testsuite/Makefile.am (pr21430): New test. |
| 77 | * testsuite/Makefile.in: Regenerate |
| 78 | * testsuite/pr21430.s: New test source file. |
| 79 | * testsuite/pr21430.sh: New test script. |
| 80 | |
| 81 | 2017-04-27 Alan Modra <amodra@gmail.com> |
| 82 | |
| 83 | * testsuite/plugin_section_order.c (onload): Add missing break. |
| 84 | |
| 85 | 2017-03-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com> |
| 86 | |
| 87 | * mips.cc (Mips_got_entry::hash()): Shift addend to reduce |
| 88 | possibility of collisions. |
| 89 | (Mips_got_entry::equals): Fix case for GOT_TLS_LDM |
| 90 | entries. |
| 91 | |
| 92 | 2017-03-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com> |
| 93 | |
| 94 | * mips.cc (Mips_relobj::merge_processor_specific_data_): New data |
| 95 | member. |
| 96 | (Mips_relobj::merge_processor_specific_data): New method. |
| 97 | (Mips_relobj::do_read_symbols): Set merge_processor_specific_data_ |
| 98 | to false, only if the input file is a binary or if object has no |
| 99 | contents except the section name string table and an empty symbol |
| 100 | table with the undefined symbol. |
| 101 | (Target_mips::do_finalize_sections): Refactor. Skip empty object files |
| 102 | for merging processor-specific data. |
| 103 | |
| 104 | 2017-03-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com> |
| 105 | |
| 106 | * mips.cc (Target_mips::Relocate::calculated_value_): New data |
| 107 | member. |
| 108 | (Target_mips::Relocate::calculate_only_): Likewise. |
| 109 | (Target_mips::Relocate::relocate): Handle multiple consecutive |
| 110 | relocations with the same offset. |
| 111 | |
| 112 | 2017-03-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com> |
| 113 | |
| 114 | * mips.cc (Target_mips::Relocate::relocate): Remove redundant |
| 115 | checks for relocatable link. |
| 116 | (Mips_relocate_functions::reljalr): Likewise. |
| 117 | |
| 118 | 2017-03-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com> |
| 119 | |
| 120 | * mips.cc (class Mips_output_section_options): New class. |
| 121 | (Target_mips::do_make_output_section): New method. |
| 122 | |
| 123 | 2017-03-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com> |
| 124 | |
| 125 | * mips.cc (Mips_relocate_functions::rel26): Don't print relocation |
| 126 | overflow error message. |
| 127 | (Target_mips::relocate_special_relocatable): Improve relocation |
| 128 | overflow error message. |
| 129 | (Target_mips::Relocate::relocate): Likewise. |
| 130 | |
| 131 | 2017-03-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com> |
| 132 | |
| 133 | * mips.cc (symbol_refs_local): Return false if a symbol |
| 134 | is from a dynamic object. |
| 135 | (Target_mips::got_section): Make _GLOBAL_OFFSET_TABLE_ STV_HIDDEN. |
| 136 | (Target_mips::set_gp): Refactor. Make _gp STT_NOTYPE and |
| 137 | STB_LOCAL. |
| 138 | (Target_mips::do_finalize_sections): Set _gp after all the checks |
| 139 | for creating .got are done. |
| 140 | (Target_mips::Scan::global): Remove unused code. |
| 141 | |
| 142 | 2017-02-22 Alan Modra <amodra@gmail.com> |
| 143 | |
| 144 | * powerpc.cc (Target_powerpc::make_iplt_section): Check that |
| 145 | output_section exists before attempting add_output_section_data. |
| 146 | (Target_powerpc::make_brlt_section): Likewise. |
| 147 | |
| 148 | 2017-02-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com> |
| 149 | |
| 150 | * mips.cc (Target_mips::Scan::get_reference_flags): Remove |
| 151 | gold_unreachable from default case. |
| 152 | |
| 153 | 2017-02-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com> |
| 154 | |
| 155 | PR gold/21111 |
| 156 | * mips.cc (Mips_relocate_functions::relhigher): New method. |
| 157 | (Mips_relocate_functions::relhighest): Likewise. |
| 158 | (mips_get_size_for_reloc): Add support for relocs: R_MIPS_HIGHER and |
| 159 | R_MIPS_HIGHEST. |
| 160 | (Target_mips::Scan::local): Add support for relocs: R_MIPS_HIGHER, |
| 161 | R_MIPS_HIGHEST, R_MICROMIPS_HIGHER and R_MICROMIPS_HIGHEST. |
| 162 | (Target_mips::Scan::global): Likewise. |
| 163 | (Target_mips::Scan::get_reference_flags): Likewise. |
| 164 | (Target_mips::Relocate::relocate): Call static methods for resolving |
| 165 | HIGHER and HIGHEST relocations. |
| 166 | |
| 167 | 2017-02-03 Rahul Chaudhry <rahulchaudhry@google.com> |
| 168 | |
| 169 | * x86_64.cc (Target_x86_64::do_can_check_for_function_pointers): |
| 170 | Return true even when building pie binaries. |
| 171 | (Target_x86_64::possible_function_pointer_reloc): Check opcode |
| 172 | for R_X86_64_PC32 relocations. |
| 173 | (Target_x86_64::local_reloc_may_be_function_pointer): Pass |
| 174 | extra arguments to local_reloc_may_be_function_pointer. |
| 175 | (Target_x86_64::global_reloc_may_be_function_pointer): Likewise. |
| 176 | * gc.h (gc_process_relocs): Add check for STT_FUNC. |
| 177 | * testsuite/Makefile.am (icf_safe_pie_test): New test case. |
| 178 | * testsuite/Makefile.in: Regenerate. |
| 179 | * testsuite/icf_safe_pie_test.sh: New shell script. |
| 180 | |
| 181 | 2017-02-03 Alan Modra <amodra@gmail.com> |
| 182 | |
| 183 | * powerpc.cc (Powerpc_relobj::make_toc_relative): Don't crash |
| 184 | when no .toc section exists. |
| 185 | |
| 186 | 2017-01-31 Cary Coutant <ccoutant@gmail.com> |
| 187 | |
| 188 | PR gold/21090 |
| 189 | * x86_64.cc (Target_x86_64::can_convert_mov_to_lea): Add check |
| 190 | for predefined symbol. |
| 191 | (Target_x86_64::Relocate::relocate): Fix formatting. |
| 192 | |
| 193 | 2017-01-23 Rahul Chaudhry <rahulchaudhry@google.com> |
| 194 | |
| 195 | * testsuite/icf_safe_so_test.sh: Use "set -e". |
| 196 | * testsuite/icf_safe_test.sh: Likewise. |
| 197 | * testsuite/icf_test.sh: Likewise. |
| 198 | |
| 199 | 2017-01-23 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com> |
| 200 | |
| 201 | * mips.cc (Mips_output_data_plt::rel_plt): Remove const from return |
| 202 | type. |
| 203 | (Target_mips::make_plt_entry): Make the sh_info field of .rel.plt |
| 204 | point to .plt. |
| 205 | |
| 206 | 2017-01-23 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com> |
| 207 | |
| 208 | PR gold/21054 |
| 209 | * mips.cc (Mips_got_info::record_global_got_symbol): Don't add symbol |
| 210 | to the dynamic symbol table if it is forced to local visibility. |
| 211 | (Target_mips::do_finalize_sections): Don't add __RLD_MAP symbol to the |
| 212 | dynamic symbol table if it is forced to local visibility. |
| 213 | |
| 214 | 2017-01-20 Nick Clifton <nickc@redhat.com> |
| 215 | |
| 216 | * aarch64.cc (Stub_template_repertoire): Change ST_E_835769_INSNS |
| 217 | from a pointer to an array. |
| 218 | |
| 219 | 2017-01-13 H.J. Lu <hongjiu.lu@intel.com> |
| 220 | |
| 221 | PR gold/21040 |
| 222 | * powerpc.cc (Powerpc_relobj<size, big_endian>::make_toc_relative): |
| 223 | Cast 0x80008000 to uint64_t. |
| 224 | |
| 225 | 2017-01-12 Cary Coutant <ccoutant@gmail.com> |
| 226 | |
| 227 | * object.cc (Sized_relobj_file): Fix byte counts for calls to memmem. |
| 228 | |
| 229 | 2017-01-11 Cary Coutant <ccoutant@gmail.com> |
| 230 | |
| 231 | PR gold/21040 |
| 232 | * x86_64.cc (Output_data_plt_x86_64_bnd::do_fill_first_plt_entry): |
| 233 | Remove unnecessary 'typename' keyword. |
| 234 | (Output_data_plt_x86_64_bnd::do_fill_plt_entry): Likewise. |
| 235 | (Output_data_plt_x86_64_bnd::fill_aplt_entry): Likewise. |
| 236 | (Output_data_plt_x86_64_bnd::do_fill_tlsdesc_entry): Likewise. |
| 237 | (Output_data_plt_x86_64_bnd::do_write): Likewise. |
| 238 | |
| 239 | 2017-01-11 Cary Coutant <ccoutant@gmail.com> |
| 240 | |
| 241 | PR gold/21040 |
| 242 | * x86_64.cc (Output_data_plt_x86_64_bnd::do_fill_first_plt_entry): |
| 243 | Remove unnecessary 'typename' keyword. |
| 244 | (Output_data_plt_x86_64_bnd::do_fill_plt_entry): Likewise. |
| 245 | (Output_data_plt_x86_64_bnd::do_fill_tlsdesc_entry): Likewise. |
| 246 | (Output_data_plt_x86_64_bnd::fill_aplt_entry): Likewise. |
| 247 | * testsuite/copy_test_relro_1.cc (p, b, c, q): Add separate extern |
| 248 | declarations. |
| 249 | |
| 250 | 2017-01-11 Cary Coutant <ccoutant@gmail.com> |
| 251 | |
| 252 | PR gold/21039 |
| 253 | * testsuite/script_test_13.sh: Adjust patterns to work for i386. |
| 254 | * testsuite/script_test_15a.sh: Likewise. |
| 255 | * testsuite/script_test_15b.sh: Likewise. |
| 256 | * testsuite/script_test_15c.sh: Likewise. |
| 257 | |
| 258 | 2017-01-11 Alan Modra <amodra@gmail.com> |
| 259 | |
| 260 | * powerpc.cc (class Powerpc_copy_relocs): New. |
| 261 | (Powerpc_copy_relocs::emit): New function. |
| 262 | (Powerpc_relobj::relatoc_, toc_, no_toc_opt_): New variables. |
| 263 | (Powerpc_relobj::toc_shndx, set_no_toc_opt, no_toc_opt): New inlines. |
| 264 | (Powerpc_relobj::do_relocate_sections): New function. |
| 265 | (Powerpc_relobj::make_toc_relative): Likewise. |
| 266 | (Powerpc_relobj::do_find_special_sections): Stash away .rela.toc |
| 267 | and .toc too. |
| 268 | (ok_lo_toc_insn): Move earlier, and handle more insns. |
| 269 | (Target_powerpc::Scan::local): If optimizing toc accesses, set |
| 270 | no_toc_opt for entries we can't edit. Check insn validity. |
| 271 | Emit "toc optimization is not supported" warning, downgraded |
| 272 | from error. |
| 273 | (Target_powerpc::Scan::global): Likewise. |
| 274 | (Target_powerpc::Relocate::relocate): Edit TOC indirect code |
| 275 | to TOC relative. Don't emit "toc optimization is not supported" |
| 276 | error here. |
| 277 | |
| 278 | 2017-01-10 Cary Coutant <ccoutant@gmail.com> |
| 279 | |
| 280 | * aarch64.cc (AArch64_relobj::do_relocate_sections): Call |
| 281 | Sized_relobj_file::relocate_section_range(). |
| 282 | * arm.cc (Arm_relobj::do_relocate_sections): Likewise. |
| 283 | * object.h (Sized_relobj_file::relocate_section_range): New method. |
| 284 | * reloc.cc (Sized_relobj_file::do_relocate_sections): Move |
| 285 | implementation... |
| 286 | (Sized_relobj_file::relocate_section_range): ...to new method. |
| 287 | |
| 288 | 2017-01-10 Alan Modra <amodra@gmail.com> |
| 289 | |
| 290 | * testsuite/ver_test_8.sh: Accept .TOC. in lieu of |
| 291 | _GLOBAL_OFFSET_TABLE_. Allow zero count. |
| 292 | * testsuite/copy_test_relro_1.cc (c, q): New vars. |
| 293 | * testsuite/copy_test_relro.cc: Rewrite to test read-only |
| 294 | status of variables directly. Reference new vars in |
| 295 | read-only data. |
| 296 | |
| 297 | 2017-01-10 Alan Modra <amodra@gmail.com> |
| 298 | |
| 299 | * options.h: Add --secure-plt option. |
| 300 | * powerpc.cc (Target_powerpc::Scan::local): Detect and error |
| 301 | on -fPIC -mbss-plt code. |
| 302 | (Target_powerpc::Scan::global): Likewise. |
| 303 | |
| 304 | 2017-01-09 Alan Modra <amodra@gmail.com> |
| 305 | |
| 306 | * powerpc.cc (Target_powerpc::make_plt_section): Point sh_info of |
| 307 | ".rela.plt" at ".plt". |
| 308 | |
| 309 | 2017-01-07 Alan Modra <amodra@gmail.com> |
| 310 | |
| 311 | * powerpc.cc: Use shorter equivalent elfcpp typedef for |
| 312 | Reltype and reloc_size throughout. |
| 313 | (Target_powerpc::symval_for_branch): Exclude dynamic symbols. |
| 314 | (Target_powerpc::Scan::local): Use local var r_sym. |
| 315 | (Target_powerpc::Scan::global: Likewise. |
| 316 | (Target_powerpc::Relocate::relocate): Delete shadowing r_sym. |
| 317 | |
| 318 | 2017-01-02 Alan Modra <amodra@gmail.com> |
| 319 | |
| 320 | Update year range in copyright notice of all files. |
| 321 | |
| 322 | For older changes see ChangeLog-2016 |
| 323 | \f |
| 324 | Copyright (C) 2017 Free Software Foundation, Inc. |
| 325 | |
| 326 | Copying and distribution of this file, with or without modification, |
| 327 | are permitted in any medium without royalty provided the copyright |
| 328 | notice and this notice are preserved. |
| 329 | |
| 330 | Local Variables: |
| 331 | mode: change-log |
| 332 | left-margin: 8 |
| 333 | fill-column: 74 |
| 334 | version-control: never |
| 335 | End: |