12017-04-17 Joel Brobecker <brobecker@adacore.com> 2 3 * development.sh (development): Set to false. 4 52017-04-13 Alan Modra <amodra@gmail.com> 6 7 * coffcode.h: Wrap some overly long _bfd_error_handler args. 8 * elf.c: Likewise. 9 * elf32-arm.c: Likewise. 10 * elf32-i386.c: Likewise. 11 * elf32-mep.c: Likewise. 12 * elf64-ia64-vms.c: Likewise. 13 * elf64-x86-64.c: Likewise. 14 * elflink.c: Likewise. 15 * elfnn-ia64.c: Likewise. 16 * elfxx-mips.c: Likewise. 17 182017-04-13 Alan Modra <amodra@gmail.com> 19 20 * aoutx.h: Use %B and %A in error messages throughout file. 21 * aout-cris.c: Likewise. 22 * archive.c: Likewise. 23 * binary.c: Likewise. 24 * coff-rs6000.c: Likewise. 25 * coff-tic4x.c: Likewise. 26 * coffcode.h: Likewise. 27 * coffgen.c: Likewise. 28 * cofflink.c: Likewise. 29 * coffswap.h: Likewise. 30 * cpu-arm.c: Likewise. 31 * elf-eh-frame.c: Likewise. 32 * elf-m10300.c: Likewise. 33 * elf.c: Likewise. 34 * elf32-arc.c: Likewise. 35 * elf32-arm.c: Likewise. 36 * elf32-bfin.c: Likewise. 37 * elf32-frv.c: Likewise. 38 * elf32-iq2000.c: Likewise. 39 * elf32-m32c.c: Likewise. 40 * elf32-microblaze.c: Likewise. 41 * elf32-nds32.c: Likewise. 42 * elf32-rl78.c: Likewise. 43 * elf32-rx.c: Likewise. 44 * elf32-score.c: Likewise. 45 * elf32-score7.c: Likewise. 46 * elf32-sh64.c: Likewise. 47 * elf32-v850.c: Likewise. 48 * elf32-vax.c: Likewise. 49 * elf32-visium.c: Likewise. 50 * elf64-ia64-vms.c: Likewise. 51 * elf64-mmix.c: Likewise. 52 * elf64-sh64.c: Likewise. 53 * elfcode.h: Likewise. 54 * elfnn-aarch64.c: Likewise. 55 * elfnn-ia64.c: Likewise. 56 * elfxx-mips.c: Likewise. 57 * hpux-core.c: Likewise. 58 * ieee.c: Likewise. 59 * ihex.c: Likewise. 60 * linker.c: Likewise. 61 * merge.c: Likewise. 62 * mmo.c: Likewise. 63 * oasys.c: Likewise. 64 * pdp11.c: Likewise. 65 * peXXigen.c: Likewise. 66 * rs6000-core.c: Likewise. 67 * vms-alpha.c: Likewise. 68 * xcofflink.c: Likewise. 69 702017-04-13 Alan Modra <amodra@gmail.com> 71 72 * bfd.c (PRINT_TYPE): Define. 73 (_doprnt): New function. 74 (error_handler_internal): Use _doprnt. 75 * coff-arm.c: Put %A and %B arguments to _bfd_error_handler 76 calls in their natural order, throughout file. 77 * coff-mcore.c: Likewise. 78 * coff-ppc.c: Likewise. 79 * coff-tic80.c: Likewise. 80 * cofflink.c: Likewise. 81 * elf-s390-common.c: Likewise. 82 * elf.c: Likewise. 83 * elf32-arm.c: Likewise. 84 * elf32-i386.c: Likewise. 85 * elf32-m32r.c: Likewise. 86 * elf32-msp430.c: Likewise. 87 * elf32-spu.c: Likewise. 88 * elf64-ia64-vms.c: Likewise. 89 * elf64-sparc.c: Likewise. 90 * elf64-x86-64.c: Likewise. 91 * elflink.c: Likewise. 92 * elfnn-aarch64.c: Likewise. 93 * elfnn-ia64.c: Likewise. 94 * elfxx-mips.c: Likewise. 95 962017-04-13 Alan Modra <amodra@gmail.com> 97 98 * elf32-arm.c (arm_type_of_stub): Supply missing args to "long 99 branch veneers" error. Fix double space and format message. 100 * elf32-avr.c (avr_add_stub): Do not pass NULL as %B arg. 101 * elf64-ppc.c (tocsave_find): Supply missing %B arg. 102 1032017-04-13 Alan Modra <amodra@gmail.com> 104 105 * bfd-in2.h: Regenerate. 106 1072017-04-11 H.J. Lu <hongjiu.lu@intel.com> 108 109 * elf-properties.c (_bfd_elf_parse_gnu_properties): Remove the 110 extra `\n' in warning/error messages. 111 * elf32-i386.c (elf_i386_parse_gnu_properties): Likewise. 112 * elf64-x86-64.c (elf_x86_64_parse_gnu_properties): Likewise. 113 1142017-04-11 H.J. Lu <hongjiu.lu@intel.com> 115 116 * elf-properties.c (_bfd_elf_parse_gnu_properties): Ignore 117 processor-specific properties with generic ELF target vector. 118 1192017-04-10 Qing Zhao <qing.zhao@oracle.com> 120 121 * elf32-sparc.c (elf_backend_fixup_symbol): New. 122 * elf64-sparc.c (elf_backend_fixup_symbol): New. 123 * elfxx-sparc.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New. 124 (_bfd_sparc_elf_link_hash_entry): Add has_got_reloc and 125 has_non_got_reloc. 126 (link_hash_newfunc): Initialize has_got_reloc and 127 has_non_got_reloc. 128 (_bfd_sparc_elf_size_dynamic_sections): Set interp to .interp 129 section. 130 (_bfd_sparc_elf_copy_indirect_symbol): Copy has_got_reloc and 131 has_non_got_reloc. 132 (_bfd_sparc_elf_check_relocs): Set has_got_reloc and 133 has_non_got_reloc. 134 (_bfd_sparc_elf_fixup_symbol): New function. 135 (allocate_dynrelocs): Don't allocate space for dynamic 136 relocations and discard relocations against resolved undefined 137 weak symbols in executable. Don't make resolved undefined weak 138 symbols in executable dynamic. Keep dynamic non-GOT/non-PLT 139 relocation against undefined weak symbols in PIE. 140 (_bfd_sparc_elf_relocate_section): Don't generate dynamic 141 relocations against resolved undefined weak symbols in PIE 142 (_bfd_sparc_elf_finish_dynamic_symbol): Keep PLT/GOT entries 143 without ynamic PLT/GOT relocations for resolved undefined weak 144 symbols. 145 Don't generate dynamic relocation against resolved undefined 146 weak symbol in executable. 147 (pie_finish_undefweak_symbol): New function. 148 (_bfd_sparc_elf_finish_dynamic_sections): Call 149 pie_finish_undefweak_symbol on all symbols in PIE. 150 * elfxx-sparc.h (_bfd_sparc_elf_link_hash_table): Add interp. 151 (_bfd_sparc_elf_fixup_symbol): New function. 152 1532017-04-10 Nick Clifton <nickc@redhat.com> 154 155 * config.bfd: Remove ns32k from obsolete list. 156 1572017-04-10 Alan Modra <amodra@gmail.com> 158 159 PR 21287 160 * elf.c (special_sections_f): Match .fini_array and .fini_array.*. 161 (special_sections_i): Likewise for .init_array. 162 (special_sections_p): Likewise for .preinit_array. 163 1642017-04-07 H.J. Lu <hongjiu.lu@intel.com> 165 166 PR ld/19579 167 PR ld/21306 168 * elf32-s390.c (elf_s390_finish_dynamic_symbol): Check 169 ELF_COMMON_DEF_P for common symbols. 170 * elf64-s390.c (elf_s390_finish_dynamic_symbol): Likewise. 171 * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise. 172 * elflink.c (_bfd_elf_merge_symbol): Revert commits 173 202ac193bbbecc96a4978d1ac3d17148253f9b01 and 174 07492f668d2173da7a2bda3707ff0985e0f460b6. 175 1762017-04-07 Pedro Alves <palves@redhat.com> 177 178 * opncls.c (bfd_get_debug_link_info): Rename to... 179 (bfd_get_debug_link_info_1): ... this. Change type of second 180 parameter to void pointer. Adjust. 181 (bfd_get_debug_link_info): Reimplement on top of 182 bfd_get_debug_link_info_1. 183 (separate_debug_file_exists, separate_alt_debug_file_exists): 184 Change type of second parameter to void pointer. Adjust. 185 (get_func_type, check_func_type): Change type of second parameter 186 to void pointer. 187 (find_separate_debug_file): Add 'func_data' parameter. Pass it to 188 the callback functions instead of passing the address of a local. 189 (bfd_follow_gnu_debuglink): Pass address of unsigned long local to 190 find_separate_debug_file. 191 (get_alt_debug_link_info_shim): Change type of second parameter to 192 void pointer. Adjust. 193 (bfd_follow_gnu_debugaltlink): Adjust to pass NULL to 194 find_separate_debug_file. 195 (get_build_id_name, bfd_boolean check_build_id_file): Change type 196 of second parameter to void pointer. Adjust. 197 (bfd_follow_build_id_debuglink): Pass address of bfd_build_id 198 pointer local to find_separate_debug_file. 199 2002017-04-07 Tristan Gingold <gingold@gingold-Precision-7510> 201 202 * coffgen.c (_bfd_coff_gc_mark_hook): Handle PE weak 203 external symbols with a definition. 204 (_bfd_coff_gc_mark_extra_sections): Fix typo. 205 2062017-04-07 Alan Modra <amodra@gmail.com> 207 208 * po/SRC-POTFILES.in: Regenerate. 209 2102017-04-05 Alan Modra <amodra@gmail.com> 211 212 * elf64-ppc.c (ppc64_elf_gc_sweep_hook): Support ELFv2 PLT 213 reference counting. 214 2152017-04-02 Jon Turney <jon.turney@dronecode.org.uk> 216 217 (_bfd_XXi_swap_aouthdr_out): For clarity, use defines rather than 218 numbers for DataDirectory entry indicies passed to 219 add_data_entry(). 220 2212017-04-04 H.J. Lu <hongjiu.lu@intel.com> 222 223 * elf.c (get_program_header_size): Add a GNU_MBIND segment for 224 each GNU_MBIND section and align GNU_MBIND section to page size. 225 (_bfd_elf_map_sections_to_segments): Create a GNU_MBIND 226 segment for each GNU_MBIND section. 227 (_bfd_elf_init_private_section_data): Copy sh_info from input 228 for GNU_MBIND section. 229 2302017-04-03 Palmer Dabbelt <palmer@dabbelt.com> 231 232 * elfnn-riscv.c (GP_NAME): Delete. 233 (riscv_global_pointer_value): Change GP_NAME to RISCV_GP_SYMBOL. 234 (_bfd_riscv_relax_lui): Likewise. 235 2362017-04-04 Nick Clifton <nickc@redhat.com> 237 238 PR binutils/21342 239 * elflink.c (_bfd_elf_define_linkage_sym): Prevent null pointer 240 dereference. 241 (bfd_elf_final_link): Only initialize the extended symbol index 242 section if there are extended symbol tables to list. 243 2442017-04-03 H.J. Lu <hongjiu.lu@intel.com> 245 246 * Makefile.am (BFD32_BACKENDS): Add elf-properties.lo. 247 (BFD32_BACKENDS_CFILES): Add elf-properties.c. 248 * configure.ac (elf): Add elf-properties.lo. 249 * Makefile.in: Regenerated. 250 * configure: Likewise. 251 * elf-bfd.h (elf_property_kind): New. 252 (elf_property): Likewise. 253 (elf_property_list): Likewise. 254 (elf_properties): Likewise. 255 (_bfd_elf_parse_gnu_properties): Likewise. 256 (_bfd_elf_get_property): Likewise. 257 (_bfd_elf_link_setup_gnu_properties): Likewise. 258 (elf_backend_data): Add parse_gnu_properties, merge_gnu_properties 259 and setup_gnu_properties. 260 (elf_obj_tdata): Add properties. 261 * elf-properties.c: New file. 262 * elf32-i386.c (elf_i386_parse_gnu_properties): New. 263 (elf_i386_merge_gnu_properties): Likewise. 264 (elf_backend_parse_gnu_properties): Likewise. 265 (elf_backend_merge_gnu_properties): Likewise. 266 * elf64-x86-64.c (elf_x86_64_parse_gnu_properties): Likewise. 267 (elf_x86_64_merge_gnu_properties): Likewise. 268 (elf_backend_parse_gnu_properties): Likewise. 269 (elf_backend_merge_gnu_properties): Likewise. 270 * elfxx-target.h (elf_backend_merge_gnu_properties): Likewise. 271 (elf_backend_parse_gnu_properties): Likewise. 272 (elf_backend_setup_gnu_properties): Likewise. 273 (elfNN_bed): Add elf_backend_parse_gnu_properties, 274 elf_backend_merge_gnu_properties and 275 elf_backend_setup_gnu_properties. 276 2772017-03-30 Pip Cet <pipcet@gmail.com> 278 279 * elf32-wasm32.c: Add relocation code, two relocs. 280 * reloc.c: Add wasm32 relocations. 281 * libbfd.h: Regenerate. 282 * bfd-in2.h: Regenerate. 283 * bfd/po/bfd.pot: Regenerate. 284 2852017-03-29 Nick Clifton <nickc@redhat.com> 286 287 PR binutils/18025 288 * coff-bfd.h (struct coff_section_data): Add new fields: 289 saved_bias and bias. 290 * coffgen.c (coff_find_nearest_line_with_names): Cache the bias 291 computed for PE binaries. 292 * dwarf2.c (scan_unit_for_symbols): Only warn once about each 293 missing abbrev. 294 2952017-03-28 Hans-Peter Nilsson <hp@axis.com> 296 297 PR ld/16044 298 * elf32-cris.c (elf_cris_adjust_gotplt_to_got): Adjust BFD_ASSERT 299 to handle a local symbol with a hash-symbol-entry; without PLT. 300 Add BFD_ASSERT for an incidental case with GOT entry present. 301 (cris_elf_check_relocs): Increment PLT refcount only if the symbol 302 isn't forced-or-set local. 303 3042017-03-27 Pip Cet <pipcet@gmail.com> 305 306 * wasm-module.c: New file to support WebAssembly modules. 307 * wasm-module.h: New file to support WebAssembly modules. 308 * doc/webassembly.texi: Start documenting wasm-module.c. 309 * config.bfd: Add wasm_vec. 310 * targets.c: Likewise. 311 * configure.ac: Likewise. 312 * Makefile.am: Add entries for wasm-module.c. 313 * Makefile.in: Regenerate. 314 * configure: Regenerate. 315 * po/SRC-POTFILES.in: Regenerate. 316 3172017-03-27 Pip Cet <pipcet@gmail.com> 318 319 * cpu-wasm32.c: New file to support wasm32 architecture. 320 * elf32-wasm32.c: New file to support wasm32 architecture. 321 * Makefile.am: Add wasm32 architecture. 322 * archures.c: Likewise. 323 * config.bfd: Likewise. 324 * configure.ac: Likewise. 325 * targets.c: Likewise. 326 * Makefile.in: Regenerate. 327 * bfd-in2.h: Regenerate. 328 * configure: Regenerate. 329 * po/SRC-POTFILES.in: Regenerate. 330 3312017-03-20 Alan Modra <amodra@gmail.com> 332 333 PR 21266 334 * elf64-ppc.c (compare_symbols): Stabilize sort. 335 3362017-03-18 Alan Modra <amodra@gmail.com> 337 338 * elf64-ppc.c (struct ppc_link_hash_table): Add 339 local_ifunc_resolver and maybe_local_ifunc_resolver. 340 (ppc_build_one_stub): Set flags on emitting dynamic 341 relocation to ifunc. 342 (ppc64_elf_relocate_section): Likewise. 343 (ppc64_elf_finish_dynamic_symbol): Likewise. 344 (ppc64_elf_finish_dynamic_sections): Error on DT_TEXTREL with 345 local dynamic relocs to ifuncs. 346 * elf32-ppc.c (struct ppc_elf_link_hash_table): Add 347 local_ifunc_resolver and maybe_local_ifunc_resolver. 348 (ppc_elf_relocate_section): Set flag on emitting dynamic 349 relocation to ifuncs. 350 (ppc_elf_finish_dynamic_symbol): Likewise. 351 (ppc_elf_finish_dynamic_sections): Error on DT_TEXTREL with local 352 dynamic relocs to ifuncs. 353 3542017-03-13 Nick Clifton <nickc@redhat.com> 355 356 PR binutils/21202 357 * reloc.c (BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC): Rename to 358 BFD_RELOC_AARCH64_TLSDESC_LD64_LO12. 359 (BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC): Rename to 360 BFD_RELOC_AARCH64_TLSDESC_ADD_LO12. 361 * bfd-in2.h: Regenerate. 362 * libbfd.h: Regenerate. 363 * elfnn-aarch64.c (IS_AARCH64_TLS_RELAX_RELOC): Update reloc 364 names. 365 (IS_AARCH64_TLSDESC_RELOC): Likewise. 366 (elfNN_aarch64_howto_table): Likewise. 367 (aarch64_tls_transition_without_check): Likewise. 368 (aarch64_reloc_got_type): Likewise. 369 (elfNN_aarch64_final_link_relocate): Likewise. 370 (elfNN_aarch64_tls_relax): Likewise. 371 (elfNN_aarch64_relocate_section): Likewise. 372 (elfNN_aarch64_gc_sweep_hook): Likewise. 373 (elfNN_aarch64_check_relocs): Likewise. 374 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise. 375 (_bfd_aarch64_elf_resolve_relocation): Likewise. 376 3772017-03-11 Alan Modra <amodra@gmail.com> 378 379 * elf32-ppc.c: Remove ATTRIBUTE_UNUSED throughout when function 380 parameter is in fact used. Whitespace fixes. 381 * elf64-ppc.c: Likewise. 382 3832017-03-09 Sam Thursfield <sam.thursfield@codethink.co.uk> 384 385 * rs6000-core.c (CORE_NEW): Simplify macro when 386 AIX_CORE_DUMPX_CORE and BFD64 are true to avoid compile warning. 387 3882017-03-07 Alan Modra <amodra@gmail.com> 389 390 PR 21224 391 PR 20519 392 * elf64-ppc.c (ppc64_elf_relocate_section): Add missing 393 dyn_relocs check. 394 3952017-03-05 Alan Modra <amodra@gmail.com> 396 397 * elf-bfd.h (struct eh_cie_fde): Add u.cie.per_encoding_aligned8. 398 * elf-eh-frame.c (size_of_output_cie_fde): Don't align here. 399 (next_cie_fde_offset): New function. 400 (_bfd_elf_parse_eh_frame): Set u.cie.per_encoding_aligned8. 401 (_bfd_elf_discard_section_eh_frame): Align zero terminator to 402 four bytes. Align CIEs to four or eight bytes depending on 403 per_encoding_aligned8. Align FDEs according to their encoding. 404 Pad last FDE to output section alignment. 405 (_bfd_elf_write_section_eh_frame): Adjust to suit. Remove 406 assertion. 407 * elf64-ppc.c (glink_eh_frame_cie): Delete padding. 408 (ppc64_elf_size_stubs): Pad glink eh_frame as per elf-eh-frame.c. 409 (ppc64_elf_finish_dynamic_sections): Adjust to suit. 410 4112017-03-02 Martin Bickel <binutils@ineranves.de> 412 413 PR ld/21212 414 * elf.c (rewrite_elf_program_header): Do not issue a warning for 415 empty segments which have a zero filesz, but a non-zero memsz. 416 4172017-03-02 Alan Modra <amodra@gmail.com> 418 419 * elf32-ppc.c (ppc_elf_vle_split16): Correct insn mask typo. 420 4212017-02-28 Alan Modra <amodra@gmail.com> 422 423 * elf64-ppc.c (ppc64_elf_ha_reloc): Revert last change. 424 (ppc64_elf_relocate_section): Likewise. 425 4262017-02-28 Alan Modra <amodra@gmail.com> 427 428 PR 20995 429 * elf32-nios2.c (nios2_elf32_relocate_section): Use htab 430 rather than elf32_nios2_hash_table or elf_hash_table. 431 (create_got_section): Likewise. 432 (nios2_elf32_finish_dynamic_symbol): Likewise. 433 (nios2_elf32_adjust_dynamic_symbol): Likewise. 434 (nios2_elf32_size_dynamic_sections): Likewise. 435 (nios2_elf32_check_relocs): Delete dynobj, sgot, and srelgot 436 vars. Use htab equivalents directly instead. Don't create 437 all dynamic sections on needing just the GOT. Use a goto 438 rather than a fall-through with reloc test. Ensure 439 htab->dynobj is set when making dynamic sreloc section. 440 (nios2_elf32_finish_dynamic_sections): Delete dynobj, use htab 441 equivalent directly instead. Don't segfault on looking for 442 .dynamic when dynamic sections have not been created. Don't 443 segfault on .got.plt being discarded. 444 (nios2_elf32_size_dynamic_sections): Delete plt and got vars. 445 Don't set "relocs" on .rela.plt. Do handle .sbss. Delete 446 fixme and another not so relevant comment. 447 (nios2_elf_add_symbol_hook): Delete dynobj var. If not 448 already set, set hash table dynobj on creating .sbss. 449 4502017-02-28 Alan Modra <amodra@gmail.com> 451 452 * reloc.c (BFD_RELOC_PPC_16DX_HA): New. 453 * elf64-ppc.c (ppc64_elf_howto_raw <R_PPC64_16DX_HA>): New howto. 454 (ppc64_elf_reloc_type_lookup): Translate new bfd reloc. 455 (ppc64_elf_ha_reloc): Correct overflow test on REL16DX_HA. 456 (ppc64_elf_relocate_section): Likewise. 457 * elf32-ppc.c (ppc_elf_howto_raw <R_PPC_16DX_HA>): New howto. 458 (ppc_elf_reloc_type_lookup): Translate new bfd reloc. 459 (ppc_elf_check_relocs): Handle R_PPC_16DX_HA to pacify gcc. 460 * libbfd.h: Regenerate. 461 * bfd-in2.h: Regenerate. 462 4632017-02-28 Alan Modra <amodra@gmail.com> 464 465 * elflink.c (_bfd_elf_create_dynamic_sections): Don't make 466 dynamic .data.rel.ro read-only. 467 * elf32-arm.c (elf32_arm_finish_dynamic_symbol): Compare section 468 rather than section flags when deciding where copy reloc goes. 469 * elf32-cris.c (elf_cris_finish_dynamic_symbol): Likewise. 470 * elf32-hppa.c (elf32_hppa_finish_dynamic_symbol): Likewise. 471 * elf32-i386.c (elf_i386_finish_dynamic_symbol): Likewise. 472 * elf32-metag.c (elf_metag_finish_dynamic_symbol): Likewise. 473 * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol): Likewise. 474 * elf32-nios2.c (nios2_elf32_finish_dynamic_symbol): Likewise. 475 * elf32-or1k.c (or1k_elf_finish_dynamic_symbol): Likewise. 476 * elf32-ppc.c (ppc_elf_finish_dynamic_symbol): Likewise. 477 * elf32-s390.c (elf_s390_finish_dynamic_symbol): Likewise. 478 * elf32-tic6x.c (elf32_tic6x_finish_dynamic_symbol): Likewise. 479 * elf32-tilepro.c (tilepro_elf_finish_dynamic_symbol): Likewise. 480 * elf64-ppc.c (ppc64_elf_finish_dynamic_symbol): Likewise. 481 * elf64-s390.c (elf_s390_finish_dynamic_symbol): Likewise. 482 * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Likewise. 483 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol): Likewise. 484 * elfnn-riscv.c (riscv_elf_finish_dynamic_symbol): Likewise. 485 * elfxx-mips.c (_bfd_mips_vxworks_finish_dynamic_symbol): Likewise. 486 * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_symbol): Likewise. 487 * elfxx-tilegx.c (tilegx_elf_finish_dynamic_symbol): Likewise. 488 4892017-02-28 Maciej W. Rozycki <macro@imgtec.com> 490 491 * elfxx-mips.c (mips_elf_perform_relocation): Also handle the 492 `jalr $0, $25' instruction encoding. 493 4942017-02-27 Nick Clifton <nickc@redhat.com> 495 496 PR ld/21180 497 * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol): Avoid 498 generating a seg-fault when encountering a symbol that has been 499 deleted by garbage collection. 500 5012017-02-25 Alan Modra <amodra@gmail.com> 502 503 * elf32-arc.c (struct dynamic_sections): Delete. 504 (enum dyn_section_types): Delete. 505 (dyn_section_names): Delete. 506 (arc_create_dynamic_sections): Delete. 507 (elf_arc_finish_dynamic_sections): Don't call the above. Don't 508 segfault on discarded .rela.plt section. 509 (elf_arc_size_dynamic_sections): Formatting. Don't call 510 arc_create_dynamic_sections. Don't allocate memory for sections 511 handled by the generic linker. Correct code finding relocs in 512 read-only sections. Set SEC_EXCLUDE on zero size .got, 513 .got.plt, and .dynbss sections. Do set .interp for pies. 514 5152017-02-24 Andrew Waterman <andrew@sifive.com> 516 517 * elfnn-riscv.c (GP_NAME): New macro. 518 (riscv_global_pointer_value): Use it. 519 (_bfd_riscv_relax_lui): If symbol and global pointer are in same 520 output section, consider only that section's alignment. 521 5222017-02-23 Maciej W. Rozycki <macro@imgtec.com> 523 524 * elfxx-mips.h (_bfd_mips_relax_section): Remove prototype. 525 * elfxx-mips.c (_bfd_mips_relax_section): Remove function. 526 * elf64-mips.c (bfd_elf64_bfd_relax_section): Remove macro. 527 * elfn32-mips.c (bfd_elf32_bfd_relax_section): Likewise. 528 5292017-02-23 Maciej W. Rozycki <macro@imgtec.com> 530 531 * elfxx-mips.c (mips_elf_calculate_relocation) <R_MIPS_JALR> 532 <R_MICROMIPS_JALR>: Discard relocation if `cross_mode_jump_p' 533 or misaligned. 534 5352017-02-23 Alan Modra <amodra@gmail.com> 536 537 PR 20744 538 * elf32-ppc.c (ppc_elf_howto_raw): Correct dst_mask on all VLE 539 16D relocations. 540 (ppc_elf_vle_split16): Correct field mask and shift for 16D relocs. 541 (ppc_elf_relocate_section): Correct calculation for VLE SDAREL 542 relocs. 543 5442017-02-22 Maciej W. Rozycki <macro@imgtec.com> 545 546 PR ld/20828 547 * elflink.c (bfd_elf_size_dynamic_sections): Move symbol version 548 processing ahead of the call to `elf_gc_sweep_symbol'. 549 5502017-02-22 Nick Clifton <nickc@redhat.com> 551 552 PR binutils/21193 553 * opncls.c (bfd_create_gnu_debuglink_section): Give the newly 554 created section 4-byte alignment. 555 5562017-02-22 Alan Modra <amodra@gmail.com> 557 558 * elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Don't segfault 559 on .got or .plt output section being discarded by script. 560 * elf32-ppc.c (ppc_elf_finish_dynamic_sections): Likewise. Move 561 vxworks splt temp. 562 5632017-02-21 Alan Modra <amodra@gmail.com> 564 565 * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Only emit 566 DT_RELA, DT_RELASZ, and DT_RELAENT when DT_RELASZ is non-zero. 567 5682017-02-20 Alan Modra <amodra@gmail.com> 569 570 PR 21181 571 * elflink.c (bfd_elf_final_link): Make DT_REL/DT_RELA zero 572 if DT_RELSZ/DT_RELASZ is zero. 573 5742017-02-17 Nick Clifton <nickc@redhat.com> 575 576 * compress.c (bfd_get_full_section_contents): Remember to reduce 577 compressed size by the sizeof the compression header when 578 decompressing the contents. 579 5802017-02-17 Pedro Alves <palves@redhat.com> 581 582 * srec.c (Chunk): Rename to ... 583 (_bfd_srec_len): ... this. 584 (S3Forced): Rename to ... 585 (_bfd_srec_forceS3): ... this. 586 * objcopy.c: Adjust all references. 587 5882017-02-17 Pedro Alves <palves@redhat.com> 589 590 * archive.c (bsd_write_armap): Rename to ... 591 (_bfd_bsd_write_armap): ... this. 592 (coff_write_armap): Rename to ... 593 (_bfd_coff_write_armap): ... this. 594 * libbfd-in.h (bsd_write_armap): Rename to ... 595 (_bfd_bsd_write_armap): ... this. 596 (coff_write_armap): Rename to ... 597 (_bfd_coff_write_armap): ... this. 598 * aout-target.h, aout-tic30.c: Adjust all users. 599 * libbfd.h: Regenerate. 600 6012017-02-17 Pedro Alves <palves@redhat.com> 602 603 * bfd-in.h (bfd_read, bfd_write): Adjust to rename. 604 (warn_deprecated): Rename to ... 605 (_bfd_warn_deprecated): ... this. 606 * libbfd.c (warn_deprecated): Rename to ... 607 (_bfd_warn_deprecated): ... this. 608 * bfd-in2.h: Regenerate. 609 6102017-02-17 Pedro Alves <palves@redhat.com> 611 612 * bfdio.c (real_ftell): Rename to ... 613 (_bfd_real_ftell): ... this. 614 (real_fseek): Rename to ... 615 (_bfd_real_fseek): ... this. 616 (real_fopen): Rename to ... 617 (_bfd_real_fopen): ... this. 618 * libbfd-in.h (real_ftell): Rename to ... 619 (_bfd_real_ftell): ... this. 620 (real_fseek): Rename to ... 621 (_bfd_real_fseek): ... this. 622 (real_fopen): Rename to ... 623 (_bfd_real_fopen): ... this. 624 * cache.c, dwarf2.c, opncls.c: Adjust all callers. 625 * libbfd.h: Regenerate. 626 6272017-02-17 Pedro Alves <palves@redhat.com> 628 629 * dwarf2.c, elf-attrs.c, elf32-nds32.c: Adjust all callers. 630 * libbfd.c (read_unsigned_leb128): Rename to ... 631 (_bfd_read_unsigned_leb128): ... this. 632 (read_signed_leb128): Rename to ... 633 (_bfd_read_signed_leb128): ... this. 634 (safe_read_leb128): Rename to ... 635 (_bfd_safe_read_leb128): ... this. 636 * libbfd-in.h (read_unsigned_leb128): Rename to ... 637 (_bfd_read_unsigned_leb128): ... this. 638 (read_signed_leb128): Rename to ... 639 (_bfd_read_signed_leb128): ... this. 640 (safe_read_leb128): Rename to ... 641 (_bfd_safe_read_leb128): ... this. 642 * libbfd.h: Renegerate. 643 6442017-02-16 Andrew Burgess <andrew.burgess@embecosm.com> 645 646 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Perform symbol lookup 647 before trying to fine matching file and line information. 648 6492017-02-16 Andrew Burgess <andrew.burgess@embecosm.com> 650 651 * dwarf2.c (struct dwarf2_debug): Add orig_bfd member. 652 (_bfd_dwarf2_slurp_debug_info): If stashed debug information does 653 not match current bfd, then reload debug information. Record bfd 654 we're loading debug info for in the stash. If we have debug 655 informatin in the cache then perform section placement before 656 returning. 657 6582017-02-16 Alan Modra <amodra@gmail.com> 659 660 PR 21000 661 * elf-bfd.h (struct elf_backend_data): Add no_page_alias. 662 * elfxx-target.h (elf_backend_no_page_alias): Define. 663 (elfNN_bed): Init new field. 664 * elf.c (assign_file_positions_for_load_sections): If no_page_alias 665 ensure PT_LOAD segment starts on a new page. 666 * elf32-hppa.c (elf_backend_no_page_alias): Define. 667 6682017-02-16 Alan Modra <amodra@gmail.com> 669 670 PR 21132 671 * elf32-hppa.c (allocate_plt_static): Allocate space for relocs 672 if pic. 673 6742017-02-16 Jiong Wang <jiong.wang@arm.com> 675 676 * bfd.c (BFD_FLAGS_SAVED): Add BFD_LINKER_CREATED. 677 * bfd-in2.h: Regenerated. 678 6792017-02-15 H.J. Lu <hongjiu.lu@intel.com> 680 681 PR ld/21168 682 * elf32-i386.c (elf_i386_relocate_section): Allow 683 "lea foo@GOT, %reg" in PIC. 684 6852017-02-15 H.J. Lu <hongjiu.lu@intel.com> 686 687 PR ld/20244 688 * elf32-i386.c (elf_i386_relocate_section): Properly get IFUNC 689 symbol name when reporting R_386_GOT32/R_386_GOT32X relocation 690 error against local IFUNC symbol without a base register for 691 PIC. 692 6932017-02-15 Maciej W. Rozycki <macro@imgtec.com> 694 695 * elf32-ppc.c (ppc_elf_check_relocs): Use `%H:' rather than 696 `%P: %H:' with `info->callbacks->einfo'. 697 (ppc_elf_relocate_section): Likewise. 698 * elf64-ppc.c (ppc64_elf_check_relocs): Likewise. 699 (ppc64_elf_edit_toc): Likewise. 700 (ppc64_elf_relocate_section): Likewise. 701 7022017-02-14 Alan Modra <amodra@gmail.com> 703 704 * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Support 705 --gc-keep-exported, and test versioned field of sym rather than 706 looking for @ in name. 707 7082017-02-13 Palmer Dabbelt <palmer@dabbelt.com> 709 710 * elfnn-riscv.c (riscv_global_pointer_value): Change _gp to 711 __global_pointer$. 712 7132017-02-13 Nick Clifton <nickc@redhat.com> 714 715 PR binutils/21151 716 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Check for an invalid 717 unit length field. 718 7192017-02-07 Andrew Waterman <andrew@sifive.com> 720 721 * elfnn-riscv.c (riscv_elf_finish_dynamic_sections): Only write PLT 722 entry size if PLT header is written. 723 7242017-02-06 Sheldon Lobo <sheldon.lobo@oracle.com> 725 726 Fix sparc64 dynamic relocation processing to use the dynamic 727 symbol count. 728 * elf64-sparc.c (elf64_sparc_slurp_one_reloc_table): Use 'dynamic' 729 to determine if bfd_get_symcount() or bfd_get_dynamic_symcount() 730 should be used. 731 7322017-02-03 Nick Clifton <nickc@redhat.com> 733 734 PR 21096 735 * coffcode.h (coff_write_object_contents): Enlarge size of 736 s_name_buf in order to avoid compile time warning about possible 737 integer truncation. 738 * elf32-nds32.c (nds32_elf_ex9_import_table): Mask off lower 739 32-bits of insn value before printing into buffer. 740 7412017-02-02 Maciej W. Rozycki <macro@imgtec.com> 742 743 * elfxx-mips.c (mips_elf_hash_sort_data): Add 744 `max_local_dynindx'. 745 (mips_elf_sort_hash_table): Handle it. 746 (mips_elf_sort_hash_table_f) <GGA_NONE>: For forced local 747 symbols bump up `max_local_dynindx' rather than 748 `max_non_got_dynindx'. 749 7502017-02-02 Maciej W. Rozycki <macro@imgtec.com> 751 752 * elfxx-mips.c (mips_elf_hash_sort_data): Convert the 753 `min_got_dynindx', `max_unref_got_dynindx' and 754 `max_non_got_dynindx' members to the `bfd_size_type' data type. 755 (mips_elf_sort_hash_table): Adjust accordingly. 756 7572017-02-02 Maciej W. Rozycki <macro@imgtec.com> 758 759 * elfxx-mips.c (mips_elf_sort_hash_table): Use `htab' throughout 760 to access the hash table. 761 7622017-02-02 Maciej W. Rozycki <macro@imgtec.com> 763 764 * elfxx-mips.c (mips_elf_sort_hash_table): Move assertion on 765 non-NULL `htab' to the beginning. 766 7672017-02-02 Maciej W. Rozycki <macro@imgtec.com> 768 769 * elflink.c (elf_gc_sweep): Wrap overlong line. 770 7712017-01-30 Maciej W. Rozycki <macro@imgtec.com> 772 773 * elfxx-mips.h (_bfd_mips_elf_insn32): Rename prototype to... 774 (_bfd_mips_elf_linker_flags): ... this. Add another parameter. 775 * elfxx-mips.c (mips_elf_link_hash_table): Add 776 `ignore_branch_isa' member. 777 (mips_elf_perform_relocation): Do not treat an ISA mode mismatch 778 in branch relocation calculation as an error if 779 `ignore_branch_isa' has been set. 780 (_bfd_mips_elf_insn32): Rename to... 781 (_bfd_mips_elf_linker_flags): ... this. Rename the `on' 782 parameter to `insn32' and add an `ignore_branch_isa' parameter. 783 Handle the new parameter. 784 7852017-01-27 Hans-Peter Nilsson <hp@axis.com> 786 787 * elf32-cris.c (elf_cris_finish_dynamic_symbol): Remove now unused 788 local variable dynobj. 789 790 PR ld/20995 791 * elf32-cris.c (elf_cris_size_dynamic_sections): Handle sdynrelro. 792 (elf_cris_adjust_dynamic_symbol): Place variables copied into the 793 executable from read-only sections into sdynrelro. 794 (elf_cris_finish_dynamic_symbol): Select sreldynrelro for 795 dynamic relocs in sdynrelro. 796 (elf_backend_want_dynrelro): Define. 797 7982017-01-25 Sebastian Huber <sebastian.huber@embedded-brains.de> 799 800 * config.bfd (*-*-rtemsaout*): Mark as removed. 801 8022017-01-25 Sebastian Huber <sebastian.huber@embedded-brains.de> 803 804 * config.bfd (powerpcle-*-rtems*): Do not mark as removed. 805 (arm-*-rtems*): Move to (arm*-*-eabi*). 806 (i[3-7]86-*-rtems*): Move to (i[3-7]86-*-elf*). 807 (m68-*-rtems*): Move to (m68*-*-elf*). 808 8092017-01-25 Sebastian Huber <sebastian.huber@embedded-brains.de> 810 811 * config.bfd (*-*-rtemscoff*): Mark as removed. 812 8132017-01-24 Maciej W. Rozycki <macro@imgtec.com> 814 815 PR ld/20828 816 * elflink.c (bfd_elf_record_link_assignment): Revert last 817 change and don't ever clear `forced_local'. Set `mark' 818 unconditionally. 819 (elf_gc_sweep_symbol_info, elf_gc_sweep_symbol): Reorder within 820 file. 821 (elf_gc_sweep): Move the call to `elf_gc_sweep_symbol'... 822 (bfd_elf_size_dynamic_sections): ... here. 823 * elf32-ppc.c (ppc_elf_tls_setup): Don't clear `forced_local' 824 and set `mark' instead in `__tls_get_addr_opt' processing. 825 * elf64-ppc.c (ppc64_elf_tls_setup): Likewise. 826 8272017-01-24 Alan Modra <amodra@gmail.com> 828 829 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Merge two cases 830 where dynamic relocs are preferable. Allow ifunc too. 831 (ensure_undefweak_dynamic): New function. 832 (allocate_dynrelocs): Use it here. Move plt handling last and 833 don't make symbols dynamic, simplifying loop. Only make undef 834 weak symbols with GOT entries dynamic. Correct condition 835 for GOT relocs. Handle dynamic relocs on ifuncs. Correct 836 comments. Remove goto. 837 (ppc_elf_relocate_section): Correct test for using dynamic 838 symbol on GOT relocs. Rearrange test for emitting GOT relocs 839 to suit. Set up explicit tls_index entries and implicit GOT 840 tls_index entries resolvable at link time for 841 __tls_get_addr_opt. Simplify test to clear mem for prelink. 842 * elf64-ppc.c (allocate_got): Correct condition for GOT relocs. 843 (ensure_undefweak_dynamic): New function. 844 (allocate_dynrelocs): Use it here. Only make undef weak symbols 845 with GOT entries dynamic. Remove unnecessary test of 846 WILL_CALL_FINISH_DYNAMIC_SYMBOL in PLT handling. 847 (ppc64_elf_relocate_section): Correct test for using dynamic 848 symbol on GOT relocs. Rearrange test for emitting GOT relocs 849 to suit. Set up explicit tls_index entries and implicit GOT 850 tls_index entries resolvable at link time for __tls_get_addr_opt. 851 Simplify expression to clear mem for prelink. 852 8532017-01-23 Yury Norov <ynorov@caviumnetworks.com> 854 855 * elfnn-aarch64.c: Fix relaxations for ILP32 mode. 856 8572017-01-20 Jiong Wang <jiong.wang@arm.com> 858 859 * elfnn-aarch64.c (elf_aarch64_hash_symbol): New function. 860 (elf_backend_hash_symbol): Define. 861 8622017-01-18 Maciej W. Rozycki <macro@imgtec.com> 863 864 PR ld/20828 865 * elflink.c (bfd_elf_record_link_assignment): Clear any 866 `forced_local' marking for DSO symbols that are not being 867 provided. 868 8692017-01-17 Kuan-Lin Chen <kuanlinchentw@gmail.com> 870 871 * elfnn-riscv.c (riscv_elf_object_p): New function. 872 8732017-01-12 H.J. Lu <hongjiu.lu@intel.com> 874 875 PR ld/21038 876 * elf64-x86-64.c (elf_x86_64_link_hash_table): Add 877 plt_bnd_eh_frame. 878 (elf_x86_64_check_relocs): Create .eh_frame section for the 879 .plt.bnd section. 880 (elf_x86_64_size_dynamic_sections): Allocate and initialize 881 .eh_frame section for the .plt.bnd section. 882 (elf_x86_64_finish_dynamic_sections): Adjust .eh_frame section 883 for the .plt.bnd section. 884 8852017-01-12 Nick Clifton <nickc@redhat.com> 886 887 PR binutils/20876 888 * opncls.c (find_separate_debug_file): Add include_dirs 889 parameter. Only include the directory part of the bfd's filename 890 in search paths if include_dirs is true. Add a couple of extra 891 locations for looking for debug files. 892 ( bfd_follow_gnu_debuglink): Update invocation of 893 find_separate_debug_file. 894 (bfd_follow_gnu_debugaltlink): Likewise. 895 (get_build_id): New function: Finds the build-id of the given bfd. 896 (get_build_id_name): New function: Computes the name of the 897 separate debug info file for a bfd, based upon its build-id. 898 (check_build_id_file): New function: Checks to see if a separate 899 debug info file exists at the given location, and that its 900 build-id matches that of the original bfd. 901 (bfd_follow_build_id_debuglink): New function: Finds a separate 902 debug info file for a given bfd by using the build-id method. 903 * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Try using the build-id 904 method of locating a separate debug info file before using the 905 debuglink method. 906 * bfd-in2.h: Regenerate. 907 9082017-01-11 H.J. Lu <hongjiu.lu@intel.com> 909 910 PR ld/21038 911 * elf64-x86-64.c (elf_x86_64_eh_frame_bnd_plt): New. 912 (elf_x86_64_bnd_arch_bed): Use elf_x86_64_eh_frame_bnd_plt and 913 elf_x86_64_eh_frame_plt_got. 914 (elf_x86_64_size_dynamic_sections): Get unwind info from 915 elf_x86_64_bnd_arch_bed for the BND PLT. 916 9172017-01-11 Jeremy Soller <jackpot51@gmail.com> 918 919 * config.bfd: Add entries for i686-redox and x86_64-redox. 920 9212017-01-10 H.J. Lu <hongjiu.lu@intel.com> 922 923 * elf32-i386.c (elf_i386_check_relocs): Align .eh_frame section 924 to 4 bytes. 925 * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Align 926 .eh_frame section to 4 bytes for x32. 927 (elf_x86_64_check_relocs): Likewise. 928 9292017-01-10 H.J. Lu <hongjiu.lu@intel.com> 930 931 PR ld/20830 932 * elf32-i386.c (elf_i386_eh_frame_plt_got): New. 933 (PLT_GOT_FDE_LENGTH): Likewise. 934 (elf_i386_plt_layout): Add eh_frame_plt_got and 935 eh_frame_plt_got_size. 936 (elf_i386_plt): Updated. 937 (elf_i386_link_hash_table): Add plt_got_eh_frame. 938 (elf_i386_check_relocs): Create .eh_frame section for .plt.got. 939 (elf_i386_size_dynamic_sections): Allocate and initialize 940 .eh_frame section for .plt.got. 941 (elf_i386_finish_dynamic_sections): Adjust .eh_frame section for 942 .plt.got. 943 (elf_i386_nacl_plt): Add FIXME for eh_frame_plt_got and 944 eh_frame_plt_got_size. 945 * elf64-x86-64.c (elf_x86_64_eh_frame_plt_got): New. 946 (PLT_GOT_FDE_LENGTH): Likewise. 947 (elf_x86_64_backend_data): Add eh_frame_plt_got and 948 eh_frame_plt_got_size. 949 (elf_x86_64_arch_bed): Updated. 950 (elf_x86_64_bnd_arch_bed): Add FIXME for eh_frame_plt_got and 951 eh_frame_plt_got_size. 952 (elf_x86_64_nacl_arch_bed): Likewise. 953 (elf_x86_64_link_hash_table): Add plt_got_eh_frame. 954 (elf_x86_64_check_relocs): Create .eh_frame section for .plt.got. 955 (elf_x86_64_size_dynamic_sections): Allocate and initialize 956 .eh_frame section for .plt.got. 957 (elf_x86_64_finish_dynamic_sections): Adjust .eh_frame section 958 for .plt.got. 959 9602017-01-10 H.J. Lu <hongjiu.lu@intel.com> 961 962 * elf32-i386.c (elf_i386_size_dynamic_sections): Set 963 plt_eh_frame->size to eh_frame_plt_size and use eh_frame_plt. 964 9652017-01-09 Nick Clifton <nickc@redhat.com> 966 967 * dwarf2.c (lookup_address_in_function_table): Return early if 968 there are no functions in the given comp unit, or if the high 969 address of the last function in the comp unit is less than the 970 desired address. 971 9722017-01-09 Nick Clifton <nickc@redhat.com> 973 974 PR binutils/21013 975 * coffgen.c (_bfd_coff_get_external_symbols): Generate an error 976 message if there are too many symbols to load. 977 9782017-01-04 James Clarke <jrtc27@jrtc27.com> 979 980 * elf64-alpha.c (elf64_alpha_relax_opt_call): Don't set tsec_free 981 if relocs are cached. 982 9832017-01-03 Rich Felker <bugdal@aerifal.cx> 984 985 PR ld/21017 986 * elf32-microblaze.c (microblaze_elf_check_relocs): Add an entry 987 for R_MICROBLAZE_GOTOFF_64. 988 9892017-01-03 Nick Clifton <nickc@redhat.com> 990 991 * mach-o.c (bfd_mach_o_lookup_uuid_command): Fix compile time 992 warning about using a possibly uninitialised variable. 993 9942017-01-02 Alan Modra <amodra@gmail.com> 995 996 * elf32-hppa.c (ensure_undef_weak_dynamic): New function. 997 (allocate_plt_static, allocate_dynrelocs): Use it. 998 9992017-01-02 Alan Modra <amodra@gmail.com> 1000 1001 * elf-hppa.h (elf_hppa_fake_sections): Set SHF_INFO_LINK for 1002 .PARISC.unwind section. 1003 10042017-01-02 Alan Modra <amodra@gmail.com> 1005 1006 PR ld/20989 1007 * elfxx-sparc.c (gdop_relative_offset_ok): New function. 1008 (_bfd_sparc_elf_relocate_section): Use it to validate GOT 1009 indirect to GOT pointer relative code edit. 1010 10112017-01-02 Alan Modra <amodra@gmail.com> 1012 1013 Update year range in copyright notice of all files. 1014 1015For older changes see ChangeLog-2016 1016 1017Copyright (C) 2017 Free Software Foundation, Inc. 1018 1019Copying and distribution of this file, with or without modification, 1020are permitted in any medium without royalty provided the copyright 1021notice and this notice are preserved. 1022 1023Local Variables: 1024mode: change-log 1025left-margin: 8 1026fill-column: 74 1027version-control: never 1028End: 1029