12017-03-09 Alan Modra <amodra@gmail.com> 2 3 Apply from master 4 2016-09-26 Alan Modra <amodra@gmail.com> 5 * elf-bfd.h (_bfd_elf_ppc_merge_fp_attributes): Declare. 6 * elf32-ppc.c (_bfd_elf_ppc_merge_fp_attributes): New function. 7 (ppc_elf_merge_obj_attributes): Use it. Don't copy first file 8 attributes, merge them. Don't warn about undefined tag bits, 9 or copy unknown values to output. 10 * elf64-ppc.c (ppc64_elf_merge_private_bfd_data): Call 11 _bfd_elf_ppc_merge_fp_attributes. 12 132017-02-22 Alan Modra <amodra@gmail.com> 14 15 * elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Don't segfault 16 on .got or .plt output section being discarded by script. 17 * elf32-ppc.c (ppc_elf_finish_dynamic_sections): Likewise. Move 18 vxworks splt temp. 19 202017-02-21 Alan Modra <amodra@gmail.com> 21 22 Apply from master 23 2016-12-06 Alan Modra <amodra@gmail.com> 24 * elf64-ppc.c (ok_lo_toc_insn): Add r_type param. Recognize 25 lq,lfq,lxv,lxsd,lxssp,lfdp,stq,stfq,stxv,stxsd,stxssp,stfdp. 26 Don't match lmd and stmd. 27 282017-02-15 H.J. Lu <hongjiu.lu@intel.com> 29 30 PR ld/21168 31 * elf32-i386.c (elf_i386_relocate_section): Allow 32 "lea foo@GOT, %reg" in PIC. 33 342016-12-23 Maciej W. Rozycki <macro@imgtec.com> 35 36 * bfd/elfxx-mips.c (_bfd_mips_post_process_headers): Revert 37 2016-02-23 change and remove EI_ABIVERSION 5 support. 38 392016-11-30 Alan Modra <amodra@gmail.com> 40 41 PR ld/20886 42 * elf64-ppc.c (ppc64_elf_size_stubs): Make rawsize max size seen 43 on any pass past STUB_SHRINK_ITER. 44 452016-10-31 Alan Modra <amodra@gmail.com> 46 47 PR 20748 48 * elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Revert 49 2016-05-13 change. 50 512016-10-10 Christophe Lyon <christophe.lyon@linaro.org> 52 Backport from mainline 53 2016-09-28 Christophe Lyon <christophe.lyon@linaro.org> 54 55 PR ld/20608 56 * elf32-arm.c (arm_type_of_stub): Handle the case when the pre-PLT 57 Thumb-ARM stub is too far. 58 592016-09-06 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> 60 61 Backport from mainline 62 2016-09-02 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> 63 64 PR ld/20545 65 * elf32-avr.c (elf32_avr_relax_delete_bytes): Add parameter 66 delete_shrinks_insn. Modify computation of shrinked_insn_address. 67 Compute shrink_boundary and adjust addend only if 68 addend_within_shrink_boundary. 69 (elf32_avr_relax_section): Modify calls to 70 elf32_avr_relax_delete_bytes to pass extra parameter. 71 722016-09-01 Alan Modra <amodra@gmail.com> 73 74 * elf64-ppc.c (synthetic_opd): New static var. 75 (compare_symbols): Don't treat symbols in .opd specially for ELFv2. 76 (ppc64_elf_get_synthetic_symtab): Likewise. Comment. 77 782016-08-30 Alan Modra <amodra@gmail.com> 79 80 PR 20531 81 * elf32-ppc.c (_bfd_elf_ppc_set_arch): Add missing "break". 82 832016-08-19 Alan Modra <amodra@gmail.com> 84 85 PR 20472 86 * elf64-ppc.c (ppc64_elf_before_check_relocs): Tweak abiversion test. 87 (readonly_dynrelocs): Comment fix. 88 (global_entry_stub): New function. 89 (ppc64_elf_adjust_dynamic_symbol): Tweak abiversion test. Match 90 ELFv2 code deciding on dynamic relocs vs. global entry stubs to 91 that in size_global_entry_stubs, handling ifunc too. Delete dead 92 weak sym code. 93 (allocate_dynrelocs): Ensure dyn_relocs field is cleared when no 94 dyn_relocs are needed. Correct handling of ifunc dyn_relocs. 95 Tidy ELIMINATE_COPY_RELOCS code, only setting dynindx for 96 undefweak syms. Expand and correct comments. 97 (size_global_entry_stubs): Ensure symbol is defined. 98 (ppc64_elf_relocate_section): Match condition under which 99 dyn_relocs are emitted to that in allocate_dynrelocs. 100 1012016-08-11 Alan Modra <amodra@gmail.com> 102 103 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Don't exit with 104 non_got_ref true in any case where we could have generated dynbss 105 copies but decide not to do so. 106 1072016-08-02 Nick Clifton <nickc@redhat.com> 108 109 PR ld/17739 110 * elf32-sh.c (sh_elf_gc_sweep_hook): Delete. 111 (elf_backend_sweep_hook): Delete. 112 1132016-08-03 Tristan Gingold <gingold@adacore.com> 114 115 * version.m4: Bump version to 2.27.0 116 * configure: Regenerate. 117 1182016-08-03 Tristan Gingold <gingold@adacore.com> 119 120 * development.sh: Set development to true. 121 1222016-08-03 Tristan Gingold <gingold@adacore.com> 123 124 * version.m4: Bump version to 2.27 125 * configure: Regenerate. 126 1272016-08-03 Tristan Gingold <gingold@adacore.com> 128 129 * development.sh: Set development to false. 130 1312016-08-02 Alan Modra <amodra@gmail.com> 132 133 PR ld/20428 134 * elf64-ppc.c (ppc_get_stub_entry): Don't segfault on NULL group. 135 1362016-07-27 Nick Clifton <nickc@redhat.com> 137 138 * Import this patch from the mainline: 139 2016-07-27 Ozkan Sezer <sezeroz@gmail.com> 140 Nick Clifton <nickc@redhat.com> 141 142 PR ld/20401 143 * coffgen.c (fini_reloc_cookie_rels): Check for the extistence 144 of the coff_section_data before using it. 145 1462016-07-01 Tristan Gingold <gingold@adacore.com> 147 148 * version.m4: Bump version to 2.26.90 149 * configure: Regenerate. 150 1512016-07-01 Tristan Gingold <gingold@adacore.com> 152 153 * version.m4: Bump version to 2.27.51 154 * configure: Regenerate. 155 1562016-06-29 Nick Clifton <nickc@redhat.com> 157 158 * elfnn-aarch64.c (is_aarch64_mapping_symbol): New function. 159 Returns TRUE for AArch64 mapping symbols. 160 (elfNN_aarch64_backend_symbol_processing): New function. Marks 161 mapping symbols as precious in object files so that they will not 162 be stripped. 163 (elf_backend_symbol_processing): Define. 164 165 * elf32-arm.c (is_arm_mapping_symbol): New function. Returns TRUE 166 for ARM mapping symbols. 167 (elf32_arm_backend_symbol_processing): Make use of the new function. 168 1692016-06-28 H.J. Lu <hongjiu.lu@intel.com> 170 171 PR ld/20306 172 * elflink.c (elf_link_check_versioned_symbol): Return false 173 for unreferenced undefined symbol. 174 1752016-06-28 Nick Clifton <nickc@redhat.com> 176 177 * elf32-bfin.c (bfin_adjust_dynamic_symbol): Fail if a COPY reloc 178 is needed. 179 180 * elf32-arm.c (elf32_arm_backend_symbol_processing): New 181 function. Marks mapping symbols in object files as precious, so 182 that strip will not remove them. 183 (elf_backend_symbol_processing): Define. 184 1852016-06-28 James Clarke <jrtc27@jrtc27.com> 186 187 * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Don't convert 188 R_SPARC_32 to R_SPARC_RELATIVE if class is ELFCLASS64. 189 1902016-06-28 Maciej W. Rozycki <macro@imgtec.com> 191 192 * elf32-mips.c (elf_mips16_howto_table_rel): Add 193 R_MIPS16_PC16_S1. 194 (mips16_reloc_map): Likewise. 195 * elf64-mips.c (mips16_elf64_howto_table_rel): Likewise. 196 (mips16_elf64_howto_table_rela): Likewise. 197 (mips16_reloc_map): Likewise. 198 * elfn32-mips.c (elf_mips16_howto_table_rel): Likewise. 199 (elf_mips16_howto_table_rela): Likewise. 200 (mips16_reloc_map): Likewise. 201 * elfxx-mips.c (mips16_branch_reloc_p): New function. 202 (mips16_reloc_p): Handle R_MIPS16_PC16_S1. 203 (b_reloc_p): Likewise. 204 (mips_elf_calculate_relocation): Likewise. 205 (_bfd_mips_elf_check_relocs): Likewise. 206 * reloc.c (BFD_RELOC_MIPS16_16_PCREL_S1): New relocation. 207 * bfd-in2.h: Regenerate. 208 * libbfd.h: Regenerate. 209 2102016-06-27 Alan Modra <amodra@gmail.com> 211 212 PR ld/19264 213 * elf64-ppc.c (STUB_SHRINK_ITER): Define. 214 (ppc64_elf_size_stubs): Exit stub sizing loop past STUB_SHRINK_ITER 215 if shrinking stubs. 216 (ppc64_elf_size_stubs): Adjust to suit. 217 2182016-06-27 Trevor Saunders <tbsaunde+binutils@tbsaunde.org> 219 220 * elf32-dlx.h: New file. 221 * elf32-dlx.c: Adjust. 222 2232016-06-25 Trevor Saunders <tbsaunde+binutils@tbsaunde.org> 224 225 * elf32-xtensa.c (xtensa_make_property_section): Remove prototype. 226 2272016-06-24 John Baldwin <jhb@FreeBSD.org> 228 229 * elf.c (elfcore_grok_freebsd_note): Handle NT_FREEBSD_PROCSTAT_AUXV 230 notes. 231 2322016-06-24 John Baldwin <jhb@FreeBSD.org> 233 234 * elf.c (elfcore_grok_note): Remove handling of NT_X86_XSTATE for 235 FreeBSD. Remove case for NT_FREEBSD_THRMISC. 236 (elfcore_grok_freebsd_psinfo): New function. 237 (elfcore_grok_freebsd_prstatus): New function. 238 (elfcore_grok_freebsd_note): New function. 239 (elf_parse_notes): Use "elfcore_grok_freebsd_note" for "FreeBSD" 240 notes. 241 2422016-06-24 Joel Brobecker <brobecker@adacore.com> 243 244 * elflink.c: Check the value of BFD_SUPPORTS_PLUGINS rather 245 than its existance. 246 2472016-06-24 Alan Modra <amodra@gmail.com> 248 249 * config.bfd: Delete mips vxworks patterns matched earlier. 250 Combine mips*-*-none with mips*-*-elf*. 251 2522016-06-21 Maciej W. Rozycki <macro@imgtec.com> 253 254 * elfxx-mips.c (mips_elf_perform_relocation): Call 255 `info->callbacks->einfo' rather than `*_bfd_error_handler' and 256 use the `%X%H' format for the cross-mode jump conversion error 257 message. Remove the full stop from the end of the message. 258 Continue processing rather than returning failure. 259 2602016-06-21 Graham Markall <graham.markall@embecosm.com> 261 262 * archures.c: Remove bfd_mach_arc_nps400. 263 * bfd-in2.h: Likewise. 264 * cpu-arc.c (arch_info_struct): Likewise. 265 * elf32-arc.c (arc_elf_object_p, arc_elf_final_write_processing): 266 Likewise. 267 2682016-06-20 H.J. Lu <hongjiu.lu@intel.com> 269 270 PR ld/18250 271 PR ld/20267 272 * elflink.c: Include plugin.h if BFD_SUPPORTS_PLUGINS is 273 defined. 274 (elf_link_is_defined_archive_symbol): Call 275 bfd_link_plugin_object_p on unknown plugin object and use the 276 IR symbol table if the input is an IR object. 277 * plugin.c (bfd_link_plugin_object_p): New function. 278 * plugin.h (bfd_link_plugin_object_p): New prototype. 279 2802016-06-20 H.J. Lu <hongjiu.lu@intel.com> 281 282 PR ld/20276 283 * elflink.c (elf_link_add_object_symbols): Don't check alignment 284 on symbol from plugin dummy input. 285 2862016-06-18 H.J. Lu <hongjiu.lu@intel.com> 287 288 * bfd.c (bfd_plugin_format): Rename bfd_plugin_uknown to 289 bfd_plugin_unknown. 290 * bfd-in2.h: Regenerated. 291 * plugin.c (bfd_plugin_object_p): Replace bfd_plugin_uknown 292 with bfd_plugin_unknown. 293 2942016-06-18 H.J. Lu <hongjiu.lu@intel.com> 295 296 PR ld/20253 297 * elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add an 298 bfd_boolean argument. 299 * elf-ifunc.c (_bfd_elf_create_ifunc_sections): Replace 300 "shared object" with "PIC object" in comments. 301 (_bfd_elf_allocate_ifunc_dyn_relocs): Updated. Replace 302 "shared object" with "PIC object" in comments. Avoid PLT if 303 requested. Generate dynamic relocations for non-GOT references. 304 Make room for the special first entry in PLT and allocate PLT 305 entry only for PLT and PC-relative references. Store dynamic 306 GOT relocations in .rel[a].iplt section for static executables. 307 If PLT isn't used, always use GOT for symbol value. Don't 308 allocate GOT entry if it isn't used. 309 * elf32-i386.c (elf_i386_check_relocs): Increment PLT reference 310 count only in the code section. Allocate dynamic pointer 311 relocation against STT_GNU_IFUNC symbol in the non-code section. 312 (elf_i386_adjust_dynamic_symbol): Increment PLT reference count 313 only for PC-relative references. 314 (elf_i386_allocate_dynrelocs): Pass TRUE to 315 _bfd_elf_allocate_ifunc_dyn_relocs. 316 (elf_i386_relocate_section): Allow R_386_GOT32/R_386_GOT32X 317 relocations against STT_GNU_IFUNC symbols without PLT. Generate 318 dynamic pointer relocation against STT_GNU_IFUNC symbol in 319 the non-code section and store it in the proper REL section. 320 Don't allow non-pointer relocation against STT_GNU_IFUNC symbol 321 without PLT. 322 (elf_i386_finish_dynamic_symbol): Generate dynamic 323 R_386_IRELATIVE and R_386_GLOB_DAT GOT relocations against 324 STT_GNU_IFUNC symbols without PLT. 325 (elf_i386_finish_dynamic_sections): Don't handle local 326 STT_GNU_IFUNC symbols here. 327 (elf_i386_output_arch_local_syms): Handle local STT_GNU_IFUNC 328 symbols here. 329 (elf_backend_output_arch_local_syms): New. 330 * elf32-x86-64.c (elf_i386_check_relocs): Increment PLT reference 331 count only in the code section. Allocate dynamic pointer 332 relocation against STT_GNU_IFUNC symbol in the non-code section. 333 (elf_x86_64_adjust_dynamic_symbol): Increment PLT reference 334 count only for PC-relative references. 335 (elf_x86_64_allocate_dynrelocs): Pass TRUE to 336 _bfd_elf_allocate_ifunc_dyn_relocs. 337 (elf_x86_64_relocate_section): Allow R_X86_64_GOTPCREL, 338 R_X86_64_GOTPCRELX, R_X86_64_REX_GOTPCRELX and 339 R_X86_64_GOTPCREL64 relocations against STT_GNU_IFUNC symbols 340 without PLT. Generate dynamic pointer relocation against 341 STT_GNU_IFUNC symbol in the non-code section and store it in 342 the proper RELA section. Don't allow non-pointer relocation 343 against STT_GNU_IFUNC symbol without PLT. 344 (elf_x86_64_finish_dynamic_symbol): Generate dynamic 345 R_X86_64_IRELATIVE and R_X86_64_GLOB_DAT GOT relocations against 346 STT_GNU_IFUNC symbols without PLT. 347 (elf_x86_64_finish_dynamic_sections): Don't handle local 348 STT_GNU_IFUNC symbols here. 349 (elf_x86_64_output_arch_local_syms): Handle local STT_GNU_IFUNC 350 symbols here. 351 (elf_backend_output_arch_local_syms): New. 352 * elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs): 353 Pass FALSE to _bfd_elf_allocate_ifunc_dyn_relocs. 354 3552016-06-17 Thomas Preud'homme <thomas.preudhomme@arm.com> 356 Tony Wang <tony.wang@arm.com> 357 358 * elf32-arm.c (elf32_arm_stub_long_branch_thumb2_only): Define stub 359 sequence. 360 (stub_long_branch_thumb2_only): Define stub. 361 (arm_stub_is_thumb): Add case for arm_stub_long_branch_thumb2_only. 362 (arm_stub_long_branch_thumb2_only): Likewise. 363 (arm_type_of_stub): Use arm_stub_long_branch_thumb2_only for Thumb-2 364 capable targets. 365 3662016-06-17 Jose E. Marchesi <jose.marchesi@oracle.com> 367 368 * archures.c (bfd_mach_sparc_v8plusc): Define. 369 (bfd_mach_sparc_v9c): Likewise. 370 (bfd_mach_sparc_v8plusd): Likewise. 371 (bfd_mach_sparc_v9d): Likewise. 372 (bfd_mach_sparc_v8pluse): Likewise. 373 (bfd_mach_sparc_v9e): Likewise. 374 (bfd_mach_sparc_v8plusv): Likewise 375 (bfd_mach_sparc_v9v): Likewise. 376 (bfd_mach_sparc_v8plusm): Likewise. 377 (bfd_mach_sparc_v9m): Likewise. 378 (bfd_mach_sparc_v9_p): Adapt to v8plusm and v9m. 379 (bfd_mach_sparc_64bit_p): Likewise. 380 * bfd-in2.h: Regenerate. 381 * cpu-sparc.c (arch_info_struct): Add entries for 382 bfd_mach_sparc_v8plus{c,d,e,v,m} and bfd_mach_sparc_v9{c,d,e,v,m}. 383 * aoutx.h (machine_type): Handle bfd_mach_sparc_v8plus{c,d,e,v,m} 384 and bfd_mach_sparc_v9{c,d,e,v,m}. 385 * elf32-sparc.c (elf32_sparc_final_write_processing): Likewise. 386 * elfxx-sparc.c (_bfd_sparc_elf_object_p): Likewise. 387 3882016-06-16 H.J. Lu <hongjiu.lu@intel.com> 389 390 * elf32-i386.c (elf_i386_check_relocs): Don't check undefined 391 symbols for relocations against IFUNC symbols. 392 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise. 393 3942016-06-16 Marcin Kościelnicki <koriakin@0x04.net> 395 396 * elf32-s390.c (elf_s390_finish_dynamic_sections): Include 397 .rela.iplt in DT_PLTRELSZ. 398 * elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise, 399 for DT_PLTRELSZ and DT_RELASZ as well. 400 4012016-06-16 H.J. Lu <hongjiu.lu@intel.com> 402 403 * elf32-i386.c (elf_i386_check_relocs): Skip relocations in 404 non-loaded, non-alloced sections. 405 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise. 406 4072016-06-15 H.J. Lu <hongjiu.lu@intel.com> 408 409 * elf32-i386.c (elf_i386_check_relocs): Check SEC_ALLOC before 410 allocating dynamic relocation. 411 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise. 412 4132016-06-14 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> 414 415 PR ld/20254 416 * elf32-avr.c (elf32_avr_relax_delete_bytes): Adjust reloc 417 offsets until reloc_toaddr. 418 4192016-06-14 H.J. Lu <hongjiu.lu@intel.com> 420 421 * elf32-i386.c (elf_i386_reloc_type_class): Check R_386_IRELATIVE. 422 Don't check symbol type for STN_UNDEF symbol index. 423 * elf64-x86-64.c (elf_x86_64_reloc_type_class): Check 424 R_X86_64_IRELATIVE. Don't check symbol type for STN_UNDEF symbol 425 index. 426 4272016-06-14 Thomas Preud'homme <thomas.preudhomme@arm.com> 428 429 * elf32-arm.c (using_thumb_only): Force review of arch check logic for 430 new architecture. 431 (using_thumb2): Try Tag_THUMB_ISA_use first and check 432 for exact arch value then. Force review of arch check logic for new 433 architecture. 434 (arch_has_arm_nop): Update and fix arch check logic. Force review of 435 that logic for new architecture. 436 (arch_has_thumb2_nop): Remove. 437 (elf32_arm_tls_relax): Use using_thumb2 instead of above function. 438 (elf32_arm_final_link_relocate): Likewise but using thumb2. 439 4402016-06-14 Alan Modra <amodra@gmail.com> 441 442 * bfd-in.h (bfd_my_archive): Delete. 443 * bfd-in2.h: Regenerate. 444 4452016-06-14 Alan Modra <amodra@gmail.com> 446 447 PR ld/20241 448 * archive.c (open_nested_file): Set my_archive. 449 * bfd.c (_bfd_default_error_handler <%B>): Exclude archive file name 450 for thin archives. 451 * bfdio.c (bfd_tell): Don't adjust origin for thin archives. 452 (bfd_seek): Likewise. 453 * bfdwin.c (bfd_get_file_window): Likewise. 454 * cache.c (cache_bmmap): Likewise. 455 (bfd_cache_lookup_worker): Don't look in my_archive for thin archives. 456 * mach-o.c (bfd_mach_o_follow_dsym): Don't open my_archive for 457 thin archives. 458 * plugin.c (try_claim): Likewise. 459 * xcofflink.c (xcoff_link_add_dynamic_symbols): Use import path of 460 file within thin archive, not the archive. 461 4622016-06-13 H.J. Lu <hongjiu.lu@intel.com> 463 464 PR ld/20244 465 * elf32-i386.c (elf_i386_relocate_section): Add the .got.plt 466 section address for R_386_GOT32/R_386_GOT32X relocations against 467 IFUNC symbols if there is no base register and return error for 468 PIC. 469 4702016-06-13 H.J. Lu <hongjiu.lu@intel.com> 471 472 * elf32-i386.c (elf_i386_relocate_section): Simplify IFUNC 473 GOT32 adjustment for static executables. 474 4752016-06-13 Maciej W. Rozycki <macro@imgtec.com> 476 477 * elf32-mips.c (elf_mips_gnu_pcrel32): Update comment. 478 4792016-06-13 Cupertino Miranda <cmiranda@synospsy.com> 480 481 * elf32-arc.c (elf_arc_relocate_section): Fixed condition. 482 4832016-06-13 Cupertino Miranda <cmiranda@synospsy.com> 484 485 * elf32-arc.c (elf_arc_finish_dynamic_sections): Changed. 486 4872016-06-13 Cupertino Miranda <cmiranda@synospsy.com> 488 489 * elf32-arc.c (arc_local_data, arc_local_data): Removed. 490 (SECTSTART): Changed. 491 (elf_arc_relocate_section): Fixed mistake in PIE related 492 condition. 493 (elf_arc_size_dynamic_sections): Changed DT_RELENT to DT_RELAENT. 494 4952016-06-13 Cupertino Miranda <cmiranda@synospsy.com> 496 497 * elf32-arc.c (elf32_arc_reloc_type_class): Defined function to 498 enable support for "-z combreloc" and DT_RELACOUNT. 499 (elf_backend_reloc_type_class): Likewise 500 5012016-06-11 H.J. Lu <hongjiu.lu@intel.com> 502 503 PR ld/20244 504 * elf32-i386.c (elf_i386_relocate_section): When relocating 505 R_386_GOT32, return error without a base register for PIC and 506 subtract the .got.plt section address only with a base register. 507 5082016-06-10 Alan Modra <amodra@gmail.com> 509 510 * elf-strtab.c (struct strtab_save): Use size_t for "size". 511 (struct elf_strtab_hash): Likewise for "size" and "alloced". 512 (_bfd_elf_strtab_init): Formatting. 513 (_bfd_elf_strtab_add): Return size_t rather than bfd_size_type. 514 (_bfd_elf_strtab_addref): Take size_t idx param. 515 (_bfd_elf_strtab_delref, _bfd_elf_strtab_refcount): Likewise. 516 (_bfd_elf_strtab_offset): Likewise. 517 (_bfd_elf_strtab_clear_all_refs): Use size_t idx. 518 (_bfd_elf_strtab_save): Use size_t "idx" and "size" vars. 519 (_bfd_elf_strtab_restore, _bfd_elf_strtab_emit): Similarly. 520 (_bfd_elf_strtab_finalize): Similarly. 521 * elf-bfd.h (_bfd_elf_strtab_add): Update prototypes. 522 (_bfd_elf_strtab_addref, _bfd_elf_strtab_delref): Likewise. 523 (_bfd_elf_strtab_refcount, _bfd_elf_strtab_offset): Likewise. 524 * elf.c (bfd_elf_get_elf_syms): Calculate symbol buffer size 525 using bfd_size_type. 526 (bfd_section_from_shdr): Delete amt. 527 (_bfd_elf_init_reloc_shdr): Likewise. 528 (_bfd_elf_link_assign_sym_version): Likewise. 529 (assign_section_numbers): Use size_t reloc_count. 530 * elflink.c (struct elf_symbuf_head): Use size_t "count". 531 (bfd_elf_link_record_dynamic_symbol): Use size_t for some vars. 532 (elf_link_is_defined_archive_symbol): Likewise. 533 (elf_add_dt_needed_tag): Likewise. 534 (elf_finalize_dynstr): Likewise. 535 (elf_link_add_object_symbols): Likewise. 536 (bfd_elf_size_dynamic_sections): Likewise. 537 (elf_create_symbuf): Similarly. 538 (bfd_elf_match_symbols_in_sections): Likewise. 539 (elf_link_swap_symbols_out): Likewise. 540 (elf_link_check_versioned_symbol): Likewise. 541 (bfd_elf_gc_record_vtinherit): Likewise. 542 (bfd_elf_gc_common_finalize_got_offsets): Likewise. 543 5442016-06-08 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> 545 546 PR ld/20221 547 * elf32-avr.c (elf32_avr_relax_delete_bytes): Adjust syms 548 and relocs only if shrinking occurred. 549 5502016-06-08 H.J. Lu <hongjiu.lu@intel.com> 551 552 * elf64-i386.c (elf_i386_link_hash_entry): Add tls_get_addr. 553 (elf_i386_link_hash_newfunc): Initialize tls_get_addr to 2. 554 (elf_i386_check_tls_transition): Check indirect call and direct 555 call with the addr32 prefix for general and local dynamic models. 556 Set the tls_get_addr feild. 557 (elf_i386_convert_load_reloc): Always use addr32 prefix for 558 indirect ___tls_get_addr call via GOT. 559 (elf_i386_relocate_section): Handle GD->LE, GD->IE and LD->LE 560 transitions with indirect call and direct call with the addr32 561 prefix. 562 5632016-06-07 Marcin Kościelnicki <koriakin@0x04.net> 564 565 * elf32-s390.c (elf_s390_finish_dynamic_symbol): Fix comment. 566 * elf64-s390.c (elf_s390x_plt_entry): Fix comment. 567 (elf_s390_relocate_section): Fix comment. 568 (elf_s390_finish_dynamic_sections): Fix initialization of fixed 569 .got.plt entries. 570 5712016-06-07 Ulrich Weigand <ulrich.weigand@de.ibm.com> 572 573 * elf64-s390.c (elf_s390_finish_dynamic_sections): Subtract plt 574 section offset when calculation the larl operand in the first PLT 575 entry. 576 5772016-06-07 Alan Modra <amodra@gmail.com> 578 579 * cpu-powerpc.c (powerpc_compatible): Allow bfd_mach_ppc_vle entry 580 to match other 32-bit archs. 581 * elf32-ppc.c (_bfd_elf_ppc_set_arch): New function. 582 (ppc_elf_object_p): Call it. 583 (ppc_elf_special_sections): Use APUINFO_SECTION_NAME. Fix 584 overlong line. 585 (APUINFO_SECTION_NAME, APUINFO_LABEL): Don't define here. 586 * elf64-ppc.c (ppc64_elf_object_p): Call _bfd_elf_ppc_set_arch. 587 * bfd-in.h (_bfd_elf_ppc_at_tls_transform, 588 _bfd_elf_ppc_at_tprel_transform): Move to.. 589 * elf-bfd.h: ..here. 590 (_bfd_elf_ppc_set_arch): Declare. 591 * bfd-in2.h: Regenerate. 592 5932016-06-06 H.J. Lu <hongjiu.lu@intel.com> 594 595 * elf64-x86-64.c (elf_x86_64_link_hash_entry): Add tls_get_addr. 596 (elf_x86_64_link_hash_newfunc): Initialize tls_get_addr to 2. 597 (elf_x86_64_check_tls_transition): Check indirect call and 598 direct call with the addr32 prefix for general and local dynamic 599 models. Set the tls_get_addr feild. 600 (elf_x86_64_convert_load_reloc): Always use addr32 prefix for 601 indirect __tls_get_addr call via GOT. 602 (elf_x86_64_relocate_section): Handle GD->LE, GD->IE and LD->LE 603 transitions with indirect call and direct call with the addr32 604 prefix. 605 6062016-06-04 Christian Groessler <chris@groessler.org> 607 608 * coff-z8k.c (extra_case): Fix range check for R_JR relocation. 609 6102016-06-02 Nick Clifton <nickc@redhat.com> 611 612 PR target/20088 613 * cpu-arm.c (processors): Add "arm_any" type to match any ARM 614 architecture. 615 (arch_info_struct): Likewise. 616 (architectures): Likewise. 617 6182016-06-02 Vineet Gupta <Vineet.Gupta1@synopsys.com> 619 620 * config.bfd: Replace -uclibc with *. 621 6222016-06-02 H.J. Lu <hongjiu.lu@intel.com> 623 624 * elf64-x86-64.c: Replace data32 with data16 in comments. 625 6262016-05-31 Alan Modra <amodra@gmail.com> 627 628 PR ld/20159 629 PR ld/16467 630 * elflink.c (_bfd_elf_merge_symbol): Revert PR16467 change. 631 (_bfd_elf_add_default_symbol): Don't indirect to/from defined 632 symbol given a version by a script different to the version 633 of the symbol being added. 634 (elf_link_add_object_symbols): Use _bfd_elf_strtab_save and 635 _bfd_elf_strtab_restore. Don't fudge dynstr references. 636 * elf-strtab.c (_bfd_elf_strtab_restore_size): Delete. 637 (struct strtab_save): New. 638 (_bfd_elf_strtab_save, _bfd_elf_strtab_restore): New functions. 639 * elf-bfd.h (_bfd_elf_strtab_restore_size): Delete. 640 (_bfd_elf_strtab_save, _bfd_elf_strtab_restore): Declare. 641 6422016-06-01 Trevor Saunders <tbsaunde+binutils@tbsaunde.org> 643 644 * elf32-hppa.h: Add extern "C". 645 * elf32-nds32.h: Likewise. 646 * elf32-tic6x.h: Likewise. 647 6482016-06-01 Nick Clifton <nickc@redhat.com> 649 650 * po/sr.po: New Serbian translation. 651 * configure.ac (ALL_LINGUAS): Add sr. 652 * configure: Regenerate. 653 6542016-05-28 Maciej W. Rozycki <macro@imgtec.com> 655 656 * elfxx-mips.c (b_reloc_p): New function. 657 (_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Handle 658 branch relocations. 659 6602016-05-28 Maciej W. Rozycki <macro@imgtec.com> 661 662 * elfxx-mips.c (mips_elf_calculate_relocation): <R_MIPS16_26> 663 <R_MIPS_26, R_MICROMIPS_26_S1>: Drop the region bits of the 664 reloc location from calculation, treat the addend as signed with 665 local non-section symbols and enable overflow detection. 666 6672016-05-28 Alan Modra <amodra@gmail.com> 668 669 * aoutx.h: Adjust linker callback calls throughout file, 670 removing dead code. 671 * bout.c: Likewise. 672 * coff-alpha.c: Likewise. 673 * coff-arm.c: Likewise. 674 * coff-h8300.c: Likewise. 675 * coff-h8500.c: Likewise. 676 * coff-i960.c: Likewise. 677 * coff-mcore.c: Likewise. 678 * coff-mips.c: Likewise. 679 * coff-ppc.c: Likewise. 680 * coff-rs6000.c: Likewise. 681 * coff-sh.c: Likewise. 682 * coff-tic80.c: Likewise. 683 * coff-w65.c: Likewise. 684 * coff-z80.c: Likewise. 685 * coff-z8k.c: Likewise. 686 * coff64-rs6000.c: Likewise. 687 * cofflink.c: Likewise. 688 * ecoff.c: Likewise. 689 * elf-bfd.h: Likewise. 690 * elf-m10200.c: Likewise. 691 * elf-m10300.c: Likewise. 692 * elf32-arc.c: Likewise. 693 * elf32-arm.c: Likewise. 694 * elf32-avr.c: Likewise. 695 * elf32-bfin.c: Likewise. 696 * elf32-cr16.c: Likewise. 697 * elf32-cr16c.c: Likewise. 698 * elf32-cris.c: Likewise. 699 * elf32-crx.c: Likewise. 700 * elf32-d10v.c: Likewise. 701 * elf32-epiphany.c: Likewise. 702 * elf32-fr30.c: Likewise. 703 * elf32-frv.c: Likewise. 704 * elf32-ft32.c: Likewise. 705 * elf32-h8300.c: Likewise. 706 * elf32-hppa.c: Likewise. 707 * elf32-i370.c: Likewise. 708 * elf32-i386.c: Likewise. 709 * elf32-i860.c: Likewise. 710 * elf32-ip2k.c: Likewise. 711 * elf32-iq2000.c: Likewise. 712 * elf32-lm32.c: Likewise. 713 * elf32-m32c.c: Likewise. 714 * elf32-m32r.c: Likewise. 715 * elf32-m68hc1x.c: Likewise. 716 * elf32-m68k.c: Likewise. 717 * elf32-mep.c: Likewise. 718 * elf32-metag.c: Likewise. 719 * elf32-microblaze.c: Likewise. 720 * elf32-moxie.c: Likewise. 721 * elf32-msp430.c: Likewise. 722 * elf32-mt.c: Likewise. 723 * elf32-nds32.c: Likewise. 724 * elf32-nios2.c: Likewise. 725 * elf32-or1k.c: Likewise. 726 * elf32-ppc.c: Likewise. 727 * elf32-s390.c: Likewise. 728 * elf32-score.c: Likewise. 729 * elf32-score7.c: Likewise. 730 * elf32-sh.c: Likewise. 731 * elf32-sh64.c: Likewise. 732 * elf32-spu.c: Likewise. 733 * elf32-tic6x.c: Likewise. 734 * elf32-tilepro.c: Likewise. 735 * elf32-v850.c: Likewise. 736 * elf32-vax.c: Likewise. 737 * elf32-visium.c: Likewise. 738 * elf32-xstormy16.c: Likewise. 739 * elf32-xtensa.c: Likewise. 740 * elf64-alpha.c: Likewise. 741 * elf64-hppa.c: Likewise. 742 * elf64-ia64-vms.c: Likewise. 743 * elf64-mmix.c: Likewise. 744 * elf64-ppc.c: Likewise. 745 * elf64-s390.c: Likewise. 746 * elf64-sh64.c: Likewise. 747 * elf64-x86-64.c: Likewise. 748 * elflink.c: Likewise. 749 * elfnn-aarch64.c: Likewise. 750 * elfnn-ia64.c: Likewise. 751 * elfxx-mips.c: Likewise. 752 * elfxx-sparc.c: Likewise. 753 * elfxx-tilegx.c: Likewise. 754 * linker.c: Likewise. 755 * pdp11.c: Likewise. 756 * pe-mips.c: Likewise. 757 * reloc.c: Likewise. 758 * reloc16.c: Likewise. 759 * simple.c: Likewise. 760 * vms-alpha.c: Likewise. 761 * xcofflink.c: Likewise. 762 * elf32-rl78.c (get_symbol_value, get_romstart, get_ramstart): Delete 763 status param. Adjust calls to these and linker callbacks throughout. 764 * elf32-rx.c: (get_symbol_value, get_gp, get_romstart, 765 get_ramstart): Delete status param. Adjust calls to these and 766 linker callbacks throughout. 767 7682016-05-27 Maciej W. Rozycki <macro@imgtec.com> 769 770 * elfxx-mips.c (mips_elf_calculate_relocation) <R_MIPS16_26> 771 <R_MIPS_26, R_MICROMIPS_26_S1>: Include the addend in JALX's 772 target alignment verification. 773 7742016-05-27 Maciej W. Rozycki <macro@imgtec.com> 775 776 * elfxx-mips.c (mips_elf_calculate_relocation): Also use the 777 section name if `bfd_elf_string_from_elf_section' returns an 778 empty string. 779 7802016-05-26 Maciej W. Rozycki <macro@imgtec.com> 781 782 * elfxx-mips.c (_bfd_mips_elf_relocate_section) 783 <bfd_reloc_outofrange>: Use the `%X%H' rather than `%C' format 784 for message. Continue processing rather than returning failure. 785 7862016-05-25 Maciej W. Rozycki <macro@imgtec.com> 787 788 * elfxx-mips.c (_bfd_mips_elf_relocate_section) 789 <bfd_reloc_outofrange>: Call `->einfo' rather than `->warning'. 790 Call `bfd_set_error'. 791 7922016-05-25 H.J. Lu <hongjiu.lu@intel.com> 793 794 PR binutils/14625 795 * archive.c (bfd_slurp_armap): Replace 796 bfd_elf64_archive_slurp_armap with 797 _bfd_archive_64_bit_slurp_armap. 798 (bsd_write_armap): Call _bfd_archive_64_bit_write_armap if 799 BFD64 is defined and the archive is too big. 800 (coff_write_armap): Likewise. 801 * archive64.c (bfd_elf64_archive_slurp_armap): Renamed to ... 802 (_bfd_archive_64_bit_slurp_armap): This. 803 (bfd_elf64_archive_write_armap): Renamed to ... 804 (_bfd_archive_64_bit_write_armap): This. 805 * configure.ac: Add --enable-64-bit-archive. 806 (want_64_bit_archive): New. Set to true by default for 64-bit 807 MIPS and s390 ELF targets. 808 (USE_64_BIT_ARCHIVE): New AC_DEFINE. 809 * config.in: Regenerated. 810 * configure: Likewise. 811 * elf64-mips.c (bfd_elf64_archive_functions): Removed. 812 (bfd_elf64_archive_slurp_armap): Likewise. 813 (bfd_elf64_archive_write_armap): Likewise. 814 (bfd_elf64_archive_slurp_extended_name_table): Likewise. 815 (bfd_elf64_archive_construct_extended_name_table): Likewise. 816 (bfd_elf64_archive_truncate_arname): Likewise. 817 (bfd_elf64_archive_read_ar_hdr): Likewise. 818 (bfd_elf64_archive_write_ar_hdr): Likewise. 819 (bfd_elf64_archive_openr_next_archived_file): Likewise. 820 (bfd_elf64_archive_get_elt_at_index): Likewise. 821 (bfd_elf64_archive_generic_stat_arch_elt): Likewise. 822 (bfd_elf64_archive_update_armap_timestamp): Likewise. 823 * elf64-s390.c (bfd_elf64_archive_functions): Removed. 824 (bfd_elf64_archive_slurp_armap): Likewise. 825 (bfd_elf64_archive_write_armap): Likewise. 826 (bfd_elf64_archive_slurp_extended_name_table): Likewise. 827 (bfd_elf64_archive_construct_extended_name_table): Likewise. 828 (bfd_elf64_archive_truncate_arname): Likewise. 829 (bfd_elf64_archive_read_ar_hdr): Likewise. 830 (bfd_elf64_archive_write_ar_hdr): Likewise. 831 (bfd_elf64_archive_openr_next_archived_file): Likewise. 832 (bfd_elf64_archive_get_elt_at_index): Likewise. 833 (bfd_elf64_archive_generic_stat_arch_elt): Likewise. 834 (bfd_elf64_archive_update_armap_timestamp): Likewise. 835 * elfxx-target.h (TARGET_BIG_SYM): Use _bfd_archive_64_bit on 836 BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined and 837 bfd_elfNN_archive_functions isn't defined. 838 (TARGET_LITTLE_SYM): Likewise. 839 * libbfd-in.h (_bfd_archive_64_bit_slurp_armap): New prototype. 840 (_bfd_archive_64_bit_write_armap): Likewise. 841 (_bfd_archive_64_bit_slurp_extended_name_table): New macro. 842 (_bfd_archive_64_bit_construct_extended_name_table): Likewise. 843 (_bfd_archive_64_bit_truncate_arname): Likewise. 844 (_bfd_archive_64_bit_read_ar_hdr): Likewise. 845 (_bfd_archive_64_bit_write_ar_hdr): Likewise. 846 (_bfd_archive_64_bit_openr_next_archived_file): Likewise. 847 (_bfd_archive_64_bit_get_elt_at_index): Likewise. 848 (_bfd_archive_64_bit_generic_stat_arch_elt): Likewise. 849 (_bfd_archive_64_bit_update_armap_timestamp): Likewise. 850 * libbfd.h: Regenerated. 851 * plugin.c (plugin_vec): Use _bfd_archive_64_bit on 852 BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined. 853 8542016-05-25 H.J. Lu <hongjiu.lu@intel.com> 855 856 PR ld/20103 857 * cofflink.c (coff_link_check_archive_element): Return TRUE if 858 linker add_archive_element callback returns FALSE. 859 * ecoff.c (ecoff_link_check_archive_element): Likewise. 860 * elf64-ia64-vms.c (elf64_vms_link_add_archive_symbols): Skip 861 archive element if linker add_archive_element callback returns 862 FALSE. 863 * elflink.c (elf_link_add_archive_symbols): Likewise. 864 * pdp11.c (aout_link_check_ar_symbols): Likewise. 865 * vms-alpha.c (alpha_vms_link_add_archive_symbols): Likewise. 866 * xcofflink.c (xcoff_link_check_dynamic_ar_symbols): Likewise. 867 (xcoff_link_check_ar_symbols): Likewise. 868 8692016-05-24 Maciej W. Rozycki <macro@imgtec.com> 870 871 * elfxx-mips.c (_bfd_mips_elf_relocate_section) 872 <bfd_reloc_outofrange>: Unify error reporting code. 873 8742016-05-23 Jim Wilson <jim.wilson@linaro.org> 875 876 * elfnn-aarch64.c: Unconditionally enable R_AARCH64_NULL and 877 R_AARCH64_NONE. Use HOWTO64 for R_AARCH64_NULL. 878 * relocs.c: Add BFD_RELOC_AARCH64_NULL. 879 * bfd-in2.h: Regenerate. 880 * libbfd.h: Likewise. 881 8822016-05-23 Kuba Sejdak <jakub.sejdak@phoesys.com> 883 884 * config.bfd: Add entry for arm-phoenix. 885 8862016-05-23 Thomas Preud'homme <thomas.preudhomme@arm.com> 887 888 * elf32-arm.c (arm_dedicated_stub_section_padding): New function. 889 (elf32_arm_size_stubs): Declare stub_type in a more outer scope and 890 account for padding for stub section requiring one. 891 (elf32_arm_build_stubs): Add comment to stress the importance of 892 zeroing veneer section content. 893 8942016-05-23 Thomas Preud'homme <thomas.preudhomme@arm.com> 895 896 * bfd-in.h (bfd_elf32_arm_keep_private_stub_output_sections): Declare 897 bfd hook. 898 * bfd-in2.h: Regenerate. 899 * elf32-arm.c (arm_dedicated_stub_output_section_required): New 900 function. 901 (arm_dedicated_stub_output_section_required_alignment): Likewise. 902 (arm_dedicated_stub_output_section_name): Likewise. 903 (arm_dedicated_stub_input_section_ptr): Likewise. 904 (elf32_arm_create_or_find_stub_sec): Add stub type parameter and 905 function description comment. Add support for dedicated output stub 906 section to given stub types. 907 (elf32_arm_add_stub): Add a stub type parameter and pass it down to 908 elf32_arm_create_or_find_stub_sec. 909 (elf32_arm_create_stub): Pass stub type down to elf32_arm_add_stub. 910 (elf32_arm_size_stubs): Pass stub type when calling 911 elf32_arm_create_or_find_stub_sec for Cortex-A8 erratum veneers. 912 (bfd_elf32_arm_keep_private_stub_output_sections): New function. 913 9142016-05-20 H.J. Lu <hongjiu.lu@intel.com> 915 916 * elf32-i386.c (elf_i386_check_relocs): Don't check R_386_GOT32 917 when setting need_convert_load. 918 9192016-05-20 Maciej W. Rozycki <macro@imgtec.com> 920 921 * elfxx-mips.c (mips_elf_read_rel_addend): Adjust the addend for 922 microMIPS JALX. 923 9242016-05-19 H.J. Lu <hongjiu.lu@intel.com> 925 926 PR ld/20117 927 * elf32-i386.c (elf_i386_convert_load_reloc): Don't check 928 R_386_GOT32X. 929 (elf_i386_convert_load): Don't convert R_386_GOT32. 930 9312016-05-20 Alan Modra <amodra@gmail.com> 932 933 PR gas/20118 934 * elf.c (elf_fake_sections): Set sh_entsize for SHT_INIT_ARRAY, 935 SHT_FINI_ARRAY, and SHT_PREINIT_ARRAY. 936 9372016-05-19 Cupertino Miranda <cmiranda@synopsys.com> 938 939 * elf32-arc.c (arc_elf_final_write_processing): Changed. 940 (debug_arc_reloc): Likewise. 941 (elf_arc_relocate_section): Likewise. 942 (elf_arc_check_relocs): Likewise. 943 (elf_arc_adjust_dynamic_symbol): Likewise. 944 (elf_arc_add_symbol_hook): Likewise. 945 9462016-05-19 Maciej W. Rozycki <macro@imgtec.com> 947 948 * config.bfd: Remove `am34-*-linux*' support. 949 9502016-05-19 Alan Modra <amodra@gmail.com> 951 952 * elf64-ppc.c (allocate_dynrelocs): Allocate got and other dynamic 953 relocs before plt relocs. 954 9552016-05-19 Alan Modra <amodra@gmail.com> 956 957 * elf64-ppc.c (ppc64_elf_branch_reloc): Check for NULL owner 958 before dereferencing. 959 9602016-05-18 Nick Clifton <nickc@redhat.com> 961 962 * po/sv.po: Updated Swedish translation. 963 9642016-05-18 Alan Modra <amodra@gmail.com> 965 966 * elf32-arm.c (elf32_arm_size_stubs): Free or cache local syms 967 for each BFD. Don't goto error_ret_free_local from outside loop. 968 9692016-05-17 Maciej W. Rozycki <macro@imgtec.com> 970 971 * elf-s390-common.c (elf_s390_add_symbol_hook): Remove 972 STB_GNU_UNIQUE handling. 973 * elf32-arc.c (elf_arc_add_symbol_hook): Likewise. 974 * elf32-arm.c (elf32_arm_add_symbol_hook): Likewise. 975 * elf32-m68k.c (elf_m68k_add_symbol_hook): Likewise. 976 * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise. 977 * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise. 978 * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise. 979 * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise. 980 * elf64-x86-64.c (elf_x86_64_add_symbol_hook): Likewise. 981 * elfxx-aarch64.c (_bfd_aarch64_elf_add_symbol_hook): Likewise. 982 * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Likewise. 983 * elf32-i386.c (elf_i386_add_symbol_hook): Remove function. 984 (elf_backend_add_symbol_hook): Remove macro. 985 * elflink.c (elf_link_add_object_symbols): Set `has_gnu_symbols' 986 for STB_GNU_UNIQUE symbols. 987 9882016-05-16 Maciej W. Rozycki <macro@imgtec.com> 989 990 * elf32-v850.c (v850_elf_copy_notes): New function, factored out 991 from... 992 (v850_elf_copy_private_bfd_data): ... here. Call the new 993 function and `_bfd_elf_copy_private_bfd_data'. 994 9952016-05-13 H.J. Lu <hongjiu.lu@intel.com> 996 997 PR ld/20093 998 * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Don't convert 999 GOTPCREL relocation against large section. 1000 10012016-05-13 Alan Modra <amodra@gmail.com> 1002 1003 * elf-m10300.c (_bfd_mn10300_elf_finish_dynamic_sections): Use 1004 linker dynamic sections in calculating size and address of 1005 dynamic tags rather than using output sections. Remove asserts. 1006 * elf32-arm.c (elf32_arm_finish_dynamic_sections): Likewise. 1007 * elf32-cr16.c (_bfd_cr16_elf_finish_dynamic_sections): Likewise. 1008 * elf32-cris.c (elf_cris_finish_dynamic_sections): Likewise. 1009 * elf32-i370.c (i370_elf_finish_dynamic_sections): Likewise. 1010 * elf32-lm32.c (lm32_elf_finish_dynamic_sections): Likewise. 1011 * elf32-m32r.c (m32r_elf_finish_dynamic_sections): Likewise. 1012 * elf32-m68k.c (elf_m68k_finish_dynamic_sections): Likewise. 1013 * elf32-metag.c (elf_metag_finish_dynamic_sections): Likewise. 1014 * elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Likewise. 1015 * elf32-nds32.c (nds32_elf_finish_dynamic_sections): Likewise. 1016 * elf32-nios2.c (nios2_elf32_finish_dynamic_sections): Likewise. 1017 * elf32-or1k.c (or1k_elf_finish_dynamic_sections): Likewise. 1018 * elf32-s390.c (elf_s390_finish_dynamic_sections): Likewise. 1019 * elf32-score.c (s3_bfd_score_elf_finish_dynamic_sections): Likewise. 1020 * elf32-score7.c (s7_bfd_score_elf_finish_dynamic_sections): Likewise. 1021 * elf32-vax.c (elf_vax_finish_dynamic_sections): Likewise. 1022 * elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Likewise. 1023 * elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Likewise. 1024 * elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise. 1025 * elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Likewise. 1026 * elflink.c (bfd_elf_final_link): Likewise. 1027 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Likewise. 1028 * elfxx-sparc.c (sparc_finish_dyn): Likewise. Adjust error message. 1029 * elf32-arc.c (GET_SYMBOL_OR_SECTION): Remove ASSERT arg and 1030 don't set doit. Look up dynobj section. 1031 (elf_arc_finish_dynamic_sections): Adjust GET_SYMBOL_OR_SECTION 1032 invocation and dynamic tag vma calculation. Don't test 1033 boolean var == TRUE. 1034 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_sections): Fix 1035 DT_JMPREL calc. 1036 10372016-05-13 Alan Modra <amodra@gmail.com> 1038 1039 * elflink.c (elf_link_sort_relocs): Wrap overlong lines. Fix 1040 octets_per_byte. Put dynamic .rela.plt last in link orders. 1041 Assign output_offset for reloc sections rather than writing 1042 sorted relocs from block corresponding to output_offset. 1043 10442016-05-12 Alan Modra <amodra@gmail.com> 1045 1046 * elf-bfd.h (elf_reloc_type_class): Put reloc_class_plt last. 1047 10482016-05-11 Andrew Bennett <andrew.bennett@imgtec.com> 1049 1050 * elfxx-mips.c (print_mips_ases): Add DSPR3. 1051 10522016-05-11 Alan Modra <amodra@gmail.com> 1053 1054 * elf32-hppa.c (elf32_hppa_init_stub_bfd): New function. 1055 (elf32_hppa_check_relocs): Don't set dynobj. 1056 (elf32_hppa_size_stubs): Test !SEC_LINKER_CREATED for stub sections. 1057 (elf32_hppa_build_stubs): Likewise. 1058 * elf32-hppa.h (elf32_hppa_init_stub_bfd): Declare. 1059 10602016-05-11 Alan Modra <amodra@gmail.com> 1061 1062 PR 20060 1063 * elf64-ppc.c (ppc64_elf_tls_setup): Clear forced_local. 1064 * elf32-ppc.c (ppc_elf_tls_setup): Likewise. 1065 10662016-05-10 Jiong Wang <jiong.wang@arm.com> 1067 1068 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Remove redundant 1069 aarch64_tls_transition check. 1070 10712016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com> 1072 1073 * elf32-arm.c (enum elf32_arm_stub_type): New max_stub_type 1074 enumerator. 1075 (arm_stub_sym_claimed): New function. 1076 (elf32_arm_create_stub): Use veneered symbol name and section if 1077 veneer needs to claim its symbol, and keep logic unchanged otherwise. 1078 (arm_stub_claim_sym): New function. 1079 (arm_map_one_stub): Call arm_stub_claim_sym if veneer needs to claim 1080 veneered symbol, otherwise create local symbol as before. 1081 10822016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com> 1083 1084 * elf32-arm.c (elf32_arm_size_stubs): Use new macros 1085 ARM_GET_SYM_BRANCH_TYPE and ARM_SET_SYM_BRANCH_TYPE to respectively get 1086 and set branch type of a symbol. 1087 (bfd_elf32_arm_process_before_allocation): Likewise. 1088 (elf32_arm_relocate_section): Likewise and fix identation along the 1089 way. 1090 (allocate_dynrelocs_for_symbol): Likewise. 1091 (elf32_arm_finish_dynamic_symbol): Likewise. 1092 (elf32_arm_swap_symbol_in): Likewise. 1093 (elf32_arm_swap_symbol_out): Likewise. 1094 10952016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com> 1096 1097 * bfd-in.h (elf32_arm_size_stubs): Add an output section parameter. 1098 * bfd-in2.h: Regenerated. 1099 * elf32-arm.c (struct elf32_arm_link_hash_table): Add an output section 1100 parameter to add_stub_section callback. 1101 (elf32_arm_create_or_find_stub_sec): Get output section from link_sec 1102 and pass it down to add_stub_section. 1103 (elf32_arm_add_stub): Set section to stub_sec if NULL before using it 1104 for error message. 1105 (elf32_arm_size_stubs): Add output section parameter to 1106 add_stub_section function pointer parameter. 1107 11082016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com> 1109 1110 * elf32-arm.c (elf32_arm_create_stub): New function. 1111 (elf32_arm_size_stubs): Use elf32_arm_create_stub for stub creation. 1112 11132016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com> 1114 1115 * elf32-arm.c (enum elf32_arm_stub_type): Delete 1116 arm_stub_a8_veneer_lwm enumerator. 1117 (arm_stub_a8_veneer_lwm): New unsigned constant to replace 1118 aforementioned enumerator. 1119 (struct elf32_arm_stub_hash_entry): Delete target_addend 1120 field and add source_value. 1121 (struct a8_erratum_fix): Delete addend field and add target_offset. 1122 (stub_hash_newfunc): Initialize source_value field amd remove 1123 initialization for target_addend. 1124 (arm_build_one_stub): Stop special casing Thumb relocations: promote 1125 the else to being always executed, moving the 1126 arm_stub_a8_veneer_b_cond specific code in it. Remove 1127 stub_entry->target_addend from points_to computation. 1128 (cortex_a8_erratum_scan): Store in a8_erratum_fix structure the offset 1129 to target symbol from start of section rather than the offset from the 1130 stub address. 1131 (elf32_arm_size_stubs): Set stub_entry's source_value and target_value 1132 fields from struct a8_erratum_fix's offset and target_offset 1133 respectively. 1134 (make_branch_to_a8_stub): Rename target variable to loc. Compute 1135 veneered_insn_loc and loc using stub_entry's source_value. 1136 11372016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com> 1138 1139 (elf32_arm_merge_eabi_attributes): Add merging logic for 1140 Tag_DSP_extension. 1141 11422016-05-10 Pip Cet <pipcet@gmail.com> 1143 1144 PR ld/20059 1145 * elfxx-target.h (bfd_elfNN_bfd_copy_link_hash_symbol_type): 1146 Define as _bfd_generic_copy_link_hash_symbol_type when using 1147 generic hash table. 1148 11492016-05-09 Nick Clifton <nickc@redhat.com> 1150 1151 PR binutils/20063 1152 * elf.c (bfd_elf_get_elf_syms): Check for out of range sh_link 1153 field before accessing sections array. 1154 11552016-05-09 Christophe Monat <christophe.monat@st.com> 1156 1157 PR ld/20030 1158 * elf32-arm.c (is_thumb2_vldm): Account for T1 (DP) encoding. 1159 (stm32l4xx_need_create_replacing_stub): Rename ambiguous nb_regs 1160 to nb_words. 1161 (create_instruction_vldmia): Add is_dp to disambiguate SP/DP 1162 encoding. 1163 (create_instruction_vldmdb): Likewise. 1164 (stm32l4xx_create_replacing_stub_vldm): is_dp detects DP encoding, 1165 uses it to re-encode. 1166 11672016-05-09 Nick Clifton <nickc@redhat.com> 1168 1169 PR 19938 1170 * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Revert accidental 1171 commit. 1172 11732016-05-09 Alan Modra <amodra@gmail.com> 1174 1175 * elf64-ppc.c (ppc64_elf_init_stub_bfd): Remove redundant NULL check. 1176 11772016-05-06 H.J. Lu <hongjiu.lu@intel.com> 1178 1179 PR ld/17550 1180 * elf-bfd.h (elf_link_hash_entry): Update comments for indx, 1181 documenting that indx == -3 if symbol is defined in a discarded 1182 section. 1183 * elflink.c (elf_link_add_object_symbols): Set indx to -3 if 1184 symbol is defined in a discarded section. 1185 (elf_link_output_extsym): Strip a global symbol defined in a 1186 discarded section. 1187 11882016-05-06 H.J. Lu <hongjiu.lu@intel.com> 1189 1190 * elf32-i386.c (elf_backend_add_symbol_hook): Defined for Intel 1191 MCU. 1192 11932016-05-05 H.J. Lu <hongjiu.lu@intel.com> 1194 1195 * elf32-i386.c (elf_i386_convert_load): Extract the GOT load 1196 conversion to ... 1197 (elf_i386_convert_load_reloc): This. New function. 1198 * elf64-x86-64.c (elf_x86_64_convert_load): Extract the GOT load 1199 conversion to ... 1200 (elf_x86_64_convert_load_reloc): This. New function. 1201 12022016-05-05 H.J. Lu <hongjiu.lu@intel.com> 1203 1204 * elf32-i386.c (elf_i386_check_tls_transition): Remove abfd. 1205 Don't check if contents == NULL. 1206 (elf_i386_tls_transition): Add from_relocate_section. Check 1207 from_relocate_section instead of contents != NULL. Update 1208 elf_i386_check_tls_transition call. 1209 (elf_i386_check_relocs): Cache the section contents if 1210 keep_memory is FALSE. Pass FALSE as from_relocate_section to 1211 elf_i386_tls_transition. 1212 (elf_i386_relocate_section): Pass TRUE as from_relocate_section 1213 to elf_i386_tls_transition. 1214 (elf_backend_caches_rawsize): New. 1215 * elf64-x86-64.c (elf_x86_64_check_tls_transition): Don't check 1216 if contents == NULL. 1217 (elf_x86_64_tls_transition): Add from_relocate_section. Check 1218 from_relocate_section instead of contents != NULL. 1219 (elf_x86_64_check_relocs): Cache the section contents if 1220 keep_memory is FALSE. Pass FALSE as from_relocate_section to 1221 elf_x86_64_tls_transition. 1222 (elf_x86_64_relocate_section): Pass TRUE as from_relocate_section 1223 to elf_x86_64_tls_transition. 1224 (elf_backend_caches_rawsize): New. 1225 12262016-05-03 Maciej W. Rozycki <macro@imgtec.com> 1227 1228 PR 10549 1229 * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Handle 1230 STB_GNU_UNIQUE. 1231 12322016-05-03 Jiong Wang <jiong.wang@arm.com> 1233 1234 * bfd-in.h (bfd_elf64_aarch64_set_options): Update prototype. 1235 * bfd-in2.h (bfd_elf64_aarch64_set_options): Likewise. 1236 * elfnn-aarch64.c (bfd_elfNN_aarch64_set_options): Initialize 1237 no_apply_dynamic_relocs. 1238 (elfNN_aarch64_final_link_relocate): Apply absolute relocations even though 1239 dynamic relocations generated. 1240 12412016-04-29 H.J. Lu <hongjiu.lu@intel.com> 1242 1243 * elf32-i386.c (elf_i386_size_dynamic_sections): Move interp 1244 setting to ... 1245 (elf_i386_create_dynamic_sections): Here. 1246 * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Move 1247 interp setting to ... 1248 (elf_x86_64_create_dynamic_sections): Here. 1249 12502016-04-29 H.J. Lu <hongjiu.lu@intel.com> 1251 1252 * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take GOT_RELOC 1253 and replace (EH)->has_got_reloc with GOT_RELOC. 1254 (elf_i386_fixup_symbol): Pass has_got_reloc to 1255 UNDEFINED_WEAK_RESOLVED_TO_ZERO. 1256 (elf_i386_allocate_dynrelocs): Likewise. 1257 (elf_i386_relocate_section): Likewise. 1258 (elf_i386_finish_dynamic_symbol): Likewise. 1259 (elf_i386_convert_load): Pass TRUE to 1260 UNDEFINED_WEAK_RESOLVED_TO_ZERO. 1261 * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take 1262 GOT_RELOC and replace (EH)->has_got_reloc with GOT_RELOC. 1263 (elf_x86_64_fixup_symbol): Pass has_got_reloc to 1264 UNDEFINED_WEAK_RESOLVED_TO_ZERO. 1265 (elf_x86_64_allocate_dynrelocs): Likewise. 1266 (elf_x86_64_relocate_section): Likewise. 1267 (elf_x86_64_finish_dynamic_symbol): Likewise. 1268 (elf_x86_64_convert_load): Pass TRUE to 1269 UNDEFINED_WEAK_RESOLVED_TO_ZERO. 1270 12712016-04-29 H.J. Lu <hongjiu.lu@intel.com> 1272 1273 * elf32-i386.c (check_relocs_failed): New. 1274 (elf_i386_check_relocs): Set check_relocs_failed on error. 1275 (elf_i386_relocate_section): Skip if check_relocs failed. 1276 12772016-04-29 H.J. Lu <hongjiu.lu@intel.com> 1278 1279 * elf64-x86-64.c (elf_x86_64_check_relocs): Set 1280 check_relocs_failed on error. 1281 12822016-04-29 Nick Clifton <nickc@redhat.com> 1283 1284 PR 19938 1285 * elf-bfd.h (struct elf_backend_data): Rename 1286 elf_backend_set_special_section_info_and_link to 1287 elf_backend_copy_special_section_fields. 1288 * elfxx-target.h: Likewise. 1289 * elf.c (section_match): Ignore the SHF_INFO_LINK flag when 1290 comparing section flags. 1291 (copy_special_section_fields): New function. 1292 (_bfd_elf_copy_private_bfd_data): Copy the EI_ABIVERSION field. 1293 Perform two scans over special sections. The first one looks for 1294 a direct mapping between the output section and an input section. 1295 The second scan looks for a possible match based upon section 1296 characteristics. 1297 * elf32-arm.c (elf32_arm_copy_special_section_fields): New 1298 function. Handle setting the sh_link field of SHT_ARM_EXIDX 1299 sections. 1300 * elf32-i386.c (elf32_i386_set_special_info_link): Rename to 1301 elf32_i386_copy_solaris_special_section_fields. 1302 * elf32-sparc.c (elf32_sparc_set_special_section_info_link): 1303 Rename to elf32_sparc_copy_solaris_special_section_fields. 1304 * elf64-x86-64.c (elf64_x86_64_set_special_info_link): Rename to 1305 elf64_x86_64_copy_solaris_special_section_fields. 1306 13072016-04-28 Nick Clifton <nickc@redhat.com> 1308 1309 * po/zh_CN.po: Updated Chinese (simplified) translation. 1310 13112016-04-27 H.J. Lu <hongjiu.lu@intel.com> 1312 1313 PR ld/20006 1314 * elf64-x86-64.c (elf_x86_64_convert_load): Skip debug sections 1315 when estimating distances between output sections. 1316 13172016-04-27 Alan Modra <amodra@gmail.com> 1318 1319 * elflink.c (_bfd_elf_is_start_stop): New function. 1320 (_bfd_elf_gc_mark_rsec): Use it. 1321 * elf-bfd.h (_bfd_elf_is_start_stop): Declare. 1322 13232016-04-26 Trevor Saunders <tbsaunde+binutils@tbsaunde.org> 1324 1325 * elf32-rx.c (rx_set_section_contents): Avoid arithmetic on void *. 1326 * mmo.c (mmo_get_section_contents): Likewise. 1327 (mmo_set_section_contents): Likewise. 1328 13292016-04-26 H.J. Lu <hongjiu.lu@intel.com> 1330 1331 * elf-bfd.h (elf_link_hash_table): Update comments for 1332 dynsymcount. 1333 * elflink.c (_bfd_elf_link_renumber_dynsyms): Always count for 1334 the unused NULL entry at the head of dynamic symbol table. 1335 (bfd_elf_size_dynsym_hash_dynstr): Remove dynsymcount != 0 1336 checks. 1337 13382016-04-21 H.J. Lu <hongjiu.lu@intel.com> 1339 1340 * elflink.c (_bfd_elf_link_create_dynstrtab): Exclude linker 1341 created file from dynobj. 1342 13432016-04-21 H.J. Lu <hongjiu.lu@intel.com> 1344 1345 * elflink.c (_bfd_elf_link_create_dynstrtab): Set dynobj to a 1346 normal input file if possible. 1347 13482016-04-21 Nick Clifton <nickc@redhat.com> 1349 1350 * aout-adobe.c: Use _bfd_generic_link_check_relocs. 1351 * aout-target.h: Likewise. 1352 * aout-tic30.c: Likewise. 1353 * binary.c: Likewise. 1354 * bout.c: Likewise. 1355 * coff-alpha.c: Likewise. 1356 * coff-rs6000.c: Likewise. 1357 * coff64-rs6000.c: Likewise. 1358 * coffcode.h: Likewise. 1359 * i386msdos.c: Likewise. 1360 * i386os9k.c: Likewise. 1361 * ieee.c: Likewise. 1362 * ihex.c: Likewise. 1363 * libbfd-in.h: Likewise. 1364 * libecoff.h: Likewise. 1365 * mach-o-target.c: Likewise. 1366 * mmo.c: Likewise. 1367 * nlm-target.h: Likewise. 1368 * oasys.c: Likewise. 1369 * pef.c: Likewise. 1370 * plugin.c: Likewise. 1371 * ppcboot.c: Likewise. 1372 * som.c: Likewise. 1373 * srec.c: Likewise. 1374 * tekhex.c: Likewise. 1375 * versados.c: Likewise. 1376 * vms-alpha.c: Likewise. 1377 * xsym.c: Likewise. 1378 * elfxx-target.h: Use _bfd_elf_link_check_relocs. 1379 * linker.c (bfd_link_check_relocs): New function. 1380 (_bfd_generic_link_check_relocs): New function. 1381 * targets.c (BFD_JUMP_TABLE_LINK): Add initialization of 1382 _bfd_link_check_relocs field. 1383 (struct bfd_target)L Add _bfd_link_check_relocs field. 1384 * bfd-in2.h: Regenerate. 1385 * libbfd.h: Regenerate. 1386 13872016-04-20 H.J. Lu <hongjiu.lu@intel.com> 1388 1389 * elf32-i386.c (elf_i386_gc_sweep_hook): Removed. 1390 (elf_backend_gc_sweep_hook): Likewise. 1391 * elf64-x86-64.c (elf_x86_64_gc_sweep_hook): Likewise. 1392 (elf_backend_gc_sweep_hook): Likewise. 1393 13942016-04-20 H.J. Lu <hongjiu.lu@intel.com> 1395 1396 * elflink.c (_bfd_elf_link_check_relocs): Don't check relocations 1397 in excluded sections 1398 13992016-04-20 H.J. Lu <hongjiu.lu@intel.com> 1400 1401 PR ld/19969 1402 * elf64-x86-64.c (check_relocs_failed): New. 1403 (elf_x86_64_need_pic): Moved before elf_x86_64_check_relocs. 1404 Support relocation agaist local symbol. Set check_relocs_failed. 1405 (elf_x86_64_check_relocs): Use elf_x86_64_need_pic. Check 1406 R_X86_64_32 relocation overflow. 1407 (elf_x86_64_relocate_section): Skip if check_relocs failed. 1408 Update one elf_x86_64_need_pic and remove one elf_x86_64_need_pic. 1409 14102016-04-20 H.J. Lu <hongjiu.lu@intel.com> 1411 1412 * elf32-i386.c (elf_i386_check_relocs): Call 1413 _bfd_elf_create_ifunc_sections only for STT_GNU_IFUNC symbol. 1414 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise. 1415 14162016-04-20 H.J. Lu <hongjiu.lu@intel.com> 1417 1418 * elf-bfd.h (_bfd_elf_link_check_relocs): New. 1419 * elflink.c (_bfd_elf_link_check_relocs): New function. 1420 (elf_link_add_object_symbols): Call _bfd_elf_link_check_relocs 1421 if check_relocs_after_open_input is FALSE. 1422 14232016-04-20 Trevor Saunders <tbsaunde+binutils@tbsaunde.org> 1424 1425 * cache.c: Update old style function definitions. 1426 * elf32-m68k.c: Likewise. 1427 * elf64-mmix.c: Likewise. 1428 * stab-syms.c: Likewise. 1429 14302016-04-20 Trevor Saunders <tbsaunde+binutils@tbsaunde.org> 1431 1432 * elf32-arm.c (put_thumb2_insn): Change argument type to bfd_byte *. 1433 14342016-04-15 H.J. Lu <hongjiu.lu@intel.com> 1435 1436 * Makefile.in: Regenerated with automake 1.11.6. 1437 * aclocal.m4: Likewise. 1438 * doc/Makefile.in: Likewise. 1439 14402016-04-14 Andrew Burgess <andrew.burgess@embecosm.com> 1441 1442 * reloc.c: Add BFD_RELOC_ARC_NPS_CMEM16 entry. 1443 * bfd-in2.h: Regenerate. 1444 * libbfd.h: Regenerate. 1445 * elf32-arc.c: Add 'opcode/arc.h' include. 1446 (struct arc_relocation_data): Add symbol_name. 1447 (arc_special_overflow_checks): New function. 1448 (arc_do_relocation): Use arc_special_overflow_checks, reindent as 1449 required, add an extra comment. 1450 (elf_arc_relocate_section): Setup symbol_name in reloc_data. 1451 14522016-04-14 Andrew Burgess <andrew.burgess@embecosm.com> 1453 1454 * elf32-arc.c (tls_got_entries): Add 'TLS_GOT_' prefix to all 1455 entries. 1456 (elf_arc_relocate_section): Update enum uses. 1457 (elf_arc_check_relocs): Likewise. 1458 (elf_arc_finish_dynamic_symbol): Likewise. 1459 14602016-04-14 H.J. Lu <hongjiu.lu@intel.com> 1461 1462 * elf.c (_bfd_elf_copy_private_bfd_data): Replace "link" with 1463 "sh_link". 1464 14652016-04-14 Nick Clifton <nickc@redhat.com> 1466 1467 PR target/19938 1468 * elf-bbfd.h (struct elf_backend_data): New field: 1469 elf_strtab_flags. 1470 New field: elf_backend_set_special_section_info_and_link 1471 * elfxx-target.h (elf_backend_strtab_flags): Define if not already 1472 defined. 1473 (elf_backend_set_special_section_info_and_link): Define if not 1474 already defined. 1475 (elfNN_bed): Use elf_backend_set_special_section_info_and_link and 1476 elf_backend_strtab_flags macros to initialise fields in structure. 1477 * elf.c (_bfd_elf_make_section_from_shdr): Check for SHF_STRINGS 1478 being set even if SHF_MERGE is not set. 1479 (elf_fake_sections): Likewise. 1480 (section_match): New function. Matches two ELF sections based 1481 upon fixed characteristics. 1482 (find_link): New function. Locates a section in a BFD that 1483 matches a section in a different BFD. 1484 (_bfd_elf_copy_private_bfd_data): Copy the sh_info and sh_link 1485 fields of reserved sections. 1486 (bfd_elf_compute_section_file_positions): Set the flags for the 1487 .shstrtab section based upon the elf_strtab_flags field in the 1488 elf_backend_data structure. 1489 (swap_out_syms): Likewise for the .strtab section. 1490 * elflink.c (bfd_elf_final_link): Set the flags for the 1491 .strtab section based upon the elf_strtab_flags field in the 1492 elf_backend_data structure. 1493 * elf32-i386.c (elf32_i386_set_special_info_link): New function. 1494 (elf_backend_strtab_flags): Set to SHF_STRINGS for Solaris 1495 targets. 1496 (elf_backend_set_special_section_info_and_link): Define for 1497 Solaris targets. 1498 * elf32-sparc.c: Likewise. 1499 * elf64-x86-64.c: Likewise. 1500 15012016-04-11 H.J. Lu <hongjiu.lu@intel.com> 1502 1503 PR ld/19939 1504 * elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add a pointer 1505 to bfd_boolean. 1506 * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Updated. 1507 Set *readonly_dynrelocs_against_ifunc_p to TRUE if dynamic reloc 1508 applies to read-only section. 1509 * elf32-i386.c (elf_i386_link_hash_table): Add 1510 readonly_dynrelocs_against_ifunc. 1511 (elf_i386_allocate_dynrelocs): Updated. 1512 (elf_i386_size_dynamic_sections): Issue an error for read-only 1513 segment with dynamic IFUNC relocations only if 1514 readonly_dynrelocs_against_ifunc is TRUE. 1515 * elf64-x86-64.c (elf_x86_64_link_hash_table): Add 1516 readonly_dynrelocs_against_ifunc. 1517 (elf_x86_64_allocate_dynrelocs): Updated. 1518 (elf_x86_64_size_dynamic_sections): Issue an error for read-only 1519 segment with dynamic IFUNC relocations only if 1520 readonly_dynrelocs_against_ifunc is TRUE. 1521 * elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs): 1522 Updated. 1523 15242016-04-06 Thomas Preud'homme <thomas.preudhomme@arm.com> 1525 1526 * elf32-arm.c (elf32_arm_size_stubs): Move error_ret_free_local to be 1527 a fall through from error_ret_free_internal. Free local_syms in 1528 error_ret_free_local if allocated from bfd_elf_get_elf_syms (). 1529 15302016-04-05 Cupertino Miranda <cmiranda@synopsys.com> 1531 1532 * elf32-arc.c (plt_do_relocs_for_symbol): Changed. 1533 (relocate_plt_for_entry): Likewise. 1534 15352016-04-05 Cupertino Miranda <cmiranda@synopsys.com> 1536 1537 * elf32-arc.c (elf_arc_check_relocs): Changed 1538 15392016-04-05 Cupertino Miranda <cmiranda@synopsys.com> 1540 1541 * elf32-arc.c (name_for_global_symbol): Changed assert. 1542 (get_replace_function): Created.: 1543 (struct arc_relocation_data): Changed to signed types. 1544 (defines S, L, P, PDATA): Casted to signed type. 1545 (defines SECTSTART, _SDA_BASE_, TLS_REL): Likewise. 1546 (PRINT_DEBUG_RELOC_INFO_BEFORE): Changed. 1547 (arc_do_relocation): Changed. 1548 15492016-04-05 Cupertino Miranda <cmiranda@synopsys.com> 1550 1551 * elf32-arc.c (name_for_global_symbol): Added assert to check for 1552 symbol index. 1553 (elf_arc_relocate_section): Added and changed asserts, validating 1554 the synamic symbol index. 1555 (elf_arc_finish_dynamic_symbol): Do not fill the dynamic 1556 relocation if symbol has dynindx set to -1. 1557 15582016-04-05 Maciej W. Rozycki <macro@imgtec.com> 1559 1560 * elflink.c (elf_link_add_object_symbols): Always turn hidden 1561 and internal symbols which have a dynamic index into local 1562 ones. 1563 15642016-04-04 Nick Clifton <nickc@redhat.com> 1565 1566 PR 19872 1567 * dwarf2.c (parse_comp_unit): Skip warning about unrecognised 1568 version number if the version is zero. 1569 15702016-04-01 Alan Modra <amodra@gmail.com> 1571 1572 PR 19886 1573 * elflink.c (on_needed_list): Recursively check needed status. 1574 (elf_link_add_object_symbols): Adjust. 1575 15762016-03-30 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> 1577 1578 * elf32-avr.c (avr_elf32_load_records_from_section): Free 1579 internal_relocs only if they aren't cached. 1580 15812016-03-29 Nick Clifton <nickc@redhat.com> 1582 1583 PR 17334 1584 * elf32-bfin.c (elf32_bfinfdpic_finish_dynamic_sections): Relax 1585 assertion on the size of the got section to allow it to be bigger 1586 than the number of relocs. 1587 15882016-03-29 Toni Spets <toni.spets@iki.fi> 1589 1590 PR 19878 1591 * coffcode.h (coff_write_object_contents): Revert accidental 1592 2014-11-10 change. 1593 15942016-03-22 Alan Modra <amodra@gmail.com> 1595 1596 PR 19850 1597 * dwarf2.c (read_attribute_value): Skip info_ptr check for 1598 DW_FORM_flag_present. 1599 16002016-03-22 Nick Clifton <nickc@redhat.com> 1601 1602 * cpu-v850_rh850.c (arch_info_struct): Restore v850-rh850 as an 1603 architecture name for backwards compatibility. 1604 1605 * peXXigen.c (_bfd_XXi_write_codeview_record): Fix possible 1606 unbounded stack use. 1607 1608 * warning.m4 (GCC_WARN_CFLAGS): Only add -Wstack-usage if using a 1609 sufficiently recent version of GCC. 1610 * configure: Regenerate. 1611 16122016-03-22 Alan Modra <amodra@gmail.com> 1613 1614 PR 19851 1615 * plugin.c (try_load_plugin): Avoid -Wstack-usage warning. 1616 16172016-03-21 Andrew Burgess <andrew.burgess@embecosm.com> 1618 1619 * archures.c (bfd_mach_arc_nps400): Define. 1620 * bfd-in2.h: Regenerate. 1621 * cpu-arc.c (arch_info_struct): New entry for nps400, renumber 1622 some existing entries to make space. 1623 * elf32-arc.c (arc_elf_object_p): Add nps400 case. 1624 (arc_elf_final_write_processing): Likewise. 1625 16262016-03-21 Andrew Burgess <andrew.burgess@embecosm.com> 1627 1628 * elf32-arc.c (arc_elf_print_private_bfd_data): Remove use of 1629 EF_ARC_CPU_GENERIC. 1630 (arc_elf_final_write_processing): Don't bother setting cpu field 1631 in e_flags, this will have been set elsewhere. 1632 16332016-03-21 Andrew Burgess <andrew.burgess@embecosm.com> 1634 1635 * elf32-arc.c (arc_elf_final_write_processing): Switch to using 1636 EF_ARC_MACH_MSK. 1637 16382016-03-21 Nick Clifton <nickc@redhat.com> 1639 1640 * warning.m4 (GCC_WARN_CFLAGS): Add -Wstack-usage=262144 1641 * configure: Regenerate. 1642 * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Replace use of 1643 alloca with call to xmalloc. 1644 * elf32-nds32.c: Likewise. 1645 * elf64-hppa.c: Likewise. 1646 * elfxx-mips.c: Likewise. 1647 * pef.c: Likewise. 1648 * pei-x86_64.c: Likewise. 1649 * som.c: Likewise. 1650 * xsym.c: Likewise. 1651 16522016-03-15 H.J. Lu <hongjiu.lu@intel.com> 1653 1654 PR ld/19827 1655 * elf32-i386.c (elf_i386_check_relocs): Bind defined symbol 1656 locally in PIE. 1657 (elf_i386_relocate_section): Likewise. 1658 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise. 1659 (elf_x86_64_relocate_section): Likewise. 1660 16612016-03-15 H.J. Lu <hongjiu.lu@intel.com> 1662 1663 PR ld/19807 1664 * elf64-x86-64.c (elf_x86_64_relocate_section): Check 1665 no_reloc_overflow_check to diable R_X86_64_32/R_X86_64_32S 1666 relocation overflow check. 1667 16682016-03-14 H.J. Lu <hongjiu.lu@intel.com> 1669 1670 * bfd-in2.h: Regenerated. 1671 16722016-03-11 Dan Gissel <dgisselq@ieee.org> 1673 1674 PR 19713 1675 * elf.c (_bfd_elf_section_offset): Ensure that the returned offset 1676 uses bytes not octets. 1677 * elflink.c (resolve_section): Likewise. 1678 Add a bfd parameter. 1679 (eval_section): Pass the input_bfd to resolve_section. 1680 (bfd_elf_perform_complex_relocation): Convert byte offset to 1681 octets before read and writing values. 1682 (elf_link_input_bfd): Add byte to octet conversions. 1683 (elf_reloc_link_order): Likewise. 1684 (elf_fixup_link_order): Likewise. 1685 (bfd_elf_final_link): Likewise. 1686 * reloc.c (_bfd_final_link_relocate): Likewise. 1687 * syms.c (_bfd_stab_section_find_nearest_line): Likewise. 1688 16892016-03-10 Nick Clifton <nickc@redhat.com> 1690 1691 * config.bfd: Mark the i370 target as obsolete. 1692 16932016-03-09 Pedro Alves <palves@redhat.com> 1694 1695 * cpu-v850.c (N): Append ":old-gcc-abi" instead of " (using old 1696 gcc ABI)" to printable name. 1697 * cpu-v850_rh850.c (bfd_v850_rh850_arch): Use "v850:rh850" instead 1698 of "v850-rh850" as printable name. 1699 17002016-03-09 Leon Winter <winter-gcc@bfw-online.de> 1701 1702 PR ld/19623 1703 * cofflink.c (_bfd_coff_generic_relocate_section): Do not apply 1704 relocations against absolute symbols. 1705 17062016-03-09 Alan Modra <amodra@gmail.com> 1707 1708 PR binutils/19775 1709 * coff-alpha.c (alpha_ecoff_openr_next_archived_file): Allow zero 1710 length elements in the archive. 1711 17122016-03-08 H.J. Lu <hongjiu.lu@intel.com> 1713 1714 PR ld/19789 1715 * elflink.c (elf_link_add_object_symbols): Create dynamic sections 1716 for -E/--dynamic-list only when not relocatable. 1717 17182016-03-08 H.J. Lu <hongjiu.lu@intel.com> 1719 1720 PR ld/19784 1721 * elf32-i386.c (elf_i386_check_relocs): Increment PLT reference 1722 count for locally defined local IFUNC symbols in shared object. 1723 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise. 1724 17252016-03-08 H.J. Lu <hongjiu.lu@intel.com> 1726 1727 PR ld/19579 1728 * elflink.c (_bfd_elf_merge_symbol): Group common symbol checking 1729 together. 1730 17312016-03-08 Cupertino Miranda <Cupertino.Miranda@synopsys.com> 1732 Andrew Burgess <andrew.burgess@embecosm.com> 1733 1734 * elf32-arc.c (arc_bfd_get_32): Becomes an alias for bfd_get_32. 1735 (arc_bfd_put_32): Becomes an alias for bfd_put_32. 1736 (arc_elf_howto_init): Added assert to validate relocations. 1737 (get_middle_endian_relocation): Delete. 1738 (middle_endian_convert): New function. 1739 (ME): Redefine, now does nothing. 1740 (IS_ME): New define. 1741 (arc_do_relocation): Extend the attached 'ARC_RELOC_HOWTO' 1742 definition to call middle_endian_convert. Add a new local 1743 variable and make use of this throughout. Added call to 1744 arc_bfd_get_8 and arc_bfd_put_8 for 8 bit relocations. 1745 17462016-03-07 Nick Clifton <nickc@redhat.com> 1747 1748 PR binutils/19775 1749 * archive.c (bfd_generic_openr_next_archived_file): Allow zero 1750 length elements in the archive. 1751 17522016-03-07 Jiong Wang <jiong.wang@arm.com> 1753 1754 * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Always create .got 1755 section if the symbol "_GLOBAL_OFFSET_TABLE_" is referenced. 1756 17572016-03-04 H.J. Lu <hongjiu.lu@intel.com> 1758 1759 PR ld/19579 1760 * elflink.c (_bfd_elf_merge_symbol): Treat common symbol in 1761 executable as definition if the new definition comes from a 1762 shared library. 1763 17642016-03-02 Alan Modra <amodra@gmail.com> 1765 1766 * Makefile.in: Regenerate. 1767 * po/SRC-POTFILES.in: Regenerate. 1768 17692016-02-29 Cupertino Miranda <cmiranda@synopsys.com> 1770 1771 * elf32-arc.c (elf_arc_relocate_section): Added rules to fix the 1772 relocation addend when sections get merged. 1773 17742016-02-29 Cupertino Miranda <Cupertino.Miranda@synopsys.com> 1775 1776 * elf32-arc.c (arc_elf_final_write_processing): Add condition to 1777 the flag change. 1778 (elf_arc_relocate_section): Fixes and conditions to support PIE. 1779 Assert for code sections dynamic relocs. 1780 17812016-02-26 Renlin Li <renlin.li@arm.com> 1782 1783 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Fix signed overflow 1784 check for MOVW_SABS_G0, MOVW_SABS_G1, MOVW_SABS_G2. 1785 17862016-02-26 H.J. Lu <hongjiu.lu@intel.com> 1787 1788 PR ld/19609 1789 * elf32-i386.c (elf_i386_convert_load): Convert to R_386_32 for 1790 load with locally bound symbols if PIC is false or there is no 1791 base register. Optimize branch to 0 if PIC is false. 1792 (elf_i386_relocate_section): Don't generate dynamic relocations 1793 against undefined weak symbols if PIC is false. 1794 * elf64-x86-64.c (elf_x86_64_convert_load): Disable optimization 1795 if we can't estimate relocation overflow with --no-relax. 1796 Convert to R_X86_64_32S/R_X86_64_32 for load with locally bound 1797 symbols if PIC is false. Optimize branch to 0 if PIC is false. 1798 (elf_x86_64_relocate_section): Don't generate dynamic relocations 1799 against undefined weak symbols if PIC is false. 1800 18012016-02-26 H.J. Lu <hongjiu.lu@intel.com> 1802 1803 PR ld/19645 1804 * bfd.c (bfd): Change flags to 20 bits. 1805 (BFD_CONVERT_ELF_COMMON): New. 1806 (BFD_USE_ELF_STT_COMMON): Likewise. 1807 (BFD_FLAGS_SAVED): Add BFD_CONVERT_ELF_COMMON and 1808 BFD_USE_ELF_STT_COMMON. 1809 (BFD_FLAGS_FOR_BFD_USE_MASK): Likewise. 1810 * configure.ac: Remove --enable-elf-stt-common. 1811 * elf.c (swap_out_syms): Choose STT_COMMON or STT_OBJECT for 1812 common symbol depending on BFD_CONVERT_ELF_COMMON and 1813 BFD_USE_ELF_STT_COMMON. 1814 * elfcode.h (elf_slurp_symbol_table): Set BSF_ELF_COMMON for 1815 STT_COMMON. 1816 * elflink.c (bfd_elf_link_mark_dynamic_symbol): Also check 1817 STT_COMMON. 1818 (elf_link_convert_common_type): New function. 1819 (elf_link_output_extsym): Choose STT_COMMON or STT_OBJECT for 1820 common symbol depending on BFD_CONVERT_ELF_COMMON and 1821 BFD_USE_ELF_STT_COMMON. Set sym.st_info after sym.st_shndx. 1822 * elfxx-target.h (TARGET_BIG_SYM): Add BFD_CONVERT_ELF_COMMON 1823 and BFD_USE_ELF_STT_COMMON to object_flags. 1824 (TARGET_LITTLE_SYM): Likewise. 1825 * syms.c (BSF_KEEP_G): Renamed to ... 1826 (BSF_ELF_COMMON): This. 1827 * bfd-in2.h: Regenerated. 1828 * config.in: Likewise. 1829 * configure: Likewise. 1830 18312016-02-26 H.J. Lu <hongjiu.lu@intel.com> 1832 1833 PR ld/19636 1834 PR ld/19704 1835 PR ld/19719 1836 * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New. 1837 (elf_i386_link_hash_entry): Add has_got_reloc and 1838 has_non_got_reloc. 1839 (elf_i386_link_hash_table): Add interp. 1840 (elf_i386_link_hash_newfunc): Initialize has_got_reloc and 1841 has_non_got_reloc. 1842 (elf_i386_copy_indirect_symbol): Copy has_got_reloc and 1843 has_non_got_reloc. 1844 (elf_i386_check_relocs): Set has_got_reloc and has_non_got_reloc. 1845 (elf_i386_fixup_symbol): New function. 1846 (elf_i386_pie_finish_undefweak_symbol): Likewise. 1847 (elf_i386_allocate_dynrelocs): Don't allocate space for dynamic 1848 relocations and discard relocations against resolved undefined 1849 weak symbols in executable. Don't make resolved undefined weak 1850 symbols in executable dynamic. Keep dynamic non-GOT/non-PLT 1851 relocation against undefined weak symbols in PIE. 1852 (elf_i386_size_dynamic_sections): Set interp to .interp section. 1853 (elf_i386_relocate_section): Don't generate dynamic relocations 1854 against resolved undefined weak symbols in PIE, except for 1855 R_386_PC32. 1856 (elf_i386_finish_dynamic_symbol): Keep PLT/GOT entries without 1857 dynamic PLT/GOT relocations for resolved undefined weak symbols. 1858 Don't generate dynamic relocation against resolved undefined weak 1859 symbol in executable. 1860 (elf_i386_finish_dynamic_sections): Call 1861 elf_i386_pie_finish_undefweak_symbol on all symbols in PIE. 1862 (elf_backend_fixup_symbol): New. 1863 * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New. 1864 (elf_x86_64_link_hash_entry): Add has_got_reloc and 1865 has_non_got_reloc. 1866 (elf_x86_64_link_hash_table): Add interp. 1867 (elf_x86_64_link_hash_newfunc): Initialize has_got_reloc and 1868 has_non_got_reloc. 1869 (elf_x86_64_copy_indirect_symbol): Copy has_got_reloc and 1870 has_non_got_reloc. 1871 (elf_x86_64_check_relocs): Set has_got_reloc and 1872 has_non_got_reloc. 1873 (elf_x86_64_fixup_symbol): New function. 1874 (elf_x86_64_pie_finish_undefweak_symbol): Likewise. 1875 (elf_x86_64_allocate_dynrelocs): Don't allocate space for dynamic 1876 relocations and discard relocations against resolved undefined 1877 weak symbols in executable. Don't make resolved undefined weak 1878 symbols in executable dynamic. 1879 (elf_x86_64_size_dynamic_sections): Set interp to .interp section. 1880 (elf_x86_64_relocate_section): Check relocation overflow for 1881 dynamic relocations against unresolved weak undefined symbols. 1882 Don't generate dynamic relocations against resolved weak 1883 undefined symbols in PIE. 1884 (elf_x86_64_finish_dynamic_symbol): Keep PLT/GOT entries without 1885 dynamic PLT/GOT relocations for resolved undefined weak symbols. 1886 Don't generate dynamic relocation against resolved undefined weak 1887 symbol in executable. 1888 (elf_x86_64_finish_dynamic_sections): Call 1889 elf_x86_64_pie_finish_undefweak_symbol on all symbols in PIE. 1890 (elf_backend_fixup_symbol): New. 1891 18922016-02-26 Alan Modra <amodra@gmail.com> 1893 1894 * elf64-ppc.c (create_linkage_sections): Create sfpr when 1895 save_restore_funcs, rest of sections when not relocatable. 1896 (ppc64_elf_init_stub_bfd): Always call create_linkage_sections. 1897 (sfpr_define): Define all symbols on emitted code. 1898 (ppc64_elf_func_desc_adjust): Adjust for sfpr now being created 1899 when relocatable. Move sfpr_define loop earlier. 1900 19012016-02-24 H.J. Lu <hongjiu.lu@intel.com> 1902 1903 * elf64-x86-64.c (elf_x86_64_need_pic): New function. 1904 (elf_x86_64_relocate_section): Use it. Replace 1905 x86_64_elf_howto_table[r_type] with howto. 1906 19072016-02-24 H.J. Lu <hongjiu.lu@intel.com> 1908 1909 PR ld/19698 1910 * elflink.c (bfd_elf_record_link_assignment): Set versioned if 1911 symbol version is unknown. 1912 19132016-02-24 H.J. Lu <hongjiu.lu@intel.com> 1914 1915 * elf32-i386.c (elf_i386_allocate_dynrelocs): Set plt_got.offset 1916 to (bfd_vma) -1 when setting needs_plt to 0. 1917 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise. 1918 19192016-02-23 H.J. Lu <hongjiu.lu@intel.com> 1920 1921 * elflink.c (bfd_elf_record_link_assignment): Check for shared 1922 library, instead of PIC, and don't check PDE when making linker 1923 assigned symbol dynamic. 1924 19252016-02-23 Faraz Shahbazker <faraz.shahbazker@imgtec.com> 1926 1927 * bfd/elfxx-mips.c (_bfd_mips_post_process_headers): Increment 1928 ABIVERSION for non-executable stack. 1929 19302016-02-23 Rich Felker <bugdal@aerifal.cx> 1931 1932 PR target/19516 1933 * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol): 1934 Always produce a RELATIVE reloc for a local symbol. 1935 19362016-02-23 Hans-Peter Nilsson <hp@axis.com> 1937 1938 Fix test-case ld-elf/pr19617b 1939 * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't 1940 discard unused non-function symbols when --dynamic-list-data. 1941 19422016-02-22 H.J. Lu <hongjiu.lu@intel.com> 1943 1944 * elflink.c (_bfd_elf_link_renumber_dynsyms): Always create the 1945 dynsym section, even if it is empty, with dynamic sections. 1946 19472016-02-22 H.J. Lu <hongjiu.lu@intel.com> 1948 1949 * syms.c: Remove BSF_COMMON from comments. 1950 * bfd-in2.h: Regenerated. 1951 19522016-02-22 Jiong Wang <jiong.wang@arm.com> 1953 1954 * elfnn-aarch64. (aarch64_type_of_stub): Remove redundation calcuation 1955 for destination. Remove useless function parameters. 1956 (elfNN_aarch64_size_stubs): Update parameters for aarch64_type_of_stub. 1957 19582016-02-19 Nick Clifton <nickc@redhat.com> 1959 1960 PR ld/19629 1961 * aoutx.h (aout_link_add_symbols): Check for out of range string 1962 table offsets. 1963 1964 PR ld/19628 1965 * reloc.c (bfd_generic_get_relocated_section_contents): Stop 1966 processing if we encounter a reloc without an associated symbol. 1967 19682016-02-18 H.J. Lu <hongjiu.lu@intel.com> 1969 1970 PR ld/19617 1971 * elflink.c (elf_link_add_object_symbols): Always create dynamic 1972 sections for -E/--dynamic-list. 1973 19742016-02-17 H.J. Lu <hongjiu.lu@intel.com> 1975 1976 * elf64-x86-64.c (elf_backend_omit_section_dynsym): New. Defined 1977 to bfd_true. 1978 19792016-02-16 Joseph Myers <joseph@codesourcery.com> 1980 1981 * plugin.c (plugin_vec): Set match priority to 255. 1982 * format.c (bfd_check_format_matches) [BFD_SUPPORTS_PLUGINS]: When 1983 matching against the plugin vector, take priority from there not 1984 from TEMP. 1985 19862016-02-15 Nick Clifton <nickc@redhat.com> 1987 1988 * elf-bfd.h (struct bfd_elf_special_section): Use unsigned values 1989 for length and type fields. Use a signed value for the 1990 suffix_length field. 1991 19922016-02-10 H.J. Lu <hongjiu.lu@intel.com> 1993 1994 PR ld/19601 1995 * elf32-i386.c (elf_i386_relocate_section): Mask off the least 1996 significant bit in GOT offset for R_386_GOT32X. 1997 19982016-02-10 Nick Clifton <nickc@redhat.com> 1999 2000 PR 19405 2001 * elf32-nios2.c (nios2_elf32_install_imm16): Allow for signed 2002 immediate values. 2003 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Limit the 2004 number of messages about FDE encoding preventing .eh_frame_hdr 2005 generation. 2006 20072016-02-09 Nick Clifton <nickc@redhat.com> 2008 2009 * oasys.c (oasys_archive_p): Fix indentation. 2010 * elf32-nds32.c (nds32_elf_relax_section): Use an unsigned 2011 constant for left shifting. 2012 2013 * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Add a more 2014 helpful warning message to explain why certain AArch64 relocs 2015 might overflow. 2016 20172016-02-05 Simon Marchi <simon.marchi@ericsson.com> 2018 2019 * pe-mips.c (coff_mips_reloc): Fix formatting. 2020 20212016-02-05 Cupertino Miranda <Cupertino.Miranda@synopsys.com> 2022 2023 * cpu-arc.c: Change default archure from bfd_mach_arc_arcv2 2024 to bfd_mach_arc_arc600. 2025 20262016-02-04 Alan Modra <amodra@gmail.com> 2027 2028 * elf64-ppc.c (ppc64_elf_relocate_section): Adjust last patch 2029 for big-endian. 2030 20312016-02-02 H.J. Lu <hongjiu.lu@intel.com> 2032 2033 PR ld/19542 2034 * elf64-x86-64.c (elf_x86_64_convert_load): Store the estimated 2035 distances in the compressed_size field of the output section. 2036 20372016-02-02 Alan Modra <amodra@gmail.com> 2038 2039 * elf64-ppc.c (ppc64_elf_relocate_section): Further restrict 2040 ELFv2 entry optimization. 2041 20422016-02-02 H.J. Lu <hongjiu.lu@intel.com> 2043 2044 PR binutils/19547 2045 * elf.c (assign_section_numbers): Clear HAS_RELOC if there are 2046 no relocations in relocatable files. 2047 20482016-02-01 H.J. Lu <hongjiu.lu@intel.com> 2049 2050 PR ld/19553 2051 * elflink.c (elf_link_add_object_symbols): Don't add DT_NEEDED 2052 if a symbol from a library loaded via DT_NEEDED doesn't match 2053 the symbol referenced by regular object. 2054 20552016-02-01 Nathaniel Smith <njs@pobox.com> 2056 2057 * peicode.h (pe_ILF_build_a_bfd): Create an import symbol for both 2058 CODE and DATA. 2059 20602016-02-01 Alan Modra <amodra@gmail.com> 2061 2062 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Don't abort on 2063 an out of range reloc_index. 2064 * elf32-i386.c (elf_i386_get_plt_sym_val): Likewise. 2065 20662016-02-01 Kamil Rytarowski <n54@gmx.com> 2067 2068 * Makefile.am (OPTIONAL_BACKENDS): Add netbsd-core.lo. 2069 (OPTIONAL_BACKENDS_CFILES): Add netbsd-core.c. 2070 * Makefile.in: Regenerated. 2071 20722016-02-01 Jan Kratochvil <jan.kratochvil@redhat.com> 2073 2074 * elf64-s390.c (elf_s390_reloc_name_lookup): Fix indentation. 2075 20762016-01-31 John David Anglin <danglin@gcc.gnu.org> 2077 2078 PR ld/19526 2079 * elf32-hppa.c (elf32_hppa_final_link): Don't sort non-regular output 2080 files. 2081 * elf64-hppa.c (elf32_hppa_final_link): Likewise. Remove retval. 2082 20832016-01-30 H.J. Lu <hongjiu.lu@intel.com> 2084 2085 PR ld/19539 2086 * elf32-i386.c (elf_i386_reloc_type_class): Check relocation 2087 against STT_GNU_IFUNC symbol only with dynamic symbols. 2088 * elf64-x86-64.c (elf_x86_64_reloc_type_class): Likewise. 2089 20902016-01-28 H.J. Lu <hongjiu.lu@intel.com> 2091 2092 PR binutils/19523 2093 * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Set BFD_DECOMPRESS to 2094 decompress debug sections. 2095 20962016-01-25 Maciej W. Rozycki <macro@imgtec.com> 2097 2098 * elf32-arc.c (elf_arc_finish_dynamic_symbol): Rename `index' to 2099 `dynindx'. 2100 21012016-01-25 Nick Clifton <nickc@redhat.com> 2102 2103 PR target/19435 2104 * mach-o.c (bfd_mach_o_close_and_cleanup): Suppress code to free 2105 dsym filename buffer. 2106 21072016-01-24 Maciej W. Rozycki <macro@imgtec.com> 2108 2109 * elfxx-mips.c (BZ16_REG_FIELD): Simplify calculation. 2110 21112016-01-24 Maciej W. Rozycki <macro@imgtec.com> 2112 2113 * elfxx-mips.c (BZ16_REG): Correct calculation. 2114 21152016-01-21 Nick Clifton <nickc@redhat.com> 2116 2117 * elf32-arc.c (ADD_RELA): Fix compile time warning errors by 2118 changing the type of _loc to be bfd_byte *. 2119 (elf_arc_finish_dynamic_symbol): Likewise. 2120 21212016-01-21 Nick Clifton <nickc@redhat.com> 2122 2123 PR ld/19455 2124 * elf32-arm.c (elf32_arm_create_dynamic_sections): Set the ELF 2125 class of the linker stub bfd. 2126 (elf32_arm_check_relocs): Skip check for pic format after 2127 processing a vxWorks R_ARM_ABS12 reloc. 2128 * elflink.c (bfd_elf_final_link): Check for ELFCLASSNONE when 2129 reporting a class mismatch. 2130 21312016-01-21 Jiong Wang <jiong.wang@arm.com> 2132 2133 * elfnn-aarch64.c (aarch64_type_of_stub): Allow insert long branch 2134 veneer for sym_sec != input_sec. 2135 (elfNN_aarch64_size_stub): Support STT_SECTION symbol. 2136 (elfNN_aarch64_final_link_relocate): Take rela addend into account when 2137 calculation destination. 2138 21392016-01-21 Alan Modra <amodra@gmail.com> 2140 2141 * elf-linux-core.h (swap_linux_prpsinfo32_out): New function. 2142 (swap_linux_prpsinfo64_out): New function. 2143 (LINUX_PRPSINFO32_SWAP_FIELDS): Delete. 2144 (LINUX_PRPSINFO64_SWAP_FIELDS): Delete. 2145 * elf.c (elfcore_write_linux_prpsinfo32): Adjust. Don't memset. 2146 (elfcore_write_linux_prpsinfo64): Likewise. 2147 * elf32-ppc.c (swap_ppc_linux_prpsinfo32_out): New function. 2148 (PPC_LINUX_PRPSINFO32_SWAP_FIELDS): Delete. 2149 (elfcore_write_ppc_linux_prpsinfo32): Adjust. Don't memset. 2150 21512016-01-21 Alan Modra <amodra@gmail.com> 2152 2153 * elf-linux-core.h: Rename from elf-linux-psinfo.h. 2154 * elf.c: Adjust #include. 2155 * elf32-ppc.c: Don't #include elf-linux-psinfo.h 2156 * Makefile.am (SOURCE_HFILES): Update. 2157 * Makefile.in: Regenerate. 2158 * po/SRC-PORFILES.in: Regenerate. 2159 21602016-01-21 Alan Modra <amodra@gmail.com> 2161 2162 * configure.ac: Move corefile selection later in file. Move 2163 tdefaults code immediately after other target vector code. 2164 * configure: Regenerate. 2165 21662016-01-20 Mickael Guene <mickael.guene@st.com> 2167 2168 * elf32-arm.c (elf32_arm_special_sections): Remove catch of noread 2169 section using '.text.noread' pattern. 2170 21712016-01-19 John Baldwin <jhb@FreeBSD.org> 2172 2173 * elf.c (elfcore_grok_note): Recognize NT_FREEBSD_THRMISC notes. 2174 21752016-01-18 Miranda Cupertino <Cupertino.Miranda@synopsys.com> 2176 Zissulescu Claudiu <Claudiu.Zissulescu@synopsys.com> 2177 2178 * arc-plt.def: New file. 2179 * arc-plt.h: Likewise. 2180 * elf32-arc.c (elf_arc_abs_plt0_entry, elf_arc_abs_pltn_entry, 2181 elf_arcV2_abs_plt0_entry, elf_arcV2_abs_pltn_entry, 2182 elf_arc_pic_plt0_entry, elf_arc_pic_pltn_entry, 2183 elf_arcV2_pic_plt0_entry, elf_arcV2_pic_pltn_entry): Remove. 2184 (name_for_global_symbol): Added. 2185 (ADD_RELA): Helper to create dynamic relocs. 2186 (new_got_entry_to_list): Create a new got entry in linked list. 2187 (symbol_has_entry_of_type): Search for specific type of entry in 2188 list. 2189 (is_reloc_for_GOT): return FALSE for any TLS related relocs. 2190 (is_reloc_for_TLS, arc_elf_set_private_flags) 2191 (arc_elf_print_private_bfd_data, arc_elf_copy_private_bfd_data) 2192 (arc_elf_merge_private_bfd_data): New functions. 2193 (debug_arc_reloc): Cleaned debug info printing. 2194 (PDATA reloc): Changed not to perform address alignment. 2195 (reverse_me): Added. Fix for ARC_32 relocs. 2196 (arc_do_relocation): Return bfd_reloc_of when no relocation should 2197 occur. 2198 (arc_get_local_got_ents): Renamed from arc_get_local_got_offsets. 2199 Changed function to access an array of list of GOT entries instead 2200 of just an array of offsets. 2201 (elf_arc_relocate_section): Added support for PIC and TLS related relocations. 2202 (elf_arc_check_relocs): Likewise. 2203 (elf_arc_adjust_dynamic_symbol, elf_arc_finish_dynamic_symbol, 2204 (elf_arc_finish_dynamic_sections): Likewise 2205 (arc_create_dynamic_sections): Modified conditions to create 2206 dynamic sections. 2207 (ADD_SYMBOL_REF_SEC_AND_RELOC): New macro. 2208 (plt_do_relocs_for_symbol, relocate_plt_for_symbol) 2209 (relocate_plt_for_entry): Changed to support new way to define PLT 2210 related code. 2211 (add_symbol_to_plt): Likewise. 2212 (arc_elf_link_hash_table_create): New function. 2213 22142016-01-18 Nick Clifton <nickc@redhat.com> 2215 2216 PR ld/19440 2217 * coff-rs6000.c (_bfd_xcoff_swap_sym_in): Sign extend external 2218 section number into internal section number. 2219 * coff64-rs6000.c (_bfd_xcoff64_swap_sym_in): Likewise. 2220 * coffswap.h (coff_swap_sym_in): Likewise. 2221 * peXXigen.c (_bfd_XXi_swap_sym_in): Likewise. 2222 * coffcode.h (_coff_bigobj_swap_sym_in): Make sure that internal 2223 section number field is big enough to hold the external value. 2224 22252016-01-17 Alan Modra <amodra@gmail.com> 2226 2227 * configure: Regenerate. 2228 22292016-01-12 Yury Usishchev <y.usishchev@samsung.com> 2230 2231 * elf32-arm.c (elf32_arm_fix_exidx_coverage): Insert cantunwind 2232 when address in first unwind entry does not match start of 2233 section. 2234 22352016-01-08 Richard Sandiford <richard.sandiford@arm.com> 2236 Jiong Wang <jiong.wang@arm.com> 2237 2238 PR ld/19368 2239 * elf32-arm.c (elf32_arm_reloc_type_class): Map R_ARM_IRELATIVE to 2240 reloc_class_ifunc. 2241 22422016-01-06 Andrew Burgess <andrew.burgess@embecosm.com> 2243 2244 * elf32-arc.c (reloc_type_to_name): Change ARC_RELOC_HOWTO to 2245 place 'R_' before the reloc name returned. 2246 (elf_arc_howto_table): Change ARC_RELOC_HOWTO to place 'R_' before 2247 the relocation string. 2248 22492016-01-04 Maciej W. Rozycki <macro@imgtec.com> 2250 2251 * elfxx-mips.c (mips_elf_merge_obj_abiflags): New function, 2252 factored out from... 2253 (_bfd_mips_elf_merge_private_bfd_data): ... here. 2254 22552016-01-04 Maciej W. Rozycki <macro@imgtec.com> 2256 2257 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Move 2258 attribute check after ELF file header flag check. 2259 22602016-01-04 Maciej W. Rozycki <macro@imgtec.com> 2261 2262 * elfxx-mips.c (mips_elf_merge_obj_attributes): Propagate the 2263 return status from `_bfd_elf_merge_object_attributes'. 2264 22652016-01-04 Maciej W. Rozycki <macro@imgtec.com> 2266 2267 * elfxx-mips.c (mips_elf_merge_obj_e_flags): New function, 2268 factored out from... 2269 (_bfd_mips_elf_merge_private_bfd_data): ... here. 2270 22712016-01-04 Maciej W. Rozycki <macro@imgtec.com> 2272 2273 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Fold the 2274 handling of input MIPS ABI flags together. 2275 22762016-01-04 Maciej W. Rozycki <macro@imgtec.com> 2277 2278 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Suppress 2279 attribute checks for null input. 2280 22812016-01-04 Maciej W. Rozycki <macro@imgtec.com> 2282 2283 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Use local 2284 pointers to target data. 2285 22862016-01-04 Maciej W. Rozycki <macro@imgtec.com> 2287 2288 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Correct 2289 an FP ABI warning. 2290 22912016-01-01 Alan Modra <amodra@gmail.com> 2292 2293 Update year range in copyright notice of all files. 2294 2295For older changes see ChangeLog-2015 and doc/ChangeLog-0415 2296 2297Copyright (C) 2016 Free Software Foundation, Inc. 2298 2299Copying and distribution of this file, with or without modification, 2300are permitted in any medium without royalty provided the copyright 2301notice and this notice are preserved. 2302 2303Local Variables: 2304mode: change-log 2305left-margin: 8 2306fill-column: 74 2307version-control: never 2308End: 2309