12016-12-31 Alan Modra <amodra@gmail.com> 2 3 * elfn32-mips.c (elf_backend_want_dynrelro): Define. 4 52016-12-29 Alan Modra <amodra@gmail.com> 6 7 * elflink.c (_bfd_elf_link_hash_copy_indirect): Only omit 8 copying one flag, ref_dynamic, when versioned_hidden. 9 * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise. 10 * elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Use same 11 logic for copying weakdef flags. Copy plabel flag and merge 12 tls_type. 13 * elf32-i386.c (elf_i386_copy_indirect_symbol): Use same logic 14 for copying weakdef flags. 15 * elf32-ppc.c (ppc_elf_copy_indirect_symbol): Likewise. 16 * elf32-s390.c (elf_s390_copy_indirect_symbol): Likewise. 17 * elf32-sh.c (sh_elf_copy_indirect_symbol): Likewise. 18 * elf64-s390.c (elf_s390_copy_indirect_symbol): Likewise. 19 * elfnn-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise. 20 * elf64-x86-64.c (elf_x86_64_copy_indirect_symbol): Likewise. 21 Simplify. 22 232016-12-28 Alan Modra <amodra@gmail.com> 24 25 PR ld/20995 26 * elflink.c (elf_link_add_object_symbols): Mark relro sections 27 in dynamic objects SEC_READONLY. 28 292016-12-26 Alan Modra <amodra@gmail.com> 30 31 PR ld/20995 32 * elf-bfd.h (struct elf_link_hash_table): Add sdynrelro and 33 sreldynrelro. 34 (struct elf_backend_data): Add want_dynrelro. 35 * elfxx-target.h (elf_backend_want_dynrelro): Define. 36 (elfNN_bed): Update initializer. 37 * elflink.c (_bfd_elf_create_dynamic_sections): Create 38 sdynrelro and sreldynrelro sections. 39 * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Place variables 40 copied into the executable from read-only sections into sdynrelro. 41 (elf32_arm_size_dynamic_sections): Handle sdynrelro. 42 (elf32_arm_finish_dynamic_symbol): Select sreldynrelro for 43 dynamic relocs in sdynrelro. 44 (elf_backend_want_dynrelro): Define. 45 * elf32-hppa.c (elf32_hppa_adjust_dynamic_symbol) 46 (elf32_hppa_size_dynamic_sections, elf32_hppa_finish_dynamic_symbol) 47 (elf_backend_want_dynrelro): As above. 48 * elf32-i386.c (elf_i386_adjust_dynamic_symbol) 49 (elf_i386_size_dynamic_sections, elf_i386_finish_dynamic_symbol) 50 (elf_backend_want_dynrelro): As above. 51 * elf32-metag.c (elf_metag_adjust_dynamic_symbol) 52 (elf_metag_size_dynamic_sections, elf_metag_finish_dynamic_symbol) 53 (elf_backend_want_dynrelro): As above. 54 * elf32-microblaze.c (microblaze_elf_adjust_dynamic_symbol) 55 (microblaze_elf_size_dynamic_sections) 56 (microblaze_elf_finish_dynamic_symbol) 57 (elf_backend_want_dynrelro): As above. 58 * elf32-nios2.c (nios2_elf32_finish_dynamic_symbol) 59 (nios2_elf32_adjust_dynamic_symbol) 60 (nios2_elf32_size_dynamic_sections) 61 (elf_backend_want_dynrelro): As above. 62 * elf32-or1k.c (or1k_elf_finish_dynamic_symbol) 63 (or1k_elf_adjust_dynamic_symbol, or1k_elf_size_dynamic_sections) 64 (elf_backend_want_dynrelro): As above. 65 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol) 66 (ppc_elf_size_dynamic_sections, ppc_elf_finish_dynamic_symbol) 67 (elf_backend_want_dynrelro): As above. 68 * elf32-s390.c (elf_s390_adjust_dynamic_symbol) 69 (elf_s390_size_dynamic_sections, elf_s390_finish_dynamic_symbol) 70 (elf_backend_want_dynrelro): As above. 71 * elf32-tic6x.c (elf32_tic6x_adjust_dynamic_symbol) 72 (elf32_tic6x_size_dynamic_sections) 73 (elf32_tic6x_finish_dynamic_symbol) 74 (elf_backend_want_dynrelro): As above. 75 * elf32-tilepro.c (tilepro_elf_adjust_dynamic_symbol) 76 (tilepro_elf_size_dynamic_sections) 77 (tilepro_elf_finish_dynamic_symbol) 78 (elf_backend_want_dynrelro): As above. 79 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol) 80 (ppc64_elf_size_dynamic_sections, ppc64_elf_finish_dynamic_symbol) 81 (elf_backend_want_dynrelro): As above. 82 * elf64-s390.c (elf_s390_adjust_dynamic_symbol) 83 (elf_s390_size_dynamic_sections, elf_s390_finish_dynamic_symbol) 84 (elf_backend_want_dynrelro): As above. 85 * elf64-x86-64.c (elf_x86_64_adjust_dynamic_symbol) 86 (elf_x86_64_size_dynamic_sections) 87 (elf_x86_64_finish_dynamic_symbol) 88 (elf_backend_want_dynrelro): As above. 89 * elfnn-aarch64.c (elfNN_aarch64_adjust_dynamic_symbol) 90 (elfNN_aarch64_size_dynamic_sections) 91 (elfNN_aarch64_finish_dynamic_symbol) 92 (elf_backend_want_dynrelro): As above. 93 * elfnn-riscv.c (riscv_elf_adjust_dynamic_symbol) 94 (riscv_elf_size_dynamic_sections, riscv_elf_finish_dynamic_symbol) 95 (elf_backend_want_dynrelro): As above. 96 * elfxx-mips.c (_bfd_mips_elf_adjust_dynamic_symbol) 97 (_bfd_mips_elf_size_dynamic_sections) 98 (_bfd_mips_vxworks_finish_dynamic_symbol): As above. 99 * elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol) 100 (_bfd_sparc_elf_size_dynamic_sections) 101 (_bfd_sparc_elf_finish_dynamic_symbol): As above. 102 * elfxx-tilegx.c (tilegx_elf_adjust_dynamic_symbol) 103 (tilegx_elf_size_dynamic_sections) 104 (tilegx_elf_finish_dynamic_symbol): As above. 105 * elf32-mips.c (elf_backend_want_dynrelro): Define. 106 * elf64-mips.c (elf_backend_want_dynrelro): Define. 107 * elf32-sparc.c (elf_backend_want_dynrelro): Define. 108 * elf64-sparc.c (elf_backend_want_dynrelro): Define. 109 * elf32-tilegx.c (elf_backend_want_dynrelro): Define. 110 * elf64-tilegx.c (elf_backend_want_dynrelro): Define. 111 * elf32-microblaze.c (microblaze_elf_adjust_dynamic_symbol): Tidy. 112 (microblaze_elf_size_dynamic_sections): Handle sdynbss. 113 * elf32-nios2.c (nios2_elf32_size_dynamic_sections): Make use 114 of linker shortcuts to dynamic sections rather than comparing 115 names. Correctly set "got" flag. 116 1172016-12-26 Alan Modra <amodra@gmail.com> 118 119 * elf-bfd.h (struct elf_link_hash_table): Add sdynbss and srelbss. 120 * elflink.c (_bfd_elf_create_dynamic_sections): Set them. Create 121 .rel.bss/.rela.bss for executables, both PIE and non-PIE. 122 * elf32-arc.c (struct elf_arc_link_hash_table): Delete srelbss. 123 Use ELF hash table var throughout. 124 * elf32-arm.c (struct elf32_arm_link_hash_table): Delete sdynbss 125 and srelbss. Use ELF hash table vars throughout. 126 * elf32-hppa.c (struct elf32_hppa_link_hash_table): Likewise. 127 * elf32-i386.c (struct elf_i386_link_hash_table): Likewise. 128 * elf32-metag.c (struct elf_metag_link_hash_table): Likewise. 129 * elf32-microblaze.c (struct elf32_mb_link_hash_table): Likewise. 130 * elf32-nios2.c (struct elf32_nios2_link_hash_table): Likewise. 131 * elf32-or1k.c (struct elf_or1k_link_hash_table): Likewise. 132 * elf32-ppc.c (struct ppc_elf_link_hash_table): Likewise. 133 * elf32-s390.c (struct elf_s390_link_hash_table): Likewise. 134 * elf32-tic6x.c (struct elf32_tic6x_link_hash_table): Likewise. 135 * elf32-tilepro.c (struct tilepro_elf_link_hash_table): Likewise. 136 * elf64-ppc.c (struct ppc_link_hash_table): Likewise. 137 * elf64-s390.c (struct elf_s390_link_hash_table): Likewise. 138 * elf64-x86-64.c (struct elf_x86_64_link_hash_table): Likewise. 139 * elfnn-aarch64.c (struct elf_aarch64_link_hash_table): Likewise. 140 * elfnn-riscv.c (struct riscv_elf_link_hash_table): Likewise. 141 * elfxx-mips.c (struct mips_elf_link_hash_table): Likewise. 142 * elfxx-sparc.h (struct _bfd_sparc_elf_link_hash_table): Likewise. 143 * elfxx-sparc.c: Likewise. 144 * elfxx-tilegx.c (struct tilegx_elf_link_hash_table): Likewise. 145 146 * elf32-arc.c (arc_elf_create_dynamic_sections): Delete. 147 (elf_backend_create_dynamic_sections): Use base ELF version. 148 * elf32-microblaze.c (microblaze_elf_create_dynamic_sections): Delete. 149 (elf_backend_create_dynamic_sections): Use base ELF version. 150 * elf32-or1k.c (or1k_elf_create_dynamic_sections): Delete. 151 (elf_backend_create_dynamic_sections): Use base ELF version. 152 * elf32-s390.c (elf_s390_create_dynamic_sections): Delete. 153 (elf_backend_create_dynamic_sections): Use base ELF version. 154 * elf64-ppc.c (ppc64_elf_create_dynamic_sections): Delete. 155 (elf_backend_create_dynamic_sections): Use base ELF version. 156 * elf64-s390.c (elf_s390_create_dynamic_sections): Delete. 157 (elf_backend_create_dynamic_sections): Use base ELF version. 158 159 * elf32-tilepro.c (tilepro_elf_create_dynamic_sections): Remove 160 extraneous tests. 161 * elfnn-aarch64.c (elfNN_aarch64_create_dynamic_sections): Likewise. 162 * elfxx-mips.c (_bfd_mips_elf_create_dynamic_sections): Likewise. 163 * elfxx-tilegx.c (tilegx_elf_create_dynamic_sections): Likewise. 164 165 * elf32-i386.c (elf_i386_create_dynamic_sections): Don't create 166 ".rel.bss" for executables. 167 * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Don't create 168 ".rela.bss" for executables. 169 * elf32-nios2.c (nios2_elf32_create_dynamic_sections): Don't 170 ignore return status from _bfd_elf_create_dynamic_sections. 171 1722016-12-23 Maciej W. Rozycki <macro@imgtec.com> 173 174 * bfd/elfxx-mips.c (_bfd_mips_post_process_headers): Revert 175 2016-02-23 change and remove EI_ABIVERSION 5 support. 176 1772016-12-23 Alan Modra <amodra@gmail.com> 178 179 * linker.c (generic_link_check_archive_element): Call target 180 bfd_link_add_symbols to add element symbols. 181 1822016-12-23 Alan Modra <amodra@gmail.com> 183 184 * linker.c (generic_link_add_symbols): Delete. Merge into.. 185 (_bfd_generic_link_add_symbols): ..here. 186 (generic_link_check_archive_element_no_collect): Delete. 187 (generic_link_check_archive_element_collect): Likewise. 188 (generic_link_add_object_symbols): Remove "collect" param. Update 189 callers. 190 (generic_link_add_symbol_list): Likewise. 191 (generic_link_check_archive_element): Likewise. Call 192 bfd_link_add_symbols rather than generic_link_add_object_symbols. 193 * libbfd-in.h (_bfd_generic_link_add_symbols_collect): Delete. 194 * libbfd.h: Regenerate. 195 1962016-12-23 Alan Modra <amodra@gmail.com> 197 198 PR binutils/20464 199 PR binutils/14625 200 * configure.ac: Revert 2016-05-25 configure change setting 201 want_64_bit_archive for mips64 and s390x. Revise USE_64_BIT_ARCHIVE 202 description. 203 * configure: Regenerate. 204 * config.in: Regenerate. 205 2062016-12-23 Tristan Gingold <gingold@adacore.com> 207 208 * version.m4: Bump version to 2.27.90 209 * configure: Regenerate. 210 2112016-12-23 Tristan Gingold <gingold@adacore.com> 212 213 * po/bfd.pot: Regenerate. 214 2152016-12-22 Alan Modra <amodra@gmail.com> 216 217 * libbfd-in.h (_bfd_vms_lib_slurp_armap): Use _bfd_noarchive function. 218 (_bfd_vms_lib_slurp_extended_name_table: Likewise. 219 (_bfd_vms_lib_construct_extended_name_table: Likewise. 220 (_bfd_vms_lib_truncate_arname: Likewise. 221 (_bfd_vms_lib_write_armap: Likewise. 222 (_bfd_vms_lib_read_ar_hdr: Likewise. 223 (_bfd_vms_lib_write_ar_hdr: Likewise. 224 * libbfd.h: Regenerate. 225 2262016-12-21: Yury Norov <ynorov@caviumnetworks.com> 227 Andreas Schwab <schwab@suse.de> 228 229 * cpu-aarch64.c: Fix word and address size declaration in 230 ilp32 mode in bfd_arch_info_type bfd_aarch64_arch_ilp32 231 structure. 232 2332016-12-20 Andrew Waterman <andrew@sifive.com> 234 235 * elfnn-riscv.c (_bfd_riscv_elf_merge_private_bfd_data): Use 236 EF_RISCV_FLOAT_ABI_SOFT instead of EF_RISCV_SOFT_FLOAT. 237 2382016-12-20 Andrew Waterman <andrew@sifive.com> 239 240 * elfnn-riscv.c (bfd_riscv_get_max_alignment): Return bfd_vma 241 instead of unsigned int. 242 2432016-12-20 Andrew Waterman <andrew@sifive.com> 244 Kuan-Lin Chen <kuanlinchentw@gmail.com> 245 246 * reloc.c (BFD_RELOC_RISCV_TPREL_I): New relocation. 247 (BFD_RELOC_RISCV_TPREL_S): Likewise. 248 (BFD_RELOC_RISCV_RELAX): Likewise. 249 (BFD_RELOC_RISCV_CFA): Likewise. 250 (BFD_RELOC_RISCV_SUB6): Likewise. 251 (BFD_RELOC_RISCV_SET8): Likewise. 252 (BFD_RELOC_RISCV_SET8): Likewise. 253 (BFD_RELOC_RISCV_SET16): Likewise. 254 (BFD_RELOC_RISCV_SET32): Likewise. 255 * elfnn-riscv.c (perform_relocation): Handle the new 256 relocations. 257 (_bfd_riscv_relax_tls_le): Likewise. 258 (_bfd_riscv_relax_align): Likewise. 259 (_bfd_riscv_relax_section): Likewise. 260 (howto_table): Likewise. 261 (riscv_reloc_map): Likewise. 262 (relax_func_t): New type. 263 (_bfd_riscv_relax_call): Add reserve_size argument, which 264 controls the maximal offset pessimism. Correct type of max_alignment. 265 (_bfd_riscv_relax_lui): Likewise. 266 (_bfd_riscv_relax_tls_le): Likewise. 267 (_bfd_riscv_relax_align): Likewise. 268 (_bfd_riscv_relax_section): Compute the required reserve size 269 when relocating and use it to when calling relax_func. 270 * bfd-in2.h: Regenerate. 271 * libbfd.h: Likewise. 272 2732016-12-20 Andrew Waterman <andrew@sifive.com> 274 275 * elfnn-riscv.c: Formatting and comment fixes throughout. 276 * elfxx-riscv.c: Likewise. 277 (howto_table): Change the src_mask field from MINUS_ONE to 0 for 278 R_RISCV_TLS_DTPMOD32, R_RISCV_TLS_DTPMOD64, R_RISCV_TLS_DTPREL32, 279 R_RISCV_TLS_DTPREL64, R_RISCV_TLS_TPREL32, R_RISCV_TLS_TPREL64. 280 2812016-12-20 Palmer Dabbelt <palmer@dabbelt.com> 282 283 * elfnn-riscv.c (_bfd_riscv_elf_merge_private_bfd_data): Improve 284 error message when linking elf32 and elf64. 285 2862016-12-19 Christian Groessler <chris@groessler.org> 287 288 * elf32-arm.c (elf32_arm_popcount): Rename from 'popcount'. Make 289 'sum' local variable signed. 290 2912016-12-16 fincs <fincs.alt1@gmail.com> 292 293 * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Add handling 294 for info->gc_keep_exported. 295 (bfd_elf_gc_sections): Likewise. 296 2972016-12-15 Alan Modra <amodra@gmail.com> 298 299 PR ld/20968 300 PR ld/20908 301 * elflink.c (bfd_elf_final_link): Revert 2016-12-02 change. Move 302 reloc counting code later after ELF flavour test. 303 3042016-12-14 Maciej W. Rozycki <macro@imgtec.com> 305 306 * bfd-in.h (elf_internal_abiflags_v0): New struct declaration. 307 (bfd_mips_elf_get_abiflags): New prototype. 308 * elfxx-mips.c (bfd_mips_elf_get_abiflags): New function. 309 * bfd-in2.h: Regenerate. 310 3112016-12-14 Yury Norov <ynorov@caviumnetworks.com> 312 313 * bfd/elfnn-aarch64.c: fix TLS relaxations for ilp32 where 314 TCB_SIZE is used. 315 3162016-12-13 Alan Modra <amodra@gmail.com> 317 318 * elf64-hppa.c (elf64_hppa_modify_segment_map): Don't add PHDR 319 for objcopy/strip or when a ld script specifies PHDRS. 320 3212016-12-13 Alan Modra <amodra@gmail.com> 322 323 * elf32-rx.c (elf32_rx_modify_program_headers): Don't adjust 324 segments that include the ELF file header or program headers. 325 3262016-12-08 Alan Modra <amodra@gmail.com> 327 328 PR ld/20932 329 * elflink.c (bfd_elf_record_link_assignment): Handle warning symbols. 330 3312016-12-07 Nick Clifton <nickc@redhat.com> 332 333 PR ld/20932 334 * elflink.c (bfd_elf_record_link_assignment): Replace call to 335 abort with an error message and error return value. 336 3372016-12-06 Nick Clifton <nickc@redhat.com> 338 339 PR binutils/20931 340 * elf.c (copy_special_section_fields): Check for an invalid 341 sh_link field before attempting to follow it. 342 343 PR binutils/20929 344 * aoutx.h (squirt_out_relocs): Check for relocs without an 345 associated symbol. 346 3472016-12-06 Alan Modra <amodra@gmail.com> 348 349 * elf64-ppc.c (ok_lo_toc_insn): Add r_type param. Recognize 350 lq,lfq,lxv,lxsd,lxssp,lfdp,stq,stfq,stxv,stxsd,stxssp,stfdp. 351 Don't match lmd and stmd. 352 3532016-12-05 Alyssa Milburn <amilburn@zall.org> 354 355 * elfxx-sparc.c: Do not stop processing relocations after 356 partially relaxing a call with WDISP30. 357 3582016-12-05 Nick Clifton <nickc@redhat.com> 359 360 PR binutils/20905 361 * peicode.h (pe_ILF_object_p): Use strnlen to avoid running over 362 the end of the string buffer. 363 364 PR binutils/20907 365 * peicode.h (pe_ILF_build_a_bfd): Replace abort with error return. 366 367 PR binutils/20921 368 * aoutx.h (squirt_out_relocs): Check for and report any relocs 369 that could not be recognised. 370 371 PR binutils/20922 372 * elf.c (find_link): Check for null headers before attempting to 373 match them. 374 375 PR ld/20925 376 * aoutx.h (aout_link_add_symbols): Replace BFD_ASSERT with return 377 FALSE. 378 379 PR ld/20924 380 (aout_link_add_symbols): Fix off by one error checking for 381 overflow of string offset. 382 3832016-12-03 Alan Modra <amodra@gmail.com> 384 385 * elf64-ppc.c (struct ppc_link_hash_entry): Delete "was_undefined". 386 (struct ppc_link_hash_table): Delete "twiddled_syms". Add 387 "need_func_desc_adj". 388 (lookup_fdh): Link direct fdh sym via oh field and set flags. 389 (make_fdh): Make strong and weak undefined function descriptor 390 symbols. 391 (ppc64_elf_merge_symbol): New function. 392 (elf_backend_merge_symbol): Define. 393 (ppc64_elf_archive_symbol_lookup): Don't test undefweak for fake 394 function descriptors. 395 (add_symbol_adjust): Don't twiddle symbols to undefweak. 396 Propagate more ref flags to function descriptor symbol. Make 397 some function descriptor symbols dynamic. 398 (ppc64_elf_before_check_relocs): Only run add_symbol_adjust for 399 ELFv1. Set need_func_desc_adj. Don't fix undefs list. 400 (ppc64_elf_check_relocs): Set non_ir_ref for descriptors. 401 Don't call lookup_fdh here. 402 (ppc64_elf_gc_sections): New function. 403 (bfd_elf64_bfd_gc_sections): Define. 404 (ppc64_elf_gc_mark_hook): Mark descriptor. 405 (func_desc_adjust): Don't make fake function descriptor syms strong 406 here. Exit earlier on non-dotsyms. Take note of elf.dynamic 407 flag when deciding whether a dynamic function descriptor might 408 be needed. Transfer elf.dynamic and set elf.needs_plt. Move 409 plt regardless of visibility. Make descriptor dynamic if 410 entry sym is dynamic, not for other cases. 411 (ppc64_elf_func_desc_adjust): Don't run func_desc_adjust if 412 already done. 413 (ppc64_elf_edit_opd): Use oh field rather than lookup_fdh. 414 (ppc64_elf_size_stubs): Likewise. 415 (ppc_build_one_stub): Don't clear was_undefined. Only set sym 416 undefweak if stub symbol is defined. 417 (undo_symbol_twiddle, ppc64_elf_restore_symbols): Delete. 418 * elf64-ppc.h (ppc64_elf_restore_symbols): Don't declare. 419 4202016-12-03 Alan Modra <amodra@gmail.com> 421 422 * elf64-ppc.c (ppc64_elf_hide_symbol): Access hash table as 423 elf_link_hash_table rather than ppc_link_hash_table. 424 4252016-12-03 Alan Modra <amodra@gmail.com> 426 427 * elf64-ppc.c (add_symbol_adjust): Delete dead code. 428 4292016-12-03 Alan Modra <amodra@gmail.com> 430 431 * elf64-ppc.c (add_symbol_adjust): Correct order of tests for 432 warning and indirect symbols. 433 4342016-12-03 Alan Modra <amodra@gmail.com> 435 436 * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy dynamic 437 flags when direct symbol is versioned_hidden. 438 4392016-12-02 Nick Clifton <nickc@redhat.com> 440 441 PR ld/20908 442 * elflink.c (bfd_elf_final_link): Check for ELF flavour binaries 443 when following indirect links. 444 445 PR ld/20909 446 * aoutx.h (aout_link_add_symbols): Fix off-by-one error in check 447 for an illegal string offset. 448 4492016-12-02 Gary Benson <gbenson@redhat.com> 450 451 * elf.c (_bfd_elf_make_section_from_shdr): Pass offset to 452 elf_parse_notes. 453 4542016-12-02 Josh Conner <joshconner@google.com> 455 456 * config.bfd: Add support for fuchsia (OS). 457 4582016-12-01 Yury Norov <ynorov@caviumnetworks.com> 459 460 PR ld/20868 461 * elfnn-aarch64.c (elfNN_aarch64_tls_relax): Use 32-bit accesses 462 to the GOT when operating in 32-bit mode. 463 4642016-12-01 Ma Jiang <ma.jiang@zte.com.cn> 465 466 PR ld/16720 467 * elfxx-mips.c (mips_elf_calculate_relocation): Remove overflow 468 test for HI16 relocs. 469 4702016-12-01 Nick Clifton <nickc@redhat.com> 471 472 PR binutils/20891 473 * aoutx.h (find_nearest_line): Handle the case where the main file 474 name and the directory name are both empty. 475 476 PR binutils/20892 477 * aoutx.h (find_nearest_line): Handle the case where the function 478 name is empty. 479 4802016-11-30 Alan Modra <amodra@gmail.com> 481 482 * elf.c (get_program_header_size): Revert accidental change. 483 4842016-11-30 Alan Modra <amodra@gmail.com> 485 486 PR ld/20886 487 * elf64-ppc.c (ppc64_elf_size_stubs): Make rawsize max size seen 488 on any pass past STUB_SHRINK_ITER. 489 4902016-11-28 H.J. Lu <hongjiu.lu@intel.com> 491 492 * elflink.c (_bfd_elf_fix_symbol_flags): Hide hidden versioned 493 symbol in executable. 494 (elf_link_output_extsym): Don't change bind from global to 495 local when linking executable. 496 4972016-11-28 Nick Clifton <nickc@redhat.com> 498 499 PR ld/20815 500 * elf.c (phdr_sorter): Delete. 501 (assign_file_positions_except_relocs): Do not sort program 502 headers. 503 5042016-11-25 Jon Turney <jon.turney@dronecode.org.uk> 505 506 PR ld/20193 507 * peXXigen.c (rsrc_process_section): Do not shrink the merged 508 .rsrc section. 509 5102016-11-24 Jiong Wang <jiong.wang@arm.com> 511 512 PR target/20737 513 * elf32-arm.c (elf32_arm_final_link_relocate): Bind defined symbol 514 locally in PIE. 515 5162016-11-24 Kuan-Lin Chen <kuanlinchentw@gmail.com> 517 518 * bfd/elfxx-riscv.c (howto_table): Fix bitsize of R_RISCV_ADD8. 519 5202016-11-23 Nick Clifton <nickc@redhat.com> 521 522 PR ld/20815 523 * elf.c (elf_modify_segment_map): Allow empty LOAD segments if 524 they contain the program headers. 525 (_bfd_elf_map_sections_to_segments): If the linker created the 526 PHDR segment then always attempt to include it in a LOAD segment. 527 (assign_file_positions_for_non_load_sections): Allow LOAD segments 528 to overlap PHDR segments. 529 (phdr_sorter): New function. Sorts program headers. 530 (assign_file_positions_except_relocs): Sort the program headers 531 before writing them out. Issue an error if the PHDR segment is 532 not covered by a LOAD segment, unless the backend allows it. 533 * elf-bfd.h (struct elf_backend_data): Add 534 elf_backend_allow_non_load_phdr. 535 * elfxx-target.h (elf_backend_allow_non_load_phdr): Provide 536 default definition that returns FALSE. 537 (elfNN_bed): Initialise the elf_backend_allow_non_load_phdr 538 field. 539 * elf64-hppa.c (elf64_hppa_allow_non_load_phdr): New function. 540 Returns TRUE. 541 (elf_backend_allow_non_load_phdr): Define. 542 * elf-m10300.c (_bfd_mn10300_elf_size_dynamic_sections): Do not 543 place the interpreter string into the .interp section if the 544 nointerp flag is set in the link info structure. 545 * elf32-arc.c (elf_arc_size_dynamic_sections): Likewise. 546 * elf32-score7.c (score_elf_final_link_relocate): Allow for the 547 _gp symbol not being part of the output. 548 5492016-11-23 Alan Modra <amodra@gmail.com> 550 551 * elf-bfd.h (struct elf_backend_data): Add dtrel_excludes_plt. 552 * elfxx-target.h (elf_backend_dtrel_excludes_plt): Define. 553 (elfNN_bed): Init new field. 554 * elflink.c (bfd_elf_final_link): Add and use htab variable. Handle 555 dtrel_excludes_plt. 556 * elf-m10300.c (_bfd_mn10300_elf_finish_dynamic_sections): Delete 557 DT_RELASZ code. 558 (elf_backend_dtrel_excludes_plt): Define. 559 * elf32-arc.c (elf_arc_finish_dynamic_sections): Delete DT_RELASZ code. 560 (elf_backend_dtrel_excludes_plt): Define. 561 * elf32-arm.c (elf32_arm_finish_dynamic_sections): Delete code 562 subtracting off plt relocs from DT_RELSZ, DT_RELASZ. 563 (elf_backend_dtrel_excludes_plt): Define. 564 * elf32-cr16.c (_bfd_cr16_elf_finish_dynamic_sections): Delete 565 DT_RELASZ code. 566 (elf_backend_dtrel_excludes_plt): Define. 567 * elf32-cris.c (elf_cris_finish_dynamic_sections): Delete DT_RELASZ 568 code. 569 (elf_backend_dtrel_excludes_plt): Define. 570 * elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Delete DT_RELASZ 571 and DT_RELA code. 572 (elf_backend_dtrel_excludes_plt): Define. 573 * elf32-i386.c (elf_i386_finish_dynamic_sections): Delete DT_RELSZ 574 and DT_REL code. 575 (elf_backend_dtrel_excludes_plt): Define. 576 * elf32-lm32.c (lm32_elf_finish_dynamic_sections): Delete DT_RELASZ 577 code. 578 (elf_backend_dtrel_excludes_plt): Define. 579 * elf32-m32r.c (m32r_elf_finish_dynamic_sections): Delete DT_RELASZ 580 code. 581 (elf_backend_dtrel_excludes_plt): Define. 582 * elf32-m68k.c (elf_m68k_finish_dynamic_sections): Delete DT_RELASZ 583 code. 584 (elf_backend_dtrel_excludes_plt): Define. 585 * elf32-metag.c (elf_metag_finish_dynamic_sections): Delete DT_RELASZ 586 and DT_RELA code. 587 (elf_backend_dtrel_excludes_plt): Define. 588 * elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Delete 589 DT_RELASZ and DT_RELA code. Use ELF htab shortcuts for other 590 dynamic sections. 591 (elf_backend_dtrel_excludes_plt): Define. 592 * elf32-mips.c (elf_backend_dtrel_excludes_plt): Define. 593 * elf32-nds32.c (nds32_elf_finish_dynamic_sections): Delete DT_RELASZ 594 code. 595 (elf_backend_dtrel_excludes_plt): Define. 596 * elf32-nios2.c (nios2_elf32_finish_dynamic_sections): Delete DT_RELASZ 597 code. 598 (elf_backend_dtrel_excludes_plt): Define. 599 * elf32-or1k.c (or1k_elf_finish_dynamic_sections): Delete DT_RELASZ 600 code. 601 (elf_backend_dtrel_excludes_plt): Define. 602 * elf32-ppc.c (ppc_elf_finish_dynamic_sections): Delete DT_RELASZ 603 code. 604 (elf_backend_dtrel_excludes_plt): Define. 605 * elf32-sh.c (sh_elf_finish_dynamic_sections): Delete DT_RELASZ 606 code. 607 (elf_backend_dtrel_excludes_plt): Define. 608 * elf32-sparc.c (elf_backend_dtrel_excludes_plt): Define. 609 * elf32-vax.c (elf_vax_finish_dynamic_sections): Delete DT_RELASZ 610 code. 611 (elf_backend_dtrel_excludes_plt): Define. 612 * elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Delete DT_RELASZ 613 code. 614 (elf_backend_dtrel_excludes_plt): Define. 615 * elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Delete DT_RELASZ 616 code. 617 (elf_backend_dtrel_excludes_plt): Define. 618 * elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Delete DT_RELASZ 619 and DT_RELA code. 620 (elf_backend_dtrel_excludes_plt): Define. 621 * elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Delete DT_RELASZ 622 code. 623 (elf_backend_dtrel_excludes_plt): Define. 624 * elf64-x86-64.c (elf_x86_64_finish_dynamic_sections): Delete DT_RELASZ 625 code. 626 (elf_backend_dtrel_excludes_plt): Define. 627 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_sections): Delete 628 DT_RELASZ code. 629 (elf_backend_dtrel_excludes_plt): Define. 630 * elfnn-ia64.c (elfNN_ia64_finish_dynamic_sections): Delete DT_RELASZ 631 code. 632 (elf_backend_dtrel_excludes_plt): Define. 633 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Delete 634 DT_RELASZ code. 635 * elfxx-sparc.c (sparc_finish_dyn): Delete DT_RELASZ code. 636 6372016-11-23 Alan Modra <amodra@gmail.com> 638 639 * elf-m10300.c (mn10300_elf_check_relocs): Use elf htab shortcuts 640 to dynamic sections. 641 (mn10300_elf_final_link_relocate): Likewise. 642 (_bfd_mn10300_elf_adjust_dynamic_symbol): Likewise. 643 (_bfd_mn10300_elf_size_dynamic_sections): Likewise. 644 (_bfd_mn10300_elf_finish_dynamic_symbol): Likewise. 645 (_bfd_mn10300_elf_finish_dynamic_sections): Likewise. 646 * elf32-bfin.c (bfin_check_relocs): Likewise. 647 (bfin_relocate_section): Likewise. 648 (bfin_gc_sweep_hook): Likewise. 649 (struct bfinfdpic_elf_link_hash_table): Delete sgot, sgotrel, splt 650 and spltrel. 651 (bfinfdpic_got_section, bfinfdpic_gotrel_section, 652 bfinfdpic_plt_section, bfinfdpic_pltrel_section): Define using elf 653 shortcut sections. 654 (_bfin_create_got_section): Use elf htab shortcuts to dyn sections. 655 Delete dead code. 656 (bfin_finish_dynamic_symbol): Use elf htab shortcuts to dyn sections. 657 (bfin_size_dynamic_sections): Likewise. 658 * elf32-cr16.c (_bfd_cr16_elf_create_got_section): Likewise. 659 (cr16_elf_check_relocs): Likewise. 660 (cr16_elf_final_link_relocate): Likewise. 661 (_bfd_cr16_elf_create_dynamic_sections): Likewise. 662 (_bfd_cr16_elf_adjust_dynamic_symbol): Likewise. 663 (_bfd_cr16_elf_size_dynamic_sections): Likewise. 664 (_bfd_cr16_elf_finish_dynamic_symbol): Likewise. 665 (_bfd_cr16_elf_finish_dynamic_sections): Likewise. 666 * elf32-cris.c (cris_elf_relocate_section): Likewise. 667 (elf_cris_finish_dynamic_symbol): Likewise. 668 (elf_cris_finish_dynamic_sections): Likewise. 669 (cris_elf_gc_sweep_hook): Likewise. 670 (elf_cris_adjust_gotplt_to_got): Likewise. 671 (elf_cris_adjust_dynamic_symbol): Likewise. 672 (cris_elf_check_relocs): Likewise. Delete dead code. 673 (elf_cris_size_dynamic_sections): Use elf htab shortcuts to dynamic 674 sections. 675 (elf_cris_discard_excess_program_dynamics): Likewise. 676 * elf32-frv.c (struct frvfdpic_elf_link_hash_table): Delete sgot, 677 sgotrel, splt and spltrel. 678 (frvfdpic_got_section, frvfdpic_gotrel_section, 679 frvfdpic_plt_section, frvfdpic_pltrel_section): Define using elf 680 shortcut sections. 681 (_frv_create_got_section): Likewise. 682 * elf32-hppa.c (struct elf32_hppa_link_hash_table): Delete sgot, 683 srelgot, splt and srelplt. 684 (hppa_build_one_stub): Use elf htab shortcuts to dynamic sections. 685 (elf32_hppa_create_dynamic_sections): Likewise. 686 (elf32_hppa_check_relocs): Likewise. 687 (allocate_plt_static): Likewise. 688 (allocate_dynrelocs): Likewise. 689 (elf32_hppa_size_dynamic_sections): Likewise. 690 (elf32_hppa_relocate_section): Likewise. 691 (elf32_hppa_finish_dynamic_symbol): Likewise. 692 (elf32_hppa_finish_dynamic_sections): Likewise. 693 * elf32-i370.c (i370_elf_finish_dynamic_sections): Likewise. 694 * elf32-lm32.c (struct elf_lm32_link_hash_table): Delete sgot, 695 sgotplt, srelgot, splt and srelplt. 696 (lm32fdpic_got_section, lm32fdpic_gotrel_section): Define using elf 697 shortcut sections. 698 (create_got_section): Delete. Use _bfd_elf_create_got_section instead. 699 (lm32_elf_relocate_section): Use elf htab shortcuts to dyn sections. 700 (lm32_elf_check_relocs): Likewise. 701 (lm32_elf_finish_dynamic_sections): Likewise. 702 (lm32_elf_finish_dynamic_symbol): Likewise. 703 (allocate_dynrelocs): Likewise. 704 (lm32_elf_size_dynamic_sections): Likewise. 705 (lm32_elf_create_dynamic_sections): Likewise. 706 * elf32-m32c.c (m32c_elf_relocate_section): Likewise. 707 (m32c_elf_check_relocs): Likewise. 708 (m32c_elf_finish_dynamic_sections): Likewise. 709 (m32c_elf_always_size_sections): Likewise. 710 * elf32-m32r.c (struct elf_m32r_link_hash_table): Delete sgot, 711 sgotplt, srelgot, splt and srelplt. 712 (create_got_section): Delete. Use _bfd_elf_create_got_section instead. 713 (m32r_elf_create_dynamic_sections): Use elf htab shortcuts to dynamic 714 sections. 715 (allocate_dynrelocs): Likewise. 716 (m32r_elf_size_dynamic_sections): Likewise. 717 (m32r_elf_relocate_section): Likewise. 718 (m32r_elf_finish_dynamic_symbol): Likewise. 719 (m32r_elf_finish_dynamic_sections): Likewise. 720 (m32r_elf_check_relocs): Likewise. 721 * elf32-m68k.c (elf_m68k_partition_multi_got): Likewise. 722 (elf_m68k_check_relocs): Likewise. 723 (elf_m68k_adjust_dynamic_symbol): Likewise. 724 (elf_m68k_size_dynamic_sections): Likewise. 725 (elf_m68k_relocate_section): Likewise. 726 (elf_m68k_finish_dynamic_symbol): Likewise. 727 (elf_m68k_finish_dynamic_sections): Likewise. 728 * elf32-metag.c (struct elf_metag_link_hash_table): Delete sgot, 729 sgotplt, srelgot, splt and srelplt. 730 (elf_metag_relocate_section): Use elf htab shortcuts to dynamic 731 sections. 732 (elf_metag_create_dynamic_sections): Likewise. Allocate got header 733 here in .got. 734 (elf_metag_check_relocs): Use elf htab shortcuts to dynamic sections. 735 (allocate_dynrelocs): Likewise. 736 (elf_metag_size_dynamic_sections): Likewise. 737 (elf_metag_finish_dynamic_symbol): Likewise. 738 (elf_metag_finish_dynamic_sections): Likewise. 739 (elf_metag_size_stubs): Likewise. 740 (elf_backend_got_header_size): Don't define. 741 (elf_backend_want_got_plt): Define. 742 * elf32-microblaze.c (struct elf32_mb_link_hash_table): Delete sgot, 743 sgotplt, srelgot, splt and srelpl. 744 (microblaze_elf_relocate_section): Use elf htab shortcuts to dynamic 745 sections. 746 (create_got_section): Delete. Use _bfd_elf_create_got_section instead. 747 (microblaze_elf_check_relocs): Use elf htab shortcuts to dyn sections. 748 (microblaze_elf_create_dynamic_sections): Likewise. 749 (allocate_dynrelocs): Likewise. 750 (microblaze_elf_size_dynamic_sections): Likewise. 751 (microblaze_elf_finish_dynamic_symbol): Likewise. 752 (microblaze_elf_finish_dynamic_sections): Likewise. 753 * elf32-nds32.c (nds32_elf_link_hash_table_create): Don't NULL 754 already zero fields. 755 (create_got_section): Delete. Use _bfd_elf_create_got_section instead. 756 (nds32_elf_create_dynamic_sections): Use elf htab shortcuts to dynamic 757 sections. 758 (allocate_dynrelocs): Likewise. 759 (nds32_elf_size_dynamic_sections): Likewise. 760 (nds32_elf_relocate_section): Likewise. 761 (nds32_elf_finish_dynamic_symbol): Likewise. 762 (nds32_elf_finish_dynamic_sections): Likewise. 763 (nds32_elf_check_relocs): Likewise. 764 (calculate_plt_memory_address): Likewise. 765 (calculate_got_memory_address): Likewise. 766 * elf32-nds32.h (struct elf_nds32_link_hash_table): Delete sgot, 767 sgotplt, srelgot, splt and srelplt. 768 * elf32-or1k.c (struct elf_or1k_link_hash_table): Likewise. 769 (or1k_elf_relocate_section): Use elf htab shortcuts to dyn sections. 770 (create_got_section): Delete. Use _bfd_elf_create_got_section instead. 771 (or1k_elf_check_relocs): Use elf htab shortcuts to dynamic sections. 772 (or1k_elf_finish_dynamic_sections): Likewise. 773 (or1k_elf_finish_dynamic_symbol): Likewise. 774 (allocate_dynrelocs): Likewise. 775 (or1k_elf_size_dynamic_sections): Likewise. 776 (or1k_elf_create_dynamic_sections): Likewise. 777 * elf32-ppc.c (struct ppc_elf_link_hash_table): Delete got, relgot, 778 plt, relplt, iplt, reliplt and sgotplt. 779 (ppc_elf_create_got): Use elf htab shortcuts to dynamic sections. 780 (ppc_elf_create_glink): Likewise. 781 (ppc_elf_create_dynamic_sections): Likewise. 782 (ppc_elf_check_relocs): Likewise. 783 (ppc_elf_select_plt_layout): Likewise. 784 (ppc_elf_tls_setup): Likewise. 785 (allocate_got): Likewise. 786 (allocate_dynrelocs): Likewise. 787 (ppc_elf_size_dynamic_sections): Likewise. 788 (ppc_elf_relax_section): Likewise. 789 (ppc_elf_relocate_section): Likewise. 790 (ppc_elf_finish_dynamic_symbol): Likewise. 791 (ppc_elf_reloc_type_class): Likewise. 792 (ppc_elf_finish_dynamic_sections): Likewise. 793 * elf32-rl78.c (rl78_elf_relocate_section): Likewise. 794 (rl78_elf_check_relocs): Likewise. 795 (rl78_elf_finish_dynamic_sections): Likewise. 796 (rl78_elf_always_size_sections): Likewise. 797 * elf32-s390.c (create_got_section): Delete. 798 (elf_s390_create_dynamic_sections): Use _bfd_elf_create_got_section. 799 (elf_s390_check_relocs): Likewise. 800 * elf32-score.c (score_elf_create_got_section): Set elf shortcuts. 801 (s3_bfd_score_elf_finish_dynamic_sections): Use elf shortcuts. 802 * elf32-score7.c (score_elf_create_got_section): As above. 803 (s7_bfd_score_elf_finish_dynamic_sections): As above. 804 * elf32-sh.c (struct elf_sh_link_hash_table): Delete sgot, 805 sgotplt, srelgot, splt and srelplt. 806 (create_got_section): Don't set them. 807 (sh_elf_create_dynamic_sections): Use elf htab shortcuts to dynamic 808 sections. 809 (allocate_dynrelocs): Likewise. 810 (sh_elf_size_dynamic_sections): Likewise. 811 (sh_elf_add_rofixup): Likewise. 812 (sh_elf_relocate_section): Likewise. 813 (sh_elf_check_relocs): Likewise. 814 (sh_elf_finish_dynamic_symbol): Likewise. 815 (sh_elf_finish_dynamic_sections): Likewise. 816 * elf32-tic6x.c (elf32_tic6x_finish_dynamic_symbol): Likewise. 817 * elf32-tilepro.c (tilepro_elf_create_got_section): Likewise. 818 * elf32-vax.c (elf_vax_check_relocs): Likewise. 819 (elf_vax_adjust_dynamic_symbol): Likewise. 820 (elf_vax_always_size_sections): Likewise. 821 (elf_vax_instantiate_got_entries): Likewise. 822 (elf_vax_relocate_section): Likewise. 823 (elf_vax_finish_dynamic_symbol): Likewise. 824 (elf_vax_finish_dynamic_sections): Likewise. 825 * elf32-xstormy16.c (xstormy16_elf_check_relocs): Likewise. 826 (xstormy16_elf_always_size_sections): Likewise. 827 (xstormy16_elf_relocate_section): Likewise. 828 (xstormy16_elf_finish_dynamic_sections): Likewise. 829 * elf32-xtensa.c (struct elf_xtensa_link_hash_table): Delete sgot, 830 sgotplt, srelgot, splt and srelplt. 831 (elf_xtensa_create_dynamic_sections): Use elf htab shortcuts to 832 dynamic sections. 833 (elf_xtensa_allocate_dynrelocs): Likewise. 834 (elf_xtensa_allocate_local_got_size): Likewise. 835 (elf_xtensa_size_dynamic_sections): Likewise. 836 (elf_xtensa_relocate_section): Likewise. 837 (elf_xtensa_finish_dynamic_sections): Likewise. 838 (shrink_dynamic_reloc_sections): Likewise. 839 (elf_xtensa_get_plt_section): Likewise. 840 (elf_xtensa_get_gotplt_section): Likewise. 841 (xtensa_callback_required_dependence): Likewise. 842 * elf64-alpha.c (elf64_alpha_create_dynamic_sections): Set elf htab 843 shortcuts to dynamic sections. 844 (elf64_alpha_adjust_dynamic_symbol): Use elf htab shortcuts to 845 dynamic sections. 846 (elf64_alpha_size_plt_section): Likewise. 847 (elf64_alpha_size_rela_got_1): Likewise. 848 (elf64_alpha_size_rela_got_section): Likewise. 849 (elf64_alpha_relocate_section): Likewise. 850 (elf64_alpha_finish_dynamic_symbol): Likewise. 851 (elf64_alpha_finish_dynamic_sections): Likewise. 852 * elf64-hppa.c (elf64_hppa_size_dynamic_sections): Likewise. 853 * elf64-s390.c (create_got_section): Delete. 854 (elf_s390_create_dynamic_sections): Use _bfd_elf_create_got_section. 855 (elf_s390_check_relocs): Likewise. 856 * elf64-sh64.c (sh_elf64_relocate_section): Use elf htab shortcuts to 857 dynamic sections. 858 (sh_elf64_check_relocs): Likewise. 859 (sh64_elf64_adjust_dynamic_symbol): Likewise. 860 (sh64_elf64_size_dynamic_sections): Likewise. 861 (sh64_elf64_finish_dynamic_symbol): Likewise. 862 (sh64_elf64_finish_dynamic_sections): Likewise. 863 * elflink.c (_bfd_elf_create_got_section): Likewise. 864 * elfnn-aarch64.c (aarch64_elf_create_got_section): Likewise. 865 * elfnn-ia64.c (elfNN_ia64_size_dynamic_sections): Likewise. 866 (elfNN_ia64_finish_dynamic_sections): Likewise. 867 * elfnn-riscv.c (riscv_elf_create_got_section): Likewise. 868 * elfxx-mips.c (struct mips_elf_link_hash_table): Delete srellt, 869 sgotplt, splt and sgot. 870 (mips_elf_initialize_tls_slots): Use elf htab shortcuts to dynamic 871 sections. 872 (mips_elf_gotplt_index): Likewise. 873 (mips_elf_primary_global_got_index): Likewise. 874 (mips_elf_global_got_index): Likewise. 875 (mips_elf_got_offset_from_index): Likewise. 876 (mips_elf_create_local_got_entry): Likewise. 877 (mips_elf_create_got_section): Likewise. 878 (mips_elf_calculate_relocation): Likewise. 879 (_bfd_mips_elf_create_dynamic_sections): Likewise. 880 (_bfd_mips_elf_adjust_dynamic_symbol): Likewise. 881 (mips_elf_lay_out_got): Likewise. 882 (mips_elf_set_plt_sym_value): Likewise. 883 (_bfd_mips_elf_size_dynamic_sections): Likewise. 884 (_bfd_mips_elf_finish_dynamic_symbol): Likewise. 885 (_bfd_mips_vxworks_finish_dynamic_symbol): Likewise. 886 (mips_finish_exec_plt): Likewise. 887 (mips_vxworks_finish_exec_plt): Likewise. 888 (mips_vxworks_finish_shared_plt): Likewise. 889 (_bfd_mips_elf_finish_dynamic_sections): Likewise. 890 * elfxx-sparc.c (sparc_finish_dyn): Likewise. 891 * elfxx-tilegx.c (tilegx_elf_create_got_section): Likewise. 892 8932016-11-23 Alan Modra <amodra@gmail.com> 894 895 * po/BLD-POTFILES.in: Regenerate. 896 * po/SRC-POTFILES.in: Regenerate. 897 8982016-11-22 Ambrogino Modigliani <ambrogino.modigliani@gmail.com> 899 900 * warning.m4: Fix spelling in comments. 901 * configure.ac: Fix spelling in comments. 902 * configure: Regenerate. 903 9042016-11-22 Alan Modra <amodra@gmail.com> 905 906 PR 20744 907 * elf32-ppc.h (struct ppc_elf_params): Add vle_reloc_fixup field. 908 * elf32-ppc.c: Include opcode/ppc.h. 909 (ppc_elf_howto_raw): Correct dst_mask for R_PPC_VLE_LO16A, 910 R_PPC_VLE_LO16D, R_PPC_VLE_HI16A, R_PPC_VLE_HI16D, R_PPC_VLE_HA16A, 911 R_PPC_VLE_HA16D, R_PPC_VLE_SDAREL_LO16A, R_PPC_VLE_SDAREL_LO16D, 912 R_PPC_VLE_SDAREL_HI16A, R_PPC_VLE_SDAREL_HI16D, 913 R_PPC_VLE_SDAREL_HA16A, and R_PPC_VLE_SDAREL_HA16D relocs. 914 (ppc_elf_link_hash_table_create): Update default_params init. 915 (ppc_elf_vle_split16): Correct shift and mask. Add params. 916 Report or fix insn/reloc mismatches. 917 (ppc_elf_relocate_section): Pass input_section, offset and fixup 918 to ppc_elf_vle_split16. 919 9202016-11-22 Alan Modra <amodra@gmail.com> 921 922 * elf32-ppc.c (ppc64_elf_relocate_section): Calculate d_offset for 923 input_bfd. Replace occurrences of output_bfd as bfd_get_32 and 924 bfd_put_32 param with input_bfd. 925 * elf32-ppc.c (ppc_elf_relocate_section): Likewise. Also 926 ppc_elf_vle_split16 param. 927 (ppc_elf_vle_split16): Rename output_bfd param to input_bfd. 928 9292016-11-21 Maciej W. Rozycki <macro@imgtec.com> 930 931 * dwarf2.c (build_line_info_table): Rename `index' local 932 variable to `line_index'. 933 (build_lookup_funcinfo_table): Rename `index' local variable to 934 `func_index'. 935 9362016-11-19 Jose E. Marchesi <jose.marchesi@oracle.com> 937 938 * elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Do not 939 apply the negative GOT offset optimization in 64-bit code. 940 9412016-11-18 James Clarke <jrtc27@jrtc27.com> 942 943 * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Don't convert 944 R_SPARC_GOTDATA_OP_HIX22 and R_SPARC_GOTDATA_OP_LOX10 to 945 R_SPARC_GOT* for non-local references. Instead, treat them like 946 R_SPARC_GOTDATA_HIX22/R_SPARC_GOTDATA_LOX10 when filling in the 947 immediate with the calculated relocation. 948 9492016-11-18 Nick Clifton <nickc@redhat.com> 950 951 PR ld/20675 952 * elf32-metag.c (elf_metag_relocate_section): Replace abort with 953 an informative error message. 954 9552016-11-15 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> 956 957 PR ld/20789 958 * bfd/elf32-avr.c (elf32_avr_adjust_diff_reloc_value): Do signed 959 manipulation of diff value, and don't assume sym2 is less than sym1. 960 (elf32_avr_adjust_reloc_if_spans_insn): New function. 961 (elf32_avr_relax_delete_bytes): Use elf32_avr_adjust_diff_reloc_value, 962 and remove redundant did_pad. 963 964 9652016-11-14 H.J. Lu <hongjiu.lu@intel.com> 966 967 PR ld/20800 968 * elf64-x86-64.c (elf_x86_64_relocate_section): Also check 969 plt_got.offset for R_X86_64_PLTOFF64. 970 9712016-11-14 Nick Clifton <nickc@redhat.com> 972 973 * coffcode.h (coff_slurp_symbol_table): Fix typo: Faal -> Fall. 974 9752016-11-11 Luke Allardyce <lukeallardyce@gmail.com> 976 977 PR ld/20722 978 * coffcode.h (coff_slurp_symbol_table): Accept C_HIDDEN symbols, 979 but treat them as debugging symbols. 980 9812016-11-10 Jiong Wang <jiong.wang@arm.com> 982 983 PR target/20737 984 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Bind defined 985 symbol locally in PIE. 986 9872016-11-10 Nick Clifton <nickc@redhat.com> 988 989 PR binutils/20801 990 * compress.c (bfd_get_full_section_contents): Provide a more 991 helpful error message when a section is too large to load. 992 9932016-11-08 Pedro Alves <palves@redhat.com> 994 995 * dwarf2.c (struct funcinfo) <is_linkage>: Type is bfd_boolean, 996 not "bfd boolean". 997 9982016-11-08 Igor Tsimbalist <tigor.tools@gmail.com> 999 1000 * dwarf2.c (comp_unit): Add new fields 'lookup_funcinfo_table' and 1001 'number_of_functions' to keep lookup table and number of entries in 1002 the table. 1003 (line_sequence): Add new fields 'line_info_lookup' and 'num_lines' 1004 to keep lookup table and number of entries in the table. 1005 (lookup_funcinfo): New structure for lookup table for function 1006 references. 1007 (build_line_info_table): New function to create and build the lookup 1008 table for line information. 1009 (lookup_address_in_line_info_table): Use the lookup table instead of 1010 traverse a linked list. 1011 (compare_lookup_funcinfos): New compare fuction used in sorting of 1012 lookup table for function references. 1013 (build_lookup_funcinfo_table): New function to create, build and 1014 sort the lookup table for functions references. 1015 (lookup_address_in_function_table): Use the table instead of 1016 traverse a linked list. 1017 (_bfd_dwarf2_cleanup_debug_info): Free memory from function references 1018 lookup table. 1019 10202016-11-04 Nick Clifton <nickc@redhat.com> 1021 1022 * targets.c (bfd_target_vector): Only add riscv_elf32_vec target 1023 when supporting 64-bit BFD targets. 1024 10252016-11-03 Tristan Gingold <gingold@adacore.com> 1026 1027 * config.bfd: Deprecate many old triplets. 1028 10292016-11-03 Nick Clifton <nickc@redhat.com> 1030 1031 * po/da.po: Updated Danish translation. 1032 10332016-11-01 Maciej W. Rozycki <macro@imgtec.com> 1034 1035 * reloc.c (bfd_default_reloc_type_lookup) <BFD_RELOC_CTOR>: Do 1036 not fall through to the default case. 1037 10382016-11-01 Palmer Dabbelt <palmer@dabbelt.com> 1039 Andrew Waterman <andrew@sifive.com> 1040 1041 Add support for RISC-V architecture. 1042 * Makefile.am: Add entries for riscv32-elf and riscv64-elf. 1043 * config.bdf: Likewise. 1044 * configure.ac: Likewise. 1045 * Makefile.in: Regenerate. 1046 * configure: Regenerate. 1047 * archures.c: Add bfd_riscv_arch. 1048 * reloc.c: Add riscv relocs. 1049 * targets.c: Add riscv_elf32_vec and riscv_elf64_vec. 1050 * bfd-in2.h: Regenerate. 1051 * libbfd.h: Regenerate. 1052 * elf-bfd.h: Add RISCV_ELF_DATA to enum elf_target_id. 1053 * elfnn-riscv.c: New file. 1054 * elfxx-riscv.c: New file. 1055 * elfxx-riscv.h: New file. 1056 10572016-10-31 Alan Modra <amodra@gmail.com> 1058 1059 PR 20748 1060 * elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Revert 1061 2016-05-13 change. 1062 10632016-10-27 Andrew Burgess <andrew.burgess@embecosm.com> 1064 1065 * cpu-arc.c (arc_get_mach): Delete. 1066 10672016-10-25 Maciej W. Rozycki <macro@imgtec.com> 1068 1069 * elfxx-mips.c (STUB_JALR): Correct description. 1070 10712016-10-20 Nick Clifton <nickc@redhat.com> 1072 1073 * po/gas.pot: Regenerate. 1074 10752016-10-19 Nick Clifton <nickc@redhat.com> 1076 1077 * aout-adobe.c: Add missing c-format tags for translatable strings. 1078 * aout-cris.c: Likewise. 1079 * aoutx.h: Likewise. 1080 * bfd.c: Likewise. 1081 * binary.c: Likewise. 1082 * cache.c: Likewise. 1083 * coff-alpha.c: Likewise. 1084 * coff-arm.c: Likewise. 1085 * coff-i860.c: Likewise. 1086 * coff-mcore.c: Likewise. 1087 * coff-ppc.c: Likewise. 1088 * coff-rs6000.c: Likewise. 1089 * coff-sh.c: Likewise. 1090 * coff-tic4x.c: Likewise. 1091 * coff-tic54x.c: Likewise. 1092 * coff-tic80.c: Likewise. 1093 * coff64-rs6000.c: Likewise. 1094 * coffcode.h: Likewise. 1095 * coffgen.c: Likewise. 1096 * cofflink.c: Likewise. 1097 * coffswap.h: Likewise. 1098 * cpu-arm.c: Likewise. 1099 * dwarf2.c: Likewise. 1100 * ecoff.c: Likewise. 1101 * elf-attrs.c: Likewise. 1102 * elf-eh-frame.c: Likewise. 1103 * elf-ifunc.c: Likewise. 1104 * elf-m10300.c: Likewise. 1105 * elf-s390-common.c: Likewise. 1106 * elf.c: Likewise. 1107 * elf32-arc.c: Likewise. 1108 * elf32-arm.c: Likewise. 1109 * elf32-avr.c: Likewise. 1110 * elf32-bfin.c: Likewise. 1111 * elf32-cr16.c: Likewise. 1112 * elf32-cr16c.c: Likewise. 1113 * elf32-cris.c: Likewise. 1114 * elf32-crx.c: Likewise. 1115 * elf32-d10v.c: Likewise. 1116 * elf32-d30v.c: Likewise. 1117 * elf32-epiphany.c: Likewise. 1118 * elf32-fr30.c: Likewise. 1119 * elf32-frv.c: Likewise. 1120 * elf32-gen.c: Likewise. 1121 * elf32-hppa.c: Likewise. 1122 * elf32-i370.c: Likewise. 1123 * elf32-i386.c: Likewise. 1124 * elf32-i960.c: Likewise. 1125 * elf32-ip2k.c: Likewise. 1126 * elf32-iq2000.c: Likewise. 1127 * elf32-lm32.c: Likewise. 1128 * elf32-m32c.c: Likewise. 1129 * elf32-m32r.c: Likewise. 1130 * elf32-m68hc11.c: Likewise. 1131 * elf32-m68hc12.c: Likewise. 1132 * elf32-m68hc1x.c: Likewise. 1133 * elf32-m68k.c: Likewise. 1134 * elf32-mcore.c: Likewise. 1135 * elf32-mep.c: Likewise. 1136 * elf32-metag.c: Likewise. 1137 * elf32-microblaze.c: Likewise. 1138 * elf32-moxie.c: Likewise. 1139 * elf32-msp430.c: Likewise. 1140 * elf32-mt.c: Likewise. 1141 * elf32-nds32.c: Likewise. 1142 * elf32-nios2.c: Likewise. 1143 * elf32-or1k.c: Likewise. 1144 * elf32-pj.c: Likewise. 1145 * elf32-ppc.c: Likewise. 1146 * elf32-rl78.c: Likewise. 1147 * elf32-rx.c: Likewise. 1148 * elf32-s390.c: Likewise. 1149 * elf32-score.c: Likewise. 1150 * elf32-score7.c: Likewise. 1151 * elf32-sh-symbian.c: Likewise. 1152 * elf32-sh.c: Likewise. 1153 * elf32-sh64.c: Likewise. 1154 * elf32-spu.c: Likewise. 1155 * elf32-tic6x.c: Likewise. 1156 * elf32-tilepro.c: Likewise. 1157 * elf32-v850.c: Likewise. 1158 * elf32-vax.c: Likewise. 1159 * elf32-visium.c: Likewise. 1160 * elf32-xgate.c: Likewise. 1161 * elf32-xtensa.c: Likewise. 1162 * elf64-alpha.c: Likewise. 1163 * elf64-gen.c: Likewise. 1164 * elf64-hppa.c: Likewise. 1165 * elf64-ia64-vms.c: Likewise. 1166 * elf64-mmix.c: Likewise. 1167 * elf64-ppc.c: Likewise. 1168 * elf64-s390.c: Likewise. 1169 * elf64-sh64.c: Likewise. 1170 * elf64-sparc.c: Likewise. 1171 * elf64-x86-64.c: Likewise. 1172 * elfcode.h: Likewise. 1173 * elfcore.h: Likewise. 1174 * elflink.c: Likewise. 1175 * elfnn-aarch64.c: Likewise. 1176 * elfnn-ia64.c: Likewise. 1177 * elfxx-mips.c: Likewise. 1178 * elfxx-sparc.c: Likewise. 1179 * elfxx-tilegx.c: Likewise. 1180 * ieee.c: Likewise. 1181 * ihex.c: Likewise. 1182 * libbfd.c: Likewise. 1183 * linker.c: Likewise. 1184 * m68klinux.c: Likewise. 1185 * mach-o.c: Likewise. 1186 * merge.c: Likewise. 1187 * mmo.c: Likewise. 1188 * oasys.c: Likewise. 1189 * pdp11.c: Likewise. 1190 * pe-mips.c: Likewise. 1191 * peXXigen.c: Likewise. 1192 * pei-x86_64.c: Likewise. 1193 * peicode.h: Likewise. 1194 * ppcboot.c: Likewise. 1195 * reloc.c: Likewise. 1196 * sparclinux.c: Likewise. 1197 * srec.c: Likewise. 1198 * stabs.c: Likewise. 1199 * vms-alpha.c: Likewise. 1200 * vms-lib.c: Likewise. 1201 * xcofflink.c: Likewise. 1202 12032016-10-18 Nick Clifton <nickc@redhat.com> 1204 1205 * po/da.po: Updated Danish translation. 1206 12072016-10-18 Maciej W. Rozycki <macro@imgtec.com> 1208 1209 * elf32-nds32.c (nds32_elf_check_relocs): Avoid aliasing warning 1210 from GCC. 1211 12122016-10-18 Maciej W. Rozycki <macro@imgtec.com> 1213 1214 * elf32-arm.c (elf32_arm_update_relocs): Rename `index' local 1215 variable to `reloc_index'. 1216 12172016-10-12 Alan Modra <amodra@gmail.com> 1218 1219 * section.c (BFD_FAKE_SECTION): Reorder parameters. Formatting. 1220 (STD_SECTION): Adjust to suit. 1221 * elf.c (_bfd_elf_large_com_section): Likewise. 1222 * bfd-in2.h: Regenerate. 1223 12242016-10-11 Alan Modra <amodra@gmail.com> 1225 1226 * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Handle symbols 1227 defined temporarily with bfd_und_section. 1228 * elflink.c (_bfd_elf_gc_keep): Don't set SEC_KEEP for bfd_und_section. 1229 * elfxx-mips.c (mips_elf_local_pic_function_p): Exclude defined 1230 symbols with bfd_und_section. 1231 12322016-10-07 Alan Modra <amodra@gmail.com> 1233 1234 * targets.c (bfd_target <_bfd_merge_private_bfd_data>): Replace 1235 obfd param with struct bfd_link_info param. Update all callers. 1236 * linker.c (bfd_merge_private_bfd_data): Likewise. 1237 (_bfd_generic_verify_endian_match): Likewise. 1238 * aoutf1.h (sunos_merge_private_bfd_data): Likewise. 1239 * coff-arm.c (coff_arm_merge_private_bfd_data): Likewise. 1240 * elf-attrs.c (_bfd_elf_merge_object_attributes): Likewise. 1241 * elf-bfd.h (_bfd_elf_ppc_merge_fp_attributes): Likewise. 1242 (_bfd_elf_merge_object_attributes): Likewise. 1243 * elf-m10300.c (_bfd_mn10300_elf_merge_private_bfd_data): Likewise. 1244 * elf-s390-common.c (elf_s390_merge_obj_attributes): Likewise. 1245 * elf32-arc.c (arc_elf_merge_private_bfd_data): Likewise. 1246 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Likewise. 1247 (elf32_arm_merge_private_bfd_data): Likewise. 1248 * elf32-bfin.c (elf32_bfin_merge_private_bfd_data): Likewise. 1249 * elf32-cr16.c (_bfd_cr16_elf_merge_private_bfd_data): Likewise. 1250 * elf32-cris.c (cris_elf_merge_private_bfd_data): Likewise. 1251 * elf32-frv.c (frv_elf_merge_private_bfd_data): Likewise. 1252 * elf32-h8300.c (elf32_h8_merge_private_bfd_data): Likewise. 1253 * elf32-i370.c (i370_elf_merge_private_bfd_data): Likewise. 1254 * elf32-iq2000.c (iq2000_elf_merge_private_bfd_data): Likewise. 1255 * elf32-m32c.c (m32c_elf_merge_private_bfd_data): Likewise. 1256 * elf32-m32r.c (m32r_elf_merge_private_bfd_data): Likewise. 1257 * elf32-m68hc1x.c (_bfd_m68hc11_elf_merge_private_bfd_data): Likewise. 1258 * elf32-m68hc1x.h (_bfd_m68hc11_elf_merge_private_bfd_data): Likewise. 1259 * elf32-m68k.c (elf32_m68k_merge_private_bfd_data): Likewise. 1260 * elf32-mcore.c (mcore_elf_merge_private_bfd_data): Likewise. 1261 * elf32-mep.c (mep_elf_merge_private_bfd_data): Likewise. 1262 * elf32-msp430.c (elf32_msp430_merge_mspabi_attributes): Likewise. 1263 (elf32_msp430_merge_private_bfd_data): Likewise. 1264 * elf32-mt.c (mt_elf_merge_private_bfd_data): Likewise. 1265 * elf32-nds32.c (nds32_elf_merge_private_bfd_data): Likewise. 1266 * elf32-nios2.c (nios2_elf32_merge_private_bfd_data): Likewise. 1267 * elf32-or1k.c (elf32_or1k_merge_private_bfd_data): Likewise. 1268 * elf32-ppc.c (_bfd_elf_ppc_merge_fp_attributes): Likewise. 1269 (ppc_elf_merge_obj_attributes): Likewise. 1270 (ppc_elf_merge_private_bfd_data): Likewise. 1271 * elf32-rl78.c (rl78_elf_merge_private_bfd_data): Likewise. 1272 * elf32-rx.c (rx_elf_merge_private_bfd_data): Likewise. 1273 * elf32-s390.c (elf32_s390_merge_private_bfd_data): Likewise. 1274 * elf32-score.c (s3_elf32_score_merge_private_bfd_data): Likewise. 1275 (elf32_score_merge_private_bfd_data): Likewise. 1276 * elf32-score.h (s7_elf32_score_merge_private_bfd_data): Likewise. 1277 * elf32-score7.c (s7_elf32_score_merge_private_bfd_data): Likewise. 1278 * elf32-sh.c (sh_merge_bfd_arch, sh_elf_merge_private_data): Likewise. 1279 * elf32-sh64.c (sh64_elf_merge_private_data): Likewise. 1280 * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Likewise. 1281 * elf32-tic6x.c (elf32_tic6x_merge_attributes): Likewise. 1282 (elf32_tic6x_merge_private_bfd_data): Likewise. 1283 * elf32-v850.c (v850_elf_merge_private_bfd_data): Likewise. 1284 * elf32-vax.c (elf32_vax_merge_private_bfd_data): Likewise. 1285 * elf32-visium.c (visium_elf_merge_private_bfd_data): Likewise. 1286 * elf32-xtensa.c (elf_xtensa_merge_private_bfd_data): Likewise. 1287 * elf64-ia64-vms.c (elf64_ia64_merge_private_bfd_data): Likewise. 1288 * elf64-ppc.c (ppc64_elf_merge_private_bfd_data): Likewise. 1289 * elf64-s390.c (elf64_s390_merge_private_bfd_data): Likewise. 1290 * elf64-sh64.c (sh_elf64_merge_private_data): Likewise. 1291 * elf64-sparc.c (elf64_sparc_merge_private_bfd_data): Likewise. 1292 * elfnn-aarch64.c (elfNN_aarch64_merge_private_bfd_data): Likewise. 1293 * elfnn-ia64.c (elfNN_ia64_merge_private_bfd_data): Likewise. 1294 * elfxx-mips.c (mips_elf_merge_obj_e_flags): Likewise. 1295 (mips_elf_merge_obj_attributes): Likewise. 1296 (_bfd_mips_elf_merge_private_bfd_data): Likewise. 1297 * elfxx-mips.h (_bfd_mips_elf_merge_private_bfd_data): Likewise. 1298 * elfxx-sparc.c (_bfd_sparc_elf_merge_private_bfd_data): Likewise. 1299 * elfxx-sparc.h (_bfd_sparc_elf_merge_private_bfd_data): Likewise. 1300 * elfxx-target.h (bfd_elfNN_bfd_merge_private_bfd_data): Likewise. 1301 * elfxx-tilegx.c (_bfd_tilegx_elf_merge_private_bfd_data): Likewise. 1302 * elfxx-tilegx.h (_bfd_tilegx_elf_merge_private_bfd_data): Likewise. 1303 * libbfd-in.h (_bfd_generic_bfd_merge_private_bfd_data): Likewise. 1304 * bfd-in2.h: Regenerate. 1305 * libbfd.h: Regenerate. 1306 13072016-10-07 Alan Modra <amodra@gmail.com> 1308 1309 * Makefile.am (LIBBFD_H_FILES): Update. 1310 * doc/Makefile.am (LIBBFD_H_DEP): Likewise. 1311 * cpu-sh.c (sh_merge_bfd_arch): Move to.. 1312 * elf32-sh.c: ..here, and make static. 1313 * elf32-arc.c (arc_elf_merge_private_bfd_data): Delete extraneous 1314 error. 1315 * elf32-cris.c (cris_elf_merge_private_bfd_data): Don't call 1316 _bfd_generic_verify_endian_match. 1317 * elf32-microblaze.c (microblaze_elf_merge_private_bfd_data): Delete. 1318 (bfd_elf32_bfd_merge_private_bfd_data): Define as 1319 _bfd_generic_verify_endian_match. 1320 * elf32-mt.c (mt_elf_merge_private_bfd_data): Don't test 1321 boolean == FALSE. 1322 * elf32-xgate.c (_bfd_xgate_elf_merge_private_bfd_data): Delete. 1323 (bfd_elf32_bfd_merge_private_bfd_data): Don't define. 1324 * elf32-xgate.h (_bfd_xgate_elf_merge_private_bfd_data): Delete. 1325 * libbfd-in.h (_bfd_generic_verify_endian_match): Delete. 1326 * libbfd.c (_bfd_generic_verify_endian_match): Move to.. 1327 * linker.c: ..here, and make internal. 1328 * bfd.c (bfd_merge_private_bfd_data): Move to.. 1329 * linker.c: ..here. 1330 * Makefile.in: Regenerate. 1331 * doc/Makefile.in: Regenerate. 1332 * bfd-in2.h: Regenerate. 1333 * libbfd.h: Regenerate. 1334 13352016-10-06 Alan Modra <amodra@gmail.com> 1336 1337 * coff-h8300.c: Spell fall through comments consistently. 1338 * coffgen.c: Likewise. 1339 * elf32-hppa.c: Likewise. 1340 * elf32-ppc.c: Likewise. 1341 * elf32-score.c: Likewise. 1342 * elf32-score7.c: Likewise. 1343 * elf64-ppc.c: Likewise. 1344 * elfxx-aarch64.c: Likewise. 1345 * elfxx-mips.c: Likewise. 1346 * cpu-ns32k.c: Add missing fall through comments. 1347 * elf-m10300.c: Likewise. 1348 * elf32-arm.c: Likewise. 1349 * elf32-avr.c: Likewise. 1350 * elf32-bfin.c: Likewise. 1351 * elf32-frv.c: Likewise. 1352 * elf32-i386.c: Likewise. 1353 * elf32-microblaze.c: Likewise. 1354 * elf32-nds32.c: Likewise. 1355 * elf32-ppc.c: Likewise. 1356 * elf32-rl78.c: Likewise. 1357 * elf32-rx.c: Likewise. 1358 * elf32-s390.c: Likewise. 1359 * elf32-sh.c: Likewise. 1360 * elf32-tic6x.c: Likewise. 1361 * elf64-ia64-vms.c: Likewise. 1362 * elf64-ppc.c: Likewise. 1363 * elf64-s390.c: Likewise. 1364 * elf64-x86-64.c: Likewise. 1365 * elflink.c: Likewise. 1366 * elfnn-aarch64.c: Likewise. 1367 * elfnn-ia64.c: Likewise. 1368 * ieee.c: Likewise. 1369 * oasys.c: Likewise. 1370 * pdp11.c: Likewise. 1371 * srec.c: Likewise. 1372 * versados.c: Likewise. 1373 13742016-10-06 Alan Modra <amodra@gmail.com> 1375 1376 * coffcode.h (coff_slurp_symbol_table): Revert accidental commit 1377 made 2015-01-08. 1378 * elf32-nds32.c (nds32_elf_grok_psinfo): Add missing break. 1379 * reloc.c (bfd_default_reloc_type_lookup): Add missing breaks. 1380 13812016-10-06 Alan Modra <amodra@gmail.com> 1382 1383 * elf32-epiphany.c (epiphany_final_link_relocate): Use bitwise 1384 OR in arithmetic expression, not boolean OR. 1385 13862016-09-30 Alan Modra <amodra@gmail.com> 1387 1388 * Makefile.am (BFD_H_FILES): Add linker.c and simple.c. Sort 1389 as per comment at head of bfd-in2.h. 1390 * Makefile.in: Regenerate. 1391 13922016-09-30 Alan Modra <amodra@gmail.com> 1393 1394 * aout-adobe.c: Replace (*_bfd_error_handler) (...) with 1395 _bfd_error_handler (...) throughout. 1396 * aout-cris.c, * aoutx.h, * archive.c, * bfd.c, * binary.c, 1397 * cache.c, * coff-alpha.c, * coff-arm.c, * coff-h8300.c, 1398 * coff-i860.c, * coff-mcore.c, * coff-ppc.c, * coff-rs6000.c, 1399 * coff-sh.c, * coff-tic4x.c, * coff-tic54x.c, * coff-tic80.c, 1400 * coff64-rs6000.c, * coffcode.h, * coffgen.c, * cofflink.c, 1401 * coffswap.h, * cpu-arm.c, * cpu-m68k.c, * cpu-sh.c, * dwarf2.c, 1402 * ecoff.c, * elf-eh-frame.c, * elf-m10300.c, * elf.c, * elf32-arc.c, 1403 * elf32-arm.c, * elf32-avr.c, * elf32-bfin.c, * elf32-cr16.c, 1404 * elf32-cris.c, * elf32-crx.c, * elf32-dlx.c, * elf32-frv.c, 1405 * elf32-hppa.c, * elf32-i370.c, * elf32-i386.c, * elf32-lm32.c, 1406 * elf32-m32c.c, * elf32-m32r.c, * elf32-m68hc1x.c, * elf32-m68k.c, 1407 * elf32-mcore.c, * elf32-mep.c, * elf32-metag.c, * elf32-microblaze.c, 1408 * elf32-mips.c, * elf32-nds32.c, * elf32-nios2.c, * elf32-or1k.c, 1409 * elf32-pj.c, * elf32-ppc.c, * elf32-rl78.c, * elf32-s390.c, 1410 * elf32-score.c, * elf32-score7.c, * elf32-sh.c, * elf32-sh64.c, 1411 * elf32-sparc.c, * elf32-spu.c, * elf32-tic6x.c, * elf32-tilepro.c, 1412 * elf32-v850.c, * elf32-vax.c, * elf32-xtensa.c, * elf64-alpha.c, 1413 * elf64-hppa.c, * elf64-ia64-vms.c, * elf64-mips.c, * elf64-mmix.c, 1414 * elf64-ppc.c, * elf64-s390.c, * elf64-sh64.c, * elf64-sparc.c, 1415 * elf64-x86-64.c, * elfcode.h, * elfcore.h, * elflink.c, 1416 * elfn32-mips.c, * elfnn-aarch64.c, * elfnn-ia64.c, * elfxx-mips.c, 1417 * elfxx-sparc.c, * elfxx-tilegx.c, * hpux-core.c, * i386linux.c, 1418 * ieee.c, * ihex.c, * libbfd.c, * linker.c, * m68klinux.c, 1419 * mach-o.c, * merge.c, * mmo.c, * oasys.c, * osf-core.c, * pdp11.c, 1420 * pe-mips.c, * peXXigen.c, * pef.c, * plugin.c, * reloc.c, 1421 * rs6000-core.c, * sco5-core.c, * som.c, * sparclinux.c, * srec.c, 1422 * stabs.c, * syms.c, * vms-alpha.c, * vms-lib.c, * vms-misc.c, 1423 * xcofflink.c: Likewise. 1424 14252016-09-30 Alan Modra <amodra@gmail.com> 1426 1427 * bfd-in.h: Include stdarg.h. 1428 * bfd.c (bfd_error_handler_type): Make like vprintf. 1429 (_bfd_error_internal): Rename from _bfd_error_handler. Make static. 1430 (error_handler_internal): New function, split out from.. 1431 (_bfd_default_error_handler): ..here. Rename to _bfd_error_handler. 1432 (bfd_set_error_handler): Update. 1433 (bfd_get_error_handler, bfd_get_assert_handler): Delete. 1434 (_bfd_assert_handler): Make static. 1435 * coffgen.c (null_error_handler): Update params. 1436 * elf-bfd.h (struct elf_backend_data <link_order_error_handler>): 1437 Don't use bfd_error_handler_type. 1438 * elf64-mmix.c (mmix_dump_bpo_gregs): Likewise. 1439 * elfxx-target.h (elf_backend_link_order_error_handler): Default 1440 to _bfd_error_handler. 1441 * libbfd-in.h (_bfd_default_error_handler): Don't declare. 1442 (bfd_assert_handler_type): Likewise. 1443 (_bfd_error_handler): Update. 1444 * bfd-in2.h: Regenerate. 1445 * libbfd.h: Regenerate. 1446 14472016-09-28 Akihiko Odaki <akihiko.odaki.4i@stu.hosei.ac.jp> 1448 1449 PR ld/20636 1450 * elf-bfd.h (struct elf_backend_data): Delete 1451 elf_backend_count_output_relocs callback and add 1452 elf_backend_update_relocs. 1453 * elf32-arm.c (elf32_arm_count_output_relocs): Deleted. 1454 (emit_relocs): Deleted. 1455 (elf32_arm_emit_relocs): Deleted. 1456 (elf_backend_emit_relocs): Updated not to use the old functions. 1457 (elf32_arm_update_relocs): New function. 1458 (elf_backend_update_relocs): New define. 1459 * elflink.c (bfd_elf_final_link): Add additional_reloc_count to the 1460 relocation count. Call elf_backend_emit_relocs. 1461 (_bfd_elf_size_reloc_section): Do not call 1462 elf_backend_count_output_relocs. 1463 * elfxx-target.h (elf_backend_count_output_relocs): Deleted. 1464 (elf_backend_update_relocs): New define. 1465 14662016-09-28 Christophe Lyon <christophe.lyon@linaro.org> 1467 1468 PR ld/20608 1469 * elf32-arm.c (arm_type_of_stub): Handle the case when the pre-PLT 1470 Thumb-ARM stub is too far. 1471 14722016-09-27 Nick Clifton <nickc@redhat.com> 1473 1474 PR ld/20634 1475 * peXXigen.c (_bfd_XXi_only_swap_filehdr_out): Put 0 in the 1476 timestamp field if real time values are not being stored. 1477 14782016-09-26 Vlad Zakharov <vzakhar@synopsys.com> 1479 1480 * warning.m4 (AC_EGREP_CPP_FOR_BUILD): Introduce macro 1481 to verify CC_FOR_BUILD compiler. 1482 (AM_BINUTILS_WARNINGS): Introduce ac_cpp_for_build variable 1483 and add CC_FOR_BUILD compiler checks. 1484 * Makefile.in: Regenerate. 1485 * configure: Likewise. 1486 * doc/Makefile.in: Likewise. 1487 14882016-09-26 Awson <kyrab@mail.ru> 1489 1490 PR ld/17955 1491 * coff-x86_64.c (coff_amd64_rtype_to_howto): Use an 8 byte offset 1492 for R_AMD64_PCRQUAD relocations. 1493 14942016-09-26 Alan Modra <amodra@gmail.com> 1495 1496 * elf-bfd.h (_bfd_elf_ppc_merge_fp_attributes): Declare. 1497 * elf32-ppc.c (_bfd_elf_ppc_merge_fp_attributes): New function. 1498 (ppc_elf_merge_obj_attributes): Use it. Don't copy first file 1499 attributes, merge them. Don't warn about undefined tag bits, 1500 or copy unknown values to output. 1501 * elf64-ppc.c (ppc64_elf_merge_private_bfd_data): Call 1502 _bfd_elf_ppc_merge_fp_attributes. 1503 15042016-09-23 Akihiko Odaki <akihiko.odaki.4i@stu.hosei.ac.jp> 1505 1506 PR ld/20595 1507 * elf-bfd.h (struct elf_backend_data): Add 1508 elf_backend_count_output_relocs callback to count relocations in 1509 the final output. 1510 * elf-arm.c (elf32_arm_add_relocation): Deleted. 1511 (elf32_arm_write_section): Move additional relocation to emit_relocs. 1512 (elf32_arm_count_output_relocs): New function. 1513 (emit_relocs): New function. 1514 (elf32_arm_emit_relocs): New function. 1515 (elf32_arm_vxworks_emit_relocs): New function. 1516 (elf_backend_emit_relocs): Updated to use the new functions. 1517 (elf_backend_count_output_relocs): New define. 1518 * bfd/elflink.c (bfd_elf_final_link): Do not add additional_reloc_count 1519 to the relocation count. 1520 (_bfd_elf_link_size_reloc_section): Use callback to count the 1521 relocations which will be in output. 1522 (_bfd_elf_default_count_output_relocs): New function. 1523 * bfd/elfxx-target.h (elf_backend_count_output_relocs): New define. 1524 15252016-09-19 Jose E. Marchesi <jose.marchesi@oracle.com> 1526 1527 * elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Allow 1528 negative offsets to _GLOBAL_OFFSET_TABLE_ if the .got section is 1529 bigger than 0x1000 bytes. 1530 15312016-09-14 Thomas Preud'homme <thomas.preudhomme@arm.com> 1532 1533 * elf32-arm.c (elf32_arm_gc_mark_extra_sections): Only mark section 1534 not already marked. 1535 15362016-09-14 Nick Clifton <nickc@redhat.com> 1537 1538 PR binutils/20605 1539 * peicode.h (pe_bfd_read_buildid): Check that the Data Directory 1540 contains a valid size for the Debug directory. 1541 15422016-09-14 Bhushan Attarde <bhushan.attarde@imgtec.com> 1543 1544 * format.c (struct bfd_preserve): New "build_id" field. 1545 (bfd_preserve_save): Save "build_id". 1546 (bfd_preserve_restore): Restore "build_id". 1547 15482016-09-06 H.J. Lu <hongjiu.lu@intel.com> 1549 1550 PR ld/20550 1551 * elf64-x86-64.c (elf_x86_64_relocate_section): Resolve size 1552 relocation with copy relocation when building executable. 1553 15542016-09-02 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> 1555 1556 PR ld/20545 1557 * elf32-avr.c (elf32_avr_relax_delete_bytes): Add parameter 1558 delete_shrinks_insn. Modify computation of shrinked_insn_address. 1559 Compute shrink_boundary and adjust addend only if 1560 addend_within_shrink_boundary. 1561 (elf32_avr_relax_section): Modify calls to 1562 elf32_avr_relax_delete_bytes to pass extra parameter. 1563 15642016-09-01 Thomas Preud'homme <thomas.preudhomme@arm.com> 1565 1566 * elf32-arm.c (cmse_entry_fct_p): Store instruction encoding in an 1567 array of bytes and use bfd_get_16 to interpret its encoding according 1568 to endianness of target. 1569 15702016-09-01 Alan Modra <amodra@gmail.com> 1571 1572 * elf64-ppc.c (synthetic_opd): New static var. 1573 (compare_symbols): Don't treat symbols in .opd specially for ELFv2. 1574 (ppc64_elf_get_synthetic_symtab): Likewise. Comment. 1575 15762016-08-31 Alan Modra <amodra@gmail.com> 1577 1578 * elf64-ppc.c (group_sections): Delete stub14_group_size. Instead, 1579 track max group size with a new "group_size" var that is reduced 1580 by a factor of 1024 from the 24-bit branch size whenever a 14-bit 1581 branch is seen. 1582 15832016-08-31 Alan Modra <amodra@gmail.com> 1584 1585 * elf32-ppc.c (ppc_elf_section_processing): Delete. 1586 (elf_backend_section_processing): Don't define. 1587 (ppc_elf_modify_segment_map): Set p_flags and mark valid. Don't 1588 split on non-exec sections differing in SHF_PPC_VLE. When 1589 splitting segments, mark size invalid. 1590 15912016-08-30 Alan Modra <amodra@gmail.com> 1592 1593 PR 20531 1594 * elf32-ppc.c (_bfd_elf_ppc_set_arch): Add missing "break". 1595 15962016-08-29 H.J. Lu <hongjiu.lu@intel.com> 1597 1598 PR ld/14961 1599 PR ld/20515 1600 * elf32-i386.c (elf_i386_check_relocs): Issue an error when 1601 R_386_PC32 relocation is used to call IFUNC function in PIC 1602 object. 1603 16042016-08-27 Alan Modra <amodra@gmail.com> 1605 1606 PR 20520 1607 * elf.c (_bfd_elf_setup_sections): Check that SHT_GROUP sections 1608 have corresponding SHF_GROUP sections. 1609 (bfd_elf_set_group_contents): Comment. 1610 16112016-08-27 Alan Modra <amodra@gmail.com> 1612 1613 PR 20519 1614 * elf64-ppc.c (pc_dynrelocs): New function. 1615 (ppc64_elf_relocate_section): Use it and must_be_dyn_reloc to 1616 handle pic dynamic relocs. 1617 16182016-08-26 Thomas Preud'homme <thomas.preudhomme@arm.com> 1619 1620 * bfd-in.h (struct elf32_arm_params): Define. 1621 (bfd_elf32_arm_set_target_relocs): Rename into ... 1622 (bfd_elf32_arm_set_target_params): This. Use a struct 1623 elf32_arm_params to pass all parameters but the bfd and bfd_link_info. 1624 * bfd-in2.h: Regenerate. 1625 * elf32-arm.c (bfd_elf32_arm_set_target_relocs): Rename into ... 1626 (bfd_elf32_arm_set_target_params): This. Pass all values via a struct 1627 elf32_arm_params rather than as individual parameters. 1628 16292016-08-26 Thomas Preud'homme <thomas.preudhomme@arm.com> 1630 1631 * elf32-arm.c (elf32_arm_get_stub_entry): Assert that we don't access 1632 passed the end of htab->stub_group array. 1633 (elf32_arm_create_or_find_stub_sec): Likewise. 1634 (elf32_arm_create_stub): Likewise. 1635 16362016-08-26 Cupertino Miranda <cmiranda@synopsys.com> 1637 1638 * elf32-arc.c (elf_arc_relocate_section): Changed. Set should_relocate 1639 to TRUE for GOT and TLS relocs. 1640 16412016-08-26 Cupertino Miranda <cmiranda@synospsys.com> 1642 1643 * elf32-arc.c (elf_arc_finish_dynamic_sections): Changed. 1644 16452016-08-26 Cupertino Miranda <cmiranda@synopsys.com> 1646 1647 * elf-bfd.h: Added ARC_ELF_DATA to enum elf_target_id. 1648 * elf32-arc.c (struct elf_arc_link_hash_entry): Added. 1649 (struct elf_arc_link_hash_table): Likewise. 1650 (elf_arc_link_hash_newfunc): Likewise. 1651 (elf_arc_link_hash_table_free): Likewise. 1652 (arc_elf_link_hash_table_create): Likewise. 1653 (elf_arc_relocate_section): Fixed conditions related to dynamic 1654 (elf_arc_check_relocs): Likewise. 1655 (arc_elf_create_dynamic_sections): Added 1656 (elf_arc_adjust_dynamic_symbol): Changed access to .rela.bss to be done 1657 through the hash table. 1658 16592016-08-26 Cupertino Miranda <cmiranda@synopsys.com> 1660 1661 * arc-got.h (relocate_fix_got_relocs_for_got_info): Fixed addresses in 1662 debug comments. Fixed address in .got related to TLS_IE_GOT dynamic 1663 relocation. 1664 16652016-08-26 Cupertino Miranda <cmiranda@synopsys.com> 1666 1667 * reloc.c: Fixed type in ARC_SECTOFF relocations. Added ARC_SDA_12 1668 relocation. 1669 * bfd-in2.h: Regenerated from the previous changes. 1670 * libbfd.h: Regenerated from the previous changes. 1671 16722016-08-26 Thomas Preud'homme <thomas.preudhomme@arm.com> 1673 1674 * bfd-in.h (bfd_elf32_arm_set_target_relocs): Add a new parameter for 1675 the input import library bfd. 1676 * bfd-in2.h: Regenerate. 1677 * elf32-arm.c (struct elf32_arm_link_hash_table): New in_implib_bfd 1678 and new_cmse_stub_offset fields. 1679 (stub_hash_newfunc): Initialize stub_offset and stub_template_size to 1680 -1. 1681 (elf32_arm_add_stub): Likewise for stub_offset. 1682 (arm_new_stubs_start_offset_ptr): New function. 1683 (arm_build_one_stub): Only allocate a stub_offset if it is -1. Allow 1684 empty SG veneers to have zero relocations. 1685 (arm_size_one_stub): Only initialize stub size and template 1686 information for non empty veneers. Do not update veneer section size 1687 if veneer already has an offset. 1688 (elf32_arm_create_stub): Return the stub entry pointer or NULL instead 1689 of a boolean indicating success or failure. 1690 (cmse_scan): Change stub_changed parameter into an integer pointer 1691 parameter cmse_stub_created to count the number of stub created and 1692 adapt to change of return value in elf32_arm_create_stub. 1693 (cmse_entry_fct_p): New function. 1694 (arm_list_new_cmse_stub): Likewise. 1695 (set_cmse_veneer_addr_from_implib): Likewise. 1696 (elf32_arm_size_stubs): Define cmse_stub_created, pass its address to 1697 cmse_scan instead of that of cmse_stub_changed to compute the number 1698 of stub created and use it to initialize stub_changed. Call 1699 set_cmse_veneer_addr_from_implib after all cmse_scan. Adapt to change 1700 of return value in elf32_arm_create_stub. Use 1701 arm_stub_section_start_offset () if not NULL to initialize size of 1702 secure gateway veneers section. Initialize stub_offset of Cortex-A8 1703 erratum fix to -1. Use ret to hold return value. 1704 (elf32_arm_build_stubs): Use arm_stub_section_start_offset () if not 1705 NULL to initialize size of secure gateway veneers section. Adapt 1706 comment to stress the importance of zeroing veneer section content. 1707 (bfd_elf32_arm_set_target_relocs): Add new in_implib_bfd parameter to 1708 initialize eponymous field in struct elf32_arm_link_hash_table. 1709 17102016-08-25 Andreas Arnez <arnez@linux.vnet.ibm.com> 1711 1712 * elf32-s390.c (stdarg.h): New include. 1713 (elf_s390_grok_psinfo): New function. 1714 (elf_s390_write_core_note): New function. 1715 (elf_backend_grok_psinfo): Declare backend hook. 1716 (elf_backend_write_core_note): Likewise. 1717 * elf64-s390.c (stdarg.h): New include. 1718 (elf_s390_grok_prstatus): New function. 1719 (elf_s390_grok_psinfo): New function. 1720 (elf_s390_write_core_note): New function. 1721 (elf_backend_grok_prstatus): Declare backend hook. 1722 (elf_backend_grok_psinfo): Likewise. 1723 (elf_backend_write_core_note): Likewise. 1724 17252016-08-25 Andreas Arnez <arnez@linux.vnet.ibm.com> 1726 1727 * elf32-s390.c (allocate_dynrelocs): Fix indentation. 1728 (elf_s390_finish_ifunc_symbol): Likewise. 1729 (elf_s390_finish_dynamic_symbol): Likewise. 1730 (elf_s390_finish_dynamic_sections): Likewise. 1731 (elf_s390_grok_prstatus): Likewise. 1732 * elf64-s390.c (elf_s390_hash_table): Fix indentation. 1733 (elf_s390_finish_dynamic_symbol): Likewise. 1734 17352016-08-24 Anton Kolesov <Anton.Kolesov@synopsys.com> 1736 1737 * elf32-arc.c (elf32_arc_grok_prstatus): New function. 1738 17392016-08-23 Nick Clifton <nickc@redhat.com> 1740 1741 * elf32-arm.c (elf32_arm_count_additional_relocs): Return zero if 1742 there is no arm data associated with the section. 1743 17442016-08-23 Alan Modra <amodra@gmail.com> 1745 1746 PR 20475 1747 * elf32-or1k.c (or1k_elf_relocate_section): Offset from 1748 _GLOBAL_OFFSET_TABLE_, not start of .got section. 1749 17502016-08-22 Nick Clifton <nickc@redhat.com> 1751 1752 * doc/chew.c (main): Free the string buffer used to files as they 1753 are parsed. 1754 17552016-08-22 Alan Modra <amodra@gmail.com> 1756 1757 * elf32-ppc.c (ppc_elf_check_relocs): Move error for @local ifunc.. 1758 (ppc_elf_relocate_section): ..to here. Comment. Error on 1759 detecting -mbss-plt -fPIC local ifuncs too. 1760 (ppc_elf_size_dynamic_sections): Comment on unnecessary glink 1761 branch table entries. 1762 17632016-08-19 Nick Clifton <nickc@redhat.com> 1764 1765 * elf.c (assign_section_numbers): Assign number for the .shstrtab 1766 section after the symbol table and string table sections. 1767 17682016-08-19 Alan Modra <amodra@gmail.com> 1769 1770 * elf64-ppc.c (struct ppc_link_hash_entry): Add weakref. 1771 (ppc64_elf_copy_indirect_symbol): Set weakref. Don't merge 1772 dyn_relocs for weakdefs. 1773 (alias_readonly_dynrelocs): New function. 1774 (ppc64_elf_adjust_dynamic_symbol): Use alias_readonly_dynrelocs. 1775 (ppc64_elf_relocate_section): Simplify condition under which 1776 dyn_relocs are emitted. 1777 17782016-08-19 Alan Modra <amodra@gmail.com> 1779 1780 PR 20472 1781 * elf64-ppc.c (ppc64_elf_before_check_relocs): Tweak abiversion test. 1782 (readonly_dynrelocs): Comment fix. 1783 (global_entry_stub): New function. 1784 (ppc64_elf_adjust_dynamic_symbol): Tweak abiversion test. Match 1785 ELFv2 code deciding on dynamic relocs vs. global entry stubs to 1786 that in size_global_entry_stubs, handling ifunc too. Delete dead 1787 weak sym code. 1788 (allocate_dynrelocs): Ensure dyn_relocs field is cleared when no 1789 dyn_relocs are needed. Correct handling of ifunc dyn_relocs. 1790 Tidy ELIMINATE_COPY_RELOCS code, only setting dynindx for 1791 undefweak syms. Expand and correct comments. 1792 (size_global_entry_stubs): Ensure symbol is defined. 1793 (ppc64_elf_relocate_section): Match condition under which 1794 dyn_relocs are emitted to that in allocate_dynrelocs. 1795 17962016-08-12 Alan Modra <amodra@gmail.com> 1797 1798 * elf-bfd.h (struct elf_link_hash_table): Add local_dynsymcount. 1799 * elflink.c (_bfd_elf_link_renumber_dynsyms): Set local_dynsymcount. 1800 (bfd_elf_final_link): Set .dynsym sh_info from local_dynsymcount. 1801 18022016-08-11 Alan Modra <amodra@gmail.com> 1803 1804 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Don't exit with 1805 non_got_ref true in any case where we could have generated dynbss 1806 copies but decide not to do so. 1807 18082016-08-10 Maciej W. Rozycki <macro@imgtec.com> 1809 1810 * elfxx-mips.c (mips_elf_add_la25_stub): Clear the ISA bit of 1811 the stub address retrieved if associated with a microMIPS 1812 function. 1813 18142016-08-10 Maciej W. Rozycki <macro@imgtec.com> 1815 1816 * elfxx-mips.c (mips_elf_create_stub_symbol): For a microMIPS 1817 stub also add STO_MICROMIPS annotation. 1818 18192016-08-10 Maciej W. Rozycki <macro@imgtec.com> 1820 1821 * elfxx-mips.c (mips_elf_calculate_relocation): Set the ISA bit 1822 in microMIPS LA25 stub references. 1823 18242016-08-09 Jiaming Wei <jmwei@hxgpt.com> 1825 1826 * elf64-alpha.c (elf64_alpha_copy_indirect_symbol): Fix thinko 1827 adjusting the use_count of merged .got entries. 1828 18292016-08-08 Nick Clifton <nickc@redhat.com> 1830 1831 * doc/chew.c (delete_string): Only free the string buffer if it is 1832 there. Mark the buffer as NULL after freeing. 1833 (drop): Free the dropped string. 1834 (free_words): New function: Frees the memory allocated to the 1835 dictionary. 1836 (add_instrinsic): Duplicate the name string, so that it can be 1837 freed later on. 1838 (compile): Free unused words. 1839 (main): Free the dictionary and top level string buffers at the 1840 end. 1841 18422016-08-04 Thomas Preud'homme <thomas.preudhomme@arm.com> 1843 1844 * bfd-in.h (bfd_elf32_arm_set_target_relocs): Add one parameter. 1845 * bfd-in2.h: Regenerate. 1846 * elf32-arm.c (struct elf32_arm_link_hash_table): Declare new 1847 cmse_implib field. 1848 (bfd_elf32_arm_set_target_relocs): Add new parameter to initialize 1849 cmse_implib field in struct elf32_arm_link_hash_table. 1850 (elf32_arm_filter_cmse_symbols): New function. 1851 (elf32_arm_filter_implib_symbols): Likewise. 1852 (elf_backend_filter_implib_symbols): Define to 1853 elf32_arm_filter_implib_symbols. 1854 18552016-08-04 Thomas Preud'homme <thomas.preudhomme@arm.com> 1856 1857 * elf32-arm.c (CMSE_PREFIX): Define macro. 1858 (elf32_arm_stub_cmse_branch_thumb_only): Define stub sequence. 1859 (cmse_branch_thumb_only): Declare stub. 1860 (struct elf32_arm_link_hash_table): Define cmse_stub_sec field. 1861 (elf32_arm_get_plt_info): Add globals parameter. Use it to return 1862 FALSE if there is no PLT. 1863 (arm_type_of_stub): Adapt to new elf32_arm_get_plt_info signature. 1864 (elf32_arm_final_link_relocate): Likewise. 1865 (elf32_arm_gc_sweep_hook): Likewise. 1866 (elf32_arm_gc_mark_extra_sections): Mark sections holding ARMv8-M 1867 secure entry functions. 1868 (arm_stub_is_thumb): Add case for arm_stub_cmse_branch_thumb_only. 1869 (arm_dedicated_stub_output_section_required): Change to a switch case 1870 and add a case for arm_stub_cmse_branch_thumb_only. 1871 (arm_dedicated_stub_output_section_required_alignment): Likewise. 1872 (arm_stub_dedicated_output_section_name): Likewise. 1873 (arm_stub_dedicated_input_section_ptr): Likewise and remove 1874 ATTRIBUTE_UNUSED for htab parameter. 1875 (arm_stub_required_alignment): Likewise. 1876 (arm_stub_sym_claimed): Likewise. 1877 (arm_dedicated_stub_section_padding): Likewise. 1878 (cmse_scan): New function. 1879 (elf32_arm_size_stubs): Call cmse_scan for ARM M profile targets. 1880 Set stub_changed to TRUE if such veneers were created. 1881 (elf32_arm_swap_symbol_in): Add detection code for CMSE special 1882 symbols. 1883 18842016-08-02 Alan Modra <amodra@gmail.com> 1885 1886 PR ld/20428 1887 * elf64-ppc.c (ppc_get_stub_entry): Don't segfault on NULL group. 1888 18892016-08-02 Nick Clifton <nickc@redhat.com> 1890 1891 PR ld/17739 1892 * elf32-sh.c (sh_elf_gc_sweep_hook): Delete. 1893 (elf_backend_sweep_hook): Delete. 1894 18952016-08-01 Andrew Jenner <andrew@codesourcery.com> 1896 Kwok Cheung Yeung <kcy@codesourcery.com> 1897 1898 * elf32-ppc.c (is_branch_reloc): Recognise VLE branch relocations. 1899 (ppc_elf_howto_raw): Fix dst_mask of R_PPC_VLE_REL15. 1900 (ppc_elf_vle_split16): Clear field before inserting. 1901 19022016-08-01 Nick Clifton <nickc@redhat.com> 1903 1904 * po/sv.po: Updated Swedish translation. 1905 19062016-07-27 Ozkan Sezer <sezeroz@gmail.com> 1907 Nick Clifton <nickc@redhat.com> 1908 1909 PR ld/20401 1910 * coffgen.c (fini_reloc_cookie_rels): Check for the extistence 1911 of the coff_section_data before using it. 1912 19132016-07-26 Maciej W. Rozycki <macro@imgtec.com> 1914 1915 * elfxx-mips.c (mips_elf_calculate_relocation): Handle branches 1916 in PLT compression selection. 1917 (_bfd_mips_elf_check_relocs): Likewise. 1918 19192016-07-22 Cupertino Miranda <cmiranda@synopsys.com> 1920 1921 * arc-got.h (relocate_fix_got_relocs_for_got_info): Handle the 1922 case where there's no elf_link_hash_entry while processing 1923 GOT_NORMAL got entries. 1924 19252016-07-21 H.J. Lu <hongjiu.lu@intel.com> 1926 1927 * version.m4 (BFD_VERSION): Set to 2.27.51. 1928 * configure: Regenerated. 1929 19302016-07-21 Nick Clifton <nickc@redhat.com> 1931 1932 * elf.c (_bfd_elf_filter_global_symbols): Skip local symbols. 1933 (swap_out_syms): Return an error when not finding ELF output 1934 section rather than asserting. 1935 19362016-07-21 Thomas Preud'homme <thomas.preudhomme@arm.com> 1937 1938 * elflink.c (elf_output_implib): Call bfd_set_error on no symbols. 1939 19402016-07-20 John Baldwin <jhb@FreeBSD.org> 1941 1942 * elf.c (elfcore_grok_freebsd_psinfo): Check for minimum note size 1943 and handle pr_pid if present. 1944 19452016-07-20 H.J. Lu <hongjiu.lu@intel.com> 1946 1947 PR ld/20376 1948 * elf.c (assign_file_positions_for_load_sections): Also check 1949 p_paddr for program header space. 1950 19512016-07-20 Alan Modra <amodra@gmail.com> 1952 1953 * elf64-ppc.c (ppc64_elf_howto_raw <R_PPC64_PLTREL32>): Put 1954 ppc64_elf_unhandled_reloc for special_function. 1955 * elf32-ppc.c (ppc_elf_howto_raw): Similarly for lots of relocs. 1956 19572016-07-19 Maciej W. Rozycki <macro@imgtec.com> 1958 1959 * elfxx-mips.c (mips_elf_perform_relocation): Convert cross-mode 1960 BAL to JALX. 1961 (_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Add a 1962 corresponding error message. 1963 19642016-07-19 Maciej W. Rozycki <macro@imgtec.com> 1965 1966 * elfxx-mips.c (b_reloc_p): Add R_MICROMIPS_PC16_S1, 1967 R_MICROMIPS_PC10_S1 and R_MICROMIPS_PC7_S1. 1968 (branch_reloc_p): New function. 1969 (mips_elf_calculate_relocation): Handle ISA mode determination 1970 for relocations against section symbols, against absolute 1971 symbols and absolute relocations. Also set `*cross_mode_jump_p' 1972 for branches. 1973 <R_MIPS16_26, R_MIPS_26, R_MICROMIPS_26_S1>: Suppress alignment 1974 checks for weak undefined symbols. Also check target alignment 1975 within the same ISA mode. 1976 <R_MIPS_PC16, R_MIPS_GNU_REL16_S2>: Handle cross-mode branches 1977 in the alignment check. 1978 <R_MICROMIPS_PC7_S1>: Add an alignment check. 1979 <R_MICROMIPS_PC10_S1>: Likewise. 1980 <R_MICROMIPS_PC16_S1>: Likewise. 1981 (mips_elf_perform_relocation): Report a failure for unsupported 1982 same-mode JALX instructions and cross-mode branches. 1983 (_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Add 1984 error messages for jumps to misaligned addresses. 1985 19862016-07-16 Alan Modra <amodra@gmail.com> 1987 1988 * elflink.c: Include plugin-api.h. 1989 * plugin.c (bfd_plugin_open_input): New function, extracted from.. 1990 (try_claim): ..here. 1991 * plugin.h: Don't include bfd.h. 1992 (bfd_plugin_open_input): Declare. 1993 19942016-07-16 Alan Modra <amodra@gmail.com> 1995 1996 * targets.c (bfd_seach_for_target): Rename to.. 1997 (bfd_iterate_over_targets): ..this. Rewrite doc. 1998 * bfd-in2.h: Regenerate. 1999 20002016-07-16 Alan Modra <amodra@gmail.com> 2001 2002 * archures.c (bfd_default_set_arch_mach): Make available in bfd.h. 2003 * libbfd.h: Regenerate. 2004 * bfd-in2.h: Regenerate. 2005 20062016-07-16 Alan Modra <amodra@gmail.com> 2007 2008 * libbfd-in.h (BFD_ALIGN): Move to.. 2009 * bfd-in.h: ..here. 2010 * elf32-ppc.h (struct ppc_elf_params): Add pagesize. 2011 * elf32-ppc.c (default_params): Adjust init. 2012 (ppc_elf_link_params): Set pagesize_p2. 2013 * libbfd.h: Regenerate. 2014 * bfd-in2.h: Regenerate. 2015 20162016-07-15 Thomas Preud'homme <thomas.preudhomme@arm.com> 2017 2018 * elf-bfd.h (elf_backend_filter_implib_symbols): Declare backend hook. 2019 (_bfd_elf_filter_global_symbols): Declare. 2020 * elf.c (_bfd_elf_filter_global_symbols): New function. 2021 * elflink.c (elf_filter_global_symbols): Likewise. 2022 (elf_output_implib): Likewise. 2023 (bfd_elf_final_link): Call above function, failing if it does. 2024 * elfxx-target.h (elf_backend_filter_implib_symbols): Define macro and 2025 default it to NULL. 2026 (elf_backend_copy_indirect_symbol): Fix spacing. 2027 (elf_backend_hide_symbol): Likewise. 2028 (elfNN_bed): Initialize elf_backend_filter_implib_symbols backend hook. 2029 20302016-07-15 Andrew Burgess <andrew.burgess@embecosm.com> 2031 Nick Clifton <nickc@redhat.com> 2032 2033 * elf32-arc.c (PR_DEBUG): Delete. 2034 Fix printing of debug information. Fix formatting of debug 2035 statements. 2036 (debug_arc_reloc): Handle symbols that are not from an input file. 2037 (arc_do_relocation): Remove excessive exclamation points. 2038 2039 * arc-got.h: Fix formatting. Fix printing of debug information. 2040 (new_got_entry_to_list): Use xmalloc. 2041 * config.bfd: use the big-endian arc vector as the default vector 2042 for big-endian arc targets. 2043 20442016-07-15 Alan Modra <amodra@gmail.com> 2045 2046 * cofflink.c (mark_relocs): Exclude relocs with -1 r_symndx 2047 from marking sym_indices. 2048 20492016-07-14 Maciej W. Rozycki <macro@imgtec.com> 2050 2051 * reloc.c (bfd_perform_relocation): Try the `howto' handler 2052 first with relocations against absolute symbols. 2053 (bfd_install_relocation): Likewise. 2054 20552016-07-12 H.J. Lu <hongjiu.lu@intel.com> 2056 2057 * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Align 2058 .got/.got.plt sections to 8 bytes. 2059 20602016-07-12 Nick Clifton <nickc@redhat.com> 2061 2062 * binary.c (binary_set_section_contents): Second grammar fix. 2063 20642016-07-12 Douglas B Rupp <rupp@adacore.com> 2065 2066 * binary.c (binary_set_section_contents): Fix grammar in warning 2067 message. 2068 20692016-07-11 Cupertino Miranda <cmiranda@synopsys.com> 2070 2071 * elf32-arc.c: made PR_DEBUG always defined. 2072 20732016-07-11 Cupertino Miranda <cmiranda@synopsys.com> 2074 2075 * arc-got.h: Moved got related structures from elf32-arc.c to 2076 this file. More precisely, tls_type_e, tls_got_entries, got_entry. 2077 * (arc_get_local_got_ents, got_entry_for_type, new_got_entry_to_list, 2078 tls_type_for_reloc, symbol_has_entry_of_type, 2079 get_got_entry_list_for_symbol, arc_got_entry_type_for_reloc, 2080 ADD_SYMBOL_REF_SEC_AND_RELOC, rc_fill_got_info_for_reloc, 2081 relocate_fix_got_relocs_for_got_info, 2082 create_got_dynrelocs_for_single_entry, 2083 create_got_dynrelocs_for_got_info): Added to file. 2084 * elf32-arc.c: Removed GOT & TLS related structs and functions to 2085 arc-got.h. 2086 20872016-07-08 James Bowman <james.bowman@ftdichip.com> 2088 2089 * elf32-ft32.c (ft32_reloc_map): Use R_FT32_32 for BFD_RELOC_32. 2090 20912016-07-05 Andre Vieria <andre.simoesdiasvieira@arm.com> 2092 2093 * elf32-arm.c (THUMB32_MOVT): New veneer macro. 2094 (THUMB32_MOVW): Likewise. 2095 (elf32_arm_stub_long_branch_thumb2_only_pure): New. 2096 (DEF_STUBS): Define long_branch_thumb2_only_pure. 2097 (arm_stub_is_thumb): Add new veneer stub. 2098 (arm_type_of_stub): Use new veneer. 2099 (arm_stub_required_alignment): Add new veneer. 2100 21012016-07-05 Andre Vieria <andre.simoesdiasvieira@arm.com> 2102 2103 * bfd-in2.h (SEC_ELF_NOREAD): Rename to ... 2104 (SEC_ELF_PURECODE): ... this. 2105 * elf32-arm.c (elf32_arm_post_process_headers): Rename SEC_ELF_NOREAD 2106 to SEC_ELF_NOREAD. 2107 (elf32_arm_fake_sections): Likewise. 2108 (elf_32_arm_section_flags): Likewise. 2109 (elf_32_arm_lookup_section_flags): Likewise. 2110 * section.c (SEC_ELF_NOREAD): Rename to ... 2111 (SEC_ELF_PURECODE): ... this. 2112 21132016-07-01 Thomas Preud'homme <thomas.preudhomme@arm.com> 2114 2115 * elf32-arm.c (using_thumb2_bl): New function. 2116 (arm_type_of_stub): Declare thumb2 variable together and change type 2117 to bfd_boolean. Use using_thumb2_bl () to determine whether 2118 THM_MAX_FWD_BRANCH_OFFSET or THM2_MAX_FWD_BRANCH_OFFSET should be 2119 checked for BL range. 2120 (elf32_arm_final_link_relocate): Use using_thumb2_bl () to determine 2121 the bit size of BL offset. 2122 21232016-06-29 Nick Clifton <nickc@redhat.com> 2124 2125 * elfnn-aarch64.c (is_aarch64_mapping_symbol): New function. 2126 Returns TRUE for AArch64 mapping symbols. 2127 (elfNN_aarch64_backend_symbol_processing): New function. Marks 2128 mapping symbols as precious in object files so that they will not 2129 be stripped. 2130 (elf_backend_symbol_processing): Define. 2131 2132 * elf32-arm.c (is_arm_mapping_symbol): New function. Returns TRUE 2133 for ARM mapping symbols. 2134 (elf32_arm_backend_symbol_processing): Make use of the new function. 2135 21362016-06-28 H.J. Lu <hongjiu.lu@intel.com> 2137 2138 PR ld/20306 2139 * elflink.c (elf_link_check_versioned_symbol): Return false 2140 for unreferenced undefined symbol. 2141 21422016-06-28 Nick Clifton <nickc@redhat.com> 2143 2144 * elf32-bfin.c (bfin_adjust_dynamic_symbol): Fail if a COPY reloc 2145 is needed. 2146 2147 * elf32-arm.c (elf32_arm_backend_symbol_processing): New 2148 function. Marks mapping symbols in object files as precious, so 2149 that strip will not remove them. 2150 (elf_backend_symbol_processing): Define. 2151 21522016-06-28 James Clarke <jrtc27@jrtc27.com> 2153 2154 * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Don't convert 2155 R_SPARC_32 to R_SPARC_RELATIVE if class is ELFCLASS64. 2156 21572016-06-28 Maciej W. Rozycki <macro@imgtec.com> 2158 2159 * elf32-mips.c (elf_mips16_howto_table_rel): Add 2160 R_MIPS16_PC16_S1. 2161 (mips16_reloc_map): Likewise. 2162 * elf64-mips.c (mips16_elf64_howto_table_rel): Likewise. 2163 (mips16_elf64_howto_table_rela): Likewise. 2164 (mips16_reloc_map): Likewise. 2165 * elfn32-mips.c (elf_mips16_howto_table_rel): Likewise. 2166 (elf_mips16_howto_table_rela): Likewise. 2167 (mips16_reloc_map): Likewise. 2168 * elfxx-mips.c (mips16_branch_reloc_p): New function. 2169 (mips16_reloc_p): Handle R_MIPS16_PC16_S1. 2170 (b_reloc_p): Likewise. 2171 (mips_elf_calculate_relocation): Likewise. 2172 (_bfd_mips_elf_check_relocs): Likewise. 2173 * reloc.c (BFD_RELOC_MIPS16_16_PCREL_S1): New relocation. 2174 * bfd-in2.h: Regenerate. 2175 * libbfd.h: Regenerate. 2176 21772016-06-27 Alan Modra <amodra@gmail.com> 2178 2179 PR ld/19264 2180 * elf64-ppc.c (STUB_SHRINK_ITER): Define. 2181 (ppc64_elf_size_stubs): Exit stub sizing loop past STUB_SHRINK_ITER 2182 if shrinking stubs. 2183 (ppc64_elf_size_stubs): Adjust to suit. 2184 21852016-06-27 Trevor Saunders <tbsaunde+binutils@tbsaunde.org> 2186 2187 * elf32-dlx.h: New file. 2188 * elf32-dlx.c: Adjust. 2189 21902016-06-25 Trevor Saunders <tbsaunde+binutils@tbsaunde.org> 2191 2192 * elf32-xtensa.c (xtensa_make_property_section): Remove prototype. 2193 21942016-06-24 John Baldwin <jhb@FreeBSD.org> 2195 2196 * elf.c (elfcore_grok_freebsd_note): Handle NT_FREEBSD_PROCSTAT_AUXV 2197 notes. 2198 21992016-06-24 John Baldwin <jhb@FreeBSD.org> 2200 2201 * elf.c (elfcore_grok_note): Remove handling of NT_X86_XSTATE for 2202 FreeBSD. Remove case for NT_FREEBSD_THRMISC. 2203 (elfcore_grok_freebsd_psinfo): New function. 2204 (elfcore_grok_freebsd_prstatus): New function. 2205 (elfcore_grok_freebsd_note): New function. 2206 (elf_parse_notes): Use "elfcore_grok_freebsd_note" for "FreeBSD" 2207 notes. 2208 22092016-06-24 Joel Brobecker <brobecker@adacore.com> 2210 2211 * elflink.c: Check the value of BFD_SUPPORTS_PLUGINS rather 2212 than its existance. 2213 22142016-06-24 Alan Modra <amodra@gmail.com> 2215 2216 * config.bfd: Delete mips vxworks patterns matched earlier. 2217 Combine mips*-*-none with mips*-*-elf*. 2218 22192016-06-21 Maciej W. Rozycki <macro@imgtec.com> 2220 2221 * elfxx-mips.c (mips_elf_perform_relocation): Call 2222 `info->callbacks->einfo' rather than `*_bfd_error_handler' and 2223 use the `%X%H' format for the cross-mode jump conversion error 2224 message. Remove the full stop from the end of the message. 2225 Continue processing rather than returning failure. 2226 22272016-06-21 Graham Markall <graham.markall@embecosm.com> 2228 2229 * archures.c: Remove bfd_mach_arc_nps400. 2230 * bfd-in2.h: Likewise. 2231 * cpu-arc.c (arch_info_struct): Likewise. 2232 * elf32-arc.c (arc_elf_object_p, arc_elf_final_write_processing): 2233 Likewise. 2234 22352016-06-20 H.J. Lu <hongjiu.lu@intel.com> 2236 2237 PR ld/18250 2238 PR ld/20267 2239 * elflink.c: Include plugin.h if BFD_SUPPORTS_PLUGINS is 2240 defined. 2241 (elf_link_is_defined_archive_symbol): Call 2242 bfd_link_plugin_object_p on unknown plugin object and use the 2243 IR symbol table if the input is an IR object. 2244 * plugin.c (bfd_link_plugin_object_p): New function. 2245 * plugin.h (bfd_link_plugin_object_p): New prototype. 2246 22472016-06-20 H.J. Lu <hongjiu.lu@intel.com> 2248 2249 PR ld/20276 2250 * elflink.c (elf_link_add_object_symbols): Don't check alignment 2251 on symbol from plugin dummy input. 2252 22532016-06-18 H.J. Lu <hongjiu.lu@intel.com> 2254 2255 * bfd.c (bfd_plugin_format): Rename bfd_plugin_uknown to 2256 bfd_plugin_unknown. 2257 * bfd-in2.h: Regenerated. 2258 * plugin.c (bfd_plugin_object_p): Replace bfd_plugin_uknown 2259 with bfd_plugin_unknown. 2260 22612016-06-18 H.J. Lu <hongjiu.lu@intel.com> 2262 2263 PR ld/20253 2264 * elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add an 2265 bfd_boolean argument. 2266 * elf-ifunc.c (_bfd_elf_create_ifunc_sections): Replace 2267 "shared object" with "PIC object" in comments. 2268 (_bfd_elf_allocate_ifunc_dyn_relocs): Updated. Replace 2269 "shared object" with "PIC object" in comments. Avoid PLT if 2270 requested. Generate dynamic relocations for non-GOT references. 2271 Make room for the special first entry in PLT and allocate PLT 2272 entry only for PLT and PC-relative references. Store dynamic 2273 GOT relocations in .rel[a].iplt section for static executables. 2274 If PLT isn't used, always use GOT for symbol value. Don't 2275 allocate GOT entry if it isn't used. 2276 * elf32-i386.c (elf_i386_check_relocs): Increment PLT reference 2277 count only in the code section. Allocate dynamic pointer 2278 relocation against STT_GNU_IFUNC symbol in the non-code section. 2279 (elf_i386_adjust_dynamic_symbol): Increment PLT reference count 2280 only for PC-relative references. 2281 (elf_i386_allocate_dynrelocs): Pass TRUE to 2282 _bfd_elf_allocate_ifunc_dyn_relocs. 2283 (elf_i386_relocate_section): Allow R_386_GOT32/R_386_GOT32X 2284 relocations against STT_GNU_IFUNC symbols without PLT. Generate 2285 dynamic pointer relocation against STT_GNU_IFUNC symbol in 2286 the non-code section and store it in the proper REL section. 2287 Don't allow non-pointer relocation against STT_GNU_IFUNC symbol 2288 without PLT. 2289 (elf_i386_finish_dynamic_symbol): Generate dynamic 2290 R_386_IRELATIVE and R_386_GLOB_DAT GOT relocations against 2291 STT_GNU_IFUNC symbols without PLT. 2292 (elf_i386_finish_dynamic_sections): Don't handle local 2293 STT_GNU_IFUNC symbols here. 2294 (elf_i386_output_arch_local_syms): Handle local STT_GNU_IFUNC 2295 symbols here. 2296 (elf_backend_output_arch_local_syms): New. 2297 * elf32-x86-64.c (elf_i386_check_relocs): Increment PLT reference 2298 count only in the code section. Allocate dynamic pointer 2299 relocation against STT_GNU_IFUNC symbol in the non-code section. 2300 (elf_x86_64_adjust_dynamic_symbol): Increment PLT reference 2301 count only for PC-relative references. 2302 (elf_x86_64_allocate_dynrelocs): Pass TRUE to 2303 _bfd_elf_allocate_ifunc_dyn_relocs. 2304 (elf_x86_64_relocate_section): Allow R_X86_64_GOTPCREL, 2305 R_X86_64_GOTPCRELX, R_X86_64_REX_GOTPCRELX and 2306 R_X86_64_GOTPCREL64 relocations against STT_GNU_IFUNC symbols 2307 without PLT. Generate dynamic pointer relocation against 2308 STT_GNU_IFUNC symbol in the non-code section and store it in 2309 the proper RELA section. Don't allow non-pointer relocation 2310 against STT_GNU_IFUNC symbol without PLT. 2311 (elf_x86_64_finish_dynamic_symbol): Generate dynamic 2312 R_X86_64_IRELATIVE and R_X86_64_GLOB_DAT GOT relocations against 2313 STT_GNU_IFUNC symbols without PLT. 2314 (elf_x86_64_finish_dynamic_sections): Don't handle local 2315 STT_GNU_IFUNC symbols here. 2316 (elf_x86_64_output_arch_local_syms): Handle local STT_GNU_IFUNC 2317 symbols here. 2318 (elf_backend_output_arch_local_syms): New. 2319 * elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs): 2320 Pass FALSE to _bfd_elf_allocate_ifunc_dyn_relocs. 2321 23222016-06-17 Thomas Preud'homme <thomas.preudhomme@arm.com> 2323 Tony Wang <tony.wang@arm.com> 2324 2325 * elf32-arm.c (elf32_arm_stub_long_branch_thumb2_only): Define stub 2326 sequence. 2327 (stub_long_branch_thumb2_only): Define stub. 2328 (arm_stub_is_thumb): Add case for arm_stub_long_branch_thumb2_only. 2329 (arm_stub_long_branch_thumb2_only): Likewise. 2330 (arm_type_of_stub): Use arm_stub_long_branch_thumb2_only for Thumb-2 2331 capable targets. 2332 23332016-06-17 Jose E. Marchesi <jose.marchesi@oracle.com> 2334 2335 * archures.c (bfd_mach_sparc_v8plusc): Define. 2336 (bfd_mach_sparc_v9c): Likewise. 2337 (bfd_mach_sparc_v8plusd): Likewise. 2338 (bfd_mach_sparc_v9d): Likewise. 2339 (bfd_mach_sparc_v8pluse): Likewise. 2340 (bfd_mach_sparc_v9e): Likewise. 2341 (bfd_mach_sparc_v8plusv): Likewise 2342 (bfd_mach_sparc_v9v): Likewise. 2343 (bfd_mach_sparc_v8plusm): Likewise. 2344 (bfd_mach_sparc_v9m): Likewise. 2345 (bfd_mach_sparc_v9_p): Adapt to v8plusm and v9m. 2346 (bfd_mach_sparc_64bit_p): Likewise. 2347 * bfd-in2.h: Regenerate. 2348 * cpu-sparc.c (arch_info_struct): Add entries for 2349 bfd_mach_sparc_v8plus{c,d,e,v,m} and bfd_mach_sparc_v9{c,d,e,v,m}. 2350 * aoutx.h (machine_type): Handle bfd_mach_sparc_v8plus{c,d,e,v,m} 2351 and bfd_mach_sparc_v9{c,d,e,v,m}. 2352 * elf32-sparc.c (elf32_sparc_final_write_processing): Likewise. 2353 * elfxx-sparc.c (_bfd_sparc_elf_object_p): Likewise. 2354 23552016-06-16 H.J. Lu <hongjiu.lu@intel.com> 2356 2357 * elf32-i386.c (elf_i386_check_relocs): Don't check undefined 2358 symbols for relocations against IFUNC symbols. 2359 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise. 2360 23612016-06-16 Marcin Ko��cielnicki <koriakin@0x04.net> 2362 2363 * elf32-s390.c (elf_s390_finish_dynamic_sections): Include 2364 .rela.iplt in DT_PLTRELSZ. 2365 * elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise, 2366 for DT_PLTRELSZ and DT_RELASZ as well. 2367 23682016-06-16 H.J. Lu <hongjiu.lu@intel.com> 2369 2370 * elf32-i386.c (elf_i386_check_relocs): Skip relocations in 2371 non-loaded, non-alloced sections. 2372 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise. 2373 23742016-06-15 H.J. Lu <hongjiu.lu@intel.com> 2375 2376 * elf32-i386.c (elf_i386_check_relocs): Check SEC_ALLOC before 2377 allocating dynamic relocation. 2378 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise. 2379 23802016-06-14 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> 2381 2382 PR ld/20254 2383 * elf32-avr.c (elf32_avr_relax_delete_bytes): Adjust reloc 2384 offsets until reloc_toaddr. 2385 23862016-06-14 H.J. Lu <hongjiu.lu@intel.com> 2387 2388 * elf32-i386.c (elf_i386_reloc_type_class): Check R_386_IRELATIVE. 2389 Don't check symbol type for STN_UNDEF symbol index. 2390 * elf64-x86-64.c (elf_x86_64_reloc_type_class): Check 2391 R_X86_64_IRELATIVE. Don't check symbol type for STN_UNDEF symbol 2392 index. 2393 23942016-06-14 Thomas Preud'homme <thomas.preudhomme@arm.com> 2395 2396 * elf32-arm.c (using_thumb_only): Force review of arch check logic for 2397 new architecture. 2398 (using_thumb2): Try Tag_THUMB_ISA_use first and check 2399 for exact arch value then. Force review of arch check logic for new 2400 architecture. 2401 (arch_has_arm_nop): Update and fix arch check logic. Force review of 2402 that logic for new architecture. 2403 (arch_has_thumb2_nop): Remove. 2404 (elf32_arm_tls_relax): Use using_thumb2 instead of above function. 2405 (elf32_arm_final_link_relocate): Likewise but using thumb2. 2406 24072016-06-14 Alan Modra <amodra@gmail.com> 2408 2409 * bfd-in.h (bfd_my_archive): Delete. 2410 * bfd-in2.h: Regenerate. 2411 24122016-06-14 Alan Modra <amodra@gmail.com> 2413 2414 PR ld/20241 2415 * archive.c (open_nested_file): Set my_archive. 2416 * bfd.c (_bfd_default_error_handler <%B>): Exclude archive file name 2417 for thin archives. 2418 * bfdio.c (bfd_tell): Don't adjust origin for thin archives. 2419 (bfd_seek): Likewise. 2420 * bfdwin.c (bfd_get_file_window): Likewise. 2421 * cache.c (cache_bmmap): Likewise. 2422 (bfd_cache_lookup_worker): Don't look in my_archive for thin archives. 2423 * mach-o.c (bfd_mach_o_follow_dsym): Don't open my_archive for 2424 thin archives. 2425 * plugin.c (try_claim): Likewise. 2426 * xcofflink.c (xcoff_link_add_dynamic_symbols): Use import path of 2427 file within thin archive, not the archive. 2428 24292016-06-13 H.J. Lu <hongjiu.lu@intel.com> 2430 2431 PR ld/20244 2432 * elf32-i386.c (elf_i386_relocate_section): Add the .got.plt 2433 section address for R_386_GOT32/R_386_GOT32X relocations against 2434 IFUNC symbols if there is no base register and return error for 2435 PIC. 2436 24372016-06-13 H.J. Lu <hongjiu.lu@intel.com> 2438 2439 * elf32-i386.c (elf_i386_relocate_section): Simplify IFUNC 2440 GOT32 adjustment for static executables. 2441 24422016-06-13 Maciej W. Rozycki <macro@imgtec.com> 2443 2444 * elf32-mips.c (elf_mips_gnu_pcrel32): Update comment. 2445 24462016-06-13 Cupertino Miranda <cmiranda@synospsy.com> 2447 2448 * elf32-arc.c (elf_arc_relocate_section): Fixed condition. 2449 24502016-06-13 Cupertino Miranda <cmiranda@synospsy.com> 2451 2452 * elf32-arc.c (elf_arc_finish_dynamic_sections): Changed. 2453 24542016-06-13 Cupertino Miranda <cmiranda@synospsy.com> 2455 2456 * elf32-arc.c (arc_local_data, arc_local_data): Removed. 2457 (SECTSTART): Changed. 2458 (elf_arc_relocate_section): Fixed mistake in PIE related 2459 condition. 2460 (elf_arc_size_dynamic_sections): Changed DT_RELENT to DT_RELAENT. 2461 24622016-06-13 Cupertino Miranda <cmiranda@synospsy.com> 2463 2464 * elf32-arc.c (elf32_arc_reloc_type_class): Defined function to 2465 enable support for "-z combreloc" and DT_RELACOUNT. 2466 (elf_backend_reloc_type_class): Likewise 2467 24682016-06-11 H.J. Lu <hongjiu.lu@intel.com> 2469 2470 PR ld/20244 2471 * elf32-i386.c (elf_i386_relocate_section): When relocating 2472 R_386_GOT32, return error without a base register for PIC and 2473 subtract the .got.plt section address only with a base register. 2474 24752016-06-10 Alan Modra <amodra@gmail.com> 2476 2477 * elf-strtab.c (struct strtab_save): Use size_t for "size". 2478 (struct elf_strtab_hash): Likewise for "size" and "alloced". 2479 (_bfd_elf_strtab_init): Formatting. 2480 (_bfd_elf_strtab_add): Return size_t rather than bfd_size_type. 2481 (_bfd_elf_strtab_addref): Take size_t idx param. 2482 (_bfd_elf_strtab_delref, _bfd_elf_strtab_refcount): Likewise. 2483 (_bfd_elf_strtab_offset): Likewise. 2484 (_bfd_elf_strtab_clear_all_refs): Use size_t idx. 2485 (_bfd_elf_strtab_save): Use size_t "idx" and "size" vars. 2486 (_bfd_elf_strtab_restore, _bfd_elf_strtab_emit): Similarly. 2487 (_bfd_elf_strtab_finalize): Similarly. 2488 * elf-bfd.h (_bfd_elf_strtab_add): Update prototypes. 2489 (_bfd_elf_strtab_addref, _bfd_elf_strtab_delref): Likewise. 2490 (_bfd_elf_strtab_refcount, _bfd_elf_strtab_offset): Likewise. 2491 * elf.c (bfd_elf_get_elf_syms): Calculate symbol buffer size 2492 using bfd_size_type. 2493 (bfd_section_from_shdr): Delete amt. 2494 (_bfd_elf_init_reloc_shdr): Likewise. 2495 (_bfd_elf_link_assign_sym_version): Likewise. 2496 (assign_section_numbers): Use size_t reloc_count. 2497 * elflink.c (struct elf_symbuf_head): Use size_t "count". 2498 (bfd_elf_link_record_dynamic_symbol): Use size_t for some vars. 2499 (elf_link_is_defined_archive_symbol): Likewise. 2500 (elf_add_dt_needed_tag): Likewise. 2501 (elf_finalize_dynstr): Likewise. 2502 (elf_link_add_object_symbols): Likewise. 2503 (bfd_elf_size_dynamic_sections): Likewise. 2504 (elf_create_symbuf): Similarly. 2505 (bfd_elf_match_symbols_in_sections): Likewise. 2506 (elf_link_swap_symbols_out): Likewise. 2507 (elf_link_check_versioned_symbol): Likewise. 2508 (bfd_elf_gc_record_vtinherit): Likewise. 2509 (bfd_elf_gc_common_finalize_got_offsets): Likewise. 2510 25112016-06-08 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> 2512 2513 PR ld/20221 2514 * elf32-avr.c (elf32_avr_relax_delete_bytes): Adjust syms 2515 and relocs only if shrinking occurred. 2516 25172016-06-08 H.J. Lu <hongjiu.lu@intel.com> 2518 2519 * elf64-i386.c (elf_i386_link_hash_entry): Add tls_get_addr. 2520 (elf_i386_link_hash_newfunc): Initialize tls_get_addr to 2. 2521 (elf_i386_check_tls_transition): Check indirect call and direct 2522 call with the addr32 prefix for general and local dynamic models. 2523 Set the tls_get_addr feild. 2524 (elf_i386_convert_load_reloc): Always use addr32 prefix for 2525 indirect ___tls_get_addr call via GOT. 2526 (elf_i386_relocate_section): Handle GD->LE, GD->IE and LD->LE 2527 transitions with indirect call and direct call with the addr32 2528 prefix. 2529 25302016-06-07 Marcin Ko��cielnicki <koriakin@0x04.net> 2531 2532 * elf32-s390.c (elf_s390_finish_dynamic_symbol): Fix comment. 2533 * elf64-s390.c (elf_s390x_plt_entry): Fix comment. 2534 (elf_s390_relocate_section): Fix comment. 2535 (elf_s390_finish_dynamic_sections): Fix initialization of fixed 2536 .got.plt entries. 2537 25382016-06-07 Ulrich Weigand <ulrich.weigand@de.ibm.com> 2539 2540 * elf64-s390.c (elf_s390_finish_dynamic_sections): Subtract plt 2541 section offset when calculation the larl operand in the first PLT 2542 entry. 2543 25442016-06-07 Alan Modra <amodra@gmail.com> 2545 2546 * cpu-powerpc.c (powerpc_compatible): Allow bfd_mach_ppc_vle entry 2547 to match other 32-bit archs. 2548 * elf32-ppc.c (_bfd_elf_ppc_set_arch): New function. 2549 (ppc_elf_object_p): Call it. 2550 (ppc_elf_special_sections): Use APUINFO_SECTION_NAME. Fix 2551 overlong line. 2552 (APUINFO_SECTION_NAME, APUINFO_LABEL): Don't define here. 2553 * elf64-ppc.c (ppc64_elf_object_p): Call _bfd_elf_ppc_set_arch. 2554 * bfd-in.h (_bfd_elf_ppc_at_tls_transform, 2555 _bfd_elf_ppc_at_tprel_transform): Move to.. 2556 * elf-bfd.h: ..here. 2557 (_bfd_elf_ppc_set_arch): Declare. 2558 * bfd-in2.h: Regenerate. 2559 25602016-06-06 H.J. Lu <hongjiu.lu@intel.com> 2561 2562 * elf64-x86-64.c (elf_x86_64_link_hash_entry): Add tls_get_addr. 2563 (elf_x86_64_link_hash_newfunc): Initialize tls_get_addr to 2. 2564 (elf_x86_64_check_tls_transition): Check indirect call and 2565 direct call with the addr32 prefix for general and local dynamic 2566 models. Set the tls_get_addr feild. 2567 (elf_x86_64_convert_load_reloc): Always use addr32 prefix for 2568 indirect __tls_get_addr call via GOT. 2569 (elf_x86_64_relocate_section): Handle GD->LE, GD->IE and LD->LE 2570 transitions with indirect call and direct call with the addr32 2571 prefix. 2572 25732016-06-04 Christian Groessler <chris@groessler.org> 2574 2575 * coff-z8k.c (extra_case): Fix range check for R_JR relocation. 2576 25772016-06-02 Nick Clifton <nickc@redhat.com> 2578 2579 PR target/20088 2580 * cpu-arm.c (processors): Add "arm_any" type to match any ARM 2581 architecture. 2582 (arch_info_struct): Likewise. 2583 (architectures): Likewise. 2584 25852016-06-02 Vineet Gupta <Vineet.Gupta1@synopsys.com> 2586 2587 * config.bfd: Replace -uclibc with *. 2588 25892016-06-02 H.J. Lu <hongjiu.lu@intel.com> 2590 2591 * elf64-x86-64.c: Replace data32 with data16 in comments. 2592 25932016-05-31 Alan Modra <amodra@gmail.com> 2594 2595 PR ld/20159 2596 PR ld/16467 2597 * elflink.c (_bfd_elf_merge_symbol): Revert PR16467 change. 2598 (_bfd_elf_add_default_symbol): Don't indirect to/from defined 2599 symbol given a version by a script different to the version 2600 of the symbol being added. 2601 (elf_link_add_object_symbols): Use _bfd_elf_strtab_save and 2602 _bfd_elf_strtab_restore. Don't fudge dynstr references. 2603 * elf-strtab.c (_bfd_elf_strtab_restore_size): Delete. 2604 (struct strtab_save): New. 2605 (_bfd_elf_strtab_save, _bfd_elf_strtab_restore): New functions. 2606 * elf-bfd.h (_bfd_elf_strtab_restore_size): Delete. 2607 (_bfd_elf_strtab_save, _bfd_elf_strtab_restore): Declare. 2608 26092016-06-01 Trevor Saunders <tbsaunde+binutils@tbsaunde.org> 2610 2611 * elf32-hppa.h: Add extern "C". 2612 * elf32-nds32.h: Likewise. 2613 * elf32-tic6x.h: Likewise. 2614 26152016-06-01 Nick Clifton <nickc@redhat.com> 2616 2617 * po/sr.po: New Serbian translation. 2618 * configure.ac (ALL_LINGUAS): Add sr. 2619 * configure: Regenerate. 2620 26212016-05-28 Maciej W. Rozycki <macro@imgtec.com> 2622 2623 * elfxx-mips.c (b_reloc_p): New function. 2624 (_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Handle 2625 branch relocations. 2626 26272016-05-28 Maciej W. Rozycki <macro@imgtec.com> 2628 2629 * elfxx-mips.c (mips_elf_calculate_relocation): <R_MIPS16_26> 2630 <R_MIPS_26, R_MICROMIPS_26_S1>: Drop the region bits of the 2631 reloc location from calculation, treat the addend as signed with 2632 local non-section symbols and enable overflow detection. 2633 26342016-05-28 Alan Modra <amodra@gmail.com> 2635 2636 * aoutx.h: Adjust linker callback calls throughout file, 2637 removing dead code. 2638 * bout.c: Likewise. 2639 * coff-alpha.c: Likewise. 2640 * coff-arm.c: Likewise. 2641 * coff-h8300.c: Likewise. 2642 * coff-h8500.c: Likewise. 2643 * coff-i960.c: Likewise. 2644 * coff-mcore.c: Likewise. 2645 * coff-mips.c: Likewise. 2646 * coff-ppc.c: Likewise. 2647 * coff-rs6000.c: Likewise. 2648 * coff-sh.c: Likewise. 2649 * coff-tic80.c: Likewise. 2650 * coff-w65.c: Likewise. 2651 * coff-z80.c: Likewise. 2652 * coff-z8k.c: Likewise. 2653 * coff64-rs6000.c: Likewise. 2654 * cofflink.c: Likewise. 2655 * ecoff.c: Likewise. 2656 * elf-bfd.h: Likewise. 2657 * elf-m10200.c: Likewise. 2658 * elf-m10300.c: Likewise. 2659 * elf32-arc.c: Likewise. 2660 * elf32-arm.c: Likewise. 2661 * elf32-avr.c: Likewise. 2662 * elf32-bfin.c: Likewise. 2663 * elf32-cr16.c: Likewise. 2664 * elf32-cr16c.c: Likewise. 2665 * elf32-cris.c: Likewise. 2666 * elf32-crx.c: Likewise. 2667 * elf32-d10v.c: Likewise. 2668 * elf32-epiphany.c: Likewise. 2669 * elf32-fr30.c: Likewise. 2670 * elf32-frv.c: Likewise. 2671 * elf32-ft32.c: Likewise. 2672 * elf32-h8300.c: Likewise. 2673 * elf32-hppa.c: Likewise. 2674 * elf32-i370.c: Likewise. 2675 * elf32-i386.c: Likewise. 2676 * elf32-i860.c: Likewise. 2677 * elf32-ip2k.c: Likewise. 2678 * elf32-iq2000.c: Likewise. 2679 * elf32-lm32.c: Likewise. 2680 * elf32-m32c.c: Likewise. 2681 * elf32-m32r.c: Likewise. 2682 * elf32-m68hc1x.c: Likewise. 2683 * elf32-m68k.c: Likewise. 2684 * elf32-mep.c: Likewise. 2685 * elf32-metag.c: Likewise. 2686 * elf32-microblaze.c: Likewise. 2687 * elf32-moxie.c: Likewise. 2688 * elf32-msp430.c: Likewise. 2689 * elf32-mt.c: Likewise. 2690 * elf32-nds32.c: Likewise. 2691 * elf32-nios2.c: Likewise. 2692 * elf32-or1k.c: Likewise. 2693 * elf32-ppc.c: Likewise. 2694 * elf32-s390.c: Likewise. 2695 * elf32-score.c: Likewise. 2696 * elf32-score7.c: Likewise. 2697 * elf32-sh.c: Likewise. 2698 * elf32-sh64.c: Likewise. 2699 * elf32-spu.c: Likewise. 2700 * elf32-tic6x.c: Likewise. 2701 * elf32-tilepro.c: Likewise. 2702 * elf32-v850.c: Likewise. 2703 * elf32-vax.c: Likewise. 2704 * elf32-visium.c: Likewise. 2705 * elf32-xstormy16.c: Likewise. 2706 * elf32-xtensa.c: Likewise. 2707 * elf64-alpha.c: Likewise. 2708 * elf64-hppa.c: Likewise. 2709 * elf64-ia64-vms.c: Likewise. 2710 * elf64-mmix.c: Likewise. 2711 * elf64-ppc.c: Likewise. 2712 * elf64-s390.c: Likewise. 2713 * elf64-sh64.c: Likewise. 2714 * elf64-x86-64.c: Likewise. 2715 * elflink.c: Likewise. 2716 * elfnn-aarch64.c: Likewise. 2717 * elfnn-ia64.c: Likewise. 2718 * elfxx-mips.c: Likewise. 2719 * elfxx-sparc.c: Likewise. 2720 * elfxx-tilegx.c: Likewise. 2721 * linker.c: Likewise. 2722 * pdp11.c: Likewise. 2723 * pe-mips.c: Likewise. 2724 * reloc.c: Likewise. 2725 * reloc16.c: Likewise. 2726 * simple.c: Likewise. 2727 * vms-alpha.c: Likewise. 2728 * xcofflink.c: Likewise. 2729 * elf32-rl78.c (get_symbol_value, get_romstart, get_ramstart): Delete 2730 status param. Adjust calls to these and linker callbacks throughout. 2731 * elf32-rx.c: (get_symbol_value, get_gp, get_romstart, 2732 get_ramstart): Delete status param. Adjust calls to these and 2733 linker callbacks throughout. 2734 27352016-05-27 Maciej W. Rozycki <macro@imgtec.com> 2736 2737 * elfxx-mips.c (mips_elf_calculate_relocation) <R_MIPS16_26> 2738 <R_MIPS_26, R_MICROMIPS_26_S1>: Include the addend in JALX's 2739 target alignment verification. 2740 27412016-05-27 Maciej W. Rozycki <macro@imgtec.com> 2742 2743 * elfxx-mips.c (mips_elf_calculate_relocation): Also use the 2744 section name if `bfd_elf_string_from_elf_section' returns an 2745 empty string. 2746 27472016-05-26 Maciej W. Rozycki <macro@imgtec.com> 2748 2749 * elfxx-mips.c (_bfd_mips_elf_relocate_section) 2750 <bfd_reloc_outofrange>: Use the `%X%H' rather than `%C' format 2751 for message. Continue processing rather than returning failure. 2752 27532016-05-25 Maciej W. Rozycki <macro@imgtec.com> 2754 2755 * elfxx-mips.c (_bfd_mips_elf_relocate_section) 2756 <bfd_reloc_outofrange>: Call `->einfo' rather than `->warning'. 2757 Call `bfd_set_error'. 2758 27592016-05-25 H.J. Lu <hongjiu.lu@intel.com> 2760 2761 PR binutils/14625 2762 * archive.c (bfd_slurp_armap): Replace 2763 bfd_elf64_archive_slurp_armap with 2764 _bfd_archive_64_bit_slurp_armap. 2765 (bsd_write_armap): Call _bfd_archive_64_bit_write_armap if 2766 BFD64 is defined and the archive is too big. 2767 (coff_write_armap): Likewise. 2768 * archive64.c (bfd_elf64_archive_slurp_armap): Renamed to ... 2769 (_bfd_archive_64_bit_slurp_armap): This. 2770 (bfd_elf64_archive_write_armap): Renamed to ... 2771 (_bfd_archive_64_bit_write_armap): This. 2772 * configure.ac: Add --enable-64-bit-archive. 2773 (want_64_bit_archive): New. Set to true by default for 64-bit 2774 MIPS and s390 ELF targets. 2775 (USE_64_BIT_ARCHIVE): New AC_DEFINE. 2776 * config.in: Regenerated. 2777 * configure: Likewise. 2778 * elf64-mips.c (bfd_elf64_archive_functions): Removed. 2779 (bfd_elf64_archive_slurp_armap): Likewise. 2780 (bfd_elf64_archive_write_armap): Likewise. 2781 (bfd_elf64_archive_slurp_extended_name_table): Likewise. 2782 (bfd_elf64_archive_construct_extended_name_table): Likewise. 2783 (bfd_elf64_archive_truncate_arname): Likewise. 2784 (bfd_elf64_archive_read_ar_hdr): Likewise. 2785 (bfd_elf64_archive_write_ar_hdr): Likewise. 2786 (bfd_elf64_archive_openr_next_archived_file): Likewise. 2787 (bfd_elf64_archive_get_elt_at_index): Likewise. 2788 (bfd_elf64_archive_generic_stat_arch_elt): Likewise. 2789 (bfd_elf64_archive_update_armap_timestamp): Likewise. 2790 * elf64-s390.c (bfd_elf64_archive_functions): Removed. 2791 (bfd_elf64_archive_slurp_armap): Likewise. 2792 (bfd_elf64_archive_write_armap): Likewise. 2793 (bfd_elf64_archive_slurp_extended_name_table): Likewise. 2794 (bfd_elf64_archive_construct_extended_name_table): Likewise. 2795 (bfd_elf64_archive_truncate_arname): Likewise. 2796 (bfd_elf64_archive_read_ar_hdr): Likewise. 2797 (bfd_elf64_archive_write_ar_hdr): Likewise. 2798 (bfd_elf64_archive_openr_next_archived_file): Likewise. 2799 (bfd_elf64_archive_get_elt_at_index): Likewise. 2800 (bfd_elf64_archive_generic_stat_arch_elt): Likewise. 2801 (bfd_elf64_archive_update_armap_timestamp): Likewise. 2802 * elfxx-target.h (TARGET_BIG_SYM): Use _bfd_archive_64_bit on 2803 BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined and 2804 bfd_elfNN_archive_functions isn't defined. 2805 (TARGET_LITTLE_SYM): Likewise. 2806 * libbfd-in.h (_bfd_archive_64_bit_slurp_armap): New prototype. 2807 (_bfd_archive_64_bit_write_armap): Likewise. 2808 (_bfd_archive_64_bit_slurp_extended_name_table): New macro. 2809 (_bfd_archive_64_bit_construct_extended_name_table): Likewise. 2810 (_bfd_archive_64_bit_truncate_arname): Likewise. 2811 (_bfd_archive_64_bit_read_ar_hdr): Likewise. 2812 (_bfd_archive_64_bit_write_ar_hdr): Likewise. 2813 (_bfd_archive_64_bit_openr_next_archived_file): Likewise. 2814 (_bfd_archive_64_bit_get_elt_at_index): Likewise. 2815 (_bfd_archive_64_bit_generic_stat_arch_elt): Likewise. 2816 (_bfd_archive_64_bit_update_armap_timestamp): Likewise. 2817 * libbfd.h: Regenerated. 2818 * plugin.c (plugin_vec): Use _bfd_archive_64_bit on 2819 BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined. 2820 28212016-05-25 H.J. Lu <hongjiu.lu@intel.com> 2822 2823 PR ld/20103 2824 * cofflink.c (coff_link_check_archive_element): Return TRUE if 2825 linker add_archive_element callback returns FALSE. 2826 * ecoff.c (ecoff_link_check_archive_element): Likewise. 2827 * elf64-ia64-vms.c (elf64_vms_link_add_archive_symbols): Skip 2828 archive element if linker add_archive_element callback returns 2829 FALSE. 2830 * elflink.c (elf_link_add_archive_symbols): Likewise. 2831 * pdp11.c (aout_link_check_ar_symbols): Likewise. 2832 * vms-alpha.c (alpha_vms_link_add_archive_symbols): Likewise. 2833 * xcofflink.c (xcoff_link_check_dynamic_ar_symbols): Likewise. 2834 (xcoff_link_check_ar_symbols): Likewise. 2835 28362016-05-24 Maciej W. Rozycki <macro@imgtec.com> 2837 2838 * elfxx-mips.c (_bfd_mips_elf_relocate_section) 2839 <bfd_reloc_outofrange>: Unify error reporting code. 2840 28412016-05-23 Jim Wilson <jim.wilson@linaro.org> 2842 2843 * elfnn-aarch64.c: Unconditionally enable R_AARCH64_NULL and 2844 R_AARCH64_NONE. Use HOWTO64 for R_AARCH64_NULL. 2845 * relocs.c: Add BFD_RELOC_AARCH64_NULL. 2846 * bfd-in2.h: Regenerate. 2847 * libbfd.h: Likewise. 2848 28492016-05-23 Kuba Sejdak <jakub.sejdak@phoesys.com> 2850 2851 * config.bfd: Add entry for arm-phoenix. 2852 28532016-05-23 Thomas Preud'homme <thomas.preudhomme@arm.com> 2854 2855 * elf32-arm.c (arm_dedicated_stub_section_padding): New function. 2856 (elf32_arm_size_stubs): Declare stub_type in a more outer scope and 2857 account for padding for stub section requiring one. 2858 (elf32_arm_build_stubs): Add comment to stress the importance of 2859 zeroing veneer section content. 2860 28612016-05-23 Thomas Preud'homme <thomas.preudhomme@arm.com> 2862 2863 * bfd-in.h (bfd_elf32_arm_keep_private_stub_output_sections): Declare 2864 bfd hook. 2865 * bfd-in2.h: Regenerate. 2866 * elf32-arm.c (arm_dedicated_stub_output_section_required): New 2867 function. 2868 (arm_dedicated_stub_output_section_required_alignment): Likewise. 2869 (arm_dedicated_stub_output_section_name): Likewise. 2870 (arm_dedicated_stub_input_section_ptr): Likewise. 2871 (elf32_arm_create_or_find_stub_sec): Add stub type parameter and 2872 function description comment. Add support for dedicated output stub 2873 section to given stub types. 2874 (elf32_arm_add_stub): Add a stub type parameter and pass it down to 2875 elf32_arm_create_or_find_stub_sec. 2876 (elf32_arm_create_stub): Pass stub type down to elf32_arm_add_stub. 2877 (elf32_arm_size_stubs): Pass stub type when calling 2878 elf32_arm_create_or_find_stub_sec for Cortex-A8 erratum veneers. 2879 (bfd_elf32_arm_keep_private_stub_output_sections): New function. 2880 28812016-05-20 H.J. Lu <hongjiu.lu@intel.com> 2882 2883 * elf32-i386.c (elf_i386_check_relocs): Don't check R_386_GOT32 2884 when setting need_convert_load. 2885 28862016-05-20 Maciej W. Rozycki <macro@imgtec.com> 2887 2888 * elfxx-mips.c (mips_elf_read_rel_addend): Adjust the addend for 2889 microMIPS JALX. 2890 28912016-05-19 H.J. Lu <hongjiu.lu@intel.com> 2892 2893 PR ld/20117 2894 * elf32-i386.c (elf_i386_convert_load_reloc): Don't check 2895 R_386_GOT32X. 2896 (elf_i386_convert_load): Don't convert R_386_GOT32. 2897 28982016-05-20 Alan Modra <amodra@gmail.com> 2899 2900 PR gas/20118 2901 * elf.c (elf_fake_sections): Set sh_entsize for SHT_INIT_ARRAY, 2902 SHT_FINI_ARRAY, and SHT_PREINIT_ARRAY. 2903 29042016-05-19 Cupertino Miranda <cmiranda@synopsys.com> 2905 2906 * elf32-arc.c (arc_elf_final_write_processing): Changed. 2907 (debug_arc_reloc): Likewise. 2908 (elf_arc_relocate_section): Likewise. 2909 (elf_arc_check_relocs): Likewise. 2910 (elf_arc_adjust_dynamic_symbol): Likewise. 2911 (elf_arc_add_symbol_hook): Likewise. 2912 29132016-05-19 Maciej W. Rozycki <macro@imgtec.com> 2914 2915 * config.bfd: Remove `am34-*-linux*' support. 2916 29172016-05-19 Alan Modra <amodra@gmail.com> 2918 2919 * elf64-ppc.c (allocate_dynrelocs): Allocate got and other dynamic 2920 relocs before plt relocs. 2921 29222016-05-19 Alan Modra <amodra@gmail.com> 2923 2924 * elf64-ppc.c (ppc64_elf_branch_reloc): Check for NULL owner 2925 before dereferencing. 2926 29272016-05-18 Nick Clifton <nickc@redhat.com> 2928 2929 * po/sv.po: Updated Swedish translation. 2930 29312016-05-18 Alan Modra <amodra@gmail.com> 2932 2933 * elf32-arm.c (elf32_arm_size_stubs): Free or cache local syms 2934 for each BFD. Don't goto error_ret_free_local from outside loop. 2935 29362016-05-17 Maciej W. Rozycki <macro@imgtec.com> 2937 2938 * elf-s390-common.c (elf_s390_add_symbol_hook): Remove 2939 STB_GNU_UNIQUE handling. 2940 * elf32-arc.c (elf_arc_add_symbol_hook): Likewise. 2941 * elf32-arm.c (elf32_arm_add_symbol_hook): Likewise. 2942 * elf32-m68k.c (elf_m68k_add_symbol_hook): Likewise. 2943 * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise. 2944 * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise. 2945 * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise. 2946 * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise. 2947 * elf64-x86-64.c (elf_x86_64_add_symbol_hook): Likewise. 2948 * elfxx-aarch64.c (_bfd_aarch64_elf_add_symbol_hook): Likewise. 2949 * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Likewise. 2950 * elf32-i386.c (elf_i386_add_symbol_hook): Remove function. 2951 (elf_backend_add_symbol_hook): Remove macro. 2952 * elflink.c (elf_link_add_object_symbols): Set `has_gnu_symbols' 2953 for STB_GNU_UNIQUE symbols. 2954 29552016-05-16 Maciej W. Rozycki <macro@imgtec.com> 2956 2957 * elf32-v850.c (v850_elf_copy_notes): New function, factored out 2958 from... 2959 (v850_elf_copy_private_bfd_data): ... here. Call the new 2960 function and `_bfd_elf_copy_private_bfd_data'. 2961 29622016-05-13 H.J. Lu <hongjiu.lu@intel.com> 2963 2964 PR ld/20093 2965 * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Don't convert 2966 GOTPCREL relocation against large section. 2967 29682016-05-13 Alan Modra <amodra@gmail.com> 2969 2970 * elf-m10300.c (_bfd_mn10300_elf_finish_dynamic_sections): Use 2971 linker dynamic sections in calculating size and address of 2972 dynamic tags rather than using output sections. Remove asserts. 2973 * elf32-arm.c (elf32_arm_finish_dynamic_sections): Likewise. 2974 * elf32-cr16.c (_bfd_cr16_elf_finish_dynamic_sections): Likewise. 2975 * elf32-cris.c (elf_cris_finish_dynamic_sections): Likewise. 2976 * elf32-i370.c (i370_elf_finish_dynamic_sections): Likewise. 2977 * elf32-lm32.c (lm32_elf_finish_dynamic_sections): Likewise. 2978 * elf32-m32r.c (m32r_elf_finish_dynamic_sections): Likewise. 2979 * elf32-m68k.c (elf_m68k_finish_dynamic_sections): Likewise. 2980 * elf32-metag.c (elf_metag_finish_dynamic_sections): Likewise. 2981 * elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Likewise. 2982 * elf32-nds32.c (nds32_elf_finish_dynamic_sections): Likewise. 2983 * elf32-nios2.c (nios2_elf32_finish_dynamic_sections): Likewise. 2984 * elf32-or1k.c (or1k_elf_finish_dynamic_sections): Likewise. 2985 * elf32-s390.c (elf_s390_finish_dynamic_sections): Likewise. 2986 * elf32-score.c (s3_bfd_score_elf_finish_dynamic_sections): Likewise. 2987 * elf32-score7.c (s7_bfd_score_elf_finish_dynamic_sections): Likewise. 2988 * elf32-vax.c (elf_vax_finish_dynamic_sections): Likewise. 2989 * elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Likewise. 2990 * elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Likewise. 2991 * elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise. 2992 * elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Likewise. 2993 * elflink.c (bfd_elf_final_link): Likewise. 2994 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Likewise. 2995 * elfxx-sparc.c (sparc_finish_dyn): Likewise. Adjust error message. 2996 * elf32-arc.c (GET_SYMBOL_OR_SECTION): Remove ASSERT arg and 2997 don't set doit. Look up dynobj section. 2998 (elf_arc_finish_dynamic_sections): Adjust GET_SYMBOL_OR_SECTION 2999 invocation and dynamic tag vma calculation. Don't test 3000 boolean var == TRUE. 3001 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_sections): Fix 3002 DT_JMPREL calc. 3003 30042016-05-13 Alan Modra <amodra@gmail.com> 3005 3006 * elflink.c (elf_link_sort_relocs): Wrap overlong lines. Fix 3007 octets_per_byte. Put dynamic .rela.plt last in link orders. 3008 Assign output_offset for reloc sections rather than writing 3009 sorted relocs from block corresponding to output_offset. 3010 30112016-05-12 Alan Modra <amodra@gmail.com> 3012 3013 * elf-bfd.h (elf_reloc_type_class): Put reloc_class_plt last. 3014 30152016-05-11 Andrew Bennett <andrew.bennett@imgtec.com> 3016 3017 * elfxx-mips.c (print_mips_ases): Add DSPR3. 3018 30192016-05-11 Alan Modra <amodra@gmail.com> 3020 3021 * elf32-hppa.c (elf32_hppa_init_stub_bfd): New function. 3022 (elf32_hppa_check_relocs): Don't set dynobj. 3023 (elf32_hppa_size_stubs): Test !SEC_LINKER_CREATED for stub sections. 3024 (elf32_hppa_build_stubs): Likewise. 3025 * elf32-hppa.h (elf32_hppa_init_stub_bfd): Declare. 3026 30272016-05-11 Alan Modra <amodra@gmail.com> 3028 3029 PR 20060 3030 * elf64-ppc.c (ppc64_elf_tls_setup): Clear forced_local. 3031 * elf32-ppc.c (ppc_elf_tls_setup): Likewise. 3032 30332016-05-10 Jiong Wang <jiong.wang@arm.com> 3034 3035 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Remove redundant 3036 aarch64_tls_transition check. 3037 30382016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com> 3039 3040 * elf32-arm.c (enum elf32_arm_stub_type): New max_stub_type 3041 enumerator. 3042 (arm_stub_sym_claimed): New function. 3043 (elf32_arm_create_stub): Use veneered symbol name and section if 3044 veneer needs to claim its symbol, and keep logic unchanged otherwise. 3045 (arm_stub_claim_sym): New function. 3046 (arm_map_one_stub): Call arm_stub_claim_sym if veneer needs to claim 3047 veneered symbol, otherwise create local symbol as before. 3048 30492016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com> 3050 3051 * elf32-arm.c (elf32_arm_size_stubs): Use new macros 3052 ARM_GET_SYM_BRANCH_TYPE and ARM_SET_SYM_BRANCH_TYPE to respectively get 3053 and set branch type of a symbol. 3054 (bfd_elf32_arm_process_before_allocation): Likewise. 3055 (elf32_arm_relocate_section): Likewise and fix identation along the 3056 way. 3057 (allocate_dynrelocs_for_symbol): Likewise. 3058 (elf32_arm_finish_dynamic_symbol): Likewise. 3059 (elf32_arm_swap_symbol_in): Likewise. 3060 (elf32_arm_swap_symbol_out): Likewise. 3061 30622016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com> 3063 3064 * bfd-in.h (elf32_arm_size_stubs): Add an output section parameter. 3065 * bfd-in2.h: Regenerated. 3066 * elf32-arm.c (struct elf32_arm_link_hash_table): Add an output section 3067 parameter to add_stub_section callback. 3068 (elf32_arm_create_or_find_stub_sec): Get output section from link_sec 3069 and pass it down to add_stub_section. 3070 (elf32_arm_add_stub): Set section to stub_sec if NULL before using it 3071 for error message. 3072 (elf32_arm_size_stubs): Add output section parameter to 3073 add_stub_section function pointer parameter. 3074 30752016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com> 3076 3077 * elf32-arm.c (elf32_arm_create_stub): New function. 3078 (elf32_arm_size_stubs): Use elf32_arm_create_stub for stub creation. 3079 30802016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com> 3081 3082 * elf32-arm.c (enum elf32_arm_stub_type): Delete 3083 arm_stub_a8_veneer_lwm enumerator. 3084 (arm_stub_a8_veneer_lwm): New unsigned constant to replace 3085 aforementioned enumerator. 3086 (struct elf32_arm_stub_hash_entry): Delete target_addend 3087 field and add source_value. 3088 (struct a8_erratum_fix): Delete addend field and add target_offset. 3089 (stub_hash_newfunc): Initialize source_value field amd remove 3090 initialization for target_addend. 3091 (arm_build_one_stub): Stop special casing Thumb relocations: promote 3092 the else to being always executed, moving the 3093 arm_stub_a8_veneer_b_cond specific code in it. Remove 3094 stub_entry->target_addend from points_to computation. 3095 (cortex_a8_erratum_scan): Store in a8_erratum_fix structure the offset 3096 to target symbol from start of section rather than the offset from the 3097 stub address. 3098 (elf32_arm_size_stubs): Set stub_entry's source_value and target_value 3099 fields from struct a8_erratum_fix's offset and target_offset 3100 respectively. 3101 (make_branch_to_a8_stub): Rename target variable to loc. Compute 3102 veneered_insn_loc and loc using stub_entry's source_value. 3103 31042016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com> 3105 3106 (elf32_arm_merge_eabi_attributes): Add merging logic for 3107 Tag_DSP_extension. 3108 31092016-05-10 Pip Cet <pipcet@gmail.com> 3110 3111 PR ld/20059 3112 * elfxx-target.h (bfd_elfNN_bfd_copy_link_hash_symbol_type): 3113 Define as _bfd_generic_copy_link_hash_symbol_type when using 3114 generic hash table. 3115 31162016-05-09 Nick Clifton <nickc@redhat.com> 3117 3118 PR binutils/20063 3119 * elf.c (bfd_elf_get_elf_syms): Check for out of range sh_link 3120 field before accessing sections array. 3121 31222016-05-09 Christophe Monat <christophe.monat@st.com> 3123 3124 PR ld/20030 3125 * elf32-arm.c (is_thumb2_vldm): Account for T1 (DP) encoding. 3126 (stm32l4xx_need_create_replacing_stub): Rename ambiguous nb_regs 3127 to nb_words. 3128 (create_instruction_vldmia): Add is_dp to disambiguate SP/DP 3129 encoding. 3130 (create_instruction_vldmdb): Likewise. 3131 (stm32l4xx_create_replacing_stub_vldm): is_dp detects DP encoding, 3132 uses it to re-encode. 3133 31342016-05-09 Nick Clifton <nickc@redhat.com> 3135 3136 PR 19938 3137 * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Revert accidental 3138 commit. 3139 31402016-05-09 Alan Modra <amodra@gmail.com> 3141 3142 * elf64-ppc.c (ppc64_elf_init_stub_bfd): Remove redundant NULL check. 3143 31442016-05-06 H.J. Lu <hongjiu.lu@intel.com> 3145 3146 PR ld/17550 3147 * elf-bfd.h (elf_link_hash_entry): Update comments for indx, 3148 documenting that indx == -3 if symbol is defined in a discarded 3149 section. 3150 * elflink.c (elf_link_add_object_symbols): Set indx to -3 if 3151 symbol is defined in a discarded section. 3152 (elf_link_output_extsym): Strip a global symbol defined in a 3153 discarded section. 3154 31552016-05-06 H.J. Lu <hongjiu.lu@intel.com> 3156 3157 * elf32-i386.c (elf_backend_add_symbol_hook): Defined for Intel 3158 MCU. 3159 31602016-05-05 H.J. Lu <hongjiu.lu@intel.com> 3161 3162 * elf32-i386.c (elf_i386_convert_load): Extract the GOT load 3163 conversion to ... 3164 (elf_i386_convert_load_reloc): This. New function. 3165 * elf64-x86-64.c (elf_x86_64_convert_load): Extract the GOT load 3166 conversion to ... 3167 (elf_x86_64_convert_load_reloc): This. New function. 3168 31692016-05-05 H.J. Lu <hongjiu.lu@intel.com> 3170 3171 * elf32-i386.c (elf_i386_check_tls_transition): Remove abfd. 3172 Don't check if contents == NULL. 3173 (elf_i386_tls_transition): Add from_relocate_section. Check 3174 from_relocate_section instead of contents != NULL. Update 3175 elf_i386_check_tls_transition call. 3176 (elf_i386_check_relocs): Cache the section contents if 3177 keep_memory is FALSE. Pass FALSE as from_relocate_section to 3178 elf_i386_tls_transition. 3179 (elf_i386_relocate_section): Pass TRUE as from_relocate_section 3180 to elf_i386_tls_transition. 3181 (elf_backend_caches_rawsize): New. 3182 * elf64-x86-64.c (elf_x86_64_check_tls_transition): Don't check 3183 if contents == NULL. 3184 (elf_x86_64_tls_transition): Add from_relocate_section. Check 3185 from_relocate_section instead of contents != NULL. 3186 (elf_x86_64_check_relocs): Cache the section contents if 3187 keep_memory is FALSE. Pass FALSE as from_relocate_section to 3188 elf_x86_64_tls_transition. 3189 (elf_x86_64_relocate_section): Pass TRUE as from_relocate_section 3190 to elf_x86_64_tls_transition. 3191 (elf_backend_caches_rawsize): New. 3192 31932016-05-03 Maciej W. Rozycki <macro@imgtec.com> 3194 3195 PR 10549 3196 * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Handle 3197 STB_GNU_UNIQUE. 3198 31992016-05-03 Jiong Wang <jiong.wang@arm.com> 3200 3201 * bfd-in.h (bfd_elf64_aarch64_set_options): Update prototype. 3202 * bfd-in2.h (bfd_elf64_aarch64_set_options): Likewise. 3203 * elfnn-aarch64.c (bfd_elfNN_aarch64_set_options): Initialize 3204 no_apply_dynamic_relocs. 3205 (elfNN_aarch64_final_link_relocate): Apply absolute relocations even though 3206 dynamic relocations generated. 3207 32082016-04-29 H.J. Lu <hongjiu.lu@intel.com> 3209 3210 * elf32-i386.c (elf_i386_size_dynamic_sections): Move interp 3211 setting to ... 3212 (elf_i386_create_dynamic_sections): Here. 3213 * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Move 3214 interp setting to ... 3215 (elf_x86_64_create_dynamic_sections): Here. 3216 32172016-04-29 H.J. Lu <hongjiu.lu@intel.com> 3218 3219 * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take GOT_RELOC 3220 and replace (EH)->has_got_reloc with GOT_RELOC. 3221 (elf_i386_fixup_symbol): Pass has_got_reloc to 3222 UNDEFINED_WEAK_RESOLVED_TO_ZERO. 3223 (elf_i386_allocate_dynrelocs): Likewise. 3224 (elf_i386_relocate_section): Likewise. 3225 (elf_i386_finish_dynamic_symbol): Likewise. 3226 (elf_i386_convert_load): Pass TRUE to 3227 UNDEFINED_WEAK_RESOLVED_TO_ZERO. 3228 * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take 3229 GOT_RELOC and replace (EH)->has_got_reloc with GOT_RELOC. 3230 (elf_x86_64_fixup_symbol): Pass has_got_reloc to 3231 UNDEFINED_WEAK_RESOLVED_TO_ZERO. 3232 (elf_x86_64_allocate_dynrelocs): Likewise. 3233 (elf_x86_64_relocate_section): Likewise. 3234 (elf_x86_64_finish_dynamic_symbol): Likewise. 3235 (elf_x86_64_convert_load): Pass TRUE to 3236 UNDEFINED_WEAK_RESOLVED_TO_ZERO. 3237 32382016-04-29 H.J. Lu <hongjiu.lu@intel.com> 3239 3240 * elf32-i386.c (check_relocs_failed): New. 3241 (elf_i386_check_relocs): Set check_relocs_failed on error. 3242 (elf_i386_relocate_section): Skip if check_relocs failed. 3243 32442016-04-29 H.J. Lu <hongjiu.lu@intel.com> 3245 3246 * elf64-x86-64.c (elf_x86_64_check_relocs): Set 3247 check_relocs_failed on error. 3248 32492016-04-29 Nick Clifton <nickc@redhat.com> 3250 3251 PR 19938 3252 * elf-bfd.h (struct elf_backend_data): Rename 3253 elf_backend_set_special_section_info_and_link to 3254 elf_backend_copy_special_section_fields. 3255 * elfxx-target.h: Likewise. 3256 * elf.c (section_match): Ignore the SHF_INFO_LINK flag when 3257 comparing section flags. 3258 (copy_special_section_fields): New function. 3259 (_bfd_elf_copy_private_bfd_data): Copy the EI_ABIVERSION field. 3260 Perform two scans over special sections. The first one looks for 3261 a direct mapping between the output section and an input section. 3262 The second scan looks for a possible match based upon section 3263 characteristics. 3264 * elf32-arm.c (elf32_arm_copy_special_section_fields): New 3265 function. Handle setting the sh_link field of SHT_ARM_EXIDX 3266 sections. 3267 * elf32-i386.c (elf32_i386_set_special_info_link): Rename to 3268 elf32_i386_copy_solaris_special_section_fields. 3269 * elf32-sparc.c (elf32_sparc_set_special_section_info_link): 3270 Rename to elf32_sparc_copy_solaris_special_section_fields. 3271 * elf64-x86-64.c (elf64_x86_64_set_special_info_link): Rename to 3272 elf64_x86_64_copy_solaris_special_section_fields. 3273 32742016-04-28 Nick Clifton <nickc@redhat.com> 3275 3276 * po/zh_CN.po: Updated Chinese (simplified) translation. 3277 32782016-04-27 H.J. Lu <hongjiu.lu@intel.com> 3279 3280 PR ld/20006 3281 * elf64-x86-64.c (elf_x86_64_convert_load): Skip debug sections 3282 when estimating distances between output sections. 3283 32842016-04-27 Alan Modra <amodra@gmail.com> 3285 3286 * elflink.c (_bfd_elf_is_start_stop): New function. 3287 (_bfd_elf_gc_mark_rsec): Use it. 3288 * elf-bfd.h (_bfd_elf_is_start_stop): Declare. 3289 32902016-04-26 Trevor Saunders <tbsaunde+binutils@tbsaunde.org> 3291 3292 * elf32-rx.c (rx_set_section_contents): Avoid arithmetic on void *. 3293 * mmo.c (mmo_get_section_contents): Likewise. 3294 (mmo_set_section_contents): Likewise. 3295 32962016-04-26 H.J. Lu <hongjiu.lu@intel.com> 3297 3298 * elf-bfd.h (elf_link_hash_table): Update comments for 3299 dynsymcount. 3300 * elflink.c (_bfd_elf_link_renumber_dynsyms): Always count for 3301 the unused NULL entry at the head of dynamic symbol table. 3302 (bfd_elf_size_dynsym_hash_dynstr): Remove dynsymcount != 0 3303 checks. 3304 33052016-04-21 H.J. Lu <hongjiu.lu@intel.com> 3306 3307 * elflink.c (_bfd_elf_link_create_dynstrtab): Exclude linker 3308 created file from dynobj. 3309 33102016-04-21 H.J. Lu <hongjiu.lu@intel.com> 3311 3312 * elflink.c (_bfd_elf_link_create_dynstrtab): Set dynobj to a 3313 normal input file if possible. 3314 33152016-04-21 Nick Clifton <nickc@redhat.com> 3316 3317 * aout-adobe.c: Use _bfd_generic_link_check_relocs. 3318 * aout-target.h: Likewise. 3319 * aout-tic30.c: Likewise. 3320 * binary.c: Likewise. 3321 * bout.c: Likewise. 3322 * coff-alpha.c: Likewise. 3323 * coff-rs6000.c: Likewise. 3324 * coff64-rs6000.c: Likewise. 3325 * coffcode.h: Likewise. 3326 * i386msdos.c: Likewise. 3327 * i386os9k.c: Likewise. 3328 * ieee.c: Likewise. 3329 * ihex.c: Likewise. 3330 * libbfd-in.h: Likewise. 3331 * libecoff.h: Likewise. 3332 * mach-o-target.c: Likewise. 3333 * mmo.c: Likewise. 3334 * nlm-target.h: Likewise. 3335 * oasys.c: Likewise. 3336 * pef.c: Likewise. 3337 * plugin.c: Likewise. 3338 * ppcboot.c: Likewise. 3339 * som.c: Likewise. 3340 * srec.c: Likewise. 3341 * tekhex.c: Likewise. 3342 * versados.c: Likewise. 3343 * vms-alpha.c: Likewise. 3344 * xsym.c: Likewise. 3345 * elfxx-target.h: Use _bfd_elf_link_check_relocs. 3346 * linker.c (bfd_link_check_relocs): New function. 3347 (_bfd_generic_link_check_relocs): New function. 3348 * targets.c (BFD_JUMP_TABLE_LINK): Add initialization of 3349 _bfd_link_check_relocs field. 3350 (struct bfd_target)L Add _bfd_link_check_relocs field. 3351 * bfd-in2.h: Regenerate. 3352 * libbfd.h: Regenerate. 3353 33542016-04-20 H.J. Lu <hongjiu.lu@intel.com> 3355 3356 * elf32-i386.c (elf_i386_gc_sweep_hook): Removed. 3357 (elf_backend_gc_sweep_hook): Likewise. 3358 * elf64-x86-64.c (elf_x86_64_gc_sweep_hook): Likewise. 3359 (elf_backend_gc_sweep_hook): Likewise. 3360 33612016-04-20 H.J. Lu <hongjiu.lu@intel.com> 3362 3363 * elflink.c (_bfd_elf_link_check_relocs): Don't check relocations 3364 in excluded sections 3365 33662016-04-20 H.J. Lu <hongjiu.lu@intel.com> 3367 3368 PR ld/19969 3369 * elf64-x86-64.c (check_relocs_failed): New. 3370 (elf_x86_64_need_pic): Moved before elf_x86_64_check_relocs. 3371 Support relocation agaist local symbol. Set check_relocs_failed. 3372 (elf_x86_64_check_relocs): Use elf_x86_64_need_pic. Check 3373 R_X86_64_32 relocation overflow. 3374 (elf_x86_64_relocate_section): Skip if check_relocs failed. 3375 Update one elf_x86_64_need_pic and remove one elf_x86_64_need_pic. 3376 33772016-04-20 H.J. Lu <hongjiu.lu@intel.com> 3378 3379 * elf32-i386.c (elf_i386_check_relocs): Call 3380 _bfd_elf_create_ifunc_sections only for STT_GNU_IFUNC symbol. 3381 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise. 3382 33832016-04-20 H.J. Lu <hongjiu.lu@intel.com> 3384 3385 * elf-bfd.h (_bfd_elf_link_check_relocs): New. 3386 * elflink.c (_bfd_elf_link_check_relocs): New function. 3387 (elf_link_add_object_symbols): Call _bfd_elf_link_check_relocs 3388 if check_relocs_after_open_input is FALSE. 3389 33902016-04-20 Trevor Saunders <tbsaunde+binutils@tbsaunde.org> 3391 3392 * cache.c: Update old style function definitions. 3393 * elf32-m68k.c: Likewise. 3394 * elf64-mmix.c: Likewise. 3395 * stab-syms.c: Likewise. 3396 33972016-04-20 Trevor Saunders <tbsaunde+binutils@tbsaunde.org> 3398 3399 * elf32-arm.c (put_thumb2_insn): Change argument type to bfd_byte *. 3400 34012016-04-15 H.J. Lu <hongjiu.lu@intel.com> 3402 3403 * Makefile.in: Regenerated with automake 1.11.6. 3404 * aclocal.m4: Likewise. 3405 * doc/Makefile.in: Likewise. 3406 34072016-04-14 Andrew Burgess <andrew.burgess@embecosm.com> 3408 3409 * reloc.c: Add BFD_RELOC_ARC_NPS_CMEM16 entry. 3410 * bfd-in2.h: Regenerate. 3411 * libbfd.h: Regenerate. 3412 * elf32-arc.c: Add 'opcode/arc.h' include. 3413 (struct arc_relocation_data): Add symbol_name. 3414 (arc_special_overflow_checks): New function. 3415 (arc_do_relocation): Use arc_special_overflow_checks, reindent as 3416 required, add an extra comment. 3417 (elf_arc_relocate_section): Setup symbol_name in reloc_data. 3418 34192016-04-14 Andrew Burgess <andrew.burgess@embecosm.com> 3420 3421 * elf32-arc.c (tls_got_entries): Add 'TLS_GOT_' prefix to all 3422 entries. 3423 (elf_arc_relocate_section): Update enum uses. 3424 (elf_arc_check_relocs): Likewise. 3425 (elf_arc_finish_dynamic_symbol): Likewise. 3426 34272016-04-14 H.J. Lu <hongjiu.lu@intel.com> 3428 3429 * elf.c (_bfd_elf_copy_private_bfd_data): Replace "link" with 3430 "sh_link". 3431 34322016-04-14 Nick Clifton <nickc@redhat.com> 3433 3434 PR target/19938 3435 * elf-bbfd.h (struct elf_backend_data): New field: 3436 elf_strtab_flags. 3437 New field: elf_backend_set_special_section_info_and_link 3438 * elfxx-target.h (elf_backend_strtab_flags): Define if not already 3439 defined. 3440 (elf_backend_set_special_section_info_and_link): Define if not 3441 already defined. 3442 (elfNN_bed): Use elf_backend_set_special_section_info_and_link and 3443 elf_backend_strtab_flags macros to initialise fields in structure. 3444 * elf.c (_bfd_elf_make_section_from_shdr): Check for SHF_STRINGS 3445 being set even if SHF_MERGE is not set. 3446 (elf_fake_sections): Likewise. 3447 (section_match): New function. Matches two ELF sections based 3448 upon fixed characteristics. 3449 (find_link): New function. Locates a section in a BFD that 3450 matches a section in a different BFD. 3451 (_bfd_elf_copy_private_bfd_data): Copy the sh_info and sh_link 3452 fields of reserved sections. 3453 (bfd_elf_compute_section_file_positions): Set the flags for the 3454 .shstrtab section based upon the elf_strtab_flags field in the 3455 elf_backend_data structure. 3456 (swap_out_syms): Likewise for the .strtab section. 3457 * elflink.c (bfd_elf_final_link): Set the flags for the 3458 .strtab section based upon the elf_strtab_flags field in the 3459 elf_backend_data structure. 3460 * elf32-i386.c (elf32_i386_set_special_info_link): New function. 3461 (elf_backend_strtab_flags): Set to SHF_STRINGS for Solaris 3462 targets. 3463 (elf_backend_set_special_section_info_and_link): Define for 3464 Solaris targets. 3465 * elf32-sparc.c: Likewise. 3466 * elf64-x86-64.c: Likewise. 3467 34682016-04-11 H.J. Lu <hongjiu.lu@intel.com> 3469 3470 PR ld/19939 3471 * elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add a pointer 3472 to bfd_boolean. 3473 * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Updated. 3474 Set *readonly_dynrelocs_against_ifunc_p to TRUE if dynamic reloc 3475 applies to read-only section. 3476 * elf32-i386.c (elf_i386_link_hash_table): Add 3477 readonly_dynrelocs_against_ifunc. 3478 (elf_i386_allocate_dynrelocs): Updated. 3479 (elf_i386_size_dynamic_sections): Issue an error for read-only 3480 segment with dynamic IFUNC relocations only if 3481 readonly_dynrelocs_against_ifunc is TRUE. 3482 * elf64-x86-64.c (elf_x86_64_link_hash_table): Add 3483 readonly_dynrelocs_against_ifunc. 3484 (elf_x86_64_allocate_dynrelocs): Updated. 3485 (elf_x86_64_size_dynamic_sections): Issue an error for read-only 3486 segment with dynamic IFUNC relocations only if 3487 readonly_dynrelocs_against_ifunc is TRUE. 3488 * elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs): 3489 Updated. 3490 34912016-04-06 Thomas Preud'homme <thomas.preudhomme@arm.com> 3492 3493 * elf32-arm.c (elf32_arm_size_stubs): Move error_ret_free_local to be 3494 a fall through from error_ret_free_internal. Free local_syms in 3495 error_ret_free_local if allocated from bfd_elf_get_elf_syms (). 3496 34972016-04-05 Cupertino Miranda <cmiranda@synopsys.com> 3498 3499 * elf32-arc.c (plt_do_relocs_for_symbol): Changed. 3500 (relocate_plt_for_entry): Likewise. 3501 35022016-04-05 Cupertino Miranda <cmiranda@synopsys.com> 3503 3504 * elf32-arc.c (elf_arc_check_relocs): Changed 3505 35062016-04-05 Cupertino Miranda <cmiranda@synopsys.com> 3507 3508 * elf32-arc.c (name_for_global_symbol): Changed assert. 3509 (get_replace_function): Created.: 3510 (struct arc_relocation_data): Changed to signed types. 3511 (defines S, L, P, PDATA): Casted to signed type. 3512 (defines SECTSTART, _SDA_BASE_, TLS_REL): Likewise. 3513 (PRINT_DEBUG_RELOC_INFO_BEFORE): Changed. 3514 (arc_do_relocation): Changed. 3515 35162016-04-05 Cupertino Miranda <cmiranda@synopsys.com> 3517 3518 * elf32-arc.c (name_for_global_symbol): Added assert to check for 3519 symbol index. 3520 (elf_arc_relocate_section): Added and changed asserts, validating 3521 the synamic symbol index. 3522 (elf_arc_finish_dynamic_symbol): Do not fill the dynamic 3523 relocation if symbol has dynindx set to -1. 3524 35252016-04-05 Maciej W. Rozycki <macro@imgtec.com> 3526 3527 PR ld/19908 3528 * elflink.c (elf_link_add_object_symbols): Always turn hidden 3529 and internal symbols which have a dynamic index into local 3530 ones. 3531 35322016-04-04 Nick Clifton <nickc@redhat.com> 3533 3534 PR 19872 3535 * dwarf2.c (parse_comp_unit): Skip warning about unrecognised 3536 version number if the version is zero. 3537 35382016-04-01 Alan Modra <amodra@gmail.com> 3539 3540 PR 19886 3541 * elflink.c (on_needed_list): Recursively check needed status. 3542 (elf_link_add_object_symbols): Adjust. 3543 35442016-03-30 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> 3545 3546 * elf32-avr.c (avr_elf32_load_records_from_section): Free 3547 internal_relocs only if they aren't cached. 3548 35492016-03-29 Nick Clifton <nickc@redhat.com> 3550 3551 PR 17334 3552 * elf32-bfin.c (elf32_bfinfdpic_finish_dynamic_sections): Relax 3553 assertion on the size of the got section to allow it to be bigger 3554 than the number of relocs. 3555 35562016-03-29 Toni Spets <toni.spets@iki.fi> 3557 3558 PR 19878 3559 * coffcode.h (coff_write_object_contents): Revert accidental 3560 2014-11-10 change. 3561 35622016-03-22 Alan Modra <amodra@gmail.com> 3563 3564 PR 19850 3565 * dwarf2.c (read_attribute_value): Skip info_ptr check for 3566 DW_FORM_flag_present. 3567 35682016-03-22 Nick Clifton <nickc@redhat.com> 3569 3570 * cpu-v850_rh850.c (arch_info_struct): Restore v850-rh850 as an 3571 architecture name for backwards compatibility. 3572 3573 * peXXigen.c (_bfd_XXi_write_codeview_record): Fix possible 3574 unbounded stack use. 3575 3576 * warning.m4 (GCC_WARN_CFLAGS): Only add -Wstack-usage if using a 3577 sufficiently recent version of GCC. 3578 * configure: Regenerate. 3579 35802016-03-22 Alan Modra <amodra@gmail.com> 3581 3582 PR 19851 3583 * plugin.c (try_load_plugin): Avoid -Wstack-usage warning. 3584 35852016-03-21 Andrew Burgess <andrew.burgess@embecosm.com> 3586 3587 * archures.c (bfd_mach_arc_nps400): Define. 3588 * bfd-in2.h: Regenerate. 3589 * cpu-arc.c (arch_info_struct): New entry for nps400, renumber 3590 some existing entries to make space. 3591 * elf32-arc.c (arc_elf_object_p): Add nps400 case. 3592 (arc_elf_final_write_processing): Likewise. 3593 35942016-03-21 Andrew Burgess <andrew.burgess@embecosm.com> 3595 3596 * elf32-arc.c (arc_elf_print_private_bfd_data): Remove use of 3597 EF_ARC_CPU_GENERIC. 3598 (arc_elf_final_write_processing): Don't bother setting cpu field 3599 in e_flags, this will have been set elsewhere. 3600 36012016-03-21 Andrew Burgess <andrew.burgess@embecosm.com> 3602 3603 * elf32-arc.c (arc_elf_final_write_processing): Switch to using 3604 EF_ARC_MACH_MSK. 3605 36062016-03-21 Nick Clifton <nickc@redhat.com> 3607 3608 * warning.m4 (GCC_WARN_CFLAGS): Add -Wstack-usage=262144 3609 * configure: Regenerate. 3610 * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Replace use of 3611 alloca with call to xmalloc. 3612 * elf32-nds32.c: Likewise. 3613 * elf64-hppa.c: Likewise. 3614 * elfxx-mips.c: Likewise. 3615 * pef.c: Likewise. 3616 * pei-x86_64.c: Likewise. 3617 * som.c: Likewise. 3618 * xsym.c: Likewise. 3619 36202016-03-15 H.J. Lu <hongjiu.lu@intel.com> 3621 3622 PR ld/19827 3623 * elf32-i386.c (elf_i386_check_relocs): Bind defined symbol 3624 locally in PIE. 3625 (elf_i386_relocate_section): Likewise. 3626 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise. 3627 (elf_x86_64_relocate_section): Likewise. 3628 36292016-03-15 H.J. Lu <hongjiu.lu@intel.com> 3630 3631 PR ld/19807 3632 * elf64-x86-64.c (elf_x86_64_relocate_section): Check 3633 no_reloc_overflow_check to diable R_X86_64_32/R_X86_64_32S 3634 relocation overflow check. 3635 36362016-03-14 H.J. Lu <hongjiu.lu@intel.com> 3637 3638 * bfd-in2.h: Regenerated. 3639 36402016-03-11 Dan Gissel <dgisselq@ieee.org> 3641 3642 PR 19713 3643 * elf.c (_bfd_elf_section_offset): Ensure that the returned offset 3644 uses bytes not octets. 3645 * elflink.c (resolve_section): Likewise. 3646 Add a bfd parameter. 3647 (eval_section): Pass the input_bfd to resolve_section. 3648 (bfd_elf_perform_complex_relocation): Convert byte offset to 3649 octets before read and writing values. 3650 (elf_link_input_bfd): Add byte to octet conversions. 3651 (elf_reloc_link_order): Likewise. 3652 (elf_fixup_link_order): Likewise. 3653 (bfd_elf_final_link): Likewise. 3654 * reloc.c (_bfd_final_link_relocate): Likewise. 3655 * syms.c (_bfd_stab_section_find_nearest_line): Likewise. 3656 36572016-03-10 Nick Clifton <nickc@redhat.com> 3658 3659 * config.bfd: Mark the i370 target as obsolete. 3660 36612016-03-09 Pedro Alves <palves@redhat.com> 3662 3663 * cpu-v850.c (N): Append ":old-gcc-abi" instead of " (using old 3664 gcc ABI)" to printable name. 3665 * cpu-v850_rh850.c (bfd_v850_rh850_arch): Use "v850:rh850" instead 3666 of "v850-rh850" as printable name. 3667 36682016-03-09 Leon Winter <winter-gcc@bfw-online.de> 3669 3670 PR ld/19623 3671 * cofflink.c (_bfd_coff_generic_relocate_section): Do not apply 3672 relocations against absolute symbols. 3673 36742016-03-09 Alan Modra <amodra@gmail.com> 3675 3676 PR binutils/19775 3677 * coff-alpha.c (alpha_ecoff_openr_next_archived_file): Allow zero 3678 length elements in the archive. 3679 36802016-03-08 H.J. Lu <hongjiu.lu@intel.com> 3681 3682 PR ld/19789 3683 * elflink.c (elf_link_add_object_symbols): Create dynamic sections 3684 for -E/--dynamic-list only when not relocatable. 3685 36862016-03-08 H.J. Lu <hongjiu.lu@intel.com> 3687 3688 PR ld/19784 3689 * elf32-i386.c (elf_i386_check_relocs): Increment PLT reference 3690 count for locally defined local IFUNC symbols in shared object. 3691 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise. 3692 36932016-03-08 H.J. Lu <hongjiu.lu@intel.com> 3694 3695 PR ld/19579 3696 * elflink.c (_bfd_elf_merge_symbol): Group common symbol checking 3697 together. 3698 36992016-03-08 Cupertino Miranda <Cupertino.Miranda@synopsys.com> 3700 Andrew Burgess <andrew.burgess@embecosm.com> 3701 3702 * elf32-arc.c (arc_bfd_get_32): Becomes an alias for bfd_get_32. 3703 (arc_bfd_put_32): Becomes an alias for bfd_put_32. 3704 (arc_elf_howto_init): Added assert to validate relocations. 3705 (get_middle_endian_relocation): Delete. 3706 (middle_endian_convert): New function. 3707 (ME): Redefine, now does nothing. 3708 (IS_ME): New define. 3709 (arc_do_relocation): Extend the attached 'ARC_RELOC_HOWTO' 3710 definition to call middle_endian_convert. Add a new local 3711 variable and make use of this throughout. Added call to 3712 arc_bfd_get_8 and arc_bfd_put_8 for 8 bit relocations. 3713 37142016-03-07 Nick Clifton <nickc@redhat.com> 3715 3716 PR binutils/19775 3717 * archive.c (bfd_generic_openr_next_archived_file): Allow zero 3718 length elements in the archive. 3719 37202016-03-07 Jiong Wang <jiong.wang@arm.com> 3721 3722 * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Always create .got 3723 section if the symbol "_GLOBAL_OFFSET_TABLE_" is referenced. 3724 37252016-03-04 H.J. Lu <hongjiu.lu@intel.com> 3726 3727 PR ld/19579 3728 * elflink.c (_bfd_elf_merge_symbol): Treat common symbol in 3729 executable as definition if the new definition comes from a 3730 shared library. 3731 37322016-03-02 Alan Modra <amodra@gmail.com> 3733 3734 * Makefile.in: Regenerate. 3735 * po/SRC-POTFILES.in: Regenerate. 3736 37372016-02-29 Cupertino Miranda <cmiranda@synopsys.com> 3738 3739 * elf32-arc.c (elf_arc_relocate_section): Added rules to fix the 3740 relocation addend when sections get merged. 3741 37422016-02-29 Cupertino Miranda <Cupertino.Miranda@synopsys.com> 3743 3744 * elf32-arc.c (arc_elf_final_write_processing): Add condition to 3745 the flag change. 3746 (elf_arc_relocate_section): Fixes and conditions to support PIE. 3747 Assert for code sections dynamic relocs. 3748 37492016-02-26 Renlin Li <renlin.li@arm.com> 3750 3751 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Fix signed overflow 3752 check for MOVW_SABS_G0, MOVW_SABS_G1, MOVW_SABS_G2. 3753 37542016-02-26 H.J. Lu <hongjiu.lu@intel.com> 3755 3756 PR ld/19609 3757 * elf32-i386.c (elf_i386_convert_load): Convert to R_386_32 for 3758 load with locally bound symbols if PIC is false or there is no 3759 base register. Optimize branch to 0 if PIC is false. 3760 (elf_i386_relocate_section): Don't generate dynamic relocations 3761 against undefined weak symbols if PIC is false. 3762 * elf64-x86-64.c (elf_x86_64_convert_load): Disable optimization 3763 if we can't estimate relocation overflow with --no-relax. 3764 Convert to R_X86_64_32S/R_X86_64_32 for load with locally bound 3765 symbols if PIC is false. Optimize branch to 0 if PIC is false. 3766 (elf_x86_64_relocate_section): Don't generate dynamic relocations 3767 against undefined weak symbols if PIC is false. 3768 37692016-02-26 H.J. Lu <hongjiu.lu@intel.com> 3770 3771 PR ld/19645 3772 * bfd.c (bfd): Change flags to 20 bits. 3773 (BFD_CONVERT_ELF_COMMON): New. 3774 (BFD_USE_ELF_STT_COMMON): Likewise. 3775 (BFD_FLAGS_SAVED): Add BFD_CONVERT_ELF_COMMON and 3776 BFD_USE_ELF_STT_COMMON. 3777 (BFD_FLAGS_FOR_BFD_USE_MASK): Likewise. 3778 * configure.ac: Remove --enable-elf-stt-common. 3779 * elf.c (swap_out_syms): Choose STT_COMMON or STT_OBJECT for 3780 common symbol depending on BFD_CONVERT_ELF_COMMON and 3781 BFD_USE_ELF_STT_COMMON. 3782 * elfcode.h (elf_slurp_symbol_table): Set BSF_ELF_COMMON for 3783 STT_COMMON. 3784 * elflink.c (bfd_elf_link_mark_dynamic_symbol): Also check 3785 STT_COMMON. 3786 (elf_link_convert_common_type): New function. 3787 (elf_link_output_extsym): Choose STT_COMMON or STT_OBJECT for 3788 common symbol depending on BFD_CONVERT_ELF_COMMON and 3789 BFD_USE_ELF_STT_COMMON. Set sym.st_info after sym.st_shndx. 3790 * elfxx-target.h (TARGET_BIG_SYM): Add BFD_CONVERT_ELF_COMMON 3791 and BFD_USE_ELF_STT_COMMON to object_flags. 3792 (TARGET_LITTLE_SYM): Likewise. 3793 * syms.c (BSF_KEEP_G): Renamed to ... 3794 (BSF_ELF_COMMON): This. 3795 * bfd-in2.h: Regenerated. 3796 * config.in: Likewise. 3797 * configure: Likewise. 3798 37992016-02-26 H.J. Lu <hongjiu.lu@intel.com> 3800 3801 PR ld/19636 3802 PR ld/19704 3803 PR ld/19719 3804 * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New. 3805 (elf_i386_link_hash_entry): Add has_got_reloc and 3806 has_non_got_reloc. 3807 (elf_i386_link_hash_table): Add interp. 3808 (elf_i386_link_hash_newfunc): Initialize has_got_reloc and 3809 has_non_got_reloc. 3810 (elf_i386_copy_indirect_symbol): Copy has_got_reloc and 3811 has_non_got_reloc. 3812 (elf_i386_check_relocs): Set has_got_reloc and has_non_got_reloc. 3813 (elf_i386_fixup_symbol): New function. 3814 (elf_i386_pie_finish_undefweak_symbol): Likewise. 3815 (elf_i386_allocate_dynrelocs): Don't allocate space for dynamic 3816 relocations and discard relocations against resolved undefined 3817 weak symbols in executable. Don't make resolved undefined weak 3818 symbols in executable dynamic. Keep dynamic non-GOT/non-PLT 3819 relocation against undefined weak symbols in PIE. 3820 (elf_i386_size_dynamic_sections): Set interp to .interp section. 3821 (elf_i386_relocate_section): Don't generate dynamic relocations 3822 against resolved undefined weak symbols in PIE, except for 3823 R_386_PC32. 3824 (elf_i386_finish_dynamic_symbol): Keep PLT/GOT entries without 3825 dynamic PLT/GOT relocations for resolved undefined weak symbols. 3826 Don't generate dynamic relocation against resolved undefined weak 3827 symbol in executable. 3828 (elf_i386_finish_dynamic_sections): Call 3829 elf_i386_pie_finish_undefweak_symbol on all symbols in PIE. 3830 (elf_backend_fixup_symbol): New. 3831 * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New. 3832 (elf_x86_64_link_hash_entry): Add has_got_reloc and 3833 has_non_got_reloc. 3834 (elf_x86_64_link_hash_table): Add interp. 3835 (elf_x86_64_link_hash_newfunc): Initialize has_got_reloc and 3836 has_non_got_reloc. 3837 (elf_x86_64_copy_indirect_symbol): Copy has_got_reloc and 3838 has_non_got_reloc. 3839 (elf_x86_64_check_relocs): Set has_got_reloc and 3840 has_non_got_reloc. 3841 (elf_x86_64_fixup_symbol): New function. 3842 (elf_x86_64_pie_finish_undefweak_symbol): Likewise. 3843 (elf_x86_64_allocate_dynrelocs): Don't allocate space for dynamic 3844 relocations and discard relocations against resolved undefined 3845 weak symbols in executable. Don't make resolved undefined weak 3846 symbols in executable dynamic. 3847 (elf_x86_64_size_dynamic_sections): Set interp to .interp section. 3848 (elf_x86_64_relocate_section): Check relocation overflow for 3849 dynamic relocations against unresolved weak undefined symbols. 3850 Don't generate dynamic relocations against resolved weak 3851 undefined symbols in PIE. 3852 (elf_x86_64_finish_dynamic_symbol): Keep PLT/GOT entries without 3853 dynamic PLT/GOT relocations for resolved undefined weak symbols. 3854 Don't generate dynamic relocation against resolved undefined weak 3855 symbol in executable. 3856 (elf_x86_64_finish_dynamic_sections): Call 3857 elf_x86_64_pie_finish_undefweak_symbol on all symbols in PIE. 3858 (elf_backend_fixup_symbol): New. 3859 38602016-02-26 Alan Modra <amodra@gmail.com> 3861 3862 * elf64-ppc.c (create_linkage_sections): Create sfpr when 3863 save_restore_funcs, rest of sections when not relocatable. 3864 (ppc64_elf_init_stub_bfd): Always call create_linkage_sections. 3865 (sfpr_define): Define all symbols on emitted code. 3866 (ppc64_elf_func_desc_adjust): Adjust for sfpr now being created 3867 when relocatable. Move sfpr_define loop earlier. 3868 38692016-02-24 H.J. Lu <hongjiu.lu@intel.com> 3870 3871 * elf64-x86-64.c (elf_x86_64_need_pic): New function. 3872 (elf_x86_64_relocate_section): Use it. Replace 3873 x86_64_elf_howto_table[r_type] with howto. 3874 38752016-02-24 H.J. Lu <hongjiu.lu@intel.com> 3876 3877 PR ld/19698 3878 * elflink.c (bfd_elf_record_link_assignment): Set versioned if 3879 symbol version is unknown. 3880 38812016-02-24 H.J. Lu <hongjiu.lu@intel.com> 3882 3883 * elf32-i386.c (elf_i386_allocate_dynrelocs): Set plt_got.offset 3884 to (bfd_vma) -1 when setting needs_plt to 0. 3885 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise. 3886 38872016-02-23 H.J. Lu <hongjiu.lu@intel.com> 3888 3889 * elflink.c (bfd_elf_record_link_assignment): Check for shared 3890 library, instead of PIC, and don't check PDE when making linker 3891 assigned symbol dynamic. 3892 38932016-02-23 Faraz Shahbazker <faraz.shahbazker@imgtec.com> 3894 3895 * bfd/elfxx-mips.c (_bfd_mips_post_process_headers): Increment 3896 ABIVERSION for non-executable stack. 3897 38982016-02-23 Rich Felker <bugdal@aerifal.cx> 3899 3900 PR target/19516 3901 * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol): 3902 Always produce a RELATIVE reloc for a local symbol. 3903 39042016-02-23 Hans-Peter Nilsson <hp@axis.com> 3905 3906 Fix test-case ld-elf/pr19617b 3907 * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't 3908 discard unused non-function symbols when --dynamic-list-data. 3909 39102016-02-22 H.J. Lu <hongjiu.lu@intel.com> 3911 3912 * elflink.c (_bfd_elf_link_renumber_dynsyms): Always create the 3913 dynsym section, even if it is empty, with dynamic sections. 3914 39152016-02-22 H.J. Lu <hongjiu.lu@intel.com> 3916 3917 * syms.c: Remove BSF_COMMON from comments. 3918 * bfd-in2.h: Regenerated. 3919 39202016-02-22 Jiong Wang <jiong.wang@arm.com> 3921 3922 * elfnn-aarch64. (aarch64_type_of_stub): Remove redundation calcuation 3923 for destination. Remove useless function parameters. 3924 (elfNN_aarch64_size_stubs): Update parameters for aarch64_type_of_stub. 3925 39262016-02-19 Nick Clifton <nickc@redhat.com> 3927 3928 PR ld/19629 3929 * aoutx.h (aout_link_add_symbols): Check for out of range string 3930 table offsets. 3931 3932 PR ld/19628 3933 * reloc.c (bfd_generic_get_relocated_section_contents): Stop 3934 processing if we encounter a reloc without an associated symbol. 3935 39362016-02-18 H.J. Lu <hongjiu.lu@intel.com> 3937 3938 PR ld/19617 3939 * elflink.c (elf_link_add_object_symbols): Always create dynamic 3940 sections for -E/--dynamic-list. 3941 39422016-02-17 H.J. Lu <hongjiu.lu@intel.com> 3943 3944 * elf64-x86-64.c (elf_backend_omit_section_dynsym): New. Defined 3945 to bfd_true. 3946 39472016-02-16 Joseph Myers <joseph@codesourcery.com> 3948 3949 * plugin.c (plugin_vec): Set match priority to 255. 3950 * format.c (bfd_check_format_matches) [BFD_SUPPORTS_PLUGINS]: When 3951 matching against the plugin vector, take priority from there not 3952 from TEMP. 3953 39542016-02-15 Nick Clifton <nickc@redhat.com> 3955 3956 * elf-bfd.h (struct bfd_elf_special_section): Use unsigned values 3957 for length and type fields. Use a signed value for the 3958 suffix_length field. 3959 39602016-02-10 H.J. Lu <hongjiu.lu@intel.com> 3961 3962 PR ld/19601 3963 * elf32-i386.c (elf_i386_relocate_section): Mask off the least 3964 significant bit in GOT offset for R_386_GOT32X. 3965 39662016-02-10 Nick Clifton <nickc@redhat.com> 3967 3968 PR 19405 3969 * elf32-nios2.c (nios2_elf32_install_imm16): Allow for signed 3970 immediate values. 3971 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Limit the 3972 number of messages about FDE encoding preventing .eh_frame_hdr 3973 generation. 3974 39752016-02-09 Nick Clifton <nickc@redhat.com> 3976 3977 * oasys.c (oasys_archive_p): Fix indentation. 3978 * elf32-nds32.c (nds32_elf_relax_section): Use an unsigned 3979 constant for left shifting. 3980 3981 * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Add a more 3982 helpful warning message to explain why certain AArch64 relocs 3983 might overflow. 3984 39852016-02-05 Simon Marchi <simon.marchi@ericsson.com> 3986 3987 * pe-mips.c (coff_mips_reloc): Fix formatting. 3988 39892016-02-05 Cupertino Miranda <Cupertino.Miranda@synopsys.com> 3990 3991 * cpu-arc.c: Change default archure from bfd_mach_arc_arcv2 3992 to bfd_mach_arc_arc600. 3993 39942016-02-04 Alan Modra <amodra@gmail.com> 3995 3996 * elf64-ppc.c (ppc64_elf_relocate_section): Adjust last patch 3997 for big-endian. 3998 39992016-02-02 H.J. Lu <hongjiu.lu@intel.com> 4000 4001 PR ld/19542 4002 * elf64-x86-64.c (elf_x86_64_convert_load): Store the estimated 4003 distances in the compressed_size field of the output section. 4004 40052016-02-02 Alan Modra <amodra@gmail.com> 4006 4007 * elf64-ppc.c (ppc64_elf_relocate_section): Further restrict 4008 ELFv2 entry optimization. 4009 40102016-02-02 H.J. Lu <hongjiu.lu@intel.com> 4011 4012 PR binutils/19547 4013 * elf.c (assign_section_numbers): Clear HAS_RELOC if there are 4014 no relocations in relocatable files. 4015 40162016-02-01 H.J. Lu <hongjiu.lu@intel.com> 4017 4018 PR ld/19553 4019 * elflink.c (elf_link_add_object_symbols): Don't add DT_NEEDED 4020 if a symbol from a library loaded via DT_NEEDED doesn't match 4021 the symbol referenced by regular object. 4022 40232016-02-01 Nathaniel Smith <njs@pobox.com> 4024 4025 * peicode.h (pe_ILF_build_a_bfd): Create an import symbol for both 4026 CODE and DATA. 4027 40282016-02-01 Alan Modra <amodra@gmail.com> 4029 4030 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Don't abort on 4031 an out of range reloc_index. 4032 * elf32-i386.c (elf_i386_get_plt_sym_val): Likewise. 4033 40342016-02-01 Kamil Rytarowski <n54@gmx.com> 4035 4036 * Makefile.am (OPTIONAL_BACKENDS): Add netbsd-core.lo. 4037 (OPTIONAL_BACKENDS_CFILES): Add netbsd-core.c. 4038 * Makefile.in: Regenerated. 4039 40402016-02-01 Jan Kratochvil <jan.kratochvil@redhat.com> 4041 4042 * elf64-s390.c (elf_s390_reloc_name_lookup): Fix indentation. 4043 40442016-01-31 John David Anglin <danglin@gcc.gnu.org> 4045 4046 PR ld/19526 4047 * elf32-hppa.c (elf32_hppa_final_link): Don't sort non-regular output 4048 files. 4049 * elf64-hppa.c (elf32_hppa_final_link): Likewise. Remove retval. 4050 40512016-01-30 H.J. Lu <hongjiu.lu@intel.com> 4052 4053 PR ld/19539 4054 * elf32-i386.c (elf_i386_reloc_type_class): Check relocation 4055 against STT_GNU_IFUNC symbol only with dynamic symbols. 4056 * elf64-x86-64.c (elf_x86_64_reloc_type_class): Likewise. 4057 40582016-01-28 H.J. Lu <hongjiu.lu@intel.com> 4059 4060 PR binutils/19523 4061 * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Set BFD_DECOMPRESS to 4062 decompress debug sections. 4063 40642016-01-25 Maciej W. Rozycki <macro@imgtec.com> 4065 4066 * elf32-arc.c (elf_arc_finish_dynamic_symbol): Rename `index' to 4067 `dynindx'. 4068 40692016-01-25 Nick Clifton <nickc@redhat.com> 4070 4071 PR target/19435 4072 * mach-o.c (bfd_mach_o_close_and_cleanup): Suppress code to free 4073 dsym filename buffer. 4074 40752016-01-24 Maciej W. Rozycki <macro@imgtec.com> 4076 4077 * elfxx-mips.c (BZ16_REG_FIELD): Simplify calculation. 4078 40792016-01-24 Maciej W. Rozycki <macro@imgtec.com> 4080 4081 * elfxx-mips.c (BZ16_REG): Correct calculation. 4082 40832016-01-21 Nick Clifton <nickc@redhat.com> 4084 4085 * elf32-arc.c (ADD_RELA): Fix compile time warning errors by 4086 changing the type of _loc to be bfd_byte *. 4087 (elf_arc_finish_dynamic_symbol): Likewise. 4088 40892016-01-21 Nick Clifton <nickc@redhat.com> 4090 4091 PR ld/19455 4092 * elf32-arm.c (elf32_arm_create_dynamic_sections): Set the ELF 4093 class of the linker stub bfd. 4094 (elf32_arm_check_relocs): Skip check for pic format after 4095 processing a vxWorks R_ARM_ABS12 reloc. 4096 * elflink.c (bfd_elf_final_link): Check for ELFCLASSNONE when 4097 reporting a class mismatch. 4098 40992016-01-21 Jiong Wang <jiong.wang@arm.com> 4100 4101 * elfnn-aarch64.c (aarch64_type_of_stub): Allow insert long branch 4102 veneer for sym_sec != input_sec. 4103 (elfNN_aarch64_size_stub): Support STT_SECTION symbol. 4104 (elfNN_aarch64_final_link_relocate): Take rela addend into account when 4105 calculation destination. 4106 41072016-01-21 Alan Modra <amodra@gmail.com> 4108 4109 * elf-linux-core.h (swap_linux_prpsinfo32_out): New function. 4110 (swap_linux_prpsinfo64_out): New function. 4111 (LINUX_PRPSINFO32_SWAP_FIELDS): Delete. 4112 (LINUX_PRPSINFO64_SWAP_FIELDS): Delete. 4113 * elf.c (elfcore_write_linux_prpsinfo32): Adjust. Don't memset. 4114 (elfcore_write_linux_prpsinfo64): Likewise. 4115 * elf32-ppc.c (swap_ppc_linux_prpsinfo32_out): New function. 4116 (PPC_LINUX_PRPSINFO32_SWAP_FIELDS): Delete. 4117 (elfcore_write_ppc_linux_prpsinfo32): Adjust. Don't memset. 4118 41192016-01-21 Alan Modra <amodra@gmail.com> 4120 4121 * elf-linux-core.h: Rename from elf-linux-psinfo.h. 4122 * elf.c: Adjust #include. 4123 * elf32-ppc.c: Don't #include elf-linux-psinfo.h 4124 * Makefile.am (SOURCE_HFILES): Update. 4125 * Makefile.in: Regenerate. 4126 * po/SRC-PORFILES.in: Regenerate. 4127 41282016-01-21 Alan Modra <amodra@gmail.com> 4129 4130 * configure.ac: Move corefile selection later in file. Move 4131 tdefaults code immediately after other target vector code. 4132 * configure: Regenerate. 4133 41342016-01-20 Mickael Guene <mickael.guene@st.com> 4135 4136 * elf32-arm.c (elf32_arm_special_sections): Remove catch of noread 4137 section using '.text.noread' pattern. 4138 41392016-01-19 John Baldwin <jhb@FreeBSD.org> 4140 4141 * elf.c (elfcore_grok_note): Recognize NT_FREEBSD_THRMISC notes. 4142 41432016-01-18 Miranda Cupertino <Cupertino.Miranda@synopsys.com> 4144 Zissulescu Claudiu <Claudiu.Zissulescu@synopsys.com> 4145 4146 * arc-plt.def: New file. 4147 * arc-plt.h: Likewise. 4148 * elf32-arc.c (elf_arc_abs_plt0_entry, elf_arc_abs_pltn_entry, 4149 elf_arcV2_abs_plt0_entry, elf_arcV2_abs_pltn_entry, 4150 elf_arc_pic_plt0_entry, elf_arc_pic_pltn_entry, 4151 elf_arcV2_pic_plt0_entry, elf_arcV2_pic_pltn_entry): Remove. 4152 (name_for_global_symbol): Added. 4153 (ADD_RELA): Helper to create dynamic relocs. 4154 (new_got_entry_to_list): Create a new got entry in linked list. 4155 (symbol_has_entry_of_type): Search for specific type of entry in 4156 list. 4157 (is_reloc_for_GOT): return FALSE for any TLS related relocs. 4158 (is_reloc_for_TLS, arc_elf_set_private_flags) 4159 (arc_elf_print_private_bfd_data, arc_elf_copy_private_bfd_data) 4160 (arc_elf_merge_private_bfd_data): New functions. 4161 (debug_arc_reloc): Cleaned debug info printing. 4162 (PDATA reloc): Changed not to perform address alignment. 4163 (reverse_me): Added. Fix for ARC_32 relocs. 4164 (arc_do_relocation): Return bfd_reloc_of when no relocation should 4165 occur. 4166 (arc_get_local_got_ents): Renamed from arc_get_local_got_offsets. 4167 Changed function to access an array of list of GOT entries instead 4168 of just an array of offsets. 4169 (elf_arc_relocate_section): Added support for PIC and TLS related relocations. 4170 (elf_arc_check_relocs): Likewise. 4171 (elf_arc_adjust_dynamic_symbol, elf_arc_finish_dynamic_symbol, 4172 (elf_arc_finish_dynamic_sections): Likewise 4173 (arc_create_dynamic_sections): Modified conditions to create 4174 dynamic sections. 4175 (ADD_SYMBOL_REF_SEC_AND_RELOC): New macro. 4176 (plt_do_relocs_for_symbol, relocate_plt_for_symbol) 4177 (relocate_plt_for_entry): Changed to support new way to define PLT 4178 related code. 4179 (add_symbol_to_plt): Likewise. 4180 (arc_elf_link_hash_table_create): New function. 4181 41822016-01-18 Nick Clifton <nickc@redhat.com> 4183 4184 PR ld/19440 4185 * coff-rs6000.c (_bfd_xcoff_swap_sym_in): Sign extend external 4186 section number into internal section number. 4187 * coff64-rs6000.c (_bfd_xcoff64_swap_sym_in): Likewise. 4188 * coffswap.h (coff_swap_sym_in): Likewise. 4189 * peXXigen.c (_bfd_XXi_swap_sym_in): Likewise. 4190 * coffcode.h (_coff_bigobj_swap_sym_in): Make sure that internal 4191 section number field is big enough to hold the external value. 4192 41932016-01-17 Alan Modra <amodra@gmail.com> 4194 4195 * configure: Regenerate. 4196 41972016-01-12 Yury Usishchev <y.usishchev@samsung.com> 4198 4199 * elf32-arm.c (elf32_arm_fix_exidx_coverage): Insert cantunwind 4200 when address in first unwind entry does not match start of 4201 section. 4202 42032016-01-08 Richard Sandiford <richard.sandiford@arm.com> 4204 Jiong Wang <jiong.wang@arm.com> 4205 4206 PR ld/19368 4207 * elf32-arm.c (elf32_arm_reloc_type_class): Map R_ARM_IRELATIVE to 4208 reloc_class_ifunc. 4209 42102016-01-06 Andrew Burgess <andrew.burgess@embecosm.com> 4211 4212 * elf32-arc.c (reloc_type_to_name): Change ARC_RELOC_HOWTO to 4213 place 'R_' before the reloc name returned. 4214 (elf_arc_howto_table): Change ARC_RELOC_HOWTO to place 'R_' before 4215 the relocation string. 4216 42172016-01-04 Maciej W. Rozycki <macro@imgtec.com> 4218 4219 * elfxx-mips.c (mips_elf_merge_obj_abiflags): New function, 4220 factored out from... 4221 (_bfd_mips_elf_merge_private_bfd_data): ... here. 4222 42232016-01-04 Maciej W. Rozycki <macro@imgtec.com> 4224 4225 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Move 4226 attribute check after ELF file header flag check. 4227 42282016-01-04 Maciej W. Rozycki <macro@imgtec.com> 4229 4230 * elfxx-mips.c (mips_elf_merge_obj_attributes): Propagate the 4231 return status from `_bfd_elf_merge_object_attributes'. 4232 42332016-01-04 Maciej W. Rozycki <macro@imgtec.com> 4234 4235 * elfxx-mips.c (mips_elf_merge_obj_e_flags): New function, 4236 factored out from... 4237 (_bfd_mips_elf_merge_private_bfd_data): ... here. 4238 42392016-01-04 Maciej W. Rozycki <macro@imgtec.com> 4240 4241 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Fold the 4242 handling of input MIPS ABI flags together. 4243 42442016-01-04 Maciej W. Rozycki <macro@imgtec.com> 4245 4246 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Suppress 4247 attribute checks for null input. 4248 42492016-01-04 Maciej W. Rozycki <macro@imgtec.com> 4250 4251 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Use local 4252 pointers to target data. 4253 42542016-01-04 Maciej W. Rozycki <macro@imgtec.com> 4255 4256 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Correct 4257 an FP ABI warning. 4258 42592016-01-01 Alan Modra <amodra@gmail.com> 4260 4261 Update year range in copyright notice of all files. 4262 4263For older changes see ChangeLog-2015 and doc/ChangeLog-0415 4264 4265Copyright (C) 2016 Free Software Foundation, Inc. 4266 4267Copying and distribution of this file, with or without modification, 4268are permitted in any medium without royalty provided the copyright 4269notice and this notice are preserved. 4270 4271Local Variables: 4272mode: change-log 4273left-margin: 8 4274fill-column: 74 4275version-control: never 4276End: 4277