12018-12-31 Alan Modra <amodra@gmail.com> 2 3 PR 24041 4 * elflink.c (elf_link_add_object_symbols): Don't segfault on 5 crafted ET_DYN with no program headers. 6 72018-12-31 Alan Modra <amodra@gmail.com> 8 9 * elf64-ppc.c (ppc64_elf_relocate_section <tls_ldgd_opt>): When 10 editing an old-style __tls_get_addr call, replace a toc restore 11 insn with a nop. 12 132018-12-28 Alan Modra <amodra@gmail.com> 14 15 PR 24015 16 * elf.c (bfd_elf_get_default_section_type): Make common sections 17 SHT_NOBITS. 18 * linker.c (bfd_generic_define_common_symbol): Clear 19 SEC_HAS_CONTENTS. 20 212018-12-28 Alan Modra <amodra@gmail.com> 22 23 PR 23966 24 * libbfd.c (SSIZE_MAX): Define. 25 (bfd_malloc, bfd_realloc): Don't cast size to long to check for 26 "negative" values, compare against SSIZE_MAX instead. 27 282018-12-23 H.J. Lu <hongjiu.lu@intel.com> 29 30 * elf32-i386.c (elf_i386_rtype_to_howto): Remove the unused bfd 31 pointer argument. 32 (elf_i386_info_to_howto_rel): Updated. 33 (elf_i386_tls_transition): Likewise. 34 (elf_i386_relocate_section): Likewise. 35 362018-12-20 H.J. Lu <hongjiu.lu@intel.com> 37 38 * elf32-i386.c (elf_i386_relocate_section): Call 39 elf_i386_rtype_to_howto to get reloc_howto_type pointer. 40 * elf64-x86-64.c (elf_x86_64_relocate_section): Call 41 elf_x86_64_rtype_to_howto to get reloc_howto_type pointer. 42 432018-12-18 Alan Modra <amodra@gmail.com> 44 45 * Makefile.am (bfdinclude_HEADERS): Add bfd_stdint.h. 46 (BFD_H_DEPS): Add include/diagnostics.h. 47 (LOCAL_H_DEPS): Add bfd_stdint.h. 48 * bfd-in.h: Include bfd_stdint.h. 49 * arc-plt.h: Don't include stdint.h. 50 * coff-rs6000.c: Likewise. 51 * coff64-rs6000.c: Likewise. 52 * elfxx-riscv.c: Likewise. 53 * cache.c: Don't include bfd_stdint.h. 54 * elf32-arm.c: Likewise. 55 * elf32-avr.c: Likewise. 56 * elf32-nds32.c: Likewise. 57 * elf32-rl78.c: Likewise. 58 * elf32-rx.c: Likewise. 59 * elf32-wasm32.c: Likewise. 60 * elf64-nfp.c: Likewise. 61 * elflink.c: Likewise. 62 * elfnn-aarch64.c: Likewise. 63 * elfnn-ia64.c: Likewise. 64 * elfxx-ia64.c: Likewise. 65 * elfxx-x86.h: Likewise. 66 * wasm-module.c: Likewise, and don't include sysdep.h twice. 67 * elf-nacl.h: Don't include bfd.h. 68 * mach-o.h: Likewise. 69 * elfxx-aarch64.c: Include bfd.h and elf-bfd.h. 70 * elfxx-aarch64.h: Don't include bfd.h, elf-bfd.h or stdint.h. 71 * mach-o-aarch64.c: Include mach-o.h later. 72 * mach-o-arm.c: Likewise. 73 * mach-o-i386.c: Likewise. 74 * mach-o-x86-64.c: Likewise. 75 * mach-o.c: Likewise. 76 * sysdep.h: Don't include ansidecl.h or sys/stat.h. 77 * Makefile.in: Regenerate. 78 * bfd-in2.h: Regenerate. 79 802018-12-18 Alan Modra <amodra@gmail.com> 81 82 PR 23980 83 * elf32-i386.c (elf_i386_relocate_section): Exit with wrong format 84 error rather than asserting input file is as expected. 85 * elf32-s390.c (elf_s390_relocate_section): Likewise. 86 * elf32-sh.c (sh_elf_relocate_section): Likewise. 87 * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise. 88 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. 89 * elf64-s390.c (elf_s390_relocate_section): Likewise. 90 * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise. 91 * elf32-ppc.c (ppc_elf_relocate_section): Exit with wrong format 92 error if input file is not ppc32 ELF. 93 942018-12-18 Alan Modra <amodra@gmail.com> 95 96 PR 23980 97 * elf64-ppc.c (ppc64_elf_hide_symbol): Check hash table type 98 before referencing ppc64-only fields of hash entries. 99 1002018-12-17 Alan Modra <amodra@gmail.com> 101 102 PR 23994 103 * aoutx.h: Include limits.h. 104 (get_reloc_upper_bound): Detect long overflow and return a file 105 too big error if it occurs. 106 * elf.c: Include limits.h. 107 (_bfd_elf_get_symtab_upper_bound): Detect long overflow and return 108 a file too big error if it occurs. 109 (_bfd_elf_get_dynamic_symtab_upper_bound): Likewise. 110 (_bfd_elf_get_dynamic_reloc_upper_bound): Likewise. 111 1122018-12-14 H.J. Lu <hongjiu.lu@intel.com> 113 114 PR ld/23900 115 * elf.c (get_program_header_size): Add a PT_GNU_PROPERTY 116 segment for NOTE_GNU_PROPERTY_SECTION_NAME. 117 (_bfd_elf_map_sections_to_segments): Create a PT_GNU_PROPERTY 118 segment for NOTE_GNU_PROPERTY_SECTION_NAME. 119 * elfxx-x86.c (_bfd_elf_link_setup_gnu_properties): Don't set 120 GNU_PROPERTY_X86_UINT32_VALID. 121 1222018-12-11 Max Filippov <jcmvbkbc@gmail.com> 123 124 * elf32-xtensa.c (elf_xtensa_do_reloc): Limit const16 opcode 125 immediate field to 16 least significant bits. 126 1272018-12-11 H.J. Lu <hongjiu.lu@intel.com> 128 129 * elf32-xc16x.c (elf32_xc16x_rtype_to_howto): New function. 130 (elf32_xc16x_relocate_section): Call elf32_xc16x_rtype_to_howto 131 instead of xc16x_reloc_type_lookup to get reloc_howto_type. 132 1332018-12-07 H.J. Lu <hongjiu.lu@intel.com> 134 135 PR ld/23958 136 * elflink.c (_bfd_elf_add_default_symbol): Override the previous 137 definition from IR object. 138 1392018-12-08 Stafford Horne <shorne@gmail.com> 140 141 * elf32-or1k.c (or1k_grok_prstatus): New function. 142 (or1k_grok_psinfo): Likewise. 143 1442018-12-07 H.J. Lu <hongjiu.lu@intel.com> 145 146 * elf-properties.c (elf_find_and_remove_property): Add a 147 bfd_boolean argument to indicate if the property should be 148 removed. 149 (elf_merge_gnu_property_list): Updated. Report 150 property change in linker map file. 151 (elf_get_gnu_property_section_size): Skip property_remove 152 properties. 153 (elf_write_gnu_properties): Likewise. 154 (_bfd_elf_link_setup_gnu_properties): Report property merge 155 in linker map file. Pass abfd to elf_merge_gnu_property_list. 156 1572018-12-07 Alan Modra <amodra@gmail.com> 158 159 PR 23952 160 * syms.c (_bfd_generic_read_minisymbols): Free syms before 161 returning with zero symcount. 162 1632018-12-06 Alan Modra <amodra@gmail.com> 164 165 * elf32-ppc.c (ppc_elf_howto_raw <R_PPC_VLE_ADDR20>): Correct 166 mask and shift value. 167 (ppc_elf_vle_split16): Use E_OPCODE_MASK. Handle e_li 168 specially. 169 1702018-12-05 Sam Tebbs <sam.tebbs@arm.com> 171 172 * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Add check for 'B'. 173 1742018-12-04 H.J. Lu <hongjiu.lu@intel.com> 175 176 PR ld/23372 177 * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Don't remove 178 empty properties for GNU_PROPERTY_X86_COMPAT_ISA_1_USED and 179 GNU_PROPERTY_X86_UINT32_OR_AND. 180 (_bfd_x86_elf_link_fixup_gnu_properties): Likewise. 181 1822018-12-03 Kito Cheng <kito@andestech.com> 183 184 * elfxx-riscv.h (RISCV_DONT_CARE_VERSION): New macro. 185 (struct riscv_subset_t): New structure. 186 (riscv_subset_t): New typedef. 187 (riscv_subset_list_t): New structure. 188 (riscv_release_subset_list): New prototype. 189 (riscv_add_subset): Likewise. 190 (riscv_lookup_subset): Likewise. 191 (riscv_lookup_subset_version): Likewise. 192 (riscv_release_subset_list): Likewise. 193 * elfxx-riscv.c: Include safe-ctype.h. 194 (riscv_parsing_subset_version): New function. 195 (riscv_supported_std_ext): Likewise. 196 (riscv_parse_std_ext): Likewise. 197 (riscv_parse_sv_or_non_std_ext): Likewise. 198 (riscv_parse_subset): Likewise. 199 (riscv_add_subset): Likewise. 200 (riscv_lookup_subset): Likewise. 201 (riscv_lookup_subset_version): Likewise. 202 (riscv_release_subset_list): Likewise. 203 2042018-12-01 H.J. Lu <hongjiu.lu@intel.com> 205 206 PR ld/23930 207 * elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Update 208 the iplt section alignment if it is non-empty. 209 (_bfd_x86_elf_link_setup_gnu_properties): Set plt.iplt_alignment 210 and delay setting the iplt section alignment. 211 * elfxx-x86.h (elf_x86_plt_layout): Add iplt_alignment. 212 2132018-11-30 Nick Clifton <nickc@redhat.com> 214 215 PR 23942 216 * elfcode.h (elf_object_p): Check for corrupt input files with 217 more program headers than can actually fit in the file. 218 2192018-11-30 Nick Clifton <nickc@redhat.com> 220 221 PR 23932 222 * elf.c (IS_CONTAINED_BY_LMA): Add a check for a negative section 223 size. 224 (rewrite_elf_program_header): If no sections are mapped into a 225 segment return an error. 226 2272018-11-30 Alan Modra <amodra@gmail.com> 228 229 PR 23937 230 * elf64-ppc.c (write_plt_relocs_for_local_syms): Don't add local 231 entry offset for ifuncs. 232 2332018-11-29 H.J. Lu <hongjiu.lu@intel.com> 234 235 PR ld/23929 236 * elf-properties.c (_bfd_elf_link_setup_gnu_properties): Don't 237 merge .note.gnu.property section in IR inputs. 238 2392018-11-27 Thomas Preud'homme <thomas.preudhomme@linaro.org> 240 241 * cpu-arm.c (processors): Add processors known to GAS but missing here 242 and reindent. 243 (bfd_arm_update_notes): Add comment explaining why the list of 244 architectures in the switch should not be updated. 245 (architectures): Likewise. 246 2472018-11-27 Maciej W. Rozycki <macro@linux-mips.org> 248 249 * elfxx-mips.c (_bfd_mips_elf_check_relocs) <R_MIPS16_HI16> 250 <R_MIPS_HI16, R_MIPS_HIGHER, R_MIPS_HIGHEST, R_MICROMIPS_HI16> 251 <R_MICROMIPS_HIGHER, R_MICROMIPS_HIGHEST>: Also accept an 252 absolute symbol in PIC code. 253 2542018-11-27 Maciej W. Rozycki <macro@linux-mips.org> 255 256 * elfxx-mips.c (_bfd_mips_elf_check_relocs) <R_MIPS16_26> 257 <R_MIPS_26, R_MICROMIPS_26_S1>: Use `info->callbacks->einfo' 258 rather than `_bfd_error_handler' to report refused relocations 259 in PIC code and continue processing. Fix error message: `can 260 not' -> `cannot'. 261 2622018-11-27 H.J. Lu <hongjiu.lu@intel.com> 263 264 PR binutils/23919 265 * compress.c (bfd_is_section_compressed_with_header): Initialize 266 *uncompressed_align_pow_p to 0. 267 2682018-11-27 Tamar Christina <tamar.christina@arm.com> 269 270 PR ld/23904 271 * elfnn-aarch64.c (_bfd_aarch64_adrp_p): Use existing constants. 272 (_bfd_aarch64_erratum_843419_branch_to_stub): Use _bfd_aarch64_adrp_p. 273 (struct erratum_835769_branch_to_stub_clear_data): New. 274 (_bfd_aarch64_erratum_843419_clear_stub): New. 275 (clear_erratum_843419_entry): New. 276 (elfNN_aarch64_tls_relax): Use it. 277 (elfNN_aarch64_relocate_section): Pass input_section. 278 (aarch64_map_one_stub): Handle branch type none as valid. 279 2802018-11-27 Mark Wielaard <mark@klomp.org> 281 282 PR binutils/23919 283 * bfd.c (bfd_update_compression_header): Explicitly set alignment. 284 (bfd_check_compression_header): Add uncompressed_alignment_power 285 argument. Check ch_addralign is a power of 2. 286 * bfd-in2.h: Regenerated. 287 * compress.c (bfd_compress_section_contents): Get and set 288 orig_uncompressed_alignment_pow if section is decompressed. 289 (bfd_is_section_compressed_with_header): Add and get 290 uncompressed_align_pow_p argument. 291 (bfd_is_section_compressed): Add uncompressed_align_power argument 292 to bfd_is_section_compressed_with_header call. 293 (bfd_init_section_decompress_status): Get and set 294 uncompressed_alignment_power. 295 * elf.c (_bfd_elf_make_section_from_shdr): Add 296 uncompressed_align_power argument to 297 bfd_is_section_compressed_with_header call. 298 2992018-11-21 Jozef Lawrynowicz <jozef.l@mittosystems.com> 300 301 * elf32-msp430.c (elf32_msp430_merge_mspabi_attributes): Do not 302 error when .MSP430.attributes section is missing from objects 303 created by LTO. 304 3052018-11-13 Jim Wilson <jimw@sifive.com> 306 307 * elfnn-riscv.c (riscv_float_abi_string): New. 308 (_bfd_riscv_elf_merge_private_bfd_data): Use it for error message. 309 3102018-11-09 Bernhard M. Wiedemann <bwiedemann@suse.de> 311 312 * peXXigen.c (_bfd_XXi_only_swap_filehdr_out): Correct comment 313 concerning timestamp insertion. 314 3152018-11-09 Cupertino Miranda <cmiranda@synopsys.com> 316 317 * arc-got.h (arc_got_entry_type_for_reloc): Changed to 318 correct static TLS relocs. 319 * elf32-arc.c (elf_arc_check_relocs): Introduced warning to 320 TLS relocs which require -fPIC. 321 (arc_create_forced_local_got_entries_for_tls): Created. 322 Traverses list of GOT entries to be resolved statically 323 when needed. 324 (elf_arc_finish_dynamic_sections): Changed. Calls 325 arc_create_forced_local_got_entries_for_tls for each known 326 possibly GOT symbol. 327 3282018-11-09 rhn <sowaac.rhn@porcupinefactory.org> 329 330 PR 23699 331 * ihex.c (ihex_write_object_contents): Check for sign extended 332 addresses that cannot be supported in the ihex format. 333 3342018-11-09 Claudiu Zissulescu <claziss@synopsys.com> 335 336 * arc-got.h (arc_get_local_got_ents): Revamp it; use 337 elf_local_got_ents to store the local got list. 338 (get_got_entry_list_for_symbo): Restructure it. 339 * elf32-arc.c (elf_arc_relocate_section): Correct the call to 340 get_got_entry_list_for_symbol. 341 3422018-11-07 Nick Clifton <nickc@redhat.com> 343 344 * po/fr.po: Updated French translation. 345 * po/pt.po: Updated Portuguese translation. 346 3472018-11-06 Roman Bolshakov <r.bolshakov@yadro.com> 348 Saagar Jha <saagar@saagarjha.com> 349 350 * mach-o.h: Add new enums for BFD_MACH_O_PLATFORM_MACOS, 351 BFD_MACH_O_PLATFORM_IOS, BFD_MACH_O_PLATFORM_TVOS, 352 BFD_MACH_O_PLATFORM_WATCHOS, BFD_MACH_O_PLATFORM_BRIDGEOS, 353 BFD_MACH_O_TOOL_CLANG, BFD_MACH_O_TOOL_SWIFT, BFD_MACH_O_TOOL_LD. 354 (struct bfd_mach_o_note_command): New. 355 (struct bfd_mach_o_build_version_tool): New. 356 (struct bfd_mach_o_build_version_command): New. 357 (bfd_mach_o_read_version_min): Don't split version into 358 a few fields. Rename reserved to sdk. 359 * mach-o.c (bfd_mach_o_read_version_min): Don't split version into a 360 few fields. Rename reserved to sdk. 361 (bfd_mach_o_read_command): Handle LC_VERSION_MIN_TVOS, LC_NOTE, 362 LC_BUILD_VERSION. 363 (bfd_mach_o_read_note): New. 364 (bfd_mach_o_read_build_version): New. 365 3662018-11-07 Yoshinori Sato <ysato@users.sourceforge.jp> 367 368 * config.bfd: Add rx-*-linux. 369 * congigure.ac: Likewise. 370 * elf32-rx.c (rx_linux_object_p): New function. 371 (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME) 372 (elf_backend_object_p, elf32_bed): Define rx-*-linux. 373 * targets.c: Add rx_elf32_linux_le_vec. 374 * configure: Regenerate. 375 3762018-11-06 Romain Margheriti <lilrom13@gmail.com> 377 378 PR 23742 379 * mach-o.c (bfd_mach_o_read_command): Accept and ignore 380 BFD_MACH_O_LC_LINKER_OPTIONS and BFD_MACH_O_LC_BUILD_VERSION 381 commands. 382 3832018-11-02 Alan Modra <amodra@gmail.com> 384 385 PR 23850 386 * elf.c (bfd_section_from_shdr): Treat SHF_ALLOC SHT_REL* sections 387 in an executable or shared library as normal sections. 388 3892018-10-31 Renlin Li <renlin.li@arm.com> 390 391 * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Don't create got 392 section for Local Exec TLS model. 393 3942018-10-24 H.J. Lu <hongjiu.lu@intel.com> 395 396 PR ld/23818 397 * elflink.c (_bfd_elf_link_assign_sym_version): Hide symbols 398 defined in discarded input sections. 399 4002018-10-24 Alan Modra <amodra@gmail.com> 401 402 * elf32-arm.c (elf32_arm_size_stubs): Ignore as-needed libs that 403 were not needed. 404 4052018-10-23 Alan Modra <amodra@gmail.com> 406 407 PR 23806 408 * merge.c (_bfd_add_merge_section): Don't attempt to merge 409 sections with ridiculously large alignments. 410 4112018-10-23 Alan Modra <amodra@gmail.com> 412 413 PR 23805 414 * elflink.c (elf_link_input_bfd): Don't segfault on finding 415 STT_TLS symbols without any TLS sections. Instead, change the 416 symbol type to STT_NOTYPE. 417 4182018-10-23 Alan Modra <amodra@gmail.com> 419 420 PR 23804 421 * merge.c (_bfd_add_merge_section): Don't attempt to merge 422 sections where size is not a multiple of entsize. 423 4242018-10-20 Alan Modra <amodra@gmail.com> 425 426 PR 23788 427 * elf.c (section_match): Don't require a size match for SHT_SYMTAB 428 or SHT_STRTAB. 429 4302018-10-17 Alan Modra <amodra@gmail.com> 431 432 PR 23653 433 * elflink.c (_bfd_elf_link_create_dynstrtab): Match elf_object_id 434 too when choosing dynobj. 435 4362018-10-16 Alan Modra <amodra@gmail.com> 437 438 * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Simplify 439 PE_DEBUG_DATA size checks. 440 4412018-10-16 Alan Modra <amodra@gmail.com> 442 443 PR 23781 444 * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Free data 445 before returning. 446 4472018-10-16 Alan Modra <amodra@gmail.com> 448 449 PR 23534 450 * init.c (bfd_init): Return an unsigned int. 451 bfd-in2.h: Regenerate. 452 4532018-10-15 Alan Modra <amodra@gmail.com> 454 455 PR 23534 456 * init.c (BFD_INIT_MAGIC): Define. 457 (bfd_init): Return BFD_INIT_MAGIC. 458 bfd-in2.h: Regenerate. 459 4602018-10-13 Alan Modra <amodra@gmail.com> 461 462 PR 23770 463 PR 23425 464 * reloc.c (_bfd_clear_contents): Replace "location" param with 465 "buf" and "off". Bounds check "off". Return status. 466 * cofflink.c (_bfd_coff_generic_relocate_section): Update 467 _bfd_clear_contents call. 468 * elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Likewise. 469 * elf32-arc.c (elf_arc_relocate_section): Likewise. 470 * elf32-i386.c (elf_i386_relocate_section): Likewise. 471 * elf32-metag.c (metag_final_link_relocate): Likewise. 472 * elf32-nds32.c (nds32_elf_get_relocated_section_contents): Likewise. 473 * elf32-ppc.c (ppc_elf_relocate_section): Likewise. 474 * elf32-visium.c (visium_elf_relocate_section): Likewise. 475 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. 476 * elf64-x86-64.c *(elf_x86_64_relocate_section): Likewise. 477 * libbfd-in.h (_bfd_clear_contents): Update prototype. 478 * libbfd.h: Regenerate. 479 4802018-10-09 Egeyar Bagcioglu <egeyar.bagcioglu@oracle.com> 481 482 * elflink.c (elf_link_output_extsym): Do not place symbols into a 483 discarded .dynsym. 484 4852018-10-08 H.J. Lu <hongjiu.lu@intel.com> 486 487 PR ld/23428 488 * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Don't 489 add GNU_PROPERTY_X86_FEATURE_2_NEEDED to force program header 490 in non-code PT_LOAD segment. 491 4922018-10-08 Alan Modra <amodra@gmail.com> 493 494 * elf-nacl.c (nacl_modify_segment_map): Cope with header PT_LOAD 495 lacking sections. 496 * elf.c (_bfd_elf_map_sections_to_segments): Assume file and 497 program headers are required when info->load_phdrs. Reorganize 498 code handling program headers. Generate a mapping without 499 sections just for file and program headers when -z separate-code 500 would indicate they should be on a different page to the first 501 section. 502 5032018-10-08 Alan Modra <amodra@gmail.com> 504 505 * elf.c (assign_file_positions_for_load_sections): Set p_vaddr 506 from m->p_vaddr_offset for segments without sections. Invert 507 sign of p_vaddr_offset. 508 (rewrite_elf_program_header, copy_elf_program_header): Save 509 old segment p_vaddr to p_vaddr_offset. Invert sign of 510 p_vaddr_offset. 511 5122018-10-08 Alan Modra <amodra@gmail.com> 513 514 * elf.c (get_program_header_size): Don't count PT_INTERP if 515 .interp is empty. 516 (_bfd_elf_map_sections_to_segments): Don't create PT_INTERP if 517 .interp is empty. 518 5192018-10-08 Alan Modra <amodra@gmail.com> 520 521 * elf32-spu.c (spu_elf_modify_segment_map): Don't insert 522 overlays before segment containing headers. 523 5242018-10-08 Alan Modra <amodra@gmail.com> 525 526 * elf.c (make_mapping): Cope with zero size array at end of 527 struct elf_segment_map. 528 (_bfd_elf_map_sections_to_segments): Likewise. 529 (rewrite_elf_program_header, copy_elf_program_header): Likewise. 530 (_bfd_elf_map_sections_to_segments): Rename phdr_index to hdr_index. 531 5322018-10-05 Alan Modra <amodra@gmail.com> 533 534 * elf32-spu.c (spu_elf_create_sections): Make .note.spu_name 535 SHT_NOTE. 536 5372018-10-05 Richard Henderson <rth@twiddle.net> 538 539 * bfd-in2.h: Regenerated. 540 * elf32-or1k.c: (or1k_elf_howto_table): Fix formatting for 541 R_OR1K_PLT26, Add R_OR1K_PCREL_PG21, R_OR1K_GOT_PG21, 542 R_OR1K_TLS_GD_PG21, R_OR1K_TLS_LDM_PG21, R_OR1K_TLS_IE_PG21, 543 R_OR1K_LO13, R_OR1K_GOT_LO13, R_OR1K_TLS_GD_LO13, R_OR1K_TLS_LDM_LO13, 544 R_OR1K_TLS_IE_LO13, R_OR1K_SLO13, R_OR1K_PLTA26. 545 (or1k_reloc_map): Add BFD_RELOC_OR1K_PCREL_PG21, 546 BFD_RELOC_OR1K_GOT_PG21, BFD_RELOC_OR1K_TLS_GD_PG21, 547 BFD_RELOC_OR1K_TLS_LDM_PG21, BFD_RELOC_OR1K_TLS_IE_PG21, 548 BFD_RELOC_OR1K_LO13, BFD_RELOC_OR1K_GOT_LO13, 549 BFD_RELOC_OR1K_TLS_GD_LO13, BFD_RELOC_OR1K_TLS_GD_LO13, 550 BFD_RELOC_OR1K_TLS_LDM_LO13, BFD_RELOC_OR1K_TLS_IE_LO13, 551 BFD_RELOC_OR1K_SLO13, BFD_RELOC_OR1K_PLTA26. 552 (elf_or1k_link_hash_table): Add field saw_plta. 553 (or1k_final_link_relocate): Add value calculations for new relocations. 554 (or1k_elf_relocate_section): Add section relocations for new 555 relocations. 556 (or1k_write_plt_entry): New function. 557 (or1k_elf_finish_dynamic_sections): Add support for PLTA relocations 558 using new l.adrp instruction. Cleanup PLT relocation code generation. 559 * libbfd.h: Regenerated. 560 * reloc.c: Add BFD_RELOC_OR1K_PCREL_PG21, BFD_RELOC_OR1K_LO13, 561 BFD_RELOC_OR1K_SLO13, BFD_RELOC_OR1K_GOT_PG21, BFD_RELOC_OR1K_GOT_LO13, 562 BFD_RELOC_OR1K_PLTA26, BFD_RELOC_OR1K_TLS_GD_PG21, 563 BFD_RELOC_OR1K_TLS_GD_LO13, BFD_RELOC_OR1K_TLS_LDM_PG21, 564 BFD_RELOC_OR1K_TLS_LDM_LO13, BFD_RELOC_OR1K_TLS_IE_PG21, 565 BFD_RELOC_OR1K_TLS_IE_LO13. 566 5672018-10-05 Richard Henderson <rth@twiddle.net> 568 569 * elf32-or1k.c (or1k_elf_relocate_section): Add error for unknown 570 relocations. Add error for non zero addend with plt and got 571 relocations. Add error for got and plt references against dynamic, non 572 local, symbols. Add error when linking non shared liraries with 573 flag_pic. 574 5752018-10-05 Richard Henderson <rth@twiddle.net> 576 Stafford Horne <shorne@gmail.com> 577 578 * bfd-in2.h: Regenerated. 579 * elf32-or1k.c (N_ONES): New macro. 580 (or1k_elf_howto_table): Fix R_OR1K_PLT26 to complain on overflow. 581 Add definitions for R_OR1K_TLS_TPOFF, R_OR1K_TLS_DTPOFF, 582 R_OR1K_TLS_DTPMOD, R_OR1K_AHI16, R_OR1K_GOTOFF_AHI16, 583 R_OR1K_TLS_IE_AHI16, R_OR1K_TLS_LE_AHI16, R_OR1K_SLO16, 584 R_OR1K_GOTOFF_SLO16, R_OR1K_TLS_LE_SLO16. 585 (or1k_reloc_map): Add entries for BFD_RELOC_HI16_S, 586 BFD_RELOC_LO16_GOTOFF, BFD_RELOC_HI16_GOTOFF, BFD_RELOC_HI16_S_GOTOFF, 587 BFD_RELOC_OR1K_TLS_IE_AHI16, BFD_RELOC_OR1K_TLS_LE_AHI16, 588 BFD_RELOC_OR1K_SLO16, BFD_RELOC_OR1K_GOTOFF_SLO16, 589 BFD_RELOC_OR1K_TLS_LE_SLO16. 590 (or1k_reloc_type_lookup): Change search loop to start ad index 0 and 591 also check results before returning. 592 (or1k_reloc_name_lookup): Simplify loop to use R_OR1K_max as index 593 limit. 594 (or1k_final_link_relocate): New function. 595 (or1k_elf_relocate_section): Add support for new AHI and SLO 596 relocations. Use or1k_final_link_relocate instead of generic 597 _bfd_final_link_relocate. 598 (or1k_elf_check_relocs): Add support for new AHI and SLO relocations. 599 * reloc.c: Add new enums for BFD_RELOC_OR1K_SLO16, 600 BFD_RELOC_OR1K_GOTOFF_SLO16, BFD_RELOC_OR1K_TLS_IE_AHI16, 601 BFD_RELOC_OR1K_TLS_IE_AHI16, BFD_RELOC_OR1K_TLS_LE_AHI16, 602 BFD_RELOC_OR1K_TLS_LE_SLO16. Remove unused BFD_RELOC_OR1K_GOTOFF_HI16 603 and BFD_RELOC_OR1K_GOTOFF_LO16. 604 * libbfd.h: Regenerated. 605 6062018-10-04 Jim Wilson <jimw@sifive.com> 607 608 * elfnn-riscv.c (riscv_elf_size_dynamic_sections): In dynobj->sections 609 loop, handle htab->sdyntdata section. 610 6112018-10-04 Jose E. Marchesi <jose.marchesi@oracle.com> 612 613 * elf64-sparc.c (elf64_sparc_output_arch_syms): Do notcorrect the 614 impact of STT_REGISTER symbols in the dynsym sh_info here... 615 * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_sections): ...but 616 do it here. 617 6182018-10-03 H.J. Lu <hongjiu.lu@intel.com> 619 620 PR ld/23658 621 * elf.c (get_program_header_size): Put all adjacent SHT_NOTE 622 sections with the same section alignment into a single PT_NOTE 623 segment. Check SHT_NOTE section type instead of section name. 624 (_bfd_elf_map_sections_to_segments): Likewise. 625 6262018-10-03 Millan Wolff <mail@milianw.de> 627 628 PR 23715 629 * dwarf2.c (find_abstract_instance): Allow recursive invocations 630 of find_abstract_instance to override the name variable. 631 6322018-10-03 Nick Clifton <nickc@redhat.com> 633 634 * po/pt.po: Updated Portuguese translation. 635 6362018-10-01 Cupertino Miranda <cmiranda@synopsys.com> 637 638 * arc-got.h (relocate_fix_got_relocs_for_got_info): Changed. Take TLS 639 section alignment in consideration for this relocation. Fixed TCB_SIZE 640 offset size to include section alignment. 641 (get_got_entry_list_for_symbol): Changed. 642 * elf32-arc.c (FINAL_SECTSTART): Added this formula macro. 643 (ARC_TLS_DTPOFF) Updated reloc to use new created macro instead. 644 (arc_special_overflow_checks): Fixed TCB_SIZE offsize to include 645 section alignment. 646 (elf_arc_check_relocs): Changed. 647 (elf_arc_finish_dynamic_symbol) Return FALSE in case arc_htab is NULL. 648 (struct elf_arc_link_hash_entry): Moved and changed. 649 (elf_arc_link_hash_newfunc): Changed. 650 (arc_elf_link_hash_table_create): Removed old initializations. 651 (elf_arc_relocate_section, elf_arc_finish_dynamic_symbol): Changed. 652 6532018-09-28 H.J. Lu <hongjiu.lu@intel.com> 654 655 * elf-properties.c (_bfd_elf_link_setup_gnu_properties): Use 656 elfclass instead of bed->s->elfclass. 657 6582018-09-27 Jim Wilson <jimw@sifive.com> 659 660 * elfnn-riscv.c (riscv_init_pcgp_relocs): Add explanatory comment. 661 (riscv_free_pcgp_relocs, riscv_record_pcgp_reloc): Likewise. 662 (riscv_find_pcgp_hi_reloc, riscv_reocrd_pcgp_lo_reloc): Likewise. 663 (riscv_find_pcgp_lo_reloc): Likewise. 664 (riscv_delete_pcgp_hi_reloc, riscv_use_pcgp_hi_reloc): Delete. 665 (riscv_delete_pcgp_lo_reloc): Likewise. 666 (_bfd_riscv_relax_pc): Don't call riscv_use_pcgp_hi_reloc. Replace 667 calls to riscv_delete_pcgp_lo_reloc and riscv_delete_pcgp_hi_reloc 668 with TRUE. Mark abfd arg as ATTRIBUTE_UNUSED. 669 6702018-09-25 Jim Wilson <jimw@sifive.com> 671 672 * elfnn-riscv.c (riscv_make_plt_header): New arg output_bfd. Change 673 return type to bfd_boolean. If EF_RISCV_RVE call _bfd_error_handler 674 and return FALSE. Return TRUE at end. 675 (riscv_make_plt_entry): Likewise. 676 (riscv_elf_finish_dynamic_symbol): Update call to riscv_make_plt_entry. 677 (riscv_elf_finish_dynamic_sections): Update call to 678 riscv_make_plt_header. 679 6802018-09-24 Jim Wilson <jimw@sifive.com> 681 682 * elfnn-riscv.c (_bfd_riscv_relax_pc) <R_RISCV_PCREL_LO12_I>: New local 683 hi_sec_off which is symbol address with addend subtracted. Use in 684 riscv_find_pcgp_hi_reloc and riscv_record_pcgp_lo_reloc calls. 685 686 * elfnn-riscv.c (riscv_resolve_pcrel_lo_relocs): Add check for reloc 687 overflow with addend. Use reloc_dangerous instead of reloc_overflow. 688 Add strings for the two errors handled here. 689 (riscv_elf_relocate_section) In case R_RISCV_PCREL_LO12_I, rewrite 690 comment. Only give error with addend when used with section symbol. 691 In case bfd_reloc_dangerous, update error string. 692 6932018-09-24 Jozef Lawrynowicz <jozef.l@mittosystems.com> 694 695 PR gdb/20948 696 * elf.c (_bfd_elf_write_object_contents): Return from function 697 early if abfd->direction == both_direction. 698 6992018-09-21 Simon Marchi <simon.marchi@ericsson.com> 700 701 * configure.ac: Check for fls. 702 * elf32-nds32.c (fls): Only define if !HAVE_FLS. 703 * config.in: Re-generate. 704 * configure: Re-generate. 705 7062018-09-20 Maciej W. Rozycki <macro@linux-mips.org> 707 708 * config.bfd <rs6000-*-aix5.[01], rs6000-*-aix[5-9]*>: Remove 709 duplicate `case' selectors. 710 7112018-09-20 Nelson Chu <nelson.chu1990@gmail.com> 712 713 * elf32-nds32.c (nds32_elf_relax_loadstore): 714 Remove the unused target features. 715 (bfd_elf32_nds32_set_target_option): Remove the unused parameters. 716 (nds32_elf_relax_piclo12, nds32_elf_relax_letlslo12, 717 nds32_elf_relax_letlsadd, nds32_elf_relax_letlsls, 718 nds32_elf_relax_pltgot_suff, nds32_elf_relax_got_suff 719 nds32_elf_relax_gotoff_suff, calculate_plt_memory_address, 720 calculate_plt_offset, calculate_got_memory_address, 721 nds32_elf_check_dup_relocs): Removed. 722 All callers changed. 723 * elf32-nds32.h: Remove the unused macros and defines. 724 (elf_nds32_link_hash_table): Remove the unused variable. 725 (bfd_elf32_nds32_set_target_option): Update prototype. 726 (nds32_elf_ex9_init): Removed. 727 * elf32-nds32.c (nds32_convert_32_to_16): Updated. 728 * elf32-nds32.c (HOWTO2, HOWTO3): Define new HOWTO macros 729 to initialize array nds32_elf_howto_table in any order 730 without lots of EMPTY_HOWTO. 731 (nds32_reloc_map): Updated. 732 * reloc.c: Add BFD_RELOC_NDS32_LSI. 733 * bfd-in2.h: Regenerated. 734 * bfd/libbfd.h: Regenerated. 735 * elf32-nds32.c (nds32_elf_relax_howto_table): Add R_NDS32_LSI. 736 (nds32_reloc_map): Likewise. 737 (nds32_elf_relax_flsi): New function. 738 (nds32_elf_relax_section): Support floating load/store relaxation. 739 * elf32-nds32.c (NDS32_GUARD_SEC_P, elf32_nds32_local_gp_offset): 740 New macro. 741 (struct elf_nds32_link_hash_entry): New `offset_to_gp' field. 742 (struct elf_nds32_obj_tdata): New `offset_to_gp' and `hdr_size' fields. 743 (elf32_nds32_allocate_local_sym_info, nds32_elf_relax_guard, 744 nds32_elf_is_target_special_symbol, nds32_elf_maybe_function_sym): 745 New functions. 746 (nds32_info_to_howto_rel): Add BFD_ASSERT. 747 (bfd_elf32_bfd_reloc_type_table_lookup, nds32_elf_link_hash_newfunc, 748 nds32_elf_link_hash_table_create, nds32_elf_relocate_section, 749 nds32_elf_relax_loadstore, nds32_elf_relax_lo12, nds32_relax_adjust_label, 750 bfd_elf32_nds32_set_target_option, nds32_fag_mark_relax): Updated. 751 (nds32_elf_final_sda_base): Improve it to find the better gp value. 752 (insert_nds32_elf_blank): Must consider `len' when inserting blanks. 753 * elf32-nds32.h (bfd_elf32_nds32_set_target_option): Update prototype. 754 (struct elf_nds32_link_hash_table): Add new variable `hyper_relax'. 755 * elf32-nds32.c (elf32_nds32_allocate_dynrelocs): New function. 756 (create_got_section): Likewise. 757 (allocate_dynrelocs, nds32_elf_size_dynamic_sections, 758 nds32_elf_relocate_section, nds32_elf_finish_dynamic_symbol): Updated. 759 (nds32_elf_check_relocs): Fix the issue that the shared library may 760 has TEXTREL entry in the dynamic section. 761 (nds32_elf_create_dynamic_sections): Enable to call readonly_dynrelocs 762 since the TEXTREL issue is fixed in the nds32_elf_check_relocs. 763 (nds32_elf_finish_dynamic_sections): Update and add DT_RELASZ 764 dynamic entry. 765 (calculate_offset): Remove the unused parameter `pic_ext_target' and 766 related codes. 767 All callers changed. 768 (elf_backend_dtrel_excludes_plt): Disable it temporarily since it 769 will cause some errors for our test cases. 770 * elf32-nds32.c (nds32_elf_merge_private_bfd_data): Allow to link the 771 generic object. 772 * reloc.c: Add TLS relocations. 773 * libbfd.h: Regenerated. 774 * bfd-in2.h: Regenerated. 775 * elf32-nds32.h (struct section_id_list_t): New. 776 (elf32_nds32_lookup_section_id, elf32_nds32_check_relax_group, 777 elf32_nds32_unify_relax_group, nds32_elf_unify_tls_model): 778 New prototypes. 779 (elf32_nds32_compute_jump_table_size, elf32_nds32_local_tlsdesc_gotent): 780 New macro. 781 (nds32_insertion_sort, bfd_elf32_nds32_set_target_option, 782 elf_nds32_link_hash_table): Updated. 783 * elf32-nds32.c (enum elf_nds32_tls_type): New. 784 (struct elf32_nds32_relax_group_t, struct relax_group_list_t): New. 785 (elf32_nds32_add_dynreloc, patch_tls_desc_to_ie, get_tls_type, 786 fls, ones32, list_insert, list_insert_sibling, dump_chain, 787 elf32_nds32_check_relax_group, elf32_nds32_lookup_section_id, 788 elf32_nds32_unify_relax_group, nds32_elf_unify_tls_model): New functions. 789 (elf_nds32_obj_tdata): Add new fields. 790 (elf32_nds32_relax_group_ptr, nds32_elf_local_tlsdesc_gotent): New macros. 791 (nds32_elf_howto_table): Add TLS relocations. 792 (nds32_reloc_map): Likewise. 793 (nds32_elf_copy_indirect_symbol, nds32_elf_size_dynamic_sections, 794 nds32_elf_finish_dynamic_symbol, elf32_nds32_allocate_local_sym_info, 795 nds32_elf_relocate_section, bfd_elf32_nds32_set_target_option, 796 nds32_elf_check_relocs, allocate_dynrelocs): Updated. 797 (nds32_elf_relax_section): Call nds32_elf_unify_tls_model. 798 (dtpoff_base): Rename it to `gottpof' and then update it. 799 8002018-09-20 Alan Modra <amodra@gmail.com> 801 802 PR 23685 803 * peXXigen.c (pe_print_edata): Correct export address table 804 overflow checks. Check dataoff against section size too. 805 8062018-09-20 Alan Modra <amodra@gmail.com> 807 808 PR 23686 809 * dwarf2.c (read_section): Error when attempting to malloc 810 "(bfd_size_type) -1". 811 * syms.c (_bfd_stab_section_find_nearest_line): Bounds check 812 function_name. Bounds check reloc address. Formatting. Ensure 813 .stabstr zero terminated. 814 8152018-09-18 Nick Clifton <nickc@redhat.com> 816 817 PR 23657 818 * elfcode.h (elf_swap_shdr_in): Generate a warning message if an 819 ELF section has contents and size larger than the file size. 820 8212018-09-14 Maciej W. Rozycki <macro@mips.com> 822 823 PR ld/21375 824 * elfxx-mips.h (_bfd_mips_elf_hide_symbol): New prototype. 825 (_bfd_mips_elf_linker_flags): Update prototype. 826 * elf32-mips.c (elf_backend_hide_symbol): New macro. 827 * elf64-mips.c (elf_backend_hide_symbol): Likewise. 828 * elfn32-mips.c (elf_backend_hide_symbol): Likewise. 829 * elfxx-mips.c (mips_elf_link_hash_table): Add 830 `use_absolute_zero' and `gnu_target' members. 831 (mips_elf_record_global_got_symbol): Call 832 `_bfd_mips_elf_hide_symbol' rather than 833 `_bfd_elf_link_hash_hide_symbol'. 834 (mips_use_local_got_p): Return FALSE if the symbol is absolute. 835 (mips_elf_obtain_contents): Reorder function. 836 (mips_elf_nullify_got_load): New function. 837 (mips_elf_calculate_relocation): Add `contents' parameter. 838 Nullify GOT loads or if it is not possible, then redirect GOT 839 relocations to the `__gnu_absolute_zero' symbol, for references 840 that are supposed to resolve to zero. 841 (mips_elf_define_absolute_zero): New function. 842 (_bfd_mips_elf_check_relocs): Prepare for arrangements made in 843 `mips_elf_calculate_relocation' for references made via the GOT 844 that are supposed to resolve to zero. 845 (_bfd_mips_elf_hide_symbol): New function. 846 (_bfd_mips_elf_linker_flags): Add the `gnu_target' parameter, 847 set the `gnu_target' member of the MIPS hash table. 848 (MIPS_LIBC_ABI_ABSOLUTE): New enumeration constant. 849 (_bfd_mips_post_process_headers): Use it. 850 8512018-09-14 Maciej W. Rozycki <macro@mips.com> 852 853 * elfxx-mips.c (mips_elf_store_contents): New function... 854 (mips_elf_perform_relocation): ... factored out from here. 855 8562018-09-14 Lifang Xia <lifang_xia@c-sky.com> 857 858 * elf32-csky.c (csky_elf_howto_table): Fill special_function of 859 R_CKCORE_PCREL32. 860 (csky_elf_relocate_section): Add R_CKCORE_PCREL32 process. 861 8622018-09-14 Alan Modra <amodra@gmail.com> 863 864 PR 23425 865 * reloc.c (bfd_generic_get_relocated_section_contents): Zero reloc 866 fields in debug sections when reloc is against an undefined symbol 867 and called from bfd_simple_get_relocated_section_contents or 868 similar. 869 * dwarf2.c (find_abstract_instance): Return true for zero offset 870 DW_FORM_ref_addr without returning values. 871 8722018-09-06 Alan Modra <amodra@gmail.com> 873 874 PR 23570 875 * elf32-avr.c (elf_avr_special_sections): New. 876 (elf_backend_special_sections): Define. 877 8782018-09-04 Jose E. Marchesi <jose.marchesi@oracle.com> 879 880 * elfxx-sparc.c (_bfd_sparc_elf_info_to_howto): Do not issue an 881 error when an invalid relocation is passed; this is already done 882 by `_bfd_sparc_elf_info_to_howto_ptr'. 883 8842018-09-04 Jose E. Marchesi <jose.marchesi@oracle.com> 885 886 * elf64-sparc.c (elf64_sparc_slurp_one_reloc_table): Issue an 887 error when an invalid symbol index is retrieved in ELF64_R_SYM of 888 a relocation seen in an input file. 889 8902018-09-03 Jozef Lawrynowicz <jozef.l@mittosystems.com> 891 Alan Modra <amodra@gmail.com> 892 893 PR 23595 894 elf.c (copy_elf_program_header): When first segment contains 895 only the headers and SHT_NOBITS sections, use segment p_filesz 896 to calculate header and padding size. Use filepos of the first 897 section otherwise. 898 8992018-08-31 H.J. Lu <hongjiu.lu@intel.com> 900 901 PR ld/23600 902 * archures.c (bfd_arch_get_compatible): Allow an IR object with 903 unknown architecture. 904 9052018-08-31 Alan Modra <amodra@gmail.com> 906 907 * elf64-ppc.c (num_relocs_for_offset): New function. 908 (emit_relocs_for_offset): New function. 909 (use_global_in_relocs): New function, split out from.. 910 (ppc_build_one_stub): ..here. Output relocations for notoc stubs. 911 (ppc_size_one_stub): Calculate reloc count for notoc stubs. 912 (ppc64_elf_size_stubs): Don't count undefined syms in stub_globals. 913 9142018-08-31 Alan Modra <amodra@gmail.com> 915 916 * reloc.c (BFD_RELOC_PPC64_REL16_HIGH, BFD_RELOC_PPC64_REL16_HIGHA), 917 (BFD_RELOC_PPC64_REL16_HIGHER, BFD_RELOC_PPC64_REL16_HIGHERA), 918 (BFD_RELOC_PPC64_REL16_HIGHEST, BFD_RELOC_PPC64_REL16_HIGHESTA): 919 Define. 920 * elf64-ppc.c (ppc64_elf_howto_raw): Add new REL16 howtos. 921 (ppc64_elf_reloc_type_lookup): Translate new REL16 relocs. 922 (ppc64_elf_check_relocs, ppc64_elf_relocate_section): Handle them. 923 * bfd-in2.h: Regenerate. 924 * libbfd.h: Regenerate. 925 9262018-08-31 Alan Modra <amodra@gmail.com> 927 928 * elf64-ppc.c: Correct _notoc stub comments. 929 (ppc_build_one_stub): Simplify output of branch for notoc 930 long branch stub. Don't include label offset of 8 bytes in 931 "off" calculation for notoc plt stub. Don't emit insns to get pc. 932 (build_offset): Emit insns to get pc here instead. 933 (size_offset): Add 4 extra insns. 934 (plt_stub_size): Adjust for "off" and size_offset changes. 935 (ppc_size_one_stub): Rearrange code into a switch, duplicating 936 some to better match ppc_build_one_stub. 937 9382018-08-29 Chenghua Xu <paul.hua.gm@gmail.com> 939 940 * archures.c (bfd_architecture): New machine 941 bfd_mach_mips_gs264e. 942 * bfd-in2.h (bfd_architecture): Likewise. 943 * cpu-mips.c (enum I_xxx): Likewise. 944 (arch_info_struct): Likewise. 945 * elfxx-mips.c (_bfd_elf_mips_mach): Handle 946 E_MIPS_MACH_GS264E. 947 (mips_set_isa_flags): Likewise. 948 (mips_mach_extensions): Map bfd_mach_mips_gs264e to 949 bfd_mach_mips_gs464e extension. 950 9512018-08-29 Chenghua Xu <paul.hua.gm@gmail.com> 952 953 * archures.c (bfd_architecture): New machine 954 bfd_mach_mips_gs464e. 955 * bfd-in2.h (bfd_architecture): Likewise. 956 * cpu-mips.c (enum I_xxx): Likewise. 957 (arch_info_struct): Likewise. 958 * elfxx-mips.c (_bfd_elf_mips_mach): Handle 959 E_MIPS_MACH_GS464E. 960 (mips_set_isa_flags): Likewise. 961 (mips_mach_extensions): Map bfd_mach_mips_gs464e to 962 bfd_mach_mips_gs464 extension. 963 9642018-08-29 Chenghua Xu <paul.hua.gm@gmail.com> 965 966 * archures.c (bfd_architecture): Rename 967 bfd_mach_mips_loongson_3a to bfd_mach_mips_gs464. 968 * bfd-in2.h (bfd_architecture): Likewise. 969 * cpu-mips.c (enum I_xxx): Likewise. 970 (arch_info_struct): Likewise. 971 * elfxx-mips.c (_bfd_elf_mips_mach): Likewise. 972 (mips_set_isa_flags): Likewise. 973 (mips_mach_extensions): Likewise. 974 (bfd_mips_isa_ext_mach): Likewise. 975 (bfd_mips_isa_ext): Likewise. 976 (print_mips_isa_ext): Delete AFL_EXT_LOONGSON_3A. 977 9782018-08-29 Chenghua Xu <paul.hua.gm@gmail.com> 979 980 * elfxx-mips.c (print_mips_ases): Add Loongson EXT2 extension. 981 9822018-08-29 Chenghua Xu <paul.hua.gm@gmail.com> 983 984 * elfxx-mips.c (infer_mips_abiflags): Use ases instead of 985 isa_ext for infer ABI flags. 986 (print_mips_ases): Add Loongson EXT extension. 987 9882018-08-29 Chenghua Xu <paul.hua.gm@gmail.com> 989 990 * elfxx-mips.c (print_mips_ases): Add CAM extension. 991 9922018-08-27 H.J. Lu <hongjiu.lu@intel.com> 993 994 * elfxx-x86.c (_bfd_x86_elf_parse_gnu_properties): Don't mask 995 out the GNU_PROPERTY_X86_UINT32_VALID bit. 996 9972018-08-25 H.J. Lu <hongjiu.lu@intel.com> 998 999 PR ld/23499 1000 * elf.c (_bfd_elf_get_symbol_version_string): Return 1001 _("<corrupt>") for corrupt symbol version info. 1002 10032018-08-24 H.J. Lu <hongjiu.lu@intel.com> 1004 1005 * elfxx-x86.c (_bfd_x86_elf_parse_gnu_properties): Handle 1006 X86_COMPAT_ISA_1_USED, X86_COMPAT_ISA_1_NEEDED, 1007 X86_UINT32_AND_LO, X86_UINT32_AND_HI, X86_UINT32_OR_LO, 1008 X86_UINT32_OR_HI, X86_UINT32_OR_AND_LO and X86_UINT32_OR_AND_HI 1009 instead of X86_ISA_1_USED, X86_ISA_1_NEEDED and X86_FEATURE_1_AND. 1010 (_bfd_x86_elf_merge_gnu_properties): Likewise. 1011 (_bfd_x86_elf_link_setup_gnu_properties): Add X86_FEATURE_2_NEEDED 1012 instead of X86_ISA_1_NEEDED. 1013 (_bfd_x86_elf_link_fixup_gnu_properties): Handle 1014 X86_COMPAT_ISA_1_USED, X86_COMPAT_ISA_1_NEEDED, X86_UINT32_AND_LO, 1015 X86_UINT32_AND_HI, X86_UINT32_OR_LO, X86_UINT32_OR_HI, 1016 X86_UINT32_OR_AND_LO and X86_UINT32_OR_AND_HI instead of 1017 X86_ISA_1_USED, X86_ISA_1_NEEDED and X86_FEATURE_1_AND. 1018 10192018-08-24 H.J. Lu <hongjiu.lu@intel.com> 1020 1021 * elfxx-x86.c (_bfd_x86_elf_parse_gnu_properties): Mask out the 1022 GNU_PROPERTY_X86_UINT32_VALID bit. 1023 (_bfd_x86_elf_link_fixup_gnu_properties): Set the 1024 GNU_PROPERTY_X86_UINT32_VALID bit for non-relocatable output. 1025 10262018-08-23 Zenith423 <zenith432@users.sourceforge.net> 1027 1028 PR 23460 1029 * plugin.c (struct plugin_list_entry): New structure. 1030 (plugin_list): New variable. 1031 (try_load_plugin): Place opened plugins on a list. Ensure that 1032 the refcount in the dynamic loader is kept at 1. 1033 10342018-08-23 Alan Modra <amodra@gmail.com> 1035 1036 * elf64-ppc.c (ppc64_elf_relocate_section): Revise "call lacks 1037 nop" error message. 1038 10392018-08-23 Nick Clifton <nickc@redhat.com> 1040 1041 * elf64-hppa.c (elf_hppa_final_link_relocate): Replace unworkable 1042 code with an assertion. 1043 10442018-08-23 Nick Clifton <nickc@redhat.com> 1045 1046 PR 23061 1047 * coffgen.c (coff_pointerize_aux): Add table_end parameter. Use 1048 it to prevent walking off the end of the table. 1049 (coff_get_normalized_symtab): Pass internal_end pointer to 1050 coff_pointerize_aux. 1051 10522018-08-23 Alan Modra <amodra@gmail.com> 1053 1054 * elf64-ppc.c (ppc64_elf_relocate_section): Don't miss clearing 1055 unresolved_reloc on ppc_stub_plt_call_notoc. 1056 10572018-08-22 H.J. Lu <hongjiu.lu@intel.com> 1058 1059 PR ld/23536 1060 * development.sh (experimental): New. 1061 10622018-08-22 Helge Deller <deller@gmx.de> 1063 Nick Clifton <nickc@redhat.com> 1064 1065 * elf-hppa.h (elf_hppa_fake_sections): Use SHT_PARISC_UNWIND as 1066 the section type of the .PARISC.unwind section on 64-bit binaries 1067 and SHT_PROGBITS for 32-bit binaries. Add a comment about it. 1068 Add comment about the sh_entsize value. 1069 10702018-08-22 Rafeal Auler <rafaelauler@gmail.com> 1071 1072 PR 23560 1073 * elfnn-aarch64.c (elfNN_aarch64_size_stubs): Always update the 1074 stub's target, since it may have been changed after the layout. 1075 10762018-08-21 John Darington <john@darrington.wattle.id.au> 1077 1078 * elf32-s12z.c (opru18_reloc): New function. 1079 (elf_s12z_howto_table): Adjust Howto according to new knowledge. 1080 10812018-08-21 mephi42 <mephi42@gmail.com> 1082 1083 PR binutils/23315 1084 * mach-o.c (bfd_mach_o_mangle_symbols): Update n_type even if 1085 data is already considered filled. 1086 10872018-08-21 Alan Modra <amodra@gmail.com> 1088 1089 * elf64-ppc.c (HOW): Define. 1090 (ONES): Delete. 1091 (ppc64_elf_howto_raw): Use HOW to initialize entries. 1092 * elf32-ppc.c (HOW): Define. 1093 (ppc_elf_howto_raw): Use HOW to initialize entries, updating 1094 R_PPC_VLE_REL15 and R_PPC_VLE_REL24 to use bitpos=0. 1095 10962018-08-21 Alan Modra <amodra@gmail.com> 1097 1098 * reloc.c (reloc_howto_type): Typedef. 1099 (bfd_symbol): Delete forward declaration. 1100 (struct reloc_howto_struct): Add "negate" field. Make "size", 1101 "bitsize", "rightshift", "bitpos", "complain_on_overflow", 1102 "pc_relative", "partial_inplace", and "pcrel_offset" bitfields. 1103 Rearrange for better packing. Revise comments. 1104 (HOWTO): Map to rearranged reloc_howto_struct. 1105 (bfd_get_reloc_size): Delete now unused cases. 1106 (read_reloc, write_reloc): Likewise. 1107 (apply_reloc, _bfd_relocate_contents): Test howto->negate 1108 rather than howto->size < 0 for negated relocation values. 1109 * coff-rs6000.c (xcoff_complain_overflow_bitfield_func): Avoid 1110 signed/unsigned warning. 1111 (xcoff_ppc_relocate_section): Delete "condition is always false" 1112 code. 1113 * coff64-rs6000.c (xcoff64_ppc_relocate_section): Likewise. 1114 * cpu-ns32k.c (do_ns32k_reloc): Adjust to suit reloc_howto_struct 1115 changes. 1116 * vms-alpha.c (_bfd_vms_write_etir, alpha_vms_slurp_relocs): Use 1117 size 16 for ALPHA_R_LINKAGE. 1118 (alpha_howto_table <ALPHA_R_LINKAGE>): Set encoded size and 1119 bitsize to zero. 1120 * bfd-in.h (reloc_howto_type): Delete. 1121 * bfd-in2.h: Regenerate. 1122 11232018-08-21 Alan Modra <amodra@gmail.com> 1124 1125 * reloc.c (HOWTO): Revise comment. 1126 (NEWHOWTO, HOWTO_PREPARE): Delete. 1127 * coff-arm.c (coff_arm_reloc_type_lookup): Replace const struc 1128 reloc_howto_struct with reloc_howto_type. 1129 * ns32knetbsd.c (MY_bfd_reloc_type_lookup): Likewise. 1130 * vms-alpha.c (alpha_vms_bfd_reloc_type_lookup): Likewise. 1131 * elf-hppa.h (HOW): Define. 1132 (elf_hppa_howto_table): Use it to simplify this table, correcting 1133 name of R_PARISC_LTOFF16WF, R_PARISC_LTOFF_FPTR64, and 1134 R_PARISC_LTOFF_FPTR16DF. 1135 * elf32-mep.c (MEPREL): Use HOWTO. 1136 * bfd-in2.h: Regenerate. 1137 11382018-08-20 Alan Modra <amodra@gmail.com> 1139 1140 * mmo.c (valid_mmo_symbol_character_set): Initialize and make 1141 array const. 1142 (mmo_init): Don't init valid_mmo_symbol_character_set. 1143 11442018-08-20 Alan Modra <amodra@gmail.com> 1145 1146 * rs6000-core.c (CORE_COMMONSZ): Balance parentheses in expression. 1147 11482018-08-17 H.J. Lu <hongjiu.lu@intel.com> 1149 1150 PR ld/23515 1151 * elf-bfd.h (elf_backend_data): Add fixup_gnu_properties. 1152 * elf-properties.c (_bfd_elf_link_setup_gnu_properties): Call 1153 backend fixup_gnu_properties if it isn't NULL. Discard 1154 .note.gnu.property section if all properties have been removed. 1155 * elfxx-target.h (elf_backend_fixup_gnu_properties): New. 1156 (elfNN_bed): Initialize fixup_gnu_properties. 1157 * elfxx-x86.c (_bfd_x86_elf_link_fixup_gnu_properties): New 1158 function. 1159 * elfxx-x86.h (_bfd_x86_elf_link_fixup_gnu_properties): New 1160 prototype. 1161 (elf_backend_fixup_gnu_properties): New. 1162 11632018-08-16 Alan Modra <amodra@gmail.com> 1164 1165 * elf64-ppc.c: Correct ppc_stub_long_branch_notoc example. 1166 Formatting. 1167 11682018-08-12 H.J. Lu <hongjiu.lu@intel.com> 1169 1170 PR binutils/23494 1171 * Makefile.am (BFD32_LIBS): Add elf-properties.lo. 1172 (BFD32_LIBS_CFILES): Add elf-properties.c. 1173 (BFD32_BACKENDS): Remove elf-properties.lo. 1174 (BFD32_BACKENDS_CFILES): Remove elf-properties.c. 1175 * configure.ac (elf): Remove elf-properties.lo. 1176 * Makefile.in: Regenerated. 1177 * configure: Likewise. 1178 11792018-08-11 H.J. Lu <hongjiu.lu@intel.com> 1180 1181 PR ld/23428 1182 * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Don't 1183 add X86_ISA_1_NEEDED property only if existing properties won't 1184 be removed. 1185 11862018-08-11 Alan Modra <amodra@gmail.com> 1187 1188 * reloc.c (bfd_get_reloc_size): Sort switch. 1189 (read_reloc, write_reloc, apply_reloc): New functions. 1190 (bfd_perform_relocation, bfd_install_relocation): Use apply_reloc. 1191 (_bfd_relocate_contents): Use read_reloc and write_reloc. 1192 (_bfd_clear_contents): Likewise. 1193 11942018-08-11 John Darrington <john@darrington.wattle.id.au> 1195 1196 * reloc.c (_bfd_relocate_contents): Handle 3 byte relocs. 1197 (_bfd_clear_contents): Likewise. 1198 (bfd_perform_relocation): Likewise. 1199 (bfd_install_relocation): Likewise. 1200 12012018-08-10 H.J. Lu <hongjiu.lu@intel.com> 1202 1203 PR ld/23499 1204 * elflink.c (bfd_elf_record_link_assignment): Always clear 1205 h->verinfo.verdef when overriding a dynamic definition. 1206 12072018-08-10 H.J. Lu <hongjiu.lu@intel.com> 1208 1209 PR binutils/23494 1210 * elf-properties.c (elf_get_gnu_property_section_size): Always 1211 use align_size as pr_datasz for GNU_PROPERTY_STACK_SIZE. 1212 (elf_write_gnu_properties): Likewise. 1213 12142018-08-08 H.J. Lu <hongjiu.lu@intel.com> 1215 1216 PR binutils/23494 1217 * bfd.c (bfd_convert_section_size): Check BFD_DECOMPRESS after 1218 calling _bfd_elf_convert_gnu_property_size to convert 1219 .note.gnu.property section size. 1220 (bfd_convert_section_contents): Check BFD_DECOMPRESS after 1221 calling _bfd_elf_convert_gnu_properties to convert 1222 .note.gnu.property section. 1223 * elf-bfd.h (_bfd_elf_convert_gnu_property_size): New prototype. 1224 (_bfd_elf_convert_gnu_properties): Likewise. 1225 * elf-properties.c (elf_get_gnu_property_section_size): New 1226 function. 1227 (elf_write_gnu_properties): Likewise. 1228 (_bfd_elf_convert_gnu_property_size): Likewise. 1229 (_bfd_elf_convert_gnu_properties): Likewise. 1230 (_bfd_elf_link_setup_gnu_properties): Use 1231 elf_get_gnu_property_section_size and elf_write_gnu_properties. 1232 12332018-08-08 H.J. Lu <hongjiu.lu@intel.com> 1234 1235 PR ld/23486 1236 * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Remove 1237 GNU_PROPERTY_X86_ISA_1_USED if an input file doesn't have it. 1238 (_bfd_x86_elf_link_setup_gnu_properties): Adding the 1239 GNU_PROPERTY_X86_ISA_1_NEEDED, instead of 1240 GNU_PROPERTY_X86_ISA_1_USED, property. 1241 12422018-08-07 Alan Modra <amodra@gmail.com> 1243 1244 * elf64-ppc.c (struct map_stub): Delete tls_get_addr_opt_bctrl. 1245 Add lr_restore, eh_size and eh_base. 1246 (eh_advance, eh_advance_size): New functions. 1247 (build_tls_get_addr_stub): Emit EH info for stub. 1248 (ppc_build_one_stub): Likewise for _notoc stubs. 1249 (ppc_size_one_stub): Size EH info for stub. 1250 (group_sections): Init new map_stub fields. 1251 (stub_eh_frame_size): Delete. 1252 (ppc64_elf_size_stubs): Size EH info for stubs. Set up dummy EH 1253 program for stubs. 1254 (ppc64_elf_build_stubs): Reinit new map_stub fields. Set FDE 1255 offset to stub section here.. 1256 (ppc64_elf_finish_dynamic_sections): ..rather than here. 1257 12582018-08-07 Alan Modra <amodra@gmail.com> 1259 1260 * elf64-ppc.c (ppc64_elf_relocate_section): Don't skip first 1261 instruction of __tls_get_addr_opt stub. 1262 (plt_stub_size): Omit ALWAYS_EMIT_R2SAVE condition when 1263 dealing with __tls_get_addr_opt stub. 1264 (build_tls_get_addr_stub, ppc_size_one_stub): Likewise. 1265 12662018-08-06 Claudiu Zissulescu <claziss@synopsys.com> 1267 1268 * elf32-arc.c (arc_elf_merge_private_bfd_data): Complain about 1269 efalgs only when in/out exists. 1270 (elf32_arc_section_from_shdr): Don't complain about 0x0c 1271 section type. It is mwdt compiler specific. 1272 12732018-08-06 Claudiu Zissulescu <claziss@synopsys.com> 1274 1275 * elf32-arc.c (arc_elf_merge_attributes): Fix merge attributes. 1276 12772018-08-06 Claudiu Zissulescu <claziss@synopsys.com> 1278 1279 * elf32-arc.c (arc_elf_merge_attributes): Handle 1280 Tag_ARC_ATR_version. 1281 12822018-08-05 Alan Modra <amodra@gmail.com> 1283 1284 * elf64-ppc.c (ADDI_R12_R11, ADDI_R12_R12, LIS_R12), 1285 (ADDIS_R12_R11, ORIS_R12_R12_0, ORI_R12_R12_0), 1286 (SLDI_R12_R12_32, LDX_R12_R11_R12, ADD_R12_R11_R12): Define. 1287 (ppc64_elf_howto_raw): Add R_PPC64_REL24_NOTOC entry. 1288 (ppc64_elf_reloc_type_lookup): Support R_PPC64_REL24_NOTOC. 1289 (ppc_stub_type): Add ppc_stub_long_branch_notoc, 1290 ppc_stub_long_branch_both, ppc_stub_plt_branch_notoc, 1291 ppc_stub_plt_branch_both, ppc_stub_plt_call_notoc, and 1292 ppc_stub_plt_call_both. 1293 (is_branch_reloc): Add R_PPC64_REL24_NOTOC. 1294 (build_offset, size_offset): New functions. 1295 (plt_stub_size): Support plt_call_notoc and plt_call_both. 1296 (ppc_build_one_stub, ppc_size_one_stub): Support new stubs. 1297 (toc_adjusting_stub_needed): Handle R_PPC64_REL24_NOTOC. 1298 (ppc64_elf_size_stubs): Likewise, and new stubs. 1299 (ppc64_elf_build_stubs, ppc64_elf_relocate_section): Likewise. 1300 * reloc.c: Add BFD_RELOC_PPC64_REL24_NOTOC. 1301 * bfd-in2.h: Regenerate. 1302 * libbfd.h: Regenerate. 1303 13042018-08-05 Alan Modra <amodra@gmail.com> 1305 1306 * elf64-ppc.c (ppc_build_one_stub): Lose "_r2off" in stub symbols. 1307 13082018-08-02 Jim Wilson <jimw@sifive.com> 1309 1310 * elfnn-riscv.c (riscv_elf_create_dynamic_sections): For .tdata.dyn, 1311 add SEC_LINKER_CREATED flag. 1312 13132018-08-01 Nick Clifton <nickc@redhat.com> 1314 1315 * coff-rs6000.c (_bfd_xcoff_put_ldsymbol_name): Suppress warnings 1316 about potentially truncated strncpy operations. 1317 (_bfd_xcoff_put_symbol_name): Likewise. 1318 1319 * elf32-avr.c (avr_stub_name): Check for a NULL return from 1320 bfd_malloc. 1321 13222018-08-01 Zenith <zenith432@users.sourceforge.net> 1323 1324 PR 23460 1325 * plugin.c (bfd_plugin_open_input): Close file descriptor if the 1326 call to fstat fails. 1327 (try_claim): Always close the file descriptor at the end of the 1328 function. 1329 (try_load_plugin): If a plugin has already been registered, then 1330 skip the dlopen and onload steps and go straight to claiming the 1331 file. If these is an error, close the plugin. 1332 13332018-08-01 Alan Modra <amodra@gmail.com> 1334 1335 * elf64-ppc.c (plt_stub_pad): Delay plt_stub_size call until needed. 1336 (ppc_build_one_stub): Don't set stub_offset, instead assert that 1337 it is sane. Don't adjust stub_offset for alignment. Adjust size 1338 calculation. Use "targ" temp when calculating offsets. 1339 (ppc_size_one_stub): Set stub_offset here. Use "targ" temp when 1340 calculating offsets. Adjust for alignment before setting 1341 tls_get_addr_opt_bctrl. 1342 13432018-08-01 Alan Modra <amodra@gmail.com> 1344 1345 * po/SRC-POTFILES.in: Regenerate. 1346 13472018-07-30 Nick Clifton <nickc@redhat.com> 1348 1349 PR 22706 1350 * elf32-sh.c (sh_elf_relocate_section): When processing 1351 translation relocs, fail if the relocation offset is too small. 1352 Replace BFD_ASSERTs with more helpful error messages. 1353 13542018-07-30 Andrew Jenner <andrew@codesourcery.com> 1355 1356 * Makefile.am (ALL_MACHINES, ALL_MACHINES_CFILES): Add C-SKY. 1357 (BFD32_BACKENDS, BFD_BACKENDS_CFILES): Likewise. 1358 * Makefile.in: Regenerated. 1359 * archures.c (enum bfd_architecture): Add bfd_arch_csky and 1360 related bfd_mach defines. 1361 (bfd_csky_arch): Declare. 1362 (bfd_archures_list): Add C-SKY. 1363 * bfd-in.h (elf32_csky_build_stubs): Declare. 1364 (elf32_csky_size_stubs): Declare. 1365 (elf32_csky_next_input_section: Declare. 1366 (elf32_csky_setup_section_lists): Declare. 1367 * bfd-in2.h: Regenerated. 1368 * config.bfd: Add C-SKY. 1369 * configure.ac: Likewise. 1370 * configure: Regenerated. 1371 * cpu-csky.c: New file. 1372 * elf-bfd.h (enum elf_target_id): Add C-SKY. 1373 * elf32-csky.c: New file. 1374 * libbfd.h: Regenerated. 1375 * reloc.c: Add C-SKY relocations. 1376 * targets.c (csky_elf32_be_vec, csky_elf32_le_vec): Declare. 1377 (_bfd_target_vector): Add C-SKY target vector entries. 1378 13792018-07-27 John Darrington <john@darrington.wattle.id.au> 1380 1381 * elf32-s12z.c (ELF_TARGET_ID): Don't define. 1382 13832018-07-27 John Darrington <john@darrington.wattle.id.au> 1384 1385 * libbfd.c (bfd_getb24, bfd_getl24): New functions. 1386 (bfd_get_24, bfd_put_24): New macros. 1387 * bfd-in2.h: Regenerate. 1388 13892018-07-27 John Darrington <john@darrington.wattle.id.au> 1390 1391 * elf32-s12z.c (s12z_elf_set_mach_from_flags): Remove comment. 1392 13932018-07-26 Alan Modra <amodra@gmail.com> 1394 1395 * elf64-ppc.c (ppc64_elf_size_stubs): Use a ppc_stub_long_branch_r2off 1396 for calls to symbols with STO_PPC64_LOCAL_MASK bits set to 1. 1397 13982018-07-25 Alan Modra <amodra@gmail.com> 1399 1400 * elf32-ppc.c (ppc_elf_relax_section): Ignore common or undef locals. 1401 Avoid trashing toff with added when used as a symbol index. 1402 Ignore R_PPC_PLTREL24 addends in unused example code. Avoid 1403 creating unnecessary fixups when relocatable. 1404 14052018-07-25 Alan Modra <amodra@gmail.com> 1406 1407 * elf32-arm.c (elf32_arm_nabi_write_core_note): Disable 1408 -Wstringop-truncation warning for gcc-8.0 too. 1409 * elf32-ppc.c (ppc_elf_write_core_note): Likewise. 1410 * elf64-ppc.c (ppc64_elf_write_core_note): Likewise. 1411 * elfxx-aarch64.c (_bfd_aarch64_elf_write_core_note): Likewise. 1412 * elf32-s390.c (elf_s390_write_core_note): Comment fix. 1413 * elf64-s390.c (elf_s390_write_core_note): Likewise. 1414 14152018-07-24 Alan Modra <amodra@gmail.com> 1416 1417 PR 23430 1418 * dwarf2.c (dwarf_debug_section_enum): Fix comment typo. 1419 * elf.c (bfd_section_from_shdr, elf_sort_sections): Likewise. 1420 14212018-07-23 Max Filippov <jcmvbkbc@gmail.com> 1422 1423 * elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Move 1424 relocation sections consistency check to always check both 1425 .rela.dyn and .rela.plt when they exist. Rearrange variable 1426 definition and assignment places. 1427 14282018-07-23 Max Filippov <jcmvbkbc@gmail.com> 1429 1430 * elf32-xtensa.c (shrink_dynamic_reloc_sections): Shrink dynamic 1431 relocations section for dynamic undefined weak symbols when 1432 linking a shared object. 1433 14342018-07-23 Tom Tromey <tom@tromey.com> 1435 1436 * elf.c (bfd_get_elf_phdrs): Don't call memcpy with size 0. 1437 14382018-07-21 Eric Botcazou <ebotcazou@adacore.com> 1439 1440 * elf32-arm.c (elf32_arm_final_link_relocate) <R_ARM_GOT32>: Small 1441 cleanup for the case of a global symbol that binds locally. Also 1442 install a value in the GOT slot in the case of a local symbol in 1443 a non-PIC link. 1444 14452018-07-20 H.J. Lu <hongjiu.lu@intel.com> 1446 1447 PR ld/23428 1448 * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): If the 1449 separate code program header is needed, make sure that the first 1450 read-only PT_LOAD segment has no code by adding a 1451 GNU_PROPERTY_X86_ISA_1_USED note. 1452 14532018-07-20 Chenghua Xu <paul.hua.gm@gmail.com> 1454 Maciej W. Rozycki <macro@mips.com> 1455 1456 * elfxx-mips.c (print_mips_ases): Add MMI extension. 1457 14582018-07-20 Maciej W. Rozycki <macro@mips.com> 1459 1460 * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Do not 1461 create DT_REL, DT_RELSZ or DT_RELENT dynamic entries if the 1462 dynamic relocation section will be discarded from output. 1463 (_bfd_mips_elf_finish_dynamic_sections) <DT_RELSZ>: Assert that 1464 the dynamic relocation section will be retained in output. 1465 14662018-07-18 Maciej W. Rozycki <macro@mips.com> 1467 1468 * xcofflink.c (xcoff_write_global_symbol): Fix symbol type 1469 checks for defined weak symbols. 1470 14712018-07-17 Maciej W. Rozycki <macro@mips.com> 1472 1473 * elf32-nds32.c (nds32_elf_relax_loadstore): Use 1474 `bfd_is_abs_symbol' rather than `bfd_is_abs_section' in checking 1475 whether the symbol is absolute. 1476 (nds32_elf_relax_lo12): Likewise. 1477 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Likewise. 1478 (elfNN_aarch64_check_relocs): Likewise. 1479 * xcofflink.c (xcoff_need_ldrel_p): Likewise. 1480 (bfd_xcoff_import_symbol): Likewise. 1481 (xcoff_write_global_symbol): Likewise. 1482 14832018-07-17 Maciej W. Rozycki <macro@mips.com> 1484 1485 * linker.c (bfd_is_abs_symbol): New macro. 1486 * bfd-in2.h: Regenerate. 1487 14882018-07-16 Edjunior Barbosa Machado <emachado@linux.vnet.ibm.com> 1489 1490 * elf-bfd.h (elfcore_write_ppc_tar): Add prototype. 1491 (elfcore_write_ppc_ppr): Likewise. 1492 (elfcore_write_ppc_dscr): Likewise. 1493 (elfcore_write_ppc_ebb): Likewise. 1494 (elfcore_write_ppc_pmu): Likewise. 1495 (elfcore_write_ppc_tm_cgpr): Likewise. 1496 (elfcore_write_ppc_tm_cfpr): Likewise. 1497 (elfcore_write_ppc_tm_cvmx): Likewise. 1498 (elfcore_write_ppc_tm_cvsx): Likewise. 1499 (elfcore_write_ppc_tm_spr): Likewise. 1500 (elfcore_write_ppc_tm_ctar): Likewise. 1501 (elfcore_write_ppc_tm_cppr): Likewise. 1502 (elfcore_write_ppc_tm_cdscr): Likewise. 1503 * elf.c (elfcore_write_ppc_tar): New function. 1504 (elfcore_write_ppc_ppr): Likewise. 1505 (elfcore_write_ppc_dscr): Likewise. 1506 (elfcore_write_ppc_ebb): Likewise. 1507 (elfcore_write_ppc_pmu): Likewise. 1508 (elfcore_write_ppc_tm_cgpr): Likewise. 1509 (elfcore_write_ppc_tm_cfpr): Likewise. 1510 (elfcore_write_ppc_tm_cvmx): Likewise. 1511 (elfcore_write_ppc_tm_cvsx): Likewise. 1512 (elfcore_write_ppc_tm_spr): Likewise. 1513 (elfcore_write_ppc_tm_ctar): Likewise. 1514 (elfcore_write_ppc_tm_cppr): Likewise. 1515 (elfcore_write_ppc_tm_cdscr): Likewise. 1516 (elfcore_write_register_note): Call them. 1517 (elfcore_grok_ppc_tar): New function. 1518 (elfcore_grok_ppc_ppr): Likewise. 1519 (elfcore_grok_ppc_dscr): Likewise. 1520 (elfcore_grok_ppc_ebb): Likewise. 1521 (elfcore_grok_ppc_pmu): Likewise. 1522 (elfcore_grok_ppc_tm_cgpr): Likewise. 1523 (elfcore_grok_ppc_tm_cfpr): Likewise. 1524 (elfcore_grok_ppc_tm_cvmx): Likewise. 1525 (elfcore_grok_ppc_tm_cvsx): Likewise. 1526 (elfcore_grok_ppc_tm_spr): Likewise. 1527 (elfcore_grok_ppc_tm_ctar): Likewise. 1528 (elfcore_grok_ppc_tm_cppr): Likewise. 1529 (elfcore_grok_ppc_tm_cdscr): Likewise. 1530 (elfcore_grok_note): Call them. 1531 15322018-07-11 Maciej W. Rozycki <macro@mips.com> 1533 1534 * elfxx-mips.c (mips_tls_got_relocs): Use `bfd_link_dll' rather 1535 than `!bfd_link_pic' in determining the dynamic symbol index. 1536 Avoid the index of -1. 1537 (mips_elf_initialize_tls_slots): Likewise. Flatten code by 1538 moving `dyn' to the beginning of the function block. 1539 15402018-07-11 Maciej W. Rozycki <macro@mips.com> 1541 Rich Felker <bugdal@aerifal.cx> 1542 1543 PR ld/22570 1544 * elfxx-mips.c (mips_tls_got_relocs): Use `bfd_link_dll' rather 1545 than `bfd_link_pic' to determine whether dynamic relocations are 1546 to be produced. 1547 (mips_elf_initialize_tls_slots): Likewise. 1548 15492018-07-10 Maciej W. Rozycki <macro@mips.com> 1550 1551 * elflink.c (bfd_elf_final_link): Rename `remove' local variable 1552 to `remove_section'. 1553 15542018-07-10 Alan Modra <amodra@gmail.com> 1555 1556 * elf32-xgate.h: Delete. 1557 * elf32-xgate.c: Delete unnecessary forward declarations, add two 1558 that are now needed. 1559 (xgate_elf_bfd_link_hash_table_create) 1560 (xgate_elf_bfd_link_hash_table_free) 1561 (xgate_elf_set_mach_from_flags, struct xgate_scan_param) 1562 (stub_hash_newfunc, elf32_xgate_add_symbol_hook) 1563 (elf32_xgate_setup_section_lists, elf32_xgate_size_stubs) 1564 (elf32_xgate_build_stubs, elf32_xgate_check_relocs) 1565 (elf32_xgate_relocate_section, _bfd_xgate_elf_set_private_flags) 1566 (elf32_xgate_post_process_headers): Delete. 1567 (elf32_xgate_backend_symbol_processing): New function. 1568 (xgate_elf_ignore_reloc, xgate_elf_special_reloc) 1569 (_bfd_xgate_elf_print_private_bfd_data): Make static. 1570 (ELF_TARGET_ID, elf_info_to_howto, elf_backend_check_relocs) 1571 (elf_backend_relocate_section, elf_backend_object_p) 1572 (elf_backend_final_write_processing, elf_backend_can_gc_sections) 1573 (elf_backend_post_process_headers, elf_backend_add_symbol_hook) 1574 (bfd_elf32_bfd_link_hash_table_create) 1575 (bfd_elf32_bfd_set_private_flags) 1576 (xgate_stub_hash_lookup): Don't define. 1577 (elf_backend_symbol_processing): Define. 1578 * elf-bfd.h (elf_target_id): Delete XGATE_ELF_DATA. 1579 15802018-07-09 Maciej W. Rozycki <macro@mips.com> 1581 1582 * elfxx-mips.c (_bfd_mips_elf_adjust_dynamic_symbol): Don't set 1583 `->needs_lazy_stub' if the stubs output section is the absolute 1584 section. 1585 15862018-07-09 H.J. Lu <hongjiu.lu@intel.com> 1587 1588 PR ld/23388 1589 * configure.ac: Use changequote for "i[3-7]86-*-linux-*". 1590 * configure: Regenerated. 1591 15922018-07-09 Alan Modra <amodra@gmail.com> 1593 1594 * elf32-m68hc1x.c (elf32_m68hc11_post_process_headers): Call 1595 _bfd_elf_post_process_headers. 1596 15972018-07-06 Max Filippov <jcmvbkbc@gmail.com> 1598 1599 * elf32-xtensa.c (elf_xtensa_allocate_dynrelocs): Don't allocate 1600 space for dynamic relocation for undefined weak symbol. 1601 (elf_xtensa_relocate_section): Don't emit R_XTENSA_RELATIVE 1602 relocation for undefined weak symbols. 1603 (shrink_dynamic_reloc_sections): Don't shrink dynamic relocation 1604 section for relocations against undefined weak symbols. 1605 16062018-07-06 Alan Hayward <alan.hayward@arm.com> 1607 1608 * elf.c (elfcore_grok_aarch_sve): New function. 1609 (elfcore_grok_note): Check for Aarch64 SVE. 1610 (elfcore_write_aarch_sve): New function. 1611 (elfcore_write_register_note): Check for Aarch64 SVE. 1612 * elf-bfd.h(elfcore_grok_aarch_sve): New declaration. 1613 16142018-07-06 Alan Modra <amodra@gmail.com> 1615 1616 * elf32-arm.c (elf32_arm_nabi_write_core_note): Don't use 1617 DIAGNOTIC_PUSH and DIAGNOSTIC_POP unconditionally. 1618 * elf32-ppc.c (ppc_elf_write_core_note): Likewise. 1619 * elf32-s390.c (elf_s390_write_core_note): Likewise. 1620 * elf64-ppc.c (ppc64_elf_write_core_note): Likewise. 1621 * elf64-s390.c (elf_s390_write_core_note): Likewise. 1622 * elfxx-aarch64.c (_bfd_aarch64_elf_write_core_note): Likewise. 1623 16242018-07-05 Jim Wilson <jimw@sifive.com> 1625 1626 * config.bfd (riscv32*-*-*): Renamed from riscv32-*-*. 1627 (riscv64*-*-*): Likewise. 1628 (riscv-*-*): Add as an alias for riscv32*-*-*. 1629 16302018-07-05 H.J. Lu <hongjiu.lu@intel.com> 1631 1632 PR ld/23372 1633 * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Remove x86 1634 ISA properties with empty bits. 1635 16362018-07-05 Nick Clifton <nickc@redhat.com> 1637 1638 * po/ru.po: Updated Russian translation. 1639 16402018-07-05 Alan Modra <amodra@gmail.com> 1641 1642 * elf-bfd.h (_bfd_elf_ppc_merge_fp_attributes): Update prototype. 1643 * elf32-ppc.c (_bfd_elf_ppc_merge_fp_attributes): Return error 1644 on mismatch. Remove "warning: " from messages. Track last bfd 1645 used to set tags. 1646 (ppc_elf_merge_obj_attributes): Likewise. Handle status from 1647 _bfd_elf_ppc_merge_fp_attributes. 1648 * elf64-ppc.c (ppc64_elf_merge_private_bfd_data): Handle status 1649 from _bfd_elf_ppc_merge_fp_attributes. 1650 16512018-07-04 H.J. Lu <hongjiu.lu@intel.com> 1652 1653 * Makefile.am (bfdinclude_HEADERS): Add $(INCDIR)/diagnostics.h. 1654 * Makefile.in: Regenerated. 1655 16562018-07-03 Alan Modra <amodra@gmail.com> 1657 1658 * elflink.c (bfd_elf_final_link): Remove zero size .gnu.attributes 1659 sections. 1660 16612018-07-03 Alan Modra <amodra@gmail.com> 1662 1663 * elf-bfd.h (ATTR_TYPE_FLAG_ERROR, ATTR_TYPE_HAS_ERROR): Define. 1664 * elf-attrs.c (is_default_attr): Handle ATTR_TYPE_HAS_ERROR. 1665 * elf32-ppc.c (_bfd_elf_ppc_merge_fp_attributes): Use 1666 ATTR_TYPE_FLAG_INT_VAL. Set ATTR_TYPE_HAS_ERROR on finding 1667 incompatible attribute. 1668 (ppc_elf_merge_obj_attributes): Likewise. Return 1669 _bfd_elf_merge_object_attributes result. 1670 * elf64-ppc.c (ppc64_elf_merge_private_bfd_data): Return 1671 _bfd_elf_merge_object_attributes result. 1672 16732018-07-03 Alan Modra <amodra@gmail.com> 1674 1675 PR 17550 1676 * elflink.c (_bfd_elf_fix_symbol_flags): Hide dynamic symbols 1677 in discarded sections. 1678 16792018-07-02 Maciej W. Rozycki <macro@mips.com> 1680 1681 * elfxx-mips.c (_bfd_mips_elf_create_dynamic_sections): Set 1682 `mark' for symbols created from `mips_elf_dynsym_rtproc_names' 1683 list. 1684 16852018-07-02 Maciej W. Rozycki <macro@mips.com> 1686 1687 * elf64-mips.c (micromips_elf64_howto_table_rel): Add 1688 R_MICROMIPS_HI0_LO16, R_MICROMIPS_TLS_GD, R_MICROMIPS_TLS_LDM, 1689 R_MICROMIPS_TLS_DTPREL_HI16, R_MICROMIPS_TLS_DTPREL_LO16, 1690 R_MICROMIPS_TLS_GOTTPREL, R_MICROMIPS_TLS_TPREL_HI16, 1691 R_MICROMIPS_TLS_TPREL_LO16, R_MICROMIPS_GPREL7_S2 and 1692 R_MICROMIPS_PC23_S2 relocation entries. 1693 (micromips_elf64_howto_table_rela): Likewise. 1694 (micromips_reloc_map): Likewise. 1695 * elfn32-mips.c (elf_micromips_howto_table_rel): Likewise. 1696 (elf_micromips_howto_table_rela): Likewise. 1697 (micromips_reloc_map): Likewise. 1698 16992018-07-02 H.J. Lu <hongjiu.lu@intel.com> 1700 1701 PR ld/23324 1702 * elf64-x86-64.c (elf_x86_64_relocate_section): Clear the 1703 R_X86_64_converted_reloc_bit bit. 1704 17052018-07-02 Jeff Muizelaar <jrmuizel@gmail.com> 1706 Tom Tromey <tom@tromey.com> 1707 1708 PR 13157 1709 PR 21787 1710 * mach-o.c (bfd_mach_o_fat_close_and_cleanup): New function. 1711 (bfd_mach_o_close_and_cleanup): Redefine. 1712 * archive.c (_bfd_unlink_from_archive_parent): New function, 1713 extracted from.. 1714 (_bfd_archive_close_and_cleanup): ..here. 1715 (bfd_generic_archive_p): Do not clear archive's format. 1716 * libbfd-in.h (_bfd_unlink_from_archive_parent): Declare. 1717 * libbfd.h: Regenerate. 1718 17192018-07-02 Thomas Preud'homme <thomas.preudhomme@arm.com> 1720 1721 * archures.c (bfd_mach_arm_5TEJ, bfd_mach_arm_6, bfd_mach_arm_6KZ, 1722 bfd_mach_arm_6T2, bfd_mach_arm_6K, bfd_mach_arm_7, bfd_mach_arm_6M, 1723 bfd_mach_arm_6SM, bfd_mach_arm_7EM, bfd_mach_arm_8, bfd_mach_arm_8R, 1724 bfd_mach_arm_8M_BASE, bfd_mach_arm_8M_MAIN): Define. 1725 * bfd-in2.h: Regenerate. 1726 * cpu-arm.c (arch_info_struct): Add entries for above new 1727 bfd_mach_arm values. 1728 * elf32-arm.c (bfd_arm_get_mach_from_attributes): Add Tag_CPU_arch to 1729 bfd_mach_arm mapping logic for pre Armv4 and Armv5TEJ and later 1730 architectures. Force assert failure for any new Tag_CPU_arch value. 1731 17322018-07-02 Thomas Preud'homme <thomas.preudhomme@arm.com> 1733 1734 * doc/bfdint.texi: Use command-line consistently when used in a 1735 compount word. 1736 * doc/bfdsumm.texi: Likewise. 1737 17382018-06-29 Maciej W. Rozycki <macro@mips.com> 1739 1740 * elfxx-mips.c (allocate_dynrelocs): Remove extraneous symbol 1741 visibility check made for undefined weak symbols. 1742 17432018-06-26 Nick Clifton <nickc@redhat.com> 1744 1745 * po/uk.po: Updated Ukranian translation. 1746 17472018-06-25 Nick Clifton <nickc@redhat.com> 1748 1749 * elfnn-aarch64.c (_bfd_aarch64_erratum_835769_stub_name): Check 1750 for malloc returning NULL. 1751 (_bfd_aarch64_erratum_843419_fixup): Check for 1752 _bfd_aarch64_erratum_835769_stub_name returning NULL. 1753 17542018-06-24 Nick Clifton <nickc@redhat.com> 1755 1756 * po/bfd.pot: Regenerate. 1757 17582018-06-24 Nick Clifton <nickc@redhat.com> 1759 1760 * version.m4: Update version string to 2.31.51. 1761 * configure: Regenerate. 1762 17632018-06-24 Nick Clifton <nickc@redhat.com> 1764 1765 2.31 branch created. 1766 17672018-06-21 Maciej W. Rozycki <macro@mips.com> 1768 1769 * elfxx-mips.c (_bfd_mips_elf_compact_eh_encoding) 1770 (_bfd_mips_elf_cant_unwind_opcode): Correct formatting. 1771 17722018-06-21 Maciej W. Rozycki <macro@mips.com> 1773 1774 * elfxx-mips.c (_bfd_mips_post_process_headers): Keep 1775 EI_ABIVERSION setting together. 1776 17772018-06-21 Maciej W. Rozycki <macro@mips.com> 1778 1779 * elfxx-mips.c (MIPS_LIBC_ABI_DEFAULT, MIPS_LIBC_ABI_MIPS_PLT) 1780 (MIPS_LIBC_ABI_UNIQUE, MIPS_LIBC_ABI_MIPS_O32_FP64) 1781 (MIPS_LIBC_ABI_MAX): New enumeration constants. 1782 (_bfd_mips_post_process_headers): Use them in place of magic 1783 numbers. 1784 17852018-06-21 Jim Wilson <jimw@sifive.com> 1786 1787 * elfnn-riscv.c (riscv_elf_finish_dynamic_symbol): Update comment. 1788 Use SYMBOL_REFERENCES_LOCAL. Add asserts for h->got.offset. 1789 17902018-06-21 Alan Modra <amodra@gmail.com> 1791 1792 * doc/Makefile.am (AUTOMAKE_OPTIONS): Add "foreign". 1793 * doc/Makefile.in: Regenerate. 1794 17952018-06-20 Renlin Li <renlin.li@arm.com> 1796 1797 * elfxx-aarch64.c (_bfd_aarch64_elf_resolve_relocation): Use PG_OFFSET 1798 to resolve BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC, 1799 BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC, 1800 BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC, 1801 BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC, 1802 BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12_NC, 1803 BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12_NC, 1804 BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12_NC, 1805 BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12_NC. 1806 18072018-06-20 Nick Clifton <nickc@redhat.com> 1808 1809 PR 23316 1810 * opncls.c (get_build_id): Check for a negative or excessive data 1811 size in the build-id note. 1812 18132018-06-20 Nick Clifton <nickc@redhat.com> 1814 1815 PR 23299 1816 * mach-o.c (cputype): New function. 1817 (cpusubtype): New function. 1818 (bfd_mach_o_bfd_print_private_data): New function. Dispalys the 1819 values in the MACH-O file header. 1820 (bfd_mach_o_bfd_copy_private_header_data): Copy the cputype and 1821 cpusubtype fields from the input bfd's mach-o header to the output 1822 bfd. 1823 * mach-o-target.c (bfd_mach_o_bfd_print_private_bfd_data): 1824 Redefine to bfd_mach_o_bfd_print_private_data. 1825 * mach-o.h (bfd_mach_o_bfd_print_private_bfd_data): Prototype. 1826 18272018-06-19 Maciej W. Rozycki <macro@mips.com> 1828 1829 PR ld/22966 1830 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Verify the 1831 `.got.plt' entry referred is in range. 1832 (mips_finish_exec_plt): Correct the range check for `.got.plt' 1833 start. Replace the assertion used for that with a proper error 1834 message. 1835 18362018-06-19 Maciej W. Rozycki <macro@mips.com> 1837 1838 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Fix 1839 formatting. 1840 18412018-06-19 Simon Marchi <simon.marchi@ericsson.com> 1842 1843 * Makefile.am (AUTOMAKE_OPTIONS): Remove 1.11. 1844 (INCLUDES): Rename to ... 1845 (AM_CPPFLAGS): ... this. 1846 * configure.ac: Remove AC_PREREQ. 1847 * doc/Makefile.am (AUTOMAKE_OPTIONS): Remove 1.9, cygnus, add 1848 info-in-builddir no-texinfo.tex. 1849 (info_TEXINFOS): Rename bfd.texinfo to bfd.texi. 1850 * doc/bfd.texinfo: Rename to ... 1851 * doc/bfd.texi: ... this. 1852 * Makefile.in: Re-generate. 1853 * aclocal.m4: Re-generate. 1854 * config.in: Re-generate. 1855 * configure: Re-generate. 1856 * doc/Makefile.in: Re-generate. 1857 18582018-06-18 Mephi <mephi42@gmail.com> 1859 1860 PR 23297 1861 * mach-o-x86-64.c (x86_64_howto_table): Add entry for 1862 BFD_RELOC_MACH_O_X86_64_RELOC_TLV. 1863 (bfd_mach_o_x86_64_canonicalize_one_reloc): Handle the new reloc. 1864 (bfd_mach_o_x86_64_swap_reloc_out): Likewise. 1865 * reloc.c (BFD_RELOC_MACH_O_X86_64_TV): New entry. 1866 * bfd-in2.h: Regenerate. 1867 * libbfd.h: Regenerate. 1868 18692018-06-14 Faraz Shahbazker <Faraz.Shahbazker@mips.com> 1870 1871 * elfxx-mips.c (print_mips_ases): Add GINV extension. 1872 18732018-06-14 H.J. Lu <hongjiu.lu@intel.com> 1874 1875 PR binutils/23267 1876 * elf.c (_bfd_elf_get_symbol_version_string): Check if the first 1877 symbol version is base version. 1878 18792018-06-14 Alan Modra <amodra@gmail.com> 1880 1881 * elf-bfd.h (struct elf_link_hash_table): Add "dynamic_relocs". 1882 * elflink.c (_bfd_elf_init_2_index_sections): Comment fix. 1883 (_bfd_elf_add_dynamic_entry): Set "dynamic_relocs". 1884 (_bfd_elf_link_renumber_dynsyms): Exclude all section symbols when 1885 "dynamic_relocs" is not set. 1886 * elfxx-mips.c (count_section_dynsyms): Likewise. 1887 18882018-06-14 Alan Modra <amodra@gmail.com> 1889 1890 PR 23282 1891 * bfdio.c (bfd_seek): Optimize away seeks to current position. 1892 18932018-06-13 Scott Egerton <scott.egerton@imgtec.com> 1894 Faraz Shahbazker <Faraz.Shahbazker@mips.com> 1895 1896 * elfxx-mips.c (print_mips_ases): Add CRC. 1897 18982018-06-08 H.J. Lu <hongjiu.lu@intel.com> 1899 1900 PR ld/23161 1901 * elfxx-x86.c (elf_x86_hide_linker_defined): New function. 1902 (_bfd_x86_elf_link_check_relocs): Use it to hide hidden 1903 __bss_start, _end and _edata in shared libraries. 1904 19052018-06-07 Alan Modra <amodra@gmail.com> 1906 1907 * elf32-tic6x.c (elf32_tic6x_check_relocs): Reference 1908 __c6xabi_DSBT_BASE explicitly for R_C6000_SBR_* relocs. 1909 19102018-06-05 Alan Modra <amodra@gmail.com> 1911 1912 * bfd.c (struct bfd): Update comment on "where" usage. 1913 * bfdio.c (bfd_bwrite, bfd_stat): Use and update "iovec", 1914 "iostream", and "where" from containing archive file. Return 1915 error on NULL iovec. 1916 (bfd_bread): Similarly, and return error attempted out of 1917 bounds archive element access. 1918 (bfd_tell, bfd_flush): Use and update "iovec", "iostream", and 1919 "where" from containing archive file. 1920 (bfd_seek): Likewise. Return error on NULL iovec. Don't 1921 attempt to optimize away seeks. Don't paper over errors by 1922 calling bfd_tell. 1923 (bfd_get_mtime): Call bfd_stat rather than iovec->bstat. 1924 (bfd_get_size): Likewise. 1925 (bfd_mmap): Operate on and use iovec of containing archive 1926 file. Return error on NULL iovec. 1927 * cache.c (bfd_cache_lookup_worker): Abort if working on 1928 archive element bfd. 1929 (cache_bread_1): Delete bfd parameter, add FILE* parameter. 1930 Don't ignore zero byte reads. 1931 (cache_bread): Look up FILE* in cache here. Error on NULL 1932 lookup. 1933 (cache_bwrite): Rename "where" to "from". 1934 (cache_bmmap): Don't handle archive elements. 1935 * coffcode.h (coff_slurp_line_table): Exit early on zero 1936 lineno count. 1937 * bfd-in2.h: Regenerate. 1938 19392018-06-05 Alan Modra <amodra@gmail.com> 1940 1941 PR 23254 1942 * plugin.c (bfd_plugin_open_input): Allow for possibility of 1943 nested archives. Open file again for plugin. 1944 (try_claim): Don't save and restore file position. Close file 1945 if not claimed. 1946 * sysdep.h (O_BINARY): Define. 1947 19482018-06-04 Max Filippov <jcmvbkbc@gmail.com> 1949 1950 * elf32-xtensa.c (xtensa_read_table_entries): Make global. 1951 (compute_fill_extra_space): Drop declaration. Rename function to 1952 xtensa_compute_fill_extra_space. 1953 (compute_ebb_actions, remove_dead_literal): Update references to 1954 compute_fill_extra_space. 1955 19562018-06-04 Volodymyr Arbatov <arbatov@cadence.com> 1957 1958 * elf32-xtensa.c (elf32xtensa_separate_props): New global 1959 variable. 1960 (xtensa_add_names): New function. 1961 (xtensa_property_section_name): Add new parameter 1962 separate_sections, use it to choose property section name. 1963 (xtensa_get_separate_property_section): New function. 1964 (xtensa_get_property_section): Invoke 1965 xtensa_get_separate_property_section to get individual property 1966 section if it exists, common property section otherwise. 1967 (xtensa_make_property_section): Pass elf32xtensa_separate_props 1968 to xtensa_property_section_name. 1969 19702018-06-04 H.J. Lu <hongjiu.lu@intel.com> 1971 1972 PR binutils/23146 1973 * bfd-in.h: Include "diagnostics.h". 1974 * bfd-in2.h: Regenerated. 1975 * elf32-arm.c (elf32_arm_nabi_write_core_note): Use 1976 DIAGNOSTIC_PUSH, DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION and 1977 DIAGNOSTIC_POP to silence GCC 8.1 warnings with 1978 -Wstringop-truncation. 1979 * elf32-ppc.c (ppc_elf_write_core_note): Likewse. 1980 * elf32-s390.c (elf_s390_write_core_note): Likewse. 1981 * elf64-ppc.c (ppc64_elf_write_core_note): Likewse. 1982 * elf64-s390.c (elf_s390_write_core_note): Likewse. 1983 * elfxx-aarch64.c (_bfd_aarch64_elf_write_core_note): Likewse. 1984 19852018-06-03 Jim Wilson <jimw@sifive.com> 1986 1987 PR ld/23244 1988 * elfnn-riscv.c (riscv_elf_relocate_section) <R_RISCV_CALL>: Check 1989 for and handle an undefined weak with no PLT. 1990 1991 PR ld/22756 1992 * elfnn-riscv.c (riscv_relax_delete_bytes): Add versioned_hidden check 1993 to code that ignores duplicate symbols. 1994 19952018-06-01 H.J. Lu <hongjiu.lu@intel.com> 1996 1997 * version.m4: Bump version to 2.30.52 1998 * configure: Regenerated. 1999 20002018-06-01 Alan Modra <amodra@gmail.com> 2001 2002 * bfd.c (_bfd_error_handler): Arrange for this function to be 2003 declared in bfd-in2.h. 2004 * libbfd-in.h (_bfd_error_handler): Don't declare. 2005 * libbfd.h: Regenerate. 2006 * bfd-in2.h: Regenerate. 2007 20082018-05-30 Amaan Cheval <amaan.cheval@gmail.com> 2009 2010 * config.bfd (x86_64-*-*): Add pei-x86-64 target to x86_64-*-rtems* 2011 This is needed to generate UEFI application image files from ELFs. 2012 20132018-05-28 H.J. Lu <hongjiu.lu@intel.com> 2014 2015 * elf32-i386.c (elf_i386_lazy_plt): Add plt_tlsdesc_entry, 2016 plt_tlsdesc_entry_size, plt_tlsdesc_got1_offset, 2017 plt_tlsdesc_got2_offset, plt_tlsdesc_got1_insn_end and 2018 plt_tlsdesc_got2_insn_end for TLSDESC entry. 2019 (elf_i386_lazy_ibt_plt): Likewise. 2020 (elf_i386_nacl_plt): Likewise. 2021 * elf64-x86-64.c (tlsdesc_plt_entry): Moved and renamed to ... 2022 (elf_x86_64_tlsdesc_plt_entry): This. 2023 (elf_x86_64_lazy_plt): Add plt_tlsdesc_entry, 2024 plt_tlsdesc_entry_size, plt_tlsdesc_got1_offset, 2025 plt_tlsdesc_got2_offset, plt_tlsdesc_got1_insn_end and 2026 plt_tlsdesc_got2_insn_end for TLSDESC entry. 2027 (elf_x86_64_lazy_bnd_plt): Likewise. 2028 (elf_x86_64_lazy_ibt_plt): Likewise. 2029 (elf_x32_lazy_ibt_plt): Likewise. 2030 (elf_x86_64_nacl_plt): Likewise. 2031 (elf_x86_64_finish_dynamic_sections): Use plt_tlsdesc_entry, 2032 plt_tlsdesc_entry_size, plt_tlsdesc_got1_offset, 2033 plt_tlsdesc_got2_offset, plt_tlsdesc_got1_insn_end and 2034 plt_tlsdesc_got2_insn_end to update TLSDESC entry. 2035 * elfxx-x86.h (elf_x86_lazy_plt_layout): Update comments. 2036 Add plt_tlsdesc_entry, plt_tlsdesc_entry_size, 2037 plt_tlsdesc_got1_offset, plt_tlsdesc_got2_offset, 2038 plt_tlsdesc_got1_insn_end and plt_tlsdesc_got2_insn_end. 2039 (elf_x86_non_lazy_plt_layout): Update comments. 2040 (elf_x86_plt_layout): Likewise. 2041 20422018-05-28 H.J. Lu <hongjiu.lu@intel.com> 2043 2044 PR ld/23238 2045 * elf-s390-common.c (elf_s390_add_symbol_hook): Removed. 2046 * elf32-arc.c (elf_arc_add_symbol_hook): Likewise. 2047 (elf_backend_add_symbol_hook): Likewise. 2048 * elf32-m68k.c (elf_m68k_add_symbol_hook): Likewise. 2049 (elf_backend_add_symbol_hook): Likewise. 2050 * elf32-s390.c (elf_backend_add_symbol_hook): Likewise. 2051 * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise. 2052 (elf_backend_add_symbol_hook): Likewise. 2053 * elf64-s390.c (elf_backend_add_symbol_hook): Likewise. 2054 * elfxx-aarch64.c (_bfd_aarch64_elf_add_symbol_hook): Likewise. 2055 * elfxx-aarch64.h (_bfd_aarch64_elf_add_symbol_hook): Likewise. 2056 (elf_backend_add_symbol_hook): Likewise. 2057 * elf32-arm.c (elf32_arm_add_symbol_hook): Remove STT_GNU_IFUNC 2058 handling. 2059 * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise. 2060 * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise. 2061 * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise. 2062 * elflink.c (elf_link_add_object_symbols): Set 2063 elf_gnu_symbol_ifunc for STT_GNU_IFUNC symbols. 2064 20652018-05-26 H.J. Lu <hongjiu.lu@intel.com> 2066 2067 PR ld/23194 2068 * elf-bfd.h (_bfd_elf_link_hide_sym_by_version): New. 2069 * elflink.c (_bfd_elf_link_hide_versioned_symbol): New function. 2070 Extracted from _bfd_elf_link_assign_sym_version. 2071 (_bfd_elf_link_hide_sym_by_version): New function. 2072 (_bfd_elf_link_assign_sym_version): Use 2073 _bfd_elf_link_hide_versioned_symbol. 2074 * elfxx-x86.c (_bfd_x86_elf_link_symbol_references_local): Call 2075 _bfd_elf_link_hide_sym_by_version instead of 2076 bfd_hide_sym_by_version. Don't check unversioned symbol. 2077 20782018-05-25 Alan Modra <amodra@gmail.com> 2079 2080 * Makefile.in: Regenerate. 2081 * po/SRC-POTFILES.in: Regenerate. 2082 20832018-05-25 Alan Modra <amodra@gmail.com> 2084 2085 * configure.ac (bfd_cv_hidden): Run test with -Werror in CFLAGS. 2086 * configure: Regenerate. 2087 20882018-05-23 H.J. Lu <hongjiu.lu@intel.com> 2089 2090 * elf64-ppc.c (ppc64_elf_write_core_note): Add ATTRIBUTE_NONSTRING 2091 to data. 2092 20932018-05-22 Alan Modra <amodra@gmail.com> 2094 2095 PR 23207 2096 * elf32-hppa.c (hppa_get_stub_entry): Return NULL when link_sec 2097 is NULL. 2098 (elf32_hppa_size_stubs): Only create stubs for load, alloc, code 2099 sections. 2100 (final_link_relocate): Revert last change. 2101 21022018-05-22 Alan Modra <amodra@gmail.com> 2103 2104 PR 23207 2105 * elf32-hppa.c (final_link_relocate): Don't look for plt call 2106 stubs in non-alloc sections. 2107 21082018-05-21 H.J. Lu <hongjiu.lu@intel.com> 2109 2110 PR ld/23201 2111 * aout-target.h (MY_bfd_link_hide_symbol): New. 2112 * aout-tic30.c (MY_bfd_link_hide_symbol): Likewise. 2113 * binary.c (binary_bfd_link_hide_symbol): Likewise. 2114 * coff-alpha.c (_bfd_ecoff_bfd_link_hide_symbol): Likewise. 2115 * coff-mips.c (_bfd_ecoff_bfd_link_hide_symbol): Likewise. 2116 * coff-rs6000.c (_bfd_xcoff_bfd_link_hide_symbol): Likewise. 2117 * coffcode.h (coff_bfd_link_hide_symbol): Likewise. 2118 * elf-bfd.h (_bfd_elf_link_hide_symbol): Likewise. 2119 * elfxx-target.h (bfd_elfNN_bfd_link_hide_symbol): Likewise. 2120 * i386msdos.c (msdos_bfd_link_hide_symbol): Likewise. 2121 * ihex.c (ihex_bfd_link_hide_symbol): Likewise. 2122 * libbfd-in.h (_bfd_nolink_bfd_link_hide_symbol): Likewise. 2123 * linker.c (_bfd_generic_link_hide_symbol): Likewise. 2124 (bfd_link_hide_symbol): Likewise. 2125 * mach-o-target.c (bfd_mach_o_bfd_link_hide_symbol): Likewise. 2126 * mmo.c (mmo_bfd_link_hide_symbol): Likewise. 2127 * pef.c (bfd_pef_bfd_link_hide_symbol): Likewise. 2128 * plugin.c (bfd_plugin_bfd_link_hide_symbol): Likewise. 2129 * ppcboot.c (ppcboot_bfd_link_hide_symbol): Likewise. 2130 * som.c (som_bfd_link_hide_symbol): Likewise. 2131 * srec.c (srec_bfd_link_hide_symbol): Likewise. 2132 * tekhex.c (tekhex_bfd_link_hide_symbol): Likewise. 2133 * vms-alpha.c (vms_bfd_link_hide_symbol): Likewise. 2134 (alpha_vms_bfd_link_hide_symbol): Likewise. 2135 * xsym.c (bfd_sym_bfd_link_hide_symbol): Likewise. 2136 * coff64-rs6000.c (rs6000_xcoff64_vec): Add 2137 _bfd_generic_link_hide_symbol. 2138 (rs6000_xcoff64_aix_vec): Likewise. 2139 * elflink.c (bfd_elf_record_link_assignment): Don't make forced 2140 local symbol dynamic. 2141 (_bfd_elf_link_hide_symbol): New function. 2142 * elfxx-x86.c (_bfd_x86_elf_link_symbol_references_local): Don't 2143 check root.ldscript_def. 2144 * targets.c (bfd_target): Add _bfd_link_hide_symbol. 2145 (BFD_JUMP_TABLE_LINK): Add NAME##_bfd_link_hide_symbol. 2146 * bfd-in2.h: Regenerated. 2147 * libbfd.h: Likewise. 2148 21492018-05-21 H.J. Lu <hongjiu.lu@intel.com> 2150 2151 PR binutils/23199 2152 * elf.c (setup_group): Mark section in a section group with 2153 SHF_GROUP. 2154 21552018-05-18 H.J. Lu <hongjiu.lu@intel.com> 2156 2157 PR ld/23194 2158 * elfxx-x86.c (_bfd_x86_elf_link_symbol_references_local): Don't 2159 set eh->local_ref to 1 if a symbol is versioned and there is a 2160 version script. 2161 21622018-05-18 Kito Cheng <kito.cheng@gmail.com> 2163 2164 * elfnn-riscv.c (_bfd_riscv_elf_merge_private_bfd_data): Handle 2165 EF_RISCV_RVE. 2166 21672018-05-18 Jim Wilson <jimw@sifive.com> 2168 2169 * elfnn-riscv.c (allocate_dynrelocs): Discard dynamic relocations if 2170 UNDEFWEAK_NO_DYNAMIC_RELOC is true. 2171 (riscv_elf_relocate_section): Don't generate dynamic relocation if 2172 UNDEFWEAK_NO_DYNAMIC_RELOC is true. 2173 (riscv_elf_finish_dynamic_symbol): Likewise. 2174 21752018-05-18 John Darrington <john@darrington.wattle.id.au> 2176 2177 * Makefile.am: Add s12z files. 2178 * Makefile.in: Regenerate. 2179 * archures.c: Add bfd_s12z_arch. 2180 * bfd-in.h: Add exports of bfd_putb24 and bfd_putl24. 2181 * bfd-in2.h: Regenerate. 2182 * config.bfd: Add s12z target. 2183 * configure.ac: Add s12z target. 2184 * configure: Regenerate. 2185 * cpu-s12z.c: New file. 2186 * elf32-s12z.c: New file. 2187 * libbfd.c (bfd_putb24): New function. 2188 (bfd_putl24): New function. 2189 * libbfd.h: Regenerate. 2190 * reloc.c: Add s12z relocations. 2191 (bfd_get_reloc_size): Handle size 5 relocs. 2192 * targets.c: Add s12z_elf32_vec. 2193 21942018-05-18 H.J. Lu <hongjiu.lu@intel.com> 2195 2196 PR ld/23189 2197 * elf32-i386.c (elf_i386_relocate_section): Handle R_386_GOT32X 2198 like R_386_GOT32. 2199 * elfxx-x86.c (_bfd_x86_elf_link_symbol_references_local): Don't 2200 set eh->local_ref to 1 for linker defined symbols. 2201 22022018-05-18 Alan Modra <amodra@gmail.com> 2203 2204 PR 23199 2205 * elf.c (setup_group): Formatting. Check that SHT_GROUP entries 2206 don't point at other SHT_GROUP sections. Set shdr corresponding 2207 to invalid entry, to NULL rather than section 0. Identify 2208 SHT_GROUP section index when reporting an error. Cope with NULL 2209 shdr pointer. 2210 22112018-05-18 Alan Modra <amodra@gmail.com> 2212 2213 * libbfd-in.h (ATTRIBUTE_HIDDEN): Define and use throughout. 2214 * configure.ac (HAVE_HIDDEN): Check compiler support for hidden 2215 visibility. 2216 * libbfd.h: Regenerate. 2217 * configure: Regenerate. 2218 * config.in: Regenerate. 2219 22202018-05-18 Alan Modra <amodra@gmail.com> 2221 2222 * libbfd-in.h: Add include guard. 2223 * libcoff-in.h: Likewise. 2224 * doc/Makefile.am (libbfd.h, libcoff.h): Append another #endif. 2225 * doc/Makefile.in: Regenerate. 2226 * libbfd.h: Regenerate. 2227 * libcoff.h: Regenerate. 2228 22292018-05-16 Maciej W. Rozycki <macro@mips.com> 2230 2231 * elf32-nds32.c (nds32_convert_32_to_16): Preset `insn_type'. 2232 22332018-05-16 Alan Modra <amodra@gmail.com> 2234 2235 PR 22458 2236 * format.c (struct bfd_preserve): Add section_id. 2237 (bfd_preserve_save, bfd_preserve_restore): Save and restore 2238 _bfd_section_id. 2239 (bfd_reinit): Set _bfd_section_id. 2240 (bfd_check_format_matches): Put all matches of any priority into 2241 matching_vector. Save initial section id and start each attempted 2242 match at that section id. 2243 * libbfd-in.h (_bfd_section_id): Declare. 2244 * section.c (_bfd_section_id): Rename from section_id and make 2245 global. Adjust uses. 2246 (bfd_get_next_section_id): Delete. 2247 * elf64-ppc.c (ppc64_elf_setup_section_lists): Replace use of 2248 bfd_get_section_id with _bfd_section_id. 2249 * libbfd.h: Regenerate. 2250 * bfd-in2.h: Regenerate. 2251 22522018-05-15 Christophe Guillon <christophe.guillon@st.com> 2253 2254 * coffcode.h (coff_bigobj_swap_aux_in): Make sure that all fields 2255 of the aux structure are initialised. 2256 22572018-05-15 Francois H. Theron <francois.theron@netronome.com> 2258 2259 * targets.c: Wrap nfp_elf64_vec in BFD64 ifdef. 2260 22612018-05-15 Nick Clifton <nickc@redhat.com> 2262 2263 * po/pt.po: New Portuguese translation. 2264 * configure.ac (ALL_LINGUAS): Add pt. 2265 * configure: Regenerate. 2266 22672018-05-14 H.J. Lu <hongjiu.lu@intel.com> 2268 2269 PR ld/23169 2270 * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Don't issue 2271 an error on IFUNC pointer defined in PDE. 2272 * elf32-i386.c (elf_i386_finish_dynamic_symbol): Call 2273 _bfd_x86_elf_link_fixup_ifunc_symbol. 2274 * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Likewise. 2275 * elfxx-x86.c (_bfd_x86_elf_link_fixup_ifunc_symbol): New 2276 function. 2277 * elfxx-x86.h (_bfd_x86_elf_link_fixup_ifunc_symbol): New. 2278 22792018-05-14 H.J. Lu <hongjiu.lu@intel.com> 2280 2281 PR ld/23162 2282 * elfxx-x86.c (elf_x86_linker_defined): New function. 2283 (_bfd_x86_elf_link_check_relocs): Use it to mark __bss_start, 2284 _end and _edata locally defined within executables. 2285 22862018-05-12 Alan Modra <amodra@gmail.com> 2287 2288 PR 20659 2289 * elf.c (rewrite_elf_program_header): Use segment_mark only for 2290 PT_LOAD headers. Delete first_matching_lma and first_suggested_lma. 2291 Instead make matching_lma and suggested_lma pointers to the 2292 sections. Align section vma and lma calculated from segment. 2293 Don't clear includes_phdrs or includes_filehdr based on p_paddr 2294 test. Try to handle alignment padding before first section by 2295 adjusting new segment lma down. Adjust PT_PHDR map p_paddr. 2296 22972018-05-09 Dimitar Dimitrov <dimitar@dinux.eu> 2298 2299 * elf32-pru.c (pru_elf32_do_ldi32_relocate): Make LDI32 relocation 2300 conformant to TI ABI. 2301 (pru_elf32_relax_section): Likewise. 2302 (pru_elf_relax_delete_bytes): Fix offsets for new LDI32 code. 2303 * elf32-pru.c (pru_elf32_do_ldi32_relocate): Ignore addend. 2304 (pru_elf32_pmem_relocate): Trap - should not get here. 2305 (pru_elf32_relocate_section): Add support for REL relocations. 2306 (elf_info_to_howto_rel): Enable REL. 2307 (elf_backend_may_use_rel_p): Likewise. 2308 (elf_backend_may_use_rela_p): Likewise. 2309 (elf_backend_default_use_rela_p): Likewise. 2310 23112018-05-09 Alan Modra <amodra@gmail.com> 2312 2313 PR 23148 2314 * peXXigen.c (pe_print_edata): Correct minimum size. 2315 23162018-05-09 Alan Modra <amodra@gmail.com> 2317 2318 PR 23147 2319 * peXXigen.c (pe_print_idata): Bound check hint_addr. 2320 23212018-05-08 Nick Clifton <nickc@redhat.com> 2322 2323 PR 22809 2324 * elf.c (bfd_elf_get_str_section): Check for an excessively large 2325 string section. 2326 * elf-attrs.c (_bfd_elf_parse_attributes): Issue an error if the 2327 attribute section is larger than the size of the file. 2328 23292018-05-07 Alan Modra <amodra@gmail.com> 2330 2331 * cofflink.c (_bfd_coff_link_input_bfd): Use memcmp rather than 2332 strncmp when checking for ".bf" special symbol. 2333 * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Make pe_required_section_flags 2334 section name a char array, remove sentinal known_sections entry, 2335 and adjust loop over known_sections to suit. Use memcmp rather 2336 than strncmp. 2337 23382018-05-04 Alan Modra <amodra@gmail.com> 2339 2340 * elf-linux-core.h (struct elf_external_linux_prpsinfo32_ugid32), 2341 (struct elf_external_linux_prpsinfo32_ugid16), 2342 (struct elf_external_linux_prpsinfo64_ugid32), 2343 (struct elf_external_linux_prpsinfo64_ugid16): Add ATTRIBUTE_NONSTRING 2344 to pr_fname and pr_psargs fields. Remove GCC diagnostic pragmas. 2345 Move comment to.. 2346 * elf.c (elfcore_write_prpsinfo): ..here. Indent nested preprocessor 2347 directives. 2348 * elf32-arm.c (elf32_arm_nabi_write_core_note): Add ATTRIBUTE_NONSTRING 2349 to data. 2350 * elf32-ppc.c (ppc_elf_write_core_note): Likewise. 2351 * elf32-s390.c (elf_s390_write_core_note): Likewise. 2352 * elf64-s390.c (elf_s390_write_core_note): Likewise. 2353 * elfxx-aarch64.c (_bfd_aarch64_elf_write_core_note): Likewise. 2354 * elf64-x86-64.c (elf_x86_64_write_core_note): Add GCC diagnostic 2355 pragmas. 2356 * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Use strnlen to avoid 2357 false positive gcc-8 warning. 2358 * cofflink.c (_bfd_coff_link_input_bfd): Likewise. 2359 23602018-05-04 Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com> 2361 2362 * elf32-ppc.c (_bfd_elf_ppc_merge_fp_attributes): Fix the order 2363 of arguments when warning about different long double types. 2364 23652018-05-03 Simon Atanasyan <simon@atanasyan.com> 2366 2367 * elf32-mips.c: (elf32_mips_fixup_symbol): New function. 2368 (elf_backend_fixup_symbol): New macro. 2369 * elfxx-mips.c: (mips_elf_output_extsym): Discard _gp_disp 2370 handling. 2371 (_bfd_mips_elf_finish_dynamic_symbol): Likewise. 2372 23732018-04-30 Francois H. Theron <francois.theron@netronome.com> 2374 2375 * Makefile.am: Added NFP files to build. 2376 * archures.c: Added bfd_arch_nfp 2377 * config.bfd: Added NFP support. 2378 * configure.ac: Added NFP support. 2379 * cpu-nfp.c: New, for NFP support. 2380 * elf-bfd.h: Added elf_section_info() 2381 * elf64-nfp.c: New, for NFP support. 2382 * po/SRC-POTFILES.in: Added NFP source files. 2383 * targets.c: Added nfp_elf64_vec 2384 * bfd-in2.h: Regenerate. 2385 * Makefile.in: Regenerate. 2386 * configure: Regenerate. 2387 23882018-04-27 Alan Modra <amodra@gmail.com> 2389 2390 * bfd-in2.h: Regenerate. 2391 * libbfd.h: Regenerate. 2392 23932018-04-27 Alan Modra <amodra@gmail.com> 2394 2395 PR 23123 2396 PR 22374 2397 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Don't drop plt 2398 relocs for ifuncs. 2399 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Comment fixes. 2400 24012018-04-26 Pedro Alves <palves@redhat.com> 2402 2403 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Don't consider 2404 ifunc and non-ifunc symbols duplicates. 2405 24062018-04-25 Christophe Lyon <christophe.lyon@st.com> 2407 Mickaël Guêné <mickael.guene@st.com> 2408 2409 * elf32-arm.c (elf32_arm_fdpic_thumb_plt_entry): New. 2410 (elf32_arm_plt_needs_thumb_stub_p): Handle thumb-only case. 2411 (elf32_arm_populate_plt_entry): Likewise. 2412 (elf32_arm_output_plt_map_1): Likewise. 2413 (elf32_arm_output_arch_local_syms): Likewise. 2414 24152018-04-25 Christophe Lyon <christophe.lyon@st.com> 2416 Mickaël Guêné <mickael.guene@st.com> 2417 2418 * elf32-arm.c (elf32_arm_finish_dynamic_symbol): Handle 2419 _GLOBAL_OFFSET_TABLE_ in FDPIC mode. 2420 24212018-04-25 Christophe Lyon <christophe.lyon@st.com> 2422 Mickaël Guêné <mickael.guene@st.com> 2423 2424 * elf32-arm.c (bfd_elf32_arm_set_target_params): Handle FDPIC case 2425 for R_ARM_TARGET2. 2426 24272018-04-25 Christophe Lyon <christophe.lyon@st.com> 2428 Mickaël Guêné <mickael.guene@st.com> 2429 2430 * elf32-arm.c (DEFAULT_STACK_SIZE): New. 2431 (elf32_arm_always_size_sections): Create stack segment. 2432 24332018-04-25 Christophe Lyon <christophe.lyon@st.com> 2434 Mickaël Guêné <mickael.guene@st.com> 2435 2436 * bfd-in2.h (BFD_RELOC_ARM_TLS_GD32_FDPIC) 2437 (BFD_RELOC_ARM_TLS_LDM32_FDPIC, BFD_RELOC_ARM_TLS_IE32_FDPIC): New 2438 relocations. 2439 * elf32-arm.c (elf32_arm_howto_table_2): Add R_ARM_TLS_GD32_FDPIC, 2440 R_ARM_TLS_LDM32_FDPIC, R_ARM_TLS_IE32_FDPIC relocations. 2441 (elf32_arm_reloc_map): Add R_ARM_TLS_GD32_FDPIC, 2442 R_ARM_TLS_LDM32_FDPIC, R_ARM_TLS_IE32_FDPIC. 2443 (struct elf32_arm_link_hash_table): Update comment. 2444 (elf32_arm_final_link_relocate): Handle TLS FDPIC relocations. 2445 (IS_ARM_TLS_RELOC): Likewise. 2446 (elf32_arm_check_relocs): Likewise. 2447 (allocate_dynrelocs_for_symbol): Likewise. 2448 (elf32_arm_size_dynamic_sections): Update comment. 2449 * reloc.c: Add BFD_RELOC_ARM_TLS_GD32_FDPIC, 2450 BFD_RELOC_ARM_TLS_LDM32_FDPIC, BFD_RELOC_ARM_TLS_IE32_FDPIC. 2451 24522018-04-25 Christophe Lyon <christophe.lyon@st.com> 2453 Mickaël Guêné <mickael.guene@st.com> 2454 2455 * elf32-arm.c (elf32_arm_fdpic_plt_entry): New. 2456 (elf32_arm_create_dynamic_sections): Handle FDPIC. 2457 (elf32_arm_allocate_plt_entry): Likewise. 2458 (elf32_arm_populate_plt_entry): Likewise. 2459 (elf32_arm_output_plt_map_1): Likewise. 2460 24612018-04-25 Christophe Lyon <christophe.lyon@st.com> 2462 Mickaël Guêné <mickael.guene@st.com> 2463 2464 * elf32-arm.c (struct fdpic_local): New. 2465 (elf_arm_obj_tdata): Add local_fdpic_cnts field. 2466 (elf32_arm_local_fdpic_cnts): New. 2467 (struct fdpic_global): New. 2468 (elf32_arm_link_hash_entry): Add fdpic_cnts field. 2469 (elf32_arm_link_hash_table): Add srofixup field. 2470 (arm_elf_add_rofixup): New. 2471 (arm_elf_fill_funcdesc): New. 2472 (elf32_arm_link_hash_newfunc): Handle fdpic_cnts. 2473 (elf32_arm_allocate_local_sym_info): Likewise. 2474 (create_got_section): Create .rofixup section. 2475 (elf32_arm_copy_indirect_symbol): Handle fdpic_cnts. 2476 (bfd_elf32_arm_set_target_params): Handle FDPIC. 2477 (elf32_arm_final_link_relocate): Likewise. 2478 (elf32_arm_check_relocs): Likewise. 2479 (allocate_dynrelocs_for_symbol): Likewise. 2480 (elf32_arm_size_dynamic_sections): Likewise. 2481 (elf32_arm_finish_dynamic_sections): Likewise. 2482 (elf32_arm_output_arch_local_syms): Likewise. 2483 (elf32_arm_fdpic_omit_section_dynsym): New. 2484 24852018-04-25 Christophe Lyon <christophe.lyon@st.com> 2486 Mickaël Guêné <mickael.guene@st.com> 2487 2488 * bfd-in2.c (BFD_RELOC_ARM_GOTFUNCDESC) 2489 (BFD_RELOC_ARM_GOTOFFFUNCDESC, BFD_RELOC_ARM_FUNCDESC) 2490 (BFD_RELOC_ARM_FUNCDESC_VALUE): New. 2491 * elf32-arm.c (elf32_arm_howto_table_2): Add R_ARM_GOTFUNCDESC, 2492 R_ARM_GOTOFFFUNCDESC, R_ARM_FUNCDESC, R_ARM_FUNCDESC_VALUE. 2493 (elf32_arm_howto_from_type): Take new members of 2494 elf32_arm_howto_table_2 into account. 2495 (elf32_arm_reloc_map): Add BFD_RELOC_ARM_GOTFUNCDESC, 2496 BFD_RELOC_ARM_GOTOFFFUNCDESC, BFD_RELOC_ARM_FUNCDESC, 2497 BFD_RELOC_ARM_FUNCDESC_VALUE. 2498 * reloc.c: Add BFD_RELOC_ARM_GOTFUNCDESC, 2499 BFD_RELOC_ARM_GOTOFFFUNCDESC, BFD_RELOC_ARM_FUNCDESC, 2500 BFD_RELOC_ARM_FUNCDESC_VALUE. 2501 25022018-04-25 Christophe Lyon <christophe.lyon@st.com> 2503 Mickaël Guêné <mickael.guene@st.com> 2504 2505 * elf32-arm.c (elf32_arm_print_private_bfd_data): Support 2506 EF_ARM_PIC and ELFOSABI_ARM_FDPIC. 2507 (elf32_arm_post_process_headers): Support ELFOSABI_ARM_FDPIC. 2508 (ELF_OSABI): Define to ELFOSABI_ARM_FDPIC. 2509 25102018-04-25 Christophe Lyon <christophe.lyon@st.com> 2511 Mickaël Guêné <mickael.guene@st.com> 2512 2513 * config.bfd (arm*-*-linux-*): Add arm_elf32_fdpic_be_vec and 2514 arm_elf32_fdpic_le_vec to targ_selvecs. Accept 2515 arm*-*-uclinuxfdpiceabi. 2516 * configure.ac: Add support for arm_elf32_fdpic_be_vec and 2517 arm_elf32_fdpic_le_vec. 2518 * configure: Regenerate. 2519 * elf32-arm.c (struct elf32_arm_link_hash_table): Add fdpic_p. 2520 (elf32_arm_link_hash_table_create): Initialize fdpic_p. 2521 (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME, TARGET_BIG_SYM) 2522 (TARGET_BIG_NAME, elf_match_priority): Define for FDPIC targets. 2523 (elf32_arm_fdpic_link_hash_table_create): New. 2524 * targets.c (_bfd_target_vector): Add arm_elf32_fdpic_be_vec and 2525 arm_elf32_fdpic_le_vec. 2526 25272018-04-25 Alan Modra <amodra@gmail.com> 2528 2529 * elf-linux-core.h: Disable gcc-8 string truncation warning. 2530 * elf.c (elfcore_write_prpsinfo): Likewise. 2531 25322018-04-25 Alan Modra <amodra@gmail.com> 2533 2534 * Makefile.am: Remove arm-aout and arm-coff support. 2535 * config.bfd: Likewise. 2536 * configure.ac: Likewise. 2537 * targets.c: Likewise. 2538 * aout-arm.c: Delete. 2539 * armnetbsd.c: Delete. 2540 * riscix.c: Delete. 2541 * Makefile.in: Regenerate. 2542 * configure: Regenerate. 2543 * po/SRC-POTFILES.in: Regenerate. 2544 25452018-04-24 Nick Clifton <nickc@redhat.com> 2546 2547 PR 23113 2548 * elf.c (ignore_section_sym): Check for the output_section pointer 2549 being NULL before dereferencing it. 2550 2551 PR 23110 2552 * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Check for 2553 a negative PE_DEBUG_DATA size before iterating over the debug data. 2554 25552018-04-23 Alan Modra <amodra@gmail.com> 2556 2557 * elf-linux-core.h: Revert last change. 2558 * elf.c: Likewise. 2559 25602018-04-23 Nick Clifton <nickc@redhat.com> 2561 2562 PR 23056 2563 * aoutx.h (aout_get_external_symbols): Allocate an extra byte at 2564 the end of the string table, and zero it. 2565 25662018-04-23 Alan Modra <amodra@gmail.com> 2567 2568 * elf-linux-core.h (swap_linux_prpsinfo32_ugid32_out): Disable 2569 gcc-8 string truncation warning. 2570 (swap_linux_prpsinfo32_ugid16_out): Likewise. 2571 (swap_linux_prpsinfo64_ugid32_out): Likewise. 2572 (swap_linux_prpsinfo64_ugid16_out): Likewise. 2573 * elf.c (elfcore_write_prpsinfo): Likewise. 2574 25752018-04-23 Nick Clifton <nickc@redhat.com> 2576 2577 PR 23056 2578 * aoutx.h (aout_get_external_symbols): Allocate an extra byte at 2579 the end of the string table, and zero it. 2580 25812018-04-20 Alan Modra <amodra@gmail.com> 2582 2583 PR 22978 2584 * elf32-hppa.c (got_relocs_needed): Add extra param to special 2585 case both dtprel and tprel relocs. 2586 (allocate_dynrelocs): Adjust conditions for got relocs. 2587 (elf32_hppa_relocate_section): Likewise for local sym got relocs. 2588 Emit dynamic relocs on TLS GOT entries for shared libraries, 2589 not when pic. Omit dynamic reloc on dtprel entry when local, 2590 and on tprel entry when local and executable. 2591 25922018-04-19 Alan Modra <amodra@gmail.com> 2593 2594 PR 22537 2595 * elf32-hppa.c (elf32_hppa_size_stubs): Init "destination" to -1. 2596 (hppa_type_of_stub): Don't return a long branch stub for 2597 symbols other than those defined statically. 2598 25992018-04-19 Alan Modra <amodra@gmail.com> 2600 2601 * Makefile.am: Revert 2018-04-18 coff-mips changes. 2602 * config.bfd: Add back mips_ecoff_le_vec and mips_ecoff_be_vec 2603 to selvecs for mips targets change 2018-04-18. 2604 * configure.ac: Reinstate mips_ecoff_le_vec, mips_ecoff_be_vec 2605 and mips_ecoff_bele_vec. 2606 * targets.c: Likewise. 2607 * coff-mips.c: Resurrect. 2608 * Makefile.in: Regenerate. 2609 * configure: Regenerate. 2610 * po/SRC-POTFILES.in: Regenerate. 2611 26122018-04-18 Alan Modra <amodra@gmail.com> 2613 2614 * Makefile.am: Remove mips aout and coff support. 2615 * config.bfd: Likewise. 2616 * configure.ac: Likewise. 2617 * targets.c: Likewise. 2618 * coff-mips.c: Delete 2619 * mipsbsd.c: Delete 2620 * pe-mips.c: Delete 2621 * pei-mips.c: Delete 2622 * Makefile.in: Regenerate. 2623 * configure: Regenerate. 2624 * po/SRC-POTFILES.in: Regenerate. 2625 26262018-04-17 H.J. Lu <hongjiu.lu@intel.com> 2627 2628 * elf32-i386.c (elf32_bed): Define before including 2629 "elf32-target.h". 2630 * elf64-x86-64.c (elf64_bed): Define before including 2631 "elf64-target.h". 2632 (elf32_bed): Define before including "elf32-target.h". 2633 26342018-04-17 H.J. Lu <hongjiu.lu@intel.com> 2635 2636 PR ld/23055 2637 * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Use a 2638 normal input file with compatible relocation. 2639 26402018-04-18 Alan Modra <amodra@gmail.com> 2641 2642 * Makefile.am: Remove support for assorted i386 aout and coff targets. 2643 * config.bfd: Likewise. 2644 * configure.ac: Likewise. 2645 * doc/bfdint.texi: Likewise. 2646 * targets.c: Likewise. 2647 * freebsd.h: Delete. 2648 * i386dynix.c: Delete. 2649 * i386freebsd.c: Delete. 2650 * i386linux.c: Delete. 2651 * i386mach3.c: Delete. 2652 * i386netbsd.c: Delete. 2653 * i386os9k.c: Delete. 2654 * Makefile.in: Regenerate. 2655 * configure: Regenerate. 2656 * po/SRC-POTFILES.in: Regenerate. 2657 26582018-04-17 Andrew Sadek <andrew.sadek.se@gmail.com> 2659 2660 Microblaze Target: PIC data text relative 2661 2662 * bfd/reloc.c (2 new BFD relocations): 2663 BFD_RELOC_MICROBLAZE_64_TEXTPCREL & 2664 BFD_RELOC_MICROBLAZE_64_TEXTPCREL 2665 * bfd/bfd-in2.h: Regenerate 2666 * bfd/libbfd.h: Regenerate 2667 * bfd/elf32-microblaze.c (Handle new relocs): define 'HOWTO' of 3 2668 new relocs and handle them in both relocate and relax functions. 2669 (microblaze_elf_reloc_type_lookup): add mapping between for new 2670 bfd relocs. 2671 (microblaze_elf_relocate_section): Handle new relocs in case of 2672 elf relocation. 2673 (microblaze_elf_relax_section): Handle new relocs for elf relaxation. 2674 26752018-04-17 Nick Clifton <nickc@redhat.com> 2676 2677 PR 23055 2678 * aoutx.h (find_nearest_line): Check that the symbol name exists 2679 and is long enough, before attempting to see if it is for a .o 2680 file. 2681 * hash.c (bfd_hash_hash): Add an assertion that the string is not 2682 NULL. 2683 * linker.c (bfd_link_hash_lookup): Fail if the table or string are 2684 NULL. 2685 (_bfd_generic_link_add_archive_symbols): Fail if an archive entry 2686 has no name. 2687 2688 PR 23065 2689 * dwarf2.c (concat_filename): Check for a NULL table pointer. 2690 26912018-04-16 Nick Clifton <nickc@redhat.com> 2692 2693 PR 23061 2694 * coffgen.c (coff_pointerize_aux): Check for an out of range 2695 fixup. 2696 26972018-04-16 Alan Modra <amodra@gmail.com> 2698 2699 * Makefile.am: Remove arm-epoc-pe support. 2700 * coff-arm.c: Likewise. 2701 * config.bfd: Likewise. 2702 * configure.ac: Likewise. 2703 * targets.c: Likewise. 2704 * epoc-pe-arm.c: Delete. 2705 * epoc-pei-arm.c: Delete. 2706 * Makefile.in: Regenerate. 2707 * configure: Regenerate. 2708 * po/SRC-POTFILES.in: Regenerate. 2709 27102018-04-16 Alan Modra <amodra@gmail.com> 2711 2712 * Makefile.am: Remove sparc-aout and sparc-coff support. 2713 * config.bfd: Likewise. 2714 * configure.ac: Likewise. 2715 * targets.c: Likewise. 2716 * aout-sparcle.c: Delete. 2717 * aoutf1.h: Delete. 2718 * cf-sparclynx.c: Delete. 2719 * coff-sparc.c: Delete. 2720 * demo64.c: Delete. 2721 * sparclinux.c: Delete. 2722 * sparclynx.c: Delete. 2723 * sparcnetbsd.c: Delete. 2724 * sunos.c: Delete. 2725 * Makefile.in: Regenerate. 2726 * configure: Regenerate. 2727 * po/SRC-POTFILES.in: Regenerate. 2728 27292018-04-16 Alan Modra <amodra@gmail.com> 2730 2731 * Makefile.am: Remove m68k-aout and m68k-coff support. 2732 * aoutf1.h: Likewise. 2733 * aoutx.h: Likewise. 2734 * archive.c: Likewise. 2735 * bfd-in.h: Likewise. 2736 * bfd.c: Likewise. 2737 * coffcode.h: Likewise. 2738 * coffswap.h: Likewise. 2739 * config.bfd: Likewise. 2740 * configure.ac: Likewise. 2741 * configure.host: Likewise. 2742 * doc/bfd.texinfo: Likewise. 2743 * doc/bfdint.texi: Likewise. 2744 * freebsd.h: Likewise. 2745 * gen-aout.c: Likewise. 2746 * hpux-core.c: Likewise. 2747 * libaout.h: Likewise. 2748 * libbfd-in.h: Likewise. 2749 * pdp11.c: Likewise. 2750 * peicode.h: Likewise. 2751 * riscix.c: Likewise. 2752 * targets.c: Likewise. 2753 * aout0.c: Delete. 2754 * coff-apollo.c: Delete. 2755 * coff-aux.c: Delete. 2756 * coff-m68k.c: Delete. 2757 * coff-svm68k.c: Delete. 2758 * coff-u68k.c: Delete. 2759 * hosts/delta68.h: Delete. 2760 * hosts/hp300bsd.h: Delete. 2761 * hosts/m68kaux.h: Delete. 2762 * hosts/news.h: Delete. 2763 * hp300bsd.c: Delete. 2764 * hp300hpux.c: Delete. 2765 * liboasys.h: Delete. 2766 * m68k4knetbsd.c: Delete. 2767 * m68klinux.c: Delete. 2768 * m68knetbsd.c: Delete. 2769 * oasys.c: Delete. 2770 * versados.c: Delete. 2771 * Makefile.in: Regenerate. 2772 * bfd-in2.h: Regenerate. 2773 * configure: Regenerate. 2774 * libbfd.h: Regenerate. 2775 * po/SRC-POTFILES.in: Regenerate. 2776 27772018-04-16 Alan Modra <amodra@gmail.com> 2778 2779 * Makefile.am: Remove sh5 and sh64 support. 2780 * archures.c: Likewise. 2781 * config.bfd: Likewise. 2782 * configure.ac: Likewise. 2783 * cpu-sh.c: Likewise. 2784 * elf32-sh-relocs.h: Likewise. 2785 * elf32-sh.c: Likewise. 2786 * targets.c: Likewise. 2787 * elf32-sh64-com.c: Delete. 2788 * elf32-sh64.c: Delete. 2789 * elf32-sh64.h: Delete. 2790 * elf64-sh64.c: Delete. 2791 * Makefile.in: Regenerate. 2792 * bfd-in2.h: Regenerate. 2793 * configure: Regenerate. 2794 * po/SRC-POTFILES.in: Regenerate. 2795 27962018-04-16 Alan Modra <amodra@gmail.com> 2797 2798 * Makefile.am: Remove sh-symbianelf support. 2799 * config.bfd: Likewise. 2800 * configure.ac: Likewise. 2801 * targets.c: Likewise. 2802 * elf32-sh-symbian.c: Delete. 2803 * Makefile.in: Regenerate. 2804 * configure: Regenerate. 2805 * po/SRC-POTFILES.in: Regenerate. 2806 28072018-04-16 Alan Modra <amodra@gmail.com> 2808 2809 * Makefile.am: Remove vax-bsd and vax-ultrix support. 2810 * config.bfd: Likewise. 2811 * configure.ac: Likewise. 2812 * targets.c: Likewise. 2813 * vaxbsd.c: Delete. 2814 * Makefile.in: Regenerate. 2815 * configure: Regenerate. 2816 * po/SRC-POTFILES.in: Regenerate. 2817 28182018-04-16 Alan Modra <amodra@gmail.com> 2819 2820 * Makefile.am: Remove w65 support. 2821 * archures.c: Likewise. 2822 * coffcode.h: Likewise. 2823 * config.bfd: Likewise. 2824 * configure.ac: Likewise. 2825 * targets.c: Likewise. 2826 * coff-w65.c: Delete. 2827 * cpu-w65.c: Delete. 2828 * Makefile.in: Regenerate. 2829 * bfd-in2.h: Regenerate. 2830 * configure: Regenerate. 2831 * po/SRC-POTFILES.in: Regenerate. 2832 28332018-04-16 Alan Modra <amodra@gmail.com> 2834 2835 * Makefile.am: Remove we32k support. 2836 * archures.c: Likewise. 2837 * coffcode.h: Likewise. 2838 * config.bfd: Likewise. 2839 * configure.ac: Likewise. 2840 * targets.c: Likewise. 2841 * coff-we32k.c: Delete. 2842 * cpu-we32k.c: Delete. 2843 * Makefile.in: Regenerate. 2844 * bfd-in2.h: Regenerate. 2845 * configure: Regenerate. 2846 * po/SRC-POTFILES.in: Regenerate. 2847 28482018-04-16 Alan Modra <amodra@gmail.com> 2849 2850 * Makefile.am: Remove m88k support. 2851 * aoutx.h: Likewise. 2852 * archures.c: Likewise. 2853 * coffcode.h: Likewise. 2854 * coffswap.h: Likewise. 2855 * config.bfd: Likewise. 2856 * configure.ac: Likewise. 2857 * cpu-ns32k.c: Likewise. 2858 * elf32-nds32.c: Likewise. 2859 * mach-o.c: Likewise. 2860 * netbsd-core.c: Likewise. 2861 * reloc.c: Likewise. 2862 * targets.c: Likewise. 2863 * coff-m88k.c: Delete. 2864 * cpu-m88k.c: Delete. 2865 * elf32-m88k.c: Delete. 2866 * hosts/m88kmach3.h: Delete. 2867 * m88kmach3.c: Delete. 2868 * m88kopenbsd.c: Delete. 2869 * Makefile.in: Regenerate. 2870 * bfd-in2.h: Regenerate. 2871 * configure: Regenerate. 2872 * po/SRC-POTFILES.in: Regenerate. 2873 28742018-04-16 Alan Modra <amodra@gmail.com> 2875 2876 * Makefile.am: Remove i370 support. 2877 * archures.c: Likewise. 2878 * config.bfd: Likewise. 2879 * configure.ac: Likewise. 2880 * targets.c: Likewise. 2881 * cpu-i370.c: Delete. 2882 * elf32-i370.c: Delete. 2883 * Makefile.in: Regenerate. 2884 * bfd-in2.h: Regenerate. 2885 * configure: Regenerate. 2886 * po/SRC-POTFILES.in: Regenerate. 2887 28882018-04-16 Alan Modra <amodra@gmail.com> 2889 2890 * Makefile.am: Remove h8500 support. 2891 * archures.c: Likewise. 2892 * coffcode.h: Likewise. 2893 * config.bfd: Likewise. 2894 * configure.ac: Likewise. 2895 * targets.c: Likewise. 2896 * coff-h8500.c: Delete. 2897 * cpu-h8500.c: Delete. 2898 * Makefile.in: Regenerate. 2899 * bfd-in2.h: Regenerate. 2900 * configure: Regenerate. 2901 * po/SRC-POTFILES.in: Regenerate. 2902 29032018-04-16 Alan Modra <amodra@gmail.com> 2904 2905 * Makefile.am: Remove h8300-coff support. 2906 * coffcode.h: Likewise. 2907 * config.bfd: Likewise. 2908 * configure.ac: Likewise. 2909 * reloc16.c: Likewise. 2910 * targets.c: Likewise. 2911 * coff-h8300.c: Delete. 2912 * Makefile.in: Regenerate. 2913 * configure: Regenerate. 2914 * po/SRC-POTFILES.in: Regenerate. 2915 29162018-04-16 Alan Modra <amodra@gmail.com> 2917 2918 * Makefile.am: Remove IEEE 695 support. 2919 * archures.c: Likewise. 2920 * bfd.c: Likewise. 2921 * config.bfd: Likewise. 2922 * configure.ac: Likewise. 2923 * doc/bfd.texinfo: Likewise. 2924 * doc/bfdint.texi: Likewise. 2925 * doc/bfdsumm.texi: Likewise. 2926 * section.c: Likewise. 2927 * targets.c: Likewise. 2928 * ieee.c: Delete. 2929 * libieee.h: Delete. 2930 * Makefile.in: Regenerate. 2931 * bfd-in2.h: Regenerate. 2932 * configure: Regenerate. 2933 * po/SRC-POTFILES.in: Regenerate. 2934 29352018-04-16 Alan Modra <amodra@gmail.com> 2936 2937 * config.bfd: Remove tandem support. 2938 29392018-04-16 Alan Modra <amodra@gmail.com> 2940 2941 * Makefile.am: Remove newsos3 support. 2942 * aoutx.h: Likewise. 2943 * config.bfd: Likewise. 2944 * configure.ac: Likewise. 2945 * targets.c: Likewise. 2946 * newsos3.c: Delete. 2947 * Makefile.in: Regenerate. 2948 * configure: Regenerate. 2949 * po/SRC-POTFILES.in: Regenerate. 2950 29512018-04-16 Alan Modra <amodra@gmail.com> 2952 2953 * Makefile.am: Remove netware support. 2954 * bfd-in.h: Likewise. 2955 * bfd.c: Likewise. 2956 * config.bfd: Likewise. 2957 * configure.ac: Likewise. 2958 * doc/bfdint.texi: Likewise. 2959 * ecoff.c: Likewise. 2960 * targets.c: Likewise. 2961 * libnlm.h: Delete. 2962 * nlm-target.h: Delete. 2963 * nlm.c: Delete. 2964 * nlm32-alpha.c: Delete. 2965 * nlm32-i386.c: Delete. 2966 * nlm32-ppc.c: Delete. 2967 * nlm32-sparc.c: Delete. 2968 * nlm32.c: Delete. 2969 * nlm64.c: Delete. 2970 * nlmcode.h: Delete. 2971 * nlmswap.h: Delete. 2972 * Makefile.in: Regenerate. 2973 * bfd-in2.h: Regenerate. 2974 * configure: Regenerate. 2975 * po/SRC-POTFILES.in: Regenerate. 2976 29772018-04-16 Alan Modra <amodra@gmail.com> 2978 2979 * archures.c: Remove tahoe support. 2980 * config.bfd: Likewise. 2981 * configure.ac: Likewise. 2982 * hosts/tahoe.h: Delete. 2983 * bfd-in2.h: Regenerate. 2984 * configure: Regenerate. 2985 29862018-04-14 Alan Modra <amodra@gmail.com> 2987 2988 * elf-bfd.h (struct elf_backend_data): Add relropagesize. 2989 * elfxx-target.h (ELF_RELROPAGESIZE): Provide default and 2990 sanity test. 2991 (elfNN_bed): Init relropagesize. 2992 * bfd.c (bfd_emul_get_commonpagesize): Add boolean param to 2993 select relropagesize. 2994 * elf32-ppc.c (ELF_COMMONPAGESIZE): Define as 0x1000. 2995 (ELF_RELROPAGESIZE): Define as ELF_MAXPAGESIZE. 2996 (ELF_MINPAGESIZE): Don't define. 2997 * elf64-ppc.c (ELF_COMMONPAGESIZE): Define as 0x1000. 2998 (ELF_RELROPAGESIZE): Define as ELF_MAXPAGESIZE. 2999 * bfd-in2.h: Regenerate. 3000 30012018-04-14 Alan Modra <amodra@gmail.com> 3002 3003 * elf32-ppc.c (ELF_MAXPAGESIZE, ELF_COMMONPAGESIZE): Don't depend 3004 on __QNXTARGET__ define. 3005 30062018-04-14 Alan Modra <amodra@gmail.com> 3007 3008 * config.bfd: Add powerpc-*-lynxos* and powerpc-*-windiss* 3009 to obsolete list. 3010 30112018-04-11 Alan Modra <amodra@gmail.com> 3012 3013 * aout-adobe.c: Delete. 3014 * bout.c: Delete. 3015 * coff-i860.c: Delete. 3016 * coff-i960.c: Delete. 3017 * cpu-i860.c: Delete. 3018 * cpu-i960.c: Delete. 3019 * elf32-i860.c: Delete. 3020 * elf32-i960.c: Delete. 3021 * hosts/i860mach3.h: Delete. 3022 * Makefile.am: Remove i860, i960, bout, and adobe support. 3023 * archures.c: Remove i860 and i960 support. 3024 * coffcode.h: Likewise. 3025 * reloc.c: Likewise. 3026 * aoutx.h: Comment updates. 3027 * archive.c: Remove BOUT and i960 support. 3028 * bfd.c: Remove BOUT support. 3029 * coffswap.h: Remove i960 support. 3030 * config.bfd: Remove i860, i960 and adobe targets. 3031 * configure.ac: Remove adode, bout, i860, i960, icoff targets. 3032 * targets.c: Likewise. 3033 * ieee.c: Remove i960 support. 3034 * mach-o.c: Remove i860 support. 3035 * Makefile.in: Regenerate. 3036 * bfd-in2.h: Regenerate. 3037 * configure: Regenerate. 3038 * libbfd.h: Regenerate. 3039 * po/SRC-POTFILES.in: Regenerate. 3040 30412018-04-09 Maciej W. Rozycki <macro@mips.com> 3042 3043 * elf64-mips.c (mips_elf64_write_rel): Handle a NULL BFD pointer 3044 in the BFD symbol referred by the relocation. 3045 (mips_elf64_write_rela): Likewise. 3046 30472018-04-09 Maciej W. Rozycki <macro@mips.com> 3048 3049 * elf64-mips.c (mips_elf64_slurp_one_reloc_table): Issue an 3050 error for out-of-range `r_sym' values. 3051 30522018-04-09 Alan Modra <amodra@gmail.com> 3053 3054 * elf64-ppc.c (struct _ppc64_elf_section_data): Add has_pltcall field. 3055 (struct ppc_link_hash_table): Add can_convert_all_inline_plt. 3056 (ppc64_elf_check_relocs): Set has_pltcall. 3057 (ppc64_elf_adjust_dynamic_symbol): Discard some PLT entries. 3058 (ppc64_elf_inline_plt): New function. 3059 (ppc64_elf_size_dynamic_sections): Discard some PLT entries for locals. 3060 * elf64-ppc.h (ppc64_elf_inline_plt): Declare. 3061 * elf32-ppc.c (has_pltcall): Define. 3062 (struct ppc_elf_link_hash_table): Add can_convert_all_inline_plt. 3063 (ppc_elf_check_relocs): Set has_pltcall. 3064 (ppc_elf_inline_plt): New function. 3065 (ppc_elf_adjust_dynamic_symbol): Discard some PLT entries. 3066 (ppc_elf_size_dynamic_sections): Likewise. 3067 * elf32-ppc.h (ppc_elf_inline_plt): Declare. 3068 30692018-04-09 Alan Modra <amodra@gmail.com> 3070 3071 * elf32-ppc.c (ppc_elf_howto_raw): Add PLTSEQ and PLTCALL howtos. 3072 (is_plt_seq_reloc): New function. 3073 (ppc_elf_check_relocs): Handle PLTSEQ and PLTCALL relocs. 3074 (ppc_elf_tls_optimize): Handle inline plt call sequence. 3075 (ppc_elf_relax_section): Handle PLTCALL reloc. 3076 (ppc_elf_relocate_section): Nop out inline plt call sequence when 3077 resolving locally. 3078 * elf64-ppc.c (ppc64_elf_howto_raw): Add R_PPC64_PLTSEQ and 3079 R_PPC64_PLTCALL entries. Comment R_PPC64_TOCSAVE. 3080 (has_tls_get_addr_call): Correct comment. 3081 (is_branch_reloc): Add PLTCALL. 3082 (is_plt_seq_reloc): New function. 3083 (ppc64_elf_check_relocs): Handle PLT16_LO_DS reloc. Set 3084 has_tls_reloc for R_PPC64_TLSGD and R_PPC64_TLSLD. Create plt 3085 entry for R_PPC64_PLTCALL. 3086 (ppc64_elf_tls_optimize): Handle inline plt call sequence. 3087 (ppc_type_of_stub): Handle PLTCALL reloc. 3088 (toc_adjusting_stub_needed): Likewise. 3089 (ppc64_elf_relocate_section): Set "can_plt_call" for PLTCALL 3090 reloc insn. Nop out inline plt call sequence when resolving 3091 locally. Handle __tls_get_addr inline plt call optimization. 3092 30932018-04-09 Alan Modra <amodra@gmail.com> 3094 3095 * elf64-ppc.c (LOCAL_PLT_ENTRY_SIZE): Define. 3096 (struct ppc_stub_hash_entry): Add symtype field. 3097 (PLT_KEEP): Define. 3098 (struct ppc_link_hash_table): Add pltlocal and relpltlocal. 3099 (create_linkage_sections): Create pltlocal and relpltlocal. 3100 (ppc64_elf_check_relocs): Allow PLT relocs on local symbols. 3101 Set PLT_KEEP. 3102 (ppc64_elf_adjust_dynamic_symbol): Keep PLT entries for inline calls. 3103 (allocate_dynrelocs): Allocate pltlocal and relpltlocal. 3104 (ppc64_elf_size_dynamic_sections): Size pltlocal and relpltlocal. 3105 Keep PLT entries for inline calls against locals. 3106 (ppc_build_one_stub): Use pltlocal as appropriate. 3107 (ppc_size_one_stub): Likewise. 3108 (ppc64_elf_size_stubs): Set symtype. 3109 (build_global_entry_stubs_and_plt): Init pltlocal and write 3110 relpltlocal for globals. 3111 (write_plt_relocs_for_local_syms): Likewise for local syms. 3112 (ppc64_elf_relocate_section): Support PLT for local syms. 3113 * elf32-ppc.c (PLT_KEEP): Define. 3114 (struct ppc_elf_link_hash_table): Add pltlocal and relpltlocal. 3115 (ppc_elf_create_glink): Create pltlocal and relpltlocal. 3116 (ppc_elf_check_relocs): Allow PLT relocs on local symbols. 3117 Set PLT_KEEP. Adjust update_local_sym_info call. 3118 (ppc_elf_adjust_dynamic_symbol): Keep PLT entries for inline calls. 3119 (allocate_dynrelocs): Allocate pltlocal and relpltlocal. 3120 (ppc_elf_size_dynamic_sections): Size pltlocal and relpltlocal. 3121 (ppc_elf_relocate_section): Support PLT16 relocs for local syms. 3122 (write_global_sym_plt): Init pltlocal and write relpltlocal. 3123 (ppc_finish_symbols): Likewise for locals. 3124 31252018-04-09 Alan Modra <amodra@gmail.com> 3126 3127 * elf64-ppc.c (ppc_build_one_stub): Move output of PLT relocs 3128 for local symbols to.. 3129 (write_plt_relocs_for_local_syms): ..here. New function. 3130 (ppc64_elf_finish_dynamic_symbol): Move output of PLT relocs for 3131 global symbols to.. 3132 (build_global_entry_stubs_and_plt): ..here. Rename from 3133 build_global_entry_stubs. 3134 (ppc64_elf_build_stubs): Always call build_global_entry_stubs_and_plt. 3135 Call write_plt_relocs_for_local_syms. 3136 * elf32-ppc.c (get_sym_h): New function. 3137 (ppc_elf_relax_section): Use get_sym_h. 3138 (ppc_elf_relocate_section): Move output of PLT relocs and glink 3139 stubs for local symbols to.. 3140 (ppc_finish_symbols): ..here. New function. 3141 (ppc_elf_finish_dynamic_symbol): Move output of PLT relocs for 3142 global syms to.. 3143 (write_global_sym_plt): ..here. New function. 3144 * elf32-ppc.h (ppc_elf_modify_segment_map): Delete attribute. 3145 (ppc_finish_symbols): Declare. 3146 31472018-04-09 Alan Modra <amodra@gmail.com> 3148 3149 * elf32-ppc.c (ppc_elf_check_relocs): Handle PLT16 relocs. 3150 (ppc_elf_relocate_section): Likewise. 3151 * elf64-ppc.c (ppc64_elf_check_relocs): Handle PLT16_LO_DS. 3152 (ppc64_elf_relocate_section): Likewise. Correct PLT16 3153 resolution to plt entry relative to toc pointer. 3154 31552018-04-09 Alan Modra <amodra@gmail.com> 3156 3157 * elf64-ppc.c (TLS_TLS, TLS_GD, TLS_LD, TLS_TPREL, TLS_DTPREL, 3158 TLS_TPRELGD, TLS_EXPLICIT): Renumber. Test TLS_TLS throughout 3159 file when other TLS flags are tested in a mask. 3160 (TLS_MARK, NON_GOT): Define. 3161 (PLT_IFUNC): Redefine, and test TLS_TLS throughout file as well. 3162 (update_local_sym_info): Don't create got entry when NON_GOT. 3163 (ppc64_elf_check_relocs): Pass NON_GOT with PLT_IFUNC. 3164 Set TLS_MARK. 3165 (get_tls_mask): Do toc lookup if tls_mask is just TLS_MARK. 3166 (ppc64_elf_relocate_section): Likewise. 3167 (ppc64_elf_tls_optimize): Don't attempt to optimize indirect 3168 __tls_get_addr calls lacking a marker reloc. 3169 * elf32-ppc.c (TLS_TLS, TLS_GD, TLS_LD, TLS_TPREL, TLS_DTPREL, 3170 TLS_TPRELGD): Renumber. Update comment. 3171 (TLS_MARK, NON_GOT): Define. 3172 (PLT_IFUNC): Redefine, and test TLS_TLS throughout file as well. 3173 (update_local_sym_info): Don't create got entry when NON_GOT. 3174 (ppc_elf_check_relocs): Pass NON_GOT with PLT_IFUNC. 3175 Set TLS_MARK. 3176 (ppc_elf_tls_optimize): Don't attempt to optimize indirect 3177 __tls_get_addr calls lacking a marker reloc. 3178 31792018-04-06 H.J. Lu <hongjiu.lu@intel.com> 3180 3181 * elf64-x86-64.c (elf_x86_64_info_to_howto): Don't mask out 3182 R_X86_64_converted_reloc_bit. 3183 31842018-04-05 H.J. Lu <hongjiu.lu@intel.com> 3185 3186 PR gas/22318 3187 * configure: Regenerated. 3188 31892018-04-05 Alan Modra <amodra@gmail.com> 3190 3191 * elf-hppa.h (elf_hppa_info_to_howto): Init howto to NULL. 3192 (elf_hppa_info_to_howto_rel): Likewise. 3193 31942018-04-04 Maciej W. Rozycki <macro@mips.com> 3195 3196 * elf-hppa.h (elf_hppa_info_to_howto): Also return 3197 unsuccessfully for unimplemented relocations. 3198 (elf_hppa_info_to_howto_rel): Likewise. 3199 32002018-04-04 Maciej W. Rozycki <macro@mips.com> 3201 3202 * elf32-i860.c (lookup_howto): Add `abfd' parameter. Set the 3203 `bfd_error_bad_value' error and call `_bfd_error_handler' on a 3204 howto lookup failure. 3205 (elf32_i860_reloc_type_lookup): Adjust `lookup_howto' call 3206 accordingly. 3207 (elf32_i860_info_to_howto_rela): Likewise. 3208 (elf32_i860_relocate_splitn): Likewise. 3209 (elf32_i860_relocate_pc16): Likewise. 3210 (elf32_i860_relocate_pc26): Likewise. 3211 (elf32_i860_relocate_section): Likewise. 3212 32132018-04-04 Maciej W. Rozycki <macro@mips.com> 3214 3215 * elf32-visium.c (visium_info_to_howto_rela): Correct the range 3216 check for `visium_elf_howto_table' table access. 3217 32182018-04-04 Maciej W. Rozycki <macro@mips.com> 3219 3220 * elf32-iq2000.c (iq2000_info_to_howto_rela): Correct the range 3221 check for `iq2000_elf_howto_table' table access. 3222 32232018-04-04 Maciej W. Rozycki <macro@mips.com> 3224 3225 * elf32-frv.c (frv_info_to_howto_rela): Correct the range check 3226 for `elf32_frv_howto_table' table access. 3227 32282018-04-04 Maciej W. Rozycki <macro@mips.com> 3229 3230 * elf32-mips.c (mips_elf32_rtype_to_howto): Also return 3231 unsuccessfully for placeholder howtos. 3232 * elf64-mips.c (mips_elf64_rtype_to_howto): Likewise. 3233 * elfn32-mips.c (mips_elf_n32_rtype_to_howto): Likewise. 3234 32352018-03-29 Maciej W. Rozycki <macro@mips.com> 3236 3237 * elf32-mips.c (mips_info_to_howto_rel): Remove the calls to 3238 `_bfd_error_handler' and to set the `bfd_error_bad_value' error. 3239 32402018-03-28 Maciej W. Rozycki <macro@mips.com> 3241 3242 * elf-hppa.h (elf_hppa_info_to_howto_rel): Remove 3243 ATTRIBUTE_UNUSED from `abfd'. 3244 32452018-03-28 Maciej W. Rozycki <macro@mips.com> 3246 3247 * elf-hppa.h (elf_hppa_info_to_howto_rel): Correct 3248 `_bfd_error_handler' call formatting. 3249 32502018-03-28 Maciej W. Rozycki <macro@mips.com> 3251 3252 * elf32-mips.c (mips_info_to_howto_rel): Call 3253 `mips_elf32_rtype_to_howto' directly rather than via 3254 `->elf_backend_mips_rtype_to_howto'. 3255 32562018-03-28 Renlin Li <renlin.li@arm.com> 3257 3258 PR ld/22970 3259 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Add cases for 3260 BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12, 3261 BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12_NC, 3262 BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12, 3263 BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12_NC, 3264 BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12, 3265 BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12_NC, 3266 BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12, 3267 BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12_NC. 3268 (elfNN_aarch64_final_link_relocate): Support new relocations. 3269 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Support new 3270 relocations. 3271 (_bfd_aarch64_elf_resolve_relocation): Support new relocations. 3272 32732018-03-28 Renlin Li <renlin.li@arm.com> 3274 3275 PR ld/22970 3276 * reloc.c: Add BFD_RELOC_AARCH64_TLSLE_LDST_TPREL_LO12 3277 BFD_RELOC_AARCH64_TLSLE_LDST_TPREL_LO12_NC, 3278 BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12, 3279 BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12_NC, 3280 BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12, 3281 BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12_NC, 3282 BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12, 3283 BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12_NC, 3284 BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12, 3285 BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12_NC. 3286 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Add table entry for 3287 TLSLE_LDST16_TPREL_LO12, 3288 TLSLE_LDST16_TPREL_LO12_NC, 3289 TLSLE_LDST32_TPREL_LO12, 3290 TLSLE_LDST32_TPREL_LO12_NC, 3291 TLSLE_LDST64_TPREL_LO12, 3292 TLSLE_LDST64_TPREL_LO12_NC, 3293 TLSLE_LDST8_TPREL_LO12, 3294 TLSLE_LDST8_TPREL_LO12_NC. 3295 * bfd-in2.h: Regenerated. 3296 * libbfd.h: Regenerated. 3297 32982018-03-28 Eric Botcazou <ebotcazou@adacore.com> 3299 3300 PR ld/22972 3301 * elfxx-sparc.c (struct _bfd_sparc_elf_link_hash_entry): Add new flag 3302 has_old_style_got_reloc. 3303 (_bfd_sparc_elf_check_relocs) <GOT relocations>: Set it for old-style 3304 relocations. Fix a couple of long lines. 3305 (_bfd_sparc_elf_relocate_section) <R_SPARC_GOTDATA_OP>: Do not generate 3306 a R_SPARC_NONE for the GOT slot if the symbol is also subject to old-style 3307 GOT relocations. 3308 33092018-03-25 H.J. Lu <hongjiu.lu@intel.com> 3310 3311 PR ld/23000 3312 * elf64-x86-64.c (elf_x86_64_finish_dynamic_sections): Add 3313 ENDBR64 to the TLSDESC PLT entry. 3314 33152018-03-21 Alan Modra <amodra@gmail.com> 3316 3317 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Trim uninteresting 3318 symbols. Use size_t counts. Delete redundant opd test. 3319 33202018-03-21 Alan Modra <amodra@gmail.com> 3321 3322 * elf32-ppc.c (ppc_elf_tls_optimize): Delete locsyms. 3323 33242018-03-21 Alan Modra <amodra@gmail.com> 3325 3326 * elf32-ppc.c (struct ppc_elf_link_hash_entry): Make tls_mask 3327 field unsigned. 3328 (update_local_sym_info): Likewise for local_got_tls_masks. 3329 (ppc_elf_tls_optimize): Likewise for lgot_masks. 3330 33312018-03-21 Alan Modra <amodra@gmail.com> 3332 3333 * elf64-ppc.c (ppc_size_one_stub): Fix comment typo. 3334 (ppc64_elf_layout_multitoc): Allocate relocs for tprel as we 3335 do in size_dynamic_sections. 3336 33372018-03-21 Alan Modra <amodra@gmail.com> 3338 3339 * elf64-ppc.c (ppc64_elf_relocate_section): Don't access rel[1] 3340 without first checking array bounds. 3341 * elf32-ppc.c (ppc_elf_relocate_section): Likewise. 3342 33432018-03-20 H.J. Lu <hongjiu.lu@intel.com> 3344 3345 PR ld/22983 3346 * elflink.c (bfd_elf_link_mark_dynamic_symbol): Set 3347 non_ir_ref_dynamic if a symbol is made dynamic by --dynamic-list. 3348 33492018-03-19 Nick Clifton <nickc@redhat.com> 3350 3351 * po/es.po: Updated Spanish translation. 3352 33532018-03-15 Max Filippov <jcmvbkbc@gmail.com> 3354 3355 * elf32-xtensa.c (xlate_map_entry): Change types of address 3356 fields from 'unsigned' to 'bfd_vma'. 3357 (xlate_offset_with_removed_text): Use struct xlate_map_entry as 3358 the key argument to bsearch. Allow offsets past the end of a 3359 section, use the last map entry for translation of such offsets. 3360 33612018-03-15 Kuan-Lin Chen <kuanlinchentw@gmail.com> 3362 3363 * elf32-nds32.c (nds32_elf_ex9_build_hash_table): Removed. 3364 Not support the target feature. 3365 (nds32_elf_ex9_itb_base): Likewise. 3366 (nds32_elf_ex9_import_table): Likewise. 3367 (nds32_elf_ex9_finish): Likewise. 3368 (nds32_elf_ex9_reloc_jmp): Likewise. 3369 (nds32_elf_get_insn_with_reg): Likewise. 3370 (nds32_get_local_syms): Likewise. 3371 (nds32_elf_ex9_replace_instruction): Likewise. 3372 (nds32_elf_ifc_calc): Likewise. 3373 (nds32_elf_ifc_finish): Likewise. 3374 (nds32_elf_ifc_replace): Likewise. 3375 (nds32_elf_ifc_reloc): Likewise. 3376 33772018-03-14 Alan Modra <amodra@gmail.com> 3378 3379 * elf64-ppc.c (sfpr_define): Adjust for stub_sec size having 3380 sfpr size added before defining alias symbols. 3381 (ppc64_elf_build_stubs): Add stub section padding before 3382 copying sfpr contents and defining save/restore alias symbols. 3383 33842018-03-14 H.J. Lu <hongjiu.lu@intel.com> 3385 3386 PR ld/20882 3387 * elflink.c (elf_gc_mark_debug_section): Also check the local 3388 debug definition section. 3389 33902018-03-13 Nick Clifton <nickc@redhat.com> 3391 3392 PR 22113 3393 * pei-x86_64.c (pex64_get_unwind_info): Change to a boolean 3394 function. Add an end address parameter. Check access of the data 3395 pointer to make sure that they do not extend beyond the end 3396 address. Return FALSE if any check fails. Add the end address 3397 pointer to the ui structure. 3398 (pex64_xdata_print_uwd_codes): Check accesses of the raw unwind 3399 codes to make sure that they do not extend beyond the end address 3400 pointer. Print an error message and return immediately if any 3401 check fails. 3402 34032018-03-09 Nick Clifton <nickc@redhat.com> 3404 3405 * elf64-s390.c (elf_s390_relocate_section): Move check for 3406 relocations against non-allocated sections to before the code that 3407 handles ifunc relocations. 3408 * elf32-s390.c (elf_s390_relocate_section): Likewise. 3409 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Treat 3410 relocs against IFUNC symbols in non-allocated sections as relocs 3411 against FUNC symbols. 3412 * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise. 3413 34142018-03-08 H.J. Lu <hongjiu.lu@intel.com> 3415 3416 PR ld/22929 3417 * elf32-i386.c (elf_i386_relocate_section): Treat relocation 3418 against IFUNC symbol in SHT_NOTE section without SHF_ALLOC as 3419 relocation against FUNC symbol. 3420 * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise. 3421 34222018-03-07 Renlin Li <renlin.li@arm.com> 3423 3424 PR ld/20402 3425 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Check absolute 3426 symbol, and don't emit relocation in specific case. 3427 34282018-03-07 Alan Modra <amodra@gmail.com> 3429 3430 * elf64-mips.c (mips_elf64_rtype_to_howto): Return NULL on error. 3431 (mips_elf64_slurp_one_reloc_table): Pass on error. 3432 34332018-03-03 James Cowgill <james.cowgill@mips.com> 3434 Maciej W. Rozycki <macro@mips.com> 3435 3436 PR ld/21900 3437 * elfxx-mips.c (mips_elf_calculate_relocation): Only return 3438 after calling `undefined_symbol' hook if this is an error 3439 condition. Assume the value of 0 for the symbol requested 3440 otherwise. 3441 34422018-03-02 Jim Wilson <jimw@sifive.com> 3443 3444 PR 22903 3445 * elfnn-aarch64.c (_bfd_aarch64_resize_stubs): Add 8 bytes for branch 3446 and nop instead of 4. 3447 (elfNN_arch64_build_stubs): Add nop after branch. Increase size by 3448 8 instead of 4. 3449 34502018-03-01 Jim Wilson <jimw@sifive.com> 3451 3452 PR 22756 3453 * elfnn-riscv.c (riscv_relax_delete_bytes): When adjust st_size, use 3454 else if instead of if. 3455 34562018-03-01 Alan Modra <amodra@gmail.com> 3457 3458 * elf32-ft32.c (ft32_info_to_howto_rela): Correct range test. 3459 34602018-02-28 Alan Modra <amodra@gmail.com> 3461 3462 PR 22887 3463 * aoutx.h (swap_std_reloc_in): Correct r_index bound check. 3464 34652018-02-28 Nick Clifton <nickc@redhat.com> 3466 3467 PR 22895 3468 PR 22893 3469 * dwarf2.c (read_n_bytes): Replace size parameter with dwarf_block 3470 pointer. Drop unused abfd parameter. Check the size of the block 3471 before initialising the data field. Return the end pointer if the 3472 size is invalid. 3473 (read_attribute_value): Adjust invocations of read_n_bytes. 3474 3475 PR 22894 3476 * dwarf1.c (parse_die): Check the length of form blocks before 3477 advancing the data pointer. 3478 34792018-02-28 Alan Modra <amodra@gmail.com> 3480 3481 PR 22887 3482 * aoutx.h (translate_symbol_table): Print an error message and set 3483 bfd_error on finding an invalid name string offset. 3484 34852018-02-27 H.J. Lu <hongjiu.lu@intel.com> 3486 3487 * config.in: Regenerated. 3488 * configure: Likewise. 3489 * configure.ac: Add --enable-separate-code. 3490 (DEFAULT_LD_Z_SEPARATE_CODE): New AC_DEFINE_UNQUOTED. Default 3491 to 1 for Linux/x86 targets, 3492 * elf64-x86-64.c (ELF_MAXPAGESIZE): Set to 0x1000 if 3493 DEFAULT_LD_Z_SEPARATE_CODE is 1. 3494 34952018-02-27 Nick Clifton <nickc@redhat.com> 3496 3497 * aout-cris.c (swap_ext_reloc_out): Standadize error/warning 3498 message. 3499 * elf-hppa.h (elf_hppa_info_to_howto_rel): Likewise. 3500 * elf32-i386.c (elf_i386_reloc_type_lookup): Likewise. 3501 * elf32-xtensa.c (elf_xtensa_reloc_type_lookup): Likewise. 3502 * elf64-ppc.c (ppc64_elf_reloc_type_lookup): Likewise. 3503 * elf64-s390.c (elf_s390_reloc_type_lookup): Likewise. 3504 * elf64-sh64.c (sh_elf64_info_to_howto): Likewise. 3505 * elfxx-ia64.c (ia64_elf_reloc_type_lookup): Likewise. 3506 * elfxx-sparc.c (_bfd_sparc_elf_reloc_type_lookup): Likewise. 3507 * elfxx-tilegx.c (tilegx_reloc_type_lookup): Likewise. 3508 3509 PR 22875 3510 * elf-bfd.h (struct elf_backend_data): Change the return type of 3511 the elf_info_to_howto and elf_info_to_howto_rel function pointers 3512 to bfd_boolean. 3513 * elfcode.h (elf_slurp_reloc_table_from_section): Check the return 3514 value from the info_to_howto function and fail if that function 3515 failed. 3516 * elf32-h8300.c (elf32_h8_relocate_section): Check return value 3517 from the info_to_howto function. 3518 (elf32_h8_relax_section): Likewise. 3519 * elf32-lm32.c (lm32_elf_relocate_section): Likewise. 3520 * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Likewise. 3521 * elf32-score.c (s3_bfd_score_elf_relocate_section): Likewise. 3522 * elf32-score7.c (s7_bfd_score_elf_relocate_section): Likewise. 3523 * elf32-tic6x.c (elf32_tic6x_relocate_section): Likewise. 3524 * elf64-ia64-vms.c (elf64_ia64_relocate_section): Likewise. 3525 * elf64-sparc.c (elf64_sparc_slurp_one_reloc_table): Likewise. 3526 * elf64-x86-64.c (elf_x86_64_tls_transition): Likewise. 3527 * elfnn-ia64.c (elfNN_ia64_relocate_section): Likewise. 3528 * elfnn-riscv.c (riscv_elf_check_relocs): Likewise. 3529 (riscv_elf_relocate_section): Likewise. 3530 * elf-hppa.h (elf_hppa_info_to_howto): Change return type to 3531 bfd_boolean. Issue an error message, set an error value and 3532 return FALSE if the reloc is not recognized. 3533 (elf_hppa_info_to_howto_rel): Likewise. 3534 * elf-m10200.c (mn10200_info_to_howto): Likewise. 3535 * elf-m10300.c (mn10300_info_to_howto): Likewise. 3536 * elf.c (_bfd_elf_no_info_to_howto): Likewise. 3537 * elf32-arc.c (arc_info_to_howto_rel): Likewise. 3538 * elf32-arm.c (elf32_arm_info_to_howto): Likewise. 3539 * elf32-avr.c (avr_info_to_howto_rela): Likewise. 3540 * elf32-bfin.c (bfin_info_to_howto): Likewise. 3541 * elf32-cr16.c (elf_cr16_info_to_howto): Likewise. 3542 * elf32-cr16c.c (elf_cr16c_info_to_howto): Likewise. 3543 * elf32-cris.c (elf_cr16c_info_to_howto_rel) 3544 (cris_info_to_howto_rela): Likewise. 3545 * elf32-crx.c (elf_crx_info_to_howto): Likewise. 3546 * elf32-d10v.c (d10v_info_to_howto_rel): Likewise. 3547 * elf32-d30v.c (d30v_info_to_howto_rel, d30v_info_to_howto_rela): 3548 Likewise. 3549 * elf32-dlx.c (dlx_rtype_to_howto, elf32_dlx_info_to_howto) 3550 (elf32_dlx_info_to_howto_rel): Likewise. 3551 * elf32-epiphany.c (epiphany_info_to_howto_rela): Likewise. 3552 * elf32-fr30.c (fr30_info_to_howto_rela): Likewise. 3553 * elf32-frv.c (frv_info_to_howto_rela) 3554 (frvfdpic_info_to_howto_rel): Likewise. 3555 * elf32-ft32.c (ft32_info_to_howto_rela): Likewise. 3556 * elf32-gen.c (elf_generic_info_to_howto) 3557 (elf_generic_info_to_howto_rel): Likewise. 3558 * elf32-h8300.c (elf32_h8_info_to_howto) 3559 (elf32_h8_info_to_howto_rel): Likewise. 3560 * elf32-i370.c (i370_elf_info_to_howto): Likewise. 3561 * elf32-i386.c (elf_i386_reloc_type_lookup) 3562 (elf_i386_rtype_to_howto, elf_i386_info_to_howto_rel): Likewise. 3563 * elf32-i860.c (lookup_howto, elf32_i860_info_to_howto_rela): 3564 Likewise. 3565 * elf32-i960.c (elf32_i960_info_to_howto_rel): Likewise. 3566 * elf32-ip2k.c (ip2k_info_to_howto_rela): Likewise. 3567 * elf32-iq2000.c (iq2000_info_to_howto_rela): Likewise. 3568 * elf32-lm32.c (lm32_info_to_howto_rela): Likewise. 3569 * elf32-m32c.c (m32c_info_to_howto_rela): Likewise. 3570 * elf32-m32r.c (m32r_info_to_howto_rel, m32r_info_to_howto): 3571 Likewise. 3572 * elf32-m68hc11.c (m68hc11_info_to_howto_rel): Likewise. 3573 * elf32-m68hc12.c (m68hc11_info_to_howto_rel): Likewise. 3574 * elf32-m68k.c (rtype_to_howto): Likewise. 3575 * elf32-mcore.c (mcore_elf_info_to_howto): Likewise. 3576 * elf32-mep.c (mep_info_to_howto_rela): Likewise. 3577 * elf32-metag.c (metag_info_to_howto_rela): Likewise. 3578 * elf32-microblaze.c (microblaze_elf_info_to_howto): Likewise. 3579 * elf32-mips.c (mips_info_to_howto_rel, mips_info_to_howto_rela): 3580 Likewise. 3581 * elf32-moxie.c (moxie_info_to_howto_rela): Likewise. 3582 * elf32-msp430.c (msp430_info_to_howto_rela): Likewise. 3583 * elf32-mt.c (mt_info_to_howto_rela): Likewise. 3584 * elf32-nds32.c (nds32_info_to_howto_rel, nds32_info_to_howto): 3585 Likewise. 3586 * elf32-nios2.c (nios2_elf32_info_to_howto): Likewise. 3587 * elf32-or1k.c (or1k_info_to_howto_rela): Likewise. 3588 * elf32-pj.c (pj_elf_info_to_howto): Likewise. 3589 * elf32-ppc.c (ppc_elf_info_to_howto): Likewise. 3590 * elf32-pru.c (pru_elf32_info_to_howto): Likewise. 3591 * elf32-rl78.c (rl78_info_to_howto_rela): Likewise. 3592 * elf32-rx.c (rx_info_to_howto_rela): Likewise. 3593 * elf32-s390.c (elf_s390_info_to_howto): Likewise. 3594 * elf32-score.c (s3_bfd_score_info_to_howto) 3595 (_bfd_score_info_to_howto): Likewise. 3596 * elf32-score7.c (s7_bfd_score_info_to_howto): Likewise. 3597 * elf32-sh.c (sh_elf_info_to_howto): Likewise. 3598 * elf32-spu.c (spu_elf_info_to_howto): Likewise. 3599 * elf32-tic6x.c (elf32_tic6x_info_to_howto) 3600 (elf32_tic6x_info_to_howto_rel): Likewise. 3601 * elf32-tilepro.c (tilepro_info_to_howto_rela): Likewise. 3602 * elf32-v850.c (v850_elf_info_to_howto_rel) 3603 (v850_elf_info_to_howto_rela, v800_elf_info_to_howto): Likewise. 3604 * elf32-vax.c (rtype_to_howto): Likewise. 3605 * elf32-visium.c (visium_info_to_howto_rela): Likewise. 3606 * elf32-wasm32.c (elf32_wasm32_rtype_to_howto) 3607 (elf32_wasm32_info_to_howto_rela): Likewise. 3608 * elf32-xc16x.c (elf32_xc16x_info_to_howto): Likewise. 3609 * elf32-xgate.c (xgate_info_to_howto_rel): Likewise. 3610 * elf32-xstormy16.c (xstormy16_info_to_howto_rela): Likewise. 3611 * elf32-xtensa.c (elf_xtensa_info_to_howto_rela): Likewise. 3612 * elf64-alpha.c (elf64_alpha_info_to_howto): Likewise. 3613 * elf64-gen.c (elf_generic_info_to_howto) 3614 (elf_generic_info_to_howto_rel): Likewise. 3615 * elf64-ia64-vms.c (elf64_ia64_info_to_howto): Likewise. 3616 * elf64-mips.c (mips_elf64_info_to_howto_rela): Likewise. 3617 * elf64-mmix.c (mmix_info_to_howto_rela): Likewise. 3618 * elf64-ppc.c (ppc64_elf_info_to_howto): Likewise. 3619 * elf64-s390.c (elf_s390_reloc_type_lookup): Likewise. 3620 * elf64-sh64.c (elf_s390_info_to_howto, sh_elf64_info_to_howto): 3621 Likewise. 3622 * elf64-x86-64.c (elf_x86_64_info_to_howto): Likewise. 3623 * elfn32-mips.c (mips_info_to_howto_rel, mips_info_to_howto_rela): 3624 Likewise. 3625 * elfnn-aarch64.c (elfNN_aarch64_info_to_howto): Likewise. 3626 * elfnn-ia64.c (elfNN_ia64_info_to_howto): Likewise. 3627 * elfnn-riscv.c (riscv_info_to_howto_rela): Likewise. 3628 * elfxx-ia64.c (ia64_elf_reloc_type_lookup): Likewise. 3629 * elfxx-sparc.c (_bfd_sparc_elf_info_to_howto): Likewise. 3630 * elfxx-tilegx.c (tilegx_info_to_howto_rela): Likewise. 3631 * elf32-score.h (s7_bfd_score_info_to_howto): Update prototype. 3632 * elfxx-sparc.h (_bfd_sparc_elf_info_to_howto): Update prototype. 3633 * elfxx-tilegx.h (tilegx_info_to_howto_rela): Update prototype. 3634 * elfxx-target.h (elf_info_to_howto, elf_info_to_howto_rel): 3635 Default to NULL. 3636 36372018-02-26 Jim Wilson <jimw@sifive.com> 3638 Stephan Schreiber <info@fs-driver.org> 3639 3640 PR 15904 3641 * elfnn-ia64.c (elfNN_ia64_relax_section): After ia64_elf_relax_brl 3642 call, set changed_contents and changed_relocs. Likewise after 3643 successful ia64_elf_relax_br call. 3644 36452018-02-26 Alan Modra <amodra@gmail.com> 3646 3647 * elf.c (assign_file_positions_except_relocs): Don't segfault 3648 when actual number of phdrs is less than allocated. Delete 3649 outdated comment. Formatting. 3650 36512018-02-26 Alan Modra <amodra@gmail.com> 3652 3653 * elf-m10300.c, * elf-s390-common.c, * elf32-arc.c, * elf32-cris.c, 3654 * elf32-dlx.c, * elf32-frv.c, * elf32-i370.c, * elf32-lm32.c, 3655 * elf32-m32r.c, * elf32-m68hc1x.c, * elf32-m68k.c, 3656 * elf32-microblaze.c, * elf32-msp430.c, * elf32-nds32.c, 3657 * elf32-nios2.c, * elf32-or1k.c, * elf32-rl78.c, * elf32-rx.c, 3658 * elf32-score.c, * elf32-score7.c, * elf32-sh-symbian.c, 3659 * elf32-sh.c, * elf32-spu.c, * elf32-v850.c, * elf32-xtensa.c, 3660 * elf64-alpha.c, * elf64-ia64-vms.c, * elf64-mmix.c, 3661 * elf64-sh64.c, * elf64-sparc.c, * elfnn-ia64.c, * elfxx-tilegx.c, 3662 * mmo.c, * osf-core.c, * srec.c, * vms-alpha.c: Standardize 3663 error/warning messages. 3664 36652018-02-26 Alan Modra <amodra@gmail.com> 3666 3667 * archive.c, * bfd.c, * linker.c, * reloc.c, * stabs.c, 3668 * syms.c: Standardize error/warning messages. 3669 36702018-02-26 Alan Modra <amodra@gmail.com> 3671 3672 * aout-adobe.c, * aout-cris.c, * i386linux.c, * m68klinux.c, 3673 * sparclinux.c, * coff-alpha.c, * coff-arm.c, * coff-mcore.c, 3674 * coffcode.h, * coffgen.c, * cofflink.c, * ecoff.c, * pe-mips.c, 3675 * peXXigen.c, * peicode.h: Standardize error/warning messages. 3676 36772018-02-26 Alan Modra <amodra@gmail.com> 3678 3679 * elf32-arm.c, * elfnn-aarch64.c: Standardize error/warning messages. 3680 36812018-02-26 Alan Modra <amodra@gmail.com> 3682 3683 * elfxx-mips.c: Standardize error/warning messages. 3684 36852018-02-26 Alan Modra <amodra@gmail.com> 3686 3687 * dwarf2.c, * elf-attrs.c, * elf-eh-frame.c, * elf.c, * elf32-gen.c, 3688 * elflink.c: Standardize error/warning messages. Replace use of 3689 linker callback einfo with _bfd_error_handler when possible. 3690 36912018-02-26 Alan Modra <amodra@gmail.com> 3692 3693 * aoutx.h, * coff-alpha.c, * coff-i860.c, * coff-m68k.c, 3694 * coff-mcore.c, * coff-ppc.c, * coff-rs6000.c, * coff-sh.c, 3695 * coff-tic4x.c, * coff-tic54x.c, * coff-tic80.c, * coff-w65.c, 3696 * elf-bfd.h, * elf-m10300.c, * elf.c, * elf32-avr.c, * elf32-bfin.c, 3697 * elf32-cr16.c, * elf32-cr16c.c, * elf32-cris.c, * elf32-crx.c, 3698 * elf32-d10v.c, * elf32-d30v.c, * elf32-dlx.c, * elf32-epiphany.c, 3699 * elf32-fr30.c, * elf32-frv.c, * elf32-i370.c, * elf32-i386.c, 3700 * elf32-i960.c, * elf32-ip2k.c, * elf32-iq2000.c, * elf32-lm32.c, 3701 * elf32-m32c.c, * elf32-m32r.c, * elf32-m68hc11.c, * elf32-m68hc12.c, 3702 * elf32-m68k.c, * elf32-mcore.c, * elf32-mep.c, * elf32-metag.c, 3703 * elf32-microblaze.c, * elf32-mips.c, * elf32-moxie.c, 3704 * elf32-msp430.c, * elf32-mt.c, * elf32-nds32.c, * elf32-or1k.c, 3705 * elf32-pj.c, * elf32-ppc.c, * elf32-rl78.c, * elf32-rx.c, 3706 * elf32-s390.c, * elf32-sh.c, * elf32-spu.c, * elf32-tic6x.c, 3707 * elf32-v850.c, * elf32-vax.c, * elf32-visium.c, * elf32-wasm32.c, 3708 * elf32-xgate.c, * elf32-xtensa.c, * elf64-alpha.c, 3709 * elf64-ia64-vms.c, * elf64-mips.c, * elf64-mmix.c, 3710 * elf64-ppc.c, * elf64-s390.c, * elf64-sparc.c, * elf64-x86-64.c, 3711 * elfn32-mips.c, * elfnn-aarch64.c, * elfnn-ia64.c, 3712 * elfnn-riscv.c, * elfxx-mips.c, * elfxx-riscv.c, * elfxx-riscv.h, 3713 * elfxx-sparc.c, * elfxx-sparc.h, * reloc.c: Standardize 3714 unrecognized/unsupported reloc message. 3715 37162018-02-26 Alan Modra <amodra@gmail.com> 3717 3718 * elf32-ppc.c: Standardize error/warning messages. Use 3719 _bfd_error_handler rather than einfo when einfo features not used. 3720 * elf64-ppc.c: Likewise. 3721 37222018-02-23 Alan Modra <amodra@gmail.com> 3723 3724 PR 22881 3725 * elf.c (assign_file_positions_for_non_load_sections): Remove RELRO 3726 segment if no matching LOAD segment. 3727 37282018-02-23 Kuan-Lin Chen <kuanlinchentw@gmail.com> 3729 3730 * elf32-nds32.h: Define mask for ict_model. 3731 37322018-02-20 Jason Duerstock <jason.duerstock@gmail.com> 3733 3734 * elfnn-ia64.c (elf_backend_can_gc_sections): Enable. 3735 37362018-02-19 Maciej W. Rozycki <macro@mips.com> 3737 3738 Revert 3739 2018-01-12 Vlad Ivanov <vlad@ivanov.email> 3740 3741 * elfxx-mips.c (_bfd_mips_elf_final_link): Notify user when 3742 .reginfo section has wrong size. 3743 37442018-02-19 Maciej W. Rozycki <macro@mips.com> 3745 3746 * elfxx-mips.c (_bfd_mips_elf_always_size_sections): Set 3747 SEC_FIXED_SIZE and SEC_HAS_CONTENTS flags for `.reginfo' and 3748 `.MIPS.abiflags' sections. 3749 (_bfd_mips_elf_final_link): Avoid reading beyond `.reginfo' 3750 section's end. 3751 37522018-02-19 Maciej W. Rozycki <macro@mips.com> 3753 3754 * section.c (SEC_FIXED_SIZE): New macro. 3755 * bfd-in2.h: Regenerate. 3756 37572018-02-19 Maciej W. Rozycki <macro@mips.com> 3758 3759 * section.c (SEC_HAS_GOT_REF): Remove macro. 3760 * bfd-in2.h: Regenerate. 3761 37622018-02-19 Alan Modra <amodra@gmail.com> 3763 3764 * elf-attrs.c (_bfd_elf_parse_attributes): Correct _bfd_error_handler 3765 arguments. 3766 * elfxx-mips.c (_bfd_mips_elf_final_link): Likewise. 3767 * elfnn-riscv.c (_bfd_riscv_relax_align): Likewise. 3768 (_bfd_riscv_relax_pc): Likewise and fix typos. 3769 * libbfd-in.h (_bfd_error_handler): Add attribute printf. 3770 * libbfd.h: Regenerate. 3771 37722018-02-19 Alan Modra <amodra@gmail.com> 3773 3774 * dwarf2.c (read_section): Don't use 'll' format modifier. 3775 (find_abstract_instance): Likewise. 3776 * elfcore.h (elf_core_file_p): Likewise. 3777 37782018-02-19 Alan Modra <amodra@gmail.com> 3779 3780 * bfd-in.h: Include inttypes.h or if not available define 3781 PRId64, PRIu64 and PRIx64. 3782 * bfd.c (_bfd_doprnt, _bfd_doprnt_scan): Remove support for L 3783 modifier to print bfd_vma. 3784 * coff-arm.c, * coff-mcore.c, * coff-ppc.c, * coff-rs6000.c, 3785 * coff-sh.c, * coff-tic80.c, * coffcode.h, * coffgen.c, * cofflink.c, 3786 * compress.c, * dwarf2.c, * elf-m10300.c, * elf.c, * elf32-arc.c, 3787 * elf32-arm.c, * elf32-bfin.c, * elf32-cris.c, * elf32-hppa.c, 3788 * elf32-i386.c, * elf32-ip2k.c, * elf32-lm32.c, * elf32-m32r.c, 3789 * elf32-m68k.c, * elf32-metag.c, * elf32-nds32.c, * elf32-nios2.c, 3790 * elf32-ppc.c, * elf32-rx.c, * elf32-s390.c, * elf32-score.c, 3791 * elf32-score7.c, * elf32-sh.c, * elf32-sh64.c, * elf32-spu.c, 3792 * elf32-tic6x.c, * elf32-tilepro.c, * elf32-v850.c, * elf32-vax.c, 3793 * elf32-xtensa.c, * elf64-alpha.c, * elf64-hppa.c, * elf64-ia64-vms.c, 3794 * elf64-mmix.c, * elf64-s390.c, * elf64-sh64.c, * elf64-x86-64.c, 3795 * elfcode.h, * elfcore.h, * elflink.c, * elfnn-aarch64.c, 3796 * elfnn-ia64.c, * elfnn-riscv.c, * elfxx-mips.c, * elfxx-sparc.c, 3797 * elfxx-tilegx.c, * ieee.c, * ihex.c, * mach-o.c, * merge.c, * mmo.c, 3798 * peXXigen.c, * xcofflink.c: Replace use of Lx modifier with PRIx64, 3799 and cast input to uint64_t, and similarly for Ld and Lu. 3800 * bfd-in2.h: Regenerate. 3801 38022018-02-19 Alan Modra <amodra@gmail.com> 3803 3804 * elf32-arm.c, * elf32-hppa.c, * elf32-lm32.c, * elf32-m32r.c, 3805 * elf32-metag.c, * elf32-nds32.c, * elf32-or1k.c, * elf32-ppc.c, 3806 * elf32-s390.c, * elf32-sh.c, * elf32-tic6x.c, * elf32-tilepro.c, 3807 * elf64-ppc.c, * elf64-s390.c, * elflink.c, * elfnn-aarch64.c, 3808 * elfnn-riscv.c, * elfxx-sparc.c, * elfxx-tilegx.c, * elfxx-x86.c, 3809 * reloc.c: Replace use of %R and %T in format strings passed to 3810 einfo and friends by %pR and %pT. 3811 38122018-02-19 Alan Modra <amodra@gmail.com> 3813 3814 * bfd.c (_bfd_doprnt, _bfd_doprnt_scan): Handle %pA and %pB in place 3815 of %A and %B. 3816 * aout-adobe.c: Update all messages using %A and %B. 3817 * aout-cris.c: Likewise. 3818 * aoutx.h: Likewise. 3819 * archive.c: Likewise. 3820 * binary.c: Likewise. 3821 * cache.c: Likewise. 3822 * coff-alpha.c: Likewise. 3823 * coff-arm.c: Likewise. 3824 * coff-i860.c: Likewise. 3825 * coff-mcore.c: Likewise. 3826 * coff-ppc.c: Likewise. 3827 * coff-rs6000.c: Likewise. 3828 * coff-sh.c: Likewise. 3829 * coff-tic4x.c: Likewise. 3830 * coff-tic54x.c: Likewise. 3831 * coff-tic80.c: Likewise. 3832 * coff64-rs6000.c: Likewise. 3833 * coffcode.h: Likewise. 3834 * coffgen.c: Likewise. 3835 * cofflink.c: Likewise. 3836 * coffswap.h: Likewise. 3837 * compress.c: Likewise. 3838 * cpu-arm.c: Likewise. 3839 * ecoff.c: Likewise. 3840 * elf-attrs.c: Likewise. 3841 * elf-eh-frame.c: Likewise. 3842 * elf-ifunc.c: Likewise. 3843 * elf-m10300.c: Likewise. 3844 * elf-properties.c: Likewise. 3845 * elf-s390-common.c: Likewise. 3846 * elf.c: Likewise. 3847 * elf32-arc.c: Likewise. 3848 * elf32-arm.c: Likewise. 3849 * elf32-avr.c: Likewise. 3850 * elf32-bfin.c: Likewise. 3851 * elf32-cr16.c: Likewise. 3852 * elf32-cr16c.c: Likewise. 3853 * elf32-cris.c: Likewise. 3854 * elf32-crx.c: Likewise. 3855 * elf32-d10v.c: Likewise. 3856 * elf32-d30v.c: Likewise. 3857 * elf32-epiphany.c: Likewise. 3858 * elf32-fr30.c: Likewise. 3859 * elf32-frv.c: Likewise. 3860 * elf32-gen.c: Likewise. 3861 * elf32-hppa.c: Likewise. 3862 * elf32-i370.c: Likewise. 3863 * elf32-i386.c: Likewise. 3864 * elf32-i960.c: Likewise. 3865 * elf32-ip2k.c: Likewise. 3866 * elf32-iq2000.c: Likewise. 3867 * elf32-lm32.c: Likewise. 3868 * elf32-m32c.c: Likewise. 3869 * elf32-m32r.c: Likewise. 3870 * elf32-m68hc11.c: Likewise. 3871 * elf32-m68hc12.c: Likewise. 3872 * elf32-m68hc1x.c: Likewise. 3873 * elf32-m68k.c: Likewise. 3874 * elf32-mcore.c: Likewise. 3875 * elf32-mep.c: Likewise. 3876 * elf32-metag.c: Likewise. 3877 * elf32-microblaze.c: Likewise. 3878 * elf32-moxie.c: Likewise. 3879 * elf32-msp430.c: Likewise. 3880 * elf32-mt.c: Likewise. 3881 * elf32-nds32.c: Likewise. 3882 * elf32-nios2.c: Likewise. 3883 * elf32-or1k.c: Likewise. 3884 * elf32-pj.c: Likewise. 3885 * elf32-ppc.c: Likewise. 3886 * elf32-rl78.c: Likewise. 3887 * elf32-rx.c: Likewise. 3888 * elf32-s390.c: Likewise. 3889 * elf32-score.c: Likewise. 3890 * elf32-score7.c: Likewise. 3891 * elf32-sh-symbian.c: Likewise. 3892 * elf32-sh.c: Likewise. 3893 * elf32-sh64.c: Likewise. 3894 * elf32-sparc.c: Likewise. 3895 * elf32-spu.c: Likewise. 3896 * elf32-tic6x.c: Likewise. 3897 * elf32-tilepro.c: Likewise. 3898 * elf32-v850.c: Likewise. 3899 * elf32-vax.c: Likewise. 3900 * elf32-visium.c: Likewise. 3901 * elf32-wasm32.c: Likewise. 3902 * elf32-xgate.c: Likewise. 3903 * elf32-xtensa.c: Likewise. 3904 * elf64-alpha.c: Likewise. 3905 * elf64-gen.c: Likewise. 3906 * elf64-hppa.c: Likewise. 3907 * elf64-ia64-vms.c: Likewise. 3908 * elf64-mmix.c: Likewise. 3909 * elf64-ppc.c: Likewise. 3910 * elf64-s390.c: Likewise. 3911 * elf64-sh64.c: Likewise. 3912 * elf64-sparc.c: Likewise. 3913 * elf64-x86-64.c: Likewise. 3914 * elfcode.h: Likewise. 3915 * elfcore.h: Likewise. 3916 * elflink.c: Likewise. 3917 * elfnn-aarch64.c: Likewise. 3918 * elfnn-ia64.c: Likewise. 3919 * elfnn-riscv.c: Likewise. 3920 * elfxx-mips.c: Likewise. 3921 * elfxx-sparc.c: Likewise. 3922 * elfxx-tilegx.c: Likewise. 3923 * elfxx-x86.c: Likewise. 3924 * hpux-core.c: Likewise. 3925 * ieee.c: Likewise. 3926 * ihex.c: Likewise. 3927 * libbfd.c: Likewise. 3928 * linker.c: Likewise. 3929 * mach-o.c: Likewise. 3930 * merge.c: Likewise. 3931 * mmo.c: Likewise. 3932 * oasys.c: Likewise. 3933 * pdp11.c: Likewise. 3934 * pe-mips.c: Likewise. 3935 * peXXigen.c: Likewise. 3936 * peicode.h: Likewise. 3937 * reloc.c: Likewise. 3938 * rs6000-core.c: Likewise. 3939 * srec.c: Likewise. 3940 * stabs.c: Likewise. 3941 * vms-alpha.c: Likewise. 3942 * xcofflink.c: Likewise. 3943 39442018-02-19 Alan Modra <amodra@gmail.com> 3945 3946 PR 22845 3947 * elf.c (IS_TBSS): Define. 3948 (_bfd_elf_map_sections_to_segments): Use IS_TBSS. 3949 (assign_file_positions_for_non_load_sections): Revert last change. 3950 Properly calculate load segment limits to compare against relro limits. 3951 39522018-02-17 Alan Modra <amodra@gmail.com> 3953 3954 PR 22845 3955 * elf.c (assign_file_positions_for_non_load_sections): Ignore 3956 degenerate zero size PT_LOAD segments when finding one overlapping 3957 the PT_GNU_RELRO segment. 3958 39592018-02-16 Alan Modra <amodra@gmail.com> 3960 3961 * libbfd.c (_bfd_bool_bfd_false_error): Rename from bfd_false. 3962 (_bfd_bool_bfd_true): Rename from bfd_true. 3963 (_bfd_ptr_bfd_null_error): Rename from bfd_nullvoidptr. 3964 (_bfd_int_bfd_0): Rename from bfd_0. 3965 (_bfd_uint_bfd_0): Rename from bfd_0u. 3966 (_bfd_long_bfd_0): Rename from bfd_0l. 3967 (_bfd_long_bfd_n1_error): Rename from _bfd_n1. 3968 (_bfd_void_bfd): Rename from bfd_void. 3969 (_bfd_bool_bfd_false, _bfd_bool_bfd_asymbol_false), 3970 (_bfd_bool_bfd_link_false_error), 3971 (_bfd_bool_bfd_link_true, _bfd_bool_bfd_bfd_true), 3972 (_bfd_bool_bfd_uint_true, _bfd_bool_bfd_ptr_true), 3973 (_bfd_bool_bfd_asection_bfd_asection_true), 3974 (_bfd_bool_bfd_asymbol_bfd_asymbol_true), 3975 (_bfd_void_bfd_link, _bfd_void_bfd_asection): New functions. 3976 * archive.c (_bfd_noarchive_get_elt_at_index), 3977 (_bfd_noarchive_openr_next_archived_file), 3978 (_bfd_noarchive_construct_extended_name_table), 3979 (_bfd_noarchive_write_ar_hdr, _bfd_noarchive_truncate_arname), 3980 (_bfd_noarchive_write_armap): New functions. 3981 * archures.c (_bfd_nowrite_set_arch_mach): New function. 3982 * coff-alpha.c (alpha_ecoff_swap_coff_aux_in), 3983 (alpha_ecoff_swap_coff_sym_in, alpha_ecoff_swap_coff_lineno_in), 3984 (alpha_ecoff_swap_coff_aux_out, alpha_ecoff_swap_coff_sym_out), 3985 (alpha_ecoff_swap_coff_lineno_out), 3986 (alpha_ecoff_swap_coff_reloc_out): New functions. 3987 * coff-mips.c (mips_ecoff_swap_coff_aux_in), 3988 (mips_ecoff_swap_coff_sym_in, mips_ecoff_swap_coff_lineno_in), 3989 (mips_ecoff_swap_coff_aux_out, mips_ecoff_swap_coff_sym_out), 3990 (mips_ecoff_swap_coff_lineno_out), 3991 (mips_ecoff_swap_coff_reloc_out): New functions. 3992 * coffcode.h (coff_set_alignment_hook): Replace define with 3993 new function. 3994 (symname_in_debug_hook): Likewise. 3995 * ecoff.c (_bfd_ecoff_set_alignment_hook): New function. 3996 * elfxx-target.h (elf_backend_allow_non_load_phdr): Default to 0. 3997 * elf.c (assign_file_positions_except_relocs): Test 3998 elf_backend_allow_non_load_phdr for NULL. 3999 * elflink.c (_bfd_elf_omit_section_dynsym_default): Rename from 4000 _bfd_elf_link_omit_section_dynsym. Update uses. 4001 (_bfd_elf_omit_section_dynsym_all): New function. 4002 * elf-bfd.h (_bfd_elf_link_omit_section_dynsym): Delete. 4003 (_bfd_elf_omit_section_dynsym_default): Declare. 4004 (_bfd_elf_omit_section_dynsym_all): Declare. 4005 * linker.c (_bfd_nolink_sizeof_headers, _bfd_nolink_bfd_relax_section), 4006 (_bfd_nolink_bfd_get_relocated_section_contents), 4007 (_bfd_nolink_bfd_lookup_section_flags), 4008 (_bfd_nolink_bfd_is_group_section, _bfd_nolink_bfd_discard_group), 4009 (_bfd_nolink_bfd_link_hash_table_create), 4010 (_bfd_nolink_bfd_link_just_syms), 4011 (_bfd_nolink_bfd_copy_link_hash_symbol_type), 4012 (_bfd_nolink_bfd_link_split_section), 4013 (_bfd_nolink_section_already_linked), 4014 (_bfd_nolink_bfd_define_common_symbol), 4015 (_bfd_nolink_bfd_define_start_stop): New functions. 4016 * reloc.c (_bfd_norelocs_bfd_reloc_type_lookup), 4017 (_bfd_norelocs_bfd_reloc_name_lookup), 4018 (_bfd_nodynamic_canonicalize_dynamic_reloc): New functions. 4019 * section.c (_bfd_nowrite_set_section_contents): New function. 4020 * syms.c (_bfd_nosymbols_canonicalize_symtab), 4021 (_bfd_nosymbols_print_symbol, _bfd_nosymbols_get_symbol_info), 4022 (_bfd_nosymbols_get_symbol_version_string), 4023 (_bfd_nosymbols_bfd_is_local_label_name), 4024 (_bfd_nosymbols_get_lineno, _bfd_nosymbols_find_nearest_line), 4025 (_bfd_nosymbols_find_line, _bfd_nosymbols_find_inliner_info), 4026 (_bfd_nosymbols_bfd_make_debug_symbol), 4027 ( _bfd_nosymbols_read_minisymbols), 4028 ( _bfd_nosymbols_minisymbol_to_symbol), 4029 (_bfd_nodynamic_get_synthetic_symtab): New functions. 4030 * libbfd-in.h: Declare new functions. Update existing defines, 4031 removing casts. 4032 * aix386-core.c: Update to use new hooks. Formatting. 4033 * aout-adobe.c: Likewise. 4034 * aout-arm.c: Likewise. 4035 * aout-target.h: Likewise. 4036 * aout-tic30.c: Likewise. 4037 * aoutf1.h: Likewise. 4038 * binary.c: Likewise. 4039 * bout.c: Likewise. 4040 * cisco-core.c: Likewise. 4041 * coff-alpha.c: Likewise. 4042 * coff-i386.c: Likewise. 4043 * coff-i860.c: Likewise. 4044 * coff-i960.c: Likewise. 4045 * coff-ia64.c: Likewise. 4046 * coff-mips.c: Likewise. 4047 * coff-ppc.c: Likewise. 4048 * coff-rs6000.c: Likewise. 4049 * coff-sh.c: Likewise. 4050 * coff-tic30.c: Likewise. 4051 * coff-tic54x.c: Likewise. 4052 * coff-x86_64.c: Likewise. 4053 * coff64-rs6000.c: Likewise. 4054 * coffcode.h: Likewise. 4055 * elf-m10300.c: Likewise. 4056 * elf32-cr16.c: Likewise. 4057 * elf32-lm32.c: Likewise. 4058 * elf32-m32r.c: Likewise. 4059 * elf32-metag.c: Likewise. 4060 * elf32-score.c: Likewise. 4061 * elf32-score7.c: Likewise. 4062 * elf32-tilepro.c: Likewise. 4063 * elf32-xstormy16.c: Likewise. 4064 * elf32-xtensa.c: Likewise. 4065 * elf64-alpha.c: Likewise. 4066 * elf64-hppa.c: Likewise. 4067 * elf64-ia64-vms.c: Likewise. 4068 * elf64-mmix.c: Likewise. 4069 * elf64-sh64.c: Likewise. 4070 * elfnn-ia64.c: Likewise. 4071 * elfxx-sparc.c: Likewise. 4072 * elfxx-target.h: Likewise. 4073 * elfxx-tilegx.c: Likewise. 4074 * elfxx-x86.h: Likewise. 4075 * hp300hpux.c: Likewise. 4076 * hppabsd-core.c: Likewise. 4077 * hpux-core.c: Likewise. 4078 * i386msdos.c: Likewise. 4079 * i386os9k.c: Likewise. 4080 * ieee.c: Likewise. 4081 * ihex.c: Likewise. 4082 * irix-core.c: Likewise. 4083 * libaout.h: Likewise. 4084 * libecoff.h: Likewise. 4085 * mach-o-target.c: Likewise. 4086 * mach-o.c: Likewise. 4087 * mipsbsd.c: Likewise. 4088 * mmo.c: Likewise. 4089 * netbsd-core.c: Likewise. 4090 * nlm-target.h: Likewise. 4091 * oasys.c: Likewise. 4092 * osf-core.c: Likewise. 4093 * pdp11.c: Likewise. 4094 * pe-mips.c: Likewise. 4095 * pe-x86_64.c: Likewise. 4096 * pef.c: Likewise. 4097 * plugin.c: Likewise. 4098 * ppcboot.c: Likewise. 4099 * ptrace-core.c: Likewise. 4100 * sco5-core.c: Likewise. 4101 * som.c: Likewise. 4102 * sparclynx.c: Likewise. 4103 * srec.c: Likewise. 4104 * tekhex.c: Likewise. 4105 * trad-core.c: Likewise. 4106 * verilog.c: Likewise. 4107 * versados.c: Likewise. 4108 * vms-alpha.c: Likewise. 4109 * vms-lib.c: Likewise. 4110 * wasm-module.c: Likewise. 4111 * xsym.c: Likewise. 4112 * libbfd.h: Regenerate. 4113 41142018-02-15 Jim Wilson <jimw@sifive.com> 4115 4116 * elfnn-riscv.c (_bfd_riscv_relax_section): Ifdef out check to ignore 4117 symbols whose section address is zero. 4118 4119 * elfnn-riscv.c (riscv_elf_relocate_section): Use bfd_reloc_dangerous 4120 when pcrel_lo reloc has an addend. Use reloc_dangerous callback for 4121 bfd_reloc_dangerous. Use einfo instead of warning callback for errors. 4122 Add %X%P to error messages. 4123 41242018-02-15 Eric Botcazou <ebotcazou@adacore.com> 4125 4126 PR ld/22832 4127 * elfxx-sparc.c (_bfd_sparc_elf_check_relocs) <R_SPARC_TLS_GD_CALL>: 4128 Pass FALSE instead of TRUE as 'create' argument to bfd_link_hash_lookup 4129 and assert that the result of the call is not NULL. 4130 41312018-02-14 Nick Clifton <nickc@redhat.com> 4132 4133 PR 22823 4134 Revert previous delta. Add extra casts to avoid compile time 4135 warnings instead. 4136 * libbfd-in.h (_bfd_generic_bfd_copy_private_bfd_data): Add extra 4137 cast to avoid warning from gcc v8 compiler. 4138 (_bfd_generic_bfd_merge_private_bfd_data): Likewise. 4139 (_bfd_generic_bfd_set_private_flags): Likewise. 4140 (_bfd_generic_bfd_copy_private_section_data): Likewise. 4141 (_bfd_generic_bfd_copy_private_symbol_data): Likewise. 4142 (_bfd_generic_bfd_copy_private_header_data): Likewise. 4143 (_bfd_generic_bfd_print_private_bfd_data): Likewise. 4144 (_bfd_noarchive_construct_extended_name_table): Likewise. 4145 (_bfd_noarchive_truncate_arname): Likewise. 4146 (_bfd_noarchive_write_ar_hdr): Likewise. 4147 (_bfd_noarchive_get_elt_at_index): Likewise. 4148 (_bfd_nosymbols_canonicalize_symtab): Likewise. 4149 (_bfd_nosymbols_print_symbol): Likewise. 4150 (_bfd_nosymbols_get_symbol_info): Likewise. 4151 (_bfd_nosymbols_get_symbol_version_string): Likewise. 4152 (_bfd_nosymbols_bfd_is_local_label_name): Likewise. 4153 (_bfd_nosymbols_bfd_is_target_special_symbol): Likewise. 4154 (_bfd_nosymbols_get_lineno): Likewise. 4155 (_bfd_nosymbols_find_nearest_line): Likewise. 4156 (_bfd_nosymbols_find_line): Likewise. 4157 (_bfd_nosymbols_find_inliner_info): Likewise. 4158 (_bfd_nosymbols_bfd_make_debug_symbol): Likewise. 4159 (_bfd_nosymbols_read_minisymbols): Likewise. 4160 (_bfd_nosymbols_minisymbol_to_symbol): Likewise. 4161 (_bfd_norelocs_bfd_reloc_type_lookup): Likewise. 4162 (_bfd_norelocs_bfd_reloc_name_lookup): Likewise. 4163 (_bfd_nowrite_set_arch_mach): Likewise. 4164 (_bfd_nowrite_set_section_contents): Likewise. 4165 (_bfd_nolink_sizeof_headers): Likewise. 4166 (_bfd_nolink_bfd_get_relocated_section_contents): Likewise. 4167 (_bfd_nolink_bfd_relax_section): Likewise. 4168 (_bfd_nolink_bfd_gc_sections): Likewise. 4169 (_bfd_nolink_bfd_lookup_section_flags): Likewise. 4170 (_bfd_nolink_bfd_merge_sections): Likewise. 4171 (_bfd_nolink_bfd_is_group_section): Likewise. 4172 (_bfd_nolink_bfd_discard_group): Likewise. 4173 (_bfd_nolink_bfd_link_hash_table_create): Likewise. 4174 (_bfd_nolink_bfd_link_add_symbols): Likewise. 4175 (_bfd_nolink_bfd_link_just_syms): Likewise. 4176 (_bfd_nolink_bfd_copy_link_hash_symbol_type): Likewise. 4177 (_bfd_nolink_bfd_final_link): Likewise. 4178 (_bfd_nolink_bfd_link_split_section): Likewise. 4179 (_bfd_nolink_section_already_linked): Likewise. 4180 (_bfd_nolink_bfd_define_common_symbol): Likewise. 4181 (_bfd_nolink_bfd_define_start_stop): Likewise. 4182 (_bfd_nodynamic_canonicalize_dynamic_symtab): Likewise. 4183 (_bfd_nodynamic_get_synthetic_symtab): Likewise. 4184 (_bfd_nodynamic_get_dynamic_reloc_upper_bound _bfd_): Likewise. 4185 (_bfd_nodynamic_canonicalize_dynamic_reloc): Likewise. 4186 * libbfd.c (bfd_false_any): Delete. 4187 (bfd_true_any, bfd_nullvoidptr_any, bfd_0_any): Delete. 4188 (bfd_0u_any, bfd_0l_any, _bfd_n1_any, bfd_void_any): Delete. 4189 * libbfd.h (extern): Regenerate 4190 * aout-target.h (MY_bfd_is_target_special_symbol): Add extra 4191 cast to avoid warning from gcc v8 compiler. 4192 * aout-tic30.c (tic30_aout_set_arch_mach): Likewise. 4193 * binary.c (binary_get_symbol_info): Likewise. 4194 * coff-alpha.c (alpha_ecoff_backend_data): Likewise. 4195 * coff-mips.c (mips_ecoff_backend_data): Likewise. 4196 * coffcode.h (coff_set_alignment_hook): Likewise. 4197 (symname_in_debug_hook): Likewise. 4198 (bfd_coff_backend_data bigobj_swap_table): Likewise. 4199 * elf-m10300.c (elf_backend_omit_section_dynsym): Likewise. 4200 * elf32-cr16.c (elf_backend_omit_section_dynsym): Likewise. 4201 * elf32-lm32.c (elf_backend_omit_section_dynsym): Likewise. 4202 * elf32-m32r.c (elf_backend_omit_section_dynsym): Likewise. 4203 * elf32-metag.c (elf_backend_omit_section_dynsym): Likewise. 4204 * elf32-score.c (elf_backend_omit_section_dynsym): Likewise. 4205 * elf32-score7.c (elf_backend_omit_section_dynsym): Likewise. 4206 * elf32-xstormy16.c (elf_backend_omit_section_dynsym): Likewise. 4207 * elf32-xtensa.c (elf_backend_omit_section_dynsym): Likewise. 4208 * elf64-alpha.c (elf_backend_omit_section_dynsym): Likewise. 4209 * elf64-hppa.c (elf_backend_omit_section_dynsym): Likewise. 4210 * elf64-ia64-vms.c (elf_backend_omit_section_dynsym): Likewise. 4211 * elf64-mmix.c (elf_backend_omit_section_dynsym): Likewise. 4212 * elf64-sh64.c (elf_backend_omit_section_dynsym): Likewise. 4213 * elfnn-ia64.c (elf_backend_omit_section_dynsym): Likewise. 4214 * elfxx-target.h (bfd_elfNN_bfd_debug_info_accumulate): Likewise. 4215 (bfd_elfNN_bfd_make_debug_symbol): Likewise. 4216 (bfd_elfNN_bfd_merge_private_bfd_data): Likewise. 4217 (bfd_elfNN_bfd_set_private_flags): Likewise. 4218 (bfd_elfNN_bfd_is_target_special_symbol): Likewise. 4219 (elf_backend_init_index_section): Likewise. 4220 (elf_backend_allow_non_load_phdr): Likewise. 4221 * elfxx-x86.h (elf_backend_omit_section_dynsym): Likewise. 4222 * i386msdos.c (msdos_bfd_is_target_special_symbol): Likewise. 4223 * ieee.c (ieee_construct_extended_name_table): Likewise. 4224 (ieee_write_armap): Likewise. 4225 (ieee_write_ar_hdr): Likewise. 4226 (ieee_bfd_is_target_special_symbol): Likewise. 4227 * ihex.c (ihex_canonicalize_symtab): Likewise. 4228 (ihex_bfd_is_target_special_symbol): Likewise. 4229 * libaout.h (aout_32_bfd_is_target_special_symbol): Likewise. 4230 * libecoff.h (_bfd_ecoff_bfd_is_target_special_symbol): Likewise. 4231 (_bfd_ecoff_set_alignment_hook): Likewise. 4232 * mach-o-target.c (bfd_mach_o_bfd_is_target_special_symbol): Likewise. 4233 * mmo.c (mmo_bfd_is_target_special_symbol): Likewise. 4234 * nlm-target.h (nlm_bfd_is_target_special_symbol): Likewise. 4235 * oasys.c (oasys_construct_extended_name_table): Likewise. 4236 (oasys_write_armap): Likewise. 4237 (oasys_write_ar_hdr): Likewise. 4238 (oasys_bfd_is_target_special_symbol): Likewise. 4239 * pef.c (bfd_pef_bfd_is_target_special_symbol): Likewise. 4240 * plugin.c (bfd_plugin_bfd_is_target_special_symbol): Likewise. 4241 * ppcboot.c (ppcboot_bfd_is_target_special_symbol): Likewise. 4242 * som.c (som_bfd_is_target_special_symbol): Likewise. 4243 * srec.c (srec_bfd_is_target_special_symbol): Likewise. 4244 * tekhex.c (tekhex_bfd_is_target_special_symbol): Likewise. 4245 * verilog.c (verilog_bfd_is_target_special_symbol): Likewise. 4246 * versados.c (versados_bfd_is_target_special_symbol): Likewise. 4247 (versados_bfd_reloc_name_lookup): Likewise. 4248 * vms-alpha.c (vms_bfd_is_target_special_symbol): Likewise. 4249 (vms_bfd_define_start_stop): Likewise. 4250 (alpha_vms_bfd_is_target_special_symbol): Likewise. 4251 * wasm-module.c (wasm_bfd_is_target_special_symbol): Likewise. 4252 * xsym.c (bfd_sym_bfd_is_target_special_symbol): Likewise. 4253 42542018-02-14 H.J. Lu <hongjiu.lu@intel.com> 4255 4256 PR ld/22842 4257 * elf32-i386.c (elf_i386_check_relocs): Pass FALSE for non 4258 PC-relative PLT to NEED_DYNAMIC_RELOCATION_P. 4259 * elf64-x86-64.c (elf_x86_64_check_relocs): Create PLT for 4260 R_X86_64_PC32 reloc against dynamic function in data section. 4261 Pass TRUE for PC-relative PLT to NEED_DYNAMIC_RELOCATION_P. 4262 (elf_x86_64_relocate_section): Use PLT for R_X86_64_PC32 reloc 4263 against dynamic function in data section. 4264 * elfxx-x86.c (elf_x86_allocate_dynrelocs): Use PLT in PIE as 4265 function address only if pcrel_plt is true. 4266 (_bfd_x86_elf_link_hash_table_create): Set pcrel_plt. 4267 * elfxx-x86.h (NEED_DYNAMIC_RELOCATION_P): Add PCREL_PLT for 4268 PC-relative PLT. If PLT is PC-relative, don't generate dynamic 4269 PC-relative relocation against a function definition in data 4270 secton in PIE. Remove the obsolete comments. 4271 (elf_x86_link_hash_table): Add pcrel_plt. 4272 42732018-02-13 H.J. Lu <hongjiu.lu@intel.com> 4274 4275 * elfxx-x86.c (elf_x86_allocate_dynrelocs): Check bfd_link_dll, 4276 instead of bfd_link_pic, for building shared library. 4277 42782018-02-13 H.J. Lu <hongjiu.lu@intel.com> 4279 4280 PR gas/22791 4281 * elf64-x86-64.c (is_32bit_relative_branch): Removed. 4282 (elf_x86_64_relocate_section): Check PIC relocations in PIE. 4283 Remove is_32bit_relative_branch usage. Disallow PC32 reloc 4284 against protected function in shared object. 4285 42862018-02-13 Sergei Trofimovich <slyfox@inbox.ru> 4287 4288 PR 22828 4289 * po/ru.po: Fix typo in Russian translation. 4290 42912018-02-13 Maciej W. Rozycki <macro@mips.com> 4292 4293 * wasm-module.c (wasm_scan_name_function_section): Rename 4294 `index' local variable to `idx'. 4295 42962018-02-13 Nick Clifton <nickc@redhat.com> 4297 4298 PR 22823 4299 Fix compile time warnings generated by gcc version 8. 4300 * libbfd-in.h: Remove extraneous text from prototypes. 4301 Add prototypes for bfd_false_any, bfd_true_any, 4302 bfd_nullvoidptr_any, bfd_0_any, bfd_0u_any, bfd_0l_any, 4303 bfd_n1_any, bfd_void_any. 4304 (_bfd_generic_bfd_copy_private_bfd_data): Use vararg based dummy 4305 function. 4306 (_bfd_generic_bfd_merge_private_bfd_data): Likewise. 4307 (_bfd_generic_bfd_set_private_flags): Likewise. 4308 (_bfd_generic_bfd_copy_private_section_data): Likewise. 4309 (_bfd_generic_bfd_copy_private_symbol_data): Likewise. 4310 (_bfd_generic_bfd_copy_private_header_data): Likewise. 4311 (_bfd_generic_bfd_print_private_bfd_data): Likewise. 4312 (_bfd_noarchive_construct_extended_name_table): Likewise. 4313 (_bfd_noarchive_truncate_arname): Likewise. 4314 (_bfd_noarchive_write_ar_hdr): Likewise. 4315 (_bfd_noarchive_get_elt_at_index): Likewise. 4316 (_bfd_nosymbols_canonicalize_symtab): Likewise. 4317 (_bfd_nosymbols_print_symbol): Likewise. 4318 (_bfd_nosymbols_get_symbol_info): Likewise. 4319 (_bfd_nosymbols_get_symbol_version_string): Likewise. 4320 (_bfd_nosymbols_bfd_is_local_label_name): Likewise. 4321 (_bfd_nosymbols_bfd_is_target_special_symbol): Likewise. 4322 (_bfd_nosymbols_get_lineno): Likewise. 4323 (_bfd_nosymbols_find_nearest_line): Likewise. 4324 (_bfd_nosymbols_find_line): Likewise. 4325 (_bfd_nosymbols_find_inliner_info): Likewise. 4326 (_bfd_nosymbols_bfd_make_debug_symbol): Likewise. 4327 (_bfd_nosymbols_read_minisymbols): Likewise. 4328 (_bfd_nosymbols_minisymbol_to_symbol): Likewise. 4329 (_bfd_norelocs_bfd_reloc_type_lookup): Likewise. 4330 (_bfd_norelocs_bfd_reloc_name_lookup): Likewise. 4331 (_bfd_nowrite_set_arch_mach): Likewise. 4332 (_bfd_nowrite_set_section_contents): Likewise. 4333 (_bfd_nolink_sizeof_headers): Likewise. 4334 (_bfd_nolink_bfd_get_relocated_section_contents): Likewise. 4335 (_bfd_nolink_bfd_relax_section): Likewise. 4336 (_bfd_nolink_bfd_gc_sections): Likewise. 4337 (_bfd_nolink_bfd_lookup_section_flags): Likewise. 4338 (_bfd_nolink_bfd_merge_sections): Likewise. 4339 (_bfd_nolink_bfd_is_group_section): Likewise. 4340 (_bfd_nolink_bfd_discard_group): Likewise. 4341 (_bfd_nolink_bfd_link_hash_table_create): Likewise. 4342 (_bfd_nolink_bfd_link_add_symbols): Likewise. 4343 (_bfd_nolink_bfd_link_just_syms): Likewise. 4344 (_bfd_nolink_bfd_copy_link_hash_symbol_type): Likewise. 4345 (_bfd_nolink_bfd_final_link): Likewise. 4346 (_bfd_nolink_bfd_link_split_section): Likewise. 4347 (_bfd_nolink_section_already_linked): Likewise. 4348 (_bfd_nolink_bfd_define_common_symbol): Likewise. 4349 (_bfd_nolink_bfd_define_start_stop): Likewise. 4350 (_bfd_nodynamic_canonicalize_dynamic_symtab): Likewise. 4351 (_bfd_nodynamic_get_synthetic_symtab): Likewise. 4352 (_bfd_nodynamic_get_dynamic_reloc_upper_bound _bfd_): Likewise. 4353 (_bfd_nodynamic_canonicalize_dynamic_reloc): Likewise. 4354 * libbfd.c (bfd_false_any): New function. Like bfd_false but 4355 accepts one or more arguments. 4356 (bfd_true_any): Likewise. 4357 (bfd_nullvoidptr_any): Likewise. 4358 (bfd_0_any): Likewise. 4359 (bfd_0u_any): Likewise. 4360 (bfd_0l_any): Likewise. 4361 (_bfd_n1_any): Likewise. 4362 (bfd_void_any): Likewise. 4363 * libbfd.h (extern): Regenerate 4364 * aout-target.h (MY_bfd_is_target_special_symbol): Use vararg 4365 based dummy function. 4366 * aout-tic30.c (tic30_aout_set_arch_mach): Likewise. 4367 * binary.c (binary_get_symbol_info): Likewise. 4368 * coff-alpha.c (alpha_ecoff_backend_data): Likewise. 4369 * coff-mips.c (mips_ecoff_backend_data): Likewise. 4370 * coffcode.h (coff_set_alignment_hook): Likewise. 4371 (symname_in_debug_hook): Likewise. 4372 (bfd_coff_backend_data bigobj_swap_table): Likewise. 4373 * elf-m10300.c (elf_backend_omit_section_dynsym): Likewise. 4374 * elf32-cr16.c (elf_backend_omit_section_dynsym): Likewise. 4375 * elf32-lm32.c (elf_backend_omit_section_dynsym): Likewise. 4376 * elf32-m32r.c (elf_backend_omit_section_dynsym): Likewise. 4377 * elf32-metag.c (elf_backend_omit_section_dynsym): Likewise. 4378 * elf32-score.c (elf_backend_omit_section_dynsym): Likewise. 4379 * elf32-score7.c (elf_backend_omit_section_dynsym): Likewise. 4380 * elf32-xstormy16.c (elf_backend_omit_section_dynsym): Likewise. 4381 * elf32-xtensa.c (elf_backend_omit_section_dynsym): Likewise. 4382 * elf64-alpha.c (elf_backend_omit_section_dynsym): Likewise. 4383 * elf64-hppa.c (elf_backend_omit_section_dynsym): Likewise. 4384 * elf64-ia64-vms.c (elf_backend_omit_section_dynsym): Likewise. 4385 * elf64-mmix.c (elf_backend_omit_section_dynsym): Likewise. 4386 * elf64-sh64.c (elf_backend_omit_section_dynsym): Likewise. 4387 * elfnn-ia64.c (elf_backend_omit_section_dynsym): Likewise. 4388 * elfxx-target.h (bfd_elfNN_bfd_debug_info_accumulate): Likewise. 4389 (bfd_elfNN_bfd_make_debug_symbol): Likewise. 4390 (bfd_elfNN_bfd_merge_private_bfd_data): Likewise. 4391 (bfd_elfNN_bfd_set_private_flags): Likewise. 4392 (bfd_elfNN_bfd_is_target_special_symbol): Likewise. 4393 (elf_backend_init_index_section): Likewise. 4394 (elf_backend_allow_non_load_phdr): Likewise. 4395 * elfxx-x86.h (elf_backend_omit_section_dynsym): Likewise. 4396 * i386msdos.c (msdos_bfd_is_target_special_symbol): Likewise. 4397 * ieee.c (ieee_construct_extended_name_table): Likewise. 4398 (ieee_write_armap): Likewise. 4399 (ieee_write_ar_hdr): Likewise. 4400 (ieee_bfd_is_target_special_symbol): Likewise. 4401 * ihex.c (ihex_canonicalize_symtab): Likewise. 4402 (ihex_bfd_is_target_special_symbol): Likewise. 4403 * libaout.h (aout_32_bfd_is_target_special_symbol): Likewise. 4404 * libecoff.h (_bfd_ecoff_bfd_is_target_special_symbol): Likewise. 4405 (_bfd_ecoff_set_alignment_hook): Likewise. 4406 * mach-o-target.c (bfd_mach_o_bfd_is_target_special_symbol): Likewise. 4407 * mmo.c (mmo_bfd_is_target_special_symbol): Likewise. 4408 * nlm-target.h (nlm_bfd_is_target_special_symbol): Likewise. 4409 * oasys.c (oasys_construct_extended_name_table): Likewise. 4410 (oasys_write_armap): Likewise. 4411 (oasys_write_ar_hdr): Likewise. 4412 (oasys_bfd_is_target_special_symbol): Likewise. 4413 * pef.c (bfd_pef_bfd_is_target_special_symbol): Likewise. 4414 * plugin.c (bfd_plugin_bfd_is_target_special_symbol): Likewise. 4415 * ppcboot.c (ppcboot_bfd_is_target_special_symbol): Likewise. 4416 * som.c (som_bfd_is_target_special_symbol): Likewise. 4417 * srec.c (srec_bfd_is_target_special_symbol): Likewise. 4418 * tekhex.c (tekhex_bfd_is_target_special_symbol): Likewise. 4419 * verilog.c (verilog_bfd_is_target_special_symbol): Likewise. 4420 * versados.c (versados_bfd_is_target_special_symbol): Likewise. 4421 (versados_bfd_reloc_name_lookup): Likewise. 4422 * vms-alpha.c (vms_bfd_is_target_special_symbol): Likewise. 4423 (vms_bfd_define_start_stop): Likewise. 4424 (alpha_vms_bfd_is_target_special_symbol): Likewise. 4425 * wasm-module.c (wasm_bfd_is_target_special_symbol): Likewise. 4426 * xsym.c (bfd_sym_bfd_is_target_special_symbol): Likewise. 4427 * elf32-arc.c (get_replace_function): Assign replacement function 4428 to func pointer. 4429 * elf32-i370.c (i370_noop): Update prototype. 4430 44312018-02-13 Alan Modra <amodra@gmail.com> 4432 4433 PR 22836 4434 * elf.c (_bfd_elf_fixup_group_sections): Account for removed 4435 relocation sections. If size reduces to just the flag word, 4436 remove that too and mark with SEC_EXCLUDE. 4437 * elflink.c (bfd_elf_final_link): Strip empty group sections. 4438 44392018-02-13 Alan Modra <amodra@gmail.com> 4440 4441 PR 22829 4442 * elf.c (assign_file_positions_for_non_load_sections): Rewrite 4443 PT_GNU_RELRO setup. 4444 44452018-02-12 Zebediah Figura <z.figura12@gmail.com> 4446 4447 * i386msdos.c (msdos_mkobject); New function. 4448 (msdos_object_p): New function. 4449 (i386_msdos_vec): Use msdos_object_p as the check_format 4450 function. 4451 * peicode.h: Rename external_PEI_DOS_hdr, DOSMAGIC, and 4452 NT_SIGNATURE to external_DOS_hdr, IMAGE_DOS_SIGNATURE, and 4453 IMAGE_NT_SIGNATURE. 4454 * peXXigen.c: Likewise. 4455 * coff-ia64.c: Likewise. 4456 44572018-02-12 Nick Clifton <nickc@redhat.com> 4458 4459 * elf32-nds32.c (nds32_elf_relax_longjump3): Remove redundant 4460 assignment. 4461 * elf32-arc.c (elf_arc_relocate_section): Likewise. 4462 44632018-02-09 Eric Botcazou <ebotcazou@adacore.com> 4464 4465 * elfxx-sparc.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Reorder conditions. 4466 (sparc_elf_append_rela): Assert that there is enough room in section. 4467 (_bfd_sparc_elf_copy_indirect_symbol): Fix formatting. 4468 (_bfd_sparc_elf_adjust_dynamic_symbol): Minor tweak. 4469 (allocate_dynrelocs): Remove outdated comments and reorder conditions. 4470 For a symbol subject to a GOT relocation, reserve a slot in the 4471 relocation section if the symbol isn't dynamic and we are in PIC mode. 4472 (_bfd_sparc_elf_relocate_section) <R_SPARC_GOTDATA_OP>: If relocation 4473 is relaxed and a slot was reserved, generate a R_SPARC_NONE relocation. 4474 <R_SPARC_GOTDATA_OP_HIX22>: Adjust comments. 4475 <R_SPARC_PC10>: Reorder conditions. Remove always-false assertion. 4476 (_bfd_sparc_elf_finish_dynamic_symbol): Rename local_undefweak into 4477 resolved_to_zero. Do not generate a dynamic GOT relocation for an 4478 undefined weak symbol with non-default visibility. Remove superfluous 4479 'else' and fix formatting. 4480 44812018-02-09 H.J. Lu <hongjiu.lu@intel.com> 4482 4483 * elf32-i386.c (elf_i386_get_synthetic_symtab): Also handle 4484 is_solaris. 4485 (i386_elf32_sol2_vec): Don't declare. 4486 (elf_i386_link_setup_gnu_properties): Also handle is_solaris. 4487 Don't set need_global_offset_table. 4488 (elf_i386_solaris_arch_bed): New. 4489 (elf_backend_arch_data): Set to elf_i386_solaris_arch_bed for 4490 Solaris. 4491 * elf64-x86-64.c (elf_x86_64_get_synthetic_symtab): Check 4492 target_os != is_nacl instead of target_os == is_normal. 4493 (x86_64_elf64_sol2_vec): Don't declare. 4494 (elf_x86_64_link_setup_gnu_properties): Check target_os != 4495 is_nacl instead of target_os == is_normal. Don't set 4496 need_global_offset_table. 4497 (elf_x86_64_solaris_arch_bed): New. 4498 (elf_backend_arch_data): Set to elf_x86_64_solaris_arch_bed for 4499 Solaris. 4500 * elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Keep 4501 _GLOBAL_OFFSET_TABLE_ for Solaris. 4502 (_bfd_x86_elf_link_setup_gnu_properties): Don't copy 4503 need_global_offset_table. 4504 * elfxx-x86.h (elf_x86_target_os): Add is_solaris. 4505 (elf_x86_link_hash_table): Remove need_global_offset_table. 4506 (elf_x86_init_table): Likewise. 4507 45082018-02-08 H.J. Lu <hongjiu.lu@intel.com> 4509 4510 * elf32-i386.c (elf32_i386_copy_solaris_special_section_fields): 4511 Remove prototype. 4512 (i386_elf32_sol2_vec): Declared. 4513 (elf_i386_link_setup_gnu_properties): Set 4514 need_global_offset_table with info->output_bfd->xvec. 4515 * elf64-x86-64.c (elf64_x86_64_copy_solaris_special_section_fields): 4516 Remove prototype. 4517 (x86_64_elf64_sol2_vec): Declared. 4518 (elf_x86_64_link_setup_gnu_properties): Set 4519 need_global_offset_table with info->output_bfd->xvec. 4520 45212018-02-08 H.J. Lu <hongjiu.lu@intel.com> 4522 4523 * elf32-i386.c (elf32_i386_copy_solaris_special_section_fields): 4524 New prototype. 4525 (elf_i386_link_setup_gnu_properties): Set need_global_offset_table 4526 for Solaris. 4527 * elf64-x86-64.c (elf64_x86_64_copy_solaris_special_section_fields): 4528 New prototype. 4529 (elf_x86_64_link_setup_gnu_properties): Set 4530 need_global_offset_table for Solaris. 4531 * elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Keep the 4532 unused _GLOBAL_OFFSET_TABLE_ for Solaris. 4533 (_bfd_x86_elf_link_setup_gnu_properties): Copy 4534 need_global_offset_table. 4535 * elfxx-x86.h (elf_x86_link_hash_table): Add 4536 need_global_offset_table. 4537 (elf_x86_init_table): Likewise. 4538 45392018-02-08 Jim Wilson <jimw@sifive.com> 4540 4541 * elfnn-riscv.c (riscv_elf_relocate_section): Add comment for previous 4542 change. 4543 45442018-02-08 Nick Clifton <nickc@redhat.com> 4545 4546 PR 22788 4547 * elf.c (elf_parse_notes): Reject notes with excessuively large 4548 alignments. 4549 45502018-02-07 Alan Modra <amodra@gmail.com> 4551 4552 Revert 2018-01-17 Alan Modra <amodra@gmail.com> 4553 * elf32-ppc.c: Remove speculation barrier support. 4554 * elf32-ppc.h: Likewise. 4555 * elf64-ppc.c: Likewise. 4556 * elf64-ppc.h: Likewise. 4557 45582018-02-06 Jim Wilson <jimw@sifive.com> 4559 4560 * elfnn-riscv.c (riscv_elf_relocate_section): Return TRUE if used 4561 callback to report an error. 4562 45632018-02-06 Eric Botcazou <ebotcazou@adacore.com> 4564 4565 PR ld/22263 4566 * elfxx-sparc.c (sparc_elf_tls_transition): Turn call to bfd_link_pic 4567 into call to !bfd_link_executable and tidy up. 4568 (_bfd_sparc_elf_check_relocs): Fix formatting and tidy up. 4569 <R_SPARC_TLS_LE_HIX22>: Turn call to bfd_link_pic into call to 4570 !bfd_link_executable. 4571 <R_SPARC_TLS_IE_HI22>: Likewise. 4572 <GOT relocations>: Remove useless code, tidy and merge related blocks. 4573 <R_SPARC_TLS_GD_CALL>: Turn call to bfd_link_pic into call to 4574 !bfd_link_executable. 4575 <R_SPARC_WPLT30>: Tidy up. 4576 (_bfd_sparc_elf_gc_mark_hook): Turn call to bfd_link_pic into call to 4577 !bfd_link_executable. 4578 (allocate_dynrelocs): Likewise. 4579 (_bfd_sparc_elf_relocate_section): Fix formatting and tidy up. 4580 <R_SPARC_TLS_GD_HI22>: Merge into... 4581 <R_SPARC_TLS_GD_LO10>: ...this. Adjust 4th argument in call to 4582 sparc_elf_tls_transition and remove redundant code. 4583 <R_SPARC_TLS_LDM_HI22>: Turn call to bfd_link_pic into call to 4584 !bfd_link_executable. 4585 <R_SPARC_TLS_LDO_HIX22>: Likewise. 4586 <R_SPARC_TLS_LE_HIX22>: Likewise. Tidy up. 4587 <R_SPARC_TLS_LDM_CALL>: Likewise. 4588 <R_SPARC_TLS_GD_CALL>: Likewise. Tidy up. 4589 <R_SPARC_TLS_GD_ADD>: Likewise. 4590 <R_SPARC_TLS_LDM_ADD>: Likewise. 4591 <R_SPARC_TLS_LDO_ADD>: Likewise. 4592 <R_SPARC_TLS_IE_LD>: Likewise. 4593 45942018-02-06 Miloš Stojanović <milos.stojanovic@rt-rk.com> 4595 4596 PR 22789 4597 * elfxx-mips.c (_bfd_mips_elf_find_nearest_line): If the dwarf 4598 functions failed to find the function name, try the generic elf 4599 find function instead. 4600 46012018-02-06 Sergio Durigan Junior <sergiodj@redhat.com> 4602 4603 * coff-rs6000.c (xcoff_write_archive_contents_old): Use 4604 'memcpy' instead of 'strncpy' when writing the magic number. 4605 46062018-02-06 Nick Clifton <nickc@redhat.com> 4607 4608 PR 22794 4609 * opncls.c (bfd_get_debug_link_info_1): Check the size of the 4610 section before attempting to read it in. 4611 (bfd_get_alt_debug_link_info): Likewise. 4612 46132018-02-06 Paul Carroll <pcarroll@codesourcery.com> 4614 4615 * bfd/dwarf2.c (find_abstract_name): Modified to return file and 4616 line information in addition to name, if they can be found. 4617 46182018-02-05 Renlin Li <renlin.li@arm.com> 4619 4620 PR ld/22764 4621 * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Relax the 4622 R_AARCH64_ABS32 and R_AARCH64_ABS16 for absolute symbol. Apply the 4623 check for writeable section as well. 4624 46252018-02-05 H.J. Lu <hongjiu.lu@intel.com> 4626 4627 PR ld/22782 4628 * elf32-i386.c (elf_i386_check_relocs): Set got_referenced if 4629 _GLOBAL_OFFSET_TABLE_ is referenced or GOT is needed to resolve 4630 undefined weak symbol to 0. 4631 * elf64-x86-64.c (elf_x86_64_check_relocs): Set got_referenced 4632 if _GLOBAL_OFFSET_TABLE_ is referenced. 4633 * elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Check 4634 got_referenced instead of ref_regular_nonweak. Remove the 4635 unused _GLOBAL_OFFSET_TABLE_ from symbol table. 4636 * elfxx-x86.h (elf_x86_link_hash_table): Add got_referenced. 4637 46382018-02-05 Maciej W. Rozycki <macro@mips.com> 4639 4640 * elfnn-riscv.c (_bfd_riscv_relax_pc): Use `memset' to 4641 initialize `hi_reloc'. 4642 46432018-02-05 Maciej W. Rozycki <macro@mips.com> 4644 4645 * elfxx-mips.c (_bfd_mips_elf_section_processing): For 4646 SHT_MIPS_REGINFO sections don't assert the correct size and 4647 report an error instead. 4648 46492018-02-05 Maciej W. Rozycki <macro@mips.com> 4650 4651 * elf.c (_bfd_elf_write_object_contents): Propagate a failure 4652 status from `->elf_backend_section_processing'. 4653 46542018-02-02 Jim Wilson <jimw@sifive.com> 4655 4656 PR ld/22756 4657 * elfnn-riscv.c (riscv_relax_delete_bytes): New parameter link_info. 4658 If link_info->wrap_hash, check for a duplicate symbol and ignore. 4659 (_bfd_riscv_relax_call, bfd_riscv_relax_lui, _bfd_riscv_relax_tls_le): 4660 Pass new argument to riscv_relax_delete_bytes. 4661 (_bfd_riscv_relax_align, _bfd_riscv_relax_delete): Likewise. Remove 4662 ATTRIBUTE_UNUSED from link_info parameter. 4663 46642018-02-02 Alan Modra <amodra@gmail.com> 4665 4666 * elf64-ppc.c (ppc64_elf_relocate_section): Don't relocate nops 4667 emitted for toc sequence optimization. Set and use "howto" later. 4668 46692018-02-01 Simon Marchi <simon.marchi@ericsson.com> 4670 4671 * elf64-ppc.c (ppc64_elf_archive_symbol_lookup): Avoid pointer 4672 arithmetic on NULL pointer. 4673 * elflink.c (_bfd_elf_archive_symbol_lookup, 4674 elf_link_add_archive_symbols): Likewise. 4675 46762018-01-31 Michael Matz <matz@suse.de> 4677 4678 * elflink.c (bfd_elf_define_start_stop): Fix check of 4679 def_dynamic. 4680 46812018-01-31 H.J. Lu <hongjiu.lu@intel.com> 4682 4683 PR ld/21964 4684 * elflink.c (bfd_elf_define_start_stop): Check if __start and 4685 __stop symbols are referenced by shared objects. 4686 46872018-01-30 Alan Modra <amodra@gmail.com> 4688 4689 PR 22758 4690 * elf.c (_bfd_elf_map_sections_to_segments): Don't start a new 4691 segment when demand paged with lma on the same page. Test this 4692 before load/non-load, executable/non-executable, 4693 writable/non-writable tests and simplify. Delete bogus relro 4694 condition in writable/non-writable test. Delete outdated 4695 comment. Formatting. 4696 46972018-01-30 Alan Modra <amodra@gmail.com> 4698 4699 * elflink.c (bfd_elf_define_start_stop): Make __start and __stop 4700 symbols dynamic. 4701 47022018-01-29 Alan Modra <amodra@gmail.com> 4703 4704 PR 22741 4705 * coffgen.c (coff_pointerize_aux): Ensure auxent tagndx is in 4706 range before converting to a symbol table pointer. 4707 47082018-01-27 Nick Clifton <nickc@redhat.com> 4709 4710 * po/ru.po: Updated Russian translation. 4711 47122018-01-26 Alan Modra <amodra@gmail.com> 4713 4714 * elflink.c (bfd_elf_define_start_stop): Override symbols when 4715 they are defined dynamically. 4716 47172018-01-26 Alan Modra <amodra@gmail.com> 4718 4719 * elf64-ppc.c (ppc64_elf_size_stubs): Iterate sizing when 4720 .branch_lt changes size. 4721 47222018-01-25 Alan Modra <amodra@gmail.com> 4723 4724 PR 22746 4725 * elfcode.h (elf_object_p): Avoid integer overflow. 4726 47272018-01-25 Eric Botcazou <ebotcazou@adacore.com> 4728 4729 PR ld/22727 4730 * elfxx-sparc.c (_bfd_sparc_elf_check_relocs) <R_SPARC_TLS_GD_CALL>: 4731 Do a mere lookup of the __tls_get_addr symbol instead of adding it. 4732 4733 Revert 4734 2017-10-19 H.J. Lu <hongjiu.lu@intel.com> 4735 4736 PR ld/22263 4737 * elfxx-sparc.c (sparc_elf_tls_transition): Replace 4738 bfd_link_pic with !bfd_link_executable, !bfd_link_pic with 4739 bfd_link_executable for TLS check. 4740 (_bfd_sparc_elf_check_relocs): Likewise. 4741 (allocate_dynrelocs): Likewise. 4742 (_bfd_sparc_elf_relocate_section): Likewise. 4743 47442018-01-24 Renlin Li <renlin.li@arm.com> 4745 4746 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Add support for 4747 BFD_RELOC_AARCH64_MOVW_PREL_G0, BFD_RELOC_AARCH64_MOVW_PREL_G0_NC, 4748 BFD_RELOC_AARCH64_MOVW_PREL_G1, BFD_RELOC_AARCH64_MOVW_PREL_G1_NC, 4749 BFD_RELOC_AARCH64_MOVW_PREL_G2, BFD_RELOC_AARCH64_MOVW_PREL_G2_NC, 4750 BFD_RELOC_AARCH64_MOVW_PREL_G3. 4751 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise. 4752 (_bfd_aarch64_elf_resolve_relocation): Likewise. 4753 47542018-01-24 Renlin Li <renlin.li@arm.com> 4755 4756 * reloc.c: Add BFD_RELOC_AARCH64_MOVW_PREL_G0, 4757 BFD_RELOC_AARCH64_MOVW_PREL_G0_NC, BFD_RELOC_AARCH64_MOVW_PREL_G1, 4758 BFD_RELOC_AARCH64_MOVW_PREL_G1_NC, BFD_RELOC_AARCH64_MOVW_PREL_G2, 4759 BFD_RELOC_AARCH64_MOVW_PREL_G2_NC, BFD_RELOC_AARCH64_MOVW_PREL_G3. 4760 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Add entries for 4761 BFD_RELOC_AARCH64_MOVW_PREL_G0, BFD_RELOC_AARCH64_MOVW_PREL_G0_NC, 4762 BFD_RELOC_AARCH64_MOVW_PREL_G1, BFD_RELOC_AARCH64_MOVW_PREL_G1_NC, 4763 BFD_RELOC_AARCH64_MOVW_PREL_G2, BFD_RELOC_AARCH64_MOVW_PREL_G2_NC, 4764 BFD_RELOC_AARCH64_MOVW_PREL_G3. 4765 * bfd-in2.h: Regenerate. 4766 * libbfd.h: Regenerate. 4767 47682018-01-23 Maciej W. Rozycki <macro@mips.com> 4769 4770 * elfxx-mips.c (_bfd_mips_elf_final_link): Update a stale 4771 `mips_elf32_section_processing' comment reference. 4772 47732018-01-20 H.J. Lu <hongjiu.lu@intel.com> 4774 4775 PR ld/22721 4776 * elfxx-x86.c (_bfd_x86_elf_link_check_relocs): Check the 4777 versioned __tls_get_addr symbol. 4778 47792018-01-19 Nick Clifton <nickc@redhat.com> 4780 4781 * po/fr.po: Updated French translation. 4782 47832018-01-18 Alan Modra <amodra@gmail.com> 4784 4785 * elf32-ppc.c (ppc_elf_create_glink): Correct alignment of .glink. 4786 * elf64-ppc.c (ppc64_elf_size_stubs): Handle negative plt_stub_align. 4787 (ppc64_elf_build_stubs): Likewise. 4788 47892018-01-17 Nick Clifton <nickc@redhat.com> 4790 4791 * po/ru.po: Updated Russian translation. 4792 * po/uk/po: Updated Ukranian translation. 4793 47942018-01-17 Alan Modra <amodra@gmail.com> 4795 4796 * elf64-ppc.c (ppc64_elf_build_stubs): Silence gcc warning. 4797 47982018-01-17 Alan Modra <amodra@gmail.com> 4799 4800 * elf32-ppc.c (GLINK_ENTRY_SIZE): Handle speculation barrier. 4801 (CRSETEQ, BEQCTRM): Define. 4802 (is_nonpic_glink_stub): Don't check bctr. 4803 (ppc_elf_link_hash_table_create): Init new ppc_elf_params field. 4804 (ppc_elf_relax_section): Size speculation barrier. 4805 (output_bctr): New function. 4806 (write_glink_stub): Use output_bctr. 4807 (ppc_elf_relocate_section): Use output_bctr for long branch stub. 4808 (ppc_elf_finish_dynamic_symbol): Likewise. 4809 (ppc_elf_finish_dynamic_sections): Use output_bctr. 4810 * elf32-ppc.h (struct ppc_elf_params): Add speculate_indirect_jumps. 4811 * elf64-ppc.c (CRSETEQ, BEQCTRM, BEQCTRLM): Define. 4812 (GLINK_PLTRESOLVE_SIZE): Size speculation barrier. 4813 (size_global_entry_stubs): Handle speculation barrier sizing. 4814 (plt_stub_size): Likewise. 4815 (output_bctr): New function. 4816 (build_plt_stub, build_tls_get_addr_stub): Output speculation 4817 barrier. 4818 (ppc_build_one_stub): Likewise for ppc_stub_plt_branch. 4819 (ppc_size_one_stub): Size speculation barrier in ppc_stub_plt_branch. 4820 (build_global_entry_stubs): Output speculation barrier. 4821 (ppc64_elf_build_stubs): Likewise in __glink_PLTresolve stub. 4822 * elf64-ppc.h (struct ppc64_elf_params): Add speculate_indirect_jumps. 4823 48242018-01-17 Alan Modra <amodra@gmail.com> 4825 4826 * elf32-ppc.c (GLINK_ENTRY_SIZE): Add parameters, handle 4827 __tls_get_addr_opt, and alignment sizing. 4828 (TLS_GET_ADDR_GLINK_SIZE): Delete. 4829 (is_nonpic_glink_stub): Don't use GLINK_ENTRY_SIZE. 4830 (ppc_elf_get_synthetic_symtab): Recognize stubs spaced at 4, 6, 4831 or 8 insns. 4832 (ppc_elf_link_hash_table_create): Init new ppc_elf_params field. 4833 (allocate_dynrelocs): Use new GLINK_ENTRY_SIZE. 4834 (ppc_elf_size_dynamic_sections): Likewise. Size branch table 4835 by PLT reloc count. 4836 (write_glink_stub): Handle __tls_get_addr_opt stub. 4837 Pad out to size given by GLINK_ENTRY_SIZE. 4838 (ppc_elf_relocate_section): Adjust write_glink_stub call. 4839 (ppc_elf_finish_dynamic_symbol): Likewise. 4840 (ppc_elf_finish_dynamic_sections): Write PLTresolve without using 4841 insn array since so many need rewriting. 4842 * elf32-ppc.h (struct ppc_elf_params): Add plt_stub_align. 4843 * elf64-ppc.c (GLINK_PLTRESOLVE_SIZE): Rename from 4844 GLINK_CALL_STUB_SIZE. Add htab param and evaluate to size without 4845 nops. Adjust all uses. 4846 (ppc64_elf_get_synthetic_symtab): Don't use GLINK_CALL_STUB_SIZE 4847 in glink_vma calculation. 4848 (struct ppc_link_hash_table): Add global_entry section pointer. 4849 (create_linkage_sections): Create separate section for global 4850 entry stubs. 4851 (PPC_LO, PPC_HI, PPC_HA): Move earlier. 4852 (size_global_entry_stubs): Handle sizing for aligned stubs. 4853 (ppc64_elf_size_dynamic_sections): Handle global_entry alloc, 4854 and don't stash end of glink branch table in rawsize. 4855 (ppc_build_one_stub): Rewrite stub size calculations. 4856 (build_global_entry_stubs): Use new section. 4857 (ppc64_elf_build_stubs): Don't pad __glink_PLTresolve with nops. 4858 Build lazy link stubs out to end of section. Build global entry 4859 stubs in new section. 4860 48612018-01-15 Nick Clifton <nickc@redhat.com> 4862 4863 * po/uk.po: Updated Ukranian translation. 4864 48652018-01-13 Nick Clifton <nickc@redhat.com> 4866 4867 * po/bfd.pot: Regenerated. 4868 48692018-01-13 Nick Clifton <nickc@redhat.com> 4870 4871 * version.m4: Bump version to 2.30.51 4872 * configure: Regenerate. 4873 48742018-01-13 Nick Clifton <nickc@redhat.com> 4875 4876 2.30 branch created. 4877 48782018-01-12 Jens Widell <jl@opera.com> 4879 4880 * elf.c (setup_group): Optimize search for group by remembering 4881 last found group and restarting search at that index. 4882 * elf-bfd.h (struct elf_obj_tdata): Add group_search_offset field. 4883 48842018-01-12 Gunther Nikl <gnikl@users.sourceforge.net> 4885 4886 * aoutx.h (aout_link_check_ar_symbols): Remove default and handle 4887 bfd_link_common_skip_none in switch. 4888 48892018-01-12 Alan Modra <amodra@gmail.com> 4890 4891 PR ld/22649 4892 * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Ignore dynamic 4893 references on forced local symbols. 4894 48952018-01-12 Vlad Ivanov <vlad@ivanov.email> 4896 4897 * elfxx-mips.c (_bfd_mips_elf_final_link): Notify user when 4898 .reginfo section has wrong size. 4899 49002018-01-11 H.J. Lu <hongjiu.lu@intel.com> 4901 4902 PR ld/22393 4903 * elf.c (_bfd_elf_map_sections_to_segments): When generating 4904 separate code and read-only data LOAD segments, create a new 4905 LOAD segment if the previous section contains text and the 4906 current section doesn't or vice versa. Don't put a writable 4907 section in a read-only segment if there is a RELRO segment. 4908 49092018-01-11 H.J. Lu <hongjiu.lu@intel.com> 4910 4911 PR ld/22649 4912 * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Ignore dynamic 4913 references on forced local symbols. 4914 49152018-01-11 H.J. Lu <hongjiu.lu@intel.com> 4916 4917 PR ld/22677 4918 * elflink.c (bfd_elf_gc_sections): Keep all PREINIT_ARRAY, 4919 INIT_ARRAY as well as FINI_ARRAY sections for ld -r --gc-section. 4920 49212018-01-09 Kuan-Lin Chen <kuanlinchentw@gmail.com> 4922 4923 PR 22662 4924 * elf32-nds32.c (nds32_elf_relax_loadstore): Fix a typographical error. 4925 49262018-01-03 John Baldwin <jhb@FreeBSD.org> 4927 4928 * elf.c (elfcore_grok_freebsd_note): Handle 4929 NT_FREEBSD_PROCSTAT_PROC, NT_FREEBSD_PROCSTAT_FILES, and 4930 NT_FREEBSD_PROCSTAT_VMMAP. 4931 49322018-01-03 Alan Modra <amodra@gmail.com> 4933 4934 Update year range in copyright notice of all files. 4935 4936For older changes see ChangeLog-2017 4937 4938Copyright (C) 2018 Free Software Foundation, Inc. 4939 4940Copying and distribution of this file, with or without modification, 4941are permitted in any medium without royalty provided the copyright 4942notice and this notice are preserved. 4943 4944Local Variables: 4945mode: change-log 4946left-margin: 8 4947fill-column: 74 4948version-control: never 4949End: 4950