1 2014-12-30 H.J. Lu <hongjiu.lu (a] 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 7 2014-12-28 Alan Modra <amodra (a] 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 13 2014-12-26 Alan Modra <amodra (a] gmail.com> 14 15 PR 17755 16 * elf64-sh64.c (sh_elf64_copy_private_data_internal): Delete code 17 copying SHF_SH5_ISA32. 18 19 2014-12-25 Thomas Preud'homme <thomas.preudhomme (a] 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 27 2014-12-24 H.J. Lu <hongjiu.lu (a] intel.com> 28 29 * pei-x86_64.c (pex64_bfd_print_pdata_section): Add cast to 30 unsigned long. 31 32 2014-12-24 Pierre Muller <muller (a] 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 50 2014-12-24 Alan Modra <amodra (a] gmail.com> 51 52 * linker.c (_bfd_generic_link_output_symbols): Remove BSF_WEAK 53 flag from bfd_link_hash_defined symbols. 54 55 2014-12-23 Andrew Burgess <andrew.burgess (a] embecosm.com> 56 57 * elf32-avr.c (bfd_elf_avr_final_write_processing): Don't set 58 EF_AVR_LINKRELAX_PREPARED unconditionally. 59 60 2014-12-23 Alan Modra <amodra (a] 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 66 2014-12-22 Nick Clifton <nickc (a] 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 120 2014-12-18 Richard Henderson <rth (a] redhat.com> 121 122 * elf32-ppc.c (ELF_COMMONPAGESIZE): Set to 64k. 123 * elf64-ppc.c (ELF_COMMONPAGESIZE): Likewise. 124 125 2014-12-16 Nick Clifton <nickc (a] 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 133 2014-12-15 H.J. Lu <hongjiu.lu (a] intel.com> 134 135 PR ld/17713 136 * elflink.c (_bfd_elf_gc_mark_rsec): Check corrupt input. 137 138 2014-12-13 H.J. Lu <hongjiu.lu (a] 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 155 2014-12-12 Alan Modra <amodra (a] gmail.com> 156 157 PR 15228 158 * elflink.c (_bfd_elf_adjust_dynamic_copy): Call bfd_set_error. 159 160 2014-12-12 Alan Modra <amodra (a] 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 196 2014-12-11 Keith Seitz <keiths (a] 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 204 2014-12-10 Alan Modra <amodra (a] 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 237 2014-12-10 Alan Modra <amodra (a] 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 259 2014-12-10 Alan Modra <amodra (a] 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 265 2014-12-10 Alan Modra <amodra (a] 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 278 2014-12-09 Nick Clifton <nickc (a] 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 291 2014-12-09 Alan Modra <amodra (a] gmail.com> 292 293 * elf64-ppc.c (sort_r_offset): Delete. 294 (ppc64_elf_edit_opd): Don't sort input relocs. 295 296 2014-12-06 Eric Botcazou <ebotcazou (a] 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 318 2014-12-05 Steve Ellcey <sellcey (a] mips.com> 319 320 * ecoff.c (_bfd_ecoff_slurp_symbol_table): Add cast. 321 322 2014-12-05 H.J. Lu <hongjiu.lu (a] intel.com> 323 324 * elf64-x86-64.c (bfd_elf32_get_synthetic_symtab): New. 325 326 2014-12-04 H.J. Lu <hongjiu.lu (a] 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 345 2014-12-04 Alan Modra <amodra (a] 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 354 2014-12-03 Nick Clifton <nickc (a] 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 369 2014-12-03 H.J. Lu <hongjiu.lu (a] intel.com> 370 371 * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Reformat. 372 373 2014-12-02 H.J. Lu <hongjiu.lu (a] intel.com> 374 375 * elf64-x86-64.c (elf_x86_64_relocate_section): Check 376 info->executable for symbols which need copy relocs. 377 378 2014-12-02 H.J. Lu <hongjiu.lu (a] 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 387 2014-12-02 H.J. Lu <hongjiu.lu (a] 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 398 2014-12-02 Andrew Bennett <andrew.bennett (a] imgtec.com> 399 400 * elfxx-mips.c (mips_elf_calculate_relocation): Only check for 401 overflow on non-weak undefined symbols. 402 403 2014-12-02 Alan Modra <amodra (a] 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 416 2014-12-01 Nick Clifton <nickc (a] 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 443 2014-11-30 Alan Modra <amodra (a] 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 450 2014-11-28 Alan Modra <amodra (a] 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 455 2014-11-27 Nick Clifton <nickc (a] 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 464 2014-11-26 Nick Clifton <nickc (a] 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 504 2014-11-26 Alan Modra <amodra (a] 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 510 2014-11-25 H.J. Lu <hongjiu.lu (a] 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 557 2014-11-25 H.J. Lu <hongjiu.lu (a] 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 565 2014-11-25 H.J. Lu <hongjiu.lu (a] 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 595 2014-11-24 H.J. Lu <hongjiu.lu (a] intel.com> 596 597 * configure: Regenerated. 598 599 2014-11-24 Tejas Belagod <tejas.belagod (a] arm.com> 600 601 * elfnn-aarch64.c (elf_aarch64_compare_mapping): New. 602 (erratum_835769_scan): Sort map list. 603 604 2014-11-24 Alan Modra <amodra (a] gmail.com> 605 606 * elf64-ppc.c (plt_stub_pad): Correct. 607 608 2014-11-23 H.J. Lu <hongjiu.lu (a] 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 615 2014-11-22 H.J. Lu <hongjiu.lu (a] intel.com> 616 617 * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Check 618 branch displacement overflow in PLT entry. 619 620 2014-11-21 Nick Clifton <nickc (a] 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 659 2014-11-21 H.J. Lu <hongjiu.lu (a] intel.com> 660 661 * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Optimize 662 PC-relative offset overflow check. 663 664 2014-11-21 Alexander Cherepanov <cherepan (a] 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 670 2014-11-21 Terry Guo <terry.guo (a] arm.com> 671 672 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Support FPv5. 673 674 2014-11-20 Alan Modra <amodra (a] gmail.com> 675 676 * elf64-ppc.c (group_sections): Init stub14_group_size from 677 --stub-group-size parameter divided by 1024. 678 679 2014-11-20 Alan Modra <amodra (a] gmail.com> 680 681 * elf32-ppc.c (ppc_elf_relax_section): Correct ppc476 workaround 682 alignment calculation. 683 684 2014-11-20 Terry Guo <terry.guo (a] arm.com> 685 686 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Skip if input bfd 687 hasn't attribute section. 688 689 2014-11-20 Alan Modra <amodra (a] gmail.com> 690 691 * elf64-ppc.c (ppc64_elf_size_stubs): Add __go_go to thread_starters. 692 693 2014-11-18 H.J. Lu <hongjiu.lu (a] 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 699 2014-11-18 Nick Clifton <nickc (a] 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 708 2014-11-18 Igor Zamyatin <igor.zamyatin (a] intel.com> 709 710 * elf64-x86-64.c (elf_x86_64_check_relocs): Enable MPX PLT only 711 for -z bndplt. 712 713 2014-11-14 Nick Clifton <nickc (a] 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 720 2014-11-14 Nick Clifton <nickc (a] 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 727 2014-11-13 H.J. Lu <hongjiu.lu (a] intel.com> 728 729 * coffcode.h (coff_slurp_line_table): Add cast to unsigned int. 730 731 2014-11-13 H.J. Lu <hongjiu.lu (a] intel.com> 732 733 * coffcode.h (coff_pointerize_aux_hook): Fix a typo. 734 735 2014-11-13 H.J. Lu <hongjiu.lu (a] 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 742 2014-11-13 Nick Clifton <nickc (a] 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 776 2014-11-12 Nick Clifton <nickc (a] 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 789 2014-11-12 Alan Modra <amodra (a] 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 795 2014-11-11 Nick Clifton <nickc (a] 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 814 2014-11-11 Alan Modra <amodra (a] gmail.com> 815 816 PR binutils/17512 817 * coffcode.h (coff_slurp_line_table): Use updated lineno_count 818 when building func_table. 819 820 2014-11-11 Alan Modra <amodra (a] 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 832 2014-11-11 Alan Modra <amodra (a] 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 837 2014-11-10 James Cowgill <James.Cowgill (a] imgtec.com> 838 839 * elfxx-mips.c (_bfd_mips_elf_section_processing): don't force small 840 data sections to be PROGBITS 841 842 2014-11-10 Nick Clifton <nickc (a] 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 879 2014-11-08 Alan Modra <amodra (a] gmail.com> 880 881 * peXXigen.c (pe_print_idata): Revert last patch, cast lhs instead. 882 883 2014-11-07 H.J. Lu <hongjiu.lu (a] intel.com> 884 885 * peXXigen.c (pe_print_idata): Cast to unsigned long in range 886 checks. 887 888 2014-11-07 H.J. Lu <hongjiu.lu (a] 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 894 2014-11-07 Alan Modra <amodra (a] gmail.com> 895 896 * tekhex.c (tekhex_set_arch_mach): Ignore unknown arch errors. 897 898 2014-11-07 Alan Modra <amodra (a] 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 914 2014-11-07 Alan Modra <amodra (a] gmail.com> 915 916 * aoutx.h (aout_get_external_symbols): Tidy allocation of symbol buffer. 917 918 2014-11-07 Alan Modra <amodra (a] 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 928 2014-11-06 Nick Clifton <nickc (a] 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 937 2014-11-06 Will Newton <will.newton (a] linaro.org> 938 939 * elf-attrs.c (_bfd_elf_parse_attributes): Handle zero 940 length sections and sub-sections. 941 942 2014-11-04 Nick Clifton <nickc (a] 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 950 2014-11-05 James Cowgill <james.cowgill (a] 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 955 2014-11-05 Matthew Fortune <matthew.fortune (a] imgtec.com> 956 957 * elfxx-mips.c (update_mips_abiflags_isa): Add E_MIPS_ARCH_32R6 958 and E_MIPS_ARCH_64R6 support. 959 960 2014-11-05 Nick Clifton <nickc (a] 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 978 2014-11-04 Nick Clifton <nickc (a] 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 988 2014-11-04 Alan Modra <amodra (a] gmail.com> 989 990 * elf32-spu.c (ovl_mgr_stat): New function. 991 (spu_elf_open_builtin_lib): Pass to bfd_openr_iovec. 992 993 2014-11-03 Andrew Burgess <andrew.burgess (a] 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 999 2014-11-03 Andrew Burgess <andrew.burgess (a] embecosm.com> 1000 1001 * elf32-avr.c (elf32_avr_relax_delete_bytes): Modify symbols 1002 located at the very end of the section. 1003 1004 2014-11-03 Nick Clifton <nickc (a] 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 1036 2014-11-03 Nick Clifton <nickc (a] redhat.com> 1037 1038 * po/fi.po: Updated Finnish translation. 1039 1040 2014-10-31 Andrew Pinski <apinski (a] cavium.com> 1041 Naveen H.S <Naveen.Hurugalawadi (a] 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 1055 2014-10-31 Nick Clifton <nickc (a] 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 1064 2014-10-30 Nick Clifton <nickc (a] 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 1070 2014-10-29 Nick Clifton <nickc (a] redhat.com> 1071 1072 * elf.c (bfd_section_from_shdr): Fix heap use after free memory 1073 leak. 1074 1075 2014-10-29 Dennis Brueni <dbrueni (a] slickedit.com> 1076 1077 * elf.c (elfcore_write_lwpstatus): Fix typo in call to memcpy. 1078 1079 2014-10-28 Nick Clifton <nickc (a] 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 1087 2014-10-28 Andreas Schwab <schwab (a] suse.de> 1088 Nick Clifton <nickc (a] 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 1095 2014-10-27 Nick Clifton <nickc (a] 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 1110 2014-10-24 Tejas Belagod <tejas.belagod (a] 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 1139 2014-10-23 Victor Kamensky <victor.kamensky (a] 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 1147 2014-10-22 Matthew Fortune <matthew.fortune (a] 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 1152 2014-10-21 Alan Modra <amodra (a] 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 1157 2014-10-21 Alan Modra <amodra (a] gmail.com> 1158 1159 * elf64-ppc.c (ppc64_elf_size_stubs): Add gcc-4.9 libgomp functions 1160 to thread_starter. 1161 1162 2014-10-18 Alan Modra <amodra (a] 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 1170 2014-10-16 Alan Modra <amodra (a] 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 1186 2014-10-16 Alan Modra <amodra (a] 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 1192 2014-10-15 Alan Modra <amodra (a] 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 1270 2014-10-15 Alan Modra <amodra (a] 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 1315 2014-10-15 Tristan Gingold <gingold (a] adacore.com> 1316 1317 * version.m4: Bump version to 2.25.51 1318 * configure: Regenerate. 1319 1320 2014-10-14 H.J. Lu <hongjiu.lu (a] 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 1326 2014-10-14 Alan Modra <amodra (a] gmail.com> 1327 1328 PR 17453 1329 * libbfd.c (COERCE16, COERCE32, COERCE64): Use unsigned types. 1330 (EIGHT_GAZILLION): Delete. 1331 1332 2014-10-13 Alan Modra <amodra (a] 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 1346 2014-10-09 Jose E. Marchesi <jose.marchesi (a] oracle.com> 1347 1348 * elfxx-sparc.c (_bfd_sparc_elf_merge_private_bfd_data): Handle 1349 the hwcaps2 object attribute. 1350 1351 2014-10-04 Alan Modra <amodra (a] 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 1364 2014-09-29 H.J. Lu <hongjiu.lu (a] 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 1370 2014-09-24 Markus Trippelsdorf <markus (a] 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 1379 2014-09-23 Sterling Augustine <augustine.sterling (a] 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 1386 2014-09-22 Alan Modra <amodra (a] 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 1392 2014-09-22 Andrew Bennett <andrew.bennett (a] imgtec.com> 1393 1394 * elfxx-mips.c (mips_elf_calculate_relocation): Don't sign extend 1395 the addend if relocations are RELA. 1396 1397 2014-09-22 Kuan-Lin Chen <kuanlinchentw (a] gmail.com> 1398 1399 * elf32-nds32.c (nds32_elf_ex9_build_hash_table, 1400 nds32_elf_ex9_relocation_check): Synchronize the argument type. 1401 1402 2014-09-19 Andreas Krebbel <krebbel (a] 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 1409 2014-09-18 Jan Kratochvil <jan.kratochvil (a] redhat.com> 1410 1411 PR gdb/17407 1412 * elfcode.h (bfd_from_remote_memory): Use SIZE for HIGH_OFFSET. 1413 1414 2014-09-16 Terry Guo <terry.guo (a] arm.com> 1415 1416 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Return false if 1417 failed to merge. 1418 1419 2014-09-16 Kuan-Lin Chen <kuanlinchentw (a] 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 1451 2014-09-15 Chen Gang <gang.chen.5i5j (a] 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 1457 2014-09-15 Andrew Bennett <andrew.bennett (a] imgtec.com> 1458 Matthew Fortune <matthew.fortune (a] 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 1510 2014-09-12 Andrew Bennett <andrew.bennett (a] imgtec.com> 1511 1512 * config.bfd: Add mips*-img-elf* target triple. 1513 1514 2014-09-12 Alan Modra <amodra (a] 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 1522 2014-09-10 Alan Modra <amodra (a] 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 1530 2014-08-30 Alan Modra <amodra (a] gmail.com> 1531 1532 * elf32-ppc.c (ppc_elf_relax_section): Fix off by one error. 1533 1534 2014-08-29 Alan Modra <amodra (a] 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 1539 2014-08-29 Alan Modra <amodra (a] gmail.com> 1540 1541 * vms-alpha.c (alpha_vma_object_p): Don't return file_truncated 1542 error. Remove redundant bfd_set_error. 1543 1544 2014-08-29 Alan Modra <amodra (a] 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 1549 2014-08-28 H.J. Lu <hongjiu.lu (a] intel.com> 1550 1551 * srec.c (srec_scan): Return error for 0 size. 1552 1553 2014-08-27 H.J. Lu <hongjiu.lu (a] 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 1560 2014-08-27 H.J. Lu <hongjiu.lu (a] 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 1566 2014-08-26 DJ Delorie <dj (a] redhat.com> 1567 1568 * elf32-rl78.c (rl78_elf_relax_section): Disambiguate test for 1569 relaxation type. 1570 1571 2014-08-26 Jiong Wang <jiong.wang (a] 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 1578 2014-08-26 Nick Clifton <nickc (a] redhat.com> 1579 1580 * config.bfd: Fix typo in or1knd selection. 1581 1582 2014-08-22 Kai Tietz <ktietz (a] redhat.com> 1583 1584 PR binutils/11822 1585 * coffcode.h (coff_compute_section_file_positions): Keep 1586 FileAlignment valid as set. 1587 1588 2014-08-22 Alan Modra <amodra (a] 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 1593 2014-08-22 Alan Modra <amodra (a] 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 1610 2014-08-21 Maciej W. Rozycki <macro (a] codesourcery.com> 1611 1612 * elf64-ppc.h (ppc64_elf_set_toc): Fix indentation. 1613 1614 2014-08-21 Tony Wang <tony.wang (a] 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 1621 2014-08-20 Roland McGrath <mcgrathr (a] 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 1633 2014-08-20 Will Newton <will.newton (a] linaro.org> 1634 1635 * config.bfd: Default armeb-*-eabi* to big endian. 1636 1637 2014-08-19 Alan Modra <amodra (a] gmail.com> 1638 1639 * configure: Regenerate. 1640 1641 2014-08-18 Alan Modra <amodra (a] 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 1647 2014-08-18 Alan Modra <amodra (a] gmail.com> 1648 1649 PR 17287 1650 * elflink.c (on_needed_list): Only consider libraries that have 1651 been loaded. 1652 1653 2014-08-18 Alan Modra <amodra (a] 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 1660 2014-08-14 Alan Modra <amodra (a] gmail.com> 1661 1662 * peXXigen.c (pe_print_reloc): Protect against access past end 1663 of .reloc section. 1664 1665 2014-08-14 Alan Modra <amodra (a] 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 1671 2014-08-14 Alan Modra <amodra (a] gmail.com> 1672 1673 * configure.ac: Delete redundant plugin related checks. 1674 * configure: Regenerate. 1675 1676 2014-08-13 Stefan Kristiansson <stefan.kristiansson (a] 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 1682 2014-08-12 Alan Modra <amodra (a] 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 1692 2014-08-12 Alan Modra <amodra (a] gmail.com> 1693 1694 PR ld/16746 1695 * linker.c (_bfd_generic_link_add_one_symbol <WARN>): Handle 1696 !lto_plugin_active. 1697 1698 2014-08-07 Chen Gang <gang.chen.5i5j (a] gmail.com> 1699 1700 * coff-ppc.c (coff_ppc_relocate_section): Ensure local symbols are 1701 zero terminated. 1702 1703 2014-08-07 H.J. Lu <hongjiu.lu (a] intel.com> 1704 Alan Modra <amodra (a] 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 1710 2014-08-07 Alan Modra <amodra (a] 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 1716 2014-08-05 Doug Evans <dje (a] google.com> 1717 1718 * bfd-in2.h: Regenerate. 1719 * libcoff.h: Regenerate. 1720 1721 2014-08-05 Maciej W. Rozycki <macro (a] codesourcery.com> 1722 1723 * elfxx-mips.c (_bfd_mips_elf_discard_info): Set section's 1724 rawsize if changing size. 1725 1726 2014-08-05 Alan Modra <amodra (a] gmail.com> 1727 1728 PR ld/17226 1729 * elfxx-sparc.c (_bfd_sparc_elf_gc_sweep_hook): Typo fix. 1730 1731 2014-08-05 Alan Modra <amodra (a] 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 1738 2014-08-05 Alan Modra <amodra (a] 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 1768 2014-08-01 Takashi Yoshii <yoshii.takashi (a] renesas.com> 1769 1770 PR 10373 1771 * elf32-sh.c (sh_elf_relax_section): Add jmp to bra relaxing. 1772 1773 2014-07-29 Matthew Fortune <matthew.fortune (a] 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 1805 2014-07-28 Alan Modra <amodra (a] 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 1813 2014-07-27 Anthony Green <green (a] moxielogic.org> 1814 1815 * config.bfd: Add moxie-*-moxiebox*. 1816 1817 2014-07-21 Joel Sherrill <joel.sherrill (a] oarcorp.com> 1818 1819 Add or reactivate or1k-*-rtems* 1820 * config.bfd (or1k-*-rtems*): Reactivate. 1821 1822 2014-07-16 H.J. Lu <hongjiu.lu (a] 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 1829 2014-07-16 H.J. Lu <hongjiu.lu (a] 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 1838 2014-07-15 H.J. Lu <hongjiu.lu (a] 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 1844 2014-07-15 Alan Modra <amodra (a] gmail.com> 1845 1846 * cache.c (cache_bread_1): Don't return -1 when fread returns 1847 a positive value. 1848 1849 2014-07-15 Alan Modra <amodra (a] 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 1856 2014-07-11 Maks Naumov <maksqwe1 (a] ukr.net> 1857 1858 PR 17141 1859 * elf.c (_bfd_elf_strtab_add): Check strtab name for failure. 1860 1861 2014-07-08 Nick Clifton <nickc (a] 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 1867 2014-07-08 Will Newton <will.newton (a] linaro.org> 1868 1869 * elf32-arm.c (ELF_MAXPAGESIZE): Increase the default 1870 value to 64kB and remove custom setting for NaCl. 1871 1872 2014-07-08 Alan Modra <amodra (a] 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 1881 2014-07-08 Jiong Wang <jiong.wang (a] 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 1887 2014-07-07 Barney Stratford <barney_stratford (a] 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 1894 2014-07-04 Alan Modra <amodra (a] 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 1905 2014-07-04 Alan Modra <amodra (a] gmail.com> 1906 1907 * configure.ac: Rename from configure.in. 1908 * Makefile.in: Regenerate. 1909 * config.in: Regenerate. 1910 * doc/Makefile.in: Regenerate. 1911 1912 2014-07-04 Alan Modra <amodra (a] gmail.com> 1913 1914 * Makefile.am (CONFIG_STATUS_DEPENDENCIES): Remove configure.in. 1915 * Makefile.in: Regenerate. 1916 1917 2014-07-04 Alan Modra <amodra (a] 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 1927 2014-07-02 Alan Modra <amodra (a] 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 1933 2014-07-02 Alan Modra <amodra (a] 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 1938 2014-07-01 Alan Modra <amodra (a] 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 1946 2014-07-01 Alan Modra <amodra (a] 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 1954 2014-07-01 Alan Modra <amodra (a] 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 1963 2014-07-01 Barney Stratford <barney_stratford (a] fastmail.fm> 1964 Senthil Kumar Selvaraj <senthil_kumar.selvaraj (a] atmel.com> 1965 Pitchumani Sivanupandi <pitchumani.s (a] atmel.com> 1966 Soundararajan <Sounderarajan.D (a] 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 1981 2014-06-26 Nick Clifton <nickc (a] 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 1988 2014-06-24 Alan Modra <amodra (a] 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 1994 2014-06-21 Philippe De Muyter <phdm (a] macqel.be> 1995 1996 * targets.c (_bfd_target_vector): Add missing #ifdef BFD64 for 1997 a number of targets. 1998 1999 2014-06-20 Kyle McMartin <kyle (a] 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 2004 2014-06-16 Will Newton <will.newton (a] 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 2012 2014-06-16 Alan Modra <amodra (a] gmail.com> 2013 2014 * elf32-vax.c (elf_vax_size_dynamic_sections): Clear linker 2015 created sections. 2016 2017 2014-06-13 Omair Javaid <omair.javaid (a] 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 2027 2014-06-13 Alan Modra <amodra (a] 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 2065 2014-06-13 Alan Modra <amodra (a] 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 2087 2014-06-13 Alan Modra <amodra (a] 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 2096 2014-06-13 Alan Modra <amodra (a] 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 2114 2014-06-11 Alan Modra <amodra (a] gmail.com> 2115 2116 * linker.c (unwrap_hash_lookup): Add missing parens. 2117 2118 2014-06-11 Kai Tietz <ktietz (a] redhat.com> 2119 2120 * libcoff-in.h (coff_tdata): Make relocbase member unsigned. 2121 * libcoff.h: Regenerated. 2122 2123 2014-06-10 Alan Modra <amodra (a] 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 2136 2014-06-07 Alan Modra <amodra (a] 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 2142 2014-06-05 Joel Brobecker <brobecker (a] 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 2151 2014-06-04 Will Newton <will.newton (a] 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 2157 2014-06-03 DJ Delorie <dj (a] redhat.com> 2158 2159 * elf32-rx.c (rx_table_map): Use BFD_VMA_FMT for portability. 2160 2161 2014-06-03 Nick Clifton <nickc (a] redhat.com> 2162 2163 PR ld/16807 2164 * peXXigen.c (rsrc_process_section): Page align the new contents 2165 befgore writing out. 2166 2167 2014-06-03 Alan Modra <amodra (a] 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 2173 2014-05-28 Alan Modra <amodra (a] gmail.com> 2174 2175 * elf32-rx.c (rx_table_map): Delete set but not used variables. 2176 2177 2014-05-28 Tristan Gingold <gingold (a] 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 2184 2014-05-27 DJ Delorie <dj (a] 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 2200 2014-05-20 DJ Delorie <dj (a] redhat.com> 2201 2202 * elf32-msp430.c (msp430_elf_relax_adjust_locals): Avoid overflow. 2203 2204 2014-05-20 Alan Modra <amodra (a] 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 2224 2014-05-16 Ryan Mansfield <rmansfield (a] qnx.com> 2225 2226 * config.bfd: Move QNX target_cflags from arm-*-netbsd* to arm-*-nto*. 2227 2228 2014-05-16 Jon Turney <jon.turney (a] 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 2239 2014-05-16 Kaushik Phata <Kaushik.Phatak (a] 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 2245 2014-05-08 Hans-Peter Nilsson <hp (a] bitrange.com> 2246 2247 * mmo.c: Update URLs in documentation comments. 2248 2249 2014-05-02 Volodymyr Arbatov <arbatov (a] cadence.com> 2250 David Weatherford <weath (a] cadence.com> 2251 Max Filippov <jcmvbkbc (a] gmail.com> 2252 2253 * elf32-xtensa.c (relax_section): treat R_XTENSA_DIFF* relocations as 2254 signed. 2255 2256 2014-05-07 Andreas Tobler <andreast (a] fgznet.ch> 2257 2258 * config.bfd: Add proper arm config for *-*-freebsd*. 2259 2260 2014-05-07 Andrew Bennett <andrew.bennett (a] 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 2269 2014-05-06 Richard Sandiford <rdsandiford (a] 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 2276 2014-05-02 Alan Modra <amodra (a] gmail.com> 2277 2278 * targets.c: Sort bfd_target vectors somewhat alphabetically. 2279 * configure.in: Likewise. 2280 * configure: Regenerate. 2281 2282 2014-05-02 Alan Modra <amodra (a] 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 2335 2014-05-01 Hans-Peter Nilsson <hp (a] 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 2349 2014-04-30 Nick Clifton <nickc (a] 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 2355 2014-04-30 Alan Modra <amodra (a] 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 2361 2014-04-29 Christian Svensson <blue (a] 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 2366 2014-04-28 Nick Clifton <nickc (a] redhat.com> 2367 2368 PR ld/16821 2369 * peXXigen.c (_bfd_XXi_swap_sym_out): Rework fix to avoid compile 2370 time warning. 2371 2372 2014-04-26 Alan Modra <amodra (a] gmail.com> 2373 2374 * po/SRC-POTFILES.in: Regenerate. 2375 * configure: Regenerate. 2376 2377 2014-04-25 Nick Clifton <nickc (a] 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 2383 2014-04-24 Nick Clifton <nickc (a] redhat.com> 2384 2385 * peXXigen.c (rsrc_print_section): Fix compile time warning for 2386 32-bit hosts. 2387 2388 2014-04-24 Alan Modra <amodra (a] 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 2412 2014-04-24 Nick Clifton <nickc (a] 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 2428 2014-04-23 Alan Modra <amodra (a] 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 2441 2014-04-22 Nick Clifton <nickc (a] redhat.com> 2442 2443 PR ld/16821 2444 * peXXigen.c (_bfd_XXi_swap_sym_out): Fix for 32-bit hosts. 2445 2446 2014-04-22 Christian Svensson <blue (a] 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 2467 2014-04-22 Yuanhui Zhang <asmwarrior (a] gmail.com> 2468 2469 PR ld/16821 2470 * peXXigen.c (abs_finder): Fix for 32-bit host builds. 2471 2472 2014-04-22 Will Newton <will.newton (a] linaro.org> 2473 2474 * elfnn-aarch64.c (elfNN_aarch64_section_flags): Remove 2475 function. (elf_backend_section_flags): Remove define. 2476 2477 2014-04-21 Richard Henderson <rth (a] 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 2491 2014-04-18 Tristan Gingold <gingold (a] 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 2535 2014-04-18 Tristan Gingold <gingold (a] 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 2542 2014-04-18 Tristan Gingold <gingold (a] 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 2550 2014-04-18 Tristan Gingold <gingold (a] 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 2560 2014-04-18 Tristan Gingold <gingold (a] 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 2578 2014-04-17 Kwok Cheung Yeung <kcy (a] 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 2595 2014-04-17 Alan Modra <amodra (a] 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 2602 2014-04-16 Tristan Gingold <gingold (a] adacore.com> 2603 2604 * mach-o-x86-64.c (bfd_mach_o_x86_64_mkobject): Adjust cpusubtype 2605 flag. 2606 2607 2014-04-16 Alan Modra <amodra (a] gmail.com> 2608 2609 * elf32-ppc.c (ppc_elf_relocate_section): Fill 476 fixup area 2610 with "ba 0" rather than zeros. 2611 2612 2014-04-15 Marcus Shawcroft <marcus.shawcroft (a] arm.com> 2613 2614 * (elfNN_aarch64_tls_relax): Fix instruction mask. 2615 2616 2014-04-14 Alan Modra <amodra (a] 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 2626 2014-04-11 Nick Clifton <nickc (a] 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 2634 2014-04-11 Nick Clifton <nickc (a] redhat.com> 2635 2636 * bfd-in2.h: Regenerate. 2637 * libbfd.h: Regenerate. 2638 2639 2014-04-10 Cesar Philippidis <cesar (a] codesourcery.com> 2640 2641 * elf32-nios2.c (nios2_elf32_build_stubs): Ignore dynobjs 2642 when building function stubs. 2643 2644 2014-04-10 Senthil Kumar Selvaraj <senthil_kumar.selvaraj (a] 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 2656 2014-04-09 Alan Modra <amodra (a] gmail.com> 2657 2658 * libcoff.h: Regenerate. 2659 2660 2014-04-09 Alan Modra <amodra (a] 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 2666 2014-04-08 Jon Turney <jon.turney (a] 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 2681 2014-04-05 Alan Modra <amodra (a] gmail.com> 2682 2683 * elflink.c (_bfd_elf_add_default_symbol): Pass poldbfd when 2684 merging non-default sym. 2685 2686 2014-04-04 Tristan Gingold <gingold (a] adacore.com> 2687 2688 * mach-o.c (bfd_mach_o_header_p): Reject 64 bit target when not 2689 configured for. 2690 2691 2014-04-04 Tristan Gingold <gingold (a] adacore.com> 2692 2693 * mach-o.c (bfd_mach_o_convert_section_name_to_mach_o): Fix 2694 thinko on names length. 2695 2696 2014-04-04 Tristan Gingold <gingold (a] 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 2702 2014-04-04 Tristan Gingold <gingold (a] adacore.com> 2703 2704 * bfd.c (bfd_get_arch_size): Default is taken from arch. 2705 2706 2014-04-03 Jon Turney <jon.turney (a] 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 2714 2014-04-03 Maria Guseva <m.guseva (a] samsung.com> 2715 2716 PR ld/16803 2717 * elf.c (_bfd_elf_set_section_contents): Use correct type to hold 2718 file position. 2719 2720 2014-04-03 Tristan Gingold <gingold (a] 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 2728 2014-04-03 Alan Modra <amodra (a] 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 2740 2014-04-02 Tristan Gingold <gingold (a] 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 2754 2014-04-02 Alan Modra <amodra (a] 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 2772 2014-04-01 Tristan Gingold <gingold (a] adacore.com> 2773 2774 * mach-o.c (bfd_mach_o_canonicalize_one_reloc): Avoid to crash 2775 when num == 0. 2776 2777 2014-03-27 Yury Gribov <y.gribov (a] samsung.com> 2778 Pavel Fedin <p.fedin (a] 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 2787 2014-03-27 Tristan Gingold <gingold (a] 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 2792 2014-03-27 Tristan Gingold <gingold (a] 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 2801 2014-03-26 Nick Clifton <nickc (a] redhat.com> 2802 2803 * cofflink.c (_bfd_coff_generic_relocate_section): Skip 2804 relocations in discarded sections. 2805 2806 2014-03-26 Tristan Gingold <gingold (a] adacore.com> 2807 2808 * mach-o.c (bfd_mach_o_convert_architecture): Add 2809 BFD_MACH_O_CPU_TYPE_ARM64. 2810 2811 2014-03-26 Alan Modra <amodra (a] 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 2823 2014-03-25 Will Newton <will.newton (a] 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 2829 2014-03-20 Will Newton <will.newton (a] 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 2838 2014-03-19 Nick Clifton <nickc (a] 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 2844 2014-03-17 Tristan Gingold <gingold (a] adacore.com> 2845 2846 * mach-o.c (bfd_mach_o_read_dylib): Handle lazy load dylib. 2847 (bfd_mach_o_read_command): Ditto. 2848 2849 2014-03-14 Meador Inge <meadori (a] 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 2856 2014-03-14 Alan Modra <amodra (a] gmail.com> 2857 2858 * elf32-ppc.c (ppc_elf_relocate_section): Correct overflow 2859 handling for VLE_SDA21 relocs. 2860 2861 2014-03-13 Tristan Gingold <gingold (a] 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 2894 2014-03-12 Nick Clifton <nickc (a] 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 2900 2014-03-12 Alan Modra <amodra (a] gmail.com> 2901 2902 * Makefile.in: Regenerate. 2903 2904 2014-03-12 Alan Modra <amodra (a] gmail.com> 2905 2906 PR 16690 2907 * elf.c (copy_elf_program_header): Ignore first section lma if 2908 non-alloc. 2909 2910 2014-03-11 Alan Modra <amodra (a] gmail.com> 2911 2912 PR 16686 2913 * coff-rs6000.c: Include stdint.h. 2914 * coff64-rs6000.c: Likewise. 2915 2916 2014-03-10 Tristan Gingold <gingold (a] adacore.com> 2917 2918 * ticoff.h: Removed. 2919 2920 2014-03-08 Alan Modra <amodra (a] 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 2932 2014-03-08 Alan Modra <amodra (a] 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 2942 2014-03-07 Pedro Alves <palves (a] 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 2948 2014-03-06 Nick Clifton <nickc (a] redhat.com> 2949 2950 PR 16664 2951 * elf-attrs.c (_bfd_elf_parse_attributes): Add checks for corrupt 2952 attribute section names. 2953 2954 2014-03-05 Alan Modra <amodra (a] gmail.com> 2955 2956 Update copyright years. 2957 2958 2014-03-05 Alan Modra <amodra (a] 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 2968 2014-03-04 Heiher <r (a] 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 2975 2014-03-04 Nick Clifton <nickc (a] 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 2993 2014-02-28 Alan Modra <amodra (a] 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 2999 2014-02-27 Yuri Gribov <y.gribov (a] 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 3009 2014-02-27 Alan Modra <amodra (a] 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 3014 2014-02-20 Chung-Lin Tang <cltang (a] codesourcery.com> 3015 3016 * elf32-nios2.c (nios2_elf32_relocate_section): Fix calculation 3017 of GOTOFF relocations. 3018 3019 2014-02-19 Igor Zamyatin <igor.zamyatin (a] intel.com> 3020 H.J. Lu <hongjiu.lu (a] 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 3047 2014-02-19 Alan Modra <amodra (a] 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 3053 2014-02-18 Jack Carter <jack.carter (a] imgtec.com> 3054 3055 * elfxx-mips.c(_bfd_mips_elf_modify_segment_map): Deleted hard coding of 3056 PT_DYNAMIC segment flags. 3057 3058 2014-02-17 Jan Kratochvil <jan.kratochvil (a] 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 3066 2014-02-17 Alan Modra <amodra (a] 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 3080 2014-02-17 Alan Modra <amodra (a] 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 3086 2014-02-12 Alan Modra <amodra (a] 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 3092 2014-02-12 Alan Modra <amodra (a] 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 3099 2014-02-12 Alan Modra <amodra (a] 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 3107 2014-02-10 H.J. Lu <hongjiu.lu (a] 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 3113 2014-02-10 Alan Modra <amodra (a] gmail.com> 3114 3115 * po/SRC-POTFILES.in: Regenerate. 3116 * po/bfd.pot: Regenerate. 3117 3118 2014-02-09 Alan Modra <amodra (a] 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 3132 2014-02-07 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 3133 3134 PR build/16550 3135 * cache.c (bfd_cache_max_open): Cast RLIM_INFINITY to rlim_t. 3136 3137 2014-02-04 Jan Kratochvil <jan.kratochvil (a] 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 3146 2014-02-03 Sandra Loosemore <sandra (a] 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 3160 2014-02-03 Alan Modra <amodra (a] 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 3186 2014-02-02 Sandra Loosemore <sandra (a] 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 3196 2014-01-30 Sandra Loosemore <sandra (a] 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 3242 2014-01-29 Nick Clifton <nickc (a] 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 3251 2014-01-29 Nick Clifton <nickc (a] 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 3263 2014-01-28 Nick Clifton <nickc (a] 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 3269 2014-01-24 Alan Modra <amodra (a] gmail.com> 3270 3271 * elf64-ppc.c (ppc_build_one_stub): Correct reloc count passed 3272 to get_relocs for ELFv2. 3273 3274 2014-01-23 H.J. Lu <hongjiu.lu (a] 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 3280 2014-01-22 Alan Modra <amodra (a] gmail.com> 3281 3282 * elflink.c (elf_link_add_object_symbols): Call minfo for --as-needed. 3283 3284 2014-01-22 Alan Modra <amodra (a] gmail.com> 3285 3286 * elf64-ppc.c (STK_LINKER): Comment typo fix. 3287 3288 2014-01-21 H.J. Lu <hongjiu.lu (a] 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 3296 2014-01-21 H.J. Lu <hongjiu.lu (a] 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 3303 2014-01-16 Alan Modra <amodra (a] 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 3310 2014-01-15 H.J. Lu <hongjiu.lu (a] 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 3316 2014-01-14 H.J. Lu <hongjiu.lu (a] 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 3323 2014-01-14 H.J. Lu <hongjiu.lu (a] 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 3329 2014-01-14 H.J. Lu <hongjiu.lu (a] 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 3336 2014-01-14 Michael Hudson-Doyle <michael.hudson (a] linaro.org> 3337 Kugan Vivekanandarajah <kugan.vivekanandarajah (a] 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 3344 2014-01-13 Ma Jiang <ma.jiang (a] 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 3350 2014-01-13 Alan Modra <amodra (a] 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 3359 2014-01-10 Alan Modra <amodra (a] 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 3369 2014-01-09 Tristan Gingold <gingold (a] 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 3374 2014-01-08 H.J. Lu <hongjiu.lu (a] 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 3384 2014-01-07 Tom Tromey <tromey (a] redhat.com> 3385 3386 * elf32-xtensa.c (vsprint_msg): Don't use old VA_* compatibility 3387 wrappers. 3388 3389 2014-01-03 Nick Clifton <nickc (a] redhat.com> 3390 3391 PR binutils/16199 3392 * elf.c (vma_page_aligned_bias): Handle a maxpagesize value of 3393 zero. 3394 3395 2014-01-02 Yuanhui Zhang <asmwarrior (a] gmail.com> 3396 3397 PR binutils/14289 3398 * pef.c (bfd_pef_xlib_read_header): Increase buffer size to 80. 3399 3400 2014-01-02 Nick Clifton <nickc (a] 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 3417 For older changes see ChangeLog-2013 3418 3420 Copyright (C) 2014 Free Software Foundation, Inc. 3421 3422 Copying and distribution of this file, with or without modification, 3423 are permitted in any medium without royalty provided the copyright 3424 notice and this notice are preserved. 3425 3426 Local Variables: 3427 mode: change-log 3428 left-margin: 8 3429 fill-column: 74 3430 version-control: never 3431 End: 3432