12016-08-01 Joel Brobecker <brobecker@adacore.com> 2 3 * development.sh (development): Set to false. 4 52016-08-01 Nick Clifton <nickc@redhat.com> 6 7 * po/sv.po: Updated Swedish translation. 8 92016-07-27 Ozkan Sezer <sezeroz@gmail.com> 10 Nick Clifton <nickc@redhat.com> 11 12 PR ld/20401 13 * coffgen.c (fini_reloc_cookie_rels): Check for the extistence 14 of the coff_section_data before using it. 15 162016-07-26 Maciej W. Rozycki <macro@imgtec.com> 17 18 * elfxx-mips.c (mips_elf_calculate_relocation): Handle branches 19 in PLT compression selection. 20 (_bfd_mips_elf_check_relocs): Likewise. 21 222016-07-22 Cupertino Miranda <cmiranda@synopsys.com> 23 24 * arc-got.h (relocate_fix_got_relocs_for_got_info): Handle the 25 case where there's no elf_link_hash_entry while processing 26 GOT_NORMAL got entries. 27 282016-07-21 H.J. Lu <hongjiu.lu@intel.com> 29 30 * version.m4 (BFD_VERSION): Set to 2.27.51. 31 * configure: Regenerated. 32 332016-07-21 Nick Clifton <nickc@redhat.com> 34 35 * elf.c (_bfd_elf_filter_global_symbols): Skip local symbols. 36 (swap_out_syms): Return an error when not finding ELF output 37 section rather than asserting. 38 392016-07-21 Thomas Preud'homme <thomas.preudhomme@arm.com> 40 41 * elflink.c (elf_output_implib): Call bfd_set_error on no symbols. 42 432016-07-20 John Baldwin <jhb@FreeBSD.org> 44 45 * elf.c (elfcore_grok_freebsd_psinfo): Check for minimum note size 46 and handle pr_pid if present. 47 482016-07-20 H.J. Lu <hongjiu.lu@intel.com> 49 50 PR ld/20376 51 * elf.c (assign_file_positions_for_load_sections): Also check 52 p_paddr for program header space. 53 542016-07-20 Alan Modra <amodra@gmail.com> 55 56 * elf64-ppc.c (ppc64_elf_howto_raw <R_PPC64_PLTREL32>): Put 57 ppc64_elf_unhandled_reloc for special_function. 58 * elf32-ppc.c (ppc_elf_howto_raw): Similarly for lots of relocs. 59 602016-07-19 Maciej W. Rozycki <macro@imgtec.com> 61 62 * elfxx-mips.c (mips_elf_perform_relocation): Convert cross-mode 63 BAL to JALX. 64 (_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Add a 65 corresponding error message. 66 672016-07-19 Maciej W. Rozycki <macro@imgtec.com> 68 69 * elfxx-mips.c (b_reloc_p): Add R_MICROMIPS_PC16_S1, 70 R_MICROMIPS_PC10_S1 and R_MICROMIPS_PC7_S1. 71 (branch_reloc_p): New function. 72 (mips_elf_calculate_relocation): Handle ISA mode determination 73 for relocations against section symbols, against absolute 74 symbols and absolute relocations. Also set `*cross_mode_jump_p' 75 for branches. 76 <R_MIPS16_26, R_MIPS_26, R_MICROMIPS_26_S1>: Suppress alignment 77 checks for weak undefined symbols. Also check target alignment 78 within the same ISA mode. 79 <R_MIPS_PC16, R_MIPS_GNU_REL16_S2>: Handle cross-mode branches 80 in the alignment check. 81 <R_MICROMIPS_PC7_S1>: Add an alignment check. 82 <R_MICROMIPS_PC10_S1>: Likewise. 83 <R_MICROMIPS_PC16_S1>: Likewise. 84 (mips_elf_perform_relocation): Report a failure for unsupported 85 same-mode JALX instructions and cross-mode branches. 86 (_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Add 87 error messages for jumps to misaligned addresses. 88 892016-07-16 Alan Modra <amodra@gmail.com> 90 91 * elflink.c: Include plugin-api.h. 92 * plugin.c (bfd_plugin_open_input): New function, extracted from.. 93 (try_claim): ..here. 94 * plugin.h: Don't include bfd.h. 95 (bfd_plugin_open_input): Declare. 96 972016-07-16 Alan Modra <amodra@gmail.com> 98 99 * targets.c (bfd_seach_for_target): Rename to.. 100 (bfd_iterate_over_targets): ..this. Rewrite doc. 101 * bfd-in2.h: Regenerate. 102 1032016-07-16 Alan Modra <amodra@gmail.com> 104 105 * archures.c (bfd_default_set_arch_mach): Make available in bfd.h. 106 * libbfd.h: Regenerate. 107 * bfd-in2.h: Regenerate. 108 1092016-07-16 Alan Modra <amodra@gmail.com> 110 111 * libbfd-in.h (BFD_ALIGN): Move to.. 112 * bfd-in.h: ..here. 113 * elf32-ppc.h (struct ppc_elf_params): Add pagesize. 114 * elf32-ppc.c (default_params): Adjust init. 115 (ppc_elf_link_params): Set pagesize_p2. 116 * libbfd.h: Regenerate. 117 * bfd-in2.h: Regenerate. 118 1192016-07-15 Thomas Preud'homme <thomas.preudhomme@arm.com> 120 121 * elf-bfd.h (elf_backend_filter_implib_symbols): Declare backend hook. 122 (_bfd_elf_filter_global_symbols): Declare. 123 * elf.c (_bfd_elf_filter_global_symbols): New function. 124 * elflink.c (elf_filter_global_symbols): Likewise. 125 (elf_output_implib): Likewise. 126 (bfd_elf_final_link): Call above function, failing if it does. 127 * elfxx-target.h (elf_backend_filter_implib_symbols): Define macro and 128 default it to NULL. 129 (elf_backend_copy_indirect_symbol): Fix spacing. 130 (elf_backend_hide_symbol): Likewise. 131 (elfNN_bed): Initialize elf_backend_filter_implib_symbols backend hook. 132 1332016-07-15 Andrew Burgess <andrew.burgess@embecosm.com> 134 Nick Clifton <nickc@redhat.com> 135 136 * elf32-arc.c (PR_DEBUG): Delete. 137 Fix printing of debug information. Fix formatting of debug 138 statements. 139 (debug_arc_reloc): Handle symbols that are not from an input file. 140 (arc_do_relocation): Remove excessive exclamation points. 141 142 * arc-got.h: Fix formatting. Fix printing of debug information. 143 (new_got_entry_to_list): Use xmalloc. 144 * config.bfd: use the big-endian arc vector as the default vector 145 for big-endian arc targets. 146 1472016-07-15 Alan Modra <amodra@gmail.com> 148 149 * cofflink.c (mark_relocs): Exclude relocs with -1 r_symndx 150 from marking sym_indices. 151 1522016-07-14 Maciej W. Rozycki <macro@imgtec.com> 153 154 * reloc.c (bfd_perform_relocation): Try the `howto' handler 155 first with relocations against absolute symbols. 156 (bfd_install_relocation): Likewise. 157 1582016-07-12 H.J. Lu <hongjiu.lu@intel.com> 159 160 * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Align 161 .got/.got.plt sections to 8 bytes. 162 1632016-07-12 Nick Clifton <nickc@redhat.com> 164 165 * binary.c (binary_set_section_contents): Second grammar fix. 166 1672016-07-12 Douglas B Rupp <rupp@adacore.com> 168 169 * binary.c (binary_set_section_contents): Fix grammar in warning 170 message. 171 1722016-07-11 Cupertino Miranda <cmiranda@synopsys.com> 173 174 * elf32-arc.c: made PR_DEBUG always defined. 175 1762016-07-11 Cupertino Miranda <cmiranda@synopsys.com> 177 178 * arc-got.h: Moved got related structures from elf32-arc.c to 179 this file. More precisely, tls_type_e, tls_got_entries, got_entry. 180 * (arc_get_local_got_ents, got_entry_for_type, new_got_entry_to_list, 181 tls_type_for_reloc, symbol_has_entry_of_type, 182 get_got_entry_list_for_symbol, arc_got_entry_type_for_reloc, 183 ADD_SYMBOL_REF_SEC_AND_RELOC, rc_fill_got_info_for_reloc, 184 relocate_fix_got_relocs_for_got_info, 185 create_got_dynrelocs_for_single_entry, 186 create_got_dynrelocs_for_got_info): Added to file. 187 * elf32-arc.c: Removed GOT & TLS related structs and functions to 188 arc-got.h. 189 1902016-07-08 James Bowman <james.bowman@ftdichip.com> 191 192 * elf32-ft32.c (ft32_reloc_map): Use R_FT32_32 for BFD_RELOC_32. 193 1942016-07-05 Andre Vieria <andre.simoesdiasvieira@arm.com> 195 196 * elf32-arm.c (THUMB32_MOVT): New veneer macro. 197 (THUMB32_MOVW): Likewise. 198 (elf32_arm_stub_long_branch_thumb2_only_pure): New. 199 (DEF_STUBS): Define long_branch_thumb2_only_pure. 200 (arm_stub_is_thumb): Add new veneer stub. 201 (arm_type_of_stub): Use new veneer. 202 (arm_stub_required_alignment): Add new veneer. 203 2042016-07-05 Andre Vieria <andre.simoesdiasvieira@arm.com> 205 206 * bfd-in2.h (SEC_ELF_NOREAD): Rename to ... 207 (SEC_ELF_PURECODE): ... this. 208 * elf32-arm.c (elf32_arm_post_process_headers): Rename SEC_ELF_NOREAD 209 to SEC_ELF_NOREAD. 210 (elf32_arm_fake_sections): Likewise. 211 (elf_32_arm_section_flags): Likewise. 212 (elf_32_arm_lookup_section_flags): Likewise. 213 * section.c (SEC_ELF_NOREAD): Rename to ... 214 (SEC_ELF_PURECODE): ... this. 215 2162016-07-01 Thomas Preud'homme <thomas.preudhomme@arm.com> 217 218 * elf32-arm.c (using_thumb2_bl): New function. 219 (arm_type_of_stub): Declare thumb2 variable together and change type 220 to bfd_boolean. Use using_thumb2_bl () to determine whether 221 THM_MAX_FWD_BRANCH_OFFSET or THM2_MAX_FWD_BRANCH_OFFSET should be 222 checked for BL range. 223 (elf32_arm_final_link_relocate): Use using_thumb2_bl () to determine 224 the bit size of BL offset. 225 2262016-06-29 Nick Clifton <nickc@redhat.com> 227 228 * elfnn-aarch64.c (is_aarch64_mapping_symbol): New function. 229 Returns TRUE for AArch64 mapping symbols. 230 (elfNN_aarch64_backend_symbol_processing): New function. Marks 231 mapping symbols as precious in object files so that they will not 232 be stripped. 233 (elf_backend_symbol_processing): Define. 234 235 * elf32-arm.c (is_arm_mapping_symbol): New function. Returns TRUE 236 for ARM mapping symbols. 237 (elf32_arm_backend_symbol_processing): Make use of the new function. 238 2392016-06-28 H.J. Lu <hongjiu.lu@intel.com> 240 241 PR ld/20306 242 * elflink.c (elf_link_check_versioned_symbol): Return false 243 for unreferenced undefined symbol. 244 2452016-06-28 Nick Clifton <nickc@redhat.com> 246 247 * elf32-bfin.c (bfin_adjust_dynamic_symbol): Fail if a COPY reloc 248 is needed. 249 250 * elf32-arm.c (elf32_arm_backend_symbol_processing): New 251 function. Marks mapping symbols in object files as precious, so 252 that strip will not remove them. 253 (elf_backend_symbol_processing): Define. 254 2552016-06-28 James Clarke <jrtc27@jrtc27.com> 256 257 * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Don't convert 258 R_SPARC_32 to R_SPARC_RELATIVE if class is ELFCLASS64. 259 2602016-06-28 Maciej W. Rozycki <macro@imgtec.com> 261 262 * elf32-mips.c (elf_mips16_howto_table_rel): Add 263 R_MIPS16_PC16_S1. 264 (mips16_reloc_map): Likewise. 265 * elf64-mips.c (mips16_elf64_howto_table_rel): Likewise. 266 (mips16_elf64_howto_table_rela): Likewise. 267 (mips16_reloc_map): Likewise. 268 * elfn32-mips.c (elf_mips16_howto_table_rel): Likewise. 269 (elf_mips16_howto_table_rela): Likewise. 270 (mips16_reloc_map): Likewise. 271 * elfxx-mips.c (mips16_branch_reloc_p): New function. 272 (mips16_reloc_p): Handle R_MIPS16_PC16_S1. 273 (b_reloc_p): Likewise. 274 (mips_elf_calculate_relocation): Likewise. 275 (_bfd_mips_elf_check_relocs): Likewise. 276 * reloc.c (BFD_RELOC_MIPS16_16_PCREL_S1): New relocation. 277 * bfd-in2.h: Regenerate. 278 * libbfd.h: Regenerate. 279 2802016-06-27 Alan Modra <amodra@gmail.com> 281 282 PR ld/19264 283 * elf64-ppc.c (STUB_SHRINK_ITER): Define. 284 (ppc64_elf_size_stubs): Exit stub sizing loop past STUB_SHRINK_ITER 285 if shrinking stubs. 286 (ppc64_elf_size_stubs): Adjust to suit. 287 2882016-06-27 Trevor Saunders <tbsaunde+binutils@tbsaunde.org> 289 290 * elf32-dlx.h: New file. 291 * elf32-dlx.c: Adjust. 292 2932016-06-25 Trevor Saunders <tbsaunde+binutils@tbsaunde.org> 294 295 * elf32-xtensa.c (xtensa_make_property_section): Remove prototype. 296 2972016-06-24 John Baldwin <jhb@FreeBSD.org> 298 299 * elf.c (elfcore_grok_freebsd_note): Handle NT_FREEBSD_PROCSTAT_AUXV 300 notes. 301 3022016-06-24 John Baldwin <jhb@FreeBSD.org> 303 304 * elf.c (elfcore_grok_note): Remove handling of NT_X86_XSTATE for 305 FreeBSD. Remove case for NT_FREEBSD_THRMISC. 306 (elfcore_grok_freebsd_psinfo): New function. 307 (elfcore_grok_freebsd_prstatus): New function. 308 (elfcore_grok_freebsd_note): New function. 309 (elf_parse_notes): Use "elfcore_grok_freebsd_note" for "FreeBSD" 310 notes. 311 3122016-06-24 Joel Brobecker <brobecker@adacore.com> 313 314 * elflink.c: Check the value of BFD_SUPPORTS_PLUGINS rather 315 than its existance. 316 3172016-06-24 Alan Modra <amodra@gmail.com> 318 319 * config.bfd: Delete mips vxworks patterns matched earlier. 320 Combine mips*-*-none with mips*-*-elf*. 321 3222016-06-21 Maciej W. Rozycki <macro@imgtec.com> 323 324 * elfxx-mips.c (mips_elf_perform_relocation): Call 325 `info->callbacks->einfo' rather than `*_bfd_error_handler' and 326 use the `%X%H' format for the cross-mode jump conversion error 327 message. Remove the full stop from the end of the message. 328 Continue processing rather than returning failure. 329 3302016-06-21 Graham Markall <graham.markall@embecosm.com> 331 332 * archures.c: Remove bfd_mach_arc_nps400. 333 * bfd-in2.h: Likewise. 334 * cpu-arc.c (arch_info_struct): Likewise. 335 * elf32-arc.c (arc_elf_object_p, arc_elf_final_write_processing): 336 Likewise. 337 3382016-06-20 H.J. Lu <hongjiu.lu@intel.com> 339 340 PR ld/18250 341 PR ld/20267 342 * elflink.c: Include plugin.h if BFD_SUPPORTS_PLUGINS is 343 defined. 344 (elf_link_is_defined_archive_symbol): Call 345 bfd_link_plugin_object_p on unknown plugin object and use the 346 IR symbol table if the input is an IR object. 347 * plugin.c (bfd_link_plugin_object_p): New function. 348 * plugin.h (bfd_link_plugin_object_p): New prototype. 349 3502016-06-20 H.J. Lu <hongjiu.lu@intel.com> 351 352 PR ld/20276 353 * elflink.c (elf_link_add_object_symbols): Don't check alignment 354 on symbol from plugin dummy input. 355 3562016-06-18 H.J. Lu <hongjiu.lu@intel.com> 357 358 * bfd.c (bfd_plugin_format): Rename bfd_plugin_uknown to 359 bfd_plugin_unknown. 360 * bfd-in2.h: Regenerated. 361 * plugin.c (bfd_plugin_object_p): Replace bfd_plugin_uknown 362 with bfd_plugin_unknown. 363 3642016-06-18 H.J. Lu <hongjiu.lu@intel.com> 365 366 PR ld/20253 367 * elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add an 368 bfd_boolean argument. 369 * elf-ifunc.c (_bfd_elf_create_ifunc_sections): Replace 370 "shared object" with "PIC object" in comments. 371 (_bfd_elf_allocate_ifunc_dyn_relocs): Updated. Replace 372 "shared object" with "PIC object" in comments. Avoid PLT if 373 requested. Generate dynamic relocations for non-GOT references. 374 Make room for the special first entry in PLT and allocate PLT 375 entry only for PLT and PC-relative references. Store dynamic 376 GOT relocations in .rel[a].iplt section for static executables. 377 If PLT isn't used, always use GOT for symbol value. Don't 378 allocate GOT entry if it isn't used. 379 * elf32-i386.c (elf_i386_check_relocs): Increment PLT reference 380 count only in the code section. Allocate dynamic pointer 381 relocation against STT_GNU_IFUNC symbol in the non-code section. 382 (elf_i386_adjust_dynamic_symbol): Increment PLT reference count 383 only for PC-relative references. 384 (elf_i386_allocate_dynrelocs): Pass TRUE to 385 _bfd_elf_allocate_ifunc_dyn_relocs. 386 (elf_i386_relocate_section): Allow R_386_GOT32/R_386_GOT32X 387 relocations against STT_GNU_IFUNC symbols without PLT. Generate 388 dynamic pointer relocation against STT_GNU_IFUNC symbol in 389 the non-code section and store it in the proper REL section. 390 Don't allow non-pointer relocation against STT_GNU_IFUNC symbol 391 without PLT. 392 (elf_i386_finish_dynamic_symbol): Generate dynamic 393 R_386_IRELATIVE and R_386_GLOB_DAT GOT relocations against 394 STT_GNU_IFUNC symbols without PLT. 395 (elf_i386_finish_dynamic_sections): Don't handle local 396 STT_GNU_IFUNC symbols here. 397 (elf_i386_output_arch_local_syms): Handle local STT_GNU_IFUNC 398 symbols here. 399 (elf_backend_output_arch_local_syms): New. 400 * elf32-x86-64.c (elf_i386_check_relocs): Increment PLT reference 401 count only in the code section. Allocate dynamic pointer 402 relocation against STT_GNU_IFUNC symbol in the non-code section. 403 (elf_x86_64_adjust_dynamic_symbol): Increment PLT reference 404 count only for PC-relative references. 405 (elf_x86_64_allocate_dynrelocs): Pass TRUE to 406 _bfd_elf_allocate_ifunc_dyn_relocs. 407 (elf_x86_64_relocate_section): Allow R_X86_64_GOTPCREL, 408 R_X86_64_GOTPCRELX, R_X86_64_REX_GOTPCRELX and 409 R_X86_64_GOTPCREL64 relocations against STT_GNU_IFUNC symbols 410 without PLT. Generate dynamic pointer relocation against 411 STT_GNU_IFUNC symbol in the non-code section and store it in 412 the proper RELA section. Don't allow non-pointer relocation 413 against STT_GNU_IFUNC symbol without PLT. 414 (elf_x86_64_finish_dynamic_symbol): Generate dynamic 415 R_X86_64_IRELATIVE and R_X86_64_GLOB_DAT GOT relocations against 416 STT_GNU_IFUNC symbols without PLT. 417 (elf_x86_64_finish_dynamic_sections): Don't handle local 418 STT_GNU_IFUNC symbols here. 419 (elf_x86_64_output_arch_local_syms): Handle local STT_GNU_IFUNC 420 symbols here. 421 (elf_backend_output_arch_local_syms): New. 422 * elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs): 423 Pass FALSE to _bfd_elf_allocate_ifunc_dyn_relocs. 424 4252016-06-17 Thomas Preud'homme <thomas.preudhomme@arm.com> 426 Tony Wang <tony.wang@arm.com> 427 428 * elf32-arm.c (elf32_arm_stub_long_branch_thumb2_only): Define stub 429 sequence. 430 (stub_long_branch_thumb2_only): Define stub. 431 (arm_stub_is_thumb): Add case for arm_stub_long_branch_thumb2_only. 432 (arm_stub_long_branch_thumb2_only): Likewise. 433 (arm_type_of_stub): Use arm_stub_long_branch_thumb2_only for Thumb-2 434 capable targets. 435 4362016-06-17 Jose E. Marchesi <jose.marchesi@oracle.com> 437 438 * archures.c (bfd_mach_sparc_v8plusc): Define. 439 (bfd_mach_sparc_v9c): Likewise. 440 (bfd_mach_sparc_v8plusd): Likewise. 441 (bfd_mach_sparc_v9d): Likewise. 442 (bfd_mach_sparc_v8pluse): Likewise. 443 (bfd_mach_sparc_v9e): Likewise. 444 (bfd_mach_sparc_v8plusv): Likewise 445 (bfd_mach_sparc_v9v): Likewise. 446 (bfd_mach_sparc_v8plusm): Likewise. 447 (bfd_mach_sparc_v9m): Likewise. 448 (bfd_mach_sparc_v9_p): Adapt to v8plusm and v9m. 449 (bfd_mach_sparc_64bit_p): Likewise. 450 * bfd-in2.h: Regenerate. 451 * cpu-sparc.c (arch_info_struct): Add entries for 452 bfd_mach_sparc_v8plus{c,d,e,v,m} and bfd_mach_sparc_v9{c,d,e,v,m}. 453 * aoutx.h (machine_type): Handle bfd_mach_sparc_v8plus{c,d,e,v,m} 454 and bfd_mach_sparc_v9{c,d,e,v,m}. 455 * elf32-sparc.c (elf32_sparc_final_write_processing): Likewise. 456 * elfxx-sparc.c (_bfd_sparc_elf_object_p): Likewise. 457 4582016-06-16 H.J. Lu <hongjiu.lu@intel.com> 459 460 * elf32-i386.c (elf_i386_check_relocs): Don't check undefined 461 symbols for relocations against IFUNC symbols. 462 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise. 463 4642016-06-16 Marcin Kościelnicki <koriakin@0x04.net> 465 466 * elf32-s390.c (elf_s390_finish_dynamic_sections): Include 467 .rela.iplt in DT_PLTRELSZ. 468 * elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise, 469 for DT_PLTRELSZ and DT_RELASZ as well. 470 4712016-06-16 H.J. Lu <hongjiu.lu@intel.com> 472 473 * elf32-i386.c (elf_i386_check_relocs): Skip relocations in 474 non-loaded, non-alloced sections. 475 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise. 476 4772016-06-15 H.J. Lu <hongjiu.lu@intel.com> 478 479 * elf32-i386.c (elf_i386_check_relocs): Check SEC_ALLOC before 480 allocating dynamic relocation. 481 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise. 482 4832016-06-14 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> 484 485 PR ld/20254 486 * elf32-avr.c (elf32_avr_relax_delete_bytes): Adjust reloc 487 offsets until reloc_toaddr. 488 4892016-06-14 H.J. Lu <hongjiu.lu@intel.com> 490 491 * elf32-i386.c (elf_i386_reloc_type_class): Check R_386_IRELATIVE. 492 Don't check symbol type for STN_UNDEF symbol index. 493 * elf64-x86-64.c (elf_x86_64_reloc_type_class): Check 494 R_X86_64_IRELATIVE. Don't check symbol type for STN_UNDEF symbol 495 index. 496 4972016-06-14 Thomas Preud'homme <thomas.preudhomme@arm.com> 498 499 * elf32-arm.c (using_thumb_only): Force review of arch check logic for 500 new architecture. 501 (using_thumb2): Try Tag_THUMB_ISA_use first and check 502 for exact arch value then. Force review of arch check logic for new 503 architecture. 504 (arch_has_arm_nop): Update and fix arch check logic. Force review of 505 that logic for new architecture. 506 (arch_has_thumb2_nop): Remove. 507 (elf32_arm_tls_relax): Use using_thumb2 instead of above function. 508 (elf32_arm_final_link_relocate): Likewise but using thumb2. 509 5102016-06-14 Alan Modra <amodra@gmail.com> 511 512 * bfd-in.h (bfd_my_archive): Delete. 513 * bfd-in2.h: Regenerate. 514 5152016-06-14 Alan Modra <amodra@gmail.com> 516 517 PR ld/20241 518 * archive.c (open_nested_file): Set my_archive. 519 * bfd.c (_bfd_default_error_handler <%B>): Exclude archive file name 520 for thin archives. 521 * bfdio.c (bfd_tell): Don't adjust origin for thin archives. 522 (bfd_seek): Likewise. 523 * bfdwin.c (bfd_get_file_window): Likewise. 524 * cache.c (cache_bmmap): Likewise. 525 (bfd_cache_lookup_worker): Don't look in my_archive for thin archives. 526 * mach-o.c (bfd_mach_o_follow_dsym): Don't open my_archive for 527 thin archives. 528 * plugin.c (try_claim): Likewise. 529 * xcofflink.c (xcoff_link_add_dynamic_symbols): Use import path of 530 file within thin archive, not the archive. 531 5322016-06-13 H.J. Lu <hongjiu.lu@intel.com> 533 534 PR ld/20244 535 * elf32-i386.c (elf_i386_relocate_section): Add the .got.plt 536 section address for R_386_GOT32/R_386_GOT32X relocations against 537 IFUNC symbols if there is no base register and return error for 538 PIC. 539 5402016-06-13 H.J. Lu <hongjiu.lu@intel.com> 541 542 * elf32-i386.c (elf_i386_relocate_section): Simplify IFUNC 543 GOT32 adjustment for static executables. 544 5452016-06-13 Maciej W. Rozycki <macro@imgtec.com> 546 547 * elf32-mips.c (elf_mips_gnu_pcrel32): Update comment. 548 5492016-06-13 Cupertino Miranda <cmiranda@synospsy.com> 550 551 * elf32-arc.c (elf_arc_relocate_section): Fixed condition. 552 5532016-06-13 Cupertino Miranda <cmiranda@synospsy.com> 554 555 * elf32-arc.c (elf_arc_finish_dynamic_sections): Changed. 556 5572016-06-13 Cupertino Miranda <cmiranda@synospsy.com> 558 559 * elf32-arc.c (arc_local_data, arc_local_data): Removed. 560 (SECTSTART): Changed. 561 (elf_arc_relocate_section): Fixed mistake in PIE related 562 condition. 563 (elf_arc_size_dynamic_sections): Changed DT_RELENT to DT_RELAENT. 564 5652016-06-13 Cupertino Miranda <cmiranda@synospsy.com> 566 567 * elf32-arc.c (elf32_arc_reloc_type_class): Defined function to 568 enable support for "-z combreloc" and DT_RELACOUNT. 569 (elf_backend_reloc_type_class): Likewise 570 5712016-06-11 H.J. Lu <hongjiu.lu@intel.com> 572 573 PR ld/20244 574 * elf32-i386.c (elf_i386_relocate_section): When relocating 575 R_386_GOT32, return error without a base register for PIC and 576 subtract the .got.plt section address only with a base register. 577 5782016-06-10 Alan Modra <amodra@gmail.com> 579 580 * elf-strtab.c (struct strtab_save): Use size_t for "size". 581 (struct elf_strtab_hash): Likewise for "size" and "alloced". 582 (_bfd_elf_strtab_init): Formatting. 583 (_bfd_elf_strtab_add): Return size_t rather than bfd_size_type. 584 (_bfd_elf_strtab_addref): Take size_t idx param. 585 (_bfd_elf_strtab_delref, _bfd_elf_strtab_refcount): Likewise. 586 (_bfd_elf_strtab_offset): Likewise. 587 (_bfd_elf_strtab_clear_all_refs): Use size_t idx. 588 (_bfd_elf_strtab_save): Use size_t "idx" and "size" vars. 589 (_bfd_elf_strtab_restore, _bfd_elf_strtab_emit): Similarly. 590 (_bfd_elf_strtab_finalize): Similarly. 591 * elf-bfd.h (_bfd_elf_strtab_add): Update prototypes. 592 (_bfd_elf_strtab_addref, _bfd_elf_strtab_delref): Likewise. 593 (_bfd_elf_strtab_refcount, _bfd_elf_strtab_offset): Likewise. 594 * elf.c (bfd_elf_get_elf_syms): Calculate symbol buffer size 595 using bfd_size_type. 596 (bfd_section_from_shdr): Delete amt. 597 (_bfd_elf_init_reloc_shdr): Likewise. 598 (_bfd_elf_link_assign_sym_version): Likewise. 599 (assign_section_numbers): Use size_t reloc_count. 600 * elflink.c (struct elf_symbuf_head): Use size_t "count". 601 (bfd_elf_link_record_dynamic_symbol): Use size_t for some vars. 602 (elf_link_is_defined_archive_symbol): Likewise. 603 (elf_add_dt_needed_tag): Likewise. 604 (elf_finalize_dynstr): Likewise. 605 (elf_link_add_object_symbols): Likewise. 606 (bfd_elf_size_dynamic_sections): Likewise. 607 (elf_create_symbuf): Similarly. 608 (bfd_elf_match_symbols_in_sections): Likewise. 609 (elf_link_swap_symbols_out): Likewise. 610 (elf_link_check_versioned_symbol): Likewise. 611 (bfd_elf_gc_record_vtinherit): Likewise. 612 (bfd_elf_gc_common_finalize_got_offsets): Likewise. 613 6142016-06-08 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> 615 616 PR ld/20221 617 * elf32-avr.c (elf32_avr_relax_delete_bytes): Adjust syms 618 and relocs only if shrinking occurred. 619 6202016-06-08 H.J. Lu <hongjiu.lu@intel.com> 621 622 * elf64-i386.c (elf_i386_link_hash_entry): Add tls_get_addr. 623 (elf_i386_link_hash_newfunc): Initialize tls_get_addr to 2. 624 (elf_i386_check_tls_transition): Check indirect call and direct 625 call with the addr32 prefix for general and local dynamic models. 626 Set the tls_get_addr feild. 627 (elf_i386_convert_load_reloc): Always use addr32 prefix for 628 indirect ___tls_get_addr call via GOT. 629 (elf_i386_relocate_section): Handle GD->LE, GD->IE and LD->LE 630 transitions with indirect call and direct call with the addr32 631 prefix. 632 6332016-06-07 Marcin Kościelnicki <koriakin@0x04.net> 634 635 * elf32-s390.c (elf_s390_finish_dynamic_symbol): Fix comment. 636 * elf64-s390.c (elf_s390x_plt_entry): Fix comment. 637 (elf_s390_relocate_section): Fix comment. 638 (elf_s390_finish_dynamic_sections): Fix initialization of fixed 639 .got.plt entries. 640 6412016-06-07 Ulrich Weigand <ulrich.weigand@de.ibm.com> 642 643 * elf64-s390.c (elf_s390_finish_dynamic_sections): Subtract plt 644 section offset when calculation the larl operand in the first PLT 645 entry. 646 6472016-06-07 Alan Modra <amodra@gmail.com> 648 649 * cpu-powerpc.c (powerpc_compatible): Allow bfd_mach_ppc_vle entry 650 to match other 32-bit archs. 651 * elf32-ppc.c (_bfd_elf_ppc_set_arch): New function. 652 (ppc_elf_object_p): Call it. 653 (ppc_elf_special_sections): Use APUINFO_SECTION_NAME. Fix 654 overlong line. 655 (APUINFO_SECTION_NAME, APUINFO_LABEL): Don't define here. 656 * elf64-ppc.c (ppc64_elf_object_p): Call _bfd_elf_ppc_set_arch. 657 * bfd-in.h (_bfd_elf_ppc_at_tls_transform, 658 _bfd_elf_ppc_at_tprel_transform): Move to.. 659 * elf-bfd.h: ..here. 660 (_bfd_elf_ppc_set_arch): Declare. 661 * bfd-in2.h: Regenerate. 662 6632016-06-06 H.J. Lu <hongjiu.lu@intel.com> 664 665 * elf64-x86-64.c (elf_x86_64_link_hash_entry): Add tls_get_addr. 666 (elf_x86_64_link_hash_newfunc): Initialize tls_get_addr to 2. 667 (elf_x86_64_check_tls_transition): Check indirect call and 668 direct call with the addr32 prefix for general and local dynamic 669 models. Set the tls_get_addr feild. 670 (elf_x86_64_convert_load_reloc): Always use addr32 prefix for 671 indirect __tls_get_addr call via GOT. 672 (elf_x86_64_relocate_section): Handle GD->LE, GD->IE and LD->LE 673 transitions with indirect call and direct call with the addr32 674 prefix. 675 6762016-06-04 Christian Groessler <chris@groessler.org> 677 678 * coff-z8k.c (extra_case): Fix range check for R_JR relocation. 679 6802016-06-02 Nick Clifton <nickc@redhat.com> 681 682 PR target/20088 683 * cpu-arm.c (processors): Add "arm_any" type to match any ARM 684 architecture. 685 (arch_info_struct): Likewise. 686 (architectures): Likewise. 687 6882016-06-02 Vineet Gupta <Vineet.Gupta1@synopsys.com> 689 690 * config.bfd: Replace -uclibc with *. 691 6922016-06-02 H.J. Lu <hongjiu.lu@intel.com> 693 694 * elf64-x86-64.c: Replace data32 with data16 in comments. 695 6962016-05-31 Alan Modra <amodra@gmail.com> 697 698 PR ld/20159 699 PR ld/16467 700 * elflink.c (_bfd_elf_merge_symbol): Revert PR16467 change. 701 (_bfd_elf_add_default_symbol): Don't indirect to/from defined 702 symbol given a version by a script different to the version 703 of the symbol being added. 704 (elf_link_add_object_symbols): Use _bfd_elf_strtab_save and 705 _bfd_elf_strtab_restore. Don't fudge dynstr references. 706 * elf-strtab.c (_bfd_elf_strtab_restore_size): Delete. 707 (struct strtab_save): New. 708 (_bfd_elf_strtab_save, _bfd_elf_strtab_restore): New functions. 709 * elf-bfd.h (_bfd_elf_strtab_restore_size): Delete. 710 (_bfd_elf_strtab_save, _bfd_elf_strtab_restore): Declare. 711 7122016-06-01 Trevor Saunders <tbsaunde+binutils@tbsaunde.org> 713 714 * elf32-hppa.h: Add extern "C". 715 * elf32-nds32.h: Likewise. 716 * elf32-tic6x.h: Likewise. 717 7182016-06-01 Nick Clifton <nickc@redhat.com> 719 720 * po/sr.po: New Serbian translation. 721 * configure.ac (ALL_LINGUAS): Add sr. 722 * configure: Regenerate. 723 7242016-05-28 Maciej W. Rozycki <macro@imgtec.com> 725 726 * elfxx-mips.c (b_reloc_p): New function. 727 (_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Handle 728 branch relocations. 729 7302016-05-28 Maciej W. Rozycki <macro@imgtec.com> 731 732 * elfxx-mips.c (mips_elf_calculate_relocation): <R_MIPS16_26> 733 <R_MIPS_26, R_MICROMIPS_26_S1>: Drop the region bits of the 734 reloc location from calculation, treat the addend as signed with 735 local non-section symbols and enable overflow detection. 736 7372016-05-28 Alan Modra <amodra@gmail.com> 738 739 * aoutx.h: Adjust linker callback calls throughout file, 740 removing dead code. 741 * bout.c: Likewise. 742 * coff-alpha.c: Likewise. 743 * coff-arm.c: Likewise. 744 * coff-h8300.c: Likewise. 745 * coff-h8500.c: Likewise. 746 * coff-i960.c: Likewise. 747 * coff-mcore.c: Likewise. 748 * coff-mips.c: Likewise. 749 * coff-ppc.c: Likewise. 750 * coff-rs6000.c: Likewise. 751 * coff-sh.c: Likewise. 752 * coff-tic80.c: Likewise. 753 * coff-w65.c: Likewise. 754 * coff-z80.c: Likewise. 755 * coff-z8k.c: Likewise. 756 * coff64-rs6000.c: Likewise. 757 * cofflink.c: Likewise. 758 * ecoff.c: Likewise. 759 * elf-bfd.h: Likewise. 760 * elf-m10200.c: Likewise. 761 * elf-m10300.c: Likewise. 762 * elf32-arc.c: Likewise. 763 * elf32-arm.c: Likewise. 764 * elf32-avr.c: Likewise. 765 * elf32-bfin.c: Likewise. 766 * elf32-cr16.c: Likewise. 767 * elf32-cr16c.c: Likewise. 768 * elf32-cris.c: Likewise. 769 * elf32-crx.c: Likewise. 770 * elf32-d10v.c: Likewise. 771 * elf32-epiphany.c: Likewise. 772 * elf32-fr30.c: Likewise. 773 * elf32-frv.c: Likewise. 774 * elf32-ft32.c: Likewise. 775 * elf32-h8300.c: Likewise. 776 * elf32-hppa.c: Likewise. 777 * elf32-i370.c: Likewise. 778 * elf32-i386.c: Likewise. 779 * elf32-i860.c: Likewise. 780 * elf32-ip2k.c: Likewise. 781 * elf32-iq2000.c: Likewise. 782 * elf32-lm32.c: Likewise. 783 * elf32-m32c.c: Likewise. 784 * elf32-m32r.c: Likewise. 785 * elf32-m68hc1x.c: Likewise. 786 * elf32-m68k.c: Likewise. 787 * elf32-mep.c: Likewise. 788 * elf32-metag.c: Likewise. 789 * elf32-microblaze.c: Likewise. 790 * elf32-moxie.c: Likewise. 791 * elf32-msp430.c: Likewise. 792 * elf32-mt.c: Likewise. 793 * elf32-nds32.c: Likewise. 794 * elf32-nios2.c: Likewise. 795 * elf32-or1k.c: Likewise. 796 * elf32-ppc.c: Likewise. 797 * elf32-s390.c: Likewise. 798 * elf32-score.c: Likewise. 799 * elf32-score7.c: Likewise. 800 * elf32-sh.c: Likewise. 801 * elf32-sh64.c: Likewise. 802 * elf32-spu.c: Likewise. 803 * elf32-tic6x.c: Likewise. 804 * elf32-tilepro.c: Likewise. 805 * elf32-v850.c: Likewise. 806 * elf32-vax.c: Likewise. 807 * elf32-visium.c: Likewise. 808 * elf32-xstormy16.c: Likewise. 809 * elf32-xtensa.c: Likewise. 810 * elf64-alpha.c: Likewise. 811 * elf64-hppa.c: Likewise. 812 * elf64-ia64-vms.c: Likewise. 813 * elf64-mmix.c: Likewise. 814 * elf64-ppc.c: Likewise. 815 * elf64-s390.c: Likewise. 816 * elf64-sh64.c: Likewise. 817 * elf64-x86-64.c: Likewise. 818 * elflink.c: Likewise. 819 * elfnn-aarch64.c: Likewise. 820 * elfnn-ia64.c: Likewise. 821 * elfxx-mips.c: Likewise. 822 * elfxx-sparc.c: Likewise. 823 * elfxx-tilegx.c: Likewise. 824 * linker.c: Likewise. 825 * pdp11.c: Likewise. 826 * pe-mips.c: Likewise. 827 * reloc.c: Likewise. 828 * reloc16.c: Likewise. 829 * simple.c: Likewise. 830 * vms-alpha.c: Likewise. 831 * xcofflink.c: Likewise. 832 * elf32-rl78.c (get_symbol_value, get_romstart, get_ramstart): Delete 833 status param. Adjust calls to these and linker callbacks throughout. 834 * elf32-rx.c: (get_symbol_value, get_gp, get_romstart, 835 get_ramstart): Delete status param. Adjust calls to these and 836 linker callbacks throughout. 837 8382016-05-27 Maciej W. Rozycki <macro@imgtec.com> 839 840 * elfxx-mips.c (mips_elf_calculate_relocation) <R_MIPS16_26> 841 <R_MIPS_26, R_MICROMIPS_26_S1>: Include the addend in JALX's 842 target alignment verification. 843 8442016-05-27 Maciej W. Rozycki <macro@imgtec.com> 845 846 * elfxx-mips.c (mips_elf_calculate_relocation): Also use the 847 section name if `bfd_elf_string_from_elf_section' returns an 848 empty string. 849 8502016-05-26 Maciej W. Rozycki <macro@imgtec.com> 851 852 * elfxx-mips.c (_bfd_mips_elf_relocate_section) 853 <bfd_reloc_outofrange>: Use the `%X%H' rather than `%C' format 854 for message. Continue processing rather than returning failure. 855 8562016-05-25 Maciej W. Rozycki <macro@imgtec.com> 857 858 * elfxx-mips.c (_bfd_mips_elf_relocate_section) 859 <bfd_reloc_outofrange>: Call `->einfo' rather than `->warning'. 860 Call `bfd_set_error'. 861 8622016-05-25 H.J. Lu <hongjiu.lu@intel.com> 863 864 PR binutils/14625 865 * archive.c (bfd_slurp_armap): Replace 866 bfd_elf64_archive_slurp_armap with 867 _bfd_archive_64_bit_slurp_armap. 868 (bsd_write_armap): Call _bfd_archive_64_bit_write_armap if 869 BFD64 is defined and the archive is too big. 870 (coff_write_armap): Likewise. 871 * archive64.c (bfd_elf64_archive_slurp_armap): Renamed to ... 872 (_bfd_archive_64_bit_slurp_armap): This. 873 (bfd_elf64_archive_write_armap): Renamed to ... 874 (_bfd_archive_64_bit_write_armap): This. 875 * configure.ac: Add --enable-64-bit-archive. 876 (want_64_bit_archive): New. Set to true by default for 64-bit 877 MIPS and s390 ELF targets. 878 (USE_64_BIT_ARCHIVE): New AC_DEFINE. 879 * config.in: Regenerated. 880 * configure: Likewise. 881 * elf64-mips.c (bfd_elf64_archive_functions): Removed. 882 (bfd_elf64_archive_slurp_armap): Likewise. 883 (bfd_elf64_archive_write_armap): Likewise. 884 (bfd_elf64_archive_slurp_extended_name_table): Likewise. 885 (bfd_elf64_archive_construct_extended_name_table): Likewise. 886 (bfd_elf64_archive_truncate_arname): Likewise. 887 (bfd_elf64_archive_read_ar_hdr): Likewise. 888 (bfd_elf64_archive_write_ar_hdr): Likewise. 889 (bfd_elf64_archive_openr_next_archived_file): Likewise. 890 (bfd_elf64_archive_get_elt_at_index): Likewise. 891 (bfd_elf64_archive_generic_stat_arch_elt): Likewise. 892 (bfd_elf64_archive_update_armap_timestamp): Likewise. 893 * elf64-s390.c (bfd_elf64_archive_functions): Removed. 894 (bfd_elf64_archive_slurp_armap): Likewise. 895 (bfd_elf64_archive_write_armap): Likewise. 896 (bfd_elf64_archive_slurp_extended_name_table): Likewise. 897 (bfd_elf64_archive_construct_extended_name_table): Likewise. 898 (bfd_elf64_archive_truncate_arname): Likewise. 899 (bfd_elf64_archive_read_ar_hdr): Likewise. 900 (bfd_elf64_archive_write_ar_hdr): Likewise. 901 (bfd_elf64_archive_openr_next_archived_file): Likewise. 902 (bfd_elf64_archive_get_elt_at_index): Likewise. 903 (bfd_elf64_archive_generic_stat_arch_elt): Likewise. 904 (bfd_elf64_archive_update_armap_timestamp): Likewise. 905 * elfxx-target.h (TARGET_BIG_SYM): Use _bfd_archive_64_bit on 906 BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined and 907 bfd_elfNN_archive_functions isn't defined. 908 (TARGET_LITTLE_SYM): Likewise. 909 * libbfd-in.h (_bfd_archive_64_bit_slurp_armap): New prototype. 910 (_bfd_archive_64_bit_write_armap): Likewise. 911 (_bfd_archive_64_bit_slurp_extended_name_table): New macro. 912 (_bfd_archive_64_bit_construct_extended_name_table): Likewise. 913 (_bfd_archive_64_bit_truncate_arname): Likewise. 914 (_bfd_archive_64_bit_read_ar_hdr): Likewise. 915 (_bfd_archive_64_bit_write_ar_hdr): Likewise. 916 (_bfd_archive_64_bit_openr_next_archived_file): Likewise. 917 (_bfd_archive_64_bit_get_elt_at_index): Likewise. 918 (_bfd_archive_64_bit_generic_stat_arch_elt): Likewise. 919 (_bfd_archive_64_bit_update_armap_timestamp): Likewise. 920 * libbfd.h: Regenerated. 921 * plugin.c (plugin_vec): Use _bfd_archive_64_bit on 922 BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined. 923 9242016-05-25 H.J. Lu <hongjiu.lu@intel.com> 925 926 PR ld/20103 927 * cofflink.c (coff_link_check_archive_element): Return TRUE if 928 linker add_archive_element callback returns FALSE. 929 * ecoff.c (ecoff_link_check_archive_element): Likewise. 930 * elf64-ia64-vms.c (elf64_vms_link_add_archive_symbols): Skip 931 archive element if linker add_archive_element callback returns 932 FALSE. 933 * elflink.c (elf_link_add_archive_symbols): Likewise. 934 * pdp11.c (aout_link_check_ar_symbols): Likewise. 935 * vms-alpha.c (alpha_vms_link_add_archive_symbols): Likewise. 936 * xcofflink.c (xcoff_link_check_dynamic_ar_symbols): Likewise. 937 (xcoff_link_check_ar_symbols): Likewise. 938 9392016-05-24 Maciej W. Rozycki <macro@imgtec.com> 940 941 * elfxx-mips.c (_bfd_mips_elf_relocate_section) 942 <bfd_reloc_outofrange>: Unify error reporting code. 943 9442016-05-23 Jim Wilson <jim.wilson@linaro.org> 945 946 * elfnn-aarch64.c: Unconditionally enable R_AARCH64_NULL and 947 R_AARCH64_NONE. Use HOWTO64 for R_AARCH64_NULL. 948 * relocs.c: Add BFD_RELOC_AARCH64_NULL. 949 * bfd-in2.h: Regenerate. 950 * libbfd.h: Likewise. 951 9522016-05-23 Kuba Sejdak <jakub.sejdak@phoesys.com> 953 954 * config.bfd: Add entry for arm-phoenix. 955 9562016-05-23 Thomas Preud'homme <thomas.preudhomme@arm.com> 957 958 * elf32-arm.c (arm_dedicated_stub_section_padding): New function. 959 (elf32_arm_size_stubs): Declare stub_type in a more outer scope and 960 account for padding for stub section requiring one. 961 (elf32_arm_build_stubs): Add comment to stress the importance of 962 zeroing veneer section content. 963 9642016-05-23 Thomas Preud'homme <thomas.preudhomme@arm.com> 965 966 * bfd-in.h (bfd_elf32_arm_keep_private_stub_output_sections): Declare 967 bfd hook. 968 * bfd-in2.h: Regenerate. 969 * elf32-arm.c (arm_dedicated_stub_output_section_required): New 970 function. 971 (arm_dedicated_stub_output_section_required_alignment): Likewise. 972 (arm_dedicated_stub_output_section_name): Likewise. 973 (arm_dedicated_stub_input_section_ptr): Likewise. 974 (elf32_arm_create_or_find_stub_sec): Add stub type parameter and 975 function description comment. Add support for dedicated output stub 976 section to given stub types. 977 (elf32_arm_add_stub): Add a stub type parameter and pass it down to 978 elf32_arm_create_or_find_stub_sec. 979 (elf32_arm_create_stub): Pass stub type down to elf32_arm_add_stub. 980 (elf32_arm_size_stubs): Pass stub type when calling 981 elf32_arm_create_or_find_stub_sec for Cortex-A8 erratum veneers. 982 (bfd_elf32_arm_keep_private_stub_output_sections): New function. 983 9842016-05-20 H.J. Lu <hongjiu.lu@intel.com> 985 986 * elf32-i386.c (elf_i386_check_relocs): Don't check R_386_GOT32 987 when setting need_convert_load. 988 9892016-05-20 Maciej W. Rozycki <macro@imgtec.com> 990 991 * elfxx-mips.c (mips_elf_read_rel_addend): Adjust the addend for 992 microMIPS JALX. 993 9942016-05-19 H.J. Lu <hongjiu.lu@intel.com> 995 996 PR ld/20117 997 * elf32-i386.c (elf_i386_convert_load_reloc): Don't check 998 R_386_GOT32X. 999 (elf_i386_convert_load): Don't convert R_386_GOT32. 1000 10012016-05-20 Alan Modra <amodra@gmail.com> 1002 1003 PR gas/20118 1004 * elf.c (elf_fake_sections): Set sh_entsize for SHT_INIT_ARRAY, 1005 SHT_FINI_ARRAY, and SHT_PREINIT_ARRAY. 1006 10072016-05-19 Cupertino Miranda <cmiranda@synopsys.com> 1008 1009 * elf32-arc.c (arc_elf_final_write_processing): Changed. 1010 (debug_arc_reloc): Likewise. 1011 (elf_arc_relocate_section): Likewise. 1012 (elf_arc_check_relocs): Likewise. 1013 (elf_arc_adjust_dynamic_symbol): Likewise. 1014 (elf_arc_add_symbol_hook): Likewise. 1015 10162016-05-19 Maciej W. Rozycki <macro@imgtec.com> 1017 1018 * config.bfd: Remove `am34-*-linux*' support. 1019 10202016-05-19 Alan Modra <amodra@gmail.com> 1021 1022 * elf64-ppc.c (allocate_dynrelocs): Allocate got and other dynamic 1023 relocs before plt relocs. 1024 10252016-05-19 Alan Modra <amodra@gmail.com> 1026 1027 * elf64-ppc.c (ppc64_elf_branch_reloc): Check for NULL owner 1028 before dereferencing. 1029 10302016-05-18 Nick Clifton <nickc@redhat.com> 1031 1032 * po/sv.po: Updated Swedish translation. 1033 10342016-05-18 Alan Modra <amodra@gmail.com> 1035 1036 * elf32-arm.c (elf32_arm_size_stubs): Free or cache local syms 1037 for each BFD. Don't goto error_ret_free_local from outside loop. 1038 10392016-05-17 Maciej W. Rozycki <macro@imgtec.com> 1040 1041 * elf-s390-common.c (elf_s390_add_symbol_hook): Remove 1042 STB_GNU_UNIQUE handling. 1043 * elf32-arc.c (elf_arc_add_symbol_hook): Likewise. 1044 * elf32-arm.c (elf32_arm_add_symbol_hook): Likewise. 1045 * elf32-m68k.c (elf_m68k_add_symbol_hook): Likewise. 1046 * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise. 1047 * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise. 1048 * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise. 1049 * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise. 1050 * elf64-x86-64.c (elf_x86_64_add_symbol_hook): Likewise. 1051 * elfxx-aarch64.c (_bfd_aarch64_elf_add_symbol_hook): Likewise. 1052 * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Likewise. 1053 * elf32-i386.c (elf_i386_add_symbol_hook): Remove function. 1054 (elf_backend_add_symbol_hook): Remove macro. 1055 * elflink.c (elf_link_add_object_symbols): Set `has_gnu_symbols' 1056 for STB_GNU_UNIQUE symbols. 1057 10582016-05-16 Maciej W. Rozycki <macro@imgtec.com> 1059 1060 * elf32-v850.c (v850_elf_copy_notes): New function, factored out 1061 from... 1062 (v850_elf_copy_private_bfd_data): ... here. Call the new 1063 function and `_bfd_elf_copy_private_bfd_data'. 1064 10652016-05-13 H.J. Lu <hongjiu.lu@intel.com> 1066 1067 PR ld/20093 1068 * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Don't convert 1069 GOTPCREL relocation against large section. 1070 10712016-05-13 Alan Modra <amodra@gmail.com> 1072 1073 * elf-m10300.c (_bfd_mn10300_elf_finish_dynamic_sections): Use 1074 linker dynamic sections in calculating size and address of 1075 dynamic tags rather than using output sections. Remove asserts. 1076 * elf32-arm.c (elf32_arm_finish_dynamic_sections): Likewise. 1077 * elf32-cr16.c (_bfd_cr16_elf_finish_dynamic_sections): Likewise. 1078 * elf32-cris.c (elf_cris_finish_dynamic_sections): Likewise. 1079 * elf32-i370.c (i370_elf_finish_dynamic_sections): Likewise. 1080 * elf32-lm32.c (lm32_elf_finish_dynamic_sections): Likewise. 1081 * elf32-m32r.c (m32r_elf_finish_dynamic_sections): Likewise. 1082 * elf32-m68k.c (elf_m68k_finish_dynamic_sections): Likewise. 1083 * elf32-metag.c (elf_metag_finish_dynamic_sections): Likewise. 1084 * elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Likewise. 1085 * elf32-nds32.c (nds32_elf_finish_dynamic_sections): Likewise. 1086 * elf32-nios2.c (nios2_elf32_finish_dynamic_sections): Likewise. 1087 * elf32-or1k.c (or1k_elf_finish_dynamic_sections): Likewise. 1088 * elf32-s390.c (elf_s390_finish_dynamic_sections): Likewise. 1089 * elf32-score.c (s3_bfd_score_elf_finish_dynamic_sections): Likewise. 1090 * elf32-score7.c (s7_bfd_score_elf_finish_dynamic_sections): Likewise. 1091 * elf32-vax.c (elf_vax_finish_dynamic_sections): Likewise. 1092 * elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Likewise. 1093 * elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Likewise. 1094 * elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise. 1095 * elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Likewise. 1096 * elflink.c (bfd_elf_final_link): Likewise. 1097 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Likewise. 1098 * elfxx-sparc.c (sparc_finish_dyn): Likewise. Adjust error message. 1099 * elf32-arc.c (GET_SYMBOL_OR_SECTION): Remove ASSERT arg and 1100 don't set doit. Look up dynobj section. 1101 (elf_arc_finish_dynamic_sections): Adjust GET_SYMBOL_OR_SECTION 1102 invocation and dynamic tag vma calculation. Don't test 1103 boolean var == TRUE. 1104 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_sections): Fix 1105 DT_JMPREL calc. 1106 11072016-05-13 Alan Modra <amodra@gmail.com> 1108 1109 * elflink.c (elf_link_sort_relocs): Wrap overlong lines. Fix 1110 octets_per_byte. Put dynamic .rela.plt last in link orders. 1111 Assign output_offset for reloc sections rather than writing 1112 sorted relocs from block corresponding to output_offset. 1113 11142016-05-12 Alan Modra <amodra@gmail.com> 1115 1116 * elf-bfd.h (elf_reloc_type_class): Put reloc_class_plt last. 1117 11182016-05-11 Andrew Bennett <andrew.bennett@imgtec.com> 1119 1120 * elfxx-mips.c (print_mips_ases): Add DSPR3. 1121 11222016-05-11 Alan Modra <amodra@gmail.com> 1123 1124 * elf32-hppa.c (elf32_hppa_init_stub_bfd): New function. 1125 (elf32_hppa_check_relocs): Don't set dynobj. 1126 (elf32_hppa_size_stubs): Test !SEC_LINKER_CREATED for stub sections. 1127 (elf32_hppa_build_stubs): Likewise. 1128 * elf32-hppa.h (elf32_hppa_init_stub_bfd): Declare. 1129 11302016-05-11 Alan Modra <amodra@gmail.com> 1131 1132 PR 20060 1133 * elf64-ppc.c (ppc64_elf_tls_setup): Clear forced_local. 1134 * elf32-ppc.c (ppc_elf_tls_setup): Likewise. 1135 11362016-05-10 Jiong Wang <jiong.wang@arm.com> 1137 1138 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Remove redundant 1139 aarch64_tls_transition check. 1140 11412016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com> 1142 1143 * elf32-arm.c (enum elf32_arm_stub_type): New max_stub_type 1144 enumerator. 1145 (arm_stub_sym_claimed): New function. 1146 (elf32_arm_create_stub): Use veneered symbol name and section if 1147 veneer needs to claim its symbol, and keep logic unchanged otherwise. 1148 (arm_stub_claim_sym): New function. 1149 (arm_map_one_stub): Call arm_stub_claim_sym if veneer needs to claim 1150 veneered symbol, otherwise create local symbol as before. 1151 11522016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com> 1153 1154 * elf32-arm.c (elf32_arm_size_stubs): Use new macros 1155 ARM_GET_SYM_BRANCH_TYPE and ARM_SET_SYM_BRANCH_TYPE to respectively get 1156 and set branch type of a symbol. 1157 (bfd_elf32_arm_process_before_allocation): Likewise. 1158 (elf32_arm_relocate_section): Likewise and fix identation along the 1159 way. 1160 (allocate_dynrelocs_for_symbol): Likewise. 1161 (elf32_arm_finish_dynamic_symbol): Likewise. 1162 (elf32_arm_swap_symbol_in): Likewise. 1163 (elf32_arm_swap_symbol_out): Likewise. 1164 11652016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com> 1166 1167 * bfd-in.h (elf32_arm_size_stubs): Add an output section parameter. 1168 * bfd-in2.h: Regenerated. 1169 * elf32-arm.c (struct elf32_arm_link_hash_table): Add an output section 1170 parameter to add_stub_section callback. 1171 (elf32_arm_create_or_find_stub_sec): Get output section from link_sec 1172 and pass it down to add_stub_section. 1173 (elf32_arm_add_stub): Set section to stub_sec if NULL before using it 1174 for error message. 1175 (elf32_arm_size_stubs): Add output section parameter to 1176 add_stub_section function pointer parameter. 1177 11782016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com> 1179 1180 * elf32-arm.c (elf32_arm_create_stub): New function. 1181 (elf32_arm_size_stubs): Use elf32_arm_create_stub for stub creation. 1182 11832016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com> 1184 1185 * elf32-arm.c (enum elf32_arm_stub_type): Delete 1186 arm_stub_a8_veneer_lwm enumerator. 1187 (arm_stub_a8_veneer_lwm): New unsigned constant to replace 1188 aforementioned enumerator. 1189 (struct elf32_arm_stub_hash_entry): Delete target_addend 1190 field and add source_value. 1191 (struct a8_erratum_fix): Delete addend field and add target_offset. 1192 (stub_hash_newfunc): Initialize source_value field amd remove 1193 initialization for target_addend. 1194 (arm_build_one_stub): Stop special casing Thumb relocations: promote 1195 the else to being always executed, moving the 1196 arm_stub_a8_veneer_b_cond specific code in it. Remove 1197 stub_entry->target_addend from points_to computation. 1198 (cortex_a8_erratum_scan): Store in a8_erratum_fix structure the offset 1199 to target symbol from start of section rather than the offset from the 1200 stub address. 1201 (elf32_arm_size_stubs): Set stub_entry's source_value and target_value 1202 fields from struct a8_erratum_fix's offset and target_offset 1203 respectively. 1204 (make_branch_to_a8_stub): Rename target variable to loc. Compute 1205 veneered_insn_loc and loc using stub_entry's source_value. 1206 12072016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com> 1208 1209 (elf32_arm_merge_eabi_attributes): Add merging logic for 1210 Tag_DSP_extension. 1211 12122016-05-10 Pip Cet <pipcet@gmail.com> 1213 1214 PR ld/20059 1215 * elfxx-target.h (bfd_elfNN_bfd_copy_link_hash_symbol_type): 1216 Define as _bfd_generic_copy_link_hash_symbol_type when using 1217 generic hash table. 1218 12192016-05-09 Nick Clifton <nickc@redhat.com> 1220 1221 PR binutils/20063 1222 * elf.c (bfd_elf_get_elf_syms): Check for out of range sh_link 1223 field before accessing sections array. 1224 12252016-05-09 Christophe Monat <christophe.monat@st.com> 1226 1227 PR ld/20030 1228 * elf32-arm.c (is_thumb2_vldm): Account for T1 (DP) encoding. 1229 (stm32l4xx_need_create_replacing_stub): Rename ambiguous nb_regs 1230 to nb_words. 1231 (create_instruction_vldmia): Add is_dp to disambiguate SP/DP 1232 encoding. 1233 (create_instruction_vldmdb): Likewise. 1234 (stm32l4xx_create_replacing_stub_vldm): is_dp detects DP encoding, 1235 uses it to re-encode. 1236 12372016-05-09 Nick Clifton <nickc@redhat.com> 1238 1239 PR 19938 1240 * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Revert accidental 1241 commit. 1242 12432016-05-09 Alan Modra <amodra@gmail.com> 1244 1245 * elf64-ppc.c (ppc64_elf_init_stub_bfd): Remove redundant NULL check. 1246 12472016-05-06 H.J. Lu <hongjiu.lu@intel.com> 1248 1249 PR ld/17550 1250 * elf-bfd.h (elf_link_hash_entry): Update comments for indx, 1251 documenting that indx == -3 if symbol is defined in a discarded 1252 section. 1253 * elflink.c (elf_link_add_object_symbols): Set indx to -3 if 1254 symbol is defined in a discarded section. 1255 (elf_link_output_extsym): Strip a global symbol defined in a 1256 discarded section. 1257 12582016-05-06 H.J. Lu <hongjiu.lu@intel.com> 1259 1260 * elf32-i386.c (elf_backend_add_symbol_hook): Defined for Intel 1261 MCU. 1262 12632016-05-05 H.J. Lu <hongjiu.lu@intel.com> 1264 1265 * elf32-i386.c (elf_i386_convert_load): Extract the GOT load 1266 conversion to ... 1267 (elf_i386_convert_load_reloc): This. New function. 1268 * elf64-x86-64.c (elf_x86_64_convert_load): Extract the GOT load 1269 conversion to ... 1270 (elf_x86_64_convert_load_reloc): This. New function. 1271 12722016-05-05 H.J. Lu <hongjiu.lu@intel.com> 1273 1274 * elf32-i386.c (elf_i386_check_tls_transition): Remove abfd. 1275 Don't check if contents == NULL. 1276 (elf_i386_tls_transition): Add from_relocate_section. Check 1277 from_relocate_section instead of contents != NULL. Update 1278 elf_i386_check_tls_transition call. 1279 (elf_i386_check_relocs): Cache the section contents if 1280 keep_memory is FALSE. Pass FALSE as from_relocate_section to 1281 elf_i386_tls_transition. 1282 (elf_i386_relocate_section): Pass TRUE as from_relocate_section 1283 to elf_i386_tls_transition. 1284 (elf_backend_caches_rawsize): New. 1285 * elf64-x86-64.c (elf_x86_64_check_tls_transition): Don't check 1286 if contents == NULL. 1287 (elf_x86_64_tls_transition): Add from_relocate_section. Check 1288 from_relocate_section instead of contents != NULL. 1289 (elf_x86_64_check_relocs): Cache the section contents if 1290 keep_memory is FALSE. Pass FALSE as from_relocate_section to 1291 elf_x86_64_tls_transition. 1292 (elf_x86_64_relocate_section): Pass TRUE as from_relocate_section 1293 to elf_x86_64_tls_transition. 1294 (elf_backend_caches_rawsize): New. 1295 12962016-05-03 Maciej W. Rozycki <macro@imgtec.com> 1297 1298 PR 10549 1299 * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Handle 1300 STB_GNU_UNIQUE. 1301 13022016-05-03 Jiong Wang <jiong.wang@arm.com> 1303 1304 * bfd-in.h (bfd_elf64_aarch64_set_options): Update prototype. 1305 * bfd-in2.h (bfd_elf64_aarch64_set_options): Likewise. 1306 * elfnn-aarch64.c (bfd_elfNN_aarch64_set_options): Initialize 1307 no_apply_dynamic_relocs. 1308 (elfNN_aarch64_final_link_relocate): Apply absolute relocations even though 1309 dynamic relocations generated. 1310 13112016-04-29 H.J. Lu <hongjiu.lu@intel.com> 1312 1313 * elf32-i386.c (elf_i386_size_dynamic_sections): Move interp 1314 setting to ... 1315 (elf_i386_create_dynamic_sections): Here. 1316 * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Move 1317 interp setting to ... 1318 (elf_x86_64_create_dynamic_sections): Here. 1319 13202016-04-29 H.J. Lu <hongjiu.lu@intel.com> 1321 1322 * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take GOT_RELOC 1323 and replace (EH)->has_got_reloc with GOT_RELOC. 1324 (elf_i386_fixup_symbol): Pass has_got_reloc to 1325 UNDEFINED_WEAK_RESOLVED_TO_ZERO. 1326 (elf_i386_allocate_dynrelocs): Likewise. 1327 (elf_i386_relocate_section): Likewise. 1328 (elf_i386_finish_dynamic_symbol): Likewise. 1329 (elf_i386_convert_load): Pass TRUE to 1330 UNDEFINED_WEAK_RESOLVED_TO_ZERO. 1331 * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take 1332 GOT_RELOC and replace (EH)->has_got_reloc with GOT_RELOC. 1333 (elf_x86_64_fixup_symbol): Pass has_got_reloc to 1334 UNDEFINED_WEAK_RESOLVED_TO_ZERO. 1335 (elf_x86_64_allocate_dynrelocs): Likewise. 1336 (elf_x86_64_relocate_section): Likewise. 1337 (elf_x86_64_finish_dynamic_symbol): Likewise. 1338 (elf_x86_64_convert_load): Pass TRUE to 1339 UNDEFINED_WEAK_RESOLVED_TO_ZERO. 1340 13412016-04-29 H.J. Lu <hongjiu.lu@intel.com> 1342 1343 * elf32-i386.c (check_relocs_failed): New. 1344 (elf_i386_check_relocs): Set check_relocs_failed on error. 1345 (elf_i386_relocate_section): Skip if check_relocs failed. 1346 13472016-04-29 H.J. Lu <hongjiu.lu@intel.com> 1348 1349 * elf64-x86-64.c (elf_x86_64_check_relocs): Set 1350 check_relocs_failed on error. 1351 13522016-04-29 Nick Clifton <nickc@redhat.com> 1353 1354 PR 19938 1355 * elf-bfd.h (struct elf_backend_data): Rename 1356 elf_backend_set_special_section_info_and_link to 1357 elf_backend_copy_special_section_fields. 1358 * elfxx-target.h: Likewise. 1359 * elf.c (section_match): Ignore the SHF_INFO_LINK flag when 1360 comparing section flags. 1361 (copy_special_section_fields): New function. 1362 (_bfd_elf_copy_private_bfd_data): Copy the EI_ABIVERSION field. 1363 Perform two scans over special sections. The first one looks for 1364 a direct mapping between the output section and an input section. 1365 The second scan looks for a possible match based upon section 1366 characteristics. 1367 * elf32-arm.c (elf32_arm_copy_special_section_fields): New 1368 function. Handle setting the sh_link field of SHT_ARM_EXIDX 1369 sections. 1370 * elf32-i386.c (elf32_i386_set_special_info_link): Rename to 1371 elf32_i386_copy_solaris_special_section_fields. 1372 * elf32-sparc.c (elf32_sparc_set_special_section_info_link): 1373 Rename to elf32_sparc_copy_solaris_special_section_fields. 1374 * elf64-x86-64.c (elf64_x86_64_set_special_info_link): Rename to 1375 elf64_x86_64_copy_solaris_special_section_fields. 1376 13772016-04-28 Nick Clifton <nickc@redhat.com> 1378 1379 * po/zh_CN.po: Updated Chinese (simplified) translation. 1380 13812016-04-27 H.J. Lu <hongjiu.lu@intel.com> 1382 1383 PR ld/20006 1384 * elf64-x86-64.c (elf_x86_64_convert_load): Skip debug sections 1385 when estimating distances between output sections. 1386 13872016-04-27 Alan Modra <amodra@gmail.com> 1388 1389 * elflink.c (_bfd_elf_is_start_stop): New function. 1390 (_bfd_elf_gc_mark_rsec): Use it. 1391 * elf-bfd.h (_bfd_elf_is_start_stop): Declare. 1392 13932016-04-26 Trevor Saunders <tbsaunde+binutils@tbsaunde.org> 1394 1395 * elf32-rx.c (rx_set_section_contents): Avoid arithmetic on void *. 1396 * mmo.c (mmo_get_section_contents): Likewise. 1397 (mmo_set_section_contents): Likewise. 1398 13992016-04-26 H.J. Lu <hongjiu.lu@intel.com> 1400 1401 * elf-bfd.h (elf_link_hash_table): Update comments for 1402 dynsymcount. 1403 * elflink.c (_bfd_elf_link_renumber_dynsyms): Always count for 1404 the unused NULL entry at the head of dynamic symbol table. 1405 (bfd_elf_size_dynsym_hash_dynstr): Remove dynsymcount != 0 1406 checks. 1407 14082016-04-21 H.J. Lu <hongjiu.lu@intel.com> 1409 1410 * elflink.c (_bfd_elf_link_create_dynstrtab): Exclude linker 1411 created file from dynobj. 1412 14132016-04-21 H.J. Lu <hongjiu.lu@intel.com> 1414 1415 * elflink.c (_bfd_elf_link_create_dynstrtab): Set dynobj to a 1416 normal input file if possible. 1417 14182016-04-21 Nick Clifton <nickc@redhat.com> 1419 1420 * aout-adobe.c: Use _bfd_generic_link_check_relocs. 1421 * aout-target.h: Likewise. 1422 * aout-tic30.c: Likewise. 1423 * binary.c: Likewise. 1424 * bout.c: Likewise. 1425 * coff-alpha.c: Likewise. 1426 * coff-rs6000.c: Likewise. 1427 * coff64-rs6000.c: Likewise. 1428 * coffcode.h: Likewise. 1429 * i386msdos.c: Likewise. 1430 * i386os9k.c: Likewise. 1431 * ieee.c: Likewise. 1432 * ihex.c: Likewise. 1433 * libbfd-in.h: Likewise. 1434 * libecoff.h: Likewise. 1435 * mach-o-target.c: Likewise. 1436 * mmo.c: Likewise. 1437 * nlm-target.h: Likewise. 1438 * oasys.c: Likewise. 1439 * pef.c: Likewise. 1440 * plugin.c: Likewise. 1441 * ppcboot.c: Likewise. 1442 * som.c: Likewise. 1443 * srec.c: Likewise. 1444 * tekhex.c: Likewise. 1445 * versados.c: Likewise. 1446 * vms-alpha.c: Likewise. 1447 * xsym.c: Likewise. 1448 * elfxx-target.h: Use _bfd_elf_link_check_relocs. 1449 * linker.c (bfd_link_check_relocs): New function. 1450 (_bfd_generic_link_check_relocs): New function. 1451 * targets.c (BFD_JUMP_TABLE_LINK): Add initialization of 1452 _bfd_link_check_relocs field. 1453 (struct bfd_target)L Add _bfd_link_check_relocs field. 1454 * bfd-in2.h: Regenerate. 1455 * libbfd.h: Regenerate. 1456 14572016-04-20 H.J. Lu <hongjiu.lu@intel.com> 1458 1459 * elf32-i386.c (elf_i386_gc_sweep_hook): Removed. 1460 (elf_backend_gc_sweep_hook): Likewise. 1461 * elf64-x86-64.c (elf_x86_64_gc_sweep_hook): Likewise. 1462 (elf_backend_gc_sweep_hook): Likewise. 1463 14642016-04-20 H.J. Lu <hongjiu.lu@intel.com> 1465 1466 * elflink.c (_bfd_elf_link_check_relocs): Don't check relocations 1467 in excluded sections 1468 14692016-04-20 H.J. Lu <hongjiu.lu@intel.com> 1470 1471 PR ld/19969 1472 * elf64-x86-64.c (check_relocs_failed): New. 1473 (elf_x86_64_need_pic): Moved before elf_x86_64_check_relocs. 1474 Support relocation agaist local symbol. Set check_relocs_failed. 1475 (elf_x86_64_check_relocs): Use elf_x86_64_need_pic. Check 1476 R_X86_64_32 relocation overflow. 1477 (elf_x86_64_relocate_section): Skip if check_relocs failed. 1478 Update one elf_x86_64_need_pic and remove one elf_x86_64_need_pic. 1479 14802016-04-20 H.J. Lu <hongjiu.lu@intel.com> 1481 1482 * elf32-i386.c (elf_i386_check_relocs): Call 1483 _bfd_elf_create_ifunc_sections only for STT_GNU_IFUNC symbol. 1484 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise. 1485 14862016-04-20 H.J. Lu <hongjiu.lu@intel.com> 1487 1488 * elf-bfd.h (_bfd_elf_link_check_relocs): New. 1489 * elflink.c (_bfd_elf_link_check_relocs): New function. 1490 (elf_link_add_object_symbols): Call _bfd_elf_link_check_relocs 1491 if check_relocs_after_open_input is FALSE. 1492 14932016-04-20 Trevor Saunders <tbsaunde+binutils@tbsaunde.org> 1494 1495 * cache.c: Update old style function definitions. 1496 * elf32-m68k.c: Likewise. 1497 * elf64-mmix.c: Likewise. 1498 * stab-syms.c: Likewise. 1499 15002016-04-20 Trevor Saunders <tbsaunde+binutils@tbsaunde.org> 1501 1502 * elf32-arm.c (put_thumb2_insn): Change argument type to bfd_byte *. 1503 15042016-04-15 H.J. Lu <hongjiu.lu@intel.com> 1505 1506 * Makefile.in: Regenerated with automake 1.11.6. 1507 * aclocal.m4: Likewise. 1508 * doc/Makefile.in: Likewise. 1509 15102016-04-14 Andrew Burgess <andrew.burgess@embecosm.com> 1511 1512 * reloc.c: Add BFD_RELOC_ARC_NPS_CMEM16 entry. 1513 * bfd-in2.h: Regenerate. 1514 * libbfd.h: Regenerate. 1515 * elf32-arc.c: Add 'opcode/arc.h' include. 1516 (struct arc_relocation_data): Add symbol_name. 1517 (arc_special_overflow_checks): New function. 1518 (arc_do_relocation): Use arc_special_overflow_checks, reindent as 1519 required, add an extra comment. 1520 (elf_arc_relocate_section): Setup symbol_name in reloc_data. 1521 15222016-04-14 Andrew Burgess <andrew.burgess@embecosm.com> 1523 1524 * elf32-arc.c (tls_got_entries): Add 'TLS_GOT_' prefix to all 1525 entries. 1526 (elf_arc_relocate_section): Update enum uses. 1527 (elf_arc_check_relocs): Likewise. 1528 (elf_arc_finish_dynamic_symbol): Likewise. 1529 15302016-04-14 H.J. Lu <hongjiu.lu@intel.com> 1531 1532 * elf.c (_bfd_elf_copy_private_bfd_data): Replace "link" with 1533 "sh_link". 1534 15352016-04-14 Nick Clifton <nickc@redhat.com> 1536 1537 PR target/19938 1538 * elf-bbfd.h (struct elf_backend_data): New field: 1539 elf_strtab_flags. 1540 New field: elf_backend_set_special_section_info_and_link 1541 * elfxx-target.h (elf_backend_strtab_flags): Define if not already 1542 defined. 1543 (elf_backend_set_special_section_info_and_link): Define if not 1544 already defined. 1545 (elfNN_bed): Use elf_backend_set_special_section_info_and_link and 1546 elf_backend_strtab_flags macros to initialise fields in structure. 1547 * elf.c (_bfd_elf_make_section_from_shdr): Check for SHF_STRINGS 1548 being set even if SHF_MERGE is not set. 1549 (elf_fake_sections): Likewise. 1550 (section_match): New function. Matches two ELF sections based 1551 upon fixed characteristics. 1552 (find_link): New function. Locates a section in a BFD that 1553 matches a section in a different BFD. 1554 (_bfd_elf_copy_private_bfd_data): Copy the sh_info and sh_link 1555 fields of reserved sections. 1556 (bfd_elf_compute_section_file_positions): Set the flags for the 1557 .shstrtab section based upon the elf_strtab_flags field in the 1558 elf_backend_data structure. 1559 (swap_out_syms): Likewise for the .strtab section. 1560 * elflink.c (bfd_elf_final_link): Set the flags for the 1561 .strtab section based upon the elf_strtab_flags field in the 1562 elf_backend_data structure. 1563 * elf32-i386.c (elf32_i386_set_special_info_link): New function. 1564 (elf_backend_strtab_flags): Set to SHF_STRINGS for Solaris 1565 targets. 1566 (elf_backend_set_special_section_info_and_link): Define for 1567 Solaris targets. 1568 * elf32-sparc.c: Likewise. 1569 * elf64-x86-64.c: Likewise. 1570 15712016-04-11 H.J. Lu <hongjiu.lu@intel.com> 1572 1573 PR ld/19939 1574 * elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add a pointer 1575 to bfd_boolean. 1576 * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Updated. 1577 Set *readonly_dynrelocs_against_ifunc_p to TRUE if dynamic reloc 1578 applies to read-only section. 1579 * elf32-i386.c (elf_i386_link_hash_table): Add 1580 readonly_dynrelocs_against_ifunc. 1581 (elf_i386_allocate_dynrelocs): Updated. 1582 (elf_i386_size_dynamic_sections): Issue an error for read-only 1583 segment with dynamic IFUNC relocations only if 1584 readonly_dynrelocs_against_ifunc is TRUE. 1585 * elf64-x86-64.c (elf_x86_64_link_hash_table): Add 1586 readonly_dynrelocs_against_ifunc. 1587 (elf_x86_64_allocate_dynrelocs): Updated. 1588 (elf_x86_64_size_dynamic_sections): Issue an error for read-only 1589 segment with dynamic IFUNC relocations only if 1590 readonly_dynrelocs_against_ifunc is TRUE. 1591 * elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs): 1592 Updated. 1593 15942016-04-06 Thomas Preud'homme <thomas.preudhomme@arm.com> 1595 1596 * elf32-arm.c (elf32_arm_size_stubs): Move error_ret_free_local to be 1597 a fall through from error_ret_free_internal. Free local_syms in 1598 error_ret_free_local if allocated from bfd_elf_get_elf_syms (). 1599 16002016-04-05 Cupertino Miranda <cmiranda@synopsys.com> 1601 1602 * elf32-arc.c (plt_do_relocs_for_symbol): Changed. 1603 (relocate_plt_for_entry): Likewise. 1604 16052016-04-05 Cupertino Miranda <cmiranda@synopsys.com> 1606 1607 * elf32-arc.c (elf_arc_check_relocs): Changed 1608 16092016-04-05 Cupertino Miranda <cmiranda@synopsys.com> 1610 1611 * elf32-arc.c (name_for_global_symbol): Changed assert. 1612 (get_replace_function): Created.: 1613 (struct arc_relocation_data): Changed to signed types. 1614 (defines S, L, P, PDATA): Casted to signed type. 1615 (defines SECTSTART, _SDA_BASE_, TLS_REL): Likewise. 1616 (PRINT_DEBUG_RELOC_INFO_BEFORE): Changed. 1617 (arc_do_relocation): Changed. 1618 16192016-04-05 Cupertino Miranda <cmiranda@synopsys.com> 1620 1621 * elf32-arc.c (name_for_global_symbol): Added assert to check for 1622 symbol index. 1623 (elf_arc_relocate_section): Added and changed asserts, validating 1624 the synamic symbol index. 1625 (elf_arc_finish_dynamic_symbol): Do not fill the dynamic 1626 relocation if symbol has dynindx set to -1. 1627 16282016-04-05 Maciej W. Rozycki <macro@imgtec.com> 1629 1630 * elflink.c (elf_link_add_object_symbols): Always turn hidden 1631 and internal symbols which have a dynamic index into local 1632 ones. 1633 16342016-04-04 Nick Clifton <nickc@redhat.com> 1635 1636 PR 19872 1637 * dwarf2.c (parse_comp_unit): Skip warning about unrecognised 1638 version number if the version is zero. 1639 16402016-04-01 Alan Modra <amodra@gmail.com> 1641 1642 PR 19886 1643 * elflink.c (on_needed_list): Recursively check needed status. 1644 (elf_link_add_object_symbols): Adjust. 1645 16462016-03-30 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> 1647 1648 * elf32-avr.c (avr_elf32_load_records_from_section): Free 1649 internal_relocs only if they aren't cached. 1650 16512016-03-29 Nick Clifton <nickc@redhat.com> 1652 1653 PR 17334 1654 * elf32-bfin.c (elf32_bfinfdpic_finish_dynamic_sections): Relax 1655 assertion on the size of the got section to allow it to be bigger 1656 than the number of relocs. 1657 16582016-03-29 Toni Spets <toni.spets@iki.fi> 1659 1660 PR 19878 1661 * coffcode.h (coff_write_object_contents): Revert accidental 1662 2014-11-10 change. 1663 16642016-03-22 Alan Modra <amodra@gmail.com> 1665 1666 PR 19850 1667 * dwarf2.c (read_attribute_value): Skip info_ptr check for 1668 DW_FORM_flag_present. 1669 16702016-03-22 Nick Clifton <nickc@redhat.com> 1671 1672 * cpu-v850_rh850.c (arch_info_struct): Restore v850-rh850 as an 1673 architecture name for backwards compatibility. 1674 1675 * peXXigen.c (_bfd_XXi_write_codeview_record): Fix possible 1676 unbounded stack use. 1677 1678 * warning.m4 (GCC_WARN_CFLAGS): Only add -Wstack-usage if using a 1679 sufficiently recent version of GCC. 1680 * configure: Regenerate. 1681 16822016-03-22 Alan Modra <amodra@gmail.com> 1683 1684 PR 19851 1685 * plugin.c (try_load_plugin): Avoid -Wstack-usage warning. 1686 16872016-03-21 Andrew Burgess <andrew.burgess@embecosm.com> 1688 1689 * archures.c (bfd_mach_arc_nps400): Define. 1690 * bfd-in2.h: Regenerate. 1691 * cpu-arc.c (arch_info_struct): New entry for nps400, renumber 1692 some existing entries to make space. 1693 * elf32-arc.c (arc_elf_object_p): Add nps400 case. 1694 (arc_elf_final_write_processing): Likewise. 1695 16962016-03-21 Andrew Burgess <andrew.burgess@embecosm.com> 1697 1698 * elf32-arc.c (arc_elf_print_private_bfd_data): Remove use of 1699 EF_ARC_CPU_GENERIC. 1700 (arc_elf_final_write_processing): Don't bother setting cpu field 1701 in e_flags, this will have been set elsewhere. 1702 17032016-03-21 Andrew Burgess <andrew.burgess@embecosm.com> 1704 1705 * elf32-arc.c (arc_elf_final_write_processing): Switch to using 1706 EF_ARC_MACH_MSK. 1707 17082016-03-21 Nick Clifton <nickc@redhat.com> 1709 1710 * warning.m4 (GCC_WARN_CFLAGS): Add -Wstack-usage=262144 1711 * configure: Regenerate. 1712 * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Replace use of 1713 alloca with call to xmalloc. 1714 * elf32-nds32.c: Likewise. 1715 * elf64-hppa.c: Likewise. 1716 * elfxx-mips.c: Likewise. 1717 * pef.c: Likewise. 1718 * pei-x86_64.c: Likewise. 1719 * som.c: Likewise. 1720 * xsym.c: Likewise. 1721 17222016-03-15 H.J. Lu <hongjiu.lu@intel.com> 1723 1724 PR ld/19827 1725 * elf32-i386.c (elf_i386_check_relocs): Bind defined symbol 1726 locally in PIE. 1727 (elf_i386_relocate_section): Likewise. 1728 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise. 1729 (elf_x86_64_relocate_section): Likewise. 1730 17312016-03-15 H.J. Lu <hongjiu.lu@intel.com> 1732 1733 PR ld/19807 1734 * elf64-x86-64.c (elf_x86_64_relocate_section): Check 1735 no_reloc_overflow_check to diable R_X86_64_32/R_X86_64_32S 1736 relocation overflow check. 1737 17382016-03-14 H.J. Lu <hongjiu.lu@intel.com> 1739 1740 * bfd-in2.h: Regenerated. 1741 17422016-03-11 Dan Gissel <dgisselq@ieee.org> 1743 1744 PR 19713 1745 * elf.c (_bfd_elf_section_offset): Ensure that the returned offset 1746 uses bytes not octets. 1747 * elflink.c (resolve_section): Likewise. 1748 Add a bfd parameter. 1749 (eval_section): Pass the input_bfd to resolve_section. 1750 (bfd_elf_perform_complex_relocation): Convert byte offset to 1751 octets before read and writing values. 1752 (elf_link_input_bfd): Add byte to octet conversions. 1753 (elf_reloc_link_order): Likewise. 1754 (elf_fixup_link_order): Likewise. 1755 (bfd_elf_final_link): Likewise. 1756 * reloc.c (_bfd_final_link_relocate): Likewise. 1757 * syms.c (_bfd_stab_section_find_nearest_line): Likewise. 1758 17592016-03-10 Nick Clifton <nickc@redhat.com> 1760 1761 * config.bfd: Mark the i370 target as obsolete. 1762 17632016-03-09 Pedro Alves <palves@redhat.com> 1764 1765 * cpu-v850.c (N): Append ":old-gcc-abi" instead of " (using old 1766 gcc ABI)" to printable name. 1767 * cpu-v850_rh850.c (bfd_v850_rh850_arch): Use "v850:rh850" instead 1768 of "v850-rh850" as printable name. 1769 17702016-03-09 Leon Winter <winter-gcc@bfw-online.de> 1771 1772 PR ld/19623 1773 * cofflink.c (_bfd_coff_generic_relocate_section): Do not apply 1774 relocations against absolute symbols. 1775 17762016-03-09 Alan Modra <amodra@gmail.com> 1777 1778 PR binutils/19775 1779 * coff-alpha.c (alpha_ecoff_openr_next_archived_file): Allow zero 1780 length elements in the archive. 1781 17822016-03-08 H.J. Lu <hongjiu.lu@intel.com> 1783 1784 PR ld/19789 1785 * elflink.c (elf_link_add_object_symbols): Create dynamic sections 1786 for -E/--dynamic-list only when not relocatable. 1787 17882016-03-08 H.J. Lu <hongjiu.lu@intel.com> 1789 1790 PR ld/19784 1791 * elf32-i386.c (elf_i386_check_relocs): Increment PLT reference 1792 count for locally defined local IFUNC symbols in shared object. 1793 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise. 1794 17952016-03-08 H.J. Lu <hongjiu.lu@intel.com> 1796 1797 PR ld/19579 1798 * elflink.c (_bfd_elf_merge_symbol): Group common symbol checking 1799 together. 1800 18012016-03-08 Cupertino Miranda <Cupertino.Miranda@synopsys.com> 1802 Andrew Burgess <andrew.burgess@embecosm.com> 1803 1804 * elf32-arc.c (arc_bfd_get_32): Becomes an alias for bfd_get_32. 1805 (arc_bfd_put_32): Becomes an alias for bfd_put_32. 1806 (arc_elf_howto_init): Added assert to validate relocations. 1807 (get_middle_endian_relocation): Delete. 1808 (middle_endian_convert): New function. 1809 (ME): Redefine, now does nothing. 1810 (IS_ME): New define. 1811 (arc_do_relocation): Extend the attached 'ARC_RELOC_HOWTO' 1812 definition to call middle_endian_convert. Add a new local 1813 variable and make use of this throughout. Added call to 1814 arc_bfd_get_8 and arc_bfd_put_8 for 8 bit relocations. 1815 18162016-03-07 Nick Clifton <nickc@redhat.com> 1817 1818 PR binutils/19775 1819 * archive.c (bfd_generic_openr_next_archived_file): Allow zero 1820 length elements in the archive. 1821 18222016-03-07 Jiong Wang <jiong.wang@arm.com> 1823 1824 * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Always create .got 1825 section if the symbol "_GLOBAL_OFFSET_TABLE_" is referenced. 1826 18272016-03-04 H.J. Lu <hongjiu.lu@intel.com> 1828 1829 PR ld/19579 1830 * elflink.c (_bfd_elf_merge_symbol): Treat common symbol in 1831 executable as definition if the new definition comes from a 1832 shared library. 1833 18342016-03-02 Alan Modra <amodra@gmail.com> 1835 1836 * Makefile.in: Regenerate. 1837 * po/SRC-POTFILES.in: Regenerate. 1838 18392016-02-29 Cupertino Miranda <cmiranda@synopsys.com> 1840 1841 * elf32-arc.c (elf_arc_relocate_section): Added rules to fix the 1842 relocation addend when sections get merged. 1843 18442016-02-29 Cupertino Miranda <Cupertino.Miranda@synopsys.com> 1845 1846 * elf32-arc.c (arc_elf_final_write_processing): Add condition to 1847 the flag change. 1848 (elf_arc_relocate_section): Fixes and conditions to support PIE. 1849 Assert for code sections dynamic relocs. 1850 18512016-02-26 Renlin Li <renlin.li@arm.com> 1852 1853 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Fix signed overflow 1854 check for MOVW_SABS_G0, MOVW_SABS_G1, MOVW_SABS_G2. 1855 18562016-02-26 H.J. Lu <hongjiu.lu@intel.com> 1857 1858 PR ld/19609 1859 * elf32-i386.c (elf_i386_convert_load): Convert to R_386_32 for 1860 load with locally bound symbols if PIC is false or there is no 1861 base register. Optimize branch to 0 if PIC is false. 1862 (elf_i386_relocate_section): Don't generate dynamic relocations 1863 against undefined weak symbols if PIC is false. 1864 * elf64-x86-64.c (elf_x86_64_convert_load): Disable optimization 1865 if we can't estimate relocation overflow with --no-relax. 1866 Convert to R_X86_64_32S/R_X86_64_32 for load with locally bound 1867 symbols if PIC is false. Optimize branch to 0 if PIC is false. 1868 (elf_x86_64_relocate_section): Don't generate dynamic relocations 1869 against undefined weak symbols if PIC is false. 1870 18712016-02-26 H.J. Lu <hongjiu.lu@intel.com> 1872 1873 PR ld/19645 1874 * bfd.c (bfd): Change flags to 20 bits. 1875 (BFD_CONVERT_ELF_COMMON): New. 1876 (BFD_USE_ELF_STT_COMMON): Likewise. 1877 (BFD_FLAGS_SAVED): Add BFD_CONVERT_ELF_COMMON and 1878 BFD_USE_ELF_STT_COMMON. 1879 (BFD_FLAGS_FOR_BFD_USE_MASK): Likewise. 1880 * configure.ac: Remove --enable-elf-stt-common. 1881 * elf.c (swap_out_syms): Choose STT_COMMON or STT_OBJECT for 1882 common symbol depending on BFD_CONVERT_ELF_COMMON and 1883 BFD_USE_ELF_STT_COMMON. 1884 * elfcode.h (elf_slurp_symbol_table): Set BSF_ELF_COMMON for 1885 STT_COMMON. 1886 * elflink.c (bfd_elf_link_mark_dynamic_symbol): Also check 1887 STT_COMMON. 1888 (elf_link_convert_common_type): New function. 1889 (elf_link_output_extsym): Choose STT_COMMON or STT_OBJECT for 1890 common symbol depending on BFD_CONVERT_ELF_COMMON and 1891 BFD_USE_ELF_STT_COMMON. Set sym.st_info after sym.st_shndx. 1892 * elfxx-target.h (TARGET_BIG_SYM): Add BFD_CONVERT_ELF_COMMON 1893 and BFD_USE_ELF_STT_COMMON to object_flags. 1894 (TARGET_LITTLE_SYM): Likewise. 1895 * syms.c (BSF_KEEP_G): Renamed to ... 1896 (BSF_ELF_COMMON): This. 1897 * bfd-in2.h: Regenerated. 1898 * config.in: Likewise. 1899 * configure: Likewise. 1900 19012016-02-26 H.J. Lu <hongjiu.lu@intel.com> 1902 1903 PR ld/19636 1904 PR ld/19704 1905 PR ld/19719 1906 * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New. 1907 (elf_i386_link_hash_entry): Add has_got_reloc and 1908 has_non_got_reloc. 1909 (elf_i386_link_hash_table): Add interp. 1910 (elf_i386_link_hash_newfunc): Initialize has_got_reloc and 1911 has_non_got_reloc. 1912 (elf_i386_copy_indirect_symbol): Copy has_got_reloc and 1913 has_non_got_reloc. 1914 (elf_i386_check_relocs): Set has_got_reloc and has_non_got_reloc. 1915 (elf_i386_fixup_symbol): New function. 1916 (elf_i386_pie_finish_undefweak_symbol): Likewise. 1917 (elf_i386_allocate_dynrelocs): Don't allocate space for dynamic 1918 relocations and discard relocations against resolved undefined 1919 weak symbols in executable. Don't make resolved undefined weak 1920 symbols in executable dynamic. Keep dynamic non-GOT/non-PLT 1921 relocation against undefined weak symbols in PIE. 1922 (elf_i386_size_dynamic_sections): Set interp to .interp section. 1923 (elf_i386_relocate_section): Don't generate dynamic relocations 1924 against resolved undefined weak symbols in PIE, except for 1925 R_386_PC32. 1926 (elf_i386_finish_dynamic_symbol): Keep PLT/GOT entries without 1927 dynamic PLT/GOT relocations for resolved undefined weak symbols. 1928 Don't generate dynamic relocation against resolved undefined weak 1929 symbol in executable. 1930 (elf_i386_finish_dynamic_sections): Call 1931 elf_i386_pie_finish_undefweak_symbol on all symbols in PIE. 1932 (elf_backend_fixup_symbol): New. 1933 * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New. 1934 (elf_x86_64_link_hash_entry): Add has_got_reloc and 1935 has_non_got_reloc. 1936 (elf_x86_64_link_hash_table): Add interp. 1937 (elf_x86_64_link_hash_newfunc): Initialize has_got_reloc and 1938 has_non_got_reloc. 1939 (elf_x86_64_copy_indirect_symbol): Copy has_got_reloc and 1940 has_non_got_reloc. 1941 (elf_x86_64_check_relocs): Set has_got_reloc and 1942 has_non_got_reloc. 1943 (elf_x86_64_fixup_symbol): New function. 1944 (elf_x86_64_pie_finish_undefweak_symbol): Likewise. 1945 (elf_x86_64_allocate_dynrelocs): Don't allocate space for dynamic 1946 relocations and discard relocations against resolved undefined 1947 weak symbols in executable. Don't make resolved undefined weak 1948 symbols in executable dynamic. 1949 (elf_x86_64_size_dynamic_sections): Set interp to .interp section. 1950 (elf_x86_64_relocate_section): Check relocation overflow for 1951 dynamic relocations against unresolved weak undefined symbols. 1952 Don't generate dynamic relocations against resolved weak 1953 undefined symbols in PIE. 1954 (elf_x86_64_finish_dynamic_symbol): Keep PLT/GOT entries without 1955 dynamic PLT/GOT relocations for resolved undefined weak symbols. 1956 Don't generate dynamic relocation against resolved undefined weak 1957 symbol in executable. 1958 (elf_x86_64_finish_dynamic_sections): Call 1959 elf_x86_64_pie_finish_undefweak_symbol on all symbols in PIE. 1960 (elf_backend_fixup_symbol): New. 1961 19622016-02-26 Alan Modra <amodra@gmail.com> 1963 1964 * elf64-ppc.c (create_linkage_sections): Create sfpr when 1965 save_restore_funcs, rest of sections when not relocatable. 1966 (ppc64_elf_init_stub_bfd): Always call create_linkage_sections. 1967 (sfpr_define): Define all symbols on emitted code. 1968 (ppc64_elf_func_desc_adjust): Adjust for sfpr now being created 1969 when relocatable. Move sfpr_define loop earlier. 1970 19712016-02-24 H.J. Lu <hongjiu.lu@intel.com> 1972 1973 * elf64-x86-64.c (elf_x86_64_need_pic): New function. 1974 (elf_x86_64_relocate_section): Use it. Replace 1975 x86_64_elf_howto_table[r_type] with howto. 1976 19772016-02-24 H.J. Lu <hongjiu.lu@intel.com> 1978 1979 PR ld/19698 1980 * elflink.c (bfd_elf_record_link_assignment): Set versioned if 1981 symbol version is unknown. 1982 19832016-02-24 H.J. Lu <hongjiu.lu@intel.com> 1984 1985 * elf32-i386.c (elf_i386_allocate_dynrelocs): Set plt_got.offset 1986 to (bfd_vma) -1 when setting needs_plt to 0. 1987 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise. 1988 19892016-02-23 H.J. Lu <hongjiu.lu@intel.com> 1990 1991 * elflink.c (bfd_elf_record_link_assignment): Check for shared 1992 library, instead of PIC, and don't check PDE when making linker 1993 assigned symbol dynamic. 1994 19952016-02-23 Faraz Shahbazker <faraz.shahbazker@imgtec.com> 1996 1997 * bfd/elfxx-mips.c (_bfd_mips_post_process_headers): Increment 1998 ABIVERSION for non-executable stack. 1999 20002016-02-23 Rich Felker <bugdal@aerifal.cx> 2001 2002 PR target/19516 2003 * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol): 2004 Always produce a RELATIVE reloc for a local symbol. 2005 20062016-02-23 Hans-Peter Nilsson <hp@axis.com> 2007 2008 Fix test-case ld-elf/pr19617b 2009 * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't 2010 discard unused non-function symbols when --dynamic-list-data. 2011 20122016-02-22 H.J. Lu <hongjiu.lu@intel.com> 2013 2014 * elflink.c (_bfd_elf_link_renumber_dynsyms): Always create the 2015 dynsym section, even if it is empty, with dynamic sections. 2016 20172016-02-22 H.J. Lu <hongjiu.lu@intel.com> 2018 2019 * syms.c: Remove BSF_COMMON from comments. 2020 * bfd-in2.h: Regenerated. 2021 20222016-02-22 Jiong Wang <jiong.wang@arm.com> 2023 2024 * elfnn-aarch64. (aarch64_type_of_stub): Remove redundation calcuation 2025 for destination. Remove useless function parameters. 2026 (elfNN_aarch64_size_stubs): Update parameters for aarch64_type_of_stub. 2027 20282016-02-19 Nick Clifton <nickc@redhat.com> 2029 2030 PR ld/19629 2031 * aoutx.h (aout_link_add_symbols): Check for out of range string 2032 table offsets. 2033 2034 PR ld/19628 2035 * reloc.c (bfd_generic_get_relocated_section_contents): Stop 2036 processing if we encounter a reloc without an associated symbol. 2037 20382016-02-18 H.J. Lu <hongjiu.lu@intel.com> 2039 2040 PR ld/19617 2041 * elflink.c (elf_link_add_object_symbols): Always create dynamic 2042 sections for -E/--dynamic-list. 2043 20442016-02-17 H.J. Lu <hongjiu.lu@intel.com> 2045 2046 * elf64-x86-64.c (elf_backend_omit_section_dynsym): New. Defined 2047 to bfd_true. 2048 20492016-02-16 Joseph Myers <joseph@codesourcery.com> 2050 2051 * plugin.c (plugin_vec): Set match priority to 255. 2052 * format.c (bfd_check_format_matches) [BFD_SUPPORTS_PLUGINS]: When 2053 matching against the plugin vector, take priority from there not 2054 from TEMP. 2055 20562016-02-15 Nick Clifton <nickc@redhat.com> 2057 2058 * elf-bfd.h (struct bfd_elf_special_section): Use unsigned values 2059 for length and type fields. Use a signed value for the 2060 suffix_length field. 2061 20622016-02-10 H.J. Lu <hongjiu.lu@intel.com> 2063 2064 PR ld/19601 2065 * elf32-i386.c (elf_i386_relocate_section): Mask off the least 2066 significant bit in GOT offset for R_386_GOT32X. 2067 20682016-02-10 Nick Clifton <nickc@redhat.com> 2069 2070 PR 19405 2071 * elf32-nios2.c (nios2_elf32_install_imm16): Allow for signed 2072 immediate values. 2073 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Limit the 2074 number of messages about FDE encoding preventing .eh_frame_hdr 2075 generation. 2076 20772016-02-09 Nick Clifton <nickc@redhat.com> 2078 2079 * oasys.c (oasys_archive_p): Fix indentation. 2080 * elf32-nds32.c (nds32_elf_relax_section): Use an unsigned 2081 constant for left shifting. 2082 2083 * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Add a more 2084 helpful warning message to explain why certain AArch64 relocs 2085 might overflow. 2086 20872016-02-05 Simon Marchi <simon.marchi@ericsson.com> 2088 2089 * pe-mips.c (coff_mips_reloc): Fix formatting. 2090 20912016-02-05 Cupertino Miranda <Cupertino.Miranda@synopsys.com> 2092 2093 * cpu-arc.c: Change default archure from bfd_mach_arc_arcv2 2094 to bfd_mach_arc_arc600. 2095 20962016-02-04 Alan Modra <amodra@gmail.com> 2097 2098 * elf64-ppc.c (ppc64_elf_relocate_section): Adjust last patch 2099 for big-endian. 2100 21012016-02-02 H.J. Lu <hongjiu.lu@intel.com> 2102 2103 PR ld/19542 2104 * elf64-x86-64.c (elf_x86_64_convert_load): Store the estimated 2105 distances in the compressed_size field of the output section. 2106 21072016-02-02 Alan Modra <amodra@gmail.com> 2108 2109 * elf64-ppc.c (ppc64_elf_relocate_section): Further restrict 2110 ELFv2 entry optimization. 2111 21122016-02-02 H.J. Lu <hongjiu.lu@intel.com> 2113 2114 PR binutils/19547 2115 * elf.c (assign_section_numbers): Clear HAS_RELOC if there are 2116 no relocations in relocatable files. 2117 21182016-02-01 H.J. Lu <hongjiu.lu@intel.com> 2119 2120 PR ld/19553 2121 * elflink.c (elf_link_add_object_symbols): Don't add DT_NEEDED 2122 if a symbol from a library loaded via DT_NEEDED doesn't match 2123 the symbol referenced by regular object. 2124 21252016-02-01 Nathaniel Smith <njs@pobox.com> 2126 2127 * peicode.h (pe_ILF_build_a_bfd): Create an import symbol for both 2128 CODE and DATA. 2129 21302016-02-01 Alan Modra <amodra@gmail.com> 2131 2132 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Don't abort on 2133 an out of range reloc_index. 2134 * elf32-i386.c (elf_i386_get_plt_sym_val): Likewise. 2135 21362016-02-01 Kamil Rytarowski <n54@gmx.com> 2137 2138 * Makefile.am (OPTIONAL_BACKENDS): Add netbsd-core.lo. 2139 (OPTIONAL_BACKENDS_CFILES): Add netbsd-core.c. 2140 * Makefile.in: Regenerated. 2141 21422016-02-01 Jan Kratochvil <jan.kratochvil@redhat.com> 2143 2144 * elf64-s390.c (elf_s390_reloc_name_lookup): Fix indentation. 2145 21462016-01-31 John David Anglin <danglin@gcc.gnu.org> 2147 2148 PR ld/19526 2149 * elf32-hppa.c (elf32_hppa_final_link): Don't sort non-regular output 2150 files. 2151 * elf64-hppa.c (elf32_hppa_final_link): Likewise. Remove retval. 2152 21532016-01-30 H.J. Lu <hongjiu.lu@intel.com> 2154 2155 PR ld/19539 2156 * elf32-i386.c (elf_i386_reloc_type_class): Check relocation 2157 against STT_GNU_IFUNC symbol only with dynamic symbols. 2158 * elf64-x86-64.c (elf_x86_64_reloc_type_class): Likewise. 2159 21602016-01-28 H.J. Lu <hongjiu.lu@intel.com> 2161 2162 PR binutils/19523 2163 * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Set BFD_DECOMPRESS to 2164 decompress debug sections. 2165 21662016-01-25 Maciej W. Rozycki <macro@imgtec.com> 2167 2168 * elf32-arc.c (elf_arc_finish_dynamic_symbol): Rename `index' to 2169 `dynindx'. 2170 21712016-01-25 Nick Clifton <nickc@redhat.com> 2172 2173 PR target/19435 2174 * mach-o.c (bfd_mach_o_close_and_cleanup): Suppress code to free 2175 dsym filename buffer. 2176 21772016-01-24 Maciej W. Rozycki <macro@imgtec.com> 2178 2179 * elfxx-mips.c (BZ16_REG_FIELD): Simplify calculation. 2180 21812016-01-24 Maciej W. Rozycki <macro@imgtec.com> 2182 2183 * elfxx-mips.c (BZ16_REG): Correct calculation. 2184 21852016-01-21 Nick Clifton <nickc@redhat.com> 2186 2187 * elf32-arc.c (ADD_RELA): Fix compile time warning errors by 2188 changing the type of _loc to be bfd_byte *. 2189 (elf_arc_finish_dynamic_symbol): Likewise. 2190 21912016-01-21 Nick Clifton <nickc@redhat.com> 2192 2193 PR ld/19455 2194 * elf32-arm.c (elf32_arm_create_dynamic_sections): Set the ELF 2195 class of the linker stub bfd. 2196 (elf32_arm_check_relocs): Skip check for pic format after 2197 processing a vxWorks R_ARM_ABS12 reloc. 2198 * elflink.c (bfd_elf_final_link): Check for ELFCLASSNONE when 2199 reporting a class mismatch. 2200 22012016-01-21 Jiong Wang <jiong.wang@arm.com> 2202 2203 * elfnn-aarch64.c (aarch64_type_of_stub): Allow insert long branch 2204 veneer for sym_sec != input_sec. 2205 (elfNN_aarch64_size_stub): Support STT_SECTION symbol. 2206 (elfNN_aarch64_final_link_relocate): Take rela addend into account when 2207 calculation destination. 2208 22092016-01-21 Alan Modra <amodra@gmail.com> 2210 2211 * elf-linux-core.h (swap_linux_prpsinfo32_out): New function. 2212 (swap_linux_prpsinfo64_out): New function. 2213 (LINUX_PRPSINFO32_SWAP_FIELDS): Delete. 2214 (LINUX_PRPSINFO64_SWAP_FIELDS): Delete. 2215 * elf.c (elfcore_write_linux_prpsinfo32): Adjust. Don't memset. 2216 (elfcore_write_linux_prpsinfo64): Likewise. 2217 * elf32-ppc.c (swap_ppc_linux_prpsinfo32_out): New function. 2218 (PPC_LINUX_PRPSINFO32_SWAP_FIELDS): Delete. 2219 (elfcore_write_ppc_linux_prpsinfo32): Adjust. Don't memset. 2220 22212016-01-21 Alan Modra <amodra@gmail.com> 2222 2223 * elf-linux-core.h: Rename from elf-linux-psinfo.h. 2224 * elf.c: Adjust #include. 2225 * elf32-ppc.c: Don't #include elf-linux-psinfo.h 2226 * Makefile.am (SOURCE_HFILES): Update. 2227 * Makefile.in: Regenerate. 2228 * po/SRC-PORFILES.in: Regenerate. 2229 22302016-01-21 Alan Modra <amodra@gmail.com> 2231 2232 * configure.ac: Move corefile selection later in file. Move 2233 tdefaults code immediately after other target vector code. 2234 * configure: Regenerate. 2235 22362016-01-20 Mickael Guene <mickael.guene@st.com> 2237 2238 * elf32-arm.c (elf32_arm_special_sections): Remove catch of noread 2239 section using '.text.noread' pattern. 2240 22412016-01-19 John Baldwin <jhb@FreeBSD.org> 2242 2243 * elf.c (elfcore_grok_note): Recognize NT_FREEBSD_THRMISC notes. 2244 22452016-01-18 Miranda Cupertino <Cupertino.Miranda@synopsys.com> 2246 Zissulescu Claudiu <Claudiu.Zissulescu@synopsys.com> 2247 2248 * arc-plt.def: New file. 2249 * arc-plt.h: Likewise. 2250 * elf32-arc.c (elf_arc_abs_plt0_entry, elf_arc_abs_pltn_entry, 2251 elf_arcV2_abs_plt0_entry, elf_arcV2_abs_pltn_entry, 2252 elf_arc_pic_plt0_entry, elf_arc_pic_pltn_entry, 2253 elf_arcV2_pic_plt0_entry, elf_arcV2_pic_pltn_entry): Remove. 2254 (name_for_global_symbol): Added. 2255 (ADD_RELA): Helper to create dynamic relocs. 2256 (new_got_entry_to_list): Create a new got entry in linked list. 2257 (symbol_has_entry_of_type): Search for specific type of entry in 2258 list. 2259 (is_reloc_for_GOT): return FALSE for any TLS related relocs. 2260 (is_reloc_for_TLS, arc_elf_set_private_flags) 2261 (arc_elf_print_private_bfd_data, arc_elf_copy_private_bfd_data) 2262 (arc_elf_merge_private_bfd_data): New functions. 2263 (debug_arc_reloc): Cleaned debug info printing. 2264 (PDATA reloc): Changed not to perform address alignment. 2265 (reverse_me): Added. Fix for ARC_32 relocs. 2266 (arc_do_relocation): Return bfd_reloc_of when no relocation should 2267 occur. 2268 (arc_get_local_got_ents): Renamed from arc_get_local_got_offsets. 2269 Changed function to access an array of list of GOT entries instead 2270 of just an array of offsets. 2271 (elf_arc_relocate_section): Added support for PIC and TLS related relocations. 2272 (elf_arc_check_relocs): Likewise. 2273 (elf_arc_adjust_dynamic_symbol, elf_arc_finish_dynamic_symbol, 2274 (elf_arc_finish_dynamic_sections): Likewise 2275 (arc_create_dynamic_sections): Modified conditions to create 2276 dynamic sections. 2277 (ADD_SYMBOL_REF_SEC_AND_RELOC): New macro. 2278 (plt_do_relocs_for_symbol, relocate_plt_for_symbol) 2279 (relocate_plt_for_entry): Changed to support new way to define PLT 2280 related code. 2281 (add_symbol_to_plt): Likewise. 2282 (arc_elf_link_hash_table_create): New function. 2283 22842016-01-18 Nick Clifton <nickc@redhat.com> 2285 2286 PR ld/19440 2287 * coff-rs6000.c (_bfd_xcoff_swap_sym_in): Sign extend external 2288 section number into internal section number. 2289 * coff64-rs6000.c (_bfd_xcoff64_swap_sym_in): Likewise. 2290 * coffswap.h (coff_swap_sym_in): Likewise. 2291 * peXXigen.c (_bfd_XXi_swap_sym_in): Likewise. 2292 * coffcode.h (_coff_bigobj_swap_sym_in): Make sure that internal 2293 section number field is big enough to hold the external value. 2294 22952016-01-17 Alan Modra <amodra@gmail.com> 2296 2297 * configure: Regenerate. 2298 22992016-01-12 Yury Usishchev <y.usishchev@samsung.com> 2300 2301 * elf32-arm.c (elf32_arm_fix_exidx_coverage): Insert cantunwind 2302 when address in first unwind entry does not match start of 2303 section. 2304 23052016-01-08 Richard Sandiford <richard.sandiford@arm.com> 2306 Jiong Wang <jiong.wang@arm.com> 2307 2308 PR ld/19368 2309 * elf32-arm.c (elf32_arm_reloc_type_class): Map R_ARM_IRELATIVE to 2310 reloc_class_ifunc. 2311 23122016-01-06 Andrew Burgess <andrew.burgess@embecosm.com> 2313 2314 * elf32-arc.c (reloc_type_to_name): Change ARC_RELOC_HOWTO to 2315 place 'R_' before the reloc name returned. 2316 (elf_arc_howto_table): Change ARC_RELOC_HOWTO to place 'R_' before 2317 the relocation string. 2318 23192016-01-04 Maciej W. Rozycki <macro@imgtec.com> 2320 2321 * elfxx-mips.c (mips_elf_merge_obj_abiflags): New function, 2322 factored out from... 2323 (_bfd_mips_elf_merge_private_bfd_data): ... here. 2324 23252016-01-04 Maciej W. Rozycki <macro@imgtec.com> 2326 2327 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Move 2328 attribute check after ELF file header flag check. 2329 23302016-01-04 Maciej W. Rozycki <macro@imgtec.com> 2331 2332 * elfxx-mips.c (mips_elf_merge_obj_attributes): Propagate the 2333 return status from `_bfd_elf_merge_object_attributes'. 2334 23352016-01-04 Maciej W. Rozycki <macro@imgtec.com> 2336 2337 * elfxx-mips.c (mips_elf_merge_obj_e_flags): New function, 2338 factored out from... 2339 (_bfd_mips_elf_merge_private_bfd_data): ... here. 2340 23412016-01-04 Maciej W. Rozycki <macro@imgtec.com> 2342 2343 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Fold the 2344 handling of input MIPS ABI flags together. 2345 23462016-01-04 Maciej W. Rozycki <macro@imgtec.com> 2347 2348 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Suppress 2349 attribute checks for null input. 2350 23512016-01-04 Maciej W. Rozycki <macro@imgtec.com> 2352 2353 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Use local 2354 pointers to target data. 2355 23562016-01-04 Maciej W. Rozycki <macro@imgtec.com> 2357 2358 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Correct 2359 an FP ABI warning. 2360 23612016-01-01 Alan Modra <amodra@gmail.com> 2362 2363 Update year range in copyright notice of all files. 2364 2365For older changes see ChangeLog-2015 and doc/ChangeLog-0415 2366 2367Copyright (C) 2016 Free Software Foundation, Inc. 2368 2369Copying and distribution of this file, with or without modification, 2370are permitted in any medium without royalty provided the copyright 2371notice and this notice are preserved. 2372 2373Local Variables: 2374mode: change-log 2375left-margin: 8 2376fill-column: 74 2377version-control: never 2378End: 2379