12014-12-30 H.J. Lu <hongjiu.lu@intel.com> 2 3 PR ld/17773 4 * elflink.c (bfd_elf_final_link): Assign the file position for 5 the symbol string table only there are symbols to be emitted. 6 72014-12-28 Alan Modra <amodra@gmail.com> 8 9 PR 17766 10 * pei-x86_64.c (pex64_bfd_print_pdata_section): Correct string 11 length. Use memcpy rather than strcpy. 12 132014-12-26 Alan Modra <amodra@gmail.com> 14 15 PR 17755 16 * elf64-sh64.c (sh_elf64_copy_private_data_internal): Delete code 17 copying SHF_SH5_ISA32. 18 192014-12-25 Thomas Preud'homme <thomas.preudhomme@arm.com> 20 21 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Handle new 22 Tag_ABI_VFP_args value and replace hardcoded values by enum values. 23 (elf32_arm_post_process_headers): Set e_flags in ELF header as hard 24 float only when Tag_ABI_VFP_args is 1, using new enum value 25 AEABI_VFP_args_vfp to check that. 26 272014-12-24 H.J. Lu <hongjiu.lu@intel.com> 28 29 * pei-x86_64.c (pex64_bfd_print_pdata_section): Add cast to 30 unsigned long. 31 322014-12-24 Pierre Muller <muller@sourceware.org> 33 34 Add support for pdata output for pe coff objects. 35 * pe-x86_64.c (pex64_bfd_print_pdata): Add external 36 declaration. 37 (bfd_pe_print_data): Set macro to pex64_bfd_print_data. 38 * pei-x86_64.c (pex64_bfd_print_pdata): Changed to 39 global function. Now handles multiple .pdata sections. 40 (pex_bfd_print_pdata_section): New static helper function, 41 using most of old pex_bfd_print_pdata function code, but adding 42 support for coff pe objects, which might have some fields 43 starting at zero offset. 44 (pex64_print_all_pdata_sections) : New static helper function, 45 used in call to bfd_map_over_sections inside new 46 pex66_bfd_print_pdata function. 47 (bfd_boolean pdata_count): New static variable, used to return 48 bfd_boolean value for pex64_bfd_print_pdata function. 49 502014-12-24 Alan Modra <amodra@gmail.com> 51 52 * linker.c (_bfd_generic_link_output_symbols): Remove BSF_WEAK 53 flag from bfd_link_hash_defined symbols. 54 552014-12-23 Andrew Burgess <andrew.burgess@embecosm.com> 56 57 * elf32-avr.c (bfd_elf_avr_final_write_processing): Don't set 58 EF_AVR_LINKRELAX_PREPARED unconditionally. 59 602014-12-23 Alan Modra <amodra@gmail.com> 61 62 * elflink.c (_bfd_elf_define_linkage_sym): Set linker_def. 63 * linker.c (_bfd_generic_link_add_one_symbol): Clear linker_def 64 for CDEF, DEF, DEFW, COM. 65 662014-12-22 Nick Clifton <nickc@redhat.com> 67 68 PR binutils/17512 69 * archive.c (do_slurp_bsd_armap): Return if the parsed_size is 70 zero. 71 (bfd_slurp_armap): Zero terminate the name. 72 (bfd_generic_stat_arch_elt): If there is no header, fail. 73 * elf32-arc.c (arc_info_to_howto_rel): Replace BFD_ASSERT with 74 error message. 75 * elf32-avr.c (avr_info_to_howto_rela): Likewise. 76 * elf32-cr16c.c (elf_cr16c_info_to_howto_rel): Likewise. 77 * elf32-cris.c (cris_info_to_howto_rela): Likewise. 78 * elf32-d10v.c (d10v_info_to_howto_rel): Likewise. 79 * elf32-d30v.c (d30v_info_to_howto_rel): Likewise. 80 * elf32-dlx.c (dlx_rtype_to_howto): Likewise. 81 * elf32-epiphany.c (epiphany_info_to_howto_rela): Likewise. 82 * elf32-fr30.c (fr30_info_to_howto_rela): Likewise. 83 * elf32-frv.c (frv_info_to_howto_rela): Likewise. 84 * elf32-i960.c (elf32_i960_info_to_howto_rel): Likewise. 85 * elf32-ip2k.c (ip2k_info_to_howto_rela): Likewise. 86 * elf32-iq2000.c (iq2000_info_to_howto_rela): Likewise. 87 * elf32-lm32.c (lm32_info_to_howto_rela): Likewise. 88 * elf32-m32c.c (m32c_info_to_howto_rela): Likewise. 89 * elf32-m32r.c (m32r_info_to_howto_rel): Likewise. 90 * elf32-m68hc11.c (m68hc11_info_to_howto_rel): Likewise. 91 * elf32-m68hc12.c (m68hc11_info_to_howto_rel): Likewise. 92 * elf32-mep.c (mep_info_to_howto_rela): Likewise. 93 * elf32-metag.c (metag_info_to_howto_rela): Likewise. 94 * elf32-moxie.c (moxie_info_to_howto_rela): Likewise. 95 * elf32-msp430.c (msp430_info_to_howto_rela): Likewise. 96 * elf32-mt.c (mt_info_to_howto_rela): Likewise. 97 * elf32-nds32.c (nds32_info_to_howto_rel): Likewise. 98 * elf32-or1k.c (or1k_info_to_howto_rela): Likewise. 99 * elf32-rl78.c (rl78_info_to_howto_rela): Likewise. 100 * elf32-rx.c (rx_info_to_howto_rela): Likewise. 101 * elf32-v850.c (v850_elf_info_to_howto_rel): Likewise. 102 * elf32-visium.c (visium_info_to_howto_rela): Likewise. 103 * elf32-xgate.c (xgate_info_to_howto_rel): Likewise. 104 * elf32-xtensa.c (elf_xtensa_info_to_howto_rela): Likewise. 105 * elf64-mmix.c (mmix_info_to_howto_rela): Likewise. 106 * elf64-x86-64.c (elf_x86_64_reloc_type_lookup): Likewise. 107 * elfnn-aarch64.c (elfNN_aarch64_bfd_reloc_from_type): Likewise. 108 * elf64-sparc.c (elf64_sparc_slurp_one_reloc_table): Add range 109 checking of reloc symbol index. 110 * mach-o.c (bfd_mach_o_canonicalize_one_reloc): If no symbols have 111 been provided then set the reloc's symbol to undefined. 112 * reloc.c (bfd_generic_get_relocated_section_contents): Add range 113 checking of the reloc to be applied. 114 * versados.c (process_otr): Add more range checks. 115 (versados_canonicalize_reloc): If the section is unknown, set the 116 symbol to undefined. 117 * vms-alpha.c (_bfd_vms_slurp_eisd): Add range checks. 118 (alpha_vms_object_p): Likewise. 119 1202014-12-18 Richard Henderson <rth@redhat.com> 121 122 * elf32-ppc.c (ELF_COMMONPAGESIZE): Set to 64k. 123 * elf64-ppc.c (ELF_COMMONPAGESIZE): Likewise. 124 1252014-12-16 Nick Clifton <nickc@redhat.com> 126 127 PR binutils/17512 128 * format.c (bfd_check_format_matches): Check for a matching vector 129 before using match priorities. 130 * mach-o.c (bfd_mach_o_canonicalize_one_reloc): Fix off-by-one 131 errors with previous delta. 132 1332014-12-15 H.J. Lu <hongjiu.lu@intel.com> 134 135 PR ld/17713 136 * elflink.c (_bfd_elf_gc_mark_rsec): Check corrupt input. 137 1382014-12-13 H.J. Lu <hongjiu.lu@intel.com> 139 140 PR ld/17689 141 * elf64-x86-64.c (elf_x86_64_link_hash_entry): Add needs_copy. 142 Change has_bnd_reloc to bit field. 143 (elf_x86_64_link_hash_newfunc): Initialize needs_copy and 144 has_bnd_reloc to 0. 145 (elf_x86_64_check_relocs): Set has_bnd_reloc to 1 instead 146 of TRUE. 147 (elf_x86_64_adjust_dynamic_symbol): Copy needs_copy from the 148 real definition to a weak symbol. 149 (elf_x86_64_allocate_dynrelocs): Also check needs_copy of a 150 weak symbol for PIE when discarding space for relocs against 151 symbols which turn out to need copy relocs. 152 (elf_x86_64_relocate_section): Also check needs_copy of a 153 weak symbol for PIE with copy reloc. 154 1552014-12-12 Alan Modra <amodra@gmail.com> 156 157 PR 15228 158 * elflink.c (_bfd_elf_adjust_dynamic_copy): Call bfd_set_error. 159 1602014-12-12 Alan Modra <amodra@gmail.com> 161 162 PR 15228 163 * elflink.c (_bfd_elf_adjust_dynamic_copy): Add "info" param. 164 Error on copy relocs against protected symbols. 165 (elf_merge_st_other): Set h->protected_def. 166 * elf-bfd.h (struct elf_link_hash_entry): Add "protected_def". 167 (_bfd_elf_adjust_dynamic_copy): Update prototype. 168 * elf-m10300.c (_bfd_mn10300_elf_adjust_dynamic_symbol): Update 169 _bfd_elf_adjust_dynamic_copy call. 170 * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Likewise. 171 * elf32-cr16.c (_bfd_cr16_elf_adjust_dynamic_symbol): Likewise. 172 * elf32-cris.c (elf_cris_adjust_dynamic_symbol): Likewise. 173 * elf32-hppa.c (elf32_hppa_adjust_dynamic_symbol): Likewise. 174 * elf32-i370.c (i370_elf_adjust_dynamic_symbol): Likewise. 175 * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Likewise. 176 * elf32-lm32.c (lm32_elf_adjust_dynamic_symbol): Likewise. 177 * elf32-m32r.c (m32r_elf_adjust_dynamic_symbol): Likewise. 178 * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise. 179 * elf32-metag.c (elf_metag_adjust_dynamic_symbol): Likewise. 180 * elf32-or1k.c (or1k_elf_adjust_dynamic_symbol): Likewise. 181 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Likewise. 182 * elf32-s390.c (elf_s390_adjust_dynamic_symbol): Likewise. 183 * elf32-sh.c (sh_elf_adjust_dynamic_symbol): Likewise. 184 * elf32-tic6x.c (elf32_tic6x_adjust_dynamic_symbol): Likewise. 185 * elf32-tilepro.c (tilepro_elf_adjust_dynamic_symbol): Likewise. 186 * elf32-vax.c (elf_vax_adjust_dynamic_symbol): Likewise. 187 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise. 188 * elf64-s390.c (elf_s390_adjust_dynamic_symbol): Likewise. 189 * elf64-sh64.c (sh64_elf64_adjust_dynamic_symbol): Likewise. 190 * elf64-x86-64.c (elf_x86_64_adjust_dynamic_symbol): Likewise. 191 * elfnn-aarch64.c (elfNN_aarch64_adjust_dynamic_symbol): Likewise. 192 * elfxx-mips.c (_bfd_mips_elf_adjust_dynamic_symbol): Likewise. 193 * elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol): Likewise. 194 * elfxx-tilegx.c (tilegx_elf_adjust_dynamic_symbol): Likewise. 195 1962014-12-11 Keith Seitz <keiths@redhat.com> 197 198 * elf.c (elf_parse_notes): Define convenience macro 199 GROKER_ELEMENT to add elements to 'grokers' array. 200 Add 'len' element to 'grokers'. 201 Use grokers.len instead of sizeof in string 202 comparisons. 203 2042014-12-10 Alan Modra <amodra@gmail.com> 205 206 * Makefile.am (BFD32_LIBS, BFD32_LIBS_CFILES): Remove dwarf2 207 and coffgen. Add coff-bfd. Sort. 208 (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Add coffgen and dwarf2. 209 * bfd-in.h (bfd_coff_get_syment, bfd_coff_get_auxent): Delete. 210 (struct coff_comdat_info, bfd_coff_get_comdat_section): Delete. 211 * coffgen.c (coff_symbol_from): Move to coff-bfd.h as macro, 212 without unused param. Update uses. 213 (bfd_coff_get_comdat_section): Move to coff-bfd.h as macro. 214 (bfd_coff_get_syment, bfd_coff_get_auxent): Move to coff-bfd.c. 215 * libcoff-in.h: #include "coff-bfd.h". 216 (struct coff_section_tdata, coff_section_data): Move to coff-bfd.h. 217 (coff_symbol_from): Delete. 218 * coff-bfd.c: New file. 219 * coff-bfd.h: New file. 220 * coff-i386.c: Update coff_symbol_from occurrences. 221 * coff-i960.c: Likewise. 222 * coff-m68k.c: Likewise. 223 * coff-sh.c: Likewise. 224 * coff-x86_64.c: Likewise. 225 * coffcode.h: Likewise. 226 * pe-mips.c: Likewise. 227 * configure.ac (elf): Add dwarf2.lo. 228 (coffgen, coff, ecoff, xcoff): Define. Use when mapping bfd 229 target vectors to .o files. Add dwarf2 for mach-o targets. 230 Fix the sh target FIXME. 231 * po/SRC-POTFILES.in: Regenerate. 232 * Makefile.in: Regenerate. 233 * configure: Regenerate. 234 * bfd-in2.h: Regenerate. 235 * libcoff.h: Regenerate. 236 2372014-12-10 Alan Modra <amodra@gmail.com> 238 239 PR 17541 240 * dwarf2.c (struct comp_unit): Add "lang". 241 (non_mangled): New function. 242 (struct funcinfo): Add "is_linkage". Reorder for better packing. 243 Make "name" a const char*. 244 (lookup_address_in_function_table): Delete functionname_ptr param. 245 (find_abstract_instance_name): Add is_linkage param. Set if we 246 have DW_AT_linkage_name or non_mangled DW_AT_name. 247 (scan_unit_for_symbols): Similarly set func->is_linkage. 248 (parse_comp_unit): Stash DW_AT_language. 249 (comp_unit_find_nearest_line): Replace functionname_ptr param 250 with function_ptr param. 251 (_bfd_dwarf2_find_nearest_line): Adjust above calls. Set 252 functionname_ptr from function->name. Call _bfd_elf_find_function 253 to retrieve symbol for function if not linkage name. 254 (_bfd_elf_find_function): Add bfd_target_elf_flavour test, moved from.. 255 * elf.c (elf_find_function): ..here. 256 (_bfd_elf_find_nearest_line): Adjust calls. 257 * elf-bfd.h (_bfd_elf_find_function): Declare. 258 2592014-12-10 Alan Modra <amodra@gmail.com> 260 261 * dwarf2.c (read_address): Check bfd_target_elf_flavour before 262 calling get_elf_backend_data. 263 (_bfd_dwarf2_find_nearest_line): Fix parens. 264 2652014-12-10 Alan Modra <amodra@gmail.com> 266 267 PR 17666 268 * elf-bfd.h (struct elf_backend_data): Add sort_relocs_p. 269 * elfxx-target.h (elf_backend_sort_relocs_p): Define. 270 (elfNN_bed): Init new field. 271 * elflink.c (elf_link_adjust_relocs): Conditionally sort. 272 (bfd_elf_final_link): Control sorting of relocs. 273 * elfxx-mips.c (_bfd_mips_elf_sort_relocs_p): New function. 274 * elfxx-mips.h (_bfd_mips_elf_sort_relocs_p): Declare. 275 * elf32-mips.c (elf_backend_sort_relocs_p): Define. 276 * elf64-mips.c (elf_backend_sort_relocs_p): Define. 277 2782014-12-09 Nick Clifton <nickc@redhat.com> 279 280 PR binutils/17512 281 * archive64.c (bfd_elf64_archive_slurp_armap): Add range checks. 282 * libbfd.c (safe_read_leb128): New function. 283 * libbfd-in.h (safe_read_leb128): Add prototype. 284 * libbfd.h: Regenerate. 285 * elf-attrs.c (_bfd_elf_parse_attributes): Use safe_read_leb128. 286 Check for an over-long subsection length. 287 * elf.c (elf_parse_notes): Check that the namedata is long enough 288 for the string comparison that is about to be performed. 289 (elf_read_notes): Zero-terminate the note buffer. 290 2912014-12-09 Alan Modra <amodra@gmail.com> 292 293 * elf64-ppc.c (sort_r_offset): Delete. 294 (ppc64_elf_edit_opd): Don't sort input relocs. 295 2962014-12-06 Eric Botcazou <ebotcazou@adacore.com> 297 298 * config.bfd: Add Visium support. 299 * configure.ac: Likewise. 300 * configure: Regenerate. 301 * Makefile.am (ALL_MACHINES): Add cpu-visium.lo. 302 (ALL_MACHINES_CFILES): Add cpu-visium.c. 303 (BFD32_BACKENDS): Add elf32-visium.lo. 304 (BFD32_BACKENDS_CFILES): Add elf32-visium.c. 305 * Makefile.in: Regenerate. 306 * archures.c (DESCRIPTION): Add Visium support. 307 (bfd_visium_arch): Declare. 308 (bfd_archures_list): Add bfd_visium_arch. 309 * reloc.c: Add Visium relocations. 310 * targets.c (visium_elf32_vec): Declare. 311 (_bfd_target_vector): Add visium_elf32_vec. 312 * bfd-in2.h: Regenerate. 313 * libbfd.h: Likewise. 314 * cpu-visium.c: New file. 315 * elf32-visium.c: Likewise. 316 * po/SRC-POTFILES.in: Regenerate. 317 3182014-12-05 Steve Ellcey <sellcey@mips.com> 319 320 * ecoff.c (_bfd_ecoff_slurp_symbol_table): Add cast. 321 3222014-12-05 H.J. Lu <hongjiu.lu@intel.com> 323 324 * elf64-x86-64.c (bfd_elf32_get_synthetic_symtab): New. 325 3262014-12-04 H.J. Lu <hongjiu.lu@intel.com> 327 328 PR binutils/17677 329 * elf-bfd.h (_bfd_elf_ifunc_get_synthetic_symtab): New prototype. 330 * elf-ifunc.c (_bfd_elf_ifunc_get_synthetic_symtab): New 331 function. 332 * elf32-i386.c (elf_i386_plt_sym_val): Removed. 333 (elf_backend_plt_sym_val): Likewise. 334 (elf_i386_get_plt_sym_val): New. 335 (elf_i386_get_synthetic_symtab): Likewise. 336 (bfd_elf32_get_synthetic_symtab): Likewise. 337 * elf64-x86-64.c (elf_x86_64_plt_sym_val): Removed. 338 (elf_x86_64_plt_sym_val_offset_plt_bnd): Likewise. 339 (elf_backend_plt_sym_val): Likewise. 340 (elf_x86_64_get_plt_sym_val): New. 341 (elf_x86_64_get_synthetic_symtab): Use 342 _bfd_elf_ifunc_get_synthetic_symtab. 343 (bfd_elf64_get_synthetic_symtab): Don't undefine for NaCl. 344 3452014-12-04 Alan Modra <amodra@gmail.com> 346 347 PR 17666 348 * elflink.c: Include bfd_stdint.h. 349 (cmp_ext32l_r_offset, cmp_ext32b_r_offset, 350 cmp_ext64l_r_offset, cmp_ext64b_r_offset): New functions. 351 (elf_link_adjust_relocs): Sort relocs. Free rel hashes after 352 sorting invalidates. 353 3542014-12-03 Nick Clifton <nickc@redhat.com> 355 356 PR binutils/17512 357 * compress.c (bfd_get_full_section_contents): Fail if there are no 358 section contents available when the compress_status is 359 COMPRESS_SECTION_DONE. 360 * libbfd.c (bfd_malloc): Refuse to allocate a negative size. 361 (bfd_malloc2): Use bfd_malloc. 362 (bfd_realloc): Refuse to reallocate a negative size. 363 (bfd_realloc2): Use bfd_realloc. 364 (bfd_realloc_or_free): Use bfd_realloc. 365 (bfd_zmalloc): Use bfd_malloc. 366 (bfd_zmalloc): Use bfd_malloc2. 367 * opncls.c (bfd_alloc): Refuse to allocate a negative size. 368 3692014-12-03 H.J. Lu <hongjiu.lu@intel.com> 370 371 * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Reformat. 372 3732014-12-02 H.J. Lu <hongjiu.lu@intel.com> 374 375 * elf64-x86-64.c (elf_x86_64_relocate_section): Check 376 info->executable for symbols which need copy relocs. 377 3782014-12-02 H.J. Lu <hongjiu.lu@intel.com> 379 380 * elf64-x86-64.c (elf_x86_64_check_relocs): Revert the last 381 change. 382 (elf_x86_64_adjust_dynamic_symbol): Don't check !info->shared 383 with ELIMINATE_COPY_RELOCS. 384 (elf_x86_64_allocate_dynrelocs): For PIE, discard space for 385 relocs against symbols which turn out to need copy relocs. 386 3872014-12-02 H.J. Lu <hongjiu.lu@intel.com> 388 389 * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Always 390 allow copy relocs for building executables. 391 (elf_x86_64_check_relocs): Allow copy relocs for non-GOT 392 pc-relative relocation in shared object. 393 (elf_x86_64_adjust_dynamic_symbol): Allocate copy relocs for 394 PIE. 395 (elf_x86_64_relocate_section): Don't copy a pc-relative 396 relocation into the output file if the symbol needs copy reloc. 397 3982014-12-02 Andrew Bennett <andrew.bennett@imgtec.com> 399 400 * elfxx-mips.c (mips_elf_calculate_relocation): Only check for 401 overflow on non-weak undefined symbols. 402 4032014-12-02 Alan Modra <amodra@gmail.com> 404 405 * elf64-ppc.c (OPD_NDX): Define. Use throughout for sizing/indexing 406 _opd_sec_data array, halving required memory. 407 (sort_r_offset): New function. 408 (ppc64_elf_edit_opd): Sort incoming relocs. Accept .opd 409 sections with a mix of 16 and 24 byte OPD entries. Don't 410 attempt to honour --non-overlapping-opd for .opd sections with 411 unexpected relocs. Simplify opd entry size calculations by 412 first finding the reloc for the next entry. Make edit loop 413 handle one opd entry per iteration, with an inner loop 414 handling relocs per entry. 415 4162014-12-01 Nick Clifton <nickc@redhat.com> 417 418 PR binutils/17512 419 * archive.c (do_slurp_coff_armap): Add range checks to prevent 420 running off the end of the string table. 421 * compress.c (bfd_get_full_section_contents): Return a NULL 422 pointer for zero sized sections. Do not attempt to copy a buffer 423 onto itself. 424 * elf-attrs.c (_bfd_elf_parse_attributes): Check for an empty 425 header. Add range checks to avoid running off the end of the 426 section. 427 * elf.c (bfd_elf_get_str_section): Seek before allocating so that 428 if the seek fails, no memory is allocated. 429 (bfd_elf_string_from_elf_section): Do not allocate a string from a 430 non string section. It only leads to trouble later on. 431 (_bfd_elf_print_private_bfd_data): Check for there being too 432 little external dynamic data. 433 (bfd_section_from_shdr): Replace assertion with a failure mode. 434 (bfd_section_from_shdr): When walking a loaded group section use 435 the internal structure size, not the external size. Check for the 436 group section being empty. 437 * elf32-i386.c (elf_i386_rtype_to_howto): Replace assertion with a 438 failure mode. 439 * elfcode.h (elf_slurp_reloc_table): Likewise. 440 * reloc.c (bfd_perform_relocation): Avoid seg-fault if the howto 441 parameter is NULL. 442 4432014-11-30 Alan Modra <amodra@gmail.com> 444 445 PR 16452, 16457 446 * elflink.c (_bfd_elf_link_find_version_dependencies): Exclude 447 symbols from libraries that won't be listed in DT_NEEDED. 448 (elf_link_output_extsym): Don't output verdefs for such symbols. 449 4502014-11-28 Alan Modra <amodra@gmail.com> 451 452 * elf.c (_bfd_elf_slurp_version_tables): Exit loops when vn_next/ 453 vna_next/vd_next/vda_next is zero. Correct counts. 454 4552014-11-27 Nick Clifton <nickc@redhat.com> 456 457 PR binutils/17512 458 * ecoff.c (_bfd_ecoff_slurp_symbol_table): Warn about and correct 459 a discrepancy between the isymMax and ifdMax values in the 460 symbolic header. 461 * elf.c (_bfd_elf_print_private_bfd_data): Fix the range check 462 scanning the external dynamic entries. 463 4642014-11-26 Nick Clifton <nickc@redhat.com> 465 466 PR binutils/17512 467 * coff-h8300.c (rtype2howto): Replace abort with returning a NULL 468 value. 469 * coff-h8500.c (rtype2howto): Likewise. 470 * coff-tic30.c (rtype2howto): Likewise. 471 * coff-z80.c (rtype2howto): Likewise. 472 * coff-z8k.c (rtype2howto): Likewise. 473 * coff-ia64.c (RTYPE2HOWTO): Always return a valid howto. 474 * coff-m68k.c (m68k_rtype2howto): Return a NULL howto if none 475 could be found. 476 * coff-mcore.c (RTYPE2HOWTO): Add range checking. 477 * coff-w65.c (rtype2howto): Likewise. 478 * coff-we32k.c (RTYPE2HOWTO): Likewise. 479 * pe-mips.c (RTYPE2HOWTO): Likewise. 480 * coff-x86_64.c (coff_amd64_reloc): Likewise. Replace abort with 481 an error return. 482 * coffcode.h (coff_slurp_reloc_table): Allow the rel parameter to 483 be unused. 484 * coffgen.c (make_a_section_from_file): Check the length of a 485 section name before testing to see if it is a debug section name. 486 (coff_object_p): Zero out any uninitialised bytes in the opt 487 header. 488 * ecoff.c (_bfd_ecoff_slurp_symbolic_info): Test for the raw 489 source being empty when there are values to be processed. 490 (_bfd_ecoff_slurp_symbol_table): Add range check. 491 * mach-o.c (bfd_mach_o_canonicalize_one_reloc): Likewise. 492 (bfd_mach_o_mangle_sections): Move test for too many sections to 493 before the allocation of the section table. 494 (bfd_mach_o_read_symtab_strtab): If the read fails, free the 495 memory and nullify the symbol pointer. 496 * reloc.c (bfd_generic_get_relocated_section_contents): Add 497 handling of a bfd_reloc_notsupported return value. 498 * versados.c (EDATA): Add range checking. 499 (get_record): Likewise. 500 (process_otr): Check for contents being available before updating 501 them. 502 (versados_canonicalize_reloc): Add range check. 503 5042014-11-26 Alan Modra <amodra@gmail.com> 505 506 * elf.c (_bfd_elf_slurp_version_tables): Delay allocation of 507 internal verref buffer. Error for zero sh_info. Print errors. 508 Check for zero vd_ndx. Use bfd_zalloc for vd_auxptr buffer. 509 5102014-11-25 H.J. Lu <hongjiu.lu@intel.com> 511 512 * targets.c (BFD_JUMP_TABLE_SYMBOLS): Use 513 NAME##_get_symbol_version_string. 514 (bfd_get_symbol_version_string): New. 515 * aout-adobe.c (aout_32_get_symbol_version_string): Define using 516 _bfd_nosymbols define. 517 * aout-target.h (MY_get_symbol_version_string): Likewise. 518 * aout-tic30.c (MY_get_symbol_version_string): Likewise. 519 * binary.c (binary_get_symbol_version_string): Likewise. 520 * bout.c (aout_32_get_symbol_version_string): Likewise. 521 * coff-rs6000.c (_bfd_xcoff_get_symbol_version_string): Likewise. 522 * i386msdos.c (msdos_get_symbol_version_string): Likewise. 523 * i386os9k.c (aout_32_get_symbol_version_string): Likewise. 524 * ieee.c (ieee_get_symbol_version_string): Likewise. 525 * ihex.c (ihex_get_symbol_version_string): Likewise. 526 * libecoff.h (_bfd_ecoff_get_symbol_version_string): Likewise. 527 * mach-o-target.c (bfd_mach_o_get_symbol_version_string): Likewise. 528 * mmo.c (mmo_get_symbol_version_string): Likewise. 529 * nlm-target.h (nlm_get_symbol_version_string): Likewise. 530 * oasys.c (oasys_get_symbol_version_string): Likewise. 531 * pef.c (bfd_pef_get_symbol_version_string): Likewise. 532 * plugin.c (bfd_plugin_get_symbol_version_string): Likewise. 533 * ppcboot.c (ppcboot_get_symbol_version_string): Likewise. 534 * som.c (som_get_symbol_version_string): Likewise. 535 * srec.c (srec_get_symbol_version_string): Likewise. 536 * tekhex.c (tekhex_get_symbol_version_string): Likewise. 537 * versados.c (versados_get_symbol_version_string): Likewise. 538 * vms-alpha.c (alpha_vms_get_symbol_version_string): Likewise. 539 * xsym.c (bfd_sym_get_symbol_version_string): Likewise. 540 541 * coff64-rs6000.c (rs6000_xcoff64_vec): Use 542 coff_get_symbol_version_string. 543 (rs6000_xcoff64_aix_vec): Likewise. 544 545 * elf-bfd.h (bfd_elf_get_symbol_version_string): Renamed to ... 546 (_bfd_elf_get_symbol_version_string): This. 547 * elf.c: Likewise. 548 (bfd_elf_print_symbol): Updated. 549 * elfxx-target.h (bfd_elfNN_get_symbol_version_string): Define. 550 551 * libbfd-in.h (_bfd_nosymbols_get_symbol_version_string): Define. 552 * libcoff-in.h (coff_get_symbol_version_string): Likewise. 553 * bfd-in2.h: Regenerated. 554 * libbfd.h: Likewise. 555 * libcoff.h: Likewise. 556 5572014-11-25 H.J. Lu <hongjiu.lu@intel.com> 558 559 PR binutils/16496 560 * elf-bfd.h (bfd_elf_get_symbol_version_string): New. 561 * elf.c (bfd_elf_get_symbol_version_string): New. Extracted 562 from bfd_elf_print_symbol. 563 (bfd_elf_print_symbol): Use it. 564 5652014-11-25 H.J. Lu <hongjiu.lu@intel.com> 566 567 * elf32-i386.c (elf_i386_got_plt_entry): New. 568 (elf_i386_pic_got_plt_entry): Likewise. 569 (elf_i386_link_hash_entry): Add plt_got. 570 (elf_i386_link_hash_table): Likewise. 571 (elf_i386_link_hash_newfunc): Initialize plt_got.offset to -1. 572 (elf_i386_get_local_sym_hash): Likewise. 573 (elf_i386_check_relocs): Create the GOT PLT if there are both 574 PLT and GOT references when the regular PLT is used. 575 (elf_i386_allocate_dynrelocs): Use the GOT PLT if there are 576 both PLT and GOT references unless pointer equality is needed. 577 (elf_i386_relocate_section): Also check the GOT PLT when 578 resolving R_386_PLT32. 579 (elf_i386_finish_dynamic_symbol): Use the GOT PLT if it is 580 available. 581 582 * elf64-x86-64.c (elf_x86_64_link_hash_entry): Add plt_got. 583 (elf_x86_64_link_hash_table): Likewise. 584 (elf_x86_64_link_hash_newfunc): Initialize plt_got.offset to -1. 585 (elf_x86_64_get_local_sym_hash): Likewise. 586 (elf_x86_64_check_relocs): Create the GOT PLT if there are both 587 PLT and GOT references when the regular PLT is used. 588 (elf_x86_64_allocate_dynrelocs): Use the GOT PLT if there are 589 both PLT and GOT references unless pointer equality is needed. 590 (elf_x86_64_relocate_section): Also check the GOT PLT when 591 resolving R_X86_64_PLT32. 592 (elf_x86_64_finish_dynamic_symbol): Use the GOT PLT if it is 593 available. 594 5952014-11-24 H.J. Lu <hongjiu.lu@intel.com> 596 597 * configure: Regenerated. 598 5992014-11-24 Tejas Belagod <tejas.belagod@arm.com> 600 601 * elfnn-aarch64.c (elf_aarch64_compare_mapping): New. 602 (erratum_835769_scan): Sort map list. 603 6042014-11-24 Alan Modra <amodra@gmail.com> 605 606 * elf64-ppc.c (plt_stub_pad): Correct. 607 6082014-11-23 H.J. Lu <hongjiu.lu@intel.com> 609 610 * elf64-x86-64.c (elf_x86_64_check_relocs): Assert size of 611 elf_x86_64_bnd_plt2_entry and elf_x86_64_legacy_plt2_entry. 612 (elf_x86_64_allocate_dynrelocs): Don't assert size of 613 elf_x86_64_bnd_plt2_entry and elf_x86_64_legacy_plt2_entry. 614 6152014-11-22 H.J. Lu <hongjiu.lu@intel.com> 616 617 * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Check 618 branch displacement overflow in PLT entry. 619 6202014-11-21 Nick Clifton <nickc@redhat.com> 621 622 PR binutils/17512 623 * coffgen.c (coff_get_normalized_symtab): Check for an excessive 624 number of auxillary entries. 625 * ieee.c (next_byte): Convert to a function. Return FALSE if the 626 next byte is beyond the end of the buffer. 627 (parse_int): Test the return value of next_byte. 628 (parse_expression): Convert to boolean. Return FALSE if the 629 parsing failed. Test the return value of next_byte. 630 (ieee_seek): Convert to a function. Return FALSE if the seek goes 631 beyond the end of the buffer. 632 (ieee_slurp_external_symbols): Test the return value of ieee_seek 633 and next_byte. 634 (ieee_slurp_sections): Convert to boolean. Return FALSE if the 635 operation failed. Test the return value of ieee_seek and 636 next_byte. 637 (ieee_archive_p): Test the return value of ieee_seek and 638 next_byte. 639 (do_one): Likewise. 640 (ieee_slurp_section_data): Likewise. 641 (ieee_object_p): Likewise. Store the size of the buffer in the 642 total_amt field in the header. 643 * libieee.h (common_header_type): Add amt field. 644 * mach-o.c (bfd_mach_o_canonicalize_one_reloc): Check that the 645 reloc's value is within range. 646 (bfd_mach_o_read_symtab_symbols): Nullify the symbols field if the 647 operation fails. 648 * pei-x86_64.c (pex64_xdata_print_uwd_codes): Replace abort with 649 an error message. 650 (pex64_dump_xdata): Check for buffer overflows. 651 * versados.c (process_otr): Check that the section exists before 652 taking its size. 653 (versados_object_p): Make sure that enough data was read for the 654 header to be checked. 655 * vms-alpha.c (vms_get_remaining_object_record): Change 656 read_so_far parameter to an unsigned int. Check that the amount 657 read is in range. 658 6592014-11-21 H.J. Lu <hongjiu.lu@intel.com> 660 661 * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Optimize 662 PC-relative offset overflow check. 663 6642014-11-21 Alexander Cherepanov <cherepan@mccme.ru> 665 666 PR binutils/17512 667 * coffgen.c (_bfd_coff_read_string_table): Test allocation of 668 string table before clearing the first few bytes. 669 6702014-11-21 Terry Guo <terry.guo@arm.com> 671 672 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Support FPv5. 673 6742014-11-20 Alan Modra <amodra@gmail.com> 675 676 * elf64-ppc.c (group_sections): Init stub14_group_size from 677 --stub-group-size parameter divided by 1024. 678 6792014-11-20 Alan Modra <amodra@gmail.com> 680 681 * elf32-ppc.c (ppc_elf_relax_section): Correct ppc476 workaround 682 alignment calculation. 683 6842014-11-20 Terry Guo <terry.guo@arm.com> 685 686 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Skip if input bfd 687 hasn't attribute section. 688 6892014-11-20 Alan Modra <amodra@gmail.com> 690 691 * elf64-ppc.c (ppc64_elf_size_stubs): Add __go_go to thread_starters. 692 6932014-11-18 H.J. Lu <hongjiu.lu@intel.com> 694 695 PR ld/17618 696 * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Check 697 PC-relative offset overflow in PLT entry. 698 6992014-11-18 Nick Clifton <nickc@redhat.com> 700 701 PR binutils/17512 702 * peXXIgen.c (pe_print_pdata): Fail if the section's virtual size 703 is larger than its real size. 704 (rsrc_print_section): Fix off-by-one error checking for overflow. 705 * pei-x86_64.c (pex64_bfd_print_pdata): Handle empty unwind 706 sections. 707 7082014-11-18 Igor Zamyatin <igor.zamyatin@intel.com> 709 710 * elf64-x86-64.c (elf_x86_64_check_relocs): Enable MPX PLT only 711 for -z bndplt. 712 7132014-11-14 Nick Clifton <nickc@redhat.com> 714 715 PR binutils/17597 716 * opncls.c (bfd_get_debug_link_info): Avoid reading off the end of 717 the section. 718 (bfd_get_alt_debug_link_info): Likewise. 719 7202014-11-14 Nick Clifton <nickc@redhat.com> 721 722 PR binutils/17512 723 * ieee.c (ieee_archive_p) Skip processing if no bytes are read at 724 all. 725 (ieee_object_p): Likewise. 726 7272014-11-13 H.J. Lu <hongjiu.lu@intel.com> 728 729 * coffcode.h (coff_slurp_line_table): Add cast to unsigned int. 730 7312014-11-13 H.J. Lu <hongjiu.lu@intel.com> 732 733 * coffcode.h (coff_pointerize_aux_hook): Fix a typo. 734 7352014-11-13 H.J. Lu <hongjiu.lu@intel.com> 736 737 PR gas/17598 738 * elf64-x86-64.c (elf_x86_64_check_relocs): Treat 739 R_X86_64_GOTPLT64 the same as R_X86_64_GOT64. 740 (elf_x86_64_relocate_section): Likewise. 741 7422014-11-13 Nick Clifton <nickc@redhat.com> 743 744 PR binutils/17512 745 * coffcode.h (coff_ptr_struct): Add is_sym field. 746 (coff_new_section_hook): Set the is_sym field. 747 (coff_pointerize_aux_hook): Check the is_sym field. 748 (coff_print_aux): Likewise. 749 (coff_compute_section_file_positions): Likewise. 750 (coff_write_object_contents): Likewise. 751 (coff_slurp_line_table): Likewise. 752 (coff_slurp_symbol_table): Likewise. 753 (CALC_ADDEND): Likewise. 754 * coffgen.c (coff_renumber_symbols): Likewise. 755 (coff_mangle_symbols): Likewise. 756 (coff_fix_symbol_name): Likewise. 757 (coff_write_symbol): Likewise. 758 (coff_write_alien_symbol): Likewise. 759 (coff_write_native_symbol): Likewise. 760 (coff_write_symbols): Likewise. 761 (coff_write_linenumbers): Likewise. 762 (coff_pointerize_aux): Likewise. 763 (coff_get_normalized_symtab): Likewise. 764 (coff_get_symbol_info): Likewise. 765 (bfd_coff_get_syment): Likewise. 766 (bfd_coff_get_auxent): Likewise. 767 (coff_print_symbol): Likewise. 768 (coff_find_nearest_line_with_names): Likewise. 769 (bfd_coff_set_symbol_class): Likewise. 770 (coff_make_empty_symbol): Set the is_sym field. 771 (coff_bfd_make_debug_symbol): Likewise. 772 * peicode.h (pe_ILF_make_a_symbol): Likewise. 773 * libcoff.h: Regenerate. 774 * libcoff-in.h: Regenerate. 775 7762014-11-12 Nick Clifton <nickc@redhat.com> 777 778 PR binutils/17512 779 * coffcode.h (coff_slurp_line_table): Set the line number of 780 corrupt entries to -1. 781 (coff_slurp_symbol_table): Alway initialise the value of the 782 symbol. 783 * coffgen.c (coff_print_symbol): Check that the combined pointer 784 is valid. 785 (coff_print_symbol): Do not print negative line numbers. 786 * peXXigen.c (pe_print_idata): Add range checking displaying 787 member names. 788 7892014-11-12 Alan Modra <amodra@gmail.com> 790 791 PR binutils/17512 792 * coffcode.h (coff_slurp_line_table): Drop line number info 793 not preceded by a valid function entry. Revert last change. 794 7952014-11-11 Nick Clifton <nickc@redhat.com> 796 797 PR binutils/17512 798 * coffcode.h (coff_slurp_line_table): Initialise the parts of the 799 line number cache that would not be initialised by the copy from 800 the new line number table. 801 (coff_classify_symbol): Allow for _bfd_coff_internal_syment_name 802 returning NULL. 803 * coffgen.c (coff_get_normalized_symbols): Get the external 804 symbols before allocating space for the internal symbols, in case 805 the get fails. 806 * elf.c (_bfd_elf_slurp_version_tables): Only allocate a verref 807 array if one is needed. Likewise with the verdef array. 808 * peXXigen.c (_bfd_XXi_swap_sym_in): Replace abort()'s with error 809 messages. 810 (_bfd_XXi_swap_aux_in): Make sure that all fields of the aux 811 structure are initialised. 812 (pe_print_edata): Avoid reading off the end of the data buffer. 813 8142014-11-11 Alan Modra <amodra@gmail.com> 815 816 PR binutils/17512 817 * coffcode.h (coff_slurp_line_table): Use updated lineno_count 818 when building func_table. 819 8202014-11-11 Alan Modra <amodra@gmail.com> 821 822 PR binutils/17512 823 * coffcode.h (coff_slurp_line_table): Don't bfd_zalloc, just 824 memset the particular bits we need. Update src after hitting loop 825 "continue". Don't count lineno omitted due to invalid symbols in 826 nbr_func, and update lineno_count. Init entire terminating 827 lineno. Don't both allocating terminator in n_lineno_cache. 828 Redirect sym->lineno pointer to where n_lineno_cache will be 829 copied, and free n_lineno_cache. 830 * pe-mips.c (NUM_HOWTOS): Typo fix. 831 8322014-11-11 Alan Modra <amodra@gmail.com> 833 834 * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Adjust section 835 size check to account for possible zero terminator. 836 8372014-11-10 James Cowgill <James.Cowgill@imgtec.com> 838 839 * elfxx-mips.c (_bfd_mips_elf_section_processing): don't force small 840 data sections to be PROGBITS 841 8422014-11-10 Nick Clifton <nickc@redhat.com> 843 844 PR binutils/17521 845 * coff-i386.c (NUM_HOWTOS): New define. 846 (RTYPE2HOWTO): Use it. 847 (coff_i386_rtype_to_howto): Likewise. 848 (coff_i386_reloc_name_lookup): Likewise. 849 (CALC_ADDEND): Check that reloc r_type field is valid. 850 * coff-x86_64.c (NUM_HOWTOS): New define. 851 (RTYPE2HOWTO): Use it. 852 (coff_amd64_rtype_to_howto): Likewise. 853 (coff_amd64_reloc_name_lookup): Likewise. 854 (CALC_ADDEND): Check that reloc r_type field is valid. 855 * coffcode.h (coff_slurp_line_table): Check for symbol table 856 indexing underflow. 857 (coff_slurp_symbol_table): Use zalloc to ensure that all table 858 entries are initialised. 859 * coffgen.c (_bfd_coff_read_string_table): Initialise unused bits 860 in the string table. Also ensure that the table is 0 terminated. 861 (coff_get_normalized_symtab): Check for symbol table indexing 862 underflow. 863 * opncls.c (bfd_alloc): Catch the case where a small negative size 864 can result in only 1 byte being allocated. 865 (bfd_alloc2): Use bfd_alloc. 866 * pe-mips.c (NUM_HOWTOS): New define. 867 (coff_mips_reloc_name_lookup): Use it. 868 (CALC_ADDEND): Check that reloc r_type field is valid. 869 * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Initialise unused entries 870 in the DataDirectory. 871 (pe_print_idata): Avoid reading beyond the end of the data block 872 wen printing strings. 873 (pe_print_edata): Likewise. 874 Check for table indexing underflow. 875 * peicode.h (pe_mkobject): Initialise the pe_opthdr field. 876 (pe_bfd_object_p): Allocate and initialize enough space to hold a 877 PEAOUTHDR, even if the opt_hdr field specified less. 878 8792014-11-08 Alan Modra <amodra@gmail.com> 880 881 * peXXigen.c (pe_print_idata): Revert last patch, cast lhs instead. 882 8832014-11-07 H.J. Lu <hongjiu.lu@intel.com> 884 885 * peXXigen.c (pe_print_idata): Cast to unsigned long in range 886 checks. 887 8882014-11-07 H.J. Lu <hongjiu.lu@intel.com> 889 890 PR ld/17482 891 * elf64-x86-64.c (elf_x86_64_relocate_section): Update comments 892 for IE->LE transition. 893 8942014-11-07 Alan Modra <amodra@gmail.com> 895 896 * tekhex.c (tekhex_set_arch_mach): Ignore unknown arch errors. 897 8982014-11-07 Alan Modra <amodra@gmail.com> 899 900 * tekhex.c (CHUNK_SPAN): Define. 901 (struct data_struct <chunk_init>): Use one byte per span, update 902 all code accessing this field. 903 (find_chunk): Add create param, don't create new entry unless set. 904 (insert_byte): Don't save zeros. 905 (first_phase): Set section SEC_CODE or SEC_DATA flag depending 906 on symbol type. Create an alternate section if both types of 907 symbol are given. Attach type '2' and '6' symbols to absolute 908 section. 909 (move_section_contents): Fix caching of chunk. Don't create chunk 910 when reading, or for writing zeros. 911 (tekhex_set_section_contents): Don't create initial chunks. 912 (tekhex_write_object_contents): Use CHUNK_SPAN. 913 9142014-11-07 Alan Modra <amodra@gmail.com> 915 916 * aoutx.h (aout_get_external_symbols): Tidy allocation of symbol buffer. 917 9182014-11-07 Alan Modra <amodra@gmail.com> 919 920 * archive.c (_bfd_slurp_extended_name_table): Revert bfd_get_size check. 921 * coffcode.h (coff_set_alignment_hook): Likewise. 922 (coff_slurp_line_table): Likewise. 923 * coffgen.c (coff_get_normalized_symtab): Likewise. 924 (_bfd_coff_get_external_symbols): Likewise. 925 * elf.c (bfd_elf_get_str_section): Likewise. 926 * tekhex.c (first_phase): Likewise. 927 9282014-11-06 Nick Clifton <nickc@redhat.com> 929 930 * aoutx.h (slurp_symbol_table): Revert previous delta. 931 (slurp_reloc_table): Likewise. 932 * compress.c (bfd_get_full_section_contents): Remove file size 933 test. 934 * coffgen.c (coff_get_normalized_symtab): Allow zero-sized symtabs 935 and do not complain about linker generated files. 936 9372014-11-06 Will Newton <will.newton@linaro.org> 938 939 * elf-attrs.c (_bfd_elf_parse_attributes): Handle zero 940 length sections and sub-sections. 941 9422014-11-04 Nick Clifton <nickc@redhat.com> 943 944 PR binutils/17512 945 * coffcode.h (handle_COMDAT): Replace abort with BFD_ASSERT. 946 Replace another abort with an error message. 947 (coff_slurp_line_table): Add more range checking. 948 * peXXigen.c (pe_print_debugdata): Add range checking. 949 9502014-11-05 James Cowgill <james.cowgill@imgtec.com> 951 952 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Fix segfault 953 when creating a dso with discarded dynsym section. 954 9552014-11-05 Matthew Fortune <matthew.fortune@imgtec.com> 956 957 * elfxx-mips.c (update_mips_abiflags_isa): Add E_MIPS_ARCH_32R6 958 and E_MIPS_ARCH_64R6 support. 959 9602014-11-05 Nick Clifton <nickc@redhat.com> 961 962 PR binutils/17512 963 * coffcode.h (coff_set_alignment_hook): Warn if the file lies 964 about the number of relocations it contains. 965 (coff_sort_func_alent): Return 0 if the pointers are NULL. 966 (coff_slurp_line_table): Add more range checks. Do not free new 967 tables created when sorting line numbers. 968 * peXXigen.c (pe_print_idata): Add range checks. 969 (pe_print_edata): Likewise. 970 (rsrc_print_resource_entries): Likewise. Avoid printing control 971 characters. Terminate priniting if corruption is detected. 972 (rsrc_print_resource_directory): Terminate printing if an unknown 973 directory type is encountered. 974 (pe_print_debugdata): Fix off-by-one error. 975 (rsrc_count_entries): Add range checking. 976 (rsrc_parse_entry): Likewise. 977 9782014-11-04 Nick Clifton <nickc@redhat.com> 979 980 PR binutils/17512 981 * compress.c (bfd_get_full_section_contents): Improve test for 982 linker created objects. 983 984 PR binutils/17533 985 * archive.c (_bfd_slurp_extended_name_table): Handle archives with 986 corrupt extended name tables. 987 9882014-11-04 Alan Modra <amodra@gmail.com> 989 990 * elf32-spu.c (ovl_mgr_stat): New function. 991 (spu_elf_open_builtin_lib): Pass to bfd_openr_iovec. 992 9932014-11-03 Andrew Burgess <andrew.burgess@embecosm.com> 994 995 * elf32-avr.c (elf32_avr_relax_delete_bytes): During linker 996 relaxation, reduce the size of symbols that span the deleted 997 bytes. 998 9992014-11-03 Andrew Burgess <andrew.burgess@embecosm.com> 1000 1001 * elf32-avr.c (elf32_avr_relax_delete_bytes): Modify symbols 1002 located at the very end of the section. 1003 10042014-11-03 Nick Clifton <nickc@redhat.com> 1005 1006 PR binutils/17512 1007 * aoutx.h (slurp_symbol_table): Check that computed table size is 1008 not bigger than the file from which is it being read. 1009 (slurp_reloc_table): Likewise. 1010 * coffcode.h (coff_slurp_line_table): Remove unneeded local 1011 'warned'. Do not try to print the details of a symbol with an 1012 invalid index. 1013 * coffgen.c (make_a_sectiobn_from_file): Check computed string 1014 index against length of string table. 1015 (bfd_coff_internal_syment_name): Check read in string offset 1016 against length of string table. 1017 (build_debug_section): Return a pointer to the section used. 1018 (_bfd_coff_read_string_table): Store the length of the string 1019 table in the coff_tdata structure. 1020 (bfd_coff_free_symbols): Set the length of the string table to 1021 zero when it is freed. 1022 (coff_get_normalized_symtab): Check offsets against string table 1023 or data table lengths as appropriate. 1024 * cofflink.c (_bfd_coff_link_input_bfd): Check offset against 1025 length of string table. 1026 * compress.c (bfd_get_full_section_contents): Check computed size 1027 against the size of the file. 1028 * libcoff-in.h (obj_coff_strings_len): Define. 1029 (struct coff_tdata): Add strings_len field. 1030 * libcoff.h: Regenerate. 1031 * peXXigen.c (pe_print_debugdata): Do not attempt to print the 1032 data if the debug section is too small. 1033 * xcofflink.c (xcoff_link_input_bfd): Check offset against 1034 length of string table. 1035 10362014-11-03 Nick Clifton <nickc@redhat.com> 1037 1038 * po/fi.po: Updated Finnish translation. 1039 10402014-10-31 Andrew Pinski <apinski@cavium.com> 1041 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com> 1042 1043 * archures.c: Add octeon3 for mips target. 1044 * bfd-in2.h: Regenerate. 1045 * bfd/cpu-mips.c: Define I_mipsocteon3. 1046 nfo_struct): Add octeon3 support. 1047 * bfd/elfxx-mips.c: (_bfd_elf_mips_mach): Add support for 1048 octeon3. 1049 (mips_set_isa_flags): Add support for octeon3. 1050 (bfd_mips_isa_ext): Add bfd_mach_mips_octeon3. 1051 (mips_mach_extensions): Make bfd_mach_mips_octeon3 an 1052 extension of bfd_mach_mips_octeon2. 1053 (print_mips_isa_ext): Print the value of Octeon3. 1054 10552014-10-31 Nick Clifton <nickc@redhat.com> 1056 1057 PR binutils/17512 1058 * coffgen.c (_bfd_coff_get_external_symbols): Do not try to load a 1059 symbol table bigger than the file. 1060 * elf.c (bfd_elf_get_str_section): Do not try to load a string 1061 table bigger than the file. 1062 * tekhex.c (first_phase): Check that the section range is sane. 1063 10642014-10-30 Nick Clifton <nickc@redhat.com> 1065 1066 PR binutils/17512 1067 * ihex.c (ihex_scan): Fix typo in invocation of ihex_bad_byte. 1068 * coffgen.c (coff_get_normalized_symtab): Prevent buffer overrun. 1069 10702014-10-29 Nick Clifton <nickc@redhat.com> 1071 1072 * elf.c (bfd_section_from_shdr): Fix heap use after free memory 1073 leak. 1074 10752014-10-29 Dennis Brueni <dbrueni@slickedit.com> 1076 1077 * elf.c (elfcore_write_lwpstatus): Fix typo in call to memcpy. 1078 10792014-10-28 Nick Clifton <nickc@redhat.com> 1080 1081 PR binutils/17512 1082 * elf.c (bfd_section_from_shdr): Allocate and free the recursion 1083 detection table on a per-bfd basis. 1084 * peXXigen.c (pe_print_edata): Handle binaries with a truncated 1085 export table. 1086 10872014-10-28 Andreas Schwab <schwab@suse.de> 1088 Nick Clifton <nickc@redhat.com> 1089 1090 PR binutils/17510 1091 * srec.c (srec_bad_byte): Increase size of buf to allow for 1092 negative values. 1093 (srec_scan): Use an unsigned char buffer to hold header bytes. 1094 10952014-10-27 Nick Clifton <nickc@redhat.com> 1096 1097 PR binutils/17512 1098 * elf.c (bfd_section_from_shdr): Detect and warn about ELF 1099 binaries with a group of sections linked by the string table 1100 indicies. 1101 * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Handle corrupt binaries 1102 with an invalid value for NumberOfRvaAndSizes. 1103 (pe_print_edata): Detect out of range rvas and entry counts for 1104 the Export Address table, Name Pointer table and Ordinal table. 1105 1106 PR binutils/17510 1107 * elf.c (setup_group): Improve handling of corrupt group 1108 sections. 1109 11102014-10-24 Tejas Belagod <tejas.belagod@arm.com> 1111 1112 * bfd-in.h (bfd_elf64_aarch64_set_options): Add a parameter. 1113 * bfd-in2.h (bfd_elf64_aarch64_set_options): Likewise. 1114 * elfnn-aarch64.c (aarch64_erratum_835769_stub): New. 1115 (elf_aarch64_stub_type): Add new type 1116 aarch64_stub_erratum_835769_veneer. 1117 (elf_aarch64_stub_hash_entry): New fields for erratum 835769. 1118 (aarch64_erratum_835769_fix): New data struct to record erratum 1119 835769. 1120 (elf_aarch64_link_hash_table: Global flags for 835769. 1121 (aarch64_build_one_stub): Add case for 835769. 1122 (aarch64_size_one_stub): Likewise. 1123 (aarch64_mem_op_p, aarch64_mlxl_p, 1124 aarch64_erratum_sequence,erratum_835769_scan): 1125 New. Decode and scan functions for erratum 835769. 1126 (elf_aarch64_create_or_find_stub_sec): New. 1127 (elfNN_aarch64_size_stubs): Look for erratum 835769 and record 1128 them. 1129 (bfd_elfNN_aarch64_set_options: Set global flag for 835769. 1130 (erratum_835769_branch_to_stub_data, 1131 make_branch_to_erratum_835769_stub):New. Connect up all the 1132 erratum stubs to occurances by branches. 1133 (elfNN_aarch64_write_section): New hook. 1134 (aarch64_map_one_stub): Output erratum stub symbol. 1135 (elfNN_aarch64_size_dynamic_sections): Init mapping symbol 1136 information for erratum 835769. 1137 (elf_backend_write_section): Define. 1138 11392014-10-23 Victor Kamensky <victor.kamensky@linaro.org> 1140 1141 * elf32-arm.c (read_code32): New function to read 32 bit 1142 arm instruction. 1143 (read_code16): New function to read 16 bit thumb instrution. 1144 (elf32_arm_plt0_size, elf32_arm_plt_size): Use read_code32 1145 and read_code16 to read instructions. 1146 11472014-10-22 Matthew Fortune <matthew.fortune@imgtec.com> 1148 1149 * elfxx-mips.c (print_mips_ases): Print unknown ASEs. 1150 (print_mips_isa_ext): Print the value of an unknown extension. 1151 11522014-10-21 Alan Modra <amodra@gmail.com> 1153 1154 * elf64-ppc.c (ppc64_elf_tls_optimize): Ignore relocs against toc 1155 entries that aren't a multiple of 8 rather than failing assertion. 1156 11572014-10-21 Alan Modra <amodra@gmail.com> 1158 1159 * elf64-ppc.c (ppc64_elf_size_stubs): Add gcc-4.9 libgomp functions 1160 to thread_starter. 1161 11622014-10-18 Alan Modra <amodra@gmail.com> 1163 1164 * elf64-ppc.c (ppc64_elf_add_symbol_hook): If function code 1165 section for function symbols defined in .opd is discarded, let 1166 the symbol appear to be undefined. 1167 (opd_entry_value): Ensure the result section is that for the 1168 function code section in the same object as the OPD entry. 1169 11702014-10-16 Alan Modra <amodra@gmail.com> 1171 1172 PR 17492 1173 * elf32-arm.c (elf32_arm_add_symbol_hook): Only set has_gnu_symbols 1174 on ELF output bfd. 1175 * elf32-i386.c (elf_i386_add_symbol_hook): Likewise. 1176 * elf32-m68k.c (elf_m68k_add_symbol_hook): Likewise. 1177 * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise. 1178 * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise. 1179 * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise. 1180 * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise. 1181 * elf64-x86-64.c (elf_x86_64_add_symbol_hook): Likewise. 1182 * elfxx-aarch64.c (_bfd_aarch64_elf_add_symbol_hook): Likewise. 1183 * elf-s390-common.c (elf_s390_add_symbol_hook): Likewise. Handle 1184 STB_GNU_UNIQUE too. 1185 11862014-10-16 Alan Modra <amodra@gmail.com> 1187 1188 * elf64-ppc.c (ppc64_elf_before_check_relocs): Do .opd processing 1189 even when output is not ppc64 ELF. Remove redundant tests on 1190 type of input bfd. 1191 11922014-10-15 Alan Modra <amodra@gmail.com> 1193 1194 PR 17481 1195 * aoutx.h (NAME (aout, find_nearest_line)): Add "discriminator_ptr" 1196 param, group "section" and "offset" params. Zero discriminator. 1197 * bfd.c (bfd_find_nearest_line): Implement with new 1198 _bfd_find_nearest_line. 1199 (bfd_find_nearest_line_discriminator): Likewise. 1200 * coff-i386.c (_bfd_generic_find_nearest_line_discriminator): Don't 1201 define. 1202 * coff-rs6000.c (xcoff_find_nearest_line, 1203 xcoff_find_nearest_line_discriminator): Delete. 1204 (_bfd_xcoff_find_nearest_line): Don't define. 1205 (_bfd_xcoff_find_nearest_line): Define as coff_find_nearest_line. 1206 * coff-x86_64.c (_bfd_generic_find_nearest_line_discriminator): Don't 1207 define. 1208 * coff64-rs6000.c (rs6000_xcoff64_vec, rs6000_xcoff64_aix_vec): Adjust. 1209 * coffgen.c (coff_find_nearest_line_with_names): Reorder params, 1210 adjust _bfd_dwarf2_find_nearest_line call. 1211 (coff_find_nearest_line): Add "discriminator_ptr" param, reorder 1212 others. Set discriminator. Adjust call. 1213 (coff_find_nearest_line_discriminator): Delete. 1214 * dwarf1.c (_bfd_dwarf1_find_nearest_line): Reorder params. 1215 * dwarf2.c (find_line): Rename to.. 1216 (_bfd_dwarf2_find_nearest_line): ..this, reordering params. 1217 Simplify setting of do_line. Delete old function. 1218 (_bfd_dwarf2_find_line): Delete. 1219 * ecoff.c (_bfd_ecoff_find_nearest_line): Reorder params, add 1220 discriminator_ptr and set it. 1221 * elf-bfd.h (_bfd_elf_find_nearest_line): Update prototype. 1222 (_bfd_elf_find_nearest_line_discriminator): Delete. 1223 (_bfd_elf_find_line_discriminator): Delete. 1224 (_bfd_generic_find_nearest_line_discriminator): Don't define. 1225 * elf.c (elf_find_function): Reorder params. 1226 (_bfd_elf_find_nearest_line): Reorder params, add discriminator_ptr. 1227 Adjust calls. 1228 (_bfd_elf_find_nearest_line_discriminator): Delete. 1229 (_bfd_elf_find_line): Adjust call. 1230 * elf32-arm.c (arm_elf_find_function): Reorder params. 1231 (elf32_arm_find_nearest_line): Reorder params, add discriminator_ptr. 1232 Adjust calls. 1233 * elf64-alpha.c (elf64_alpha_find_nearest_line): Similarly. 1234 * elfnn-aarch64.c (aarch64_elf_find_function): Reorder params. 1235 (elfNN_aarch64_find_nearest_line): Reorder params, add 1236 discriminator_ptr. Adjust calls. 1237 * elfxx-mips.c (_bfd_mips_elf_find_nearest_line): Similarly. 1238 * elfxx-mips.h (_bfd_mips_elf_find_nearest_line): Update prototype. 1239 * libaout.h (NAME (aout, find_nearest_line)): Update prototype. 1240 * libbfd-in.h (_bfd_nosymbols_find_nearest_line): Update. 1241 (_bfd_dwarf1_find_nearest_line): Likewise. 1242 (_bfd_dwarf2_find_nearest_line): Likewise. 1243 (_bfd_dwarf2_find_line): Delete. 1244 (_bfd_generic_find_nearest_line_discriminator): Delete. 1245 * libbfd.c (_bfd_generic_find_nearest_line_discriminator): Delete. 1246 * libcoff-in.h (coff_find_nearest_line): Update prototype. 1247 (coff_find_nearest_line_discriminator): Delete. 1248 (coff_find_nearest_line_with_names): Update prototype. 1249 * libecoff.h (_bfd_ecoff_find_nearest_line): Update prototype. 1250 * mach-o.c (bfd_mach_o_find_nearest_line): Reorder params, add 1251 discriminator_ptr. Adjust calls. 1252 * mach-o.h (bfd_mach_o_find_nearest_line): Update prototype. 1253 * pdp11.c (NAME (aout, find_nearest_line)): Reorder params, add 1254 discriminator_ptr and set. 1255 * som.c (som_find_nearest_line): Similarly. 1256 * targets.c (BFD_JUMP_TABLE_SYMBOLS): Delete entry for 1257 _bfd_find_nearest_line_discriminator. 1258 (struct bfd_target <_bfd_find_nearest_line>): Adjust prototype. 1259 (struct bfd_target <_bfd_find_nearest_line_discriminator>): Delete. 1260 * vms-alpha.c (_bfd_vms_find_nearest_dst_line): Rename to.. 1261 (_bfd_vms_find_nearest_line): ..this. Reorder params, add 1262 "discriminator" and set. 1263 (_bfd_vms_find_nearest_line_discriminator): Delete. 1264 (_bfd_generic_find_nearest_line_discriminator): Don't define. 1265 (alpha_vms_find_nearest_line): Update define. 1266 * bfd-in2.h: Regenerate. 1267 * libbfd.h: Regenerate. 1268 * libcoff.h: Regenerate. 1269 12702014-10-15 Alan Modra <amodra@gmail.com> 1271 1272 * targets.c (BFD_JUMP_TABLE_SYMBOLS): Use NAME##_find_line. 1273 * aout-adobe.c (aout_32_find_line): Define. 1274 (aout_32_bfd_make_debug_symbol, aout_32_bfd_reloc_type_lookup, 1275 aout_32_bfd_reloc_name_lookup): Define using _bfd_nosymbols define. 1276 * aout-target.h (MY_find_line): Define. 1277 * aout-tic30.c (MY_find_line): Define. 1278 * binary.c (binary_find_line): Define. 1279 * bout.c (aout_32_find_line): Define. 1280 * coff-rs6000.c (_bfd_xcoff_find_line): Define. 1281 * coff64-rs6000.c (rs6000_xcoff64_vec): Use coff_find_line. 1282 (rs6000_xcoff64_aix_vec): Likewise. 1283 * elf-bfd.h (_bfd_generic_find_line): Don't define. 1284 * elfxx-target.h (bfd_elfNN_find_line): Define. 1285 * i386msdos.c (msdos_find_line): Define. 1286 * i386os9k.c (aout_32_find_line): Define. 1287 * ieee.c (ieee_find_nearest_line, ieee_find_inliner_info): Delete func. 1288 (ieee_find_nearest_line, ieee_find_line, 1289 ieee_find_inliner_info): Define. 1290 * ihex.c (ihex_find_line): Define. 1291 * libbfd-in.h (_bfd_nosymbols_find_line): Define. 1292 (_bfd_generic_find_line): Don't define. 1293 * libbfd.c (_bfd_generic_find_line): Delete. 1294 * libcoff-in.h (coff_find_line): Define. 1295 * libecoff.h (_bfd_ecoff_find_line): Define. 1296 * mach-o.h (bfd_mach_o_find_line): Define. 1297 * mmo.c (mmo_find_line): Define. 1298 * nlm-target.h (nlm_find_line): Define. 1299 * oasys.c (oasys_find_nearest_line, oasys_find_inliner_info): Delete. 1300 (oasys_find_nearest_line, oasys_find_line, 1301 oasys_find_inliner_info): Define. 1302 * pef.c (bfd_pef_find_line): Define. 1303 * plugin.c (bfd_plugin_find_line): Define. 1304 * ppcboot.c (ppcboot_find_line): Define. 1305 * som.c (som_find_line): Define. 1306 * srec.c (srec_find_line): Define. 1307 * tekhex.c (tekhex_find_line): Define. 1308 * versados.c (versados_find_line): Define. 1309 * vms-alpha.c (alpha_vms_find_line): Define. 1310 * xsym.c (bfd_sym_find_line): Define. 1311 * bfd-in2.h: Regenerate. 1312 * libbfd.h: Regenerate. 1313 * libcoff.h: Regenerate. 1314 13152014-10-15 Tristan Gingold <gingold@adacore.com> 1316 1317 * version.m4: Bump version to 2.25.51 1318 * configure: Regenerate. 1319 13202014-10-14 H.J. Lu <hongjiu.lu@intel.com> 1321 1322 * elf32-i386.c (elf_i386_convert_mov_to_lea): Skip if relocation 1323 offset is less than 2. 1324 * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise. 1325 13262014-10-14 Alan Modra <amodra@gmail.com> 1327 1328 PR 17453 1329 * libbfd.c (COERCE16, COERCE32, COERCE64): Use unsigned types. 1330 (EIGHT_GAZILLION): Delete. 1331 13322014-10-13 Alan Modra <amodra@gmail.com> 1333 1334 PR 17467 1335 * elf-eh-frame.c (ENSURE_NO_RELOCS): Don't stop at first NONE reloc. 1336 (_bfd_elf_parse_eh_frame): When relocatable output, don't set 1337 flags enabling conversion of CIEs and FDEs to use relative encoding. 1338 (find_merged_cie): Similarly. 1339 (_bfd_elf_write_section_eh_frame): Don't edit FDEs when 1340 relocatable, except for CIE pointer. 1341 * elflink.c (bfd_elf_reloc_symbol_deleted_p): Return true for 1342 relocs against symbols in dropped comdat group sections. 1343 (bfd_elf_discard_info): Do some eh_frame optimisation when 1344 relocatable. 1345 13462014-10-09 Jose E. Marchesi <jose.marchesi@oracle.com> 1347 1348 * elfxx-sparc.c (_bfd_sparc_elf_merge_private_bfd_data): Handle 1349 the hwcaps2 object attribute. 1350 13512014-10-04 Alan Modra <amodra@gmail.com> 1352 1353 PR 17447 1354 * elf-bfd.h (struct eh_cie_fde): Comment re NULL u.fde.cie_inf. 1355 * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Mark zero address 1356 range FDEs for discarding. 1357 (vma_compare): Sort on range after address. 1358 (_bfd_elf_gc_mark_fdes): Test for NULL u.fde.cie_inf. 1359 (_bfd_elf_discard_section_eh_frame): Likewise. Write "FDE" in 1360 error message rather than "fde". 1361 (_bfd_elf_write_section_eh_frame_hdr): Write "PC" and "FDE" in 1362 error message. 1363 13642014-09-29 H.J. Lu <hongjiu.lu@intel.com> 1365 1366 PR ld/17440 1367 * elf32-i386.c (elf_i386_fbsd_post_process_headers): Fix build 1368 for OLD_FREEBSD_ABI_LABEL. 1369 13702014-09-24 Markus Trippelsdorf <markus@trippelsdorf.de> 1371 1372 PR 17422 1373 * plugin.c (try_claim): New function. Moved from 1374 bfd_plugin_object_p. 1375 (try_load_plugin): Pass through bfd. Add test. 1376 (load_plugin): Pass through bfd. 1377 (bfd_plugin_object_p): Move logic to try_claim. 1378 13792014-09-23 Sterling Augustine <augustine.sterling@gmail.com> 1380 1381 * elf32-xtensa.c (is_resolvable_asm_expansion): for cross-section 1382 call relaxation use furthermost addresses where call source and 1383 destination can be to check whether it's in the range of a direct 1384 call. 1385 13862014-09-22 Alan Modra <amodra@gmail.com> 1387 1388 * elf-eh-frame.c (_bfd_elf_write_section_eh_frame_hdr): Don't return 1389 false for overflow or overlapping FDEs. Give more detail in 1390 error messages. 1391 13922014-09-22 Andrew Bennett <andrew.bennett@imgtec.com> 1393 1394 * elfxx-mips.c (mips_elf_calculate_relocation): Don't sign extend 1395 the addend if relocations are RELA. 1396 13972014-09-22 Kuan-Lin Chen <kuanlinchentw@gmail.com> 1398 1399 * elf32-nds32.c (nds32_elf_ex9_build_hash_table, 1400 nds32_elf_ex9_relocation_check): Synchronize the argument type. 1401 14022014-09-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 1403 1404 * elf32-s390.c: Don't replace R_390_TLS_LE32 with R_390_TLS_TPOFF 1405 for PIE. 1406 * elf64-s390.c: Don't replace R_390_TLS_LE64 with R_390_TLS_TPOFF 1407 for PIE. 1408 14092014-09-18 Jan Kratochvil <jan.kratochvil@redhat.com> 1410 1411 PR gdb/17407 1412 * elfcode.h (bfd_from_remote_memory): Use SIZE for HIGH_OFFSET. 1413 14142014-09-16 Terry Guo <terry.guo@arm.com> 1415 1416 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Return false if 1417 failed to merge. 1418 14192014-09-16 Kuan-Lin Chen <kuanlinchentw@gmail.com> 1420 1421 * bfd-in2.h: Regenerate. 1422 * elf32-nds32.c (nds32_elf_mkobject): Hook bfd_elf32_mkobject. 1423 (nds32_elf_relax_section): Code refactoring. 1424 (nds32_elf_relax_longcall1, nds32_elf_relax_longcall2, 1425 nds32_elf_relax_longcall3, nds32_elf_relax_longcall4, 1426 nds32_elf_relax_longcall5, nds32_elf_relax_longcall6): Relax call 1427 pattern. The first three is moved from nds32_elf_relax_section, 1428 and the last three is new function. 1429 (nds32_elf_relax_longjump1, nds32_elf_relax_longjump2, 1430 nds32_elf_relax_longjump3, nds32_elf_relax_longjump4, 1431 nds32_elf_relax_longjump5, nds32_elf_relax_longjump6, 1432 nds32_elf_relax_longjump7): Relax condition branch pattern. The first 1433 three is moved from nds32_elf_relax_section, and the last four 1434 is new function. 1435 (nds32_elf_relax_loadstore, nds32_elf_relax_lo12): Relax load-store 1436 pattern and address setting pattern. 1437 (nds32_elf_relax_piclo12, nds32_elf_relax_ptr, 1438 nds32_elf_relax_pltgot_suff, nds32_elf_relax_got_suff, 1439 nds32_elf_relax_gotoff_suff): Relax pic pattern. 1440 (nds32_elf_relax_letlslo12, nds32_elf_relax_letlsadd, 1441 nds32_elf_relax_letlsls): Relax TLS pattern. 1442 (nds32_relax_adjust_label): Adjust alignment and nop. 1443 (nds32_elf_pick_relax): Choose relaxation optimization. 1444 (nds32_elf_get_relocated_section_contents): New hook. 1445 (nds32_elf_order_insn_times, nds32_elf_ex9_build_itable): Release ex9 1446 table 234th entry. 1447 * elf32-nds32.h: Declare. 1448 * libbfd.h: Regenerate. 1449 * reloc.c: Add nds32 new relocations. 1450 14512014-09-15 Chen Gang <gang.chen.5i5j@gmail.com> 1452 1453 * dwarf2.c (find_abstract_instance_name): Use 'form' instead of 1454 'name' for the typo issue, which related with commit 1455 60d77146a249ae9b51d7ce98930cdbedb2cfa352. 1456 14572014-09-15 Andrew Bennett <andrew.bennett@imgtec.com> 1458 Matthew Fortune <matthew.fortune@imgtec.com> 1459 1460 * aoutx.h (NAME (aout, machine_type)): Add mips32r6 and mips64r6. 1461 * archures.c (bfd_architecture): Likewise. 1462 * bfd-in2.h (bfd_architecture): Likewise. 1463 (bfd_reloc_code_real): Add relocs BFD_RELOC_MIPS_21_PCREL_S2, 1464 BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3 and 1465 BFD_RELOC_MIPS_19_PCREL_S2. 1466 * cpu-mips.c (arch_info_struct): Add mips32r6 and mips64r6. 1467 * elf32-mips.c: Define relocs R_MIPS_PC21_S2, R_MIPS_PC26_S2 1468 R_MIPS_PC18_S3, R_MIPS_PC19_S2, R_MIPS_PCHI16 and R_MIPS_PCLO16. 1469 (mips_reloc_map): Add entries for BFD_RELOC_MIPS_21_PCREL_S2, 1470 BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3, 1471 BFD_RELOC_MIPS_19_PCREL_S2, BFD_RELOC_HI16_S_PCREL and 1472 BFD_RELOC_LO16_PCREL. 1473 * elf64-mips.c: Define REL, and RELA relocations R_MIPS_PC21_S2, 1474 R_MIPS_PC26_S2, R_MIPS_PC18_S3, R_MIPS_PC19_S2, R_MIPS_PCHI16 1475 and R_MIPS_PCLO16. 1476 (mips_reloc_map): Add entries for BFD_RELOC_MIPS_21_PCREL_S2, 1477 BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3, 1478 BFD_RELOC_MIPS_19_PCREL_S2, BFD_RELOC_HI16_S_PCREL and 1479 BFD_RELOC_LO16_PCREL. 1480 * elfn32-mips.c: Likewise. 1481 * elfxx-mips.c (MIPSR6_P): New define. 1482 (mipsr6_exec_plt_entry): New array. 1483 (hi16_reloc_p): Add support for R_MIPS_PCHI16. 1484 (lo16_reloc_p): Add support for R_MIPS_PCLO16. 1485 (aligned_pcrel_reloc_p): New function. 1486 (mips_elf_relocation_needs_la25_stub): Add support for relocs: 1487 R_MIPS_PC21_S2 and R_MIPS_PC26_S2. 1488 (mips_elf_calculate_relocation): Add support for relocs: 1489 R_MIPS_PC21_S2, R_MIPS_PC26_S2, R_MIPS_PC18_S3, R_MIPS_PC19_S2, 1490 R_MIPS_PCHI16 and R_MIPS_PCLO16. 1491 (_bfd_elf_mips_mach): Add support for mips32r6 and mips64r6. 1492 (mips_elf_add_lo16_rel_addend): Add support for R_MIPS_PCHI16. 1493 (_bfd_mips_elf_check_relocs): Add support for relocs: 1494 R_MIPS_PC21_S2 and R_MIPS_PC26_S2. 1495 (_bfd_mips_elf_relocate_section): Add a check for unaligned 1496 pc relative relocs. 1497 (_bfd_mips_elf_finish_dynamic_symbol): Add support for MIPS r6 1498 plt entry. 1499 (mips_set_isa_flags): Add support for mips32r6 and mips64r6. 1500 (_bfd_mips_elf_print_private_bfd_data): Likewise. 1501 (mips_32bit_flags_p): Add support for mips32r6. 1502 * libbfd.h (bfd_reloc_code_real_names): Add entries for 1503 BFD_RELOC_MIPS_21_PCREL_S2, BFD_RELOC_MIPS_26_PCREL_S2, 1504 BFD_RELOC_MIPS_18_PCREL_S3 and BFD_RELOC_MIPS_19_PCREL_S2. 1505 * reloc.c: Document relocs BFD_RELOC_MIPS_21_PCREL_S2, 1506 BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3 and 1507 BFD_RELOC_MIPS_19_PCREL_S2. 1508 * config.bfd: Add mips*-img-elf* target triple. 1509 15102014-09-12 Andrew Bennett <andrew.bennett@imgtec.com> 1511 1512 * config.bfd: Add mips*-img-elf* target triple. 1513 15142014-09-12 Alan Modra <amodra@gmail.com> 1515 1516 * elf-bfd.h (struct eh_frame_array_ent): Add "range". 1517 * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Stash address 1518 range of FDEs to hdr_info->array. 1519 (_bfd_elf_write_section_eh_frame_hdr): Report overflow in 1520 .eh_frame_hdr entries, and overlapping FDEs. 1521 15222014-09-10 Alan Modra <amodra@gmail.com> 1523 1524 * elf.c (assign_file_positions_except_relocs): Move section header 1525 placement to.. 1526 (_bfd_elf_assign_file_positions_for_relocs): ..here. Make static. 1527 * elf-bfd.h (_bfd_elf_assign_file_positions_for_relocs): Delete. 1528 * elflink.c (bfd_elf_final_link): Don't call above function. 1529 15302014-08-30 Alan Modra <amodra@gmail.com> 1531 1532 * elf32-ppc.c (ppc_elf_relax_section): Fix off by one error. 1533 15342014-08-29 Alan Modra <amodra@gmail.com> 1535 1536 * elf64-ppc.c (ppc64_elf_relocate_section): Report a different 1537 error for calls via a toc adjusting stub without a nop. 1538 15392014-08-29 Alan Modra <amodra@gmail.com> 1540 1541 * vms-alpha.c (alpha_vma_object_p): Don't return file_truncated 1542 error. Remove redundant bfd_set_error. 1543 15442014-08-29 Alan Modra <amodra@gmail.com> 1545 1546 * srec.c (srec_scan): Revert last change. Report an error for 1547 S-records with less than the miniumum byte count. 1548 15492014-08-28 H.J. Lu <hongjiu.lu@intel.com> 1550 1551 * srec.c (srec_scan): Return error for 0 size. 1552 15532014-08-27 H.J. Lu <hongjiu.lu@intel.com> 1554 1555 PR ld/17306 1556 * elf32-i386.c (elf_i386_convert_mov_to_lea): Use bfd_is_abs_section 1557 to check discarded input section. 1558 * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise. 1559 15602014-08-27 H.J. Lu <hongjiu.lu@intel.com> 1561 1562 PR ld/17313 1563 * elflink.c (elf_link_add_object_symbols): Don't attach dynamic 1564 sections to input from ld --just-symbols. 1565 15662014-08-26 DJ Delorie <dj@redhat.com> 1567 1568 * elf32-rl78.c (rl78_elf_relax_section): Disambiguate test for 1569 relaxation type. 1570 15712014-08-26 Jiong Wang <jiong.wang@arm.com> 1572 1573 * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Initialize non_got_ref 1574 properly for MOVW_G0/1/2_NC and MOVW_G3. Reject them when linking 1575 shared library. 1576 (elfNN_aarch64_gc_sweep_hook): Add check on these relocs. 1577 15782014-08-26 Nick Clifton <nickc@redhat.com> 1579 1580 * config.bfd: Fix typo in or1knd selection. 1581 15822014-08-22 Kai Tietz <ktietz@redhat.com> 1583 1584 PR binutils/11822 1585 * coffcode.h (coff_compute_section_file_positions): Keep 1586 FileAlignment valid as set. 1587 15882014-08-22 Alan Modra <amodra@gmail.com> 1589 1590 * elf-eh-frame.c (struct cie): Delete "output_sec" field. 1591 (cie_eq, cie_compute_hash): Use output_section from cie_inf instead. 1592 15932014-08-22 Alan Modra <amodra@gmail.com> 1594 1595 * elf-bfd.h (struct eh_frame_hdr_info): Delete merge_cies and 1596 parsed_eh_frames. 1597 (_bfd_elf_begin_eh_frame_parsing): Delete. 1598 (_bfd_elf_end_eh_frame_parsing): Delete. 1599 * elf-eh-frame.c (_bfd_elf_begin_eh_frame_parsing): Delete. 1600 (_bfd_elf_end_eh_frame_parsing): Delete. 1601 (_bfd_elf_parse_eh_frame): Don't test parsed_eh_frame. Test 1602 !info->relocatable in place of merge_cies. 1603 * elflink.c (bfd_elf_gc_sections, bfd_elf_discard_info): Adjust. 1604 * elf64-ppc.c (glink_eh_frame_cie): Pad to multiple of 8. 1605 (ppc64_elf_size_stubs): Likewise pad stub FDE. 1606 (ppc64_elf_build_stubs): Move code setting glink .eh_frame to.. 1607 (ppc64_elf_size_stubs): ..here and.. 1608 (ppc64_elf_finish_dynamic_sections): ..here. 1609 16102014-08-21 Maciej W. Rozycki <macro@codesourcery.com> 1611 1612 * elf64-ppc.h (ppc64_elf_set_toc): Fix indentation. 1613 16142014-08-21 Tony Wang <tony.wang@arm.com> 1615 1616 * elf32-arm.c (elf32_arm_final_link_relocate): Implement 1617 the veneer routine for R_ARM_THM_JUMP19. 1618 (arm_type_of_stub): Add conditional clause for R_ARM_THM_JUMP19 1619 (elf32_arm_size_stub): Ditto. 1620 16212014-08-20 Roland McGrath <mcgrathr@google.com> 1622 1623 PR ld/17277 1624 * elf32-arm.c (elf32_arm_check_relocs): Increment P->pc_count for 1625 all reloc types with pc_relative set in the howto, not just for 1626 R_ARM_REL32 and R_ARM_REL32_NOI. 1627 (allocate_dynrelocs_for_symbol): Update comment. 1628 (elf32_arm_gc_sweep_hook): For all reloc types with pc_relative 1629 set in the howto, set call_reloc_p and may_need_local_target_p but 1630 not may_become_dynamic_p; not only for R_ARM_REL32 and R_ARM_REL32_NOI. 1631 (elf32_arm_check_relocs): Likewise. 1632 16332014-08-20 Will Newton <will.newton@linaro.org> 1634 1635 * config.bfd: Default armeb-*-eabi* to big endian. 1636 16372014-08-19 Alan Modra <amodra@gmail.com> 1638 1639 * configure: Regenerate. 1640 16412014-08-18 Alan Modra <amodra@gmail.com> 1642 1643 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Don't attempt to 1644 use dynrelocs for ifunc. 1645 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Similarly. 1646 16472014-08-18 Alan Modra <amodra@gmail.com> 1648 1649 PR 17287 1650 * elflink.c (on_needed_list): Only consider libraries that have 1651 been loaded. 1652 16532014-08-18 Alan Modra <amodra@gmail.com> 1654 1655 * elflink.c (bfd_elf_discard_info): Return int error status. 1656 * stabs.c (_bfd_discard_section_stabs): Comment typo fix. 1657 * bfd-in.h (bfd_elf_discard_info): Updata prototype. 1658 * bfd-in2.h: Regenerate. 1659 16602014-08-14 Alan Modra <amodra@gmail.com> 1661 1662 * peXXigen.c (pe_print_reloc): Protect against access past end 1663 of .reloc section. 1664 16652014-08-14 Alan Modra <amodra@gmail.com> 1666 1667 PR 16563 1668 * elflink.c (bfd_elf_discard_info): Process .eh_frame and .stab 1669 in the order they are mapped to output sections. 1670 16712014-08-14 Alan Modra <amodra@gmail.com> 1672 1673 * configure.ac: Delete redundant plugin related checks. 1674 * configure: Regenerate. 1675 16762014-08-13 Stefan Kristiansson <stefan.kristiansson@saunalahti.fi> 1677 1678 * elf32-or1k.c (or1k_elf_relocate_section, or1k_elf_check_relocs, 1679 allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL 1680 and SYMBOLIC_BIND. 1681 16822014-08-12 Alan Modra <amodra@gmail.com> 1683 1684 * coff-aux.c (coff_m68k_aux_link_add_one_symbol): Only call "notice" 1685 here when not calling the generic add_symbol function. Formatting. 1686 Correct handling of indirect symbols. Update notice call. 1687 * elflink.c (_bfd_elf_notice_as_needed): Update notice call. 1688 * linker.c (_bfd_generic_link_add_one_symbol): Create indirect 1689 symbols early. Update notice call. Add comments regarding weak 1690 symbols vs. indirect. 1691 16922014-08-12 Alan Modra <amodra@gmail.com> 1693 1694 PR ld/16746 1695 * linker.c (_bfd_generic_link_add_one_symbol <WARN>): Handle 1696 !lto_plugin_active. 1697 16982014-08-07 Chen Gang <gang.chen.5i5j@gmail.com> 1699 1700 * coff-ppc.c (coff_ppc_relocate_section): Ensure local symbols are 1701 zero terminated. 1702 17032014-08-07 H.J. Lu <hongjiu.lu@intel.com> 1704 Alan Modra <amodra@gmail.com> 1705 1706 PR ld/16746 1707 * linker.c (_bfd_generic_link_add_one_symbol): Don't issue a 1708 warning for references in LTO IR to warning symbols. 1709 17102014-08-07 Alan Modra <amodra@gmail.com> 1711 1712 * linker.c (WARN, CWARN): Collapse these states to WARN. 1713 (_bfd_generic_link_add_one_symbol): Use old CWARN case for 1714 new WARN. 1715 17162014-08-05 Doug Evans <dje@google.com> 1717 1718 * bfd-in2.h: Regenerate. 1719 * libcoff.h: Regenerate. 1720 17212014-08-05 Maciej W. Rozycki <macro@codesourcery.com> 1722 1723 * elfxx-mips.c (_bfd_mips_elf_discard_info): Set section's 1724 rawsize if changing size. 1725 17262014-08-05 Alan Modra <amodra@gmail.com> 1727 1728 PR ld/17226 1729 * elfxx-sparc.c (_bfd_sparc_elf_gc_sweep_hook): Typo fix. 1730 17312014-08-05 Alan Modra <amodra@gmail.com> 1732 1733 * linker.c (generic_link_check_archive_element): Move handling 1734 of command link -u symbols with a common symbol def to the 1735 code handling non-common symbols so that archive element symbols 1736 are loaded. Use generic_link_add_object_symbols. 1737 17382014-08-05 Alan Modra <amodra@gmail.com> 1739 1740 PR 13557 1741 * linker.c (struct archive_list, struct archive_hash_entry, 1742 struct archive_hash_table, archive_hash_newfunc, 1743 archive_hash_table_init, archive_hash_lookup, archive_hash_allocate, 1744 archive_hash_table_free): Delete. 1745 (_bfd_generic_link_add_archive_symbols): Add h and name params to 1746 checkfn. Rewrite using a straight-forward scan over archive map. 1747 (generic_link_check_archive_element_no_collect, 1748 generic_link_check_archive_element_collect, 1749 generic_link_check_archive_element): Add h and name params. 1750 * aoutx.h (aout_link_check_archive_element): Likewise. 1751 * pdp11.c (aout_link_check_archive_element): Likewise. 1752 * xcofflink.c (xcoff_link_check_archive_element): Likewise. 1753 * cofflink.c (coff_link_check_archive_element): Likewise. Don't 1754 scan symbols, simply add archive element whenever h is undefined. 1755 (coff_link_check_ar_symbols): Delete. 1756 * ecoff.c (read_ext_syms_and_strs): Delete. 1757 (reread_ext_syms_and_strs): Delete. 1758 (ecoff_link_check_archive_element): Add h and name param. Don't 1759 scan symbols, simply add based on h. Use ecoff_link_add_object_symbols. 1760 * elflink.c (elf_link_is_defined_archive_symbol): Don't test 1761 archive_pass. 1762 (elf_link_add_archive_symbols): Delete "defined" array, merge 1763 functionality into "included". Make "included" a char array. Don't 1764 set or test archive_pass. 1765 * libbfd-in.h (_bfd_generic_link_add_archive_symbols): Update. 1766 * libbfd.h: Regenerate. 1767 17682014-08-01 Takashi Yoshii <yoshii.takashi@renesas.com> 1769 1770 PR 10373 1771 * elf32-sh.c (sh_elf_relax_section): Add jmp to bra relaxing. 1772 17732014-07-29 Matthew Fortune <matthew.fortune@imgtec.com> 1774 1775 * elfxx-mips.c (ABI_O32_P, MIPS_ELF_ABIFLAGS_SECTION_NAME_P): New macro. 1776 (mips_elf_obj_tdata): Add abiflags and abiflags_valid fields. 1777 (bfd_mips_elf_swap_abiflags_v0_in): New function. 1778 (bfd_mips_elf_swap_abiflags_v0_out): Likewise. 1779 (_bfd_mips_elf_section_from_shdr): Handle SHT_MIPS_ABIFLAGS. 1780 (_bfd_mips_elf_fake_sections): Likewise. 1781 (_bfd_mips_elf_always_size_sections): Handle .MIPS.abiflags. 1782 (_bfd_mips_elf_additional_program_headers): Account for new 1783 PT_MIPS_ABIFLAGS program header. 1784 (_bfd_mips_elf_modify_segment_map): Create PT_MIPS_ABIFLAGS segment and 1785 associate with .MIPS.abiflags. 1786 (_bfd_mips_elf_gc_mark_extra_sections): New function. 1787 (bfd_mips_isa_ext, update_mips_abiflags_isa): New static function. 1788 (infer_mips_abiflags): Likewise. 1789 (_bfd_mips_elf_final_link): Handle .MIPS.abiflags. 1790 (mips_32bit_flags_p): Moved higher. 1791 (mips_elf_merge_obj_attributes, _bfd_mips_fp_abi_string): Error 1792 checking for FP ABIs. 1793 (_bfd_mips_elf_merge_private_bfd_data): Restructure and add abiflags 1794 checks. Check EF_MIPS_FP64 flag consistency. 1795 (print_mips_ases, print_mips_isa_ext): New static function. 1796 (print_mips_fp_abi_value, get_mips_reg_size): Likewise. 1797 (_bfd_mips_elf_print_private_bfd_data): Display abiflags data. 1798 (_bfd_mips_post_process_headers): Set EI_ABIVERSION = 3 for 1799 Val_GNU_MIPS_ABI_FP_64 or Val_GNU_MIPS_ABI_FP_64A. 1800 * elfxx-mips.h (_bfd_mips_elf_gc_mark_extra_sections): New prototype. 1801 * elf32-mips.c (elf_backend_gc_mark_extra_sections): Implement. 1802 * elfn32-mips.c (elf_backend_gc_mark_extra_sections): Implement. 1803 * elf64-mips.c (elf_backend_gc_mark_extra_sections): Implement. 1804 18052014-07-28 Alan Modra <amodra@gmail.com> 1806 1807 PR 13227 1808 * archive.c (_bfd_compute_and_write_armap): Warn on adding 1809 __gnu_lto_slim to armap. 1810 * linker.c (_bfd_generic_link_add_one_symbol): Warn on adding 1811 __gnu_lto_slim to linker hash table. 1812 18132014-07-27 Anthony Green <green@moxielogic.org> 1814 1815 * config.bfd: Add moxie-*-moxiebox*. 1816 18172014-07-21 Joel Sherrill <joel.sherrill@oarcorp.com> 1818 1819 Add or reactivate or1k-*-rtems* 1820 * config.bfd (or1k-*-rtems*): Reactivate. 1821 18222014-07-16 H.J. Lu <hongjiu.lu@intel.com> 1823 1824 * elf32-i386.c (elf_i386_plt_sym_val): Match PLT entry only for 1825 ELFOSABI_GNU input. 1826 * elf64-x86-64.c (elf_x86_64_plt_sym_val): Likewise. 1827 (elf_x86_64_plt_sym_val_offset_plt_bnd): Likewise. 1828 18292014-07-16 H.J. Lu <hongjiu.lu@intel.com> 1830 1831 PR binutils/17154 1832 * elf32-i386.c (elf_i386_plt_sym_val): Only match R_*_JUMP_SLOT 1833 and R_*_IRELATIVE relocation offset with PLT entry. 1834 * elf64-x86-64.c (elf_x86_64_plt_sym_val): Likewise. 1835 (elf_x86_64_plt_sym_val_offset_plt_bnd): New. 1836 (elf_x86_64_get_synthetic_symtab): Use it. 1837 18382014-07-15 H.J. Lu <hongjiu.lu@intel.com> 1839 1840 PR ld/17057 1841 * elf32-i386.c (elf_i386_compute_jump_table_size): Replace 1842 next_tls_desc_index with elf.srelplt->reloc_count. 1843 18442014-07-15 Alan Modra <amodra@gmail.com> 1845 1846 * cache.c (cache_bread_1): Don't return -1 when fread returns 1847 a positive value. 1848 18492014-07-15 Alan Modra <amodra@gmail.com> 1850 1851 * elflink.c (elf_merge_st_other): Update comments. Simplify 1852 visibility handling. Make isym const. Move code modifying 1853 isym->st_other for --exclude-libs to.. 1854 (elf_link_add_object_symbols): ..here. 1855 18562014-07-11 Maks Naumov <maksqwe1@ukr.net> 1857 1858 PR 17141 1859 * elf.c (_bfd_elf_strtab_add): Check strtab name for failure. 1860 18612014-07-08 Nick Clifton <nickc@redhat.com> 1862 1863 PR ld/17110 1864 * elf32-sh.c (sh_elf_osec_to_segment): Do not look for output 1865 segments in input bfds. 1866 18672014-07-08 Will Newton <will.newton@linaro.org> 1868 1869 * elf32-arm.c (ELF_MAXPAGESIZE): Increase the default 1870 value to 64kB and remove custom setting for NaCl. 1871 18722014-07-08 Alan Modra <amodra@gmail.com> 1873 1874 * elflink.c (_bfd_elf_copy_link_hash_symbol_type): Copy st_other 1875 bits from source to dest. 1876 * linker.c (_bfd_generic_copy_link_hash_symbol_type): Update comment. 1877 * targets.c (struct bfd_target <_bfd_copy_link_hash_symbol_type>): 1878 Likewise. 1879 * bfd-in2.h: Regenerate. 1880 18812014-07-08 Jiong Wang <jiong.wang@arm.com> 1882 1883 * elfnn-aarch64.c (elf_backend_rela_normal): Set to 1. 1884 (elfNN_aarch64_relocate_section): Remove duplicated addend adjustment 1885 when info->relocatable be true. 1886 18872014-07-07 Barney Stratford <barney_stratford@fastmail.fm> 1888 1889 * elf32-avr.c: Handle R_AVR_PORT5 and R_AVR_PORT6. 1890 * reloc.c: Add BFD_RELOC_AVR_PORT5 and BFD_RELOC_AVR_PORT6. 1891 * bfd-in2.h: Regenerate. 1892 * libbfd.h: Regenerate. 1893 18942014-07-04 Alan Modra <amodra@gmail.com> 1895 1896 * Makefile.am: Update "configure.in" comments. 1897 * PORTING: Likewise. 1898 * aoutx.h: Likewise. 1899 * configure.host: Likewise. 1900 * doc/bfdint.texi: Likewise. 1901 * targets.c: Likewise. 1902 * warning.m4: Likewise. 1903 * Makefile.in: Regenerate. 1904 19052014-07-04 Alan Modra <amodra@gmail.com> 1906 1907 * configure.ac: Rename from configure.in. 1908 * Makefile.in: Regenerate. 1909 * config.in: Regenerate. 1910 * doc/Makefile.in: Regenerate. 1911 19122014-07-04 Alan Modra <amodra@gmail.com> 1913 1914 * Makefile.am (CONFIG_STATUS_DEPENDENCIES): Remove configure.in. 1915 * Makefile.in: Regenerate. 1916 19172014-07-04 Alan Modra <amodra@gmail.com> 1918 1919 * version.m4: New file. 1920 * configure.in: Include version.m4. 1921 (AC_INIT): Update. 1922 * Makefile.am (RELEASE): Delete. 1923 (bfdver.h): Depend on development.sh, use instead of RELEASE. 1924 * Makefile.in: Regenerate. 1925 * doc/Makefile.in: Regenerate. 1926 19272014-07-02 Alan Modra <amodra@gmail.com> 1928 1929 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Clear 1930 pointer_equality_needed when !readonly_dynrelocs. 1931 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise. 1932 19332014-07-02 Alan Modra <amodra@gmail.com> 1934 1935 * elf32-ppc.c (ppc_elf_check_relocs): Set DF_STATIC_TLS for PIEs too. 1936 * elf64-ppc.c (ppc64_elf_check_relocs): Likewise. 1937 19382014-07-01 Alan Modra <amodra@gmail.com> 1939 1940 * bfd.c (struct bfd): Reorganise for better packing. Delete 1941 "ifd" field. Make "format", "direction" and "flags" bitfields. 1942 (HAS_LOAD_PAGE): Delete, renumber following flags. 1943 * bfd-in2.h: Regenerate. 1944 * coff-tic4x.c: Remove HAS_LOAD_PAGE from extra flags in target vecs. 1945 19462014-07-01 Alan Modra <amodra@gmail.com> 1947 1948 * elf64-ppc.c (ppc_stub_type): Add ppc_stub_global_entry. 1949 (struct ppc_link_hash_table): Increase size of stub_count array. 1950 (build_global_entry_stubs): Emit symbol on global entry stub. 1951 (ppc64_elf_build_stubs): NULL check htab->brlt. Add global entry 1952 stub stats. 1953 19542014-07-01 Alan Modra <amodra@gmail.com> 1955 1956 * elf64-ppc.c (abiversion, set_abiversion): Move earlier. 1957 (ppc64_elf_branch_reloc): Adjust addend for ELFv2 local offset. 1958 (ppc64_elf_set_toc): Set ".TOC." symbol value when using 1959 generic linker. 1960 (ppc64_elf_relocate_section): Disable ELFv2 function entry 1961 optimisation when --traditional-format. 1962 19632014-07-01 Barney Stratford <barney_stratford@fastmail.fm> 1964 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> 1965 Pitchumani Sivanupandi <pitchumani.s@atmel.com> 1966 Soundararajan <Sounderarajan.D@atmel.com> 1967 1968 * archures.c: Add avrtiny architecture for avr target. 1969 * cpu-avr.c (arch_info_struct): Add avrtiny arch info. 1970 * elf32-avr.c (elf_avr_howto_table): New relocation R_AVR_LDS_STS_16 1971 added for 16 bit LDS/STS instruction of avrtiny arch. 1972 (avr_reloc_map): Reloc R_AVR_LDS_STS_16 is mapped to 1973 BFD_RELOC_AVR_LDS_STS_16. 1974 (bfd_elf_avr_final_write_processing): Select machine number 1975 avrtiny arch. 1976 (elf32_avr_object_p): Set machine number for avrtiny arch. 1977 * reloc.c: Add documentation for BFD_RELOC_AVR_LDS_STS_16 reloc. 1978 * bfd-in2.h: Regenerate. 1979 * libbfd.h: Regenerate. 1980 19812014-06-26 Nick Clifton <nickc@redhat.com> 1982 1983 PR binutils/16949 1984 * dwarf2.c (is_str_attr): New function. 1985 (find_abstract_instance_name): Use it to determine when an 1986 attribute has a string value. 1987 19882014-06-24 Alan Modra <amodra@gmail.com> 1989 1990 * elf32-ppc.c (ppc_elf_size_dynamic_sections): Arrange to keep 1991 .sdata/.sdata2 when _SDA_BASE_/_SDA2_BASE_ should be output 1992 for --emit-relocs. 1993 19942014-06-21 Philippe De Muyter <phdm@macqel.be> 1995 1996 * targets.c (_bfd_target_vector): Add missing #ifdef BFD64 for 1997 a number of targets. 1998 19992014-06-20 Kyle McMartin <kyle@redhat.com> 2000 2001 * elf32-arm.c (elf32_arm_check_relocs): Set DF_STATIC_TLS when 2002 emitting initial-exec relocs when not linking an executable. 2003 20042014-06-16 Will Newton <will.newton@linaro.org> 2005 2006 * elf32-arm.c (elf32_arm_allocate_plt_entry): Increment 2007 htab->next_tls_desc_index in the non-IPLT case. 2008 Calculate GOT offset correctly for the non-IPLT case. 2009 (allocate_dynrelocs_for_symbol): Don't increment 2010 htab->next_tls_desc_index here. 2011 20122014-06-16 Alan Modra <amodra@gmail.com> 2013 2014 * elf32-vax.c (elf_vax_size_dynamic_sections): Clear linker 2015 created sections. 2016 20172014-06-13 Omair Javaid <omair.javaid@linaro.org> 2018 2019 * elfxx-aarch64.c (stdarg.h): Include. 2020 (string.h): Include. 2021 (_bfd_aarch64_elf_grok_prstatus): Updated. 2022 (_bfd_aarch64_elf_grok_psinfo): New function. 2023 (_bfd_aarch64_elf_write_core_note): New function. 2024 * elfxx-aarch64.h (elf_backend_grok_psinfo): Define. 2025 (elf_backend_write_core_note): Define. 2026 20272014-06-13 Alan Modra <amodra@gmail.com> 2028 2029 * archive.c: Include bfdlink.h. 2030 (_bfd_archive_close_and_cleanup): Call linker hash_table_free. 2031 * bfd.c (struct bfd): Add is_linker_output field. 2032 * elf-bfd.h (_bfd_elf_link_hash_table_free): Update prototype. 2033 * linker.c (_bfd_link_hash_table_init): Set up hash_table_free, 2034 link.hash and is_linker_output. 2035 (_bfd_generic_link_hash_table_free): Replace bfd_link_hash_table* 2036 param with bfd*. Assert is_linker_output and link.hash, and 2037 clear them before exit. 2038 * elf-m10300.c (elf32_mn10300_link_hash_table_free): Replace 2039 bfd_link_hash_table* param with bfd*. Hack is_linker_output 2040 and link.hash so we can free two linker hash tables. 2041 (elf32_mn10300_link_hash_table_create): Create static_hash_table 2042 first. Clean up on errors. Set hash_table_free pointer. 2043 * elf32-arm.c (elf32_arm_link_hash_table_free): Replace 2044 bfd_link_hash_table* param with bfd*. 2045 (elf32_arm_link_hash_table_create): Clean up on errors. Set 2046 hash_table_free pointer. 2047 * elf32-avr.c, * elf32-hppa.c, * elf32-i386.c, * elf32-m68hc1x.c, 2048 * elf32-m68k.c, * elf32-metag.c, * elf32-nios2.c, * elf32-xgate.c, 2049 * elf64-ia64-vms.c, * elf64-ppc.c, * elf64-x86-64.c, * elflink.c, 2050 * elfnn-aarch64.c, * elfnn-ia64.c, * elfxx-sparc.c, 2051 * xcofflink.c: Similarly. 2052 * simple.c (bfd_simple_get_relocated_section_contents): Save and 2053 clear link.next before creating linker hash table. Clean up on 2054 errors, and restore link.next on exit. 2055 * elf32-m68hc1x.h (m68hc11_elf_bfd_link_hash_table_free): Delete. 2056 * elf32-xgate.h (xgate_elf_bfd_link_hash_table_free): Delete. 2057 * elfxx-sparc.h (_bfd_sparc_elf_link_hash_table_free): Delete. 2058 * libcoff-in.h (_bfd_xcoff_bfd_link_hash_table_free): Delete. 2059 * hash.c (bfd_hash_table_init_n): Free table on error. 2060 * libbfd-in.h (_bfd_generic_link_hash_table_free): Update proto. 2061 * bfd-in2.h: Regenerate. 2062 * libbfd.h: Regenerate. 2063 * libcoff.h: Regenerate. 2064 20652014-06-13 Alan Modra <amodra@gmail.com> 2066 2067 PR 17047 2068 * targets.c (BFD_JUMP_TABLE): Delete NAME##_bfd_link_hash_table_free. 2069 (struct bfd_target <_bfd_link_hash_table_free>): Delete. 2070 * bfd.c (bfd_link_hash_table_free): Don't define. 2071 * aout-adobe.c, * aout-target.h, * aout-tic30.c, * binary.c, * bout.c, 2072 * coff64-rs6000.c, * coffcode.h, * elf-m10300.c, * elf32-arm.c, 2073 * elf32-avr.c, * elf32-hppa.c, * elf32-i386.c, * elf32-m68hc11.c, 2074 * elf32-m68hc12.c, * elf32-m68k.c, * elf32-metag.c, * elf32-nios2.c, 2075 * elf32-sparc.c, * elf32-xgate.c, * elf64-ia64-vms.c, * elf64-ppc.c, 2076 * elf64-sparc.c, * elf64-x86-64.c, * elfnn-aarch64.c, * elfnn-ia64.c, 2077 * elfxx-target.h, * i386msdos.c, * i386os9k.c, * ieee.c, * ihex.c, 2078 * libbfd-in.h, * libecoff.h, * mach-o-target.c, * mmo.c, 2079 * nlm-target.h, * oasys.c, * pef.c, * plugin.c, * ppcboot.c, * som.c, 2080 * srec.c, * tekhex.c, * verilog.c, * versados.c, * vms-alpha.c, 2081 * xsym.c: Don't define various link_hash_table_free defines, and 2082 remove from bfd_target vars. Temporarily reference some of the 2083 target link_hash_table_free functions to avoid warnings. 2084 * bfd-in2.h: Regenerate. 2085 * libbfd.h: Regenerate. 2086 20872014-06-13 Alan Modra <amodra@gmail.com> 2088 2089 * elf-m10300.c, * elf32-arm.c, * elf32-avr.c, * elf32-hppa.c, 2090 * elf32-i386.c, * elf32-m68hc1x.c, * elf32-m68k.c, * elf32-metag.c, 2091 * elf32-nios2.c, * elf64-ia64-vms.c, * elf64-ppc.c, * elf64-x86-64.c, 2092 * elfnn-aarch64.c, * elfnn-ia64.c, * elfxx-sparc.c, * xcofflink.c: 2093 Move link_hash_table_free functions before their corresponding 2094 link_hash_table_create functions. 2095 20962014-06-13 Alan Modra <amodra@gmail.com> 2097 2098 * bfd.c (struct bfd): Replace link_next with a union. 2099 * aoutx.h, * bfd.c, * coff-ppc.c, * coff-rs6000.c, * cofflink.c, 2100 * ecoff.c, * elf-m10300.c, * elf32-arm.c, * elf32-avr.c, 2101 * elf32-hppa.c, * elf32-i386.c, * elf32-lm32.c, * elf32-m32c.c, 2102 * elf32-m32r.c, * elf32-m68hc1x.c, * elf32-metag.c, 2103 * elf32-microblaze.c, * elf32-nds32.c, * elf32-nios2.c, 2104 * elf32-or1k.c, * elf32-ppc.c, * elf32-rl78.c, * elf32-s390.c, 2105 * elf32-score.c, * elf32-score7.c, * elf32-sh.c, * elf32-spu.c, 2106 * elf32-tic6x.c, * elf32-tilepro.c, * elf32-xstormy16.c, 2107 * elf32-xtensa.c, * elf64-alpha.c, * elf64-hppa.c, * elf64-ia64-vms.c, 2108 * elf64-mmix.c, * elf64-ppc.c, * elf64-s390.c, * elf64-x86-64.c, 2109 * elflink.c, * elfnn-aarch64.c, * elfxx-mips.c, * elfxx-sparc.c, 2110 * elfxx-tilegx.c, * linker.c, * pdp11.c, * peXXigen.c, * simple.c, 2111 * sunos.c, * vms-alpha.c, * xcofflink.c: Update for above. 2112 * bfd-in2.h: Regenerate. 2113 21142014-06-11 Alan Modra <amodra@gmail.com> 2115 2116 * linker.c (unwrap_hash_lookup): Add missing parens. 2117 21182014-06-11 Kai Tietz <ktietz@redhat.com> 2119 2120 * libcoff-in.h (coff_tdata): Make relocbase member unsigned. 2121 * libcoff.h: Regenerated. 2122 21232014-06-10 Alan Modra <amodra@gmail.com> 2124 2125 PR ld/16910 2126 * linker.c (unwrap_hash_lookup): New function. 2127 * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Call unwrap_hash_lookup. 2128 * elf32-i370.c (i370_elf_relocate_section): Likewise. 2129 * elf32-m32c.c (m32c_elf_relocate_section): Likewise. 2130 * elf32-m32r.c (m32r_elf_relocate_section): Likewise. 2131 * elf32-score.c (s3_bfd_score_elf_relocate_section): Likewise. 2132 * elf32-score7.c (s7_bfd_score_elf_relocate_section): Likewise. 2133 * elf32-spu.c (spu_elf_relocate_section): Likewise. 2134 * elf64-hppa.c (elf64_hppa_relocate_section): Likewise. 2135 21362014-06-07 Alan Modra <amodra@gmail.com> 2137 2138 * elf32-ppc.c (ppc_elf_relocate_section): Treat field of cmpli 2139 insn as a bitfield; Use complain_overflow_bitfield. 2140 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. 2141 21422014-06-05 Joel Brobecker <brobecker@adacore.com> 2143 2144 * development.sh: New file. 2145 * warning.m4 (AM_BINUTILS_WARNINGS): Source bfd/development.sh. 2146 Make -Werror the default with GCC only if DEVELOPMENT is true. 2147 * Makefile.am (CONFIG_STATUS_DEPENDENCIES): Add 2148 $(srcdir)/development.sh. 2149 * Makefile.in, configure: Regenerate. 2150 21512014-06-04 Will Newton <will.newton@linaro.org> 2152 2153 * elfnn-aarch64.c (tpoff_base): Make test of tls_sec 2154 being non-NULL into an assert. 2155 (elfNN_aarch64_tls_relax): Remove unused code. 2156 21572014-06-03 DJ Delorie <dj@redhat.com> 2158 2159 * elf32-rx.c (rx_table_map): Use BFD_VMA_FMT for portability. 2160 21612014-06-03 Nick Clifton <nickc@redhat.com> 2162 2163 PR ld/16807 2164 * peXXigen.c (rsrc_process_section): Page align the new contents 2165 befgore writing out. 2166 21672014-06-03 Alan Modra <amodra@gmail.com> 2168 2169 * elf64-ppc.c (ADDIS_R12_R2): Define. 2170 (build_plt_stub): Support fusion on ELFv2 stub. 2171 (ppc_build_one_stub): Likewise for plt branch stubs. 2172 21732014-05-28 Alan Modra <amodra@gmail.com> 2174 2175 * elf32-rx.c (rx_table_map): Delete set but not used variables. 2176 21772014-05-28 Tristan Gingold <gingold@adacore.com> 2178 2179 * dwarf2.c (lookup_address_in_function_table): Add best_fit_len 2180 to keep the length of the best fit range. 2181 (lookup_symbol_in_function_table, info_hash_lookup_funcinfo): 2182 Likewise. 2183 21842014-05-27 DJ Delorie <dj@redhat.com> 2185 2186 * elf32-rx.c (get_symbol_value_maybe): New. 2187 (rx_elf_relocate_section): If we find a reloc against 2188 $tableentry$default$<name>, redirect it to the appropriate 2189 $tableentry$<n>$. 2190 (RX_Table_Info): New. 2191 (rx_table_find): New. Check all tables and SEC_KEEP all sections 2192 with table parts in them. 2193 (rx_check_directives): New. 2194 (rx_table_map_2): New. 2195 (rx_table_map): New. 2196 (rx_additional_link_map_text): New. Called to dump tables to the 2197 map file. 2198 * elf32-rx.h: New. 2199 22002014-05-20 DJ Delorie <dj@redhat.com> 2201 2202 * elf32-msp430.c (msp430_elf_relax_adjust_locals): Avoid overflow. 2203 22042014-05-20 Alan Modra <amodra@gmail.com> 2205 2206 PR 16952 2207 * elf32-ppc.c (ppc_elf_create_linker_section): Move earlier. 2208 Remove redundant setting of htab->elf.dynobj. Don't align. 2209 Define .sdata symbols using _bfd_elf_define_linkage_sym. 2210 (ppc_elf_create_glink): Call ppc_elf_create_linker_section. 2211 (create_sdata_sym): Delete. 2212 (elf_allocate_pointer_linker_section): Rename from 2213 elf_create_pointer_linker_section. Align section. 2214 (ppc_elf_check_relocs): Don't call ppc_elf_creat_linker_section 2215 directly here, or create_sdata_sym. Set ref_regular on _SDA_BASE_ 2216 and _SDA2_BASE_. 2217 (ppc_elf_size_dynamic_sections): Remove ATTRIBUTE_UNUSED on param. 2218 Remove unnecessary tests on _SDA_BASE_ sym. 2219 (maybe_strip_sdasym, ppc_elf_maybe_strip_sdata_syms): New functions. 2220 (ppc_elf_relocate_section): Tighten SDA reloc symbol section checks. 2221 * elf32-ppc.h (ppc_elf_set_sdata_syms): Delete. 2222 (ppc_elf_maybe_strip_sdata_syms): Declare. 2223 22242014-05-16 Ryan Mansfield <rmansfield@qnx.com> 2225 2226 * config.bfd: Move QNX target_cflags from arm-*-netbsd* to arm-*-nto*. 2227 22282014-05-16 Jon Turney <jon.turney@dronecode.org.uk> 2229 2230 * peXXigen.c (pe_print_debugdata): Don't interpret debug directory 2231 in a section with no contents. 2232 (is_vma_in_section, find_section_by_vma): New functions. 2233 (_bfd_XX_bfd_copy_private_bfd_data_common): Recalculate file 2234 offsets in the debug directory. 2235 (_bfd_XXi_slurp_codeview_record, _bfd_XXi_write_codeview_record): 2236 Byte-swap GUID from little-endian to big-endian order for 2237 consistent and conventional display. 2238 22392014-05-16 Kaushik Phata <Kaushik.Phatak@kpit.com> 2240 2241 * elf32-rl78.c (rl78_elf_merge_private_bfd_data): Complain if 2242 64-bit doubles objects mix with 32-bit doubles objects. 2243 (rl78_elf_print_private_bfd_data): Describe 64-bit doubles flag. 2244 22452014-05-08 Hans-Peter Nilsson <hp@bitrange.com> 2246 2247 * mmo.c: Update URLs in documentation comments. 2248 22492014-05-02 Volodymyr Arbatov <arbatov@cadence.com> 2250 David Weatherford <weath@cadence.com> 2251 Max Filippov <jcmvbkbc@gmail.com> 2252 2253 * elf32-xtensa.c (relax_section): treat R_XTENSA_DIFF* relocations as 2254 signed. 2255 22562014-05-07 Andreas Tobler <andreast@fgznet.ch> 2257 2258 * config.bfd: Add proper arm config for *-*-freebsd*. 2259 22602014-05-07 Andrew Bennett <andrew.bennett@imgtec.com> 2261 2262 * aoutx.h (NAME (aout, machine_type)): Add mips32r3, mips64r3, 2263 mips32r5 and mips64r5. 2264 * archures.c (bfd_architecture): Likewise. 2265 * bfd-in2.h (bfd_architecture): Likewise. 2266 * cpu-mips.c (arch_info_struct): Likewise. 2267 * elfxx-mips.c (mips_set_isa_flags): Likewise. 2268 22692014-05-06 Richard Sandiford <rdsandiford@googlemail.com> 2270 2271 * elfxx-mips.h (elfxx-mips.h): Declare. 2272 * elfxx-mips.c (mips_elf_merge_obj_attributes): Use it to report 2273 Tag_GNU_MIPS_ABI_FP mismatches. 2274 (_bfd_mips_fp_abi_string): New function. 2275 22762014-05-02 Alan Modra <amodra@gmail.com> 2277 2278 * targets.c: Sort bfd_target vectors somewhat alphabetically. 2279 * configure.in: Likewise. 2280 * configure: Regenerate. 2281 22822014-05-02 Alan Modra <amodra@gmail.com> 2283 2284 * aix386-core.c, * aout-adobe.c, * aout-arm.c, * aout-ns32k.c, 2285 * aout-sparcle.c, * aout0.c, * aoutx.h, * armnetbsd.c, * bout.c, 2286 * cf-i386lynx.c, * cf-sparclynx.c, * cisco-core.c, * coff-alpha.c, 2287 * coff-apollo.c, * coff-arm.c, * coff-aux.c, * coff-go32.c, 2288 * coff-h8300.c, * coff-h8500.c, * coff-i386.c, * coff-i860.c, 2289 * coff-i960.c, * coff-m68k.c, * coff-m88k.c, * coff-mips.c, 2290 * coff-rs6000.c, * coff-sh.c, * coff-sparc.c, * coff-stgo32.c, 2291 * coff-svm68k.c, * coff-tic80.c, * coff-u68k.c, * coff-w65.c, 2292 * coff-we32k.c, * coff-x86_64.c, * coff-z80.c, * coff-z8k.c, 2293 * coff64-rs6000.c, * config.bfd, * configure.com, * configure.in, 2294 * demo64.c, * elf-m10200.c, * elf-m10300.c, * elf32-am33lin.c, 2295 * elf32-arc.c, * elf32-arm.c, * elf32-avr.c, * elf32-bfin.c, 2296 * elf32-cr16.c, * elf32-cr16c.c, * elf32-cris.c, * elf32-crx.c, 2297 * elf32-d10v.c, * elf32-d30v.c, * elf32-dlx.c, * elf32-epiphany.c, 2298 * elf32-fr30.c, * elf32-frv.c, * elf32-gen.c, * elf32-h8300.c, 2299 * elf32-hppa.c, * elf32-i370.c, * elf32-i386.c, * elf32-i860.c, 2300 * elf32-i960.c, * elf32-ip2k.c, * elf32-iq2000.c, * elf32-lm32.c, 2301 * elf32-m32c.c, * elf32-m32r.c, * elf32-m68hc11.c, * elf32-m68hc12.c, 2302 * elf32-m68k.c, * elf32-m88k.c, * elf32-mcore.c, * elf32-mep.c, 2303 * elf32-metag.c, * elf32-microblaze.c, * elf32-mips.c, * elf32-moxie.c, 2304 * elf32-msp430.c, * elf32-mt.c, * elf32-nds32.c, * elf32-nios2.c, 2305 * elf32-or1k.c, * elf32-pj.c, * elf32-ppc.c, * elf32-rl78.c, 2306 * elf32-rx.c, * elf32-s390.c, * elf32-score.c, * elf32-sh-symbian.c, 2307 * elf32-sh.c, * elf32-sh64.c, * elf32-sparc.c, * elf32-spu.c, 2308 * elf32-tic6x.c, * elf32-tilegx.c, * elf32-tilepro.c, * elf32-v850.c, 2309 * elf32-vax.c, * elf32-xc16x.c, * elf32-xgate.c, * elf32-xstormy16.c, 2310 * elf32-xtensa.c, * elf64-alpha.c, * elf64-gen.c, * elf64-hppa.c, 2311 * elf64-ia64-vms.c, * elf64-mips.c, * elf64-mmix.c, * elf64-ppc.c, 2312 * elf64-s390.c, * elf64-sh64.c, * elf64-sparc.c, * elf64-tilegx.c, 2313 * elf64-x86-64.c, * elfn32-mips.c, * elfnn-aarch64.c, * elfnn-ia64.c, 2314 * epoc-pe-arm.c, * epoc-pei-arm.c, * hp300bsd.c, * hp300hpux.c, 2315 * hppabsd-core.c, * hpux-core.c, * i386aout.c, * i386bsd.c, 2316 * i386dynix.c, * i386freebsd.c, * i386linux.c, * i386lynx.c, 2317 * i386mach3.c, * i386msdos.c, * i386netbsd.c, * i386os9k.c, 2318 * irix-core.c, * m68k4knetbsd.c, * m68klinux.c, * m68knetbsd.c, 2319 * m88kmach3.c, * m88kopenbsd.c, * mach-o-i386.c, * mach-o-x86-64.c, 2320 * makefile.vms, * mipsbsd.c, * mmo.c, * netbsd-core.c, * newsos3.c, 2321 * nlm32-alpha.c, * nlm32-i386.c, * nlm32-ppc.c, * nlm32-sparc.c, 2322 * ns32knetbsd.c, * osf-core.c, * pc532-mach.c, * pe-arm-wince.c, 2323 * pe-arm.c, * pe-i386.c, * pe-mcore.c, * pe-mips.c, * pe-ppc.c, 2324 * pe-sh.c, * pe-x86_64.c, * pei-arm-wince.c, * pei-arm.c, 2325 * pei-i386.c, * pei-ia64.c, * pei-mcore.c, * pei-mips.c, * pei-ppc.c, 2326 * pei-sh.c, * pei-x86_64.c, * ppcboot.c, * ptrace-core.c, * riscix.c, 2327 * sco5-core.c, * som.c, * sparclinux.c, * sparclynx.c, 2328 * sparcnetbsd.c, * sunos.c, * targets.c, * trad-core.c, 2329 * vax1knetbsd.c, * vaxbsd.c, * vaxnetbsd.c, * versados.c, 2330 * vms-alpha.c, * vms-lib.c: Rename bfd targets to 2331 <cpu>_<format>_<other>_<endian>_vec. Adjust associated MY macros 2332 on aout targets. 2333 * configure: Regenerate. 2334 23352014-05-01 Hans-Peter Nilsson <hp@bitrange.com> 2336 2337 * mmo.c (mmo File layout documentation): Add note about low bits 2338 of address. 2339 (mmo_write_chunk): When handling data remainder, assert that 2340 previous remaining data is flushed. 2341 (mmo_write_loc_chunk): Only look for trailing and leading zeros 2342 when dealing with an aligned VMA and for aligned lengths. Don't skip 2343 the last 32-bit-word of zeros. 2344 (mmo_write_loc_chunk): Emit an error if the VMA is not aligned. 2345 (mmo_scan) <case LOP_QUOTE>: Move re-alignment of vma before 2346 emitting data, not after updating it. 2347 <case LOP_LOC>: Call mmo_decide_section with aligned vma. 2348 23492014-04-30 Nick Clifton <nickc@redhat.com> 2350 2351 * compress.c (bfd_is_section_compressed): When checking the 2352 .debug_str section, also check the fifth byte in the section is 2353 not part of a string. 2354 23552014-04-30 Alan Modra <amodra@gmail.com> 2356 2357 * elf-eh-frame.c (struct cie.personality): Replace val with sym. 2358 (find_merged_cie): Identify personality functions by (bfd_id,index) 2359 pair when a local sym is used. 2360 23612014-04-29 Christian Svensson <blue@cmd.nu> 2362 2363 * elf32-or1k.c: Fix a bug where non-TLS relocations would be forced 2364 into .rela.got if it contained TLS relocations as well. 2365 23662014-04-28 Nick Clifton <nickc@redhat.com> 2367 2368 PR ld/16821 2369 * peXXigen.c (_bfd_XXi_swap_sym_out): Rework fix to avoid compile 2370 time warning. 2371 23722014-04-26 Alan Modra <amodra@gmail.com> 2373 2374 * po/SRC-POTFILES.in: Regenerate. 2375 * configure: Regenerate. 2376 23772014-04-25 Nick Clifton <nickc@redhat.com> 2378 2379 PR ld/16821 2380 * peXXigen.c (_bfd_XXi_swap_sym_out): Another fix for building on 2381 a 342-bit host. This time for older versions of gcc. 2382 23832014-04-24 Nick Clifton <nickc@redhat.com> 2384 2385 * peXXigen.c (rsrc_print_section): Fix compile time warning for 2386 32-bit hosts. 2387 23882014-04-24 Alan Modra <amodra@gmail.com> 2389 2390 PR 16867 2391 * dwarf2.c: Formatting. 2392 (struct dwarf2_debug): Make adjusted_section_count signed. 2393 (unset_sections): Make i signed. 2394 (set_debug_vma): New function. 2395 (place_sections): Handle separate debug object file. Set VMA 2396 on debug sections, even if they have an output section. Also 2397 set VMA on zero size sections, and non-load but alloc sections. 2398 Set adjusted_section_count to -1 when no section adjustment. 2399 Malloc adjusted_sections. Don't double last_vma. Transfer 2400 alloc section VMAs to separate debug file. 2401 (_bfd_dwarf2_cleanup_debug_info): Free adjusted_sections. 2402 (_bfd_dwarf2_slurp_debug_info): Add do_place parameter. Drop 2403 test on symbols being the same before using old stash. Read 2404 and use separate debug file symbols. Call place_sections. 2405 (find_line): Don't call place_sections here. 2406 * libbfd-in.h (_bfd_dwarf2_slurp_debug_info): Update proto. 2407 * libbfd.h: Regenerate. 2408 * mach-o.c (bfd_mach_o_find_nearest_line): Adjust 2409 _bfd_dwarf2_slurp_debug_info call. 2410 * simple.c (simple_save_output_info): Clarify comment. 2411 24122014-04-24 Nick Clifton <nickc@redhat.com> 2413 2414 PR ld/16807 2415 * peXXigen.c (struct rsrc_regions): New structure. 2416 (rsrc_print_resource_directory): Use new structure. Include 2417 offset of directory in listing. 2418 (rsrc_print_resource_entry): Likewise. 2419 (rsrc_print_section): Likewise. 2420 (rsrc_count_entries): Do not increment sizeof_strings or 2421 sizeof_leaves. 2422 (rsrc_count_directory): Do not increment sizeof_tables. 2423 (rsrc_compute_region_sizes): New function. 2424 (rsrc_write_leaf): Maintain 8-byte alignment for resource data. 2425 (rsrc_process_section): Compute size of regions after merging 2426 entries. 2427 24282014-04-23 Alan Modra <amodra@gmail.com> 2429 2430 PR ld/16787 2431 * dwarf2.c (struct dwarf2_debug): Add sec_vma field. 2432 (place_sections): Do not modify VMA of sections when called from 2433 linker after sections have been placed in output sections. Short 2434 circuit single section case. 2435 (save_section_vma, section_vma_same): New functions. 2436 (_bfd_dwarf2_slurp_debug_info): Throw away stash if section VMAs 2437 change. 2438 * reloc.c (bfd_perform_relocation): Do not modify reloc addend 2439 when non-relocatable. 2440 24412014-04-22 Nick Clifton <nickc@redhat.com> 2442 2443 PR ld/16821 2444 * peXXigen.c (_bfd_XXi_swap_sym_out): Fix for 32-bit hosts. 2445 24462014-04-22 Christian Svensson <blue@cmd.nu> 2447 2448 * Makefile.am: Remove openrisc and or32 support. Add support for or1k. 2449 * archures.c: Likewise. 2450 * coffcode.h: Likewise. 2451 * config.bfd: Likewise. 2452 * configure.in: Likewise. 2453 * reloc.c: Likewise. 2454 * targets.c: Likewise. 2455 * cpu-or1k.c: New file. 2456 * elf32-or1k.c: New file. 2457 * coff-or32.c: Delete. 2458 * cpu-openrisc.c: Delete. 2459 * cpu-or32.c: Delete. 2460 * elf32-openrisc.c: Delete. 2461 * elf32-or32.c: Delete. 2462 * Makefile.in: Regenerate. 2463 * bfd-in2.h: Regenerate. 2464 * configure: Regenerate. 2465 * libbfd.h: Regenerate. 2466 24672014-04-22 Yuanhui Zhang <asmwarrior@gmail.com> 2468 2469 PR ld/16821 2470 * peXXigen.c (abs_finder): Fix for 32-bit host builds. 2471 24722014-04-22 Will Newton <will.newton@linaro.org> 2473 2474 * elfnn-aarch64.c (elfNN_aarch64_section_flags): Remove 2475 function. (elf_backend_section_flags): Remove define. 2476 24772014-04-21 Richard Henderson <rth@redhat.com> 2478 2479 * elf64-alpha.c (elf64_alpha_size_got_sections): New may_merge 2480 parameter; honor it and disable got merging when false. 2481 (elf64_alpha_relax_got_load): Do not relax to GPREL relocs during 2482 the first pass of relaxation. 2483 (elf64_alpha_relax_with_lituse): Likewise. Move relaxed relocs to 2484 the end of the LITERAL+LITUSE chain. 2485 (elf64_alpha_relax_section): Only process LITERAL relocs during the 2486 second pass of relaxation. 2487 2488 * configure.ac (use_secureplt): Enable by default. 2489 * configure: Rebuild. 2490 24912014-04-18 Tristan Gingold <gingold@adacore.com> 2492 2493 * mach-o.h (bfd_mach_o_dyld_info_command): Add rebase_content, 2494 bind_content, weak_bind_content, lazy_bind_content, 2495 export_content. 2496 (bfd_mach_o_load_command): Add comments, add next field. 2497 (mach_o_data_struct): Replace commands field by first_command 2498 and last_command. 2499 * mach-o.c (bfd_mach_o_append_command): New function. 2500 (bfd_mach_o_bfd_copy_private_symbol_data): Add blank lines. 2501 (bfd_mach_o_bfd_copy_private_section_data): Check flavour, 2502 copy fields. 2503 (bfd_mach_o_bfd_copy_private_header_data): Copy load commands. 2504 (bfd_mach_o_pad4, bfd_mach_o_pad_command): New functions. 2505 (bfd_mach_o_write_thread): Use macro instead of literal. 2506 (bfd_mach_o_write_dylinker, bfd_mach_o_write_dylib) 2507 (bfd_mach_o_write_main, bfd_mach_o_write_dyld_info): New 2508 functions. 2509 (bfd_mach_o_write_symtab_content): New function (extracted 2510 from bfd_mach_o_write_symtab). 2511 (bfd_mach_o_write_symtab): Split. 2512 (bfd_mach_o_count_indirect_symbols): Move 2513 (bfd_mach_o_build_dysymtab): Remove layout code. 2514 (bfd_mach_o_write_contents): Rewritten to build commands in order. 2515 (bfd_mach_o_count_sections_for_seg): Remove. 2516 (bfd_mach_o_build_obj_seg_command): New function (extracted from 2517 bfd_mach_o_build_seg_command). 2518 (bfd_mach_o_build_exec_seg_command): New function. 2519 (bfd_mach_o_build_dysymtab_command): Remove. 2520 (bfd_mach_o_layout_commands): New function. 2521 (bfd_mach_o_init_segment): New function. 2522 (bfd_mach_o_build_commands): Major rework to handle non-object 2523 files. 2524 (bfd_mach_o_alloc_and_read, bfd_mach_o_read_dyld_content): New 2525 function. 2526 (bfd_mach_o_read_dyld_info): Clear content fields. 2527 (bfd_mach_o_read_segment): Adjust call. 2528 (bfd_mach_o_flatten_sections): Adjust as now load commands are 2529 chained. 2530 (bfd_mach_o_scan_start_address, bfd_mach_o_scan) 2531 (bfd_mach_o_mkobject_init, bfd_mach_o_get_base_address) 2532 (bfd_mach_o_lookup_command, bfd_mach_o_core_fetch_environment): 2533 Likewise. 2534 25352014-04-18 Tristan Gingold <gingold@adacore.com> 2536 2537 * mach-o-target.c (bfd_mach_o_bfd_copy_private_header_data): 2538 Define instead of bfd_mach_o_bfd_copy_private_bfd_data. 2539 * mach-o.c (bfd_mach_o_bfd_copy_private_bfd_data): Rename. 2540 * mach-o.h (bfd_mach_o_bfd_copy_private_bfd_data): Likewise. 2541 25422014-04-18 Tristan Gingold <gingold@adacore.com> 2543 2544 * mach-o.h (bfd_mach_o_dylinker_command) 2545 (bfd_mach_o_dylib_command, bfd_mach_o_fvmlib_command): Remove 2546 name_len field. 2547 * mach-o.c (bfd_mach_o_read_dylinker, bfd_mach_o_read_dylib) 2548 (bfd_mach_o_read_fvmlib): Adjust after name_len removal. 2549 25502014-04-18 Tristan Gingold <gingold@adacore.com> 2551 2552 * mach-o.h (bfd_mach_o_backend_data): Add page_size field. 2553 * mach-o-target.c: Check TARGET_PAGESIZE is defined. 2554 (TARGET_NAME_BACKEND): Add TARGET_PAGESIZE. 2555 * mach-o.c (TARGET_PAGESIZE): Define and undefined for 2556 each targets declared. 2557 * mach-o-x86-64.c (TARGET_PAGESIZE): Define. 2558 * mach-o-i386.c (TARGET_PAGESIZE): Define. 2559 25602014-04-18 Tristan Gingold <gingold@adacore.com> 2561 2562 * mach-o.c (bfd_mach_o_write_thread) 2563 (bfd_mach_o_write_section_32, bfd_mach_o_write_section_64) 2564 (bfd_mach_o_write_segment_32, bfd_mach_o_write_segment_64) 2565 (bfd_mach_o_read_dylinker, bfd_mach_o_read_dylib) 2566 (bfd_mach_o_read_prebound_dylib, bfd_mach_o_read_prebind_cksum) 2567 (bfd_mach_o_read_twolevel_hints, bfd_mach_o_read_fvmlib) 2568 (bfd_mach_o_read_thread, bfd_mach_o_read_dysymtab) 2569 (bfd_mach_o_read_symtab, bfd_mach_o_read_uuid) 2570 (bfd_mach_o_read_linkedit, bfd_mach_o_read_str) 2571 (bfd_mach_o_read_dyld_info, bfd_mach_o_read_segment) 2572 (bfd_mach_o_read_segment_32, bfd_mach_o_read_segment_64) 2573 (bfd_mach_o_read_command): Now return a boolean status. 2574 Adjust return statements. 2575 (bfd_mach_o_write_contents, bfd_mach_o_scan): Adjust tests. 2576 (bfd_mach_o_core_file_failing_command): Remove useless initialization. 2577 25782014-04-17 Kwok Cheung Yeung <kcy@codesourcery.com> 2579 2580 * elfxx-mips.c (struct mips_got_info): Delete assigned_gotno 2581 field. Add assigned_low_gotno and assigned_high_gotno fields. 2582 (mips_elf_create_local_got_entry): Update out-of-space condition. 2583 Set index of new GOT entry to assigned_low_gotno if required by 2584 the current relocation, else set it to assigned_high_gotno. 2585 (mips_elf_set_global_gotidx): Replace uses of assigned_gotno 2586 with assigned_low_gotno. 2587 (mips_elf_multi_got): Initialize assigned_low_gotno and 2588 assigned_high_gotno in secondary GOTs. Use assigned_low_gotno 2589 in place of assigned_gotno when handling global GOT entries. 2590 (mips_elf_lay_out_got): Initialize assigned_low_gotno and 2591 assigned_high_gotno. 2592 (_bfd_mips_elf_finish_dynamic_sections): Account for a possible 2593 gap in the middle of local GOT space. 2594 25952014-04-17 Alan Modra <amodra@gmail.com> 2596 2597 PR 16846 2598 * elflink.c (_bfd_elf_merge_symbol): Ignore TLS mismatch when 2599 current bfd is a plugin. Don't always set type_change_ok 2600 when old bfd is a plugin. 2601 26022014-04-16 Tristan Gingold <gingold@adacore.com> 2603 2604 * mach-o-x86-64.c (bfd_mach_o_x86_64_mkobject): Adjust cpusubtype 2605 flag. 2606 26072014-04-16 Alan Modra <amodra@gmail.com> 2608 2609 * elf32-ppc.c (ppc_elf_relocate_section): Fill 476 fixup area 2610 with "ba 0" rather than zeros. 2611 26122014-04-15 Marcus Shawcroft <marcus.shawcroft@arm.com> 2613 2614 * (elfNN_aarch64_tls_relax): Fix instruction mask. 2615 26162014-04-14 Alan Modra <amodra@gmail.com> 2617 2618 * elf32-ppc.c (BA): Define 2619 (ppc_elf_link_hash_table_create): Correct default_params. 2620 (write_glink_stub): Pad small plt call stub with "ba 0" rather 2621 than "nop" for ppc476_workaround. 2622 (ppc_elf_finish_dynamic_sections): Likewise for branch table 2623 and __glink_PLTresolve. Ensure plt call stub at end of page 2624 doesn't allow fall-thru prefetch. 2625 26262014-04-11 Nick Clifton <nickc@redhat.com> 2627 2628 PR ld/16821 2629 * peXXigen.c (abs_finder): New function. 2630 (_bfd_XXi_swap_sym_out): For absolute symbols with values larger 2631 than 1^32 try to convert them into section relative values 2632 instead. 2633 26342014-04-11 Nick Clifton <nickc@redhat.com> 2635 2636 * bfd-in2.h: Regenerate. 2637 * libbfd.h: Regenerate. 2638 26392014-04-10 Cesar Philippidis <cesar@codesourcery.com> 2640 2641 * elf32-nios2.c (nios2_elf32_build_stubs): Ignore dynobjs 2642 when building function stubs. 2643 26442014-04-10 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> 2645 2646 * elf32-avr.c: Add DIFF relocations for AVR. 2647 (avr_final_link_relocate): Handle the DIFF relocs. 2648 (bfd_elf_avr_diff_reloc): New. 2649 (elf32_avr_is_diff_reloc): New. 2650 (elf32_avr_adjust_diff_reloc_value): Reduce difference value. 2651 (elf32_avr_relax_delete_bytes): Recompute difference after deleting 2652 bytes. 2653 2654 * reloc.c: Add BFD_RELOC_AVR_DIFF8/16/32 relocations 2655 26562014-04-09 Alan Modra <amodra@gmail.com> 2657 2658 * libcoff.h: Regenerate. 2659 26602014-04-09 Alan Modra <amodra@gmail.com> 2661 2662 * elf32-ppc.c (ppc_elf_relocate_section): Remove bctr from list 2663 of safe ppc476 insns at end of page. Also remove non-branch insns. 2664 Expand comments. 2665 26662014-04-08 Jon Turney <jon.turney@dronecode.org.uk> 2667 2668 * peXXigen.c (pe_print_debugdata): New function: Displays the 2669 contents of the debug directory and decodes codeview entries. 2670 (_bfd_XXi_swap_debugdir_in, _bfd_XXi_swap_debugdir_out) 2671 (_bfd_XXi_slurp_codeview_record, _bfd_XXi_write_codeview_record): 2672 Add functions for reading and writing debugdir and codeview 2673 records. 2674 * libpei.h (_bfd_XXi_swap_debugdir_in, _bfd_XXi_swap_debugdir_out) 2675 (_bfd_XXi_write_codeview_record): Add prototypes and macros. 2676 * libcoff-in.h (pe_tdata): Add build-id data. 2677 * libcoff.h: Regenerate. 2678 * coffcode.h (coff_write_object_contents): Run build_id 2679 after_write_object_contents hook. 2680 26812014-04-05 Alan Modra <amodra@gmail.com> 2682 2683 * elflink.c (_bfd_elf_add_default_symbol): Pass poldbfd when 2684 merging non-default sym. 2685 26862014-04-04 Tristan Gingold <gingold@adacore.com> 2687 2688 * mach-o.c (bfd_mach_o_header_p): Reject 64 bit target when not 2689 configured for. 2690 26912014-04-04 Tristan Gingold <gingold@adacore.com> 2692 2693 * mach-o.c (bfd_mach_o_convert_section_name_to_mach_o): Fix 2694 thinko on names length. 2695 26962014-04-04 Tristan Gingold <gingold@adacore.com> 2697 2698 * mach-o-i386.c (bfd_mach_o_i386_swap_reloc_out): Use target index 2699 of output_section. 2700 * mach-o-x86-64.c (bfd_mach_o_x86_64_swap_reloc_out): Ditto. 2701 27022014-04-04 Tristan Gingold <gingold@adacore.com> 2703 2704 * bfd.c (bfd_get_arch_size): Default is taken from arch. 2705 27062014-04-03 Jon Turney <jon.turney@dronecode.org.uk> 2707 2708 * peXXigen.c (pe_print_edata): Verify edt.name lies inside 2709 section before dereferencing. 2710 (pe_print_idata, pe_print_edata, pe_print_reloc) 2711 (rsrc_print_section): Don't bother interpreting the contents 2712 of sections which have no contents. 2713 27142014-04-03 Maria Guseva <m.guseva@samsung.com> 2715 2716 PR ld/16803 2717 * elf.c (_bfd_elf_set_section_contents): Use correct type to hold 2718 file position. 2719 27202014-04-03 Tristan Gingold <gingold@adacore.com> 2721 2722 * mach-o.c (bfd_mach_o_mangle_symbols): Use index from 2723 output_section. 2724 (bfd_mach_o_build_seg_command): Add comment. Realign segment. 2725 Fix style. 2726 (bfd_mach_o_build_commands, bfd_mach_o_read_thread): Fix style. 2727 27282014-04-03 Alan Modra <amodra@gmail.com> 2729 2730 * elf-bfd.h (struct elf_backend_data 2731 <elf_backend_bfd_from_remote_memory>): Replace "size_t size" 2732 with "bfd_size_type size". 2733 (_bfd_elf32_bfd_from_remote_memory): Likewise. 2734 (_bfd_elf64_bfd_from_remote_memory): Likewise. 2735 * elf.c (bfd_elf_bfd_from_remote_memory): Likewise. 2736 * elfcode.h (bfd_from_remote_memory): Likewise. 2737 * bfd-in.h (bfd_elf_bfd_from_remote_memory): Likewise. 2738 * bfd-in2.h: Regenerate. 2739 27402014-04-02 Tristan Gingold <gingold@adacore.com> 2741 2742 * mach-o.h (bfd_mach_o_twolevel_hints_command) 2743 (bfd_mach_o_prebind_cksum_command): New types. 2744 (bfd_mach_o_prebound_dylib_command): Rewrite. 2745 (bfd_mach_o_load_command): Add prebind_cksum and twolevel_hints 2746 fields. 2747 * mach-o.c (bfd_mach_o_read_prebound_dylib): Read and decode the 2748 command. 2749 (bfd_mach_o_read_prebind_cksum): New function. 2750 (bfd_mach_o_read_twolevel_hints): Ditto. 2751 (bfd_mach_o_read_command): Handle prebind cksum and twolevel hints 2752 commands. 2753 27542014-04-02 Alan Modra <amodra@gmail.com> 2755 2756 * elfcode.h (bfd_from_remote_memory): Add "size" parameter. 2757 Consolidate code handling possible section headers past end of 2758 segment. Don't use p_align for page size guess, instead use 2759 minpagesize. Take note of ld.so clearing section headers when 2760 p_memsz > p_filesz. Handle file header specifying no section 2761 headers. Handle zero p_align throughout. Default loadbase to 2762 zero. Add comments. Rename contents_size to high_offset, and 2763 make it a bfd_vma. Delete unnecessary bfd_set_error calls. 2764 * bfd-in.h (bfd_elf_bfd_from_remote_memory): Update prototpe. 2765 * elf-bfd.h (struct elf_backend_data <elf_backend_from_remote_memory>): 2766 Likewise. 2767 (_bfd_elf32_bfd_from_remote_memory): Likewise. 2768 (_bfd_elf64_bfd_from_remote_memory): Likewise. 2769 * elf.c (bfd_elf_bfd_from_remote_memory): Adjust. 2770 * bfd-in2.h: Regnerate. 2771 27722014-04-01 Tristan Gingold <gingold@adacore.com> 2773 2774 * mach-o.c (bfd_mach_o_canonicalize_one_reloc): Avoid to crash 2775 when num == 0. 2776 27772014-03-27 Yury Gribov <y.gribov@samsung.com> 2778 Pavel Fedin <p.fedin@samsung.com> 2779 2780 * elf32-arm.c: Add support for limited pretty-printing of PLT 2781 entries on eabi and nacl targets. 2782 (elf32_arm_get_synthetic_symtab): Add new callback. 2783 (elf32_arm_nacl_plt_sym_val): Likewise. 2784 (elf32_arm_plt0_size): Add helper function. 2785 (elf32_arm_plt_size): Likewise. 2786 27872014-03-27 Tristan Gingold <gingold@adacore.com> 2788 2789 * mach-o.c (bfd_mach_o_read_dylinker): Remove assert. 2790 (bfd_mach_o_read_command): Handle BFD_MACH_O_LC_DYLD_ENVIRONMENT. 2791 27922014-03-27 Tristan Gingold <gingold@adacore.com> 2793 2794 * mach-o.h (bfd_mach_o_get_base_address): New prototype. 2795 * mach-o.c (bfd_mach_o_write_symtab) 2796 (bfd_mach_o_write_contents) 2797 (bfd_mach_o_set_section_flags_from_bfd) 2798 (bfd_mach_o_build_seg_command): Fix indentation. 2799 (bfd_mach_o_get_base_address): New function. 2800 28012014-03-26 Nick Clifton <nickc@redhat.com> 2802 2803 * cofflink.c (_bfd_coff_generic_relocate_section): Skip 2804 relocations in discarded sections. 2805 28062014-03-26 Tristan Gingold <gingold@adacore.com> 2807 2808 * mach-o.c (bfd_mach_o_convert_architecture): Add 2809 BFD_MACH_O_CPU_TYPE_ARM64. 2810 28112014-03-26 Alan Modra <amodra@gmail.com> 2812 2813 * elf64-ppc.c (ppc64_elf_check_relocs): Account for possibly 2814 needed plt entries when taking the address of functions for 2815 abiversion == 0 (ie. unknown) as well as abiversion == 2. 2816 Move opd setup and abiversion checks to.. 2817 (ppc64_elf_before_check_relocs): ..here. Renamed from 2818 ppc64_elf_process_dot_syms. Set output abiversion from input and 2819 input abiversion from output, if either is not set. 2820 (ppc64_elf_merge_private_bfd_data): Don't merge flags here. 2821 (elf_backend_check_directives): Update. 2822 28232014-03-25 Will Newton <will.newton@linaro.org> 2824 2825 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_sections): 2826 Set value of DT_PLTRELSZ and DT_RELASZ based on the size 2827 of input sections rather than output sections. 2828 28292014-03-20 Will Newton <will.newton@linaro.org> 2830 2831 PR ld/16715 2832 * elf32-arm.c (elf32_arm_check_relocs): Set 2833 pointer_equality_needed for absolute references within 2834 executable links. 2835 (elf32_arm_finish_dynamic_symbol): Set st_value to zero 2836 unless pointer_equality_needed is set. 2837 28382014-03-19 Nick Clifton <nickc@redhat.com> 2839 2840 * peXXigen.c (rsrc_process_section): Add code to scan input 2841 sections and record their lengths. Use these lengths to find the 2842 start of each merged .rsrc section. 2843 28442014-03-17 Tristan Gingold <gingold@adacore.com> 2845 2846 * mach-o.c (bfd_mach_o_read_dylib): Handle lazy load dylib. 2847 (bfd_mach_o_read_command): Ditto. 2848 28492014-03-14 Meador Inge <meadori@codesourcery.com> 2850 2851 * configure.in: Add strnlen to AC_CHECK_DECLS. 2852 * config.in: Regenerate. 2853 * configure: Regenerate. 2854 * sysdep.h (strnlen): Add prototype. 2855 28562014-03-14 Alan Modra <amodra@gmail.com> 2857 2858 * elf32-ppc.c (ppc_elf_relocate_section): Correct overflow 2859 handling for VLE_SDA21 relocs. 2860 28612014-03-13 Tristan Gingold <gingold@adacore.com> 2862 2863 * peicode.h (pe_ILF_object_p): Adjust, as the version number 2864 has been read. 2865 (pe_bfd_object_p): Also read version number to detect ILF. 2866 * pe-x86_64.c (COFF_WITH_PE_BIGOBJ): Define. 2867 (x86_64pe_bigobj_vec): Define 2868 * coffcode.h (bfd_coff_backend_data): Add _bfd_coff_max_nscns field. 2869 (bfd_coff_max_nscns): New macro. 2870 (coff_compute_section_file_positions): Use unsigned int for 2871 target_index. Compare with bfd_coff_max_nscns. 2872 (bfd_coff_std_swap_table, ticoff0_swap_table, ticoff1_swap_table): 2873 Set a value for _bfd_coff_max_nscns. 2874 (header_bigobj_classid): New constant. 2875 (coff_bigobj_swap_filehdr_in, coff_bigobj_swap_filehdr_out) 2876 (coff_bigobj_swap_sym_in, coff_bigobj_swap_sym_out) 2877 (coff_bigobj_swap_aux_in, coff_bigobj_swap_aux_out): New 2878 functions. 2879 (bigobj_swap_table): New table. 2880 * libcoff.h: Regenerate. 2881 * coff-sh.c (bfd_coff_small_swap_table): Likewise. 2882 * coff-alpha.c (alpha_ecoff_backend_data): Add value for 2883 _bfd_coff_max_nscns. 2884 * coff-mips.c (mips_ecoff_backend_data): Likewise. 2885 * coff-rs6000.c (bfd_xcoff_backend_data) 2886 (bfd_pmac_xcoff_backend_data): Likewise. 2887 * coff64-rs6000.c (bfd_xcoff_backend_data) 2888 (bfd_xcoff_aix5_backend_data): Likewise. 2889 * targets.c (x86_64pe_bigobj_vec): Declare. 2890 * configure.in (x86_64pe_bigobj_vec): New vector. 2891 * configure: Regenerate. 2892 * config.bfd: Add bigobj object format for Windows targets. 2893 28942014-03-12 Nick Clifton <nickc@redhat.com> 2895 2896 PR ld/16671 2897 * elf32-arm.c (elf32_arm_add_symbol_hook): Check for ARM format 2898 before testing for vxworks. 2899 29002014-03-12 Alan Modra <amodra@gmail.com> 2901 2902 * Makefile.in: Regenerate. 2903 29042014-03-12 Alan Modra <amodra@gmail.com> 2905 2906 PR 16690 2907 * elf.c (copy_elf_program_header): Ignore first section lma if 2908 non-alloc. 2909 29102014-03-11 Alan Modra <amodra@gmail.com> 2911 2912 PR 16686 2913 * coff-rs6000.c: Include stdint.h. 2914 * coff64-rs6000.c: Likewise. 2915 29162014-03-10 Tristan Gingold <gingold@adacore.com> 2917 2918 * ticoff.h: Removed. 2919 29202014-03-08 Alan Modra <amodra@gmail.com> 2921 2922 * elf32-ppc.c (ppc_elf_howto_raw): Correct overflow check for 2923 many relocations. Correct bitsize and rightshift too for a number 2924 of VLE relocs. Describe R_PPC_VLE_SDA21 and R_PPC_VLE_SDA21_LO. 2925 Correct dst_mask on R_PPC_VLE_SDA21_LO. 2926 (ppc_elf_vle_split16): Tidy, delete unnecessary prototype. 2927 (ppc_elf_relocate_section): Modify overflow test for 16-bit 2928 fields in instructions to signed/unsigned according to whether 2929 the field takes a signed or unsigned value. Tidy vle split16 code. 2930 Correct R_PPC_VLE_SDA21 and R_PPC_VLE_SDA21_LO handling. 2931 29322014-03-08 Alan Modra <amodra@gmail.com> 2933 2934 * elf64-ppc.c (ppc64_elf_howto_raw): Use complain_overflow_signed 2935 for R_PPC64_ADDR14, R_PPC64_ADDR14_BRTAKEN, R_PPC64_ADDR14_BRNTAKEN, 2936 R_PPC64_SECTOFF, R_PPC64_ADDR16_DS, R_PPC64_SECTOFF_DS, 2937 R_PPC64_REL16 entries. Use complain_overflow_dont for R_PPC64_TOC. 2938 (ppc64_elf_relocate_section): Modify overflow test for 16-bit 2939 fields in instructions to signed/unsigned according to whether 2940 the field takes a signed or unsigned value. 2941 29422014-03-07 Pedro Alves <palves@redhat.com> 2943 2944 PR gdb/16696 2945 * rs6000-core.c (rs6000coff_core_p): Cast pointers to bfd_vma 2946 through ptr_to_uint instead of through long. 2947 29482014-03-06 Nick Clifton <nickc@redhat.com> 2949 2950 PR 16664 2951 * elf-attrs.c (_bfd_elf_parse_attributes): Add checks for corrupt 2952 attribute section names. 2953 29542014-03-05 Alan Modra <amodra@gmail.com> 2955 2956 Update copyright years. 2957 29582014-03-05 Alan Modra <amodra@gmail.com> 2959 2960 * elf64-ppc.c (ppc64_elf_howto_raw): Add R_PPC64_ADDR64_LOCAL entry. 2961 (ppc64_elf_reloc_type_lookup): Support R_PPC64_ADDR64_LOCAL. 2962 (ppc64_elf_check_relocs): Likewise. 2963 (ppc64_elf_relocate_section): Likewise. 2964 * Add BFD_RELOC_PPC64_ADDR64_LOCAL. 2965 * bfd-in2.h: Regenerate. 2966 * libbfd.h: Regenerate. 2967 29682014-03-04 Heiher <r@hev.cc> 2969 2970 * elfxx-mips.c (mips_set_isa_flags): Use E_MIPS_ARCH_64R2 for 2971 Loongson-3A. 2972 (mips_mach_extensions): Make bfd_mach_mips_loongson_3a an 2973 extension of bfd_mach_mipsisa64r2. 2974 29752014-03-04 Nick Clifton <nickc@redhat.com> 2976 2977 PR ld/16017 2978 * elf32-arm.c (elf32_thumb2_plt0_entry): New array. 2979 (elf32_thumb2_plt_entry): New array. 2980 (elf32_arm_create_dynamic_sections): Set PLT entry sizes when 2981 using thumb2 based PLT. 2982 (elf32_arm_populate_plt_entry): Handle generating Thumb2 based PLT 2983 entries. 2984 (elf32_arm_final_link_relocate): Do not bias jumps to Thumb based 2985 PLT entries. 2986 (elf32_arm_finish_dynamic_sections): Handle creation of Thumb2 2987 based PLT 0-entry. 2988 (elf32_arm_output_plt_map_1): Handle creation of local symbols for 2989 Thumb2 based PLT 0-entry. 2990 (elf32_arm_output_arch_local_syms): Handle creation of local 2991 symbols for Thumb2 based PLT entries. 2992 29932014-02-28 Alan Modra <amodra@gmail.com> 2994 2995 PR ld/16643 2996 * elflink.c (elf_gc_sweep): Call gc_sweep_hook for exactly 2997 the same conditions we called check_relocs. 2998 29992014-02-27 Yuri Gribov <y.gribov@samsung.com> 3000 3001 * bfd-in.h: Add export of bfd_elf32_arm_use_long_plt. 3002 * bfd-in2.h: Regenerate. 3003 * elf32-arm.c (elf32_arm_plt_entry_long): New array. 3004 (elf32_arm_link_hash_table_create): Set plt_entry_size to 16 if 3005 using long PLT entries. 3006 (bfd_elf32_arm_use_long_plt): New function. 3007 (elf32_arm_populate_plt_entry): Add support for long PLT entries. 3008 30092014-02-27 Alan Modra <amodra@gmail.com> 3010 3011 * elf32-ppc.c (ppc_elf_link_hash_table_create): Provide default 3012 params for targets that don't use ppc32elf.em. 3013 30142014-02-20 Chung-Lin Tang <cltang@codesourcery.com> 3015 3016 * elf32-nios2.c (nios2_elf32_relocate_section): Fix calculation 3017 of GOTOFF relocations. 3018 30192014-02-19 Igor Zamyatin <igor.zamyatin@intel.com> 3020 H.J. Lu <hongjiu.lu@intel.com> 3021 3022 * elf64-x86-64.c (elf_x86_64_bnd_plt0_entry): New. 3023 (elf_x86_64_legacy_plt_entry): Likewise. 3024 (elf_x86_64_bnd_plt_entry): Likewise. 3025 (elf_x86_64_legacy_plt2_entry): Likewise. 3026 (elf_x86_64_bnd_plt2_entry): Likewise. 3027 (elf_x86_64_bnd_arch_bed): Likewise. 3028 (elf_x86_64_link_hash_entry): Add has_bnd_reloc and plt_bnd. 3029 (elf_x86_64_link_hash_table): Add plt_bnd. 3030 (elf_x86_64_link_hash_newfunc): Initialize has_bnd_reloc and 3031 plt_bnd. 3032 (elf_x86_64_copy_indirect_symbol): Also copy has_bnd_reloc. 3033 (elf_x86_64_check_relocs): Create the second PLT for Intel MPX 3034 in 64-bit mode. 3035 (elf_x86_64_allocate_dynrelocs): Handle the second PLT for IFUNC 3036 symbols. Resolve call to the second PLT if it is created. 3037 (elf_x86_64_size_dynamic_sections): Keep the second PLT section. 3038 (elf_x86_64_relocate_section): Resolve PLT references to the 3039 second PLT if it is created. 3040 (elf_x86_64_finish_dynamic_symbol): Use BND PLT0 and fill the 3041 second PLT entry for BND relocation. 3042 (elf_x86_64_finish_dynamic_sections): Use MPX backend data if 3043 the second PLT is created. 3044 (elf_x86_64_get_synthetic_symtab): New. 3045 (bfd_elf64_get_synthetic_symtab): Likewise. Undefine for NaCl. 3046 30472014-02-19 Alan Modra <amodra@gmail.com> 3048 3049 * elf64-ppc.h (struct ppc64_elf_params): Add save_restore_funcs. 3050 * elf64-ppc.c (ppc64_elf_func_desc_adjust): Use it to control 3051 provision of out-of-line register save/restore routines. 3052 30532014-02-18 Jack Carter <jack.carter@imgtec.com> 3054 3055 * elfxx-mips.c(_bfd_mips_elf_modify_segment_map): Deleted hard coding of 3056 PT_DYNAMIC segment flags. 3057 30582014-02-17 Jan Kratochvil <jan.kratochvil@redhat.com> 3059 3060 PR binutils/16595 3061 * simple.c (struct saved_offsets): New. 3062 (simple_save_output_info): Use it for ptr. 3063 (simple_restore_output_info): Use it for ptr. Check section_count. 3064 (bfd_simple_get_relocated_section_contents): Use it for saved_offsets. 3065 30662014-02-17 Alan Modra <amodra@gmail.com> 3067 3068 * elf64-ppc.h (struct ppc64_elf_params): Define. 3069 (ppc64_elf_init_stub_bfd, ppc64_elf_edit_opd, ppc64_elf_tls_setup, 3070 ppc64_elf_setup_section_lists, ppc64_elf_size_stubs, 3071 ppc64_elf_build_stubs): Update prototype. 3072 * elf64-ppp.c (struct ppc_link_hash_table): Add params, delete other 3073 fields now in params. Adjust code throughout file. 3074 (ppc64_elf_init_stub_bfd): Delete "abfd" parameter, add "params". 3075 Save params pointer in htab. 3076 (ppc64_elf_edit_opd, ppc64_elf_tls_setup, 3077 ppc64_elf_setup_section_lists, ppc64_elf_size_stubs, 3078 ppc64_elf_build_stubs): Remove parameters now in "params". 3079 30802014-02-17 Alan Modra <amodra@gmail.com> 3081 3082 * elf32-ppc.c (ppc_elf_relocate_section): Move relocs on insns 3083 patched for ppc476 workaround. Reapply branch taken/not taken 3084 relocs. 3085 30862014-02-12 Alan Modra <amodra@gmail.com> 3087 3088 * elf32-ppc.c (ppc_elf_relax_section): Don't build long-branch 3089 stubs for calls to __tls_get_addr that we know will later be 3090 optimised away. 3091 30922014-02-12 Alan Modra <amodra@gmail.com> 3093 3094 * elf32-ppc.c (ppc_elf_relax_section): Enable ppc476 workaround 3095 for ld -r, when code sections are sufficiently aligned. 3096 * elf32-ppc.h (struct ppc_elf_params): Delete pagesize. Add 3097 pagesize_p2. 3098 30992014-02-12 Alan Modra <amodra@gmail.com> 3100 3101 PR gold/15530 3102 * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Support 3103 --export-dynamic and --dynamic-list marking of symbols. 3104 * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Reorder 3105 cheap tests first. 3106 31072014-02-10 H.J. Lu <hongjiu.lu@intel.com> 3108 3109 PR gold/16530 3110 * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Mark symbol in 3111 executables if it matches dynamic_list. 3112 31132014-02-10 Alan Modra <amodra@gmail.com> 3114 3115 * po/SRC-POTFILES.in: Regenerate. 3116 * po/bfd.pot: Regenerate. 3117 31182014-02-09 Alan Modra <amodra@gmail.com> 3119 3120 * elf-bfd.h (struct elf_backend_data): Add caches_rawsize. 3121 * elfxx-target.h (elf_backend_caches_rawsize): Define. 3122 (elfNN_bed): Init new field. 3123 * elflink.c (elf_link_input_bfd): Handle caches_rawsize. 3124 * elf32-ppc.c (shared_stub_entry): Zero addi offset. 3125 (ppc_elf_relax_section): Don't reallocate section here, write 3126 stubs, or write out relocs for ld -r here.. 3127 (ppc_elf_relocate_section): ..instead write stubs here, and use 3128 existing code to write out relocs for ld -r. Fix offset 3129 adjustment on reloc for little-endian. 3130 (elf_backend_caches_rawsize): Define. 3131 31322014-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 3133 3134 PR build/16550 3135 * cache.c (bfd_cache_max_open): Cast RLIM_INFINITY to rlim_t. 3136 31372014-02-04 Jan Kratochvil <jan.kratochvil@redhat.com> 3138 3139 * coff-rs6000.c (xcoff_write_archive_contents_big): Free OFFSETS in 3140 return paths. Three times. 3141 * elf64-ppc.c (ppc64_elf_link_hash_table_create): Free HTAB in all 3142 return paths. 3143 (ppc64_elf_tls_optimize): Free TOC_REF in return path. 3144 (ppc64_elf_edit_toc): Free USED in return path. 3145 31462014-02-03 Sandra Loosemore <sandra@codesourcery.com> 3147 3148 * reloc.c (BFD_RELOC_NIOS2_GOT_LO, BFD_RELOC_NIOS2_GOT_HA): New. 3149 (BFD_RELOC_NIOS2_CALL_LO, BFD_RELOC_NIOS2_CALL_HA): New. 3150 * libbfd.h: Regenerated. 3151 * bfd-in2.h: Regenerated. 3152 * elf32-nios2.c (elf_nios2_howto_table_rel): Add new relocations. 3153 (nios2_reloc_map): Likewise. 3154 (GOT_USED, CALL_USED): Renamed from GOT16_USED and CALL16_USED. 3155 Fixed all references. 3156 (nios2_elf32_relocate_section): Add new relocations. 3157 (nios2_elf32_check_relocs): Likewise. 3158 (nios2_elf32_gc_sweep_hook): Likewise. 3159 31602014-02-03 Alan Modra <amodra@gmail.com> 3161 3162 * elf32-ppc.c (struct ppc_elf_link_hash_table): Add params. 3163 Delete emit_stub_syms, no_tls_get_addr_opt. Update all uses. 3164 (ppc_elf_link_params): New function. 3165 (ppc_elf_create_glink): Align .glink to 64 bytes for ppc476 3166 workaround. 3167 (ppc_elf_select_plt_layout): Remove plt_style and emit_stub_syms 3168 parameters. Use htab->params instead. 3169 (ppc_elf_tls_setup): Remove no_tls_get_addr_opt parameter. 3170 (ppc_elf_size_dynamic_sections): Align __glink_PLTresolve to 3171 64 bytes for ppc476 workaround. 3172 (struct ppc_elf_relax_info): New. 3173 (ppc_elf_relax_section): Exclude linker created sections and 3174 those too small to hold one instruction. Don't add another 3175 branch around trampolines on later relax passes. Don't 3176 generate trampolines for undefined symbols when !relocatable, 3177 nor for plugin symbols. Allocate space for ppc476 workaround 3178 patch area. Free fixups on error return path. 3179 (ppc_elf_relocate_section): Handle ppc476 workaround patching. 3180 * elf32-ppc.h (struct ppc_elf_params): New. 3181 (ppc_elf_select_plt_layout, ppc_elf_tls_setup): Update prototype. 3182 (ppc_elf_link_params): Declare. 3183 * section.c (SEC_INFO_TYPE_TARGET): Define. 3184 * bfd-in2.h: Regenerate. 3185 31862014-02-02 Sandra Loosemore <sandra@codesourcery.com> 3187 3188 * elf32-nios2.c (struct elf32_nios2_link_hash_table): Add 3189 h_gp_got field. 3190 (nios2_elf32_relocate_section): Use got_base to adjust 3191 GOT-pointer-relative relocations relative to _gp_got. 3192 (create_got_section): Create _gp_got symbol. 3193 (nios2_elf32_finish_dynamic_symbol): Make _gp_got absolute. 3194 (nios2_elf32_size_dynamic_sections): Set _gp_got offset. 3195 31962014-01-30 Sandra Loosemore <sandra@codesourcery.com> 3197 3198 * bfd-in2.h: Update from reloc.c. 3199 * elf32-nios2.c: Include elf32-nios2.h. 3200 (elf_nios2_howto_table_rel): Add entry for R_NIOS2_CALL26_NOAT. 3201 (nios2_reloc_map): Likewise. 3202 (enum elf32_nios2_stub_type): Declare. 3203 (struct elf32_nios2_stub_hash_entry): Declare. 3204 (nios2_stub_hash_entry, nios2_stub_hash_lookup): New macros. 3205 (struct elf32_nios2_link_hash_entry): Add hsh_cache field. 3206 (struct elf32_nios2_link_hash_table): Add new fields bstab, 3207 stub_bfd, add_stub_section, layout_sections_again, stub_group, 3208 bfd_count, top_index, input_list, all_local_syms. 3209 (nios2_call26_stub_entry): New. 3210 (nios2_elf32_install_imm16): Move up in file. 3211 (nios2_elf32_install_data): Move up in file. 3212 (hiadj): Move up in file. 3213 (stub_hash_newfunc): New. 3214 (link_hash_newfunc): Initialize hsh_cache field. 3215 (STUB_SUFFIX): New. 3216 (nios2_stub_name): New. 3217 (nios2_get_stub_entry): New. 3218 (nios2_add_stub): New. 3219 (nios2_elf32_setup_section_lists): New. 3220 (nios2_elf32_next_input_section): New. 3221 (CALL26_SEGMENT): New. 3222 (MAX_STUB_SECTION_SIZE): New. 3223 (group_sections): New. 3224 (nios2_type_of_stub): New. 3225 (nios2_build_one_stub): New. 3226 (nios2_size_one_stub): New. 3227 (get_local_syms): New. 3228 (nios2_elf32_size_stubs): New. 3229 (nios2_elf32_build_stubs): New. 3230 (nios2_elf32_do_call26_relocate): Correct CALL26 overflow test. 3231 (nios2_elf32_relocate_section): Handle R_NIOS2_CALL26_NOAT. Add 3232 trampolines for R_NIOS2_CALL26 stubs. 3233 (nios2_elf32_check_relocs): Handle R_NIOS2_CALL26_NOAT. 3234 (nios2_elf32_gc_sweep_hook): Likewise. 3235 (nios2_elf32_link_hash_table_create): Initialize the stub hash table. 3236 (nios2_elf32_link_hash_table_free): New. 3237 (bfd_elf32_bfd_link_hash_table_free): Define. 3238 * elf32-nios2.h: New file. 3239 * libbfd.h: Update from reloc.c. 3240 * reloc.c (BFD_RELOC_NIOS2_CALL26_NOAT): New. 3241 32422014-01-29 Nick Clifton <nickc@redhat.com> 3243 3244 PR binutils/16318 3245 * elf32-metag.c (elf_metag_post_process_headers): Call 3246 _bfd_elf_post_process_headers. 3247 * elf32-sh64.c (sh64_elf_copy_private_data): Call 3248 _bfd_elf_copy_private_data. 3249 * elf64-sh64.c (sh_elf64_copy_private_data_internal): Likewise. 3250 32512014-01-29 Nick Clifton <nickc@redhat.com> 3252 3253 * bfd-in.h (bfd_set_section_vma): Delete. 3254 (bfd_set_section_alignment): Delete. 3255 (bfd_set_section_userdata): Delete. 3256 (bfd_set_cacheable): Delete. 3257 * bfd.c (bfd_set_cacheable): New static inline function. 3258 * section.c (bfd_set_section_userdata): Likewise. 3259 (bfd_set_section_vma): Likewise. 3260 (bfd_set_section_alignment): Likewise. 3261 * bfd-in2.h: Regenerate. 3262 32632014-01-28 Nick Clifton <nickc@redhat.com> 3264 3265 * dwarf2.c (find_abstract_instance_name): For DW_FORM_ref_addr 3266 attributes select the CU containing the abbreviation, which may not 3267 be the current CU. 3268 32692014-01-24 Alan Modra <amodra@gmail.com> 3270 3271 * elf64-ppc.c (ppc_build_one_stub): Correct reloc count passed 3272 to get_relocs for ELFv2. 3273 32742014-01-23 H.J. Lu <hongjiu.lu@intel.com> 3275 3276 PR ld/16498 3277 * elf.c (_bfd_elf_map_sections_to_segments): Issue a linker error 3278 if TLS sections are not adjacent. 3279 32802014-01-22 Alan Modra <amodra@gmail.com> 3281 3282 * elflink.c (elf_link_add_object_symbols): Call minfo for --as-needed. 3283 32842014-01-22 Alan Modra <amodra@gmail.com> 3285 3286 * elf64-ppc.c (STK_LINKER): Comment typo fix. 3287 32882014-01-21 H.J. Lu <hongjiu.lu@intel.com> 3289 3290 PR ld/16467 3291 * elflink.c (_bfd_elf_merge_symbol): When types of the existing 3292 regular default symbol definition and the versioned dynamic 3293 symbol definition mismatch, skip the default symbol definition 3294 if one of them is IFUNC. 3295 32962014-01-21 H.J. Lu <hongjiu.lu@intel.com> 3297 3298 PR ld/2404 3299 * elflink.c (_bfd_elf_merge_symbol): Don't check info->shared, 3300 info->export_dynamic nor h->ref_dynamic for type mismatch when 3301 adding the default version. 3302 33032014-01-16 Alan Modra <amodra@gmail.com> 3304 3305 * elfxx-mips.c (mips_elf_record_got_page_entry): Pass in a 3306 mips_elf_traverse_got_arg* rather than mips_got_info*. 3307 Adjust caller. Alloc on output_bfd rather than symbol section 3308 owner. 3309 33102014-01-15 H.J. Lu <hongjiu.lu@intel.com> 3311 3312 * elf32-i386.c (elf_i386_allocate_dynrelocs): Revert the last 3313 change. 3314 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise. 3315 33162014-01-14 H.J. Lu <hongjiu.lu@intel.com> 3317 3318 PR ld/16428 3319 * elf32-i386.c (elf_i386_allocate_dynrelocs): Don't discard relocs 3320 against __ehdr_start. 3321 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise. 3322 33232014-01-14 H.J. Lu <hongjiu.lu@intel.com> 3324 3325 * elf32-i386.c (elf_i386_allocate_dynrelocs): Revert the last 3326 change. 3327 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise. 3328 33292014-01-14 H.J. Lu <hongjiu.lu@intel.com> 3330 3331 PR ld/16428 3332 * elf32-i386.c (elf_i386_allocate_dynrelocs): Don't update reloc 3333 count if there are any non pc-relative relocs. 3334 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise. 3335 33362014-01-14 Michael Hudson-Doyle <michael.hudson@linaro.org> 3337 Kugan Vivekanandarajah <kugan.vivekanandarajah@linaro.org> 3338 3339 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Use correct 3340 offset while calculating relocation address. 3341 (elfNN_aarch64_create_small_pltn_entry): Likewise. 3342 (elfNN_aarch64_init_small_plt0_entry): Likewise. 3343 33442014-01-13 Ma Jiang <ma.jiang@zte.com.cn> 3345 3346 PR ld/16202 3347 * elf32-arm.c (elf32_arm_final_link_relocate): Refetch addends for 3348 R_ARM_ABS8 and R_ARM_ABS16. 3349 33502014-01-13 Alan Modra <amodra@gmail.com> 3351 3352 * elf32-ppc.c (ppc_elf_check_relocs): For @local call to ifunc, 3353 error when shared and force a plt call otherwise. 3354 (ppc_elf_size_dynamic_sections): Don't emit DT_PPC_GOT unless 3355 plt_type == PLT_NEW. 3356 (ppc_elf_relocate_section): Add missing test to resolve ifuncs to 3357 the appropriate call stub. 3358 33592014-01-10 Alan Modra <amodra@gmail.com> 3360 3361 PR ld/14207 3362 PR ld/16322 3363 PR binutils/16323 3364 * elf.c (assign_file_positions_for_load_sections): Revert last change. 3365 (assign_file_positions_for_non_load_sections): When setting up 3366 PT_GNU_RELRO header, don't require a corresponding PT_LOAD 3367 header that completely covers the relro region. 3368 33692014-01-09 Tristan Gingold <gingold@adacore.com> 3370 3371 * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): use jump 3372 table macros and add macros to initializa the structure. 3373 33742014-01-08 H.J. Lu <hongjiu.lu@intel.com> 3375 3376 PR ld/14207 3377 PR ld/16322 3378 PR binutils/16323 3379 * elf.c (_bfd_elf_map_sections_to_segments): Don't check section 3380 size for PT_GNU_RELRO segment. 3381 (assign_file_positions_for_load_sections): If PT_LOAD segment 3382 doesn't fit PT_GNU_RELRO segment, adjust its p_filesz and p_memsz. 3383 33842014-01-07 Tom Tromey <tromey@redhat.com> 3385 3386 * elf32-xtensa.c (vsprint_msg): Don't use old VA_* compatibility 3387 wrappers. 3388 33892014-01-03 Nick Clifton <nickc@redhat.com> 3390 3391 PR binutils/16199 3392 * elf.c (vma_page_aligned_bias): Handle a maxpagesize value of 3393 zero. 3394 33952014-01-02 Yuanhui Zhang <asmwarrior@gmail.com> 3396 3397 PR binutils/14289 3398 * pef.c (bfd_pef_xlib_read_header): Increase buffer size to 80. 3399 34002014-01-02 Nick Clifton <nickc@redhat.com> 3401 3402 PR binutils/11983 3403 * archive.c (_bfd_get_elt_at_filepos): Store a copy of the 3404 filename in the bfd's filename field. 3405 * elfcode.h (bfd_from_remote_memory): Likewise. 3406 * ieee.c (ieee_object_p): Likewise. 3407 * mach-o.c (bfd_mach_o_fat_member_init): Likewise. 3408 * oasys.c (oasys_openr_next_archived_file): Likewise. 3409 * vms-lib.c (_bfd_vms_lib_get_module): Likewise. 3410 * opncls.c (bfd_fopen): Likewise. 3411 (bfd_openstreamr): Likewise. 3412 (bfd_openr_iovec): Likewise. 3413 (bfd_openw): Likewise. 3414 (bfd_create): Likewise. 3415 (_bfd_delete_bfd): Free filename. 3416 3417For older changes see ChangeLog-2013 3418 3419Copyright (C) 2014 Free Software Foundation, Inc. 3420 3421Copying and distribution of this file, with or without modification, 3422are permitted in any medium without royalty provided the copyright 3423notice and this notice are preserved. 3424 3425Local Variables: 3426mode: change-log 3427left-margin: 8 3428fill-column: 74 3429version-control: never 3430End: 3431