12016-08-03 Tristan Gingold <gingold@adacore.com> 2 3 * version.m4: Bump version to 2.27 4 * configure: Regenerate. 5 62016-08-03 Tristan Gingold <gingold@adacore.com> 7 8 * development.sh: Set development to false. 9 102016-08-02 Alan Modra <amodra@gmail.com> 11 12 PR ld/20428 13 * elf64-ppc.c (ppc_get_stub_entry): Don't segfault on NULL group. 14 152016-07-27 Nick Clifton <nickc@redhat.com> 16 17 * Import this patch from the mainline: 18 2016-07-27 Ozkan Sezer <sezeroz@gmail.com> 19 Nick Clifton <nickc@redhat.com> 20 21 PR ld/20401 22 * coffgen.c (fini_reloc_cookie_rels): Check for the extistence 23 of the coff_section_data before using it. 24 252016-07-01 Tristan Gingold <gingold@adacore.com> 26 27 * version.m4: Bump version to 2.26.90 28 * configure: Regenerate. 29 302016-07-01 Tristan Gingold <gingold@adacore.com> 31 32 * version.m4: Bump version to 2.27.51 33 * configure: Regenerate. 34 352016-06-29 Nick Clifton <nickc@redhat.com> 36 37 * elfnn-aarch64.c (is_aarch64_mapping_symbol): New function. 38 Returns TRUE for AArch64 mapping symbols. 39 (elfNN_aarch64_backend_symbol_processing): New function. Marks 40 mapping symbols as precious in object files so that they will not 41 be stripped. 42 (elf_backend_symbol_processing): Define. 43 44 * elf32-arm.c (is_arm_mapping_symbol): New function. Returns TRUE 45 for ARM mapping symbols. 46 (elf32_arm_backend_symbol_processing): Make use of the new function. 47 482016-06-28 H.J. Lu <hongjiu.lu@intel.com> 49 50 PR ld/20306 51 * elflink.c (elf_link_check_versioned_symbol): Return false 52 for unreferenced undefined symbol. 53 542016-06-28 Nick Clifton <nickc@redhat.com> 55 56 * elf32-bfin.c (bfin_adjust_dynamic_symbol): Fail if a COPY reloc 57 is needed. 58 59 * elf32-arm.c (elf32_arm_backend_symbol_processing): New 60 function. Marks mapping symbols in object files as precious, so 61 that strip will not remove them. 62 (elf_backend_symbol_processing): Define. 63 642016-06-28 James Clarke <jrtc27@jrtc27.com> 65 66 * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Don't convert 67 R_SPARC_32 to R_SPARC_RELATIVE if class is ELFCLASS64. 68 692016-06-28 Maciej W. Rozycki <macro@imgtec.com> 70 71 * elf32-mips.c (elf_mips16_howto_table_rel): Add 72 R_MIPS16_PC16_S1. 73 (mips16_reloc_map): Likewise. 74 * elf64-mips.c (mips16_elf64_howto_table_rel): Likewise. 75 (mips16_elf64_howto_table_rela): Likewise. 76 (mips16_reloc_map): Likewise. 77 * elfn32-mips.c (elf_mips16_howto_table_rel): Likewise. 78 (elf_mips16_howto_table_rela): Likewise. 79 (mips16_reloc_map): Likewise. 80 * elfxx-mips.c (mips16_branch_reloc_p): New function. 81 (mips16_reloc_p): Handle R_MIPS16_PC16_S1. 82 (b_reloc_p): Likewise. 83 (mips_elf_calculate_relocation): Likewise. 84 (_bfd_mips_elf_check_relocs): Likewise. 85 * reloc.c (BFD_RELOC_MIPS16_16_PCREL_S1): New relocation. 86 * bfd-in2.h: Regenerate. 87 * libbfd.h: Regenerate. 88 892016-06-27 Alan Modra <amodra@gmail.com> 90 91 PR ld/19264 92 * elf64-ppc.c (STUB_SHRINK_ITER): Define. 93 (ppc64_elf_size_stubs): Exit stub sizing loop past STUB_SHRINK_ITER 94 if shrinking stubs. 95 (ppc64_elf_size_stubs): Adjust to suit. 96 972016-06-27 Trevor Saunders <tbsaunde+binutils@tbsaunde.org> 98 99 * elf32-dlx.h: New file. 100 * elf32-dlx.c: Adjust. 101 1022016-06-25 Trevor Saunders <tbsaunde+binutils@tbsaunde.org> 103 104 * elf32-xtensa.c (xtensa_make_property_section): Remove prototype. 105 1062016-06-24 John Baldwin <jhb@FreeBSD.org> 107 108 * elf.c (elfcore_grok_freebsd_note): Handle NT_FREEBSD_PROCSTAT_AUXV 109 notes. 110 1112016-06-24 John Baldwin <jhb@FreeBSD.org> 112 113 * elf.c (elfcore_grok_note): Remove handling of NT_X86_XSTATE for 114 FreeBSD. Remove case for NT_FREEBSD_THRMISC. 115 (elfcore_grok_freebsd_psinfo): New function. 116 (elfcore_grok_freebsd_prstatus): New function. 117 (elfcore_grok_freebsd_note): New function. 118 (elf_parse_notes): Use "elfcore_grok_freebsd_note" for "FreeBSD" 119 notes. 120 1212016-06-24 Joel Brobecker <brobecker@adacore.com> 122 123 * elflink.c: Check the value of BFD_SUPPORTS_PLUGINS rather 124 than its existance. 125 1262016-06-24 Alan Modra <amodra@gmail.com> 127 128 * config.bfd: Delete mips vxworks patterns matched earlier. 129 Combine mips*-*-none with mips*-*-elf*. 130 1312016-06-21 Maciej W. Rozycki <macro@imgtec.com> 132 133 * elfxx-mips.c (mips_elf_perform_relocation): Call 134 `info->callbacks->einfo' rather than `*_bfd_error_handler' and 135 use the `%X%H' format for the cross-mode jump conversion error 136 message. Remove the full stop from the end of the message. 137 Continue processing rather than returning failure. 138 1392016-06-21 Graham Markall <graham.markall@embecosm.com> 140 141 * archures.c: Remove bfd_mach_arc_nps400. 142 * bfd-in2.h: Likewise. 143 * cpu-arc.c (arch_info_struct): Likewise. 144 * elf32-arc.c (arc_elf_object_p, arc_elf_final_write_processing): 145 Likewise. 146 1472016-06-20 H.J. Lu <hongjiu.lu@intel.com> 148 149 PR ld/18250 150 PR ld/20267 151 * elflink.c: Include plugin.h if BFD_SUPPORTS_PLUGINS is 152 defined. 153 (elf_link_is_defined_archive_symbol): Call 154 bfd_link_plugin_object_p on unknown plugin object and use the 155 IR symbol table if the input is an IR object. 156 * plugin.c (bfd_link_plugin_object_p): New function. 157 * plugin.h (bfd_link_plugin_object_p): New prototype. 158 1592016-06-20 H.J. Lu <hongjiu.lu@intel.com> 160 161 PR ld/20276 162 * elflink.c (elf_link_add_object_symbols): Don't check alignment 163 on symbol from plugin dummy input. 164 1652016-06-18 H.J. Lu <hongjiu.lu@intel.com> 166 167 * bfd.c (bfd_plugin_format): Rename bfd_plugin_uknown to 168 bfd_plugin_unknown. 169 * bfd-in2.h: Regenerated. 170 * plugin.c (bfd_plugin_object_p): Replace bfd_plugin_uknown 171 with bfd_plugin_unknown. 172 1732016-06-18 H.J. Lu <hongjiu.lu@intel.com> 174 175 PR ld/20253 176 * elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add an 177 bfd_boolean argument. 178 * elf-ifunc.c (_bfd_elf_create_ifunc_sections): Replace 179 "shared object" with "PIC object" in comments. 180 (_bfd_elf_allocate_ifunc_dyn_relocs): Updated. Replace 181 "shared object" with "PIC object" in comments. Avoid PLT if 182 requested. Generate dynamic relocations for non-GOT references. 183 Make room for the special first entry in PLT and allocate PLT 184 entry only for PLT and PC-relative references. Store dynamic 185 GOT relocations in .rel[a].iplt section for static executables. 186 If PLT isn't used, always use GOT for symbol value. Don't 187 allocate GOT entry if it isn't used. 188 * elf32-i386.c (elf_i386_check_relocs): Increment PLT reference 189 count only in the code section. Allocate dynamic pointer 190 relocation against STT_GNU_IFUNC symbol in the non-code section. 191 (elf_i386_adjust_dynamic_symbol): Increment PLT reference count 192 only for PC-relative references. 193 (elf_i386_allocate_dynrelocs): Pass TRUE to 194 _bfd_elf_allocate_ifunc_dyn_relocs. 195 (elf_i386_relocate_section): Allow R_386_GOT32/R_386_GOT32X 196 relocations against STT_GNU_IFUNC symbols without PLT. Generate 197 dynamic pointer relocation against STT_GNU_IFUNC symbol in 198 the non-code section and store it in the proper REL section. 199 Don't allow non-pointer relocation against STT_GNU_IFUNC symbol 200 without PLT. 201 (elf_i386_finish_dynamic_symbol): Generate dynamic 202 R_386_IRELATIVE and R_386_GLOB_DAT GOT relocations against 203 STT_GNU_IFUNC symbols without PLT. 204 (elf_i386_finish_dynamic_sections): Don't handle local 205 STT_GNU_IFUNC symbols here. 206 (elf_i386_output_arch_local_syms): Handle local STT_GNU_IFUNC 207 symbols here. 208 (elf_backend_output_arch_local_syms): New. 209 * elf32-x86-64.c (elf_i386_check_relocs): Increment PLT reference 210 count only in the code section. Allocate dynamic pointer 211 relocation against STT_GNU_IFUNC symbol in the non-code section. 212 (elf_x86_64_adjust_dynamic_symbol): Increment PLT reference 213 count only for PC-relative references. 214 (elf_x86_64_allocate_dynrelocs): Pass TRUE to 215 _bfd_elf_allocate_ifunc_dyn_relocs. 216 (elf_x86_64_relocate_section): Allow R_X86_64_GOTPCREL, 217 R_X86_64_GOTPCRELX, R_X86_64_REX_GOTPCRELX and 218 R_X86_64_GOTPCREL64 relocations against STT_GNU_IFUNC symbols 219 without PLT. Generate dynamic pointer relocation against 220 STT_GNU_IFUNC symbol in the non-code section and store it in 221 the proper RELA section. Don't allow non-pointer relocation 222 against STT_GNU_IFUNC symbol without PLT. 223 (elf_x86_64_finish_dynamic_symbol): Generate dynamic 224 R_X86_64_IRELATIVE and R_X86_64_GLOB_DAT GOT relocations against 225 STT_GNU_IFUNC symbols without PLT. 226 (elf_x86_64_finish_dynamic_sections): Don't handle local 227 STT_GNU_IFUNC symbols here. 228 (elf_x86_64_output_arch_local_syms): Handle local STT_GNU_IFUNC 229 symbols here. 230 (elf_backend_output_arch_local_syms): New. 231 * elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs): 232 Pass FALSE to _bfd_elf_allocate_ifunc_dyn_relocs. 233 2342016-06-17 Thomas Preud'homme <thomas.preudhomme@arm.com> 235 Tony Wang <tony.wang@arm.com> 236 237 * elf32-arm.c (elf32_arm_stub_long_branch_thumb2_only): Define stub 238 sequence. 239 (stub_long_branch_thumb2_only): Define stub. 240 (arm_stub_is_thumb): Add case for arm_stub_long_branch_thumb2_only. 241 (arm_stub_long_branch_thumb2_only): Likewise. 242 (arm_type_of_stub): Use arm_stub_long_branch_thumb2_only for Thumb-2 243 capable targets. 244 2452016-06-17 Jose E. Marchesi <jose.marchesi@oracle.com> 246 247 * archures.c (bfd_mach_sparc_v8plusc): Define. 248 (bfd_mach_sparc_v9c): Likewise. 249 (bfd_mach_sparc_v8plusd): Likewise. 250 (bfd_mach_sparc_v9d): Likewise. 251 (bfd_mach_sparc_v8pluse): Likewise. 252 (bfd_mach_sparc_v9e): Likewise. 253 (bfd_mach_sparc_v8plusv): Likewise 254 (bfd_mach_sparc_v9v): Likewise. 255 (bfd_mach_sparc_v8plusm): Likewise. 256 (bfd_mach_sparc_v9m): Likewise. 257 (bfd_mach_sparc_v9_p): Adapt to v8plusm and v9m. 258 (bfd_mach_sparc_64bit_p): Likewise. 259 * bfd-in2.h: Regenerate. 260 * cpu-sparc.c (arch_info_struct): Add entries for 261 bfd_mach_sparc_v8plus{c,d,e,v,m} and bfd_mach_sparc_v9{c,d,e,v,m}. 262 * aoutx.h (machine_type): Handle bfd_mach_sparc_v8plus{c,d,e,v,m} 263 and bfd_mach_sparc_v9{c,d,e,v,m}. 264 * elf32-sparc.c (elf32_sparc_final_write_processing): Likewise. 265 * elfxx-sparc.c (_bfd_sparc_elf_object_p): Likewise. 266 2672016-06-16 H.J. Lu <hongjiu.lu@intel.com> 268 269 * elf32-i386.c (elf_i386_check_relocs): Don't check undefined 270 symbols for relocations against IFUNC symbols. 271 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise. 272 2732016-06-16 Marcin Kościelnicki <koriakin@0x04.net> 274 275 * elf32-s390.c (elf_s390_finish_dynamic_sections): Include 276 .rela.iplt in DT_PLTRELSZ. 277 * elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise, 278 for DT_PLTRELSZ and DT_RELASZ as well. 279 2802016-06-16 H.J. Lu <hongjiu.lu@intel.com> 281 282 * elf32-i386.c (elf_i386_check_relocs): Skip relocations in 283 non-loaded, non-alloced sections. 284 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise. 285 2862016-06-15 H.J. Lu <hongjiu.lu@intel.com> 287 288 * elf32-i386.c (elf_i386_check_relocs): Check SEC_ALLOC before 289 allocating dynamic relocation. 290 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise. 291 2922016-06-14 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> 293 294 PR ld/20254 295 * elf32-avr.c (elf32_avr_relax_delete_bytes): Adjust reloc 296 offsets until reloc_toaddr. 297 2982016-06-14 H.J. Lu <hongjiu.lu@intel.com> 299 300 * elf32-i386.c (elf_i386_reloc_type_class): Check R_386_IRELATIVE. 301 Don't check symbol type for STN_UNDEF symbol index. 302 * elf64-x86-64.c (elf_x86_64_reloc_type_class): Check 303 R_X86_64_IRELATIVE. Don't check symbol type for STN_UNDEF symbol 304 index. 305 3062016-06-14 Thomas Preud'homme <thomas.preudhomme@arm.com> 307 308 * elf32-arm.c (using_thumb_only): Force review of arch check logic for 309 new architecture. 310 (using_thumb2): Try Tag_THUMB_ISA_use first and check 311 for exact arch value then. Force review of arch check logic for new 312 architecture. 313 (arch_has_arm_nop): Update and fix arch check logic. Force review of 314 that logic for new architecture. 315 (arch_has_thumb2_nop): Remove. 316 (elf32_arm_tls_relax): Use using_thumb2 instead of above function. 317 (elf32_arm_final_link_relocate): Likewise but using thumb2. 318 3192016-06-14 Alan Modra <amodra@gmail.com> 320 321 * bfd-in.h (bfd_my_archive): Delete. 322 * bfd-in2.h: Regenerate. 323 3242016-06-14 Alan Modra <amodra@gmail.com> 325 326 PR ld/20241 327 * archive.c (open_nested_file): Set my_archive. 328 * bfd.c (_bfd_default_error_handler <%B>): Exclude archive file name 329 for thin archives. 330 * bfdio.c (bfd_tell): Don't adjust origin for thin archives. 331 (bfd_seek): Likewise. 332 * bfdwin.c (bfd_get_file_window): Likewise. 333 * cache.c (cache_bmmap): Likewise. 334 (bfd_cache_lookup_worker): Don't look in my_archive for thin archives. 335 * mach-o.c (bfd_mach_o_follow_dsym): Don't open my_archive for 336 thin archives. 337 * plugin.c (try_claim): Likewise. 338 * xcofflink.c (xcoff_link_add_dynamic_symbols): Use import path of 339 file within thin archive, not the archive. 340 3412016-06-13 H.J. Lu <hongjiu.lu@intel.com> 342 343 PR ld/20244 344 * elf32-i386.c (elf_i386_relocate_section): Add the .got.plt 345 section address for R_386_GOT32/R_386_GOT32X relocations against 346 IFUNC symbols if there is no base register and return error for 347 PIC. 348 3492016-06-13 H.J. Lu <hongjiu.lu@intel.com> 350 351 * elf32-i386.c (elf_i386_relocate_section): Simplify IFUNC 352 GOT32 adjustment for static executables. 353 3542016-06-13 Maciej W. Rozycki <macro@imgtec.com> 355 356 * elf32-mips.c (elf_mips_gnu_pcrel32): Update comment. 357 3582016-06-13 Cupertino Miranda <cmiranda@synospsy.com> 359 360 * elf32-arc.c (elf_arc_relocate_section): Fixed condition. 361 3622016-06-13 Cupertino Miranda <cmiranda@synospsy.com> 363 364 * elf32-arc.c (elf_arc_finish_dynamic_sections): Changed. 365 3662016-06-13 Cupertino Miranda <cmiranda@synospsy.com> 367 368 * elf32-arc.c (arc_local_data, arc_local_data): Removed. 369 (SECTSTART): Changed. 370 (elf_arc_relocate_section): Fixed mistake in PIE related 371 condition. 372 (elf_arc_size_dynamic_sections): Changed DT_RELENT to DT_RELAENT. 373 3742016-06-13 Cupertino Miranda <cmiranda@synospsy.com> 375 376 * elf32-arc.c (elf32_arc_reloc_type_class): Defined function to 377 enable support for "-z combreloc" and DT_RELACOUNT. 378 (elf_backend_reloc_type_class): Likewise 379 3802016-06-11 H.J. Lu <hongjiu.lu@intel.com> 381 382 PR ld/20244 383 * elf32-i386.c (elf_i386_relocate_section): When relocating 384 R_386_GOT32, return error without a base register for PIC and 385 subtract the .got.plt section address only with a base register. 386 3872016-06-10 Alan Modra <amodra@gmail.com> 388 389 * elf-strtab.c (struct strtab_save): Use size_t for "size". 390 (struct elf_strtab_hash): Likewise for "size" and "alloced". 391 (_bfd_elf_strtab_init): Formatting. 392 (_bfd_elf_strtab_add): Return size_t rather than bfd_size_type. 393 (_bfd_elf_strtab_addref): Take size_t idx param. 394 (_bfd_elf_strtab_delref, _bfd_elf_strtab_refcount): Likewise. 395 (_bfd_elf_strtab_offset): Likewise. 396 (_bfd_elf_strtab_clear_all_refs): Use size_t idx. 397 (_bfd_elf_strtab_save): Use size_t "idx" and "size" vars. 398 (_bfd_elf_strtab_restore, _bfd_elf_strtab_emit): Similarly. 399 (_bfd_elf_strtab_finalize): Similarly. 400 * elf-bfd.h (_bfd_elf_strtab_add): Update prototypes. 401 (_bfd_elf_strtab_addref, _bfd_elf_strtab_delref): Likewise. 402 (_bfd_elf_strtab_refcount, _bfd_elf_strtab_offset): Likewise. 403 * elf.c (bfd_elf_get_elf_syms): Calculate symbol buffer size 404 using bfd_size_type. 405 (bfd_section_from_shdr): Delete amt. 406 (_bfd_elf_init_reloc_shdr): Likewise. 407 (_bfd_elf_link_assign_sym_version): Likewise. 408 (assign_section_numbers): Use size_t reloc_count. 409 * elflink.c (struct elf_symbuf_head): Use size_t "count". 410 (bfd_elf_link_record_dynamic_symbol): Use size_t for some vars. 411 (elf_link_is_defined_archive_symbol): Likewise. 412 (elf_add_dt_needed_tag): Likewise. 413 (elf_finalize_dynstr): Likewise. 414 (elf_link_add_object_symbols): Likewise. 415 (bfd_elf_size_dynamic_sections): Likewise. 416 (elf_create_symbuf): Similarly. 417 (bfd_elf_match_symbols_in_sections): Likewise. 418 (elf_link_swap_symbols_out): Likewise. 419 (elf_link_check_versioned_symbol): Likewise. 420 (bfd_elf_gc_record_vtinherit): Likewise. 421 (bfd_elf_gc_common_finalize_got_offsets): Likewise. 422 4232016-06-08 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> 424 425 PR ld/20221 426 * elf32-avr.c (elf32_avr_relax_delete_bytes): Adjust syms 427 and relocs only if shrinking occurred. 428 4292016-06-08 H.J. Lu <hongjiu.lu@intel.com> 430 431 * elf64-i386.c (elf_i386_link_hash_entry): Add tls_get_addr. 432 (elf_i386_link_hash_newfunc): Initialize tls_get_addr to 2. 433 (elf_i386_check_tls_transition): Check indirect call and direct 434 call with the addr32 prefix for general and local dynamic models. 435 Set the tls_get_addr feild. 436 (elf_i386_convert_load_reloc): Always use addr32 prefix for 437 indirect ___tls_get_addr call via GOT. 438 (elf_i386_relocate_section): Handle GD->LE, GD->IE and LD->LE 439 transitions with indirect call and direct call with the addr32 440 prefix. 441 4422016-06-07 Marcin Kościelnicki <koriakin@0x04.net> 443 444 * elf32-s390.c (elf_s390_finish_dynamic_symbol): Fix comment. 445 * elf64-s390.c (elf_s390x_plt_entry): Fix comment. 446 (elf_s390_relocate_section): Fix comment. 447 (elf_s390_finish_dynamic_sections): Fix initialization of fixed 448 .got.plt entries. 449 4502016-06-07 Ulrich Weigand <ulrich.weigand@de.ibm.com> 451 452 * elf64-s390.c (elf_s390_finish_dynamic_sections): Subtract plt 453 section offset when calculation the larl operand in the first PLT 454 entry. 455 4562016-06-07 Alan Modra <amodra@gmail.com> 457 458 * cpu-powerpc.c (powerpc_compatible): Allow bfd_mach_ppc_vle entry 459 to match other 32-bit archs. 460 * elf32-ppc.c (_bfd_elf_ppc_set_arch): New function. 461 (ppc_elf_object_p): Call it. 462 (ppc_elf_special_sections): Use APUINFO_SECTION_NAME. Fix 463 overlong line. 464 (APUINFO_SECTION_NAME, APUINFO_LABEL): Don't define here. 465 * elf64-ppc.c (ppc64_elf_object_p): Call _bfd_elf_ppc_set_arch. 466 * bfd-in.h (_bfd_elf_ppc_at_tls_transform, 467 _bfd_elf_ppc_at_tprel_transform): Move to.. 468 * elf-bfd.h: ..here. 469 (_bfd_elf_ppc_set_arch): Declare. 470 * bfd-in2.h: Regenerate. 471 4722016-06-06 H.J. Lu <hongjiu.lu@intel.com> 473 474 * elf64-x86-64.c (elf_x86_64_link_hash_entry): Add tls_get_addr. 475 (elf_x86_64_link_hash_newfunc): Initialize tls_get_addr to 2. 476 (elf_x86_64_check_tls_transition): Check indirect call and 477 direct call with the addr32 prefix for general and local dynamic 478 models. Set the tls_get_addr feild. 479 (elf_x86_64_convert_load_reloc): Always use addr32 prefix for 480 indirect __tls_get_addr call via GOT. 481 (elf_x86_64_relocate_section): Handle GD->LE, GD->IE and LD->LE 482 transitions with indirect call and direct call with the addr32 483 prefix. 484 4852016-06-04 Christian Groessler <chris@groessler.org> 486 487 * coff-z8k.c (extra_case): Fix range check for R_JR relocation. 488 4892016-06-02 Nick Clifton <nickc@redhat.com> 490 491 PR target/20088 492 * cpu-arm.c (processors): Add "arm_any" type to match any ARM 493 architecture. 494 (arch_info_struct): Likewise. 495 (architectures): Likewise. 496 4972016-06-02 Vineet Gupta <Vineet.Gupta1@synopsys.com> 498 499 * config.bfd: Replace -uclibc with *. 500 5012016-06-02 H.J. Lu <hongjiu.lu@intel.com> 502 503 * elf64-x86-64.c: Replace data32 with data16 in comments. 504 5052016-05-31 Alan Modra <amodra@gmail.com> 506 507 PR ld/20159 508 PR ld/16467 509 * elflink.c (_bfd_elf_merge_symbol): Revert PR16467 change. 510 (_bfd_elf_add_default_symbol): Don't indirect to/from defined 511 symbol given a version by a script different to the version 512 of the symbol being added. 513 (elf_link_add_object_symbols): Use _bfd_elf_strtab_save and 514 _bfd_elf_strtab_restore. Don't fudge dynstr references. 515 * elf-strtab.c (_bfd_elf_strtab_restore_size): Delete. 516 (struct strtab_save): New. 517 (_bfd_elf_strtab_save, _bfd_elf_strtab_restore): New functions. 518 * elf-bfd.h (_bfd_elf_strtab_restore_size): Delete. 519 (_bfd_elf_strtab_save, _bfd_elf_strtab_restore): Declare. 520 5212016-06-01 Trevor Saunders <tbsaunde+binutils@tbsaunde.org> 522 523 * elf32-hppa.h: Add extern "C". 524 * elf32-nds32.h: Likewise. 525 * elf32-tic6x.h: Likewise. 526 5272016-06-01 Nick Clifton <nickc@redhat.com> 528 529 * po/sr.po: New Serbian translation. 530 * configure.ac (ALL_LINGUAS): Add sr. 531 * configure: Regenerate. 532 5332016-05-28 Maciej W. Rozycki <macro@imgtec.com> 534 535 * elfxx-mips.c (b_reloc_p): New function. 536 (_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Handle 537 branch relocations. 538 5392016-05-28 Maciej W. Rozycki <macro@imgtec.com> 540 541 * elfxx-mips.c (mips_elf_calculate_relocation): <R_MIPS16_26> 542 <R_MIPS_26, R_MICROMIPS_26_S1>: Drop the region bits of the 543 reloc location from calculation, treat the addend as signed with 544 local non-section symbols and enable overflow detection. 545 5462016-05-28 Alan Modra <amodra@gmail.com> 547 548 * aoutx.h: Adjust linker callback calls throughout file, 549 removing dead code. 550 * bout.c: Likewise. 551 * coff-alpha.c: Likewise. 552 * coff-arm.c: Likewise. 553 * coff-h8300.c: Likewise. 554 * coff-h8500.c: Likewise. 555 * coff-i960.c: Likewise. 556 * coff-mcore.c: Likewise. 557 * coff-mips.c: Likewise. 558 * coff-ppc.c: Likewise. 559 * coff-rs6000.c: Likewise. 560 * coff-sh.c: Likewise. 561 * coff-tic80.c: Likewise. 562 * coff-w65.c: Likewise. 563 * coff-z80.c: Likewise. 564 * coff-z8k.c: Likewise. 565 * coff64-rs6000.c: Likewise. 566 * cofflink.c: Likewise. 567 * ecoff.c: Likewise. 568 * elf-bfd.h: Likewise. 569 * elf-m10200.c: Likewise. 570 * elf-m10300.c: Likewise. 571 * elf32-arc.c: Likewise. 572 * elf32-arm.c: Likewise. 573 * elf32-avr.c: Likewise. 574 * elf32-bfin.c: Likewise. 575 * elf32-cr16.c: Likewise. 576 * elf32-cr16c.c: Likewise. 577 * elf32-cris.c: Likewise. 578 * elf32-crx.c: Likewise. 579 * elf32-d10v.c: Likewise. 580 * elf32-epiphany.c: Likewise. 581 * elf32-fr30.c: Likewise. 582 * elf32-frv.c: Likewise. 583 * elf32-ft32.c: Likewise. 584 * elf32-h8300.c: Likewise. 585 * elf32-hppa.c: Likewise. 586 * elf32-i370.c: Likewise. 587 * elf32-i386.c: Likewise. 588 * elf32-i860.c: Likewise. 589 * elf32-ip2k.c: Likewise. 590 * elf32-iq2000.c: Likewise. 591 * elf32-lm32.c: Likewise. 592 * elf32-m32c.c: Likewise. 593 * elf32-m32r.c: Likewise. 594 * elf32-m68hc1x.c: Likewise. 595 * elf32-m68k.c: Likewise. 596 * elf32-mep.c: Likewise. 597 * elf32-metag.c: Likewise. 598 * elf32-microblaze.c: Likewise. 599 * elf32-moxie.c: Likewise. 600 * elf32-msp430.c: Likewise. 601 * elf32-mt.c: Likewise. 602 * elf32-nds32.c: Likewise. 603 * elf32-nios2.c: Likewise. 604 * elf32-or1k.c: Likewise. 605 * elf32-ppc.c: Likewise. 606 * elf32-s390.c: Likewise. 607 * elf32-score.c: Likewise. 608 * elf32-score7.c: Likewise. 609 * elf32-sh.c: Likewise. 610 * elf32-sh64.c: Likewise. 611 * elf32-spu.c: Likewise. 612 * elf32-tic6x.c: Likewise. 613 * elf32-tilepro.c: Likewise. 614 * elf32-v850.c: Likewise. 615 * elf32-vax.c: Likewise. 616 * elf32-visium.c: Likewise. 617 * elf32-xstormy16.c: Likewise. 618 * elf32-xtensa.c: Likewise. 619 * elf64-alpha.c: Likewise. 620 * elf64-hppa.c: Likewise. 621 * elf64-ia64-vms.c: Likewise. 622 * elf64-mmix.c: Likewise. 623 * elf64-ppc.c: Likewise. 624 * elf64-s390.c: Likewise. 625 * elf64-sh64.c: Likewise. 626 * elf64-x86-64.c: Likewise. 627 * elflink.c: Likewise. 628 * elfnn-aarch64.c: Likewise. 629 * elfnn-ia64.c: Likewise. 630 * elfxx-mips.c: Likewise. 631 * elfxx-sparc.c: Likewise. 632 * elfxx-tilegx.c: Likewise. 633 * linker.c: Likewise. 634 * pdp11.c: Likewise. 635 * pe-mips.c: Likewise. 636 * reloc.c: Likewise. 637 * reloc16.c: Likewise. 638 * simple.c: Likewise. 639 * vms-alpha.c: Likewise. 640 * xcofflink.c: Likewise. 641 * elf32-rl78.c (get_symbol_value, get_romstart, get_ramstart): Delete 642 status param. Adjust calls to these and linker callbacks throughout. 643 * elf32-rx.c: (get_symbol_value, get_gp, get_romstart, 644 get_ramstart): Delete status param. Adjust calls to these and 645 linker callbacks throughout. 646 6472016-05-27 Maciej W. Rozycki <macro@imgtec.com> 648 649 * elfxx-mips.c (mips_elf_calculate_relocation) <R_MIPS16_26> 650 <R_MIPS_26, R_MICROMIPS_26_S1>: Include the addend in JALX's 651 target alignment verification. 652 6532016-05-27 Maciej W. Rozycki <macro@imgtec.com> 654 655 * elfxx-mips.c (mips_elf_calculate_relocation): Also use the 656 section name if `bfd_elf_string_from_elf_section' returns an 657 empty string. 658 6592016-05-26 Maciej W. Rozycki <macro@imgtec.com> 660 661 * elfxx-mips.c (_bfd_mips_elf_relocate_section) 662 <bfd_reloc_outofrange>: Use the `%X%H' rather than `%C' format 663 for message. Continue processing rather than returning failure. 664 6652016-05-25 Maciej W. Rozycki <macro@imgtec.com> 666 667 * elfxx-mips.c (_bfd_mips_elf_relocate_section) 668 <bfd_reloc_outofrange>: Call `->einfo' rather than `->warning'. 669 Call `bfd_set_error'. 670 6712016-05-25 H.J. Lu <hongjiu.lu@intel.com> 672 673 PR binutils/14625 674 * archive.c (bfd_slurp_armap): Replace 675 bfd_elf64_archive_slurp_armap with 676 _bfd_archive_64_bit_slurp_armap. 677 (bsd_write_armap): Call _bfd_archive_64_bit_write_armap if 678 BFD64 is defined and the archive is too big. 679 (coff_write_armap): Likewise. 680 * archive64.c (bfd_elf64_archive_slurp_armap): Renamed to ... 681 (_bfd_archive_64_bit_slurp_armap): This. 682 (bfd_elf64_archive_write_armap): Renamed to ... 683 (_bfd_archive_64_bit_write_armap): This. 684 * configure.ac: Add --enable-64-bit-archive. 685 (want_64_bit_archive): New. Set to true by default for 64-bit 686 MIPS and s390 ELF targets. 687 (USE_64_BIT_ARCHIVE): New AC_DEFINE. 688 * config.in: Regenerated. 689 * configure: Likewise. 690 * elf64-mips.c (bfd_elf64_archive_functions): Removed. 691 (bfd_elf64_archive_slurp_armap): Likewise. 692 (bfd_elf64_archive_write_armap): Likewise. 693 (bfd_elf64_archive_slurp_extended_name_table): Likewise. 694 (bfd_elf64_archive_construct_extended_name_table): Likewise. 695 (bfd_elf64_archive_truncate_arname): Likewise. 696 (bfd_elf64_archive_read_ar_hdr): Likewise. 697 (bfd_elf64_archive_write_ar_hdr): Likewise. 698 (bfd_elf64_archive_openr_next_archived_file): Likewise. 699 (bfd_elf64_archive_get_elt_at_index): Likewise. 700 (bfd_elf64_archive_generic_stat_arch_elt): Likewise. 701 (bfd_elf64_archive_update_armap_timestamp): Likewise. 702 * elf64-s390.c (bfd_elf64_archive_functions): Removed. 703 (bfd_elf64_archive_slurp_armap): Likewise. 704 (bfd_elf64_archive_write_armap): Likewise. 705 (bfd_elf64_archive_slurp_extended_name_table): Likewise. 706 (bfd_elf64_archive_construct_extended_name_table): Likewise. 707 (bfd_elf64_archive_truncate_arname): Likewise. 708 (bfd_elf64_archive_read_ar_hdr): Likewise. 709 (bfd_elf64_archive_write_ar_hdr): Likewise. 710 (bfd_elf64_archive_openr_next_archived_file): Likewise. 711 (bfd_elf64_archive_get_elt_at_index): Likewise. 712 (bfd_elf64_archive_generic_stat_arch_elt): Likewise. 713 (bfd_elf64_archive_update_armap_timestamp): Likewise. 714 * elfxx-target.h (TARGET_BIG_SYM): Use _bfd_archive_64_bit on 715 BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined and 716 bfd_elfNN_archive_functions isn't defined. 717 (TARGET_LITTLE_SYM): Likewise. 718 * libbfd-in.h (_bfd_archive_64_bit_slurp_armap): New prototype. 719 (_bfd_archive_64_bit_write_armap): Likewise. 720 (_bfd_archive_64_bit_slurp_extended_name_table): New macro. 721 (_bfd_archive_64_bit_construct_extended_name_table): Likewise. 722 (_bfd_archive_64_bit_truncate_arname): Likewise. 723 (_bfd_archive_64_bit_read_ar_hdr): Likewise. 724 (_bfd_archive_64_bit_write_ar_hdr): Likewise. 725 (_bfd_archive_64_bit_openr_next_archived_file): Likewise. 726 (_bfd_archive_64_bit_get_elt_at_index): Likewise. 727 (_bfd_archive_64_bit_generic_stat_arch_elt): Likewise. 728 (_bfd_archive_64_bit_update_armap_timestamp): Likewise. 729 * libbfd.h: Regenerated. 730 * plugin.c (plugin_vec): Use _bfd_archive_64_bit on 731 BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined. 732 7332016-05-25 H.J. Lu <hongjiu.lu@intel.com> 734 735 PR ld/20103 736 * cofflink.c (coff_link_check_archive_element): Return TRUE if 737 linker add_archive_element callback returns FALSE. 738 * ecoff.c (ecoff_link_check_archive_element): Likewise. 739 * elf64-ia64-vms.c (elf64_vms_link_add_archive_symbols): Skip 740 archive element if linker add_archive_element callback returns 741 FALSE. 742 * elflink.c (elf_link_add_archive_symbols): Likewise. 743 * pdp11.c (aout_link_check_ar_symbols): Likewise. 744 * vms-alpha.c (alpha_vms_link_add_archive_symbols): Likewise. 745 * xcofflink.c (xcoff_link_check_dynamic_ar_symbols): Likewise. 746 (xcoff_link_check_ar_symbols): Likewise. 747 7482016-05-24 Maciej W. Rozycki <macro@imgtec.com> 749 750 * elfxx-mips.c (_bfd_mips_elf_relocate_section) 751 <bfd_reloc_outofrange>: Unify error reporting code. 752 7532016-05-23 Jim Wilson <jim.wilson@linaro.org> 754 755 * elfnn-aarch64.c: Unconditionally enable R_AARCH64_NULL and 756 R_AARCH64_NONE. Use HOWTO64 for R_AARCH64_NULL. 757 * relocs.c: Add BFD_RELOC_AARCH64_NULL. 758 * bfd-in2.h: Regenerate. 759 * libbfd.h: Likewise. 760 7612016-05-23 Kuba Sejdak <jakub.sejdak@phoesys.com> 762 763 * config.bfd: Add entry for arm-phoenix. 764 7652016-05-23 Thomas Preud'homme <thomas.preudhomme@arm.com> 766 767 * elf32-arm.c (arm_dedicated_stub_section_padding): New function. 768 (elf32_arm_size_stubs): Declare stub_type in a more outer scope and 769 account for padding for stub section requiring one. 770 (elf32_arm_build_stubs): Add comment to stress the importance of 771 zeroing veneer section content. 772 7732016-05-23 Thomas Preud'homme <thomas.preudhomme@arm.com> 774 775 * bfd-in.h (bfd_elf32_arm_keep_private_stub_output_sections): Declare 776 bfd hook. 777 * bfd-in2.h: Regenerate. 778 * elf32-arm.c (arm_dedicated_stub_output_section_required): New 779 function. 780 (arm_dedicated_stub_output_section_required_alignment): Likewise. 781 (arm_dedicated_stub_output_section_name): Likewise. 782 (arm_dedicated_stub_input_section_ptr): Likewise. 783 (elf32_arm_create_or_find_stub_sec): Add stub type parameter and 784 function description comment. Add support for dedicated output stub 785 section to given stub types. 786 (elf32_arm_add_stub): Add a stub type parameter and pass it down to 787 elf32_arm_create_or_find_stub_sec. 788 (elf32_arm_create_stub): Pass stub type down to elf32_arm_add_stub. 789 (elf32_arm_size_stubs): Pass stub type when calling 790 elf32_arm_create_or_find_stub_sec for Cortex-A8 erratum veneers. 791 (bfd_elf32_arm_keep_private_stub_output_sections): New function. 792 7932016-05-20 H.J. Lu <hongjiu.lu@intel.com> 794 795 * elf32-i386.c (elf_i386_check_relocs): Don't check R_386_GOT32 796 when setting need_convert_load. 797 7982016-05-20 Maciej W. Rozycki <macro@imgtec.com> 799 800 * elfxx-mips.c (mips_elf_read_rel_addend): Adjust the addend for 801 microMIPS JALX. 802 8032016-05-19 H.J. Lu <hongjiu.lu@intel.com> 804 805 PR ld/20117 806 * elf32-i386.c (elf_i386_convert_load_reloc): Don't check 807 R_386_GOT32X. 808 (elf_i386_convert_load): Don't convert R_386_GOT32. 809 8102016-05-20 Alan Modra <amodra@gmail.com> 811 812 PR gas/20118 813 * elf.c (elf_fake_sections): Set sh_entsize for SHT_INIT_ARRAY, 814 SHT_FINI_ARRAY, and SHT_PREINIT_ARRAY. 815 8162016-05-19 Cupertino Miranda <cmiranda@synopsys.com> 817 818 * elf32-arc.c (arc_elf_final_write_processing): Changed. 819 (debug_arc_reloc): Likewise. 820 (elf_arc_relocate_section): Likewise. 821 (elf_arc_check_relocs): Likewise. 822 (elf_arc_adjust_dynamic_symbol): Likewise. 823 (elf_arc_add_symbol_hook): Likewise. 824 8252016-05-19 Maciej W. Rozycki <macro@imgtec.com> 826 827 * config.bfd: Remove `am34-*-linux*' support. 828 8292016-05-19 Alan Modra <amodra@gmail.com> 830 831 * elf64-ppc.c (allocate_dynrelocs): Allocate got and other dynamic 832 relocs before plt relocs. 833 8342016-05-19 Alan Modra <amodra@gmail.com> 835 836 * elf64-ppc.c (ppc64_elf_branch_reloc): Check for NULL owner 837 before dereferencing. 838 8392016-05-18 Nick Clifton <nickc@redhat.com> 840 841 * po/sv.po: Updated Swedish translation. 842 8432016-05-18 Alan Modra <amodra@gmail.com> 844 845 * elf32-arm.c (elf32_arm_size_stubs): Free or cache local syms 846 for each BFD. Don't goto error_ret_free_local from outside loop. 847 8482016-05-17 Maciej W. Rozycki <macro@imgtec.com> 849 850 * elf-s390-common.c (elf_s390_add_symbol_hook): Remove 851 STB_GNU_UNIQUE handling. 852 * elf32-arc.c (elf_arc_add_symbol_hook): Likewise. 853 * elf32-arm.c (elf32_arm_add_symbol_hook): Likewise. 854 * elf32-m68k.c (elf_m68k_add_symbol_hook): Likewise. 855 * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise. 856 * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise. 857 * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise. 858 * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise. 859 * elf64-x86-64.c (elf_x86_64_add_symbol_hook): Likewise. 860 * elfxx-aarch64.c (_bfd_aarch64_elf_add_symbol_hook): Likewise. 861 * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Likewise. 862 * elf32-i386.c (elf_i386_add_symbol_hook): Remove function. 863 (elf_backend_add_symbol_hook): Remove macro. 864 * elflink.c (elf_link_add_object_symbols): Set `has_gnu_symbols' 865 for STB_GNU_UNIQUE symbols. 866 8672016-05-16 Maciej W. Rozycki <macro@imgtec.com> 868 869 * elf32-v850.c (v850_elf_copy_notes): New function, factored out 870 from... 871 (v850_elf_copy_private_bfd_data): ... here. Call the new 872 function and `_bfd_elf_copy_private_bfd_data'. 873 8742016-05-13 H.J. Lu <hongjiu.lu@intel.com> 875 876 PR ld/20093 877 * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Don't convert 878 GOTPCREL relocation against large section. 879 8802016-05-13 Alan Modra <amodra@gmail.com> 881 882 * elf-m10300.c (_bfd_mn10300_elf_finish_dynamic_sections): Use 883 linker dynamic sections in calculating size and address of 884 dynamic tags rather than using output sections. Remove asserts. 885 * elf32-arm.c (elf32_arm_finish_dynamic_sections): Likewise. 886 * elf32-cr16.c (_bfd_cr16_elf_finish_dynamic_sections): Likewise. 887 * elf32-cris.c (elf_cris_finish_dynamic_sections): Likewise. 888 * elf32-i370.c (i370_elf_finish_dynamic_sections): Likewise. 889 * elf32-lm32.c (lm32_elf_finish_dynamic_sections): Likewise. 890 * elf32-m32r.c (m32r_elf_finish_dynamic_sections): Likewise. 891 * elf32-m68k.c (elf_m68k_finish_dynamic_sections): Likewise. 892 * elf32-metag.c (elf_metag_finish_dynamic_sections): Likewise. 893 * elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Likewise. 894 * elf32-nds32.c (nds32_elf_finish_dynamic_sections): Likewise. 895 * elf32-nios2.c (nios2_elf32_finish_dynamic_sections): Likewise. 896 * elf32-or1k.c (or1k_elf_finish_dynamic_sections): Likewise. 897 * elf32-s390.c (elf_s390_finish_dynamic_sections): Likewise. 898 * elf32-score.c (s3_bfd_score_elf_finish_dynamic_sections): Likewise. 899 * elf32-score7.c (s7_bfd_score_elf_finish_dynamic_sections): Likewise. 900 * elf32-vax.c (elf_vax_finish_dynamic_sections): Likewise. 901 * elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Likewise. 902 * elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Likewise. 903 * elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise. 904 * elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Likewise. 905 * elflink.c (bfd_elf_final_link): Likewise. 906 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Likewise. 907 * elfxx-sparc.c (sparc_finish_dyn): Likewise. Adjust error message. 908 * elf32-arc.c (GET_SYMBOL_OR_SECTION): Remove ASSERT arg and 909 don't set doit. Look up dynobj section. 910 (elf_arc_finish_dynamic_sections): Adjust GET_SYMBOL_OR_SECTION 911 invocation and dynamic tag vma calculation. Don't test 912 boolean var == TRUE. 913 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_sections): Fix 914 DT_JMPREL calc. 915 9162016-05-13 Alan Modra <amodra@gmail.com> 917 918 * elflink.c (elf_link_sort_relocs): Wrap overlong lines. Fix 919 octets_per_byte. Put dynamic .rela.plt last in link orders. 920 Assign output_offset for reloc sections rather than writing 921 sorted relocs from block corresponding to output_offset. 922 9232016-05-12 Alan Modra <amodra@gmail.com> 924 925 * elf-bfd.h (elf_reloc_type_class): Put reloc_class_plt last. 926 9272016-05-11 Andrew Bennett <andrew.bennett@imgtec.com> 928 929 * elfxx-mips.c (print_mips_ases): Add DSPR3. 930 9312016-05-11 Alan Modra <amodra@gmail.com> 932 933 * elf32-hppa.c (elf32_hppa_init_stub_bfd): New function. 934 (elf32_hppa_check_relocs): Don't set dynobj. 935 (elf32_hppa_size_stubs): Test !SEC_LINKER_CREATED for stub sections. 936 (elf32_hppa_build_stubs): Likewise. 937 * elf32-hppa.h (elf32_hppa_init_stub_bfd): Declare. 938 9392016-05-11 Alan Modra <amodra@gmail.com> 940 941 PR 20060 942 * elf64-ppc.c (ppc64_elf_tls_setup): Clear forced_local. 943 * elf32-ppc.c (ppc_elf_tls_setup): Likewise. 944 9452016-05-10 Jiong Wang <jiong.wang@arm.com> 946 947 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Remove redundant 948 aarch64_tls_transition check. 949 9502016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com> 951 952 * elf32-arm.c (enum elf32_arm_stub_type): New max_stub_type 953 enumerator. 954 (arm_stub_sym_claimed): New function. 955 (elf32_arm_create_stub): Use veneered symbol name and section if 956 veneer needs to claim its symbol, and keep logic unchanged otherwise. 957 (arm_stub_claim_sym): New function. 958 (arm_map_one_stub): Call arm_stub_claim_sym if veneer needs to claim 959 veneered symbol, otherwise create local symbol as before. 960 9612016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com> 962 963 * elf32-arm.c (elf32_arm_size_stubs): Use new macros 964 ARM_GET_SYM_BRANCH_TYPE and ARM_SET_SYM_BRANCH_TYPE to respectively get 965 and set branch type of a symbol. 966 (bfd_elf32_arm_process_before_allocation): Likewise. 967 (elf32_arm_relocate_section): Likewise and fix identation along the 968 way. 969 (allocate_dynrelocs_for_symbol): Likewise. 970 (elf32_arm_finish_dynamic_symbol): Likewise. 971 (elf32_arm_swap_symbol_in): Likewise. 972 (elf32_arm_swap_symbol_out): Likewise. 973 9742016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com> 975 976 * bfd-in.h (elf32_arm_size_stubs): Add an output section parameter. 977 * bfd-in2.h: Regenerated. 978 * elf32-arm.c (struct elf32_arm_link_hash_table): Add an output section 979 parameter to add_stub_section callback. 980 (elf32_arm_create_or_find_stub_sec): Get output section from link_sec 981 and pass it down to add_stub_section. 982 (elf32_arm_add_stub): Set section to stub_sec if NULL before using it 983 for error message. 984 (elf32_arm_size_stubs): Add output section parameter to 985 add_stub_section function pointer parameter. 986 9872016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com> 988 989 * elf32-arm.c (elf32_arm_create_stub): New function. 990 (elf32_arm_size_stubs): Use elf32_arm_create_stub for stub creation. 991 9922016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com> 993 994 * elf32-arm.c (enum elf32_arm_stub_type): Delete 995 arm_stub_a8_veneer_lwm enumerator. 996 (arm_stub_a8_veneer_lwm): New unsigned constant to replace 997 aforementioned enumerator. 998 (struct elf32_arm_stub_hash_entry): Delete target_addend 999 field and add source_value. 1000 (struct a8_erratum_fix): Delete addend field and add target_offset. 1001 (stub_hash_newfunc): Initialize source_value field amd remove 1002 initialization for target_addend. 1003 (arm_build_one_stub): Stop special casing Thumb relocations: promote 1004 the else to being always executed, moving the 1005 arm_stub_a8_veneer_b_cond specific code in it. Remove 1006 stub_entry->target_addend from points_to computation. 1007 (cortex_a8_erratum_scan): Store in a8_erratum_fix structure the offset 1008 to target symbol from start of section rather than the offset from the 1009 stub address. 1010 (elf32_arm_size_stubs): Set stub_entry's source_value and target_value 1011 fields from struct a8_erratum_fix's offset and target_offset 1012 respectively. 1013 (make_branch_to_a8_stub): Rename target variable to loc. Compute 1014 veneered_insn_loc and loc using stub_entry's source_value. 1015 10162016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com> 1017 1018 (elf32_arm_merge_eabi_attributes): Add merging logic for 1019 Tag_DSP_extension. 1020 10212016-05-10 Pip Cet <pipcet@gmail.com> 1022 1023 PR ld/20059 1024 * elfxx-target.h (bfd_elfNN_bfd_copy_link_hash_symbol_type): 1025 Define as _bfd_generic_copy_link_hash_symbol_type when using 1026 generic hash table. 1027 10282016-05-09 Nick Clifton <nickc@redhat.com> 1029 1030 PR binutils/20063 1031 * elf.c (bfd_elf_get_elf_syms): Check for out of range sh_link 1032 field before accessing sections array. 1033 10342016-05-09 Christophe Monat <christophe.monat@st.com> 1035 1036 PR ld/20030 1037 * elf32-arm.c (is_thumb2_vldm): Account for T1 (DP) encoding. 1038 (stm32l4xx_need_create_replacing_stub): Rename ambiguous nb_regs 1039 to nb_words. 1040 (create_instruction_vldmia): Add is_dp to disambiguate SP/DP 1041 encoding. 1042 (create_instruction_vldmdb): Likewise. 1043 (stm32l4xx_create_replacing_stub_vldm): is_dp detects DP encoding, 1044 uses it to re-encode. 1045 10462016-05-09 Nick Clifton <nickc@redhat.com> 1047 1048 PR 19938 1049 * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Revert accidental 1050 commit. 1051 10522016-05-09 Alan Modra <amodra@gmail.com> 1053 1054 * elf64-ppc.c (ppc64_elf_init_stub_bfd): Remove redundant NULL check. 1055 10562016-05-06 H.J. Lu <hongjiu.lu@intel.com> 1057 1058 PR ld/17550 1059 * elf-bfd.h (elf_link_hash_entry): Update comments for indx, 1060 documenting that indx == -3 if symbol is defined in a discarded 1061 section. 1062 * elflink.c (elf_link_add_object_symbols): Set indx to -3 if 1063 symbol is defined in a discarded section. 1064 (elf_link_output_extsym): Strip a global symbol defined in a 1065 discarded section. 1066 10672016-05-06 H.J. Lu <hongjiu.lu@intel.com> 1068 1069 * elf32-i386.c (elf_backend_add_symbol_hook): Defined for Intel 1070 MCU. 1071 10722016-05-05 H.J. Lu <hongjiu.lu@intel.com> 1073 1074 * elf32-i386.c (elf_i386_convert_load): Extract the GOT load 1075 conversion to ... 1076 (elf_i386_convert_load_reloc): This. New function. 1077 * elf64-x86-64.c (elf_x86_64_convert_load): Extract the GOT load 1078 conversion to ... 1079 (elf_x86_64_convert_load_reloc): This. New function. 1080 10812016-05-05 H.J. Lu <hongjiu.lu@intel.com> 1082 1083 * elf32-i386.c (elf_i386_check_tls_transition): Remove abfd. 1084 Don't check if contents == NULL. 1085 (elf_i386_tls_transition): Add from_relocate_section. Check 1086 from_relocate_section instead of contents != NULL. Update 1087 elf_i386_check_tls_transition call. 1088 (elf_i386_check_relocs): Cache the section contents if 1089 keep_memory is FALSE. Pass FALSE as from_relocate_section to 1090 elf_i386_tls_transition. 1091 (elf_i386_relocate_section): Pass TRUE as from_relocate_section 1092 to elf_i386_tls_transition. 1093 (elf_backend_caches_rawsize): New. 1094 * elf64-x86-64.c (elf_x86_64_check_tls_transition): Don't check 1095 if contents == NULL. 1096 (elf_x86_64_tls_transition): Add from_relocate_section. Check 1097 from_relocate_section instead of contents != NULL. 1098 (elf_x86_64_check_relocs): Cache the section contents if 1099 keep_memory is FALSE. Pass FALSE as from_relocate_section to 1100 elf_x86_64_tls_transition. 1101 (elf_x86_64_relocate_section): Pass TRUE as from_relocate_section 1102 to elf_x86_64_tls_transition. 1103 (elf_backend_caches_rawsize): New. 1104 11052016-05-03 Maciej W. Rozycki <macro@imgtec.com> 1106 1107 PR 10549 1108 * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Handle 1109 STB_GNU_UNIQUE. 1110 11112016-05-03 Jiong Wang <jiong.wang@arm.com> 1112 1113 * bfd-in.h (bfd_elf64_aarch64_set_options): Update prototype. 1114 * bfd-in2.h (bfd_elf64_aarch64_set_options): Likewise. 1115 * elfnn-aarch64.c (bfd_elfNN_aarch64_set_options): Initialize 1116 no_apply_dynamic_relocs. 1117 (elfNN_aarch64_final_link_relocate): Apply absolute relocations even though 1118 dynamic relocations generated. 1119 11202016-04-29 H.J. Lu <hongjiu.lu@intel.com> 1121 1122 * elf32-i386.c (elf_i386_size_dynamic_sections): Move interp 1123 setting to ... 1124 (elf_i386_create_dynamic_sections): Here. 1125 * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Move 1126 interp setting to ... 1127 (elf_x86_64_create_dynamic_sections): Here. 1128 11292016-04-29 H.J. Lu <hongjiu.lu@intel.com> 1130 1131 * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take GOT_RELOC 1132 and replace (EH)->has_got_reloc with GOT_RELOC. 1133 (elf_i386_fixup_symbol): Pass has_got_reloc to 1134 UNDEFINED_WEAK_RESOLVED_TO_ZERO. 1135 (elf_i386_allocate_dynrelocs): Likewise. 1136 (elf_i386_relocate_section): Likewise. 1137 (elf_i386_finish_dynamic_symbol): Likewise. 1138 (elf_i386_convert_load): Pass TRUE to 1139 UNDEFINED_WEAK_RESOLVED_TO_ZERO. 1140 * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take 1141 GOT_RELOC and replace (EH)->has_got_reloc with GOT_RELOC. 1142 (elf_x86_64_fixup_symbol): Pass has_got_reloc to 1143 UNDEFINED_WEAK_RESOLVED_TO_ZERO. 1144 (elf_x86_64_allocate_dynrelocs): Likewise. 1145 (elf_x86_64_relocate_section): Likewise. 1146 (elf_x86_64_finish_dynamic_symbol): Likewise. 1147 (elf_x86_64_convert_load): Pass TRUE to 1148 UNDEFINED_WEAK_RESOLVED_TO_ZERO. 1149 11502016-04-29 H.J. Lu <hongjiu.lu@intel.com> 1151 1152 * elf32-i386.c (check_relocs_failed): New. 1153 (elf_i386_check_relocs): Set check_relocs_failed on error. 1154 (elf_i386_relocate_section): Skip if check_relocs failed. 1155 11562016-04-29 H.J. Lu <hongjiu.lu@intel.com> 1157 1158 * elf64-x86-64.c (elf_x86_64_check_relocs): Set 1159 check_relocs_failed on error. 1160 11612016-04-29 Nick Clifton <nickc@redhat.com> 1162 1163 PR 19938 1164 * elf-bfd.h (struct elf_backend_data): Rename 1165 elf_backend_set_special_section_info_and_link to 1166 elf_backend_copy_special_section_fields. 1167 * elfxx-target.h: Likewise. 1168 * elf.c (section_match): Ignore the SHF_INFO_LINK flag when 1169 comparing section flags. 1170 (copy_special_section_fields): New function. 1171 (_bfd_elf_copy_private_bfd_data): Copy the EI_ABIVERSION field. 1172 Perform two scans over special sections. The first one looks for 1173 a direct mapping between the output section and an input section. 1174 The second scan looks for a possible match based upon section 1175 characteristics. 1176 * elf32-arm.c (elf32_arm_copy_special_section_fields): New 1177 function. Handle setting the sh_link field of SHT_ARM_EXIDX 1178 sections. 1179 * elf32-i386.c (elf32_i386_set_special_info_link): Rename to 1180 elf32_i386_copy_solaris_special_section_fields. 1181 * elf32-sparc.c (elf32_sparc_set_special_section_info_link): 1182 Rename to elf32_sparc_copy_solaris_special_section_fields. 1183 * elf64-x86-64.c (elf64_x86_64_set_special_info_link): Rename to 1184 elf64_x86_64_copy_solaris_special_section_fields. 1185 11862016-04-28 Nick Clifton <nickc@redhat.com> 1187 1188 * po/zh_CN.po: Updated Chinese (simplified) translation. 1189 11902016-04-27 H.J. Lu <hongjiu.lu@intel.com> 1191 1192 PR ld/20006 1193 * elf64-x86-64.c (elf_x86_64_convert_load): Skip debug sections 1194 when estimating distances between output sections. 1195 11962016-04-27 Alan Modra <amodra@gmail.com> 1197 1198 * elflink.c (_bfd_elf_is_start_stop): New function. 1199 (_bfd_elf_gc_mark_rsec): Use it. 1200 * elf-bfd.h (_bfd_elf_is_start_stop): Declare. 1201 12022016-04-26 Trevor Saunders <tbsaunde+binutils@tbsaunde.org> 1203 1204 * elf32-rx.c (rx_set_section_contents): Avoid arithmetic on void *. 1205 * mmo.c (mmo_get_section_contents): Likewise. 1206 (mmo_set_section_contents): Likewise. 1207 12082016-04-26 H.J. Lu <hongjiu.lu@intel.com> 1209 1210 * elf-bfd.h (elf_link_hash_table): Update comments for 1211 dynsymcount. 1212 * elflink.c (_bfd_elf_link_renumber_dynsyms): Always count for 1213 the unused NULL entry at the head of dynamic symbol table. 1214 (bfd_elf_size_dynsym_hash_dynstr): Remove dynsymcount != 0 1215 checks. 1216 12172016-04-21 H.J. Lu <hongjiu.lu@intel.com> 1218 1219 * elflink.c (_bfd_elf_link_create_dynstrtab): Exclude linker 1220 created file from dynobj. 1221 12222016-04-21 H.J. Lu <hongjiu.lu@intel.com> 1223 1224 * elflink.c (_bfd_elf_link_create_dynstrtab): Set dynobj to a 1225 normal input file if possible. 1226 12272016-04-21 Nick Clifton <nickc@redhat.com> 1228 1229 * aout-adobe.c: Use _bfd_generic_link_check_relocs. 1230 * aout-target.h: Likewise. 1231 * aout-tic30.c: Likewise. 1232 * binary.c: Likewise. 1233 * bout.c: Likewise. 1234 * coff-alpha.c: Likewise. 1235 * coff-rs6000.c: Likewise. 1236 * coff64-rs6000.c: Likewise. 1237 * coffcode.h: Likewise. 1238 * i386msdos.c: Likewise. 1239 * i386os9k.c: Likewise. 1240 * ieee.c: Likewise. 1241 * ihex.c: Likewise. 1242 * libbfd-in.h: Likewise. 1243 * libecoff.h: Likewise. 1244 * mach-o-target.c: Likewise. 1245 * mmo.c: Likewise. 1246 * nlm-target.h: Likewise. 1247 * oasys.c: Likewise. 1248 * pef.c: Likewise. 1249 * plugin.c: Likewise. 1250 * ppcboot.c: Likewise. 1251 * som.c: Likewise. 1252 * srec.c: Likewise. 1253 * tekhex.c: Likewise. 1254 * versados.c: Likewise. 1255 * vms-alpha.c: Likewise. 1256 * xsym.c: Likewise. 1257 * elfxx-target.h: Use _bfd_elf_link_check_relocs. 1258 * linker.c (bfd_link_check_relocs): New function. 1259 (_bfd_generic_link_check_relocs): New function. 1260 * targets.c (BFD_JUMP_TABLE_LINK): Add initialization of 1261 _bfd_link_check_relocs field. 1262 (struct bfd_target)L Add _bfd_link_check_relocs field. 1263 * bfd-in2.h: Regenerate. 1264 * libbfd.h: Regenerate. 1265 12662016-04-20 H.J. Lu <hongjiu.lu@intel.com> 1267 1268 * elf32-i386.c (elf_i386_gc_sweep_hook): Removed. 1269 (elf_backend_gc_sweep_hook): Likewise. 1270 * elf64-x86-64.c (elf_x86_64_gc_sweep_hook): Likewise. 1271 (elf_backend_gc_sweep_hook): Likewise. 1272 12732016-04-20 H.J. Lu <hongjiu.lu@intel.com> 1274 1275 * elflink.c (_bfd_elf_link_check_relocs): Don't check relocations 1276 in excluded sections 1277 12782016-04-20 H.J. Lu <hongjiu.lu@intel.com> 1279 1280 PR ld/19969 1281 * elf64-x86-64.c (check_relocs_failed): New. 1282 (elf_x86_64_need_pic): Moved before elf_x86_64_check_relocs. 1283 Support relocation agaist local symbol. Set check_relocs_failed. 1284 (elf_x86_64_check_relocs): Use elf_x86_64_need_pic. Check 1285 R_X86_64_32 relocation overflow. 1286 (elf_x86_64_relocate_section): Skip if check_relocs failed. 1287 Update one elf_x86_64_need_pic and remove one elf_x86_64_need_pic. 1288 12892016-04-20 H.J. Lu <hongjiu.lu@intel.com> 1290 1291 * elf32-i386.c (elf_i386_check_relocs): Call 1292 _bfd_elf_create_ifunc_sections only for STT_GNU_IFUNC symbol. 1293 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise. 1294 12952016-04-20 H.J. Lu <hongjiu.lu@intel.com> 1296 1297 * elf-bfd.h (_bfd_elf_link_check_relocs): New. 1298 * elflink.c (_bfd_elf_link_check_relocs): New function. 1299 (elf_link_add_object_symbols): Call _bfd_elf_link_check_relocs 1300 if check_relocs_after_open_input is FALSE. 1301 13022016-04-20 Trevor Saunders <tbsaunde+binutils@tbsaunde.org> 1303 1304 * cache.c: Update old style function definitions. 1305 * elf32-m68k.c: Likewise. 1306 * elf64-mmix.c: Likewise. 1307 * stab-syms.c: Likewise. 1308 13092016-04-20 Trevor Saunders <tbsaunde+binutils@tbsaunde.org> 1310 1311 * elf32-arm.c (put_thumb2_insn): Change argument type to bfd_byte *. 1312 13132016-04-15 H.J. Lu <hongjiu.lu@intel.com> 1314 1315 * Makefile.in: Regenerated with automake 1.11.6. 1316 * aclocal.m4: Likewise. 1317 * doc/Makefile.in: Likewise. 1318 13192016-04-14 Andrew Burgess <andrew.burgess@embecosm.com> 1320 1321 * reloc.c: Add BFD_RELOC_ARC_NPS_CMEM16 entry. 1322 * bfd-in2.h: Regenerate. 1323 * libbfd.h: Regenerate. 1324 * elf32-arc.c: Add 'opcode/arc.h' include. 1325 (struct arc_relocation_data): Add symbol_name. 1326 (arc_special_overflow_checks): New function. 1327 (arc_do_relocation): Use arc_special_overflow_checks, reindent as 1328 required, add an extra comment. 1329 (elf_arc_relocate_section): Setup symbol_name in reloc_data. 1330 13312016-04-14 Andrew Burgess <andrew.burgess@embecosm.com> 1332 1333 * elf32-arc.c (tls_got_entries): Add 'TLS_GOT_' prefix to all 1334 entries. 1335 (elf_arc_relocate_section): Update enum uses. 1336 (elf_arc_check_relocs): Likewise. 1337 (elf_arc_finish_dynamic_symbol): Likewise. 1338 13392016-04-14 H.J. Lu <hongjiu.lu@intel.com> 1340 1341 * elf.c (_bfd_elf_copy_private_bfd_data): Replace "link" with 1342 "sh_link". 1343 13442016-04-14 Nick Clifton <nickc@redhat.com> 1345 1346 PR target/19938 1347 * elf-bbfd.h (struct elf_backend_data): New field: 1348 elf_strtab_flags. 1349 New field: elf_backend_set_special_section_info_and_link 1350 * elfxx-target.h (elf_backend_strtab_flags): Define if not already 1351 defined. 1352 (elf_backend_set_special_section_info_and_link): Define if not 1353 already defined. 1354 (elfNN_bed): Use elf_backend_set_special_section_info_and_link and 1355 elf_backend_strtab_flags macros to initialise fields in structure. 1356 * elf.c (_bfd_elf_make_section_from_shdr): Check for SHF_STRINGS 1357 being set even if SHF_MERGE is not set. 1358 (elf_fake_sections): Likewise. 1359 (section_match): New function. Matches two ELF sections based 1360 upon fixed characteristics. 1361 (find_link): New function. Locates a section in a BFD that 1362 matches a section in a different BFD. 1363 (_bfd_elf_copy_private_bfd_data): Copy the sh_info and sh_link 1364 fields of reserved sections. 1365 (bfd_elf_compute_section_file_positions): Set the flags for the 1366 .shstrtab section based upon the elf_strtab_flags field in the 1367 elf_backend_data structure. 1368 (swap_out_syms): Likewise for the .strtab section. 1369 * elflink.c (bfd_elf_final_link): Set the flags for the 1370 .strtab section based upon the elf_strtab_flags field in the 1371 elf_backend_data structure. 1372 * elf32-i386.c (elf32_i386_set_special_info_link): New function. 1373 (elf_backend_strtab_flags): Set to SHF_STRINGS for Solaris 1374 targets. 1375 (elf_backend_set_special_section_info_and_link): Define for 1376 Solaris targets. 1377 * elf32-sparc.c: Likewise. 1378 * elf64-x86-64.c: Likewise. 1379 13802016-04-11 H.J. Lu <hongjiu.lu@intel.com> 1381 1382 PR ld/19939 1383 * elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add a pointer 1384 to bfd_boolean. 1385 * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Updated. 1386 Set *readonly_dynrelocs_against_ifunc_p to TRUE if dynamic reloc 1387 applies to read-only section. 1388 * elf32-i386.c (elf_i386_link_hash_table): Add 1389 readonly_dynrelocs_against_ifunc. 1390 (elf_i386_allocate_dynrelocs): Updated. 1391 (elf_i386_size_dynamic_sections): Issue an error for read-only 1392 segment with dynamic IFUNC relocations only if 1393 readonly_dynrelocs_against_ifunc is TRUE. 1394 * elf64-x86-64.c (elf_x86_64_link_hash_table): Add 1395 readonly_dynrelocs_against_ifunc. 1396 (elf_x86_64_allocate_dynrelocs): Updated. 1397 (elf_x86_64_size_dynamic_sections): Issue an error for read-only 1398 segment with dynamic IFUNC relocations only if 1399 readonly_dynrelocs_against_ifunc is TRUE. 1400 * elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs): 1401 Updated. 1402 14032016-04-06 Thomas Preud'homme <thomas.preudhomme@arm.com> 1404 1405 * elf32-arm.c (elf32_arm_size_stubs): Move error_ret_free_local to be 1406 a fall through from error_ret_free_internal. Free local_syms in 1407 error_ret_free_local if allocated from bfd_elf_get_elf_syms (). 1408 14092016-04-05 Cupertino Miranda <cmiranda@synopsys.com> 1410 1411 * elf32-arc.c (plt_do_relocs_for_symbol): Changed. 1412 (relocate_plt_for_entry): Likewise. 1413 14142016-04-05 Cupertino Miranda <cmiranda@synopsys.com> 1415 1416 * elf32-arc.c (elf_arc_check_relocs): Changed 1417 14182016-04-05 Cupertino Miranda <cmiranda@synopsys.com> 1419 1420 * elf32-arc.c (name_for_global_symbol): Changed assert. 1421 (get_replace_function): Created.: 1422 (struct arc_relocation_data): Changed to signed types. 1423 (defines S, L, P, PDATA): Casted to signed type. 1424 (defines SECTSTART, _SDA_BASE_, TLS_REL): Likewise. 1425 (PRINT_DEBUG_RELOC_INFO_BEFORE): Changed. 1426 (arc_do_relocation): Changed. 1427 14282016-04-05 Cupertino Miranda <cmiranda@synopsys.com> 1429 1430 * elf32-arc.c (name_for_global_symbol): Added assert to check for 1431 symbol index. 1432 (elf_arc_relocate_section): Added and changed asserts, validating 1433 the synamic symbol index. 1434 (elf_arc_finish_dynamic_symbol): Do not fill the dynamic 1435 relocation if symbol has dynindx set to -1. 1436 14372016-04-05 Maciej W. Rozycki <macro@imgtec.com> 1438 1439 * elflink.c (elf_link_add_object_symbols): Always turn hidden 1440 and internal symbols which have a dynamic index into local 1441 ones. 1442 14432016-04-04 Nick Clifton <nickc@redhat.com> 1444 1445 PR 19872 1446 * dwarf2.c (parse_comp_unit): Skip warning about unrecognised 1447 version number if the version is zero. 1448 14492016-04-01 Alan Modra <amodra@gmail.com> 1450 1451 PR 19886 1452 * elflink.c (on_needed_list): Recursively check needed status. 1453 (elf_link_add_object_symbols): Adjust. 1454 14552016-03-30 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> 1456 1457 * elf32-avr.c (avr_elf32_load_records_from_section): Free 1458 internal_relocs only if they aren't cached. 1459 14602016-03-29 Nick Clifton <nickc@redhat.com> 1461 1462 PR 17334 1463 * elf32-bfin.c (elf32_bfinfdpic_finish_dynamic_sections): Relax 1464 assertion on the size of the got section to allow it to be bigger 1465 than the number of relocs. 1466 14672016-03-29 Toni Spets <toni.spets@iki.fi> 1468 1469 PR 19878 1470 * coffcode.h (coff_write_object_contents): Revert accidental 1471 2014-11-10 change. 1472 14732016-03-22 Alan Modra <amodra@gmail.com> 1474 1475 PR 19850 1476 * dwarf2.c (read_attribute_value): Skip info_ptr check for 1477 DW_FORM_flag_present. 1478 14792016-03-22 Nick Clifton <nickc@redhat.com> 1480 1481 * cpu-v850_rh850.c (arch_info_struct): Restore v850-rh850 as an 1482 architecture name for backwards compatibility. 1483 1484 * peXXigen.c (_bfd_XXi_write_codeview_record): Fix possible 1485 unbounded stack use. 1486 1487 * warning.m4 (GCC_WARN_CFLAGS): Only add -Wstack-usage if using a 1488 sufficiently recent version of GCC. 1489 * configure: Regenerate. 1490 14912016-03-22 Alan Modra <amodra@gmail.com> 1492 1493 PR 19851 1494 * plugin.c (try_load_plugin): Avoid -Wstack-usage warning. 1495 14962016-03-21 Andrew Burgess <andrew.burgess@embecosm.com> 1497 1498 * archures.c (bfd_mach_arc_nps400): Define. 1499 * bfd-in2.h: Regenerate. 1500 * cpu-arc.c (arch_info_struct): New entry for nps400, renumber 1501 some existing entries to make space. 1502 * elf32-arc.c (arc_elf_object_p): Add nps400 case. 1503 (arc_elf_final_write_processing): Likewise. 1504 15052016-03-21 Andrew Burgess <andrew.burgess@embecosm.com> 1506 1507 * elf32-arc.c (arc_elf_print_private_bfd_data): Remove use of 1508 EF_ARC_CPU_GENERIC. 1509 (arc_elf_final_write_processing): Don't bother setting cpu field 1510 in e_flags, this will have been set elsewhere. 1511 15122016-03-21 Andrew Burgess <andrew.burgess@embecosm.com> 1513 1514 * elf32-arc.c (arc_elf_final_write_processing): Switch to using 1515 EF_ARC_MACH_MSK. 1516 15172016-03-21 Nick Clifton <nickc@redhat.com> 1518 1519 * warning.m4 (GCC_WARN_CFLAGS): Add -Wstack-usage=262144 1520 * configure: Regenerate. 1521 * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Replace use of 1522 alloca with call to xmalloc. 1523 * elf32-nds32.c: Likewise. 1524 * elf64-hppa.c: Likewise. 1525 * elfxx-mips.c: Likewise. 1526 * pef.c: Likewise. 1527 * pei-x86_64.c: Likewise. 1528 * som.c: Likewise. 1529 * xsym.c: Likewise. 1530 15312016-03-15 H.J. Lu <hongjiu.lu@intel.com> 1532 1533 PR ld/19827 1534 * elf32-i386.c (elf_i386_check_relocs): Bind defined symbol 1535 locally in PIE. 1536 (elf_i386_relocate_section): Likewise. 1537 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise. 1538 (elf_x86_64_relocate_section): Likewise. 1539 15402016-03-15 H.J. Lu <hongjiu.lu@intel.com> 1541 1542 PR ld/19807 1543 * elf64-x86-64.c (elf_x86_64_relocate_section): Check 1544 no_reloc_overflow_check to diable R_X86_64_32/R_X86_64_32S 1545 relocation overflow check. 1546 15472016-03-14 H.J. Lu <hongjiu.lu@intel.com> 1548 1549 * bfd-in2.h: Regenerated. 1550 15512016-03-11 Dan Gissel <dgisselq@ieee.org> 1552 1553 PR 19713 1554 * elf.c (_bfd_elf_section_offset): Ensure that the returned offset 1555 uses bytes not octets. 1556 * elflink.c (resolve_section): Likewise. 1557 Add a bfd parameter. 1558 (eval_section): Pass the input_bfd to resolve_section. 1559 (bfd_elf_perform_complex_relocation): Convert byte offset to 1560 octets before read and writing values. 1561 (elf_link_input_bfd): Add byte to octet conversions. 1562 (elf_reloc_link_order): Likewise. 1563 (elf_fixup_link_order): Likewise. 1564 (bfd_elf_final_link): Likewise. 1565 * reloc.c (_bfd_final_link_relocate): Likewise. 1566 * syms.c (_bfd_stab_section_find_nearest_line): Likewise. 1567 15682016-03-10 Nick Clifton <nickc@redhat.com> 1569 1570 * config.bfd: Mark the i370 target as obsolete. 1571 15722016-03-09 Pedro Alves <palves@redhat.com> 1573 1574 * cpu-v850.c (N): Append ":old-gcc-abi" instead of " (using old 1575 gcc ABI)" to printable name. 1576 * cpu-v850_rh850.c (bfd_v850_rh850_arch): Use "v850:rh850" instead 1577 of "v850-rh850" as printable name. 1578 15792016-03-09 Leon Winter <winter-gcc@bfw-online.de> 1580 1581 PR ld/19623 1582 * cofflink.c (_bfd_coff_generic_relocate_section): Do not apply 1583 relocations against absolute symbols. 1584 15852016-03-09 Alan Modra <amodra@gmail.com> 1586 1587 PR binutils/19775 1588 * coff-alpha.c (alpha_ecoff_openr_next_archived_file): Allow zero 1589 length elements in the archive. 1590 15912016-03-08 H.J. Lu <hongjiu.lu@intel.com> 1592 1593 PR ld/19789 1594 * elflink.c (elf_link_add_object_symbols): Create dynamic sections 1595 for -E/--dynamic-list only when not relocatable. 1596 15972016-03-08 H.J. Lu <hongjiu.lu@intel.com> 1598 1599 PR ld/19784 1600 * elf32-i386.c (elf_i386_check_relocs): Increment PLT reference 1601 count for locally defined local IFUNC symbols in shared object. 1602 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise. 1603 16042016-03-08 H.J. Lu <hongjiu.lu@intel.com> 1605 1606 PR ld/19579 1607 * elflink.c (_bfd_elf_merge_symbol): Group common symbol checking 1608 together. 1609 16102016-03-08 Cupertino Miranda <Cupertino.Miranda@synopsys.com> 1611 Andrew Burgess <andrew.burgess@embecosm.com> 1612 1613 * elf32-arc.c (arc_bfd_get_32): Becomes an alias for bfd_get_32. 1614 (arc_bfd_put_32): Becomes an alias for bfd_put_32. 1615 (arc_elf_howto_init): Added assert to validate relocations. 1616 (get_middle_endian_relocation): Delete. 1617 (middle_endian_convert): New function. 1618 (ME): Redefine, now does nothing. 1619 (IS_ME): New define. 1620 (arc_do_relocation): Extend the attached 'ARC_RELOC_HOWTO' 1621 definition to call middle_endian_convert. Add a new local 1622 variable and make use of this throughout. Added call to 1623 arc_bfd_get_8 and arc_bfd_put_8 for 8 bit relocations. 1624 16252016-03-07 Nick Clifton <nickc@redhat.com> 1626 1627 PR binutils/19775 1628 * archive.c (bfd_generic_openr_next_archived_file): Allow zero 1629 length elements in the archive. 1630 16312016-03-07 Jiong Wang <jiong.wang@arm.com> 1632 1633 * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Always create .got 1634 section if the symbol "_GLOBAL_OFFSET_TABLE_" is referenced. 1635 16362016-03-04 H.J. Lu <hongjiu.lu@intel.com> 1637 1638 PR ld/19579 1639 * elflink.c (_bfd_elf_merge_symbol): Treat common symbol in 1640 executable as definition if the new definition comes from a 1641 shared library. 1642 16432016-03-02 Alan Modra <amodra@gmail.com> 1644 1645 * Makefile.in: Regenerate. 1646 * po/SRC-POTFILES.in: Regenerate. 1647 16482016-02-29 Cupertino Miranda <cmiranda@synopsys.com> 1649 1650 * elf32-arc.c (elf_arc_relocate_section): Added rules to fix the 1651 relocation addend when sections get merged. 1652 16532016-02-29 Cupertino Miranda <Cupertino.Miranda@synopsys.com> 1654 1655 * elf32-arc.c (arc_elf_final_write_processing): Add condition to 1656 the flag change. 1657 (elf_arc_relocate_section): Fixes and conditions to support PIE. 1658 Assert for code sections dynamic relocs. 1659 16602016-02-26 Renlin Li <renlin.li@arm.com> 1661 1662 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Fix signed overflow 1663 check for MOVW_SABS_G0, MOVW_SABS_G1, MOVW_SABS_G2. 1664 16652016-02-26 H.J. Lu <hongjiu.lu@intel.com> 1666 1667 PR ld/19609 1668 * elf32-i386.c (elf_i386_convert_load): Convert to R_386_32 for 1669 load with locally bound symbols if PIC is false or there is no 1670 base register. Optimize branch to 0 if PIC is false. 1671 (elf_i386_relocate_section): Don't generate dynamic relocations 1672 against undefined weak symbols if PIC is false. 1673 * elf64-x86-64.c (elf_x86_64_convert_load): Disable optimization 1674 if we can't estimate relocation overflow with --no-relax. 1675 Convert to R_X86_64_32S/R_X86_64_32 for load with locally bound 1676 symbols if PIC is false. Optimize branch to 0 if PIC is false. 1677 (elf_x86_64_relocate_section): Don't generate dynamic relocations 1678 against undefined weak symbols if PIC is false. 1679 16802016-02-26 H.J. Lu <hongjiu.lu@intel.com> 1681 1682 PR ld/19645 1683 * bfd.c (bfd): Change flags to 20 bits. 1684 (BFD_CONVERT_ELF_COMMON): New. 1685 (BFD_USE_ELF_STT_COMMON): Likewise. 1686 (BFD_FLAGS_SAVED): Add BFD_CONVERT_ELF_COMMON and 1687 BFD_USE_ELF_STT_COMMON. 1688 (BFD_FLAGS_FOR_BFD_USE_MASK): Likewise. 1689 * configure.ac: Remove --enable-elf-stt-common. 1690 * elf.c (swap_out_syms): Choose STT_COMMON or STT_OBJECT for 1691 common symbol depending on BFD_CONVERT_ELF_COMMON and 1692 BFD_USE_ELF_STT_COMMON. 1693 * elfcode.h (elf_slurp_symbol_table): Set BSF_ELF_COMMON for 1694 STT_COMMON. 1695 * elflink.c (bfd_elf_link_mark_dynamic_symbol): Also check 1696 STT_COMMON. 1697 (elf_link_convert_common_type): New function. 1698 (elf_link_output_extsym): Choose STT_COMMON or STT_OBJECT for 1699 common symbol depending on BFD_CONVERT_ELF_COMMON and 1700 BFD_USE_ELF_STT_COMMON. Set sym.st_info after sym.st_shndx. 1701 * elfxx-target.h (TARGET_BIG_SYM): Add BFD_CONVERT_ELF_COMMON 1702 and BFD_USE_ELF_STT_COMMON to object_flags. 1703 (TARGET_LITTLE_SYM): Likewise. 1704 * syms.c (BSF_KEEP_G): Renamed to ... 1705 (BSF_ELF_COMMON): This. 1706 * bfd-in2.h: Regenerated. 1707 * config.in: Likewise. 1708 * configure: Likewise. 1709 17102016-02-26 H.J. Lu <hongjiu.lu@intel.com> 1711 1712 PR ld/19636 1713 PR ld/19704 1714 PR ld/19719 1715 * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New. 1716 (elf_i386_link_hash_entry): Add has_got_reloc and 1717 has_non_got_reloc. 1718 (elf_i386_link_hash_table): Add interp. 1719 (elf_i386_link_hash_newfunc): Initialize has_got_reloc and 1720 has_non_got_reloc. 1721 (elf_i386_copy_indirect_symbol): Copy has_got_reloc and 1722 has_non_got_reloc. 1723 (elf_i386_check_relocs): Set has_got_reloc and has_non_got_reloc. 1724 (elf_i386_fixup_symbol): New function. 1725 (elf_i386_pie_finish_undefweak_symbol): Likewise. 1726 (elf_i386_allocate_dynrelocs): Don't allocate space for dynamic 1727 relocations and discard relocations against resolved undefined 1728 weak symbols in executable. Don't make resolved undefined weak 1729 symbols in executable dynamic. Keep dynamic non-GOT/non-PLT 1730 relocation against undefined weak symbols in PIE. 1731 (elf_i386_size_dynamic_sections): Set interp to .interp section. 1732 (elf_i386_relocate_section): Don't generate dynamic relocations 1733 against resolved undefined weak symbols in PIE, except for 1734 R_386_PC32. 1735 (elf_i386_finish_dynamic_symbol): Keep PLT/GOT entries without 1736 dynamic PLT/GOT relocations for resolved undefined weak symbols. 1737 Don't generate dynamic relocation against resolved undefined weak 1738 symbol in executable. 1739 (elf_i386_finish_dynamic_sections): Call 1740 elf_i386_pie_finish_undefweak_symbol on all symbols in PIE. 1741 (elf_backend_fixup_symbol): New. 1742 * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New. 1743 (elf_x86_64_link_hash_entry): Add has_got_reloc and 1744 has_non_got_reloc. 1745 (elf_x86_64_link_hash_table): Add interp. 1746 (elf_x86_64_link_hash_newfunc): Initialize has_got_reloc and 1747 has_non_got_reloc. 1748 (elf_x86_64_copy_indirect_symbol): Copy has_got_reloc and 1749 has_non_got_reloc. 1750 (elf_x86_64_check_relocs): Set has_got_reloc and 1751 has_non_got_reloc. 1752 (elf_x86_64_fixup_symbol): New function. 1753 (elf_x86_64_pie_finish_undefweak_symbol): Likewise. 1754 (elf_x86_64_allocate_dynrelocs): Don't allocate space for dynamic 1755 relocations and discard relocations against resolved undefined 1756 weak symbols in executable. Don't make resolved undefined weak 1757 symbols in executable dynamic. 1758 (elf_x86_64_size_dynamic_sections): Set interp to .interp section. 1759 (elf_x86_64_relocate_section): Check relocation overflow for 1760 dynamic relocations against unresolved weak undefined symbols. 1761 Don't generate dynamic relocations against resolved weak 1762 undefined symbols in PIE. 1763 (elf_x86_64_finish_dynamic_symbol): Keep PLT/GOT entries without 1764 dynamic PLT/GOT relocations for resolved undefined weak symbols. 1765 Don't generate dynamic relocation against resolved undefined weak 1766 symbol in executable. 1767 (elf_x86_64_finish_dynamic_sections): Call 1768 elf_x86_64_pie_finish_undefweak_symbol on all symbols in PIE. 1769 (elf_backend_fixup_symbol): New. 1770 17712016-02-26 Alan Modra <amodra@gmail.com> 1772 1773 * elf64-ppc.c (create_linkage_sections): Create sfpr when 1774 save_restore_funcs, rest of sections when not relocatable. 1775 (ppc64_elf_init_stub_bfd): Always call create_linkage_sections. 1776 (sfpr_define): Define all symbols on emitted code. 1777 (ppc64_elf_func_desc_adjust): Adjust for sfpr now being created 1778 when relocatable. Move sfpr_define loop earlier. 1779 17802016-02-24 H.J. Lu <hongjiu.lu@intel.com> 1781 1782 * elf64-x86-64.c (elf_x86_64_need_pic): New function. 1783 (elf_x86_64_relocate_section): Use it. Replace 1784 x86_64_elf_howto_table[r_type] with howto. 1785 17862016-02-24 H.J. Lu <hongjiu.lu@intel.com> 1787 1788 PR ld/19698 1789 * elflink.c (bfd_elf_record_link_assignment): Set versioned if 1790 symbol version is unknown. 1791 17922016-02-24 H.J. Lu <hongjiu.lu@intel.com> 1793 1794 * elf32-i386.c (elf_i386_allocate_dynrelocs): Set plt_got.offset 1795 to (bfd_vma) -1 when setting needs_plt to 0. 1796 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise. 1797 17982016-02-23 H.J. Lu <hongjiu.lu@intel.com> 1799 1800 * elflink.c (bfd_elf_record_link_assignment): Check for shared 1801 library, instead of PIC, and don't check PDE when making linker 1802 assigned symbol dynamic. 1803 18042016-02-23 Faraz Shahbazker <faraz.shahbazker@imgtec.com> 1805 1806 * bfd/elfxx-mips.c (_bfd_mips_post_process_headers): Increment 1807 ABIVERSION for non-executable stack. 1808 18092016-02-23 Rich Felker <bugdal@aerifal.cx> 1810 1811 PR target/19516 1812 * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol): 1813 Always produce a RELATIVE reloc for a local symbol. 1814 18152016-02-23 Hans-Peter Nilsson <hp@axis.com> 1816 1817 Fix test-case ld-elf/pr19617b 1818 * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't 1819 discard unused non-function symbols when --dynamic-list-data. 1820 18212016-02-22 H.J. Lu <hongjiu.lu@intel.com> 1822 1823 * elflink.c (_bfd_elf_link_renumber_dynsyms): Always create the 1824 dynsym section, even if it is empty, with dynamic sections. 1825 18262016-02-22 H.J. Lu <hongjiu.lu@intel.com> 1827 1828 * syms.c: Remove BSF_COMMON from comments. 1829 * bfd-in2.h: Regenerated. 1830 18312016-02-22 Jiong Wang <jiong.wang@arm.com> 1832 1833 * elfnn-aarch64. (aarch64_type_of_stub): Remove redundation calcuation 1834 for destination. Remove useless function parameters. 1835 (elfNN_aarch64_size_stubs): Update parameters for aarch64_type_of_stub. 1836 18372016-02-19 Nick Clifton <nickc@redhat.com> 1838 1839 PR ld/19629 1840 * aoutx.h (aout_link_add_symbols): Check for out of range string 1841 table offsets. 1842 1843 PR ld/19628 1844 * reloc.c (bfd_generic_get_relocated_section_contents): Stop 1845 processing if we encounter a reloc without an associated symbol. 1846 18472016-02-18 H.J. Lu <hongjiu.lu@intel.com> 1848 1849 PR ld/19617 1850 * elflink.c (elf_link_add_object_symbols): Always create dynamic 1851 sections for -E/--dynamic-list. 1852 18532016-02-17 H.J. Lu <hongjiu.lu@intel.com> 1854 1855 * elf64-x86-64.c (elf_backend_omit_section_dynsym): New. Defined 1856 to bfd_true. 1857 18582016-02-16 Joseph Myers <joseph@codesourcery.com> 1859 1860 * plugin.c (plugin_vec): Set match priority to 255. 1861 * format.c (bfd_check_format_matches) [BFD_SUPPORTS_PLUGINS]: When 1862 matching against the plugin vector, take priority from there not 1863 from TEMP. 1864 18652016-02-15 Nick Clifton <nickc@redhat.com> 1866 1867 * elf-bfd.h (struct bfd_elf_special_section): Use unsigned values 1868 for length and type fields. Use a signed value for the 1869 suffix_length field. 1870 18712016-02-10 H.J. Lu <hongjiu.lu@intel.com> 1872 1873 PR ld/19601 1874 * elf32-i386.c (elf_i386_relocate_section): Mask off the least 1875 significant bit in GOT offset for R_386_GOT32X. 1876 18772016-02-10 Nick Clifton <nickc@redhat.com> 1878 1879 PR 19405 1880 * elf32-nios2.c (nios2_elf32_install_imm16): Allow for signed 1881 immediate values. 1882 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Limit the 1883 number of messages about FDE encoding preventing .eh_frame_hdr 1884 generation. 1885 18862016-02-09 Nick Clifton <nickc@redhat.com> 1887 1888 * oasys.c (oasys_archive_p): Fix indentation. 1889 * elf32-nds32.c (nds32_elf_relax_section): Use an unsigned 1890 constant for left shifting. 1891 1892 * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Add a more 1893 helpful warning message to explain why certain AArch64 relocs 1894 might overflow. 1895 18962016-02-05 Simon Marchi <simon.marchi@ericsson.com> 1897 1898 * pe-mips.c (coff_mips_reloc): Fix formatting. 1899 19002016-02-05 Cupertino Miranda <Cupertino.Miranda@synopsys.com> 1901 1902 * cpu-arc.c: Change default archure from bfd_mach_arc_arcv2 1903 to bfd_mach_arc_arc600. 1904 19052016-02-04 Alan Modra <amodra@gmail.com> 1906 1907 * elf64-ppc.c (ppc64_elf_relocate_section): Adjust last patch 1908 for big-endian. 1909 19102016-02-02 H.J. Lu <hongjiu.lu@intel.com> 1911 1912 PR ld/19542 1913 * elf64-x86-64.c (elf_x86_64_convert_load): Store the estimated 1914 distances in the compressed_size field of the output section. 1915 19162016-02-02 Alan Modra <amodra@gmail.com> 1917 1918 * elf64-ppc.c (ppc64_elf_relocate_section): Further restrict 1919 ELFv2 entry optimization. 1920 19212016-02-02 H.J. Lu <hongjiu.lu@intel.com> 1922 1923 PR binutils/19547 1924 * elf.c (assign_section_numbers): Clear HAS_RELOC if there are 1925 no relocations in relocatable files. 1926 19272016-02-01 H.J. Lu <hongjiu.lu@intel.com> 1928 1929 PR ld/19553 1930 * elflink.c (elf_link_add_object_symbols): Don't add DT_NEEDED 1931 if a symbol from a library loaded via DT_NEEDED doesn't match 1932 the symbol referenced by regular object. 1933 19342016-02-01 Nathaniel Smith <njs@pobox.com> 1935 1936 * peicode.h (pe_ILF_build_a_bfd): Create an import symbol for both 1937 CODE and DATA. 1938 19392016-02-01 Alan Modra <amodra@gmail.com> 1940 1941 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Don't abort on 1942 an out of range reloc_index. 1943 * elf32-i386.c (elf_i386_get_plt_sym_val): Likewise. 1944 19452016-02-01 Kamil Rytarowski <n54@gmx.com> 1946 1947 * Makefile.am (OPTIONAL_BACKENDS): Add netbsd-core.lo. 1948 (OPTIONAL_BACKENDS_CFILES): Add netbsd-core.c. 1949 * Makefile.in: Regenerated. 1950 19512016-02-01 Jan Kratochvil <jan.kratochvil@redhat.com> 1952 1953 * elf64-s390.c (elf_s390_reloc_name_lookup): Fix indentation. 1954 19552016-01-31 John David Anglin <danglin@gcc.gnu.org> 1956 1957 PR ld/19526 1958 * elf32-hppa.c (elf32_hppa_final_link): Don't sort non-regular output 1959 files. 1960 * elf64-hppa.c (elf32_hppa_final_link): Likewise. Remove retval. 1961 19622016-01-30 H.J. Lu <hongjiu.lu@intel.com> 1963 1964 PR ld/19539 1965 * elf32-i386.c (elf_i386_reloc_type_class): Check relocation 1966 against STT_GNU_IFUNC symbol only with dynamic symbols. 1967 * elf64-x86-64.c (elf_x86_64_reloc_type_class): Likewise. 1968 19692016-01-28 H.J. Lu <hongjiu.lu@intel.com> 1970 1971 PR binutils/19523 1972 * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Set BFD_DECOMPRESS to 1973 decompress debug sections. 1974 19752016-01-25 Maciej W. Rozycki <macro@imgtec.com> 1976 1977 * elf32-arc.c (elf_arc_finish_dynamic_symbol): Rename `index' to 1978 `dynindx'. 1979 19802016-01-25 Nick Clifton <nickc@redhat.com> 1981 1982 PR target/19435 1983 * mach-o.c (bfd_mach_o_close_and_cleanup): Suppress code to free 1984 dsym filename buffer. 1985 19862016-01-24 Maciej W. Rozycki <macro@imgtec.com> 1987 1988 * elfxx-mips.c (BZ16_REG_FIELD): Simplify calculation. 1989 19902016-01-24 Maciej W. Rozycki <macro@imgtec.com> 1991 1992 * elfxx-mips.c (BZ16_REG): Correct calculation. 1993 19942016-01-21 Nick Clifton <nickc@redhat.com> 1995 1996 * elf32-arc.c (ADD_RELA): Fix compile time warning errors by 1997 changing the type of _loc to be bfd_byte *. 1998 (elf_arc_finish_dynamic_symbol): Likewise. 1999 20002016-01-21 Nick Clifton <nickc@redhat.com> 2001 2002 PR ld/19455 2003 * elf32-arm.c (elf32_arm_create_dynamic_sections): Set the ELF 2004 class of the linker stub bfd. 2005 (elf32_arm_check_relocs): Skip check for pic format after 2006 processing a vxWorks R_ARM_ABS12 reloc. 2007 * elflink.c (bfd_elf_final_link): Check for ELFCLASSNONE when 2008 reporting a class mismatch. 2009 20102016-01-21 Jiong Wang <jiong.wang@arm.com> 2011 2012 * elfnn-aarch64.c (aarch64_type_of_stub): Allow insert long branch 2013 veneer for sym_sec != input_sec. 2014 (elfNN_aarch64_size_stub): Support STT_SECTION symbol. 2015 (elfNN_aarch64_final_link_relocate): Take rela addend into account when 2016 calculation destination. 2017 20182016-01-21 Alan Modra <amodra@gmail.com> 2019 2020 * elf-linux-core.h (swap_linux_prpsinfo32_out): New function. 2021 (swap_linux_prpsinfo64_out): New function. 2022 (LINUX_PRPSINFO32_SWAP_FIELDS): Delete. 2023 (LINUX_PRPSINFO64_SWAP_FIELDS): Delete. 2024 * elf.c (elfcore_write_linux_prpsinfo32): Adjust. Don't memset. 2025 (elfcore_write_linux_prpsinfo64): Likewise. 2026 * elf32-ppc.c (swap_ppc_linux_prpsinfo32_out): New function. 2027 (PPC_LINUX_PRPSINFO32_SWAP_FIELDS): Delete. 2028 (elfcore_write_ppc_linux_prpsinfo32): Adjust. Don't memset. 2029 20302016-01-21 Alan Modra <amodra@gmail.com> 2031 2032 * elf-linux-core.h: Rename from elf-linux-psinfo.h. 2033 * elf.c: Adjust #include. 2034 * elf32-ppc.c: Don't #include elf-linux-psinfo.h 2035 * Makefile.am (SOURCE_HFILES): Update. 2036 * Makefile.in: Regenerate. 2037 * po/SRC-PORFILES.in: Regenerate. 2038 20392016-01-21 Alan Modra <amodra@gmail.com> 2040 2041 * configure.ac: Move corefile selection later in file. Move 2042 tdefaults code immediately after other target vector code. 2043 * configure: Regenerate. 2044 20452016-01-20 Mickael Guene <mickael.guene@st.com> 2046 2047 * elf32-arm.c (elf32_arm_special_sections): Remove catch of noread 2048 section using '.text.noread' pattern. 2049 20502016-01-19 John Baldwin <jhb@FreeBSD.org> 2051 2052 * elf.c (elfcore_grok_note): Recognize NT_FREEBSD_THRMISC notes. 2053 20542016-01-18 Miranda Cupertino <Cupertino.Miranda@synopsys.com> 2055 Zissulescu Claudiu <Claudiu.Zissulescu@synopsys.com> 2056 2057 * arc-plt.def: New file. 2058 * arc-plt.h: Likewise. 2059 * elf32-arc.c (elf_arc_abs_plt0_entry, elf_arc_abs_pltn_entry, 2060 elf_arcV2_abs_plt0_entry, elf_arcV2_abs_pltn_entry, 2061 elf_arc_pic_plt0_entry, elf_arc_pic_pltn_entry, 2062 elf_arcV2_pic_plt0_entry, elf_arcV2_pic_pltn_entry): Remove. 2063 (name_for_global_symbol): Added. 2064 (ADD_RELA): Helper to create dynamic relocs. 2065 (new_got_entry_to_list): Create a new got entry in linked list. 2066 (symbol_has_entry_of_type): Search for specific type of entry in 2067 list. 2068 (is_reloc_for_GOT): return FALSE for any TLS related relocs. 2069 (is_reloc_for_TLS, arc_elf_set_private_flags) 2070 (arc_elf_print_private_bfd_data, arc_elf_copy_private_bfd_data) 2071 (arc_elf_merge_private_bfd_data): New functions. 2072 (debug_arc_reloc): Cleaned debug info printing. 2073 (PDATA reloc): Changed not to perform address alignment. 2074 (reverse_me): Added. Fix for ARC_32 relocs. 2075 (arc_do_relocation): Return bfd_reloc_of when no relocation should 2076 occur. 2077 (arc_get_local_got_ents): Renamed from arc_get_local_got_offsets. 2078 Changed function to access an array of list of GOT entries instead 2079 of just an array of offsets. 2080 (elf_arc_relocate_section): Added support for PIC and TLS related relocations. 2081 (elf_arc_check_relocs): Likewise. 2082 (elf_arc_adjust_dynamic_symbol, elf_arc_finish_dynamic_symbol, 2083 (elf_arc_finish_dynamic_sections): Likewise 2084 (arc_create_dynamic_sections): Modified conditions to create 2085 dynamic sections. 2086 (ADD_SYMBOL_REF_SEC_AND_RELOC): New macro. 2087 (plt_do_relocs_for_symbol, relocate_plt_for_symbol) 2088 (relocate_plt_for_entry): Changed to support new way to define PLT 2089 related code. 2090 (add_symbol_to_plt): Likewise. 2091 (arc_elf_link_hash_table_create): New function. 2092 20932016-01-18 Nick Clifton <nickc@redhat.com> 2094 2095 PR ld/19440 2096 * coff-rs6000.c (_bfd_xcoff_swap_sym_in): Sign extend external 2097 section number into internal section number. 2098 * coff64-rs6000.c (_bfd_xcoff64_swap_sym_in): Likewise. 2099 * coffswap.h (coff_swap_sym_in): Likewise. 2100 * peXXigen.c (_bfd_XXi_swap_sym_in): Likewise. 2101 * coffcode.h (_coff_bigobj_swap_sym_in): Make sure that internal 2102 section number field is big enough to hold the external value. 2103 21042016-01-17 Alan Modra <amodra@gmail.com> 2105 2106 * configure: Regenerate. 2107 21082016-01-12 Yury Usishchev <y.usishchev@samsung.com> 2109 2110 * elf32-arm.c (elf32_arm_fix_exidx_coverage): Insert cantunwind 2111 when address in first unwind entry does not match start of 2112 section. 2113 21142016-01-08 Richard Sandiford <richard.sandiford@arm.com> 2115 Jiong Wang <jiong.wang@arm.com> 2116 2117 PR ld/19368 2118 * elf32-arm.c (elf32_arm_reloc_type_class): Map R_ARM_IRELATIVE to 2119 reloc_class_ifunc. 2120 21212016-01-06 Andrew Burgess <andrew.burgess@embecosm.com> 2122 2123 * elf32-arc.c (reloc_type_to_name): Change ARC_RELOC_HOWTO to 2124 place 'R_' before the reloc name returned. 2125 (elf_arc_howto_table): Change ARC_RELOC_HOWTO to place 'R_' before 2126 the relocation string. 2127 21282016-01-04 Maciej W. Rozycki <macro@imgtec.com> 2129 2130 * elfxx-mips.c (mips_elf_merge_obj_abiflags): New function, 2131 factored out from... 2132 (_bfd_mips_elf_merge_private_bfd_data): ... here. 2133 21342016-01-04 Maciej W. Rozycki <macro@imgtec.com> 2135 2136 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Move 2137 attribute check after ELF file header flag check. 2138 21392016-01-04 Maciej W. Rozycki <macro@imgtec.com> 2140 2141 * elfxx-mips.c (mips_elf_merge_obj_attributes): Propagate the 2142 return status from `_bfd_elf_merge_object_attributes'. 2143 21442016-01-04 Maciej W. Rozycki <macro@imgtec.com> 2145 2146 * elfxx-mips.c (mips_elf_merge_obj_e_flags): New function, 2147 factored out from... 2148 (_bfd_mips_elf_merge_private_bfd_data): ... here. 2149 21502016-01-04 Maciej W. Rozycki <macro@imgtec.com> 2151 2152 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Fold the 2153 handling of input MIPS ABI flags together. 2154 21552016-01-04 Maciej W. Rozycki <macro@imgtec.com> 2156 2157 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Suppress 2158 attribute checks for null input. 2159 21602016-01-04 Maciej W. Rozycki <macro@imgtec.com> 2161 2162 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Use local 2163 pointers to target data. 2164 21652016-01-04 Maciej W. Rozycki <macro@imgtec.com> 2166 2167 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Correct 2168 an FP ABI warning. 2169 21702016-01-01 Alan Modra <amodra@gmail.com> 2171 2172 Update year range in copyright notice of all files. 2173 2174For older changes see ChangeLog-2015 and doc/ChangeLog-0415 2175 2176Copyright (C) 2016 Free Software Foundation, Inc. 2177 2178Copying and distribution of this file, with or without modification, 2179are permitted in any medium without royalty provided the copyright 2180notice and this notice are preserved. 2181 2182Local Variables: 2183mode: change-log 2184left-margin: 8 2185fill-column: 74 2186version-control: never 2187End: 2188