| 1 | 2018-12-18 Alan Modra <amodra@gmail.com> |
| 2 | |
| 3 | * testsuite/Makefile.am (keep_text_section_prefix_nm.stdout): |
| 4 | Pass --synthetic to nm. |
| 5 | * testsuite/Makefile.in: Regenerate. |
| 6 | |
| 7 | 2018-12-08 Alan Modra <amodra@gmail.com> |
| 8 | |
| 9 | PR 21128 |
| 10 | * testsuite/icf_safe_so_test.sh (check_fold): Rewrite to check |
| 11 | multiple symbols at once. |
| 12 | (arch_specific_safe_fold): Likewise, and call with the four foo* |
| 13 | symbols expected to fold. |
| 14 | |
| 15 | 2018-12-06 H.J. Lu <hongjiu.lu@intel.com> |
| 16 | |
| 17 | * archive.cc (Archive::get_elf_object_for_member): Also print |
| 18 | archive member and non-ELF/non-IR info on error. |
| 19 | |
| 20 | 2018-12-05 Alan Modra <amodra@gmail.com> |
| 21 | |
| 22 | * symtab.h (Symbol::Symbol): Avoid -Wclass-memaccess warning. |
| 23 | |
| 24 | 2018-12-03 Alexey Neyman <stilor@att.net> |
| 25 | |
| 26 | PR gold/23594 |
| 27 | * configure.ac: Add checks for link, mkdtemp. |
| 28 | * configure: Regenerate. |
| 29 | * config.in: Regenerate. |
| 30 | * plugin.cc (Plugin_recorder::init): Fall back to mktemp |
| 31 | if mkdtemp is not available. |
| 32 | (link_or_copy_file): Fall back to copy if link() is not available. |
| 33 | |
| 34 | 2018-12-02 H.J. Lu <hongjiu.lu@intel.com> |
| 35 | |
| 36 | PR binutils/23919 |
| 37 | * merge.cc (Output_merge_string<Char_type>::do_add_input_section): |
| 38 | Get addralign from decompressed_section_contents. |
| 39 | * object.cc (build_compressed_section_map): Set info.addralign. |
| 40 | (Object::decompressed_section_contents): Add a palign |
| 41 | argument and store p->second.addralign in *palign if it isn't |
| 42 | NULL. |
| 43 | * object.h (Compressed_section_info): Add addralign. |
| 44 | (section_is_compressed): Add a palign argument, default it |
| 45 | to NULL, store p->second.addralign in *palign if it isn't NULL. |
| 46 | (Object::decompressed_section_contents): Likewise. |
| 47 | * output.cc (Output_section::add_input_section): Get addralign |
| 48 | from section_is_compressed. |
| 49 | |
| 50 | 2018-11-26 Alan Modra <amodra@gmail.com> |
| 51 | |
| 52 | * testsuite/Makefile.am (justsyms_lib): Link with -z norelro. |
| 53 | * testsuite/Makefile.in: Regenerate. |
| 54 | * testsuite/justsyms_exec.c (main): Do check exported_func |
| 55 | on PowerPC64 ELFv2. |
| 56 | |
| 57 | 2018-11-26 Alan Modra <amodra@gmail.com> |
| 58 | |
| 59 | * testsuite/ver_test_14.sh: Accept objdump -T display of st_other |
| 60 | bits on powerpc64le. |
| 61 | |
| 62 | 2018-11-08 Alan Modra <amodra@gmail.com> |
| 63 | |
| 64 | * Makefile.am (gcctestdir1/ld): Use $@ and absolute paths. |
| 65 | (gcctestdir1/collect-ld): New. |
| 66 | (ld1_DEPENDENCIES): Add gcctestdir1/collect-ld. |
| 67 | (ld1_LDFLAGS): Remove -Bgcctestdir1/. |
| 68 | (editcc1, ld1_LINK): Define. |
| 69 | (gcctestdir2/ld, gcctestdir2/collect-ld, ld2_DEPENDENCIES), |
| 70 | (ld2_LDFLAGS, editcc2, ld2_LINK), |
| 71 | (ld1_r_DEPENDENCIES, ld1_r_LDFLAGS, ld1_r_LINK), |
| 72 | (gcctestdir2-r/ld, gcctestdir2-r/collect-ld, ld2_r_DEPENDENCIES), |
| 73 | (ld2_r_LDFLAGS, editcc2r, ld2_r_LINK), |
| 74 | (gcctestdir3/ld, gcctestdir3/collect-ld, ld3_DEPENDENCIES), |
| 75 | (ld3_LDFLAGS, editcc3, ld3_LINK), |
| 76 | (gcctestdir4/ld, gcctestdir4/collect-ld, ld4_DEPENDENCIES), |
| 77 | (ld4_LDFLAGS, editcc4, ld4_LINK): Similarly. |
| 78 | * Makefile.in: Regenerate. |
| 79 | * testsuite/Makefile.am (editcc): Define sed command to put |
| 80 | our -B option first. Remove other occurrences of -Bgcctestdir/ |
| 81 | throughout file. |
| 82 | (editcc1): Define for -D_FORTIFY_SOURCE stripping. |
| 83 | (editcc2): Define for -static-libgcc/libstdc++ stripping. |
| 84 | (LINK1, CXXLINK1): Don't use CCLD or CXXLD. |
| 85 | (CCLD, CXXLD, COMPILE, LINK, CXXCOMPILE, CXXLINK, CXXLINK_S): Define |
| 86 | using editcc macros. |
| 87 | (gcctestdir/collect-ld): New rule, add as a dependency of.. |
| 88 | (gcctestdir/ld): ..this. Use $@ and abs_top_buildir. |
| 89 | (gcctestdir/as): Use $@. |
| 90 | * testsuite/Makefile.in: Regenerate. |
| 91 | * testsuite/incremental_test.sh (actual): Match collect-ld too. |
| 92 | |
| 93 | 2018-11-02 Alan Modra <amodra@gmail.com> |
| 94 | |
| 95 | * Makefile.am (MOSTLYCLEANFILES): Define. |
| 96 | * Makefile.in: Regnerate. |
| 97 | * testsuite/Makefile.am (MOSTLYCLEANFILES): Add ver_test_14 and |
| 98 | gnu_property_test. |
| 99 | * testsuite/Makefile.in: Regnerate. |
| 100 | |
| 101 | 2018-10-16 Cherry Zhang <cherryyz@google.com> |
| 102 | |
| 103 | PR 23769 |
| 104 | * gold.cc (queue_middle_tasks): Correct split-stack error message. |
| 105 | |
| 106 | 2018-08-29 Chenghua Xu <paul.hua.gm@gmail.com> |
| 107 | |
| 108 | * mips.cc (Mips_mach, add_machine_extensions, elf_mips_mach): |
| 109 | Rename loongson3a to gs464. |
| 110 | (mips_isa_ext_mach, mips_isa_ext): Delete loongson3a. |
| 111 | (infer_abiflags): Use ases instead of isa_ext for infer ABI |
| 112 | flags. |
| 113 | (elf_mips_mach_name): Rename loongson3a to gs464. |
| 114 | |
| 115 | 2018-07-10 Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com> |
| 116 | |
| 117 | * object.cc (Sized_relobj_file::map_to_kept_section): Initialize |
| 118 | kept_file. |
| 119 | |
| 120 | 2018-08-07 Cary Coutant <ccoutant@gmail.com> |
| 121 | |
| 122 | PR ld/23486 |
| 123 | * x86_64.cc (Target_x86_64::Target_x86_64): Initialize |
| 124 | object_isa_1_used_. |
| 125 | (Target_x86_64::object_isa_1_used_): New data member. |
| 126 | (Target_x86_64::record_gnu_property): Save ISA_1_USED bits for object. |
| 127 | (Target_x86_64::merge_gnu_properties): Merge ISA_1_USED bits. |
| 128 | |
| 129 | 2018-08-06 Cary Coutant <ccoutant@gmail.com> |
| 130 | |
| 131 | PR gold/23455 |
| 132 | * options.h (General_options): Add --warn-drop-version option. |
| 133 | * symtab.cc (Symbol_table::set_dynsym_indexes): Check it. |
| 134 | |
| 135 | 2018-08-06 Cary Coutant <ccoutant@gmail.com> |
| 136 | |
| 137 | * target.h (Sized_target::record_gnu_property): Change first two |
| 138 | parameters to unsigned int. |
| 139 | * x86_64.cc (Target_x86_64::record_gnu_property): Likewise. |
| 140 | |
| 141 | 2018-07-30 Nick Clifton <nickc@redhat.com> |
| 142 | |
| 143 | * layout.cc (section_name_mapping): Add an entry for |
| 144 | .gnu.build.attributes. |
| 145 | |
| 146 | 2018-07-18 Nick Clifton <nickc@redhat.com> |
| 147 | |
| 148 | * po/fr.po: Updated French translation. |
| 149 | |
| 150 | 2018-07-14 Cary Coutant <ccoutant@gmail.com> |
| 151 | |
| 152 | PR gold/23397 |
| 153 | * object.cc (Sized_relobj_file::do_layout): Mark section as deferred. |
| 154 | * testsuite/Makefile.am (plugin_test_1): Add --emit-relocs option to |
| 155 | existing test case. |
| 156 | * testsuite/Makefile.in: Regenerate. |
| 157 | |
| 158 | 2018-07-14 Cary Coutant <ccoutant@gmail.com> |
| 159 | |
| 160 | PR gold/23409 |
| 161 | * symtab.cc (Symbol_table::define_special_symbol): Add check for |
| 162 | version name on existing symbol. |
| 163 | * testsuite/Makefile.am (ver_test_pr23409): New test case. |
| 164 | * testsuite/Makefile.in: Regenerate. |
| 165 | * testsuite/ver_test_pr23409.sh: New test script. |
| 166 | * testsuite/ver_test_pr23409_1.script: New version script. |
| 167 | * testsuite/ver_test_pr23409_2.script: New version script. |
| 168 | |
| 169 | 2018-07-11 Franz Sirl <franz.sirl-kernel@lauterbach.com> |
| 170 | |
| 171 | * main.cc (main): Print m.arena as long long. |
| 172 | |
| 173 | 2018-07-09 Cary Coutant <ccoutant@gmail.com> |
| 174 | |
| 175 | * incremental.cc (Sized_incremental_binary::setup_readers): Use |
| 176 | emplace_back for C++ 11 or later. |
| 177 | |
| 178 | 2018-07-06 Alan Modra <amodra@gmail.com> |
| 179 | |
| 180 | * powerpc.cc: Include attributes.h. |
| 181 | (Powerpc_relobj::attributes_section_data_): New variable, with |
| 182 | accessor and associated constructor and destructor support. |
| 183 | (Powerpc_dynobj::attributes_section_data_): Likewise. |
| 184 | (Powerpc_relobj::do_read_symbols): Stash SHT_GNU_ATTRIBUTES section |
| 185 | contents in attributes_section_data_. |
| 186 | (Powerpc_dynobj::do_read_symbols): Likewise. |
| 187 | (Target_powerpc): Add attributes_section_data_, last_fp_, last_ld_, |
| 188 | last_vec_, and last_struct_ vars. |
| 189 | (Target_powerpc::merge_object_attributes): New function. |
| 190 | (Target_powerpc::do_finalize_sections): Iterate over input objects |
| 191 | merging attributes. Create output attributes section. |
| 192 | |
| 193 | 2018-06-26 Nick Clifton <nickc@redhat.com> |
| 194 | |
| 195 | * po/uk.po: Updated Ukranian translation. |
| 196 | |
| 197 | 2018-06-24 Nick Clifton <nickc@redhat.com> |
| 198 | |
| 199 | * po/gold.pot: Regenerate. |
| 200 | |
| 201 | 2018-06-24 Nick Clifton <nickc@redhat.com> |
| 202 | |
| 203 | 2.31 branch created. |
| 204 | |
| 205 | 2018-06-23 Cary Coutant <ccoutant@gmail.com> |
| 206 | |
| 207 | * version.cc (version_string): Bump to 1.16. |
| 208 | * NEWS: Add new features in 1.16. |
| 209 | |
| 210 | 2018-06-23 Cary Coutant <ccoutant@gmail.com> |
| 211 | |
| 212 | PR gold/22914 |
| 213 | * x86_64.cc (Target_x86_64::record_gnu_property): Initialize val. |
| 214 | |
| 215 | 2018-06-23 Cary Coutant <ccoutant@gmail.com> |
| 216 | |
| 217 | PR gold/22915 |
| 218 | * x86_64.cc (Output_data_plt_x86_64_ibt): New class. |
| 219 | (Target_x86_64::do_make_data_plt): (All instantiations) Check for |
| 220 | IBT feature bit and create IBT PLTs. |
| 221 | |
| 222 | 2018-06-22 Cary Coutant <ccoutant@gmail.com> |
| 223 | |
| 224 | PR gold/22914 |
| 225 | * layout.cc (read_sized_value): Fix spelling of section name. |
| 226 | (Layout::layout_gnu_property): Call Sized_target::record_gnu_property |
| 227 | for target-specific properties; |
| 228 | don't store them with target-independent properties yet. |
| 229 | (Layout::merge_gnu_properties): New method. |
| 230 | (Layout::add_gnu_property): New method. |
| 231 | (Layout::create_gnu_properties_note): Call target to finalize |
| 232 | target-specific properties. Fix spelling of output section name. |
| 233 | * layout.h (Layout::merge_gnu_properties): New method. |
| 234 | (Layout::add_gnu_property): New method. |
| 235 | * object.cc (Sized_relobj_file::do_layout): Call |
| 236 | Layout::merge_gnu_properties. |
| 237 | * target.h (Target::merge_gnu_property): Remove. |
| 238 | (Target::finalize_gnu_properties): New method. |
| 239 | (Target::do_merge_gnu_property): Move to Sized_target and rename. |
| 240 | (Target::do_finalize_gnu_properties): New virtual method. |
| 241 | (Sized_target::record_gnu_property): Moved and renamed from |
| 242 | Target::do_merge_gnu_property. |
| 243 | (Sized_target::merge_gnu_properties): New virtual method. |
| 244 | * x86_64.cc (Target_x86_64::isa_1_used_, isa_1_needed_) |
| 245 | (feature_1_, object_feature_1_, seen_first_object_): New data members. |
| 246 | (Target_x86_64::do_merge_gnu_property): Rename to ... |
| 247 | (Target_x86_64::record_gnu_property): ... this. Save target-specific |
| 248 | properties in Target class object. |
| 249 | (Target_x86_64::merge_gnu_properties): New method. |
| 250 | (add_property): New static inline function. |
| 251 | (Target_x86_64::do_finalize_gnu_properties): New method. |
| 252 | * testsuite/Makefile.am (gnu_property_test): Remove C source file; |
| 253 | link directly without compiler driver. |
| 254 | * testsuite/Makefile.in: Regenerate. |
| 255 | * testsuite/gnu_property_a.S: Add _start. |
| 256 | |
| 257 | 2018-06-22 Cary Coutant <ccoutant@gmail.com> |
| 258 | |
| 259 | * incremental.cc (Sized_incremental_binary::setup_readers): Use |
| 260 | emplace_back for GCC 5 and later. |
| 261 | * incremental.h (Incremental_binary::Input_reader): Provide copy |
| 262 | constructor. |
| 263 | (Sized_incremental_binary::Sized_input_reader): Likewise. |
| 264 | |
| 265 | 2018-06-22 Cary Coutant <ccoutant@gmail.com> |
| 266 | |
| 267 | PR gold/22914 |
| 268 | * layout.cc (Layout::Layout): Initialize gnu_properties_. |
| 269 | (read_sized_value, write_sized_value): New functions. |
| 270 | (Layout::layout_gnu_property): New method. |
| 271 | (Layout::create_notes): Call create_gnu_properties_note. |
| 272 | (Layout::create_gnu_properties_note): New method. |
| 273 | * layout.h (Layout::layout_gnu_property): New method. |
| 274 | (Layout::create_gnu_properties_note): New method. |
| 275 | (Layout::Gnu_property, Layout::Gnu_properties): New types. |
| 276 | (Layout::gnu_properties_): New data member. |
| 277 | * object.cc (Sized_relobj_file::layout_gnu_property_section): New |
| 278 | method. |
| 279 | (Sized_relobj_file::do_layout): Handle .note.gnu.property sections. |
| 280 | * object.h (Sized_relobj_file::layout_gnu_property_section): New |
| 281 | method. |
| 282 | * target.h (Target::merge_gnu_property): New method. |
| 283 | (Target::do_merge_gnu_property): New virtual method. |
| 284 | * x86_64.cc (Target_x86_64::do_merge_gnu_property): New method. |
| 285 | * testsuite/Makefile.am (gnu_property_test): New test case. |
| 286 | * testsuite/Makefile.in: Regenerate. |
| 287 | * testsuite/gnu_property_a.S: New source file. |
| 288 | * testsuite/gnu_property_b.S: New source file. |
| 289 | * testsuite/gnu_property_c.S: New source file. |
| 290 | * testsuite/gnu_property_main.c: New source file. |
| 291 | * testsuite/gnu_property_test.sh: New test script. |
| 292 | |
| 293 | 2018-06-21 Cary Coutant <ccoutant@gmail.com> |
| 294 | |
| 295 | * resolve.cc (Symbol_table::resolve): Rename tobinding to |
| 296 | orig_tobinding. Call set_is_needed() for objects that resolve |
| 297 | non-weak references. |
| 298 | (Symbol_table::should_override): Allow a dynamic definition to |
| 299 | override an earlier one in a not-needed library. |
| 300 | * symtab.cc (Symbol_table::set_dynsym_indexes): Remove separate |
| 301 | processing for as-needed symbols. Add warning when discarding |
| 302 | version informatin. |
| 303 | * testsuite/Makefile.am (weak_as_needed): New test case. |
| 304 | * testsuite/Makefile.in: Regenerate. |
| 305 | * testsuite/weak_as_needed.sh: New test script. |
| 306 | * testsuite/weak_as_needed_a.c: New source file. |
| 307 | * testsuite/weak_as_needed_b.c: New source file. |
| 308 | * testsuite/weak_as_needed_b.script: New version script. |
| 309 | * testsuite/weak_as_needed_c.c: New source file. |
| 310 | * testsuite/weak_as_needed_c.script: New version script. |
| 311 | |
| 312 | 2018-06-20 Cary Coutant <ccoutant@gmail.com> |
| 313 | |
| 314 | PR gold/23268 |
| 315 | * dynobj.cc (Versions::Versions): Change init for needs_base_version_. |
| 316 | (Versions::record_version): Add verdefs for both shared objects and |
| 317 | executables. |
| 318 | (Versions::add_def): Likewise for base version. |
| 319 | (Versions::add_need): Don't add base version for executables. |
| 320 | (Versions::version_index): Look up version for both shared objects and |
| 321 | executables. |
| 322 | * testsuite/Makefile.am (ver_test_14): New test case. |
| 323 | * testsuite/Makefile.in: Regenerate. |
| 324 | * testsuite/ver_test_14.script: New version script. |
| 325 | * testsuite/ver_test_14.sh: New test script. |
| 326 | |
| 327 | 2018-06-19 Joshua Watt <jpewhacker@gmail.com> |
| 328 | Cary Coutant <ccoutant@gmail.com> |
| 329 | |
| 330 | * configure.ac: Replace manual thread configuration with AX_PTHREAD. |
| 331 | Add --enable-threads=auto. |
| 332 | * Makefile.am (THREADFLAGS, THREADLIBS): New defines. |
| 333 | (AM_CFLAGS, AM_CXXFLAGS): Add $(THREADFLAGS). |
| 334 | (THREADSLIB): Remove; change all references to THREADLIBS. |
| 335 | * Makefile.in: Regenerate. |
| 336 | * aclocal.m4: Regenerate. |
| 337 | * config.in: Regenerate. |
| 338 | * configure: Regenerate. |
| 339 | * testsuite/Makefile.am (THREADSLIB): Replace with... |
| 340 | (THREADFLAGS, THREADLIBS): ... these. |
| 341 | (LDADD): Remove; add as individual defines for... |
| 342 | (object_unittest, binary_unittest, leb128_unittest) |
| 343 | (overflow_unittest): ... these tests. |
| 344 | (tls_test, tls_pic_test, tls_pie_test, tls_pie_pic_test) |
| 345 | (tls_shared_test, tls_shared_ie_test, tls_shared_gd_to_ie_test) |
| 346 | (tls_shared_gnu2_gd_to_ie_test, tls_shared_gnu2_test_LDFLAGS) |
| 347 | (tls_shared_nonpic_test_LDFLAGS): Add $(THREADFLAGS) and ($THREADLIBS). |
| 348 | * testsuite/Makefile.in: Regenerate. |
| 349 | |
| 350 | 2018-06-19 Cary Coutant <ccoutant@gmail.com> |
| 351 | |
| 352 | * testsuite/Makefile.am (MOSTLYCLEANFILES): Add *.stderr. |
| 353 | * testsuite/Makefile.in: Regenerate. |
| 354 | |
| 355 | 2018-06-19 Simon Marchi <simon.marchi@ericsson.com> |
| 356 | |
| 357 | * configure.ac: Remove AC_PREREQ, add missing quoting and usage |
| 358 | of AC_LANG_SOURCE. |
| 359 | * Makefile.in: Re-generate. |
| 360 | * aclocal.m4: Re-generate. |
| 361 | * configure: Re-generate. |
| 362 | * testsuite/Makefile.in: Re-generate. |
| 363 | |
| 364 | 2018-05-10 Stephen Crane <sjc@immunant.com> |
| 365 | |
| 366 | * aarch64.cc (Target_aarch64::do_finalize_sections): Use size of |
| 367 | .got section for the _GLOBAL_OFFSET_TABLE_ symbol computation. |
| 368 | |
| 369 | 2018-04-24 Cary Coutant <ccoutant@gmail.com> |
| 370 | |
| 371 | PR gold/20642 |
| 372 | PR gold/22820 |
| 373 | * gc.h (gc_process_relocs): Flag STT_SECTION symbols in symvec. |
| 374 | * icf.cc (get_section_contents): For merge sections, ignore the |
| 375 | addend for relocations against non-section symbols. |
| 376 | |
| 377 | 2018-04-24 Cary Coutant <ccoutant@gmail.com> |
| 378 | |
| 379 | PR gold/16504 |
| 380 | * dynobj.cc (Versions::symbol_section_contents): Don't set |
| 381 | VERSYM_HIDDEN flag for undefined symbols. |
| 382 | * symtab.cc (Symbol_table::add_from_object): Don't override default |
| 383 | version definition with a different default version. |
| 384 | * symtab.h (Symbol::from_dyn): New method. |
| 385 | * testsuite/plugin_test.c (struct sym_info): Add ver field. |
| 386 | (claim_file_hook): Pass symbol version to plugin API. |
| 387 | (parse_readelf_line): Parse symbol version. |
| 388 | * testsuite/Makefile.am (ver_test_pr16504): New test case. |
| 389 | * testsuite/Makefile.in: Regenerate. |
| 390 | * testsuite/ver_test_pr16504.sh: New test script. |
| 391 | * testsuite/ver_test_pr16504_a.c: New source file. |
| 392 | * testsuite/ver_test_pr16504_a.script: New version script. |
| 393 | * testsuite/ver_test_pr16504_b.c: New source file. |
| 394 | * testsuite/ver_test_pr16504_b.script: New version script. |
| 395 | |
| 396 | 2018-04-19 Cary Coutant <ccoutant@gmail.com> |
| 397 | |
| 398 | PR gold/23046 |
| 399 | * gc.h (gc_process_relocs): Pass target to |
| 400 | scan.local_reloc_may_be_function_pointer. |
| 401 | |
| 402 | 2018-04-18 Nick Clifton <nickc@redhat.com> |
| 403 | |
| 404 | * po/es.po: Updated Spanish translation. |
| 405 | |
| 406 | 2018-04-14 Cary Coutant <ccoutant@gmail.com> |
| 407 | |
| 408 | PR gold/23046 |
| 409 | * gc.h (gc_process_relocs): Pass target to |
| 410 | scan.global_reloc_may_be_function_pointer. |
| 411 | |
| 412 | 2018-04-09 Alan Modra <amodra@gmail.com> |
| 413 | |
| 414 | * configure: Regenerate. |
| 415 | |
| 416 | 2018-04-09 Alan Modra <amodra@gmail.com> |
| 417 | |
| 418 | * powerpc.cc (Target_powerpc::Track_tls::maybe_skip_tls_get_addr_call): |
| 419 | Handle inline plt sequence relocs. |
| 420 | (Stub_table::Plt_stub_key::Plt_stub_key): Likewise. |
| 421 | (Target_powerpc::Scan::reloc_needs_plt_for_ifunc): Likewise. |
| 422 | (Target_powerpc::Relocate::relocate): Likewise. |
| 423 | |
| 424 | 2018-04-09 Alan Modra <amodra@gmail.com> |
| 425 | |
| 426 | * powerpc.cc (Target_powerpc::lplt_): New variable. |
| 427 | (Target_powerpc::lplt_section): Associated accessor. |
| 428 | (Target_powerpc::plt_off): Handle local non-ifunc symbols. |
| 429 | (Target_powerpc::make_lplt_section): New function. |
| 430 | (Target_powerpc::make_local_plt_entry): New function. |
| 431 | (Powerpc_relobj::do_relocate_sections): Write out lplt. |
| 432 | (Output_data_plt_powerpc::first_plt_entry_offset): Zero for lplt. |
| 433 | (Output_data_plt_powerpc::add_local_entry): New function. |
| 434 | (Output_data_plt_powerpc::do_write): Ignore lplt. |
| 435 | (Target_powerpc::make_iplt_section): Make lplt first. |
| 436 | (Target_powerpc::make_brlt_section): Make .branch_lt relro. |
| 437 | (Target_powerpc::Scan::local): Handle PLT16 relocs. |
| 438 | |
| 439 | 2018-04-09 Alan Modra <amodra@gmail.com> |
| 440 | |
| 441 | * powerpc.cc (Target_powerpc::plt_off): New functions. |
| 442 | (is_plt16_reloc): New function. |
| 443 | (Stub_table::plt_off): Use Target_powerpc::plt_off. |
| 444 | (Stub_table::plt_call_size): Use plt_off. |
| 445 | (Stub_table::do_write): Likewise. |
| 446 | (Target_powerpc::Scan::get_reference_flags): Return RELATIVE_REF |
| 447 | for PLT16 relocations. |
| 448 | (Target_powerpc::Scan::reloc_needs_plt_for_ifunc): Return true |
| 449 | for PLT16 relocations. |
| 450 | (Target_powerpc::Scan::global): Make a PLT entry for PLT16 relocations. |
| 451 | (Target_powerpc::Relocate::relocate): Support PLT16 relocations. |
| 452 | (Powerpc_scan_relocatable_reloc::global_strategy): Return RELOC_SPECIAL |
| 453 | for ppc32 plt16 relocs. |
| 454 | |
| 455 | 2018-04-06 Cary Coutant <ccoutant@gmail.com> |
| 456 | |
| 457 | * object.cc (Sized_relobj_file::include_section_group): Store |
| 458 | reference to Kept_section info for discarded comdat sections |
| 459 | regardless of size. Move size checking to map_to_kept_section. |
| 460 | (Sized_relobj_file::include_linkonce_section): Likewise. |
| 461 | (Sized_relobj_file::map_to_kept_section): Add section name parameter. |
| 462 | Insert size checking logic from above functions. |
| 463 | (Sized_relobj_file::find_kept_section_object): New method. |
| 464 | (Sized_relobj_file::get_symbol_name): New method. |
| 465 | * object.h (Sized_relobj_file::map_to_kept_section): Add section_name |
| 466 | parameter. Adjust all callers. |
| 467 | (Sized_relobj_file::find_kept_section_object): New method. |
| 468 | (Sized_relobj_file::get_symbol_name): New method. |
| 469 | (Sized_relobj_file::Kept_comdat_section): Replace object and shndx |
| 470 | fields with sh_size, kept_section, symndx, and is_comdat fields. |
| 471 | (Sized_relobj_file::set_kept_comdat_section): Replace kept_object |
| 472 | and kept_shndx parameters with is_comdat, symndx, sh_size, and |
| 473 | kept_section. |
| 474 | (Sized_relobj_file::get_kept_comdat_section): Likewise. |
| 475 | * target-reloc.h (enum Comdat_behavior): Change CB_WARNING to CB_ERROR. |
| 476 | Adjust all references. |
| 477 | (issue_undefined_symbol_error): New function template. |
| 478 | (relocate_section): Pass section name to map_to_kept_section. |
| 479 | Move discarded section code to new function above. |
| 480 | * aarch64.cc (Target_aarch64::scan_reloc_section_for_stubs): Move |
| 481 | declaration for gsym out one level. Call issue_discarded_error. |
| 482 | * arm.cc (Target_arm::scan_reloc_section_for_stubs): Likewise. |
| 483 | * powerpc.cc (Relocate_comdat_behavior): Change CB_WARNING to CB_ERROR. |
| 484 | |
| 485 | 2018-04-05 Cary Coutant <ccoutant@gmail.com> |
| 486 | |
| 487 | * target-reloc.h (relocate_section): Add local symbol index or global |
| 488 | symbol name to warning about relocation that refers to discarded |
| 489 | section. |
| 490 | |
| 491 | 2018-04-05 James Cowgill <james.cowgill@mips.com> |
| 492 | |
| 493 | Revert previous patch and apply revised patch. |
| 494 | |
| 495 | PR gold/22770 |
| 496 | * mips.cc (Mips_got_info::record_got_page_entry): Don't insert |
| 497 | Got_page_entry for object's GOT. |
| 498 | (Mips_got_info::add_got_page_entries): Add all pages from from's GOT. |
| 499 | Rename to add_got_page_count. |
| 500 | (Got_page_entry): Remove num_pages. |
| 501 | |
| 502 | 2018-04-05 James Cowgill <james.cowgill@mips.com> |
| 503 | |
| 504 | PR gold/22770 |
| 505 | * mips.cc (Mips_got_info::record_got_page_entry): Fetch existing |
| 506 | page entries for the object's GOT. |
| 507 | |
| 508 | 2018-04-05 Alan Modra <amodra@gmail.com> |
| 509 | |
| 510 | * powerpc.cc (Target_powerpc::make_brlt_section): Make .branch_lt relro. |
| 511 | |
| 512 | 2018-04-04 Nick Clifton <nickc@redhat.com> |
| 513 | |
| 514 | * po/es.po: Updated Spanish translation. |
| 515 | |
| 516 | 2018-04-02 Cary Coutant <ccoutant@gmail.com> |
| 517 | |
| 518 | PR gold/23016 |
| 519 | * incremental.cc (can_incremental_update): Check for unwind section |
| 520 | type. |
| 521 | * layout.h (Layout::layout): Add sh_type parameter. |
| 522 | * layout.cc (Layout::layout): Likewise. |
| 523 | (Layout::layout_reloc): Create new output reloc section if data |
| 524 | section does not already have one. |
| 525 | (Layout::layout_eh_frame): Check for unwind section type. |
| 526 | (Layout::make_eh_frame_section): Use unwind section type for .eh_frame |
| 527 | and .eh_frame_hdr. |
| 528 | * object.h (Sized_relobj_file::Shdr_write): New typedef. |
| 529 | (Sized_relobj_file::layout_section): Add sh_type parameter. |
| 530 | (Sized_relobj_file::Deferred_layout::Deferred_layout): Add sh_type |
| 531 | parameter. |
| 532 | * object.cc (Sized_relobj_file::check_eh_frame_flags): Check for |
| 533 | unwind section type. |
| 534 | (Sized_relobj_file::layout_section): Add sh_type parameter; pass it |
| 535 | to Layout::layout. |
| 536 | (Sized_relobj_file::do_layout): Make local copy of sh_type. |
| 537 | Force .eh_frame sections to unwind section type. |
| 538 | Pass sh_type to layout_section. |
| 539 | (Sized_relobj_file<size, big_endian>::do_layout_deferred_sections): |
| 540 | Pass sh_type to layout_section. |
| 541 | * output.cc (Output_section::Output_section): Initialize reloc_section_. |
| 542 | * output.h (Output_section::reloc_section): New method. |
| 543 | (Output_section::set_reloc_section): New method. |
| 544 | (Output_section::reloc_section_): New data member. |
| 545 | * target.h (Target::unwind_section_type): New method. |
| 546 | (Target::Target_info::unwind_section_type): New data member. |
| 547 | |
| 548 | * aarch64.cc (aarch64_info): Add unwind_section_type. |
| 549 | * arm.cc (arm_info, arm_nacl_info): Likewise. |
| 550 | * i386.cc (i386_info, i386_nacl_info, iamcu_info): Likewise. |
| 551 | * mips.cc (mips_info, mips_nacl_info): Likewise. |
| 552 | * powerpc.cc (powerpc_info): Likewise. |
| 553 | * s390.cc (s390_info): Likewise. |
| 554 | * sparc.cc (sparc_info): Likewise. |
| 555 | * tilegx.cc (tilegx_info): Likewise. |
| 556 | * x86_64.cc (x86_64_info, x86_64_nacl_info): Likewise. |
| 557 | |
| 558 | * testsuite/Makefile.am (pr23016_1, pr23016_2): New test cases. |
| 559 | * testsuite/Makefile.in: Regenerate. |
| 560 | * testsuite/testfile.cc: Add unwind_section_type. |
| 561 | * testsuite/pr23016_1.sh: New test script. |
| 562 | * testsuite/pr23016_1a.s: New source file. |
| 563 | * testsuite/pr23016_1b.s: New source file. |
| 564 | * testsuite/pr23016_2.sh: New test script. |
| 565 | * testsuite/pr23016_2a.s: New source file. |
| 566 | * testsuite/pr23016_2b.s: New source file. |
| 567 | |
| 568 | 2018-03-28 Cary Coutant <ccoutant@gmail.com> |
| 569 | |
| 570 | PR gold/21423 |
| 571 | PR gold/22500 |
| 572 | * configure.ac: Call AC_USE_SYSTEM_EXTENSIONS. |
| 573 | Replace check for --enable-plugins with AC_PLUGINS. |
| 574 | * options.cc (parse_plugin, parse_plugin_opt): Remove #ifdef. |
| 575 | (General_options::finalize): Check if plugins enabled. |
| 576 | * options.h (--plugin, --plugin-opt): Define even if plugins not |
| 577 | enabled. |
| 578 | * Makefile.in: Regenerate. |
| 579 | * aclocal.m4: Regenerate. |
| 580 | * configure: Regenerate. |
| 581 | * testsuite/Makefile.in: Regenerate. |
| 582 | |
| 583 | 2018-03-28 Cary Coutant <ccoutant@gmail.com> |
| 584 | |
| 585 | PR gold/22969 |
| 586 | * aarch64-reloc.def: Add TLSLE_LDST* relocations. |
| 587 | * aarch64.cc (Target_aarch64::optimize_tls_reloc): Likewise. |
| 588 | (Target_aarch64::Scan::local): Likewise. |
| 589 | (Target_aarch64::Scan::global): Likewise. |
| 590 | (Target_aarch64::Relocate::relocate): Likewise. |
| 591 | (Target_aarch64::Relocate::relocate_tls): Likewise. |
| 592 | |
| 593 | 2018-03-27 Roland McGrath <mcgrathr@google.com> |
| 594 | |
| 595 | * testsuite/split_x86_64.sh: Fix bad regexp. |
| 596 | |
| 597 | 2018-03-26 Cary Coutant <ccoutant@gmail.com> |
| 598 | |
| 599 | PR gold/22868 |
| 600 | * plugin.cc (Sized_pluginobj::do_add_symbols): Use a real section |
| 601 | index instead of SHN_ABS for defined symbols. |
| 602 | * testsuite/Makefile.am (plugin_pr22868): New test case. |
| 603 | * testsuite/Makefile.in: Regenerate |
| 604 | * testsuite/plugin_pr22868.sh: New test script. |
| 605 | * testsuite/plugin_pr22868_a.c: New source file. |
| 606 | * testsuite/plugin_pr22868_b.c: New source file. |
| 607 | |
| 608 | 2018-03-23 Cary Coutant <ccoutant@gmail.com> |
| 609 | |
| 610 | * plugin.cc (link_or_copy_file): Remove newlines from warning messages. |
| 611 | Add pedantic check for return value from ::write. |
| 612 | |
| 613 | 2018-03-23 Cary Coutant <ccoutant@gmail.com> |
| 614 | |
| 615 | * debug.h (DEBUG_PLUGIN): New constant. |
| 616 | (DEBUG_ALL): Add DEBUG_PLUGIN. |
| 617 | (debug_string_to_enum): Likewise. |
| 618 | * plugin.cc (make_sized_plugin_object): Add filename parameter. |
| 619 | (Plugin_recorder): New class. |
| 620 | (Plugin_manager::~Plugin_manager): Delete recorder_. |
| 621 | (Plugin_manager::load_plugins): Create and initialize recorder_. |
| 622 | (Plugin_manager::claim_file): Record claimed and unclaimed files. |
| 623 | (Plugin_manager::make_plugin_object): Use object name as name for |
| 624 | plugin object, if available. |
| 625 | (Plugin_manager::add_input_file): Record replacement files. |
| 626 | (Sized_pluginobj::do_add_symbols): Record plugin symbols. |
| 627 | (Plugin_finish::run): Call Plugin_recorder::finish(). |
| 628 | (make_sized_plugin_object): Add filename parameter and pass to |
| 629 | Sized_pluginobj constructor. |
| 630 | * plugin.h (Plugin::filename): New method. |
| 631 | (Plugin::recorder): New method. |
| 632 | (Plugin::recorder_): New data member. |
| 633 | |
| 634 | 2018-03-07 Sriraman Tallam <tmsriram@google.com> |
| 635 | |
| 636 | * layout.cc (Layout::default_section_order): Check for text section |
| 637 | prefixes. |
| 638 | (Layout::text_section_name_mapping): New static member. |
| 639 | (Layout::text_section_name_mapping_count): New static member. |
| 640 | (Layout::match_section_name): New static function. |
| 641 | (Layout::output_section_name): Check for text section prefixes. |
| 642 | * layout.h (Output_section_order::ORDER_TEXT_HOT): New enum value. |
| 643 | (Output_section_order::ORDER_TEXT_STARTUP): New enum value. |
| 644 | (Output_section_order::ORDER_TEXT_EXIT): New enum value. |
| 645 | (Output_section_order::ORDER_TEXT_UNLIKELY): New enum value. |
| 646 | (Layout::text_section_name_mapping): New static member. |
| 647 | (Layout::text_section_name_mapping_count): New static member. |
| 648 | (Layout::match_section_name): New static function. |
| 649 | * options.h (keep_text_section_prefix): New -z option. |
| 650 | * testsuite/Makefile.am (keep_text_section_prefix): New test. |
| 651 | * testsuite/Makefile.in: Regenerate. |
| 652 | * testsuite/keep_text_section_prefix.cc: New test source. |
| 653 | * testsuite/keep_text_section_prefix.sh: New test script. |
| 654 | |
| 655 | 2018-02-22 Sriraman Tallam <tmsriram@google.com> |
| 656 | |
| 657 | * plugin.cc (get_wrap_symbols): New plugin interface. |
| 658 | (load): Add get_wrap_symbols to transfer vector. |
| 659 | * plugin-api.h (ld_plugin_get_wrap_symbols): New plugin interface. |
| 660 | * testsuite/plugin_test.c (onload): Call and check get_wrap_symbols |
| 661 | interface. |
| 662 | * testsuite/plugin_test_wrap_symbols.sh: New test script. |
| 663 | * testsuite/plugin_test_wrap_symbols_1.cc: New file. |
| 664 | * testsuite/plugin_test_wrap_symbols_2.cc: New file. |
| 665 | * testsuite/Makefile.am (plugin_test_wrap_symbols): New test. |
| 666 | * testsuite/Makefile.in: Regenerate. |
| 667 | |
| 668 | 2018-02-07 Sriraman Tallam <tmsriram@google.com> |
| 669 | |
| 670 | * expression.cc (Symbol_expression::set_expr_sym_in_real_elf): |
| 671 | New method. |
| 672 | (Unary_expression::set_expr_sym_in_real_elf): New method. |
| 673 | (Binary_expression::set_expr_sym_in_real_elf): New method. |
| 674 | (Trinary_expression::set_expr_sym_in_real_elf): New method. |
| 675 | * plugin.cc (get_symbol_resolution_info): Fix symbol resolution if |
| 676 | defined or used in defsyms. |
| 677 | * plugin.h (Plugin_manager::is_defsym_def): New method. |
| 678 | (Plugin_manager::Plugin_manager): Initialize defsym_defines_set_. |
| 679 | (Plugin_manager::defsym_defines_set_): New member. |
| 680 | (Plugin_manager::Defsym_defines_set): New typedef. |
| 681 | * script.cc (Script_options::set_defsym_uses_in_real_elf): New method. |
| 682 | (Script_options::find_defsym_defs): New method. |
| 683 | * script.h (Expression::set_expr_sym_in_real_elf): New method. |
| 684 | (Symbol_assignment::is_defsym): New method. |
| 685 | (Symbol_assignment::value): New method. |
| 686 | (Script_options::find_defsym_defs): New method. |
| 687 | (Script_options::set_defsym_uses_in_real_elf): New method. |
| 688 | * testsuite/Makefile.am (plugin_test_defsym): New test. |
| 689 | * testsuite/Makefile.in: Regenerate. |
| 690 | * testsuite/plugin_test.c: Check for new symbol resolution. |
| 691 | * testsuite/plugin_test_defsym.sh: New script. |
| 692 | * testsuite/plugin_test_defsym.c: New test source. |
| 693 | |
| 694 | 2018-02-07 Alan Modra <amodra@gmail.com> |
| 695 | |
| 696 | Revert 2018-01-17 Alan Modra <amodra@gmail.com> |
| 697 | * options.h: Remove --speculate-indirect-jumps support. |
| 698 | * powerpc.cc: Likewise. |
| 699 | |
| 700 | 2018-02-02 Cary Coutant <ccoutant@gmail.com> |
| 701 | |
| 702 | * PR gold/22776 |
| 703 | * dwarf_reader.cc (Sized_dwarf_line_info::read_header_prolog): Add |
| 704 | support for DWARF-4 line number tables. |
| 705 | * dwarf_reader.h (Sized_dwarf_line_info::max_ops_per_insn): New field. |
| 706 | |
| 707 | 2018-01-18 Alan Modra <amodra@gmail.com> |
| 708 | |
| 709 | * powerpc.cc (param_plt_align): New function supplying default |
| 710 | --plt-align values. Use it.. |
| 711 | (Stub_table::plt_call_align): ..here, and.. |
| 712 | (Output_data_glink::global_entry_align): ..here. |
| 713 | (Stub_table::stub_align): Correct 32-bit minimum alignment. |
| 714 | |
| 715 | 2018-01-17 Alan Modra <amodra@gmail.com> |
| 716 | |
| 717 | * options.h (speculate_indirect_jumps): New option. |
| 718 | * powerpc.cc (beqctrm, beqctrlm, crseteq): New insn constants. |
| 719 | (output_bctr): New function. |
| 720 | (Stub_table::plt_call_size): Add space for speculation barrier. |
| 721 | (Stub_table::branch_stub_size): Likewise. |
| 722 | (Output_data_glink::pltresolve_size): Likewise. |
| 723 | (Stub_table::do_write): Output speculation barriers. |
| 724 | |
| 725 | 2018-01-17 Alan Modra <amodra@gmail.com> |
| 726 | |
| 727 | * options.h (plt_align): Support for PowerPC32 too. |
| 728 | * powerpc.cc (Stub_table::stub_align): Heed --plt-align for 32-bit. |
| 729 | (Stub_table::plt_call_size, branch_stub_size): Tidy. |
| 730 | (Stub_table::plt_call_align): Implement using stub_align. |
| 731 | (Output_data_glink::global_entry_align): New function. |
| 732 | (Output_data_glink::global_entry_off): New function. |
| 733 | (Output_data_glink::global_entry_address): Use global_entry_off. |
| 734 | (Output_data_glink::pltresolve_size): New function, replacing |
| 735 | pltresolve_size_ constant. Update all uses. |
| 736 | (Output_data_glink::add_global_entry): Align offset. |
| 737 | (Output_data_glink::set_final_data_size): Use global_entry_align. |
| 738 | (Stub_table::do_write): Don't pad __glink_PLTrelsolve with nops. |
| 739 | Tidy stub output. Use global_entry_off. |
| 740 | |
| 741 | 2018-01-15 Cary Coutant <ccoutant@gmail.com> |
| 742 | |
| 743 | PR gold/22694 |
| 744 | * options.h (-fuse-ld): Add correct helparg. |
| 745 | |
| 746 | 2018-01-15 Nick Clifton <nickc@redhat.com> |
| 747 | |
| 748 | * po/uk.po: Updated Ukranian translation. |
| 749 | |
| 750 | 2018-01-13 Nick Clifton <nickc@redhat.com> |
| 751 | |
| 752 | * po/gold.pot: Regenerated. |
| 753 | |
| 754 | 2018-01-13 Nick Clifton <nickc@redhat.com> |
| 755 | |
| 756 | 2.30 branch created. |
| 757 | |
| 758 | 2018-01-12 Cary Coutant <ccoutant@gmail.com> |
| 759 | |
| 760 | * NEWS: Add new features in 1.15. |
| 761 | * version.cc (version_string): Bump to 1.15. |
| 762 | |
| 763 | 2018-01-12 Sterling Augustine <saugustine@google.com> |
| 764 | |
| 765 | * cref.cc (Cref_inputs::Cref_table_compare::operator): Add |
| 766 | conditionals and calls to is_forwarder. |
| 767 | |
| 768 | 2018-01-03 Alan Modra <amodra@gmail.com> |
| 769 | |
| 770 | Update year range in copyright notice of all files. |
| 771 | |
| 772 | For older changes see ChangeLog-2017 |
| 773 | \f |
| 774 | Copyright (C) 2018 Free Software Foundation, Inc. |
| 775 | |
| 776 | Copying and distribution of this file, with or without modification, |
| 777 | are permitted in any medium without royalty provided the copyright |
| 778 | notice and this notice are preserved. |
| 779 | |
| 780 | Local Variables: |
| 781 | mode: change-log |
| 782 | left-margin: 8 |
| 783 | fill-column: 74 |
| 784 | version-control: never |
| 785 | End: |