1 2015-07-23 Joseph Myers <joseph (a] codesourcery.com> 2 3 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections) 4 <DT_MIPS_RLD_MAP_REL>: Add target address to host address 5 difference, not to host pointer. 6 7 2015-06-26 Matthew Fortune <matthew.fortune (a] imgtec.com> 8 9 * elfxx-mips.c (_bfd_mips_elf_create_dynamic_sections): Use executable 10 instead of !shared to indicate an application vs shared library. 11 (_bfd_mips_elf_size_dynamic_sections): Likewise. 12 (_bfd_mips_elf_finish_dynamic_sections): Handle DT_MIPS_RLD_MAP_REL. 13 (_bfd_mips_elf_get_target_dtag): Likewise. 14 15 2014-12-25 Thomas Preud'homme <thomas.preudhomme (a] arm.com> 16 17 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Handle new 18 Tag_ABI_VFP_args value and replace hardcoded values by enum values. 19 (elf32_arm_post_process_headers): Set e_flags in ELF header as hard 20 float only when Tag_ABI_VFP_args is 1, using new enum value 21 AEABI_VFP_args_vfp to check that. 22 23 2015-04-01 Tejas Belagod <tejas.belagod (a] arm.com> 24 Marcus Shawcroft <marcus.shawcroft (a] arm.com> 25 Jiong Wang <jiong.wang (a] arm.com> 26 27 * bfd-in.h (bfd_elf64_aarch64_set_options) 28 (bfd_elf32_aarch64_set_options): Add parameter. 29 * bfd-in2.h: Regenerated. 30 * elfnn-aarch64.c (aarch64_erratum_843419_stub) 31 (_bfd_aarch64_adrp_p, _bfd_aarch64_erratum_843419_sequence_p) 32 (_bfd_aarch64_erratum_843419_stub_name) 33 (_bfd_aarch64_erratum_843419_fixup) 34 (_bfd_aarch64_erratum_843419_scan) 35 (_bfd_aarch64_erratum_843419_branch_to_stub) 36 (_bfd_aarch64_erratum_843419_p): Define. 37 (enum elf_aarch64_stub_type): Define 38 aarch64_stub_erratum_843419_veneer. 39 (struct elf_aarch64_stub_hash_entry): Define adrp_offset. 40 (struct elf_aarch64_link_hash_table): Define fix_erratum_843419 41 and fix_erratum_843419_adr. 42 (stub_hash_newfunc): Initialize adrp_offset; 43 (_bfd_aarch64_add_stub_entry_after): Define. 44 (aarch64_map_one_stub, aarch64_build_one_stub) 45 (aarch64_size_one_stub): Handle 46 aarch64_stub_erratum_843419_veneer. 47 (_bfd_aarch64_resize_stubs): Round stub section size. 48 (elfNN_aarch64_size_stubs): Add scan for 843419. 49 (bfd_elfNN_aarch64_set_options): Add parameter. Initialize 50 fix_erratum_843419 and fix_erratum_843419_adr. 51 (struct erratum_835769_branch_to_stub_data): Add info. 52 (elfNN_aarch64_write_section): Initialise info. Handle 843419. 53 (elfNN_aarch64_size_dynamic_sections): Handle 843419. 54 * elfxx-aarch64.c (_bfd_aarch64_decode_adrp_imm) 55 (_bfd_aarch64_sign_extend): Define. 56 (reencode_adr_imm): Remove static. Rename to: 57 (_bfd_aarch64_reencode_adr_imm): Define. 58 (_bfd_aarch64_elf_put_addend): Call _bfd_aarch64_reencode_adr_imm. 59 * elfxx-aarch64.h (AARCH64_ADR_OP, AARCH64_ADRP_OP) 60 (AARCH64_ADRP_OP_MASK, _bfd_aarch64_sign_extend) 61 (_bfd_aarch64_decode_adrp_imm, _bfd_aarch64_reencode_adr_imm): 62 Define. 63 64 2015-03-25 Marcus Shawcroft <marcus.shawcroft (a] arm.com> 65 66 * elfnn-aarch64.c (_bfd_aarch64_resize_stubs): Adjust stub section 67 size for initial branch. 68 (elfNN_aarch64_build_stubs): Write initial branch. 69 _bfd_aarch64_decode_(elfNN_aarch64_output_arch_local_syms): Write 70 mapping symbol on initial branch. 71 72 2015-03-25 Marcus Shawcroft <marcus.shawcroft (a] arm.com> 73 74 * elfnn-aarch64.c (_bfd_aarch64_erratum_835769_scan): 75 Update erratum count. 76 77 2015-03-24 Marcus Shawcroft <marcus.shawcroft (a] arm.com> 78 79 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Factor 80 code into: 81 (_bfd_aarch64_get_stub_for_link_section): Define. 82 83 2015-03-24 Marcus Shawcroft <marcus.shawcroft (a] arm.com> 84 85 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Adjust 86 update of section_group[].stub_sec. 87 88 2015-03-24 Marcus Shawcroft <marcus.shawcroft (a] arm.com> 89 90 * elfnn-aarch64.c (struct aarch64_erratum_835769_fix) Remove. 91 (erratum_835769_scan) Drop fix_table_size_p and fixes_p arguments. 92 Delete fixes, fix_table_size and associated code. Call 93 _bfd_aarch64_add_stub_entry_in_group. Rename to... 94 (bfd_aarch64_erratum_835769_scan): Define. 95 (elfNN_aarch64_size_stubs): Delete erratum_835769_fixes, 96 erratum_835769_fix_table_size, i and associated code. Relocate 97 call to _bfd_aarch64_erratum_835769_scan. Delete adhoc stub size 98 correction. Delete construction of stub entry from 99 erratum_835769_fixes array. 100 101 2015-03-24 Marcus Shawcroft <marcus.shawcroft (a] arm.com> 102 103 * elfnn-aarch64.c (elfNN_aarch64_size_stubs): Use 104 _bfd_aarch64_add_stub_entry_in_group. 105 106 2015-03-23 Keith Seitz <keiths (a] redhat.com> 107 108 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Add 109 missing ';'. 110 111 2015-03-23 Marcus Shawcroft <marcus.shawcroft (a] arm.com> 112 113 * elfnn-aarch64.c (elfNN_aarch64_size_stubs): Factor out 114 stub resize code into... 115 (bfd_aarch64_resize_stubs): Define. 116 117 2015-03-23 Marcus Shawcroft <marcus.shawcroft (a] arm.com> 118 119 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Factor stub 120 creation code into... 121 (bfd_aarch64_create_stub_section): Define. 122 123 2015-03-23 Marcus Shawcroft <marcus.shawcroft (a] arm.com> 124 125 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Rename 126 from elf_aarch64_create_or_find_stub_sec. 127 (_bfd_aarch64_add_stub_entry_in_group): Rename from 128 elfNN_aarch64_add_stub. Call 129 _bfd_aarch64_create_or_find_stub_sec. 130 (elfNN_aarch64_size_stubs, elfNN_aarch64_size_stubs): Call 131 _bfd_aarch64_add_stub_entry_in_group. 132 133 2015-03-23 Marcus Shawcroft <marcus.shawcroft (a] arm.com> 134 135 * elfnn-aarch64.c (erratum_835769_scan) Add comment. Reverse 136 sense of boolean return. 137 (elfNN_aarch64_size_stubs): Adjust for above. 138 139 2015-03-23 Marcus Shawcroft <marcus.shawcroft (a] arm.com> 140 141 * elfnn-aarch64.c (elf_aarch64_create_or_find_stub_sec): 142 Remove unused parameter. 143 (elfNN_aarch64_size_stubs): Adjust for above. 144 145 2015-03-23 Marcus Shawcroft <marcus.shawcroft (a] arm.com> 146 147 * elfnn-aarch64.c (elfNN_aarch64_size_stubs): Remove bfd_indx. 148 149 2015-03-23 Marcus Shawcroft <marcus.shawcroft (a] arm.com> 150 151 * elfnn-aarch64.c (aarch64_erratum_835769_fixes) 152 (num_aarch64_erratum_835769_fixes): Remove. 153 (elfNN_aarch64_size_stubs): Remove assignments to above. 154 155 2015-03-04 Marcus Shawcroft <marcus.shawcroft (a] arm.com> 156 157 * elfxx-aarch64.c (decode_add_imm, decode_movw_imm) 158 (decode_tst_branch_ofs_14, decode_ld_lit_ofs_19) 159 (decode_cond_branch_ofs_19, decode_branch_ofs_26): Remove. 160 161 2014-11-14 Nick Clifton <nickc (a] redhat.com> 162 163 PR binutils/17597 164 * opncls.c (bfd_get_debug_link_info): Avoid reading off the end of 165 the section. 166 (bfd_get_alt_debug_link_info): Likewise. 167 168 2014-11-14 Nick Clifton <nickc (a] redhat.com> 169 170 PR binutils/17512 171 * ieee.c (ieee_archive_p) Skip processing if no bytes are read at 172 all. 173 (ieee_object_p): Likewise. 174 175 2014-11-13 H.J. Lu <hongjiu.lu (a] intel.com> 176 177 * coffcode.h (coff_slurp_line_table): Add cast to unsigned int. 178 179 2014-11-13 H.J. Lu <hongjiu.lu (a] intel.com> 180 181 * coffcode.h (coff_pointerize_aux_hook): Fix a typo. 182 183 2014-11-13 H.J. Lu <hongjiu.lu (a] intel.com> 184 185 PR gas/17598 186 * elf64-x86-64.c (elf_x86_64_check_relocs): Treat 187 R_X86_64_GOTPLT64 the same as R_X86_64_GOT64. 188 (elf_x86_64_relocate_section): Likewise. 189 190 2014-11-13 Nick Clifton <nickc (a] redhat.com> 191 192 PR binutils/17512 193 * coffcode.h (coff_ptr_struct): Add is_sym field. 194 (coff_new_section_hook): Set the is_sym field. 195 (coff_pointerize_aux_hook): Check the is_sym field. 196 (coff_print_aux): Likewise. 197 (coff_compute_section_file_positions): Likewise. 198 (coff_write_object_contents): Likewise. 199 (coff_slurp_line_table): Likewise. 200 (coff_slurp_symbol_table): Likewise. 201 (CALC_ADDEND): Likewise. 202 * coffgen.c (coff_renumber_symbols): Likewise. 203 (coff_mangle_symbols): Likewise. 204 (coff_fix_symbol_name): Likewise. 205 (coff_write_symbol): Likewise. 206 (coff_write_alien_symbol): Likewise. 207 (coff_write_native_symbol): Likewise. 208 (coff_write_symbols): Likewise. 209 (coff_write_linenumbers): Likewise. 210 (coff_pointerize_aux): Likewise. 211 (coff_get_normalized_symtab): Likewise. 212 (coff_get_symbol_info): Likewise. 213 (bfd_coff_get_syment): Likewise. 214 (bfd_coff_get_auxent): Likewise. 215 (coff_print_symbol): Likewise. 216 (coff_find_nearest_line_with_names): Likewise. 217 (bfd_coff_set_symbol_class): Likewise. 218 (coff_make_empty_symbol): Set the is_sym field. 219 (coff_bfd_make_debug_symbol): Likewise. 220 * peicode.h (pe_ILF_make_a_symbol): Likewise. 221 * libcoff.h: Regenerate. 222 * libcoff-in.h: Regenerate. 223 224 2014-11-12 Nick Clifton <nickc (a] redhat.com> 225 226 PR binutils/17512 227 * coffcode.h (coff_slurp_line_table): Set the line number of 228 corrupt entries to -1. 229 (coff_slurp_symbol_table): Alway initialise the value of the 230 symbol. 231 * coffgen.c (coff_print_symbol): Check that the combined pointer 232 is valid. 233 (coff_print_symbol): Do not print negative line numbers. 234 * peXXigen.c (pe_print_idata): Add range checking displaying 235 member names. 236 237 2014-11-12 Alan Modra <amodra (a] gmail.com> 238 239 PR binutils/17512 240 * coffcode.h (coff_slurp_line_table): Drop line number info 241 not preceded by a valid function entry. Revert last change. 242 243 2014-11-11 Nick Clifton <nickc (a] redhat.com> 244 245 PR binutils/17512 246 * coffcode.h (coff_slurp_line_table): Initialise the parts of the 247 line number cache that would not be initialised by the copy from 248 the new line number table. 249 (coff_classify_symbol): Allow for _bfd_coff_internal_syment_name 250 returning NULL. 251 * coffgen.c (coff_get_normalized_symbols): Get the external 252 symbols before allocating space for the internal symbols, in case 253 the get fails. 254 * elf.c (_bfd_elf_slurp_version_tables): Only allocate a verref 255 array if one is needed. Likewise with the verdef array. 256 * peXXigen.c (_bfd_XXi_swap_sym_in): Replace abort()'s with error 257 messages. 258 (_bfd_XXi_swap_aux_in): Make sure that all fields of the aux 259 structure are initialised. 260 (pe_print_edata): Avoid reading off the end of the data buffer. 261 262 2014-11-11 Alan Modra <amodra (a] gmail.com> 263 264 PR binutils/17512 265 * coffcode.h (coff_slurp_line_table): Use updated lineno_count 266 when building func_table. 267 268 2014-11-11 Alan Modra <amodra (a] gmail.com> 269 270 PR binutils/17512 271 * coffcode.h (coff_slurp_line_table): Don't bfd_zalloc, just 272 memset the particular bits we need. Update src after hitting loop 273 "continue". Don't count lineno omitted due to invalid symbols in 274 nbr_func, and update lineno_count. Init entire terminating 275 lineno. Don't both allocating terminator in n_lineno_cache. 276 Redirect sym->lineno pointer to where n_lineno_cache will be 277 copied, and free n_lineno_cache. 278 * pe-mips.c (NUM_HOWTOS): Typo fix. 279 280 2014-11-11 Alan Modra <amodra (a] gmail.com> 281 282 * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Adjust section 283 size check to account for possible zero terminator. 284 285 2014-11-10 James Cowgill <James.Cowgill (a] imgtec.com> 286 287 * elfxx-mips.c (_bfd_mips_elf_section_processing): don't force small 288 data sections to be PROGBITS 289 290 2014-11-10 Nick Clifton <nickc (a] redhat.com> 291 292 PR binutils/17521 293 * coff-i386.c (NUM_HOWTOS): New define. 294 (RTYPE2HOWTO): Use it. 295 (coff_i386_rtype_to_howto): Likewise. 296 (coff_i386_reloc_name_lookup): Likewise. 297 (CALC_ADDEND): Check that reloc r_type field is valid. 298 * coff-x86_64.c (NUM_HOWTOS): New define. 299 (RTYPE2HOWTO): Use it. 300 (coff_amd64_rtype_to_howto): Likewise. 301 (coff_amd64_reloc_name_lookup): Likewise. 302 (CALC_ADDEND): Check that reloc r_type field is valid. 303 * coffcode.h (coff_slurp_line_table): Check for symbol table 304 indexing underflow. 305 (coff_slurp_symbol_table): Use zalloc to ensure that all table 306 entries are initialised. 307 * coffgen.c (_bfd_coff_read_string_table): Initialise unused bits 308 in the string table. Also ensure that the table is 0 terminated. 309 (coff_get_normalized_symtab): Check for symbol table indexing 310 underflow. 311 * opncls.c (bfd_alloc): Catch the case where a small negative size 312 can result in only 1 byte being allocated. 313 (bfd_alloc2): Use bfd_alloc. 314 * pe-mips.c (NUM_HOWTOS): New define. 315 (coff_mips_reloc_name_lookup): Use it. 316 (CALC_ADDEND): Check that reloc r_type field is valid. 317 * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Initialise unused entries 318 in the DataDirectory. 319 (pe_print_idata): Avoid reading beyond the end of the data block 320 wen printing strings. 321 (pe_print_edata): Likewise. 322 Check for table indexing underflow. 323 * peicode.h (pe_mkobject): Initialise the pe_opthdr field. 324 (pe_bfd_object_p): Allocate and initialize enough space to hold a 325 PEAOUTHDR, even if the opt_hdr field specified less. 326 327 2014-11-08 Alan Modra <amodra (a] gmail.com> 328 329 * peXXigen.c (pe_print_idata): Revert last patch, cast lhs instead. 330 331 2014-11-07 H.J. Lu <hongjiu.lu (a] intel.com> 332 333 * peXXigen.c (pe_print_idata): Cast to unsigned long in range 334 checks. 335 336 2014-11-07 H.J. Lu <hongjiu.lu (a] intel.com> 337 338 PR ld/17482 339 * elf64-x86-64.c (elf_x86_64_relocate_section): Update comments 340 for IE->LE transition. 341 342 2014-11-07 Alan Modra <amodra (a] gmail.com> 343 344 * tekhex.c (tekhex_set_arch_mach): Ignore unknown arch errors. 345 346 2014-11-07 Alan Modra <amodra (a] gmail.com> 347 348 * tekhex.c (CHUNK_SPAN): Define. 349 (struct data_struct <chunk_init>): Use one byte per span, update 350 all code accessing this field. 351 (find_chunk): Add create param, don't create new entry unless set. 352 (insert_byte): Don't save zeros. 353 (first_phase): Set section SEC_CODE or SEC_DATA flag depending 354 on symbol type. Create an alternate section if both types of 355 symbol are given. Attach type '2' and '6' symbols to absolute 356 section. 357 (move_section_contents): Fix caching of chunk. Don't create chunk 358 when reading, or for writing zeros. 359 (tekhex_set_section_contents): Don't create initial chunks. 360 (tekhex_write_object_contents): Use CHUNK_SPAN. 361 362 2014-11-07 Alan Modra <amodra (a] gmail.com> 363 364 * aoutx.h (aout_get_external_symbols): Tidy allocation of symbol buffer. 365 366 2014-11-07 Alan Modra <amodra (a] gmail.com> 367 368 * archive.c (_bfd_slurp_extended_name_table): Revert bfd_get_size check. 369 * coffcode.h (coff_set_alignment_hook): Likewise. 370 (coff_slurp_line_table): Likewise. 371 * coffgen.c (coff_get_normalized_symtab): Likewise. 372 (_bfd_coff_get_external_symbols): Likewise. 373 * elf.c (bfd_elf_get_str_section): Likewise. 374 * tekhex.c (first_phase): Likewise. 375 376 2014-11-06 Nick Clifton <nickc (a] redhat.com> 377 378 * aoutx.h (slurp_symbol_table): Revert previous delta. 379 (slurp_reloc_table): Likewise. 380 * compress.c (bfd_get_full_section_contents): Remove file size 381 test. 382 * coffgen.c (coff_get_normalized_symtab): Allow zero-sized symtabs 383 and do not complain about linker generated files. 384 385 2014-11-06 Will Newton <will.newton (a] linaro.org> 386 387 * elf-attrs.c (_bfd_elf_parse_attributes): Handle zero 388 length sections and sub-sections. 389 390 2014-11-04 Nick Clifton <nickc (a] redhat.com> 391 392 PR binutils/17512 393 * coffcode.h (handle_COMDAT): Replace abort with BFD_ASSERT. 394 Replace another abort with an error message. 395 (coff_slurp_line_table): Add more range checking. 396 * peXXigen.c (pe_print_debugdata): Add range checking. 397 398 2014-11-05 James Cowgill <james.cowgill (a] imgtec.com> 399 400 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Fix segfault 401 when creating a dso with discarded dynsym section. 402 403 2014-11-05 Matthew Fortune <matthew.fortune (a] imgtec.com> 404 405 * elfxx-mips.c (update_mips_abiflags_isa): Add E_MIPS_ARCH_32R6 406 and E_MIPS_ARCH_64R6 support. 407 408 2014-11-05 Nick Clifton <nickc (a] redhat.com> 409 410 PR binutils/17512 411 * coffcode.h (coff_set_alignment_hook): Warn if the file lies 412 about the number of relocations it contains. 413 (coff_sort_func_alent): Return 0 if the pointers are NULL. 414 (coff_slurp_line_table): Add more range checks. Do not free new 415 tables created when sorting line numbers. 416 * peXXigen.c (pe_print_idata): Add range checks. 417 (pe_print_edata): Likewise. 418 (rsrc_print_resource_entries): Likewise. Avoid printing control 419 characters. Terminate priniting if corruption is detected. 420 (rsrc_print_resource_directory): Terminate printing if an unknown 421 directory type is encountered. 422 (pe_print_debugdata): Fix off-by-one error. 423 (rsrc_count_entries): Add range checking. 424 (rsrc_parse_entry): Likewise. 425 426 2014-11-04 Nick Clifton <nickc (a] redhat.com> 427 428 PR binutils/17512 429 * compress.c (bfd_get_full_section_contents): Improve test for 430 linker created objects. 431 432 PR binutils/17533 433 * archive.c (_bfd_slurp_extended_name_table): Handle archives with 434 corrupt extended name tables. 435 436 2014-11-04 Alan Modra <amodra (a] gmail.com> 437 438 * elf32-spu.c (ovl_mgr_stat): New function. 439 (spu_elf_open_builtin_lib): Pass to bfd_openr_iovec. 440 441 2014-11-03 Andrew Burgess <andrew.burgess (a] embecosm.com> 442 443 * elf32-avr.c (elf32_avr_relax_delete_bytes): During linker 444 relaxation, reduce the size of symbols that span the deleted 445 bytes. 446 447 2014-11-03 Andrew Burgess <andrew.burgess (a] embecosm.com> 448 449 * elf32-avr.c (elf32_avr_relax_delete_bytes): Modify symbols 450 located at the very end of the section. 451 452 2014-11-03 Nick Clifton <nickc (a] redhat.com> 453 454 PR binutils/17512 455 * aoutx.h (slurp_symbol_table): Check that computed table size is 456 not bigger than the file from which is it being read. 457 (slurp_reloc_table): Likewise. 458 * coffcode.h (coff_slurp_line_table): Remove unneeded local 459 'warned'. Do not try to print the details of a symbol with an 460 invalid index. 461 * coffgen.c (make_a_sectiobn_from_file): Check computed string 462 index against length of string table. 463 (bfd_coff_internal_syment_name): Check read in string offset 464 against length of string table. 465 (build_debug_section): Return a pointer to the section used. 466 (_bfd_coff_read_string_table): Store the length of the string 467 table in the coff_tdata structure. 468 (bfd_coff_free_symbols): Set the length of the string table to 469 zero when it is freed. 470 (coff_get_normalized_symtab): Check offsets against string table 471 or data table lengths as appropriate. 472 * cofflink.c (_bfd_coff_link_input_bfd): Check offset against 473 length of string table. 474 * compress.c (bfd_get_full_section_contents): Check computed size 475 against the size of the file. 476 * libcoff-in.h (obj_coff_strings_len): Define. 477 (struct coff_tdata): Add strings_len field. 478 * libcoff.h: Regenerate. 479 * peXXigen.c (pe_print_debugdata): Do not attempt to print the 480 data if the debug section is too small. 481 * xcofflink.c (xcoff_link_input_bfd): Check offset against 482 length of string table. 483 484 2014-11-03 Nick Clifton <nickc (a] redhat.com> 485 486 * po/fi.po: Updated Finnish translation. 487 488 2014-10-31 Andrew Pinski <apinski (a] cavium.com> 489 Naveen H.S <Naveen.Hurugalawadi (a] caviumnetworks.com> 490 491 * archures.c: Add octeon3 for mips target. 492 * bfd-in2.h: Regenerate. 493 * bfd/cpu-mips.c: Define I_mipsocteon3. 494 nfo_struct): Add octeon3 support. 495 * bfd/elfxx-mips.c: (_bfd_elf_mips_mach): Add support for 496 octeon3. 497 (mips_set_isa_flags): Add support for octeon3. 498 (bfd_mips_isa_ext): Add bfd_mach_mips_octeon3. 499 (mips_mach_extensions): Make bfd_mach_mips_octeon3 an 500 extension of bfd_mach_mips_octeon2. 501 (print_mips_isa_ext): Print the value of Octeon3. 502 503 2014-10-31 Nick Clifton <nickc (a] redhat.com> 504 505 PR binutils/17512 506 * coffgen.c (_bfd_coff_get_external_symbols): Do not try to load a 507 symbol table bigger than the file. 508 * elf.c (bfd_elf_get_str_section): Do not try to load a string 509 table bigger than the file. 510 * tekhex.c (first_phase): Check that the section range is sane. 511 512 2014-10-30 Nick Clifton <nickc (a] redhat.com> 513 514 PR binutils/17512 515 * ihex.c (ihex_scan): Fix typo in invocation of ihex_bad_byte. 516 * coffgen.c (coff_get_normalized_symtab): Prevent buffer overrun. 517 518 2014-10-29 Nick Clifton <nickc (a] redhat.com> 519 520 * elf.c (bfd_section_from_shdr): Fix heap use after free memory 521 leak. 522 523 2014-10-29 Dennis Brueni <dbrueni (a] slickedit.com> 524 525 * elf.c (elfcore_write_lwpstatus): Fix typo in call to memcpy. 526 527 2014-10-28 Nick Clifton <nickc (a] redhat.com> 528 529 PR binutils/17512 530 * elf.c (bfd_section_from_shdr): Allocate and free the recursion 531 detection table on a per-bfd basis. 532 * peXXigen.c (pe_print_edata): Handle binaries with a truncated 533 export table. 534 535 2014-10-28 Andreas Schwab <schwab (a] suse.de> 536 Nick Clifton <nickc (a] redhat.com> 537 538 PR binutils/17510 539 * srec.c (srec_bad_byte): Increase size of buf to allow for 540 negative values. 541 (srec_scan): Use an unsigned char buffer to hold header bytes. 542 543 2014-10-27 Nick Clifton <nickc (a] redhat.com> 544 545 PR binutils/17512 546 * elf.c (bfd_section_from_shdr): Detect and warn about ELF 547 binaries with a group of sections linked by the string table 548 indicies. 549 * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Handle corrupt binaries 550 with an invalid value for NumberOfRvaAndSizes. 551 (pe_print_edata): Detect out of range rvas and entry counts for 552 the Export Address table, Name Pointer table and Ordinal table. 553 554 PR binutils/17510 555 * elf.c (setup_group): Improve handling of corrupt group 556 sections. 557 558 2014-10-24 Tejas Belagod <tejas.belagod (a] arm.com> 559 560 * bfd-in.h (bfd_elf64_aarch64_set_options): Add a parameter. 561 * bfd-in2.h (bfd_elf64_aarch64_set_options): Likewise. 562 * elfnn-aarch64.c (aarch64_erratum_835769_stub): New. 563 (elf_aarch64_stub_type): Add new type 564 aarch64_stub_erratum_835769_veneer. 565 (elf_aarch64_stub_hash_entry): New fields for erratum 835769. 566 (aarch64_erratum_835769_fix): New data struct to record erratum 567 835769. 568 (elf_aarch64_link_hash_table: Global flags for 835769. 569 (aarch64_build_one_stub): Add case for 835769. 570 (aarch64_size_one_stub): Likewise. 571 (aarch64_mem_op_p, aarch64_mlxl_p, 572 aarch64_erratum_sequence,erratum_835769_scan): 573 New. Decode and scan functions for erratum 835769. 574 (elf_aarch64_create_or_find_stub_sec): New. 575 (elfNN_aarch64_size_stubs): Look for erratum 835769 and record 576 them. 577 (bfd_elfNN_aarch64_set_options: Set global flag for 835769. 578 (erratum_835769_branch_to_stub_data, 579 make_branch_to_erratum_835769_stub):New. Connect up all the 580 erratum stubs to occurances by branches. 581 (elfNN_aarch64_write_section): New hook. 582 (aarch64_map_one_stub): Output erratum stub symbol. 583 (elfNN_aarch64_size_dynamic_sections): Init mapping symbol 584 information for erratum 835769. 585 (elf_backend_write_section): Define. 586 587 2014-10-23 Victor Kamensky <victor.kamensky (a] linaro.org> 588 589 * elf32-arm.c (read_code32): New function to read 32 bit 590 arm instruction. 591 (read_code16): New function to read 16 bit thumb instrution. 592 (elf32_arm_plt0_size, elf32_arm_plt_size): Use read_code32 593 and read_code16 to read instructions. 594 595 2014-10-22 Matthew Fortune <matthew.fortune (a] imgtec.com> 596 597 * elfxx-mips.c (print_mips_ases): Print unknown ASEs. 598 (print_mips_isa_ext): Print the value of an unknown extension. 599 600 2014-10-21 Alan Modra <amodra (a] gmail.com> 601 602 * elf64-ppc.c (ppc64_elf_tls_optimize): Ignore relocs against toc 603 entries that aren't a multiple of 8 rather than failing assertion. 604 605 2014-10-21 Alan Modra <amodra (a] gmail.com> 606 607 * elf64-ppc.c (ppc64_elf_size_stubs): Add gcc-4.9 libgomp functions 608 to thread_starter. 609 610 2014-10-18 Alan Modra <amodra (a] gmail.com> 611 612 * elf64-ppc.c (ppc64_elf_add_symbol_hook): If function code 613 section for function symbols defined in .opd is discarded, let 614 the symbol appear to be undefined. 615 (opd_entry_value): Ensure the result section is that for the 616 function code section in the same object as the OPD entry. 617 618 2014-10-16 Alan Modra <amodra (a] gmail.com> 619 620 PR 17492 621 * elf32-arm.c (elf32_arm_add_symbol_hook): Only set has_gnu_symbols 622 on ELF output bfd. 623 * elf32-i386.c (elf_i386_add_symbol_hook): Likewise. 624 * elf32-m68k.c (elf_m68k_add_symbol_hook): Likewise. 625 * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise. 626 * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise. 627 * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise. 628 * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise. 629 * elf64-x86-64.c (elf_x86_64_add_symbol_hook): Likewise. 630 * elfxx-aarch64.c (_bfd_aarch64_elf_add_symbol_hook): Likewise. 631 * elf-s390-common.c (elf_s390_add_symbol_hook): Likewise. Handle 632 STB_GNU_UNIQUE too. 633 634 2014-10-16 Alan Modra <amodra (a] gmail.com> 635 636 * elf64-ppc.c (ppc64_elf_before_check_relocs): Do .opd processing 637 even when output is not ppc64 ELF. Remove redundant tests on 638 type of input bfd. 639 640 2014-10-15 Alan Modra <amodra (a] gmail.com> 641 642 PR 17481 643 * aoutx.h (NAME (aout, find_nearest_line)): Add "discriminator_ptr" 644 param, group "section" and "offset" params. Zero discriminator. 645 * bfd.c (bfd_find_nearest_line): Implement with new 646 _bfd_find_nearest_line. 647 (bfd_find_nearest_line_discriminator): Likewise. 648 * coff-i386.c (_bfd_generic_find_nearest_line_discriminator): Don't 649 define. 650 * coff-rs6000.c (xcoff_find_nearest_line, 651 xcoff_find_nearest_line_discriminator): Delete. 652 (_bfd_xcoff_find_nearest_line): Don't define. 653 (_bfd_xcoff_find_nearest_line): Define as coff_find_nearest_line. 654 * coff-x86_64.c (_bfd_generic_find_nearest_line_discriminator): Don't 655 define. 656 * coff64-rs6000.c (rs6000_xcoff64_vec, rs6000_xcoff64_aix_vec): Adjust. 657 * coffgen.c (coff_find_nearest_line_with_names): Reorder params, 658 adjust _bfd_dwarf2_find_nearest_line call. 659 (coff_find_nearest_line): Add "discriminator_ptr" param, reorder 660 others. Set discriminator. Adjust call. 661 (coff_find_nearest_line_discriminator): Delete. 662 * dwarf1.c (_bfd_dwarf1_find_nearest_line): Reorder params. 663 * dwarf2.c (find_line): Rename to.. 664 (_bfd_dwarf2_find_nearest_line): ..this, reordering params. 665 Simplify setting of do_line. Delete old function. 666 (_bfd_dwarf2_find_line): Delete. 667 * ecoff.c (_bfd_ecoff_find_nearest_line): Reorder params, add 668 discriminator_ptr and set it. 669 * elf-bfd.h (_bfd_elf_find_nearest_line): Update prototype. 670 (_bfd_elf_find_nearest_line_discriminator): Delete. 671 (_bfd_elf_find_line_discriminator): Delete. 672 (_bfd_generic_find_nearest_line_discriminator): Don't define. 673 * elf.c (elf_find_function): Reorder params. 674 (_bfd_elf_find_nearest_line): Reorder params, add discriminator_ptr. 675 Adjust calls. 676 (_bfd_elf_find_nearest_line_discriminator): Delete. 677 (_bfd_elf_find_line): Adjust call. 678 * elf32-arm.c (arm_elf_find_function): Reorder params. 679 (elf32_arm_find_nearest_line): Reorder params, add discriminator_ptr. 680 Adjust calls. 681 * elf64-alpha.c (elf64_alpha_find_nearest_line): Similarly. 682 * elfnn-aarch64.c (aarch64_elf_find_function): Reorder params. 683 (elfNN_aarch64_find_nearest_line): Reorder params, add 684 discriminator_ptr. Adjust calls. 685 * elfxx-mips.c (_bfd_mips_elf_find_nearest_line): Similarly. 686 * elfxx-mips.h (_bfd_mips_elf_find_nearest_line): Update prototype. 687 * libaout.h (NAME (aout, find_nearest_line)): Update prototype. 688 * libbfd-in.h (_bfd_nosymbols_find_nearest_line): Update. 689 (_bfd_dwarf1_find_nearest_line): Likewise. 690 (_bfd_dwarf2_find_nearest_line): Likewise. 691 (_bfd_dwarf2_find_line): Delete. 692 (_bfd_generic_find_nearest_line_discriminator): Delete. 693 * libbfd.c (_bfd_generic_find_nearest_line_discriminator): Delete. 694 * libcoff-in.h (coff_find_nearest_line): Update prototype. 695 (coff_find_nearest_line_discriminator): Delete. 696 (coff_find_nearest_line_with_names): Update prototype. 697 * libecoff.h (_bfd_ecoff_find_nearest_line): Update prototype. 698 * mach-o.c (bfd_mach_o_find_nearest_line): Reorder params, add 699 discriminator_ptr. Adjust calls. 700 * mach-o.h (bfd_mach_o_find_nearest_line): Update prototype. 701 * pdp11.c (NAME (aout, find_nearest_line)): Reorder params, add 702 discriminator_ptr and set. 703 * som.c (som_find_nearest_line): Similarly. 704 * targets.c (BFD_JUMP_TABLE_SYMBOLS): Delete entry for 705 _bfd_find_nearest_line_discriminator. 706 (struct bfd_target <_bfd_find_nearest_line>): Adjust prototype. 707 (struct bfd_target <_bfd_find_nearest_line_discriminator>): Delete. 708 * vms-alpha.c (_bfd_vms_find_nearest_dst_line): Rename to.. 709 (_bfd_vms_find_nearest_line): ..this. Reorder params, add 710 "discriminator" and set. 711 (_bfd_vms_find_nearest_line_discriminator): Delete. 712 (_bfd_generic_find_nearest_line_discriminator): Don't define. 713 (alpha_vms_find_nearest_line): Update define. 714 * bfd-in2.h: Regenerate. 715 * libbfd.h: Regenerate. 716 * libcoff.h: Regenerate. 717 718 2014-10-15 Alan Modra <amodra (a] gmail.com> 719 720 * targets.c (BFD_JUMP_TABLE_SYMBOLS): Use NAME##_find_line. 721 * aout-adobe.c (aout_32_find_line): Define. 722 (aout_32_bfd_make_debug_symbol, aout_32_bfd_reloc_type_lookup, 723 aout_32_bfd_reloc_name_lookup): Define using _bfd_nosymbols define. 724 * aout-target.h (MY_find_line): Define. 725 * aout-tic30.c (MY_find_line): Define. 726 * binary.c (binary_find_line): Define. 727 * bout.c (aout_32_find_line): Define. 728 * coff-rs6000.c (_bfd_xcoff_find_line): Define. 729 * coff64-rs6000.c (rs6000_xcoff64_vec): Use coff_find_line. 730 (rs6000_xcoff64_aix_vec): Likewise. 731 * elf-bfd.h (_bfd_generic_find_line): Don't define. 732 * elfxx-target.h (bfd_elfNN_find_line): Define. 733 * i386msdos.c (msdos_find_line): Define. 734 * i386os9k.c (aout_32_find_line): Define. 735 * ieee.c (ieee_find_nearest_line, ieee_find_inliner_info): Delete func. 736 (ieee_find_nearest_line, ieee_find_line, 737 ieee_find_inliner_info): Define. 738 * ihex.c (ihex_find_line): Define. 739 * libbfd-in.h (_bfd_nosymbols_find_line): Define. 740 (_bfd_generic_find_line): Don't define. 741 * libbfd.c (_bfd_generic_find_line): Delete. 742 * libcoff-in.h (coff_find_line): Define. 743 * libecoff.h (_bfd_ecoff_find_line): Define. 744 * mach-o.h (bfd_mach_o_find_line): Define. 745 * mmo.c (mmo_find_line): Define. 746 * nlm-target.h (nlm_find_line): Define. 747 * oasys.c (oasys_find_nearest_line, oasys_find_inliner_info): Delete. 748 (oasys_find_nearest_line, oasys_find_line, 749 oasys_find_inliner_info): Define. 750 * pef.c (bfd_pef_find_line): Define. 751 * plugin.c (bfd_plugin_find_line): Define. 752 * ppcboot.c (ppcboot_find_line): Define. 753 * som.c (som_find_line): Define. 754 * srec.c (srec_find_line): Define. 755 * tekhex.c (tekhex_find_line): Define. 756 * versados.c (versados_find_line): Define. 757 * vms-alpha.c (alpha_vms_find_line): Define. 758 * xsym.c (bfd_sym_find_line): Define. 759 * bfd-in2.h: Regenerate. 760 * libbfd.h: Regenerate. 761 * libcoff.h: Regenerate. 762 763 2014-10-15 Tristan Gingold <gingold (a] adacore.com> 764 765 * version.m4: Bump version to 2.25.51 766 * configure: Regenerate. 767 768 2014-10-14 H.J. Lu <hongjiu.lu (a] intel.com> 769 770 * elf32-i386.c (elf_i386_convert_mov_to_lea): Skip if relocation 771 offset is less than 2. 772 * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise. 773 774 2014-10-14 Alan Modra <amodra (a] gmail.com> 775 776 PR 17453 777 * libbfd.c (COERCE16, COERCE32, COERCE64): Use unsigned types. 778 (EIGHT_GAZILLION): Delete. 779 780 2014-10-13 Alan Modra <amodra (a] gmail.com> 781 782 PR 17467 783 * elf-eh-frame.c (ENSURE_NO_RELOCS): Don't stop at first NONE reloc. 784 (_bfd_elf_parse_eh_frame): When relocatable output, don't set 785 flags enabling conversion of CIEs and FDEs to use relative encoding. 786 (find_merged_cie): Similarly. 787 (_bfd_elf_write_section_eh_frame): Don't edit FDEs when 788 relocatable, except for CIE pointer. 789 * elflink.c (bfd_elf_reloc_symbol_deleted_p): Return true for 790 relocs against symbols in dropped comdat group sections. 791 (bfd_elf_discard_info): Do some eh_frame optimisation when 792 relocatable. 793 794 2014-10-09 Jose E. Marchesi <jose.marchesi (a] oracle.com> 795 796 * elfxx-sparc.c (_bfd_sparc_elf_merge_private_bfd_data): Handle 797 the hwcaps2 object attribute. 798 799 2014-10-04 Alan Modra <amodra (a] gmail.com> 800 801 PR 17447 802 * elf-bfd.h (struct eh_cie_fde): Comment re NULL u.fde.cie_inf. 803 * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Mark zero address 804 range FDEs for discarding. 805 (vma_compare): Sort on range after address. 806 (_bfd_elf_gc_mark_fdes): Test for NULL u.fde.cie_inf. 807 (_bfd_elf_discard_section_eh_frame): Likewise. Write "FDE" in 808 error message rather than "fde". 809 (_bfd_elf_write_section_eh_frame_hdr): Write "PC" and "FDE" in 810 error message. 811 812 2014-09-29 H.J. Lu <hongjiu.lu (a] intel.com> 813 814 PR ld/17440 815 * elf32-i386.c (elf_i386_fbsd_post_process_headers): Fix build 816 for OLD_FREEBSD_ABI_LABEL. 817 818 2014-09-24 Markus Trippelsdorf <markus (a] trippelsdorf.de> 819 820 PR 17422 821 * plugin.c (try_claim): New function. Moved from 822 bfd_plugin_object_p. 823 (try_load_plugin): Pass through bfd. Add test. 824 (load_plugin): Pass through bfd. 825 (bfd_plugin_object_p): Move logic to try_claim. 826 827 2014-09-23 Sterling Augustine <augustine.sterling (a] gmail.com> 828 829 * elf32-xtensa.c (is_resolvable_asm_expansion): for cross-section 830 call relaxation use furthermost addresses where call source and 831 destination can be to check whether it's in the range of a direct 832 call. 833 834 2014-09-22 Alan Modra <amodra (a] gmail.com> 835 836 * elf-eh-frame.c (_bfd_elf_write_section_eh_frame_hdr): Don't return 837 false for overflow or overlapping FDEs. Give more detail in 838 error messages. 839 840 2014-09-22 Andrew Bennett <andrew.bennett (a] imgtec.com> 841 842 * elfxx-mips.c (mips_elf_calculate_relocation): Don't sign extend 843 the addend if relocations are RELA. 844 845 2014-09-22 Kuan-Lin Chen <kuanlinchentw (a] gmail.com> 846 847 * elf32-nds32.c (nds32_elf_ex9_build_hash_table, 848 nds32_elf_ex9_relocation_check): Synchronize the argument type. 849 850 2014-09-19 Andreas Krebbel <krebbel (a] linux.vnet.ibm.com> 851 852 * elf32-s390.c: Don't replace R_390_TLS_LE32 with R_390_TLS_TPOFF 853 for PIE. 854 * elf64-s390.c: Don't replace R_390_TLS_LE64 with R_390_TLS_TPOFF 855 for PIE. 856 857 2014-09-18 Jan Kratochvil <jan.kratochvil (a] redhat.com> 858 859 PR gdb/17407 860 * elfcode.h (bfd_from_remote_memory): Use SIZE for HIGH_OFFSET. 861 862 2014-09-16 Terry Guo <terry.guo (a] arm.com> 863 864 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Return false if 865 failed to merge. 866 867 2014-09-16 Kuan-Lin Chen <kuanlinchentw (a] gmail.com> 868 869 * bfd-in2.h: Regenerate. 870 * elf32-nds32.c (nds32_elf_mkobject): Hook bfd_elf32_mkobject. 871 (nds32_elf_relax_section): Code refactoring. 872 (nds32_elf_relax_longcall1, nds32_elf_relax_longcall2, 873 nds32_elf_relax_longcall3, nds32_elf_relax_longcall4, 874 nds32_elf_relax_longcall5, nds32_elf_relax_longcall6): Relax call 875 pattern. The first three is moved from nds32_elf_relax_section, 876 and the last three is new function. 877 (nds32_elf_relax_longjump1, nds32_elf_relax_longjump2, 878 nds32_elf_relax_longjump3, nds32_elf_relax_longjump4, 879 nds32_elf_relax_longjump5, nds32_elf_relax_longjump6, 880 nds32_elf_relax_longjump7): Relax condition branch pattern. The first 881 three is moved from nds32_elf_relax_section, and the last four 882 is new function. 883 (nds32_elf_relax_loadstore, nds32_elf_relax_lo12): Relax load-store 884 pattern and address setting pattern. 885 (nds32_elf_relax_piclo12, nds32_elf_relax_ptr, 886 nds32_elf_relax_pltgot_suff, nds32_elf_relax_got_suff, 887 nds32_elf_relax_gotoff_suff): Relax pic pattern. 888 (nds32_elf_relax_letlslo12, nds32_elf_relax_letlsadd, 889 nds32_elf_relax_letlsls): Relax TLS pattern. 890 (nds32_relax_adjust_label): Adjust alignment and nop. 891 (nds32_elf_pick_relax): Choose relaxation optimization. 892 (nds32_elf_get_relocated_section_contents): New hook. 893 (nds32_elf_order_insn_times, nds32_elf_ex9_build_itable): Release ex9 894 table 234th entry. 895 * elf32-nds32.h: Declare. 896 * libbfd.h: Regenerate. 897 * reloc.c: Add nds32 new relocations. 898 899 2014-09-15 Chen Gang <gang.chen.5i5j (a] gmail.com> 900 901 * dwarf2.c (find_abstract_instance_name): Use 'form' instead of 902 'name' for the typo issue, which related with commit 903 60d77146a249ae9b51d7ce98930cdbedb2cfa352. 904 905 2014-09-15 Andrew Bennett <andrew.bennett (a] imgtec.com> 906 Matthew Fortune <matthew.fortune (a] imgtec.com> 907 908 * aoutx.h (NAME (aout, machine_type)): Add mips32r6 and mips64r6. 909 * archures.c (bfd_architecture): Likewise. 910 * bfd-in2.h (bfd_architecture): Likewise. 911 (bfd_reloc_code_real): Add relocs BFD_RELOC_MIPS_21_PCREL_S2, 912 BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3 and 913 BFD_RELOC_MIPS_19_PCREL_S2. 914 * cpu-mips.c (arch_info_struct): Add mips32r6 and mips64r6. 915 * elf32-mips.c: Define relocs R_MIPS_PC21_S2, R_MIPS_PC26_S2 916 R_MIPS_PC18_S3, R_MIPS_PC19_S2, R_MIPS_PCHI16 and R_MIPS_PCLO16. 917 (mips_reloc_map): Add entries for BFD_RELOC_MIPS_21_PCREL_S2, 918 BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3, 919 BFD_RELOC_MIPS_19_PCREL_S2, BFD_RELOC_HI16_S_PCREL and 920 BFD_RELOC_LO16_PCREL. 921 * elf64-mips.c: Define REL, and RELA relocations R_MIPS_PC21_S2, 922 R_MIPS_PC26_S2, R_MIPS_PC18_S3, R_MIPS_PC19_S2, R_MIPS_PCHI16 923 and R_MIPS_PCLO16. 924 (mips_reloc_map): Add entries for BFD_RELOC_MIPS_21_PCREL_S2, 925 BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3, 926 BFD_RELOC_MIPS_19_PCREL_S2, BFD_RELOC_HI16_S_PCREL and 927 BFD_RELOC_LO16_PCREL. 928 * elfn32-mips.c: Likewise. 929 * elfxx-mips.c (MIPSR6_P): New define. 930 (mipsr6_exec_plt_entry): New array. 931 (hi16_reloc_p): Add support for R_MIPS_PCHI16. 932 (lo16_reloc_p): Add support for R_MIPS_PCLO16. 933 (aligned_pcrel_reloc_p): New function. 934 (mips_elf_relocation_needs_la25_stub): Add support for relocs: 935 R_MIPS_PC21_S2 and R_MIPS_PC26_S2. 936 (mips_elf_calculate_relocation): Add support for relocs: 937 R_MIPS_PC21_S2, R_MIPS_PC26_S2, R_MIPS_PC18_S3, R_MIPS_PC19_S2, 938 R_MIPS_PCHI16 and R_MIPS_PCLO16. 939 (_bfd_elf_mips_mach): Add support for mips32r6 and mips64r6. 940 (mips_elf_add_lo16_rel_addend): Add support for R_MIPS_PCHI16. 941 (_bfd_mips_elf_check_relocs): Add support for relocs: 942 R_MIPS_PC21_S2 and R_MIPS_PC26_S2. 943 (_bfd_mips_elf_relocate_section): Add a check for unaligned 944 pc relative relocs. 945 (_bfd_mips_elf_finish_dynamic_symbol): Add support for MIPS r6 946 plt entry. 947 (mips_set_isa_flags): Add support for mips32r6 and mips64r6. 948 (_bfd_mips_elf_print_private_bfd_data): Likewise. 949 (mips_32bit_flags_p): Add support for mips32r6. 950 * libbfd.h (bfd_reloc_code_real_names): Add entries for 951 BFD_RELOC_MIPS_21_PCREL_S2, BFD_RELOC_MIPS_26_PCREL_S2, 952 BFD_RELOC_MIPS_18_PCREL_S3 and BFD_RELOC_MIPS_19_PCREL_S2. 953 * reloc.c: Document relocs BFD_RELOC_MIPS_21_PCREL_S2, 954 BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3 and 955 BFD_RELOC_MIPS_19_PCREL_S2. 956 * config.bfd: Add mips*-img-elf* target triple. 957 958 2014-09-12 Andrew Bennett <andrew.bennett (a] imgtec.com> 959 960 * config.bfd: Add mips*-img-elf* target triple. 961 962 2014-09-12 Alan Modra <amodra (a] gmail.com> 963 964 * elf-bfd.h (struct eh_frame_array_ent): Add "range". 965 * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Stash address 966 range of FDEs to hdr_info->array. 967 (_bfd_elf_write_section_eh_frame_hdr): Report overflow in 968 .eh_frame_hdr entries, and overlapping FDEs. 969 970 2014-09-10 Alan Modra <amodra (a] gmail.com> 971 972 * elf.c (assign_file_positions_except_relocs): Move section header 973 placement to.. 974 (_bfd_elf_assign_file_positions_for_relocs): ..here. Make static. 975 * elf-bfd.h (_bfd_elf_assign_file_positions_for_relocs): Delete. 976 * elflink.c (bfd_elf_final_link): Don't call above function. 977 978 2014-08-30 Alan Modra <amodra (a] gmail.com> 979 980 * elf32-ppc.c (ppc_elf_relax_section): Fix off by one error. 981 982 2014-08-29 Alan Modra <amodra (a] gmail.com> 983 984 * elf64-ppc.c (ppc64_elf_relocate_section): Report a different 985 error for calls via a toc adjusting stub without a nop. 986 987 2014-08-29 Alan Modra <amodra (a] gmail.com> 988 989 * vms-alpha.c (alpha_vma_object_p): Don't return file_truncated 990 error. Remove redundant bfd_set_error. 991 992 2014-08-29 Alan Modra <amodra (a] gmail.com> 993 994 * srec.c (srec_scan): Revert last change. Report an error for 995 S-records with less than the miniumum byte count. 996 997 2014-08-28 H.J. Lu <hongjiu.lu (a] intel.com> 998 999 * srec.c (srec_scan): Return error for 0 size. 1000 1001 2014-08-27 H.J. Lu <hongjiu.lu (a] intel.com> 1002 1003 PR ld/17306 1004 * elf32-i386.c (elf_i386_convert_mov_to_lea): Use bfd_is_abs_section 1005 to check discarded input section. 1006 * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise. 1007 1008 2014-08-27 H.J. Lu <hongjiu.lu (a] intel.com> 1009 1010 PR ld/17313 1011 * elflink.c (elf_link_add_object_symbols): Don't attach dynamic 1012 sections to input from ld --just-symbols. 1013 1014 2014-08-26 DJ Delorie <dj (a] redhat.com> 1015 1016 * elf32-rl78.c (rl78_elf_relax_section): Disambiguate test for 1017 relaxation type. 1018 1019 2014-08-26 Jiong Wang <jiong.wang (a] arm.com> 1020 1021 * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Initialize non_got_ref 1022 properly for MOVW_G0/1/2_NC and MOVW_G3. Reject them when linking 1023 shared library. 1024 (elfNN_aarch64_gc_sweep_hook): Add check on these relocs. 1025 1026 2014-08-26 Nick Clifton <nickc (a] redhat.com> 1027 1028 * config.bfd: Fix typo in or1knd selection. 1029 1030 2014-08-22 Kai Tietz <ktietz (a] redhat.com> 1031 1032 PR binutils/11822 1033 * coffcode.h (coff_compute_section_file_positions): Keep 1034 FileAlignment valid as set. 1035 1036 2014-08-22 Alan Modra <amodra (a] gmail.com> 1037 1038 * elf-eh-frame.c (struct cie): Delete "output_sec" field. 1039 (cie_eq, cie_compute_hash): Use output_section from cie_inf instead. 1040 1041 2014-08-22 Alan Modra <amodra (a] gmail.com> 1042 1043 * elf-bfd.h (struct eh_frame_hdr_info): Delete merge_cies and 1044 parsed_eh_frames. 1045 (_bfd_elf_begin_eh_frame_parsing): Delete. 1046 (_bfd_elf_end_eh_frame_parsing): Delete. 1047 * elf-eh-frame.c (_bfd_elf_begin_eh_frame_parsing): Delete. 1048 (_bfd_elf_end_eh_frame_parsing): Delete. 1049 (_bfd_elf_parse_eh_frame): Don't test parsed_eh_frame. Test 1050 !info->relocatable in place of merge_cies. 1051 * elflink.c (bfd_elf_gc_sections, bfd_elf_discard_info): Adjust. 1052 * elf64-ppc.c (glink_eh_frame_cie): Pad to multiple of 8. 1053 (ppc64_elf_size_stubs): Likewise pad stub FDE. 1054 (ppc64_elf_build_stubs): Move code setting glink .eh_frame to.. 1055 (ppc64_elf_size_stubs): ..here and.. 1056 (ppc64_elf_finish_dynamic_sections): ..here. 1057 1058 2014-08-21 Maciej W. Rozycki <macro (a] codesourcery.com> 1059 1060 * elf64-ppc.h (ppc64_elf_set_toc): Fix indentation. 1061 1062 2014-08-21 Tony Wang <tony.wang (a] arm.com> 1063 1064 * elf32-arm.c (elf32_arm_final_link_relocate): Implement 1065 the veneer routine for R_ARM_THM_JUMP19. 1066 (arm_type_of_stub): Add conditional clause for R_ARM_THM_JUMP19 1067 (elf32_arm_size_stub): Ditto. 1068 1069 2014-08-20 Roland McGrath <mcgrathr (a] google.com> 1070 1071 PR ld/17277 1072 * elf32-arm.c (elf32_arm_check_relocs): Increment P->pc_count for 1073 all reloc types with pc_relative set in the howto, not just for 1074 R_ARM_REL32 and R_ARM_REL32_NOI. 1075 (allocate_dynrelocs_for_symbol): Update comment. 1076 (elf32_arm_gc_sweep_hook): For all reloc types with pc_relative 1077 set in the howto, set call_reloc_p and may_need_local_target_p but 1078 not may_become_dynamic_p; not only for R_ARM_REL32 and R_ARM_REL32_NOI. 1079 (elf32_arm_check_relocs): Likewise. 1080 1081 2014-08-20 Will Newton <will.newton (a] linaro.org> 1082 1083 * config.bfd: Default armeb-*-eabi* to big endian. 1084 1085 2014-08-19 Alan Modra <amodra (a] gmail.com> 1086 1087 * configure: Regenerate. 1088 1089 2014-08-18 Alan Modra <amodra (a] gmail.com> 1090 1091 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Don't attempt to 1092 use dynrelocs for ifunc. 1093 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Similarly. 1094 1095 2014-08-18 Alan Modra <amodra (a] gmail.com> 1096 1097 PR 17287 1098 * elflink.c (on_needed_list): Only consider libraries that have 1099 been loaded. 1100 1101 2014-08-18 Alan Modra <amodra (a] gmail.com> 1102 1103 * elflink.c (bfd_elf_discard_info): Return int error status. 1104 * stabs.c (_bfd_discard_section_stabs): Comment typo fix. 1105 * bfd-in.h (bfd_elf_discard_info): Updata prototype. 1106 * bfd-in2.h: Regenerate. 1107 1108 2014-08-14 Alan Modra <amodra (a] gmail.com> 1109 1110 * peXXigen.c (pe_print_reloc): Protect against access past end 1111 of .reloc section. 1112 1113 2014-08-14 Alan Modra <amodra (a] gmail.com> 1114 1115 PR 16563 1116 * elflink.c (bfd_elf_discard_info): Process .eh_frame and .stab 1117 in the order they are mapped to output sections. 1118 1119 2014-08-14 Alan Modra <amodra (a] gmail.com> 1120 1121 * configure.ac: Delete redundant plugin related checks. 1122 * configure: Regenerate. 1123 1124 2014-08-13 Stefan Kristiansson <stefan.kristiansson (a] saunalahti.fi> 1125 1126 * elf32-or1k.c (or1k_elf_relocate_section, or1k_elf_check_relocs, 1127 allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL 1128 and SYMBOLIC_BIND. 1129 1130 2014-08-12 Alan Modra <amodra (a] gmail.com> 1131 1132 * coff-aux.c (coff_m68k_aux_link_add_one_symbol): Only call "notice" 1133 here when not calling the generic add_symbol function. Formatting. 1134 Correct handling of indirect symbols. Update notice call. 1135 * elflink.c (_bfd_elf_notice_as_needed): Update notice call. 1136 * linker.c (_bfd_generic_link_add_one_symbol): Create indirect 1137 symbols early. Update notice call. Add comments regarding weak 1138 symbols vs. indirect. 1139 1140 2014-08-12 Alan Modra <amodra (a] gmail.com> 1141 1142 PR ld/16746 1143 * linker.c (_bfd_generic_link_add_one_symbol <WARN>): Handle 1144 !lto_plugin_active. 1145 1146 2014-08-07 Chen Gang <gang.chen.5i5j (a] gmail.com> 1147 1148 * coff-ppc.c (coff_ppc_relocate_section): Ensure local symbols are 1149 zero terminated. 1150 1151 2014-08-07 H.J. Lu <hongjiu.lu (a] intel.com> 1152 Alan Modra <amodra (a] gmail.com> 1153 1154 PR ld/16746 1155 * linker.c (_bfd_generic_link_add_one_symbol): Don't issue a 1156 warning for references in LTO IR to warning symbols. 1157 1158 2014-08-07 Alan Modra <amodra (a] gmail.com> 1159 1160 * linker.c (WARN, CWARN): Collapse these states to WARN. 1161 (_bfd_generic_link_add_one_symbol): Use old CWARN case for 1162 new WARN. 1163 1164 2014-08-05 Doug Evans <dje (a] google.com> 1165 1166 * bfd-in2.h: Regenerate. 1167 * libcoff.h: Regenerate. 1168 1169 2014-08-05 Maciej W. Rozycki <macro (a] codesourcery.com> 1170 1171 * elfxx-mips.c (_bfd_mips_elf_discard_info): Set section's 1172 rawsize if changing size. 1173 1174 2014-08-05 Alan Modra <amodra (a] gmail.com> 1175 1176 PR ld/17226 1177 * elfxx-sparc.c (_bfd_sparc_elf_gc_sweep_hook): Typo fix. 1178 1179 2014-08-05 Alan Modra <amodra (a] gmail.com> 1180 1181 * linker.c (generic_link_check_archive_element): Move handling 1182 of command link -u symbols with a common symbol def to the 1183 code handling non-common symbols so that archive element symbols 1184 are loaded. Use generic_link_add_object_symbols. 1185 1186 2014-08-05 Alan Modra <amodra (a] gmail.com> 1187 1188 PR 13557 1189 * linker.c (struct archive_list, struct archive_hash_entry, 1190 struct archive_hash_table, archive_hash_newfunc, 1191 archive_hash_table_init, archive_hash_lookup, archive_hash_allocate, 1192 archive_hash_table_free): Delete. 1193 (_bfd_generic_link_add_archive_symbols): Add h and name params to 1194 checkfn. Rewrite using a straight-forward scan over archive map. 1195 (generic_link_check_archive_element_no_collect, 1196 generic_link_check_archive_element_collect, 1197 generic_link_check_archive_element): Add h and name params. 1198 * aoutx.h (aout_link_check_archive_element): Likewise. 1199 * pdp11.c (aout_link_check_archive_element): Likewise. 1200 * xcofflink.c (xcoff_link_check_archive_element): Likewise. 1201 * cofflink.c (coff_link_check_archive_element): Likewise. Don't 1202 scan symbols, simply add archive element whenever h is undefined. 1203 (coff_link_check_ar_symbols): Delete. 1204 * ecoff.c (read_ext_syms_and_strs): Delete. 1205 (reread_ext_syms_and_strs): Delete. 1206 (ecoff_link_check_archive_element): Add h and name param. Don't 1207 scan symbols, simply add based on h. Use ecoff_link_add_object_symbols. 1208 * elflink.c (elf_link_is_defined_archive_symbol): Don't test 1209 archive_pass. 1210 (elf_link_add_archive_symbols): Delete "defined" array, merge 1211 functionality into "included". Make "included" a char array. Don't 1212 set or test archive_pass. 1213 * libbfd-in.h (_bfd_generic_link_add_archive_symbols): Update. 1214 * libbfd.h: Regenerate. 1215 1216 2014-08-01 Takashi Yoshii <yoshii.takashi (a] renesas.com> 1217 1218 PR 10373 1219 * elf32-sh.c (sh_elf_relax_section): Add jmp to bra relaxing. 1220 1221 2014-07-29 Matthew Fortune <matthew.fortune (a] imgtec.com> 1222 1223 * elfxx-mips.c (ABI_O32_P, MIPS_ELF_ABIFLAGS_SECTION_NAME_P): New macro. 1224 (mips_elf_obj_tdata): Add abiflags and abiflags_valid fields. 1225 (bfd_mips_elf_swap_abiflags_v0_in): New function. 1226 (bfd_mips_elf_swap_abiflags_v0_out): Likewise. 1227 (_bfd_mips_elf_section_from_shdr): Handle SHT_MIPS_ABIFLAGS. 1228 (_bfd_mips_elf_fake_sections): Likewise. 1229 (_bfd_mips_elf_always_size_sections): Handle .MIPS.abiflags. 1230 (_bfd_mips_elf_additional_program_headers): Account for new 1231 PT_MIPS_ABIFLAGS program header. 1232 (_bfd_mips_elf_modify_segment_map): Create PT_MIPS_ABIFLAGS segment and 1233 associate with .MIPS.abiflags. 1234 (_bfd_mips_elf_gc_mark_extra_sections): New function. 1235 (bfd_mips_isa_ext, update_mips_abiflags_isa): New static function. 1236 (infer_mips_abiflags): Likewise. 1237 (_bfd_mips_elf_final_link): Handle .MIPS.abiflags. 1238 (mips_32bit_flags_p): Moved higher. 1239 (mips_elf_merge_obj_attributes, _bfd_mips_fp_abi_string): Error 1240 checking for FP ABIs. 1241 (_bfd_mips_elf_merge_private_bfd_data): Restructure and add abiflags 1242 checks. Check EF_MIPS_FP64 flag consistency. 1243 (print_mips_ases, print_mips_isa_ext): New static function. 1244 (print_mips_fp_abi_value, get_mips_reg_size): Likewise. 1245 (_bfd_mips_elf_print_private_bfd_data): Display abiflags data. 1246 (_bfd_mips_post_process_headers): Set EI_ABIVERSION = 3 for 1247 Val_GNU_MIPS_ABI_FP_64 or Val_GNU_MIPS_ABI_FP_64A. 1248 * elfxx-mips.h (_bfd_mips_elf_gc_mark_extra_sections): New prototype. 1249 * elf32-mips.c (elf_backend_gc_mark_extra_sections): Implement. 1250 * elfn32-mips.c (elf_backend_gc_mark_extra_sections): Implement. 1251 * elf64-mips.c (elf_backend_gc_mark_extra_sections): Implement. 1252 1253 2014-07-28 Alan Modra <amodra (a] gmail.com> 1254 1255 PR 13227 1256 * archive.c (_bfd_compute_and_write_armap): Warn on adding 1257 __gnu_lto_slim to armap. 1258 * linker.c (_bfd_generic_link_add_one_symbol): Warn on adding 1259 __gnu_lto_slim to linker hash table. 1260 1261 2014-07-27 Anthony Green <green (a] moxielogic.org> 1262 1263 * config.bfd: Add moxie-*-moxiebox*. 1264 1265 2014-07-21 Joel Sherrill <joel.sherrill (a] oarcorp.com> 1266 1267 Add or reactivate or1k-*-rtems* 1268 * config.bfd (or1k-*-rtems*): Reactivate. 1269 1270 2014-07-16 H.J. Lu <hongjiu.lu (a] intel.com> 1271 1272 * elf32-i386.c (elf_i386_plt_sym_val): Match PLT entry only for 1273 ELFOSABI_GNU input. 1274 * elf64-x86-64.c (elf_x86_64_plt_sym_val): Likewise. 1275 (elf_x86_64_plt_sym_val_offset_plt_bnd): Likewise. 1276 1277 2014-07-16 H.J. Lu <hongjiu.lu (a] intel.com> 1278 1279 PR binutils/17154 1280 * elf32-i386.c (elf_i386_plt_sym_val): Only match R_*_JUMP_SLOT 1281 and R_*_IRELATIVE relocation offset with PLT entry. 1282 * elf64-x86-64.c (elf_x86_64_plt_sym_val): Likewise. 1283 (elf_x86_64_plt_sym_val_offset_plt_bnd): New. 1284 (elf_x86_64_get_synthetic_symtab): Use it. 1285 1286 2014-07-15 H.J. Lu <hongjiu.lu (a] intel.com> 1287 1288 PR ld/17057 1289 * elf32-i386.c (elf_i386_compute_jump_table_size): Replace 1290 next_tls_desc_index with elf.srelplt->reloc_count. 1291 1292 2014-07-15 Alan Modra <amodra (a] gmail.com> 1293 1294 * cache.c (cache_bread_1): Don't return -1 when fread returns 1295 a positive value. 1296 1297 2014-07-15 Alan Modra <amodra (a] gmail.com> 1298 1299 * elflink.c (elf_merge_st_other): Update comments. Simplify 1300 visibility handling. Make isym const. Move code modifying 1301 isym->st_other for --exclude-libs to.. 1302 (elf_link_add_object_symbols): ..here. 1303 1304 2014-07-11 Maks Naumov <maksqwe1 (a] ukr.net> 1305 1306 PR 17141 1307 * elf.c (_bfd_elf_strtab_add): Check strtab name for failure. 1308 1309 2014-07-08 Nick Clifton <nickc (a] redhat.com> 1310 1311 PR ld/17110 1312 * elf32-sh.c (sh_elf_osec_to_segment): Do not look for output 1313 segments in input bfds. 1314 1315 2014-07-08 Will Newton <will.newton (a] linaro.org> 1316 1317 * elf32-arm.c (ELF_MAXPAGESIZE): Increase the default 1318 value to 64kB and remove custom setting for NaCl. 1319 1320 2014-07-08 Alan Modra <amodra (a] gmail.com> 1321 1322 * elflink.c (_bfd_elf_copy_link_hash_symbol_type): Copy st_other 1323 bits from source to dest. 1324 * linker.c (_bfd_generic_copy_link_hash_symbol_type): Update comment. 1325 * targets.c (struct bfd_target <_bfd_copy_link_hash_symbol_type>): 1326 Likewise. 1327 * bfd-in2.h: Regenerate. 1328 1329 2014-07-08 Jiong Wang <jiong.wang (a] arm.com> 1330 1331 * elfnn-aarch64.c (elf_backend_rela_normal): Set to 1. 1332 (elfNN_aarch64_relocate_section): Remove duplicated addend adjustment 1333 when info->relocatable be true. 1334 1335 2014-07-07 Barney Stratford <barney_stratford (a] fastmail.fm> 1336 1337 * elf32-avr.c: Handle R_AVR_PORT5 and R_AVR_PORT6. 1338 * reloc.c: Add BFD_RELOC_AVR_PORT5 and BFD_RELOC_AVR_PORT6. 1339 * bfd-in2.h: Regenerate. 1340 * libbfd.h: Regenerate. 1341 1342 2014-07-04 Alan Modra <amodra (a] gmail.com> 1343 1344 * Makefile.am: Update "configure.in" comments. 1345 * PORTING: Likewise. 1346 * aoutx.h: Likewise. 1347 * configure.host: Likewise. 1348 * doc/bfdint.texi: Likewise. 1349 * targets.c: Likewise. 1350 * warning.m4: Likewise. 1351 * Makefile.in: Regenerate. 1352 1353 2014-07-04 Alan Modra <amodra (a] gmail.com> 1354 1355 * configure.ac: Rename from configure.in. 1356 * Makefile.in: Regenerate. 1357 * config.in: Regenerate. 1358 * doc/Makefile.in: Regenerate. 1359 1360 2014-07-04 Alan Modra <amodra (a] gmail.com> 1361 1362 * Makefile.am (CONFIG_STATUS_DEPENDENCIES): Remove configure.in. 1363 * Makefile.in: Regenerate. 1364 1365 2014-07-04 Alan Modra <amodra (a] gmail.com> 1366 1367 * version.m4: New file. 1368 * configure.in: Include version.m4. 1369 (AC_INIT): Update. 1370 * Makefile.am (RELEASE): Delete. 1371 (bfdver.h): Depend on development.sh, use instead of RELEASE. 1372 * Makefile.in: Regenerate. 1373 * doc/Makefile.in: Regenerate. 1374 1375 2014-07-02 Alan Modra <amodra (a] gmail.com> 1376 1377 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Clear 1378 pointer_equality_needed when !readonly_dynrelocs. 1379 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise. 1380 1381 2014-07-02 Alan Modra <amodra (a] gmail.com> 1382 1383 * elf32-ppc.c (ppc_elf_check_relocs): Set DF_STATIC_TLS for PIEs too. 1384 * elf64-ppc.c (ppc64_elf_check_relocs): Likewise. 1385 1386 2014-07-01 Alan Modra <amodra (a] gmail.com> 1387 1388 * bfd.c (struct bfd): Reorganise for better packing. Delete 1389 "ifd" field. Make "format", "direction" and "flags" bitfields. 1390 (HAS_LOAD_PAGE): Delete, renumber following flags. 1391 * bfd-in2.h: Regenerate. 1392 * coff-tic4x.c: Remove HAS_LOAD_PAGE from extra flags in target vecs. 1393 1394 2014-07-01 Alan Modra <amodra (a] gmail.com> 1395 1396 * elf64-ppc.c (ppc_stub_type): Add ppc_stub_global_entry. 1397 (struct ppc_link_hash_table): Increase size of stub_count array. 1398 (build_global_entry_stubs): Emit symbol on global entry stub. 1399 (ppc64_elf_build_stubs): NULL check htab->brlt. Add global entry 1400 stub stats. 1401 1402 2014-07-01 Alan Modra <amodra (a] gmail.com> 1403 1404 * elf64-ppc.c (abiversion, set_abiversion): Move earlier. 1405 (ppc64_elf_branch_reloc): Adjust addend for ELFv2 local offset. 1406 (ppc64_elf_set_toc): Set ".TOC." symbol value when using 1407 generic linker. 1408 (ppc64_elf_relocate_section): Disable ELFv2 function entry 1409 optimisation when --traditional-format. 1410 1411 2014-07-01 Barney Stratford <barney_stratford (a] fastmail.fm> 1412 Senthil Kumar Selvaraj <senthil_kumar.selvaraj (a] atmel.com> 1413 Pitchumani Sivanupandi <pitchumani.s (a] atmel.com> 1414 Soundararajan <Sounderarajan.D (a] atmel.com> 1415 1416 * archures.c: Add avrtiny architecture for avr target. 1417 * cpu-avr.c (arch_info_struct): Add avrtiny arch info. 1418 * elf32-avr.c (elf_avr_howto_table): New relocation R_AVR_LDS_STS_16 1419 added for 16 bit LDS/STS instruction of avrtiny arch. 1420 (avr_reloc_map): Reloc R_AVR_LDS_STS_16 is mapped to 1421 BFD_RELOC_AVR_LDS_STS_16. 1422 (bfd_elf_avr_final_write_processing): Select machine number 1423 avrtiny arch. 1424 (elf32_avr_object_p): Set machine number for avrtiny arch. 1425 * reloc.c: Add documentation for BFD_RELOC_AVR_LDS_STS_16 reloc. 1426 * bfd-in2.h: Regenerate. 1427 * libbfd.h: Regenerate. 1428 1429 2014-06-26 Nick Clifton <nickc (a] redhat.com> 1430 1431 PR binutils/16949 1432 * dwarf2.c (is_str_attr): New function. 1433 (find_abstract_instance_name): Use it to determine when an 1434 attribute has a string value. 1435 1436 2014-06-24 Alan Modra <amodra (a] gmail.com> 1437 1438 * elf32-ppc.c (ppc_elf_size_dynamic_sections): Arrange to keep 1439 .sdata/.sdata2 when _SDA_BASE_/_SDA2_BASE_ should be output 1440 for --emit-relocs. 1441 1442 2014-06-21 Philippe De Muyter <phdm (a] macqel.be> 1443 1444 * targets.c (_bfd_target_vector): Add missing #ifdef BFD64 for 1445 a number of targets. 1446 1447 2014-06-20 Kyle McMartin <kyle (a] redhat.com> 1448 1449 * elf32-arm.c (elf32_arm_check_relocs): Set DF_STATIC_TLS when 1450 emitting initial-exec relocs when not linking an executable. 1451 1452 2014-06-16 Will Newton <will.newton (a] linaro.org> 1453 1454 * elf32-arm.c (elf32_arm_allocate_plt_entry): Increment 1455 htab->next_tls_desc_index in the non-IPLT case. 1456 Calculate GOT offset correctly for the non-IPLT case. 1457 (allocate_dynrelocs_for_symbol): Don't increment 1458 htab->next_tls_desc_index here. 1459 1460 2014-06-16 Alan Modra <amodra (a] gmail.com> 1461 1462 * elf32-vax.c (elf_vax_size_dynamic_sections): Clear linker 1463 created sections. 1464 1465 2014-06-13 Omair Javaid <omair.javaid (a] linaro.org> 1466 1467 * elfxx-aarch64.c (stdarg.h): Include. 1468 (string.h): Include. 1469 (_bfd_aarch64_elf_grok_prstatus): Updated. 1470 (_bfd_aarch64_elf_grok_psinfo): New function. 1471 (_bfd_aarch64_elf_write_core_note): New function. 1472 * elfxx-aarch64.h (elf_backend_grok_psinfo): Define. 1473 (elf_backend_write_core_note): Define. 1474 1475 2014-06-13 Alan Modra <amodra (a] gmail.com> 1476 1477 * archive.c: Include bfdlink.h. 1478 (_bfd_archive_close_and_cleanup): Call linker hash_table_free. 1479 * bfd.c (struct bfd): Add is_linker_output field. 1480 * elf-bfd.h (_bfd_elf_link_hash_table_free): Update prototype. 1481 * linker.c (_bfd_link_hash_table_init): Set up hash_table_free, 1482 link.hash and is_linker_output. 1483 (_bfd_generic_link_hash_table_free): Replace bfd_link_hash_table* 1484 param with bfd*. Assert is_linker_output and link.hash, and 1485 clear them before exit. 1486 * elf-m10300.c (elf32_mn10300_link_hash_table_free): Replace 1487 bfd_link_hash_table* param with bfd*. Hack is_linker_output 1488 and link.hash so we can free two linker hash tables. 1489 (elf32_mn10300_link_hash_table_create): Create static_hash_table 1490 first. Clean up on errors. Set hash_table_free pointer. 1491 * elf32-arm.c (elf32_arm_link_hash_table_free): Replace 1492 bfd_link_hash_table* param with bfd*. 1493 (elf32_arm_link_hash_table_create): Clean up on errors. Set 1494 hash_table_free pointer. 1495 * elf32-avr.c, * elf32-hppa.c, * elf32-i386.c, * elf32-m68hc1x.c, 1496 * elf32-m68k.c, * elf32-metag.c, * elf32-nios2.c, * elf32-xgate.c, 1497 * elf64-ia64-vms.c, * elf64-ppc.c, * elf64-x86-64.c, * elflink.c, 1498 * elfnn-aarch64.c, * elfnn-ia64.c, * elfxx-sparc.c, 1499 * xcofflink.c: Similarly. 1500 * simple.c (bfd_simple_get_relocated_section_contents): Save and 1501 clear link.next before creating linker hash table. Clean up on 1502 errors, and restore link.next on exit. 1503 * elf32-m68hc1x.h (m68hc11_elf_bfd_link_hash_table_free): Delete. 1504 * elf32-xgate.h (xgate_elf_bfd_link_hash_table_free): Delete. 1505 * elfxx-sparc.h (_bfd_sparc_elf_link_hash_table_free): Delete. 1506 * libcoff-in.h (_bfd_xcoff_bfd_link_hash_table_free): Delete. 1507 * hash.c (bfd_hash_table_init_n): Free table on error. 1508 * libbfd-in.h (_bfd_generic_link_hash_table_free): Update proto. 1509 * bfd-in2.h: Regenerate. 1510 * libbfd.h: Regenerate. 1511 * libcoff.h: Regenerate. 1512 1513 2014-06-13 Alan Modra <amodra (a] gmail.com> 1514 1515 PR 17047 1516 * targets.c (BFD_JUMP_TABLE): Delete NAME##_bfd_link_hash_table_free. 1517 (struct bfd_target <_bfd_link_hash_table_free>): Delete. 1518 * bfd.c (bfd_link_hash_table_free): Don't define. 1519 * aout-adobe.c, * aout-target.h, * aout-tic30.c, * binary.c, * bout.c, 1520 * coff64-rs6000.c, * coffcode.h, * elf-m10300.c, * elf32-arm.c, 1521 * elf32-avr.c, * elf32-hppa.c, * elf32-i386.c, * elf32-m68hc11.c, 1522 * elf32-m68hc12.c, * elf32-m68k.c, * elf32-metag.c, * elf32-nios2.c, 1523 * elf32-sparc.c, * elf32-xgate.c, * elf64-ia64-vms.c, * elf64-ppc.c, 1524 * elf64-sparc.c, * elf64-x86-64.c, * elfnn-aarch64.c, * elfnn-ia64.c, 1525 * elfxx-target.h, * i386msdos.c, * i386os9k.c, * ieee.c, * ihex.c, 1526 * libbfd-in.h, * libecoff.h, * mach-o-target.c, * mmo.c, 1527 * nlm-target.h, * oasys.c, * pef.c, * plugin.c, * ppcboot.c, * som.c, 1528 * srec.c, * tekhex.c, * verilog.c, * versados.c, * vms-alpha.c, 1529 * xsym.c: Don't define various link_hash_table_free defines, and 1530 remove from bfd_target vars. Temporarily reference some of the 1531 target link_hash_table_free functions to avoid warnings. 1532 * bfd-in2.h: Regenerate. 1533 * libbfd.h: Regenerate. 1534 1535 2014-06-13 Alan Modra <amodra (a] gmail.com> 1536 1537 * elf-m10300.c, * elf32-arm.c, * elf32-avr.c, * elf32-hppa.c, 1538 * elf32-i386.c, * elf32-m68hc1x.c, * elf32-m68k.c, * elf32-metag.c, 1539 * elf32-nios2.c, * elf64-ia64-vms.c, * elf64-ppc.c, * elf64-x86-64.c, 1540 * elfnn-aarch64.c, * elfnn-ia64.c, * elfxx-sparc.c, * xcofflink.c: 1541 Move link_hash_table_free functions before their corresponding 1542 link_hash_table_create functions. 1543 1544 2014-06-13 Alan Modra <amodra (a] gmail.com> 1545 1546 * bfd.c (struct bfd): Replace link_next with a union. 1547 * aoutx.h, * bfd.c, * coff-ppc.c, * coff-rs6000.c, * cofflink.c, 1548 * ecoff.c, * elf-m10300.c, * elf32-arm.c, * elf32-avr.c, 1549 * elf32-hppa.c, * elf32-i386.c, * elf32-lm32.c, * elf32-m32c.c, 1550 * elf32-m32r.c, * elf32-m68hc1x.c, * elf32-metag.c, 1551 * elf32-microblaze.c, * elf32-nds32.c, * elf32-nios2.c, 1552 * elf32-or1k.c, * elf32-ppc.c, * elf32-rl78.c, * elf32-s390.c, 1553 * elf32-score.c, * elf32-score7.c, * elf32-sh.c, * elf32-spu.c, 1554 * elf32-tic6x.c, * elf32-tilepro.c, * elf32-xstormy16.c, 1555 * elf32-xtensa.c, * elf64-alpha.c, * elf64-hppa.c, * elf64-ia64-vms.c, 1556 * elf64-mmix.c, * elf64-ppc.c, * elf64-s390.c, * elf64-x86-64.c, 1557 * elflink.c, * elfnn-aarch64.c, * elfxx-mips.c, * elfxx-sparc.c, 1558 * elfxx-tilegx.c, * linker.c, * pdp11.c, * peXXigen.c, * simple.c, 1559 * sunos.c, * vms-alpha.c, * xcofflink.c: Update for above. 1560 * bfd-in2.h: Regenerate. 1561 1562 2014-06-11 Alan Modra <amodra (a] gmail.com> 1563 1564 * linker.c (unwrap_hash_lookup): Add missing parens. 1565 1566 2014-06-11 Kai Tietz <ktietz (a] redhat.com> 1567 1568 * libcoff-in.h (coff_tdata): Make relocbase member unsigned. 1569 * libcoff.h: Regenerated. 1570 1571 2014-06-10 Alan Modra <amodra (a] gmail.com> 1572 1573 PR ld/16910 1574 * linker.c (unwrap_hash_lookup): New function. 1575 * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Call unwrap_hash_lookup. 1576 * elf32-i370.c (i370_elf_relocate_section): Likewise. 1577 * elf32-m32c.c (m32c_elf_relocate_section): Likewise. 1578 * elf32-m32r.c (m32r_elf_relocate_section): Likewise. 1579 * elf32-score.c (s3_bfd_score_elf_relocate_section): Likewise. 1580 * elf32-score7.c (s7_bfd_score_elf_relocate_section): Likewise. 1581 * elf32-spu.c (spu_elf_relocate_section): Likewise. 1582 * elf64-hppa.c (elf64_hppa_relocate_section): Likewise. 1583 1584 2014-06-07 Alan Modra <amodra (a] gmail.com> 1585 1586 * elf32-ppc.c (ppc_elf_relocate_section): Treat field of cmpli 1587 insn as a bitfield; Use complain_overflow_bitfield. 1588 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. 1589 1590 2014-06-05 Joel Brobecker <brobecker (a] adacore.com> 1591 1592 * development.sh: New file. 1593 * warning.m4 (AM_BINUTILS_WARNINGS): Source bfd/development.sh. 1594 Make -Werror the default with GCC only if DEVELOPMENT is true. 1595 * Makefile.am (CONFIG_STATUS_DEPENDENCIES): Add 1596 $(srcdir)/development.sh. 1597 * Makefile.in, configure: Regenerate. 1598 1599 2014-06-04 Will Newton <will.newton (a] linaro.org> 1600 1601 * elfnn-aarch64.c (tpoff_base): Make test of tls_sec 1602 being non-NULL into an assert. 1603 (elfNN_aarch64_tls_relax): Remove unused code. 1604 1605 2014-06-03 DJ Delorie <dj (a] redhat.com> 1606 1607 * elf32-rx.c (rx_table_map): Use BFD_VMA_FMT for portability. 1608 1609 2014-06-03 Nick Clifton <nickc (a] redhat.com> 1610 1611 PR ld/16807 1612 * peXXigen.c (rsrc_process_section): Page align the new contents 1613 befgore writing out. 1614 1615 2014-06-03 Alan Modra <amodra (a] gmail.com> 1616 1617 * elf64-ppc.c (ADDIS_R12_R2): Define. 1618 (build_plt_stub): Support fusion on ELFv2 stub. 1619 (ppc_build_one_stub): Likewise for plt branch stubs. 1620 1621 2014-05-28 Alan Modra <amodra (a] gmail.com> 1622 1623 * elf32-rx.c (rx_table_map): Delete set but not used variables. 1624 1625 2014-05-28 Tristan Gingold <gingold (a] adacore.com> 1626 1627 * dwarf2.c (lookup_address_in_function_table): Add best_fit_len 1628 to keep the length of the best fit range. 1629 (lookup_symbol_in_function_table, info_hash_lookup_funcinfo): 1630 Likewise. 1631 1632 2014-05-27 DJ Delorie <dj (a] redhat.com> 1633 1634 * elf32-rx.c (get_symbol_value_maybe): New. 1635 (rx_elf_relocate_section): If we find a reloc against 1636 $tableentry$default$<name>, redirect it to the appropriate 1637 $tableentry$<n>$. 1638 (RX_Table_Info): New. 1639 (rx_table_find): New. Check all tables and SEC_KEEP all sections 1640 with table parts in them. 1641 (rx_check_directives): New. 1642 (rx_table_map_2): New. 1643 (rx_table_map): New. 1644 (rx_additional_link_map_text): New. Called to dump tables to the 1645 map file. 1646 * elf32-rx.h: New. 1647 1648 2014-05-20 DJ Delorie <dj (a] redhat.com> 1649 1650 * elf32-msp430.c (msp430_elf_relax_adjust_locals): Avoid overflow. 1651 1652 2014-05-20 Alan Modra <amodra (a] gmail.com> 1653 1654 PR 16952 1655 * elf32-ppc.c (ppc_elf_create_linker_section): Move earlier. 1656 Remove redundant setting of htab->elf.dynobj. Don't align. 1657 Define .sdata symbols using _bfd_elf_define_linkage_sym. 1658 (ppc_elf_create_glink): Call ppc_elf_create_linker_section. 1659 (create_sdata_sym): Delete. 1660 (elf_allocate_pointer_linker_section): Rename from 1661 elf_create_pointer_linker_section. Align section. 1662 (ppc_elf_check_relocs): Don't call ppc_elf_creat_linker_section 1663 directly here, or create_sdata_sym. Set ref_regular on _SDA_BASE_ 1664 and _SDA2_BASE_. 1665 (ppc_elf_size_dynamic_sections): Remove ATTRIBUTE_UNUSED on param. 1666 Remove unnecessary tests on _SDA_BASE_ sym. 1667 (maybe_strip_sdasym, ppc_elf_maybe_strip_sdata_syms): New functions. 1668 (ppc_elf_relocate_section): Tighten SDA reloc symbol section checks. 1669 * elf32-ppc.h (ppc_elf_set_sdata_syms): Delete. 1670 (ppc_elf_maybe_strip_sdata_syms): Declare. 1671 1672 2014-05-16 Ryan Mansfield <rmansfield (a] qnx.com> 1673 1674 * config.bfd: Move QNX target_cflags from arm-*-netbsd* to arm-*-nto*. 1675 1676 2014-05-16 Jon Turney <jon.turney (a] dronecode.org.uk> 1677 1678 * peXXigen.c (pe_print_debugdata): Don't interpret debug directory 1679 in a section with no contents. 1680 (is_vma_in_section, find_section_by_vma): New functions. 1681 (_bfd_XX_bfd_copy_private_bfd_data_common): Recalculate file 1682 offsets in the debug directory. 1683 (_bfd_XXi_slurp_codeview_record, _bfd_XXi_write_codeview_record): 1684 Byte-swap GUID from little-endian to big-endian order for 1685 consistent and conventional display. 1686 1687 2014-05-16 Kaushik Phata <Kaushik.Phatak (a] kpit.com> 1688 1689 * elf32-rl78.c (rl78_elf_merge_private_bfd_data): Complain if 1690 64-bit doubles objects mix with 32-bit doubles objects. 1691 (rl78_elf_print_private_bfd_data): Describe 64-bit doubles flag. 1692 1693 2014-05-08 Hans-Peter Nilsson <hp (a] bitrange.com> 1694 1695 * mmo.c: Update URLs in documentation comments. 1696 1697 2014-05-02 Volodymyr Arbatov <arbatov (a] cadence.com> 1698 David Weatherford <weath (a] cadence.com> 1699 Max Filippov <jcmvbkbc (a] gmail.com> 1700 1701 * elf32-xtensa.c (relax_section): treat R_XTENSA_DIFF* relocations as 1702 signed. 1703 1704 2014-05-07 Andreas Tobler <andreast (a] fgznet.ch> 1705 1706 * config.bfd: Add proper arm config for *-*-freebsd*. 1707 1708 2014-05-07 Andrew Bennett <andrew.bennett (a] imgtec.com> 1709 1710 * aoutx.h (NAME (aout, machine_type)): Add mips32r3, mips64r3, 1711 mips32r5 and mips64r5. 1712 * archures.c (bfd_architecture): Likewise. 1713 * bfd-in2.h (bfd_architecture): Likewise. 1714 * cpu-mips.c (arch_info_struct): Likewise. 1715 * elfxx-mips.c (mips_set_isa_flags): Likewise. 1716 1717 2014-05-06 Richard Sandiford <rdsandiford (a] googlemail.com> 1718 1719 * elfxx-mips.h (elfxx-mips.h): Declare. 1720 * elfxx-mips.c (mips_elf_merge_obj_attributes): Use it to report 1721 Tag_GNU_MIPS_ABI_FP mismatches. 1722 (_bfd_mips_fp_abi_string): New function. 1723 1724 2014-05-02 Alan Modra <amodra (a] gmail.com> 1725 1726 * targets.c: Sort bfd_target vectors somewhat alphabetically. 1727 * configure.in: Likewise. 1728 * configure: Regenerate. 1729 1730 2014-05-02 Alan Modra <amodra (a] gmail.com> 1731 1732 * aix386-core.c, * aout-adobe.c, * aout-arm.c, * aout-ns32k.c, 1733 * aout-sparcle.c, * aout0.c, * aoutx.h, * armnetbsd.c, * bout.c, 1734 * cf-i386lynx.c, * cf-sparclynx.c, * cisco-core.c, * coff-alpha.c, 1735 * coff-apollo.c, * coff-arm.c, * coff-aux.c, * coff-go32.c, 1736 * coff-h8300.c, * coff-h8500.c, * coff-i386.c, * coff-i860.c, 1737 * coff-i960.c, * coff-m68k.c, * coff-m88k.c, * coff-mips.c, 1738 * coff-rs6000.c, * coff-sh.c, * coff-sparc.c, * coff-stgo32.c, 1739 * coff-svm68k.c, * coff-tic80.c, * coff-u68k.c, * coff-w65.c, 1740 * coff-we32k.c, * coff-x86_64.c, * coff-z80.c, * coff-z8k.c, 1741 * coff64-rs6000.c, * config.bfd, * configure.com, * configure.in, 1742 * demo64.c, * elf-m10200.c, * elf-m10300.c, * elf32-am33lin.c, 1743 * elf32-arc.c, * elf32-arm.c, * elf32-avr.c, * elf32-bfin.c, 1744 * elf32-cr16.c, * elf32-cr16c.c, * elf32-cris.c, * elf32-crx.c, 1745 * elf32-d10v.c, * elf32-d30v.c, * elf32-dlx.c, * elf32-epiphany.c, 1746 * elf32-fr30.c, * elf32-frv.c, * elf32-gen.c, * elf32-h8300.c, 1747 * elf32-hppa.c, * elf32-i370.c, * elf32-i386.c, * elf32-i860.c, 1748 * elf32-i960.c, * elf32-ip2k.c, * elf32-iq2000.c, * elf32-lm32.c, 1749 * elf32-m32c.c, * elf32-m32r.c, * elf32-m68hc11.c, * elf32-m68hc12.c, 1750 * elf32-m68k.c, * elf32-m88k.c, * elf32-mcore.c, * elf32-mep.c, 1751 * elf32-metag.c, * elf32-microblaze.c, * elf32-mips.c, * elf32-moxie.c, 1752 * elf32-msp430.c, * elf32-mt.c, * elf32-nds32.c, * elf32-nios2.c, 1753 * elf32-or1k.c, * elf32-pj.c, * elf32-ppc.c, * elf32-rl78.c, 1754 * elf32-rx.c, * elf32-s390.c, * elf32-score.c, * elf32-sh-symbian.c, 1755 * elf32-sh.c, * elf32-sh64.c, * elf32-sparc.c, * elf32-spu.c, 1756 * elf32-tic6x.c, * elf32-tilegx.c, * elf32-tilepro.c, * elf32-v850.c, 1757 * elf32-vax.c, * elf32-xc16x.c, * elf32-xgate.c, * elf32-xstormy16.c, 1758 * elf32-xtensa.c, * elf64-alpha.c, * elf64-gen.c, * elf64-hppa.c, 1759 * elf64-ia64-vms.c, * elf64-mips.c, * elf64-mmix.c, * elf64-ppc.c, 1760 * elf64-s390.c, * elf64-sh64.c, * elf64-sparc.c, * elf64-tilegx.c, 1761 * elf64-x86-64.c, * elfn32-mips.c, * elfnn-aarch64.c, * elfnn-ia64.c, 1762 * epoc-pe-arm.c, * epoc-pei-arm.c, * hp300bsd.c, * hp300hpux.c, 1763 * hppabsd-core.c, * hpux-core.c, * i386aout.c, * i386bsd.c, 1764 * i386dynix.c, * i386freebsd.c, * i386linux.c, * i386lynx.c, 1765 * i386mach3.c, * i386msdos.c, * i386netbsd.c, * i386os9k.c, 1766 * irix-core.c, * m68k4knetbsd.c, * m68klinux.c, * m68knetbsd.c, 1767 * m88kmach3.c, * m88kopenbsd.c, * mach-o-i386.c, * mach-o-x86-64.c, 1768 * makefile.vms, * mipsbsd.c, * mmo.c, * netbsd-core.c, * newsos3.c, 1769 * nlm32-alpha.c, * nlm32-i386.c, * nlm32-ppc.c, * nlm32-sparc.c, 1770 * ns32knetbsd.c, * osf-core.c, * pc532-mach.c, * pe-arm-wince.c, 1771 * pe-arm.c, * pe-i386.c, * pe-mcore.c, * pe-mips.c, * pe-ppc.c, 1772 * pe-sh.c, * pe-x86_64.c, * pei-arm-wince.c, * pei-arm.c, 1773 * pei-i386.c, * pei-ia64.c, * pei-mcore.c, * pei-mips.c, * pei-ppc.c, 1774 * pei-sh.c, * pei-x86_64.c, * ppcboot.c, * ptrace-core.c, * riscix.c, 1775 * sco5-core.c, * som.c, * sparclinux.c, * sparclynx.c, 1776 * sparcnetbsd.c, * sunos.c, * targets.c, * trad-core.c, 1777 * vax1knetbsd.c, * vaxbsd.c, * vaxnetbsd.c, * versados.c, 1778 * vms-alpha.c, * vms-lib.c: Rename bfd targets to 1779 <cpu>_<format>_<other>_<endian>_vec. Adjust associated MY macros 1780 on aout targets. 1781 * configure: Regenerate. 1782 1783 2014-05-01 Hans-Peter Nilsson <hp (a] bitrange.com> 1784 1785 * mmo.c (mmo File layout documentation): Add note about low bits 1786 of address. 1787 (mmo_write_chunk): When handling data remainder, assert that 1788 previous remaining data is flushed. 1789 (mmo_write_loc_chunk): Only look for trailing and leading zeros 1790 when dealing with an aligned VMA and for aligned lengths. Don't skip 1791 the last 32-bit-word of zeros. 1792 (mmo_write_loc_chunk): Emit an error if the VMA is not aligned. 1793 (mmo_scan) <case LOP_QUOTE>: Move re-alignment of vma before 1794 emitting data, not after updating it. 1795 <case LOP_LOC>: Call mmo_decide_section with aligned vma. 1796 1797 2014-04-30 Nick Clifton <nickc (a] redhat.com> 1798 1799 * compress.c (bfd_is_section_compressed): When checking the 1800 .debug_str section, also check the fifth byte in the section is 1801 not part of a string. 1802 1803 2014-04-30 Alan Modra <amodra (a] gmail.com> 1804 1805 * elf-eh-frame.c (struct cie.personality): Replace val with sym. 1806 (find_merged_cie): Identify personality functions by (bfd_id,index) 1807 pair when a local sym is used. 1808 1809 2014-04-29 Christian Svensson <blue (a] cmd.nu> 1810 1811 * elf32-or1k.c: Fix a bug where non-TLS relocations would be forced 1812 into .rela.got if it contained TLS relocations as well. 1813 1814 2014-04-28 Nick Clifton <nickc (a] redhat.com> 1815 1816 PR ld/16821 1817 * peXXigen.c (_bfd_XXi_swap_sym_out): Rework fix to avoid compile 1818 time warning. 1819 1820 2014-04-26 Alan Modra <amodra (a] gmail.com> 1821 1822 * po/SRC-POTFILES.in: Regenerate. 1823 * configure: Regenerate. 1824 1825 2014-04-25 Nick Clifton <nickc (a] redhat.com> 1826 1827 PR ld/16821 1828 * peXXigen.c (_bfd_XXi_swap_sym_out): Another fix for building on 1829 a 342-bit host. This time for older versions of gcc. 1830 1831 2014-04-24 Nick Clifton <nickc (a] redhat.com> 1832 1833 * peXXigen.c (rsrc_print_section): Fix compile time warning for 1834 32-bit hosts. 1835 1836 2014-04-24 Alan Modra <amodra (a] gmail.com> 1837 1838 PR 16867 1839 * dwarf2.c: Formatting. 1840 (struct dwarf2_debug): Make adjusted_section_count signed. 1841 (unset_sections): Make i signed. 1842 (set_debug_vma): New function. 1843 (place_sections): Handle separate debug object file. Set VMA 1844 on debug sections, even if they have an output section. Also 1845 set VMA on zero size sections, and non-load but alloc sections. 1846 Set adjusted_section_count to -1 when no section adjustment. 1847 Malloc adjusted_sections. Don't double last_vma. Transfer 1848 alloc section VMAs to separate debug file. 1849 (_bfd_dwarf2_cleanup_debug_info): Free adjusted_sections. 1850 (_bfd_dwarf2_slurp_debug_info): Add do_place parameter. Drop 1851 test on symbols being the same before using old stash. Read 1852 and use separate debug file symbols. Call place_sections. 1853 (find_line): Don't call place_sections here. 1854 * libbfd-in.h (_bfd_dwarf2_slurp_debug_info): Update proto. 1855 * libbfd.h: Regenerate. 1856 * mach-o.c (bfd_mach_o_find_nearest_line): Adjust 1857 _bfd_dwarf2_slurp_debug_info call. 1858 * simple.c (simple_save_output_info): Clarify comment. 1859 1860 2014-04-24 Nick Clifton <nickc (a] redhat.com> 1861 1862 PR ld/16807 1863 * peXXigen.c (struct rsrc_regions): New structure. 1864 (rsrc_print_resource_directory): Use new structure. Include 1865 offset of directory in listing. 1866 (rsrc_print_resource_entry): Likewise. 1867 (rsrc_print_section): Likewise. 1868 (rsrc_count_entries): Do not increment sizeof_strings or 1869 sizeof_leaves. 1870 (rsrc_count_directory): Do not increment sizeof_tables. 1871 (rsrc_compute_region_sizes): New function. 1872 (rsrc_write_leaf): Maintain 8-byte alignment for resource data. 1873 (rsrc_process_section): Compute size of regions after merging 1874 entries. 1875 1876 2014-04-23 Alan Modra <amodra (a] gmail.com> 1877 1878 PR ld/16787 1879 * dwarf2.c (struct dwarf2_debug): Add sec_vma field. 1880 (place_sections): Do not modify VMA of sections when called from 1881 linker after sections have been placed in output sections. Short 1882 circuit single section case. 1883 (save_section_vma, section_vma_same): New functions. 1884 (_bfd_dwarf2_slurp_debug_info): Throw away stash if section VMAs 1885 change. 1886 * reloc.c (bfd_perform_relocation): Do not modify reloc addend 1887 when non-relocatable. 1888 1889 2014-04-22 Nick Clifton <nickc (a] redhat.com> 1890 1891 PR ld/16821 1892 * peXXigen.c (_bfd_XXi_swap_sym_out): Fix for 32-bit hosts. 1893 1894 2014-04-22 Christian Svensson <blue (a] cmd.nu> 1895 1896 * Makefile.am: Remove openrisc and or32 support. Add support for or1k. 1897 * archures.c: Likewise. 1898 * coffcode.h: Likewise. 1899 * config.bfd: Likewise. 1900 * configure.in: Likewise. 1901 * reloc.c: Likewise. 1902 * targets.c: Likewise. 1903 * cpu-or1k.c: New file. 1904 * elf32-or1k.c: New file. 1905 * coff-or32.c: Delete. 1906 * cpu-openrisc.c: Delete. 1907 * cpu-or32.c: Delete. 1908 * elf32-openrisc.c: Delete. 1909 * elf32-or32.c: Delete. 1910 * Makefile.in: Regenerate. 1911 * bfd-in2.h: Regenerate. 1912 * configure: Regenerate. 1913 * libbfd.h: Regenerate. 1914 1915 2014-04-22 Yuanhui Zhang <asmwarrior (a] gmail.com> 1916 1917 PR ld/16821 1918 * peXXigen.c (abs_finder): Fix for 32-bit host builds. 1919 1920 2014-04-22 Will Newton <will.newton (a] linaro.org> 1921 1922 * elfnn-aarch64.c (elfNN_aarch64_section_flags): Remove 1923 function. (elf_backend_section_flags): Remove define. 1924 1925 2014-04-21 Richard Henderson <rth (a] redhat.com> 1926 1927 * elf64-alpha.c (elf64_alpha_size_got_sections): New may_merge 1928 parameter; honor it and disable got merging when false. 1929 (elf64_alpha_relax_got_load): Do not relax to GPREL relocs during 1930 the first pass of relaxation. 1931 (elf64_alpha_relax_with_lituse): Likewise. Move relaxed relocs to 1932 the end of the LITERAL+LITUSE chain. 1933 (elf64_alpha_relax_section): Only process LITERAL relocs during the 1934 second pass of relaxation. 1935 1936 * configure.ac (use_secureplt): Enable by default. 1937 * configure: Rebuild. 1938 1939 2014-04-18 Tristan Gingold <gingold (a] adacore.com> 1940 1941 * mach-o.h (bfd_mach_o_dyld_info_command): Add rebase_content, 1942 bind_content, weak_bind_content, lazy_bind_content, 1943 export_content. 1944 (bfd_mach_o_load_command): Add comments, add next field. 1945 (mach_o_data_struct): Replace commands field by first_command 1946 and last_command. 1947 * mach-o.c (bfd_mach_o_append_command): New function. 1948 (bfd_mach_o_bfd_copy_private_symbol_data): Add blank lines. 1949 (bfd_mach_o_bfd_copy_private_section_data): Check flavour, 1950 copy fields. 1951 (bfd_mach_o_bfd_copy_private_header_data): Copy load commands. 1952 (bfd_mach_o_pad4, bfd_mach_o_pad_command): New functions. 1953 (bfd_mach_o_write_thread): Use macro instead of literal. 1954 (bfd_mach_o_write_dylinker, bfd_mach_o_write_dylib) 1955 (bfd_mach_o_write_main, bfd_mach_o_write_dyld_info): New 1956 functions. 1957 (bfd_mach_o_write_symtab_content): New function (extracted 1958 from bfd_mach_o_write_symtab). 1959 (bfd_mach_o_write_symtab): Split. 1960 (bfd_mach_o_count_indirect_symbols): Move 1961 (bfd_mach_o_build_dysymtab): Remove layout code. 1962 (bfd_mach_o_write_contents): Rewritten to build commands in order. 1963 (bfd_mach_o_count_sections_for_seg): Remove. 1964 (bfd_mach_o_build_obj_seg_command): New function (extracted from 1965 bfd_mach_o_build_seg_command). 1966 (bfd_mach_o_build_exec_seg_command): New function. 1967 (bfd_mach_o_build_dysymtab_command): Remove. 1968 (bfd_mach_o_layout_commands): New function. 1969 (bfd_mach_o_init_segment): New function. 1970 (bfd_mach_o_build_commands): Major rework to handle non-object 1971 files. 1972 (bfd_mach_o_alloc_and_read, bfd_mach_o_read_dyld_content): New 1973 function. 1974 (bfd_mach_o_read_dyld_info): Clear content fields. 1975 (bfd_mach_o_read_segment): Adjust call. 1976 (bfd_mach_o_flatten_sections): Adjust as now load commands are 1977 chained. 1978 (bfd_mach_o_scan_start_address, bfd_mach_o_scan) 1979 (bfd_mach_o_mkobject_init, bfd_mach_o_get_base_address) 1980 (bfd_mach_o_lookup_command, bfd_mach_o_core_fetch_environment): 1981 Likewise. 1982 1983 2014-04-18 Tristan Gingold <gingold (a] adacore.com> 1984 1985 * mach-o-target.c (bfd_mach_o_bfd_copy_private_header_data): 1986 Define instead of bfd_mach_o_bfd_copy_private_bfd_data. 1987 * mach-o.c (bfd_mach_o_bfd_copy_private_bfd_data): Rename. 1988 * mach-o.h (bfd_mach_o_bfd_copy_private_bfd_data): Likewise. 1989 1990 2014-04-18 Tristan Gingold <gingold (a] adacore.com> 1991 1992 * mach-o.h (bfd_mach_o_dylinker_command) 1993 (bfd_mach_o_dylib_command, bfd_mach_o_fvmlib_command): Remove 1994 name_len field. 1995 * mach-o.c (bfd_mach_o_read_dylinker, bfd_mach_o_read_dylib) 1996 (bfd_mach_o_read_fvmlib): Adjust after name_len removal. 1997 1998 2014-04-18 Tristan Gingold <gingold (a] adacore.com> 1999 2000 * mach-o.h (bfd_mach_o_backend_data): Add page_size field. 2001 * mach-o-target.c: Check TARGET_PAGESIZE is defined. 2002 (TARGET_NAME_BACKEND): Add TARGET_PAGESIZE. 2003 * mach-o.c (TARGET_PAGESIZE): Define and undefined for 2004 each targets declared. 2005 * mach-o-x86-64.c (TARGET_PAGESIZE): Define. 2006 * mach-o-i386.c (TARGET_PAGESIZE): Define. 2007 2008 2014-04-18 Tristan Gingold <gingold (a] adacore.com> 2009 2010 * mach-o.c (bfd_mach_o_write_thread) 2011 (bfd_mach_o_write_section_32, bfd_mach_o_write_section_64) 2012 (bfd_mach_o_write_segment_32, bfd_mach_o_write_segment_64) 2013 (bfd_mach_o_read_dylinker, bfd_mach_o_read_dylib) 2014 (bfd_mach_o_read_prebound_dylib, bfd_mach_o_read_prebind_cksum) 2015 (bfd_mach_o_read_twolevel_hints, bfd_mach_o_read_fvmlib) 2016 (bfd_mach_o_read_thread, bfd_mach_o_read_dysymtab) 2017 (bfd_mach_o_read_symtab, bfd_mach_o_read_uuid) 2018 (bfd_mach_o_read_linkedit, bfd_mach_o_read_str) 2019 (bfd_mach_o_read_dyld_info, bfd_mach_o_read_segment) 2020 (bfd_mach_o_read_segment_32, bfd_mach_o_read_segment_64) 2021 (bfd_mach_o_read_command): Now return a boolean status. 2022 Adjust return statements. 2023 (bfd_mach_o_write_contents, bfd_mach_o_scan): Adjust tests. 2024 (bfd_mach_o_core_file_failing_command): Remove useless initialization. 2025 2026 2014-04-17 Kwok Cheung Yeung <kcy (a] codesourcery.com> 2027 2028 * elfxx-mips.c (struct mips_got_info): Delete assigned_gotno 2029 field. Add assigned_low_gotno and assigned_high_gotno fields. 2030 (mips_elf_create_local_got_entry): Update out-of-space condition. 2031 Set index of new GOT entry to assigned_low_gotno if required by 2032 the current relocation, else set it to assigned_high_gotno. 2033 (mips_elf_set_global_gotidx): Replace uses of assigned_gotno 2034 with assigned_low_gotno. 2035 (mips_elf_multi_got): Initialize assigned_low_gotno and 2036 assigned_high_gotno in secondary GOTs. Use assigned_low_gotno 2037 in place of assigned_gotno when handling global GOT entries. 2038 (mips_elf_lay_out_got): Initialize assigned_low_gotno and 2039 assigned_high_gotno. 2040 (_bfd_mips_elf_finish_dynamic_sections): Account for a possible 2041 gap in the middle of local GOT space. 2042 2043 2014-04-17 Alan Modra <amodra (a] gmail.com> 2044 2045 PR 16846 2046 * elflink.c (_bfd_elf_merge_symbol): Ignore TLS mismatch when 2047 current bfd is a plugin. Don't always set type_change_ok 2048 when old bfd is a plugin. 2049 2050 2014-04-16 Tristan Gingold <gingold (a] adacore.com> 2051 2052 * mach-o-x86-64.c (bfd_mach_o_x86_64_mkobject): Adjust cpusubtype 2053 flag. 2054 2055 2014-04-16 Alan Modra <amodra (a] gmail.com> 2056 2057 * elf32-ppc.c (ppc_elf_relocate_section): Fill 476 fixup area 2058 with "ba 0" rather than zeros. 2059 2060 2014-04-15 Marcus Shawcroft <marcus.shawcroft (a] arm.com> 2061 2062 * (elfNN_aarch64_tls_relax): Fix instruction mask. 2063 2064 2014-04-14 Alan Modra <amodra (a] gmail.com> 2065 2066 * elf32-ppc.c (BA): Define 2067 (ppc_elf_link_hash_table_create): Correct default_params. 2068 (write_glink_stub): Pad small plt call stub with "ba 0" rather 2069 than "nop" for ppc476_workaround. 2070 (ppc_elf_finish_dynamic_sections): Likewise for branch table 2071 and __glink_PLTresolve. Ensure plt call stub at end of page 2072 doesn't allow fall-thru prefetch. 2073 2074 2014-04-11 Nick Clifton <nickc (a] redhat.com> 2075 2076 PR ld/16821 2077 * peXXigen.c (abs_finder): New function. 2078 (_bfd_XXi_swap_sym_out): For absolute symbols with values larger 2079 than 1^32 try to convert them into section relative values 2080 instead. 2081 2082 2014-04-11 Nick Clifton <nickc (a] redhat.com> 2083 2084 * bfd-in2.h: Regenerate. 2085 * libbfd.h: Regenerate. 2086 2087 2014-04-10 Cesar Philippidis <cesar (a] codesourcery.com> 2088 2089 * elf32-nios2.c (nios2_elf32_build_stubs): Ignore dynobjs 2090 when building function stubs. 2091 2092 2014-04-10 Senthil Kumar Selvaraj <senthil_kumar.selvaraj (a] atmel.com> 2093 2094 * elf32-avr.c: Add DIFF relocations for AVR. 2095 (avr_final_link_relocate): Handle the DIFF relocs. 2096 (bfd_elf_avr_diff_reloc): New. 2097 (elf32_avr_is_diff_reloc): New. 2098 (elf32_avr_adjust_diff_reloc_value): Reduce difference value. 2099 (elf32_avr_relax_delete_bytes): Recompute difference after deleting 2100 bytes. 2101 2102 * reloc.c: Add BFD_RELOC_AVR_DIFF8/16/32 relocations 2103 2104 2014-04-09 Alan Modra <amodra (a] gmail.com> 2105 2106 * libcoff.h: Regenerate. 2107 2108 2014-04-09 Alan Modra <amodra (a] gmail.com> 2109 2110 * elf32-ppc.c (ppc_elf_relocate_section): Remove bctr from list 2111 of safe ppc476 insns at end of page. Also remove non-branch insns. 2112 Expand comments. 2113 2114 2014-04-08 Jon Turney <jon.turney (a] dronecode.org.uk> 2115 2116 * peXXigen.c (pe_print_debugdata): New function: Displays the 2117 contents of the debug directory and decodes codeview entries. 2118 (_bfd_XXi_swap_debugdir_in, _bfd_XXi_swap_debugdir_out) 2119 (_bfd_XXi_slurp_codeview_record, _bfd_XXi_write_codeview_record): 2120 Add functions for reading and writing debugdir and codeview 2121 records. 2122 * libpei.h (_bfd_XXi_swap_debugdir_in, _bfd_XXi_swap_debugdir_out) 2123 (_bfd_XXi_write_codeview_record): Add prototypes and macros. 2124 * libcoff-in.h (pe_tdata): Add build-id data. 2125 * libcoff.h: Regenerate. 2126 * coffcode.h (coff_write_object_contents): Run build_id 2127 after_write_object_contents hook. 2128 2129 2014-04-05 Alan Modra <amodra (a] gmail.com> 2130 2131 * elflink.c (_bfd_elf_add_default_symbol): Pass poldbfd when 2132 merging non-default sym. 2133 2134 2014-04-04 Tristan Gingold <gingold (a] adacore.com> 2135 2136 * mach-o.c (bfd_mach_o_header_p): Reject 64 bit target when not 2137 configured for. 2138 2139 2014-04-04 Tristan Gingold <gingold (a] adacore.com> 2140 2141 * mach-o.c (bfd_mach_o_convert_section_name_to_mach_o): Fix 2142 thinko on names length. 2143 2144 2014-04-04 Tristan Gingold <gingold (a] adacore.com> 2145 2146 * mach-o-i386.c (bfd_mach_o_i386_swap_reloc_out): Use target index 2147 of output_section. 2148 * mach-o-x86-64.c (bfd_mach_o_x86_64_swap_reloc_out): Ditto. 2149 2150 2014-04-04 Tristan Gingold <gingold (a] adacore.com> 2151 2152 * bfd.c (bfd_get_arch_size): Default is taken from arch. 2153 2154 2014-04-03 Jon Turney <jon.turney (a] dronecode.org.uk> 2155 2156 * peXXigen.c (pe_print_edata): Verify edt.name lies inside 2157 section before dereferencing. 2158 (pe_print_idata, pe_print_edata, pe_print_reloc) 2159 (rsrc_print_section): Don't bother interpreting the contents 2160 of sections which have no contents. 2161 2162 2014-04-03 Maria Guseva <m.guseva (a] samsung.com> 2163 2164 PR ld/16803 2165 * elf.c (_bfd_elf_set_section_contents): Use correct type to hold 2166 file position. 2167 2168 2014-04-03 Tristan Gingold <gingold (a] adacore.com> 2169 2170 * mach-o.c (bfd_mach_o_mangle_symbols): Use index from 2171 output_section. 2172 (bfd_mach_o_build_seg_command): Add comment. Realign segment. 2173 Fix style. 2174 (bfd_mach_o_build_commands, bfd_mach_o_read_thread): Fix style. 2175 2176 2014-04-03 Alan Modra <amodra (a] gmail.com> 2177 2178 * elf-bfd.h (struct elf_backend_data 2179 <elf_backend_bfd_from_remote_memory>): Replace "size_t size" 2180 with "bfd_size_type size". 2181 (_bfd_elf32_bfd_from_remote_memory): Likewise. 2182 (_bfd_elf64_bfd_from_remote_memory): Likewise. 2183 * elf.c (bfd_elf_bfd_from_remote_memory): Likewise. 2184 * elfcode.h (bfd_from_remote_memory): Likewise. 2185 * bfd-in.h (bfd_elf_bfd_from_remote_memory): Likewise. 2186 * bfd-in2.h: Regenerate. 2187 2188 2014-04-02 Tristan Gingold <gingold (a] adacore.com> 2189 2190 * mach-o.h (bfd_mach_o_twolevel_hints_command) 2191 (bfd_mach_o_prebind_cksum_command): New types. 2192 (bfd_mach_o_prebound_dylib_command): Rewrite. 2193 (bfd_mach_o_load_command): Add prebind_cksum and twolevel_hints 2194 fields. 2195 * mach-o.c (bfd_mach_o_read_prebound_dylib): Read and decode the 2196 command. 2197 (bfd_mach_o_read_prebind_cksum): New function. 2198 (bfd_mach_o_read_twolevel_hints): Ditto. 2199 (bfd_mach_o_read_command): Handle prebind cksum and twolevel hints 2200 commands. 2201 2202 2014-04-02 Alan Modra <amodra (a] gmail.com> 2203 2204 * elfcode.h (bfd_from_remote_memory): Add "size" parameter. 2205 Consolidate code handling possible section headers past end of 2206 segment. Don't use p_align for page size guess, instead use 2207 minpagesize. Take note of ld.so clearing section headers when 2208 p_memsz > p_filesz. Handle file header specifying no section 2209 headers. Handle zero p_align throughout. Default loadbase to 2210 zero. Add comments. Rename contents_size to high_offset, and 2211 make it a bfd_vma. Delete unnecessary bfd_set_error calls. 2212 * bfd-in.h (bfd_elf_bfd_from_remote_memory): Update prototpe. 2213 * elf-bfd.h (struct elf_backend_data <elf_backend_from_remote_memory>): 2214 Likewise. 2215 (_bfd_elf32_bfd_from_remote_memory): Likewise. 2216 (_bfd_elf64_bfd_from_remote_memory): Likewise. 2217 * elf.c (bfd_elf_bfd_from_remote_memory): Adjust. 2218 * bfd-in2.h: Regnerate. 2219 2220 2014-04-01 Tristan Gingold <gingold (a] adacore.com> 2221 2222 * mach-o.c (bfd_mach_o_canonicalize_one_reloc): Avoid to crash 2223 when num == 0. 2224 2225 2014-03-27 Yury Gribov <y.gribov (a] samsung.com> 2226 Pavel Fedin <p.fedin (a] samsung.com> 2227 2228 * elf32-arm.c: Add support for limited pretty-printing of PLT 2229 entries on eabi and nacl targets. 2230 (elf32_arm_get_synthetic_symtab): Add new callback. 2231 (elf32_arm_nacl_plt_sym_val): Likewise. 2232 (elf32_arm_plt0_size): Add helper function. 2233 (elf32_arm_plt_size): Likewise. 2234 2235 2014-03-27 Tristan Gingold <gingold (a] adacore.com> 2236 2237 * mach-o.c (bfd_mach_o_read_dylinker): Remove assert. 2238 (bfd_mach_o_read_command): Handle BFD_MACH_O_LC_DYLD_ENVIRONMENT. 2239 2240 2014-03-27 Tristan Gingold <gingold (a] adacore.com> 2241 2242 * mach-o.h (bfd_mach_o_get_base_address): New prototype. 2243 * mach-o.c (bfd_mach_o_write_symtab) 2244 (bfd_mach_o_write_contents) 2245 (bfd_mach_o_set_section_flags_from_bfd) 2246 (bfd_mach_o_build_seg_command): Fix indentation. 2247 (bfd_mach_o_get_base_address): New function. 2248 2249 2014-03-26 Nick Clifton <nickc (a] redhat.com> 2250 2251 * cofflink.c (_bfd_coff_generic_relocate_section): Skip 2252 relocations in discarded sections. 2253 2254 2014-03-26 Tristan Gingold <gingold (a] adacore.com> 2255 2256 * mach-o.c (bfd_mach_o_convert_architecture): Add 2257 BFD_MACH_O_CPU_TYPE_ARM64. 2258 2259 2014-03-26 Alan Modra <amodra (a] gmail.com> 2260 2261 * elf64-ppc.c (ppc64_elf_check_relocs): Account for possibly 2262 needed plt entries when taking the address of functions for 2263 abiversion == 0 (ie. unknown) as well as abiversion == 2. 2264 Move opd setup and abiversion checks to.. 2265 (ppc64_elf_before_check_relocs): ..here. Renamed from 2266 ppc64_elf_process_dot_syms. Set output abiversion from input and 2267 input abiversion from output, if either is not set. 2268 (ppc64_elf_merge_private_bfd_data): Don't merge flags here. 2269 (elf_backend_check_directives): Update. 2270 2271 2014-03-25 Will Newton <will.newton (a] linaro.org> 2272 2273 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_sections): 2274 Set value of DT_PLTRELSZ and DT_RELASZ based on the size 2275 of input sections rather than output sections. 2276 2277 2014-03-20 Will Newton <will.newton (a] linaro.org> 2278 2279 PR ld/16715 2280 * elf32-arm.c (elf32_arm_check_relocs): Set 2281 pointer_equality_needed for absolute references within 2282 executable links. 2283 (elf32_arm_finish_dynamic_symbol): Set st_value to zero 2284 unless pointer_equality_needed is set. 2285 2286 2014-03-19 Nick Clifton <nickc (a] redhat.com> 2287 2288 * peXXigen.c (rsrc_process_section): Add code to scan input 2289 sections and record their lengths. Use these lengths to find the 2290 start of each merged .rsrc section. 2291 2292 2014-03-17 Tristan Gingold <gingold (a] adacore.com> 2293 2294 * mach-o.c (bfd_mach_o_read_dylib): Handle lazy load dylib. 2295 (bfd_mach_o_read_command): Ditto. 2296 2297 2014-03-14 Meador Inge <meadori (a] codesourcery.com> 2298 2299 * configure.in: Add strnlen to AC_CHECK_DECLS. 2300 * config.in: Regenerate. 2301 * configure: Regenerate. 2302 * sysdep.h (strnlen): Add prototype. 2303 2304 2014-03-14 Alan Modra <amodra (a] gmail.com> 2305 2306 * elf32-ppc.c (ppc_elf_relocate_section): Correct overflow 2307 handling for VLE_SDA21 relocs. 2308 2309 2014-03-13 Tristan Gingold <gingold (a] adacore.com> 2310 2311 * peicode.h (pe_ILF_object_p): Adjust, as the version number 2312 has been read. 2313 (pe_bfd_object_p): Also read version number to detect ILF. 2314 * pe-x86_64.c (COFF_WITH_PE_BIGOBJ): Define. 2315 (x86_64pe_bigobj_vec): Define 2316 * coffcode.h (bfd_coff_backend_data): Add _bfd_coff_max_nscns field. 2317 (bfd_coff_max_nscns): New macro. 2318 (coff_compute_section_file_positions): Use unsigned int for 2319 target_index. Compare with bfd_coff_max_nscns. 2320 (bfd_coff_std_swap_table, ticoff0_swap_table, ticoff1_swap_table): 2321 Set a value for _bfd_coff_max_nscns. 2322 (header_bigobj_classid): New constant. 2323 (coff_bigobj_swap_filehdr_in, coff_bigobj_swap_filehdr_out) 2324 (coff_bigobj_swap_sym_in, coff_bigobj_swap_sym_out) 2325 (coff_bigobj_swap_aux_in, coff_bigobj_swap_aux_out): New 2326 functions. 2327 (bigobj_swap_table): New table. 2328 * libcoff.h: Regenerate. 2329 * coff-sh.c (bfd_coff_small_swap_table): Likewise. 2330 * coff-alpha.c (alpha_ecoff_backend_data): Add value for 2331 _bfd_coff_max_nscns. 2332 * coff-mips.c (mips_ecoff_backend_data): Likewise. 2333 * coff-rs6000.c (bfd_xcoff_backend_data) 2334 (bfd_pmac_xcoff_backend_data): Likewise. 2335 * coff64-rs6000.c (bfd_xcoff_backend_data) 2336 (bfd_xcoff_aix5_backend_data): Likewise. 2337 * targets.c (x86_64pe_bigobj_vec): Declare. 2338 * configure.in (x86_64pe_bigobj_vec): New vector. 2339 * configure: Regenerate. 2340 * config.bfd: Add bigobj object format for Windows targets. 2341 2342 2014-03-12 Nick Clifton <nickc (a] redhat.com> 2343 2344 PR ld/16671 2345 * elf32-arm.c (elf32_arm_add_symbol_hook): Check for ARM format 2346 before testing for vxworks. 2347 2348 2014-03-12 Alan Modra <amodra (a] gmail.com> 2349 2350 * Makefile.in: Regenerate. 2351 2352 2014-03-12 Alan Modra <amodra (a] gmail.com> 2353 2354 PR 16690 2355 * elf.c (copy_elf_program_header): Ignore first section lma if 2356 non-alloc. 2357 2358 2014-03-11 Alan Modra <amodra (a] gmail.com> 2359 2360 PR 16686 2361 * coff-rs6000.c: Include stdint.h. 2362 * coff64-rs6000.c: Likewise. 2363 2364 2014-03-10 Tristan Gingold <gingold (a] adacore.com> 2365 2366 * ticoff.h: Removed. 2367 2368 2014-03-08 Alan Modra <amodra (a] gmail.com> 2369 2370 * elf32-ppc.c (ppc_elf_howto_raw): Correct overflow check for 2371 many relocations. Correct bitsize and rightshift too for a number 2372 of VLE relocs. Describe R_PPC_VLE_SDA21 and R_PPC_VLE_SDA21_LO. 2373 Correct dst_mask on R_PPC_VLE_SDA21_LO. 2374 (ppc_elf_vle_split16): Tidy, delete unnecessary prototype. 2375 (ppc_elf_relocate_section): Modify overflow test for 16-bit 2376 fields in instructions to signed/unsigned according to whether 2377 the field takes a signed or unsigned value. Tidy vle split16 code. 2378 Correct R_PPC_VLE_SDA21 and R_PPC_VLE_SDA21_LO handling. 2379 2380 2014-03-08 Alan Modra <amodra (a] gmail.com> 2381 2382 * elf64-ppc.c (ppc64_elf_howto_raw): Use complain_overflow_signed 2383 for R_PPC64_ADDR14, R_PPC64_ADDR14_BRTAKEN, R_PPC64_ADDR14_BRNTAKEN, 2384 R_PPC64_SECTOFF, R_PPC64_ADDR16_DS, R_PPC64_SECTOFF_DS, 2385 R_PPC64_REL16 entries. Use complain_overflow_dont for R_PPC64_TOC. 2386 (ppc64_elf_relocate_section): Modify overflow test for 16-bit 2387 fields in instructions to signed/unsigned according to whether 2388 the field takes a signed or unsigned value. 2389 2390 2014-03-07 Pedro Alves <palves (a] redhat.com> 2391 2392 PR gdb/16696 2393 * rs6000-core.c (rs6000coff_core_p): Cast pointers to bfd_vma 2394 through ptr_to_uint instead of through long. 2395 2396 2014-03-06 Nick Clifton <nickc (a] redhat.com> 2397 2398 PR 16664 2399 * elf-attrs.c (_bfd_elf_parse_attributes): Add checks for corrupt 2400 attribute section names. 2401 2402 2014-03-05 Alan Modra <amodra (a] gmail.com> 2403 2404 Update copyright years. 2405 2406 2014-03-05 Alan Modra <amodra (a] gmail.com> 2407 2408 * elf64-ppc.c (ppc64_elf_howto_raw): Add R_PPC64_ADDR64_LOCAL entry. 2409 (ppc64_elf_reloc_type_lookup): Support R_PPC64_ADDR64_LOCAL. 2410 (ppc64_elf_check_relocs): Likewise. 2411 (ppc64_elf_relocate_section): Likewise. 2412 * Add BFD_RELOC_PPC64_ADDR64_LOCAL. 2413 * bfd-in2.h: Regenerate. 2414 * libbfd.h: Regenerate. 2415 2416 2014-03-04 Heiher <r (a] hev.cc> 2417 2418 * elfxx-mips.c (mips_set_isa_flags): Use E_MIPS_ARCH_64R2 for 2419 Loongson-3A. 2420 (mips_mach_extensions): Make bfd_mach_mips_loongson_3a an 2421 extension of bfd_mach_mipsisa64r2. 2422 2423 2014-03-04 Nick Clifton <nickc (a] redhat.com> 2424 2425 PR ld/16017 2426 * elf32-arm.c (elf32_thumb2_plt0_entry): New array. 2427 (elf32_thumb2_plt_entry): New array. 2428 (elf32_arm_create_dynamic_sections): Set PLT entry sizes when 2429 using thumb2 based PLT. 2430 (elf32_arm_populate_plt_entry): Handle generating Thumb2 based PLT 2431 entries. 2432 (elf32_arm_final_link_relocate): Do not bias jumps to Thumb based 2433 PLT entries. 2434 (elf32_arm_finish_dynamic_sections): Handle creation of Thumb2 2435 based PLT 0-entry. 2436 (elf32_arm_output_plt_map_1): Handle creation of local symbols for 2437 Thumb2 based PLT 0-entry. 2438 (elf32_arm_output_arch_local_syms): Handle creation of local 2439 symbols for Thumb2 based PLT entries. 2440 2441 2014-02-28 Alan Modra <amodra (a] gmail.com> 2442 2443 PR ld/16643 2444 * elflink.c (elf_gc_sweep): Call gc_sweep_hook for exactly 2445 the same conditions we called check_relocs. 2446 2447 2014-02-27 Yuri Gribov <y.gribov (a] samsung.com> 2448 2449 * bfd-in.h: Add export of bfd_elf32_arm_use_long_plt. 2450 * bfd-in2.h: Regenerate. 2451 * elf32-arm.c (elf32_arm_plt_entry_long): New array. 2452 (elf32_arm_link_hash_table_create): Set plt_entry_size to 16 if 2453 using long PLT entries. 2454 (bfd_elf32_arm_use_long_plt): New function. 2455 (elf32_arm_populate_plt_entry): Add support for long PLT entries. 2456 2457 2014-02-27 Alan Modra <amodra (a] gmail.com> 2458 2459 * elf32-ppc.c (ppc_elf_link_hash_table_create): Provide default 2460 params for targets that don't use ppc32elf.em. 2461 2462 2014-02-20 Chung-Lin Tang <cltang (a] codesourcery.com> 2463 2464 * elf32-nios2.c (nios2_elf32_relocate_section): Fix calculation 2465 of GOTOFF relocations. 2466 2467 2014-02-19 Igor Zamyatin <igor.zamyatin (a] intel.com> 2468 H.J. Lu <hongjiu.lu (a] intel.com> 2469 2470 * elf64-x86-64.c (elf_x86_64_bnd_plt0_entry): New. 2471 (elf_x86_64_legacy_plt_entry): Likewise. 2472 (elf_x86_64_bnd_plt_entry): Likewise. 2473 (elf_x86_64_legacy_plt2_entry): Likewise. 2474 (elf_x86_64_bnd_plt2_entry): Likewise. 2475 (elf_x86_64_bnd_arch_bed): Likewise. 2476 (elf_x86_64_link_hash_entry): Add has_bnd_reloc and plt_bnd. 2477 (elf_x86_64_link_hash_table): Add plt_bnd. 2478 (elf_x86_64_link_hash_newfunc): Initialize has_bnd_reloc and 2479 plt_bnd. 2480 (elf_x86_64_copy_indirect_symbol): Also copy has_bnd_reloc. 2481 (elf_x86_64_check_relocs): Create the second PLT for Intel MPX 2482 in 64-bit mode. 2483 (elf_x86_64_allocate_dynrelocs): Handle the second PLT for IFUNC 2484 symbols. Resolve call to the second PLT if it is created. 2485 (elf_x86_64_size_dynamic_sections): Keep the second PLT section. 2486 (elf_x86_64_relocate_section): Resolve PLT references to the 2487 second PLT if it is created. 2488 (elf_x86_64_finish_dynamic_symbol): Use BND PLT0 and fill the 2489 second PLT entry for BND relocation. 2490 (elf_x86_64_finish_dynamic_sections): Use MPX backend data if 2491 the second PLT is created. 2492 (elf_x86_64_get_synthetic_symtab): New. 2493 (bfd_elf64_get_synthetic_symtab): Likewise. Undefine for NaCl. 2494 2495 2014-02-19 Alan Modra <amodra (a] gmail.com> 2496 2497 * elf64-ppc.h (struct ppc64_elf_params): Add save_restore_funcs. 2498 * elf64-ppc.c (ppc64_elf_func_desc_adjust): Use it to control 2499 provision of out-of-line register save/restore routines. 2500 2501 2014-02-18 Jack Carter <jack.carter (a] imgtec.com> 2502 2503 * elfxx-mips.c(_bfd_mips_elf_modify_segment_map): Deleted hard coding of 2504 PT_DYNAMIC segment flags. 2505 2506 2014-02-17 Jan Kratochvil <jan.kratochvil (a] redhat.com> 2507 2508 PR binutils/16595 2509 * simple.c (struct saved_offsets): New. 2510 (simple_save_output_info): Use it for ptr. 2511 (simple_restore_output_info): Use it for ptr. Check section_count. 2512 (bfd_simple_get_relocated_section_contents): Use it for saved_offsets. 2513 2514 2014-02-17 Alan Modra <amodra (a] gmail.com> 2515 2516 * elf64-ppc.h (struct ppc64_elf_params): Define. 2517 (ppc64_elf_init_stub_bfd, ppc64_elf_edit_opd, ppc64_elf_tls_setup, 2518 ppc64_elf_setup_section_lists, ppc64_elf_size_stubs, 2519 ppc64_elf_build_stubs): Update prototype. 2520 * elf64-ppp.c (struct ppc_link_hash_table): Add params, delete other 2521 fields now in params. Adjust code throughout file. 2522 (ppc64_elf_init_stub_bfd): Delete "abfd" parameter, add "params". 2523 Save params pointer in htab. 2524 (ppc64_elf_edit_opd, ppc64_elf_tls_setup, 2525 ppc64_elf_setup_section_lists, ppc64_elf_size_stubs, 2526 ppc64_elf_build_stubs): Remove parameters now in "params". 2527 2528 2014-02-17 Alan Modra <amodra (a] gmail.com> 2529 2530 * elf32-ppc.c (ppc_elf_relocate_section): Move relocs on insns 2531 patched for ppc476 workaround. Reapply branch taken/not taken 2532 relocs. 2533 2534 2014-02-12 Alan Modra <amodra (a] gmail.com> 2535 2536 * elf32-ppc.c (ppc_elf_relax_section): Don't build long-branch 2537 stubs for calls to __tls_get_addr that we know will later be 2538 optimised away. 2539 2540 2014-02-12 Alan Modra <amodra (a] gmail.com> 2541 2542 * elf32-ppc.c (ppc_elf_relax_section): Enable ppc476 workaround 2543 for ld -r, when code sections are sufficiently aligned. 2544 * elf32-ppc.h (struct ppc_elf_params): Delete pagesize. Add 2545 pagesize_p2. 2546 2547 2014-02-12 Alan Modra <amodra (a] gmail.com> 2548 2549 PR gold/15530 2550 * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Support 2551 --export-dynamic and --dynamic-list marking of symbols. 2552 * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Reorder 2553 cheap tests first. 2554 2555 2014-02-10 H.J. Lu <hongjiu.lu (a] intel.com> 2556 2557 PR gold/16530 2558 * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Mark symbol in 2559 executables if it matches dynamic_list. 2560 2561 2014-02-10 Alan Modra <amodra (a] gmail.com> 2562 2563 * po/SRC-POTFILES.in: Regenerate. 2564 * po/bfd.pot: Regenerate. 2565 2566 2014-02-09 Alan Modra <amodra (a] gmail.com> 2567 2568 * elf-bfd.h (struct elf_backend_data): Add caches_rawsize. 2569 * elfxx-target.h (elf_backend_caches_rawsize): Define. 2570 (elfNN_bed): Init new field. 2571 * elflink.c (elf_link_input_bfd): Handle caches_rawsize. 2572 * elf32-ppc.c (shared_stub_entry): Zero addi offset. 2573 (ppc_elf_relax_section): Don't reallocate section here, write 2574 stubs, or write out relocs for ld -r here.. 2575 (ppc_elf_relocate_section): ..instead write stubs here, and use 2576 existing code to write out relocs for ld -r. Fix offset 2577 adjustment on reloc for little-endian. 2578 (elf_backend_caches_rawsize): Define. 2579 2580 2014-02-07 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 2581 2582 PR build/16550 2583 * cache.c (bfd_cache_max_open): Cast RLIM_INFINITY to rlim_t. 2584 2585 2014-02-04 Jan Kratochvil <jan.kratochvil (a] redhat.com> 2586 2587 * coff-rs6000.c (xcoff_write_archive_contents_big): Free OFFSETS in 2588 return paths. Three times. 2589 * elf64-ppc.c (ppc64_elf_link_hash_table_create): Free HTAB in all 2590 return paths. 2591 (ppc64_elf_tls_optimize): Free TOC_REF in return path. 2592 (ppc64_elf_edit_toc): Free USED in return path. 2593 2594 2014-02-03 Sandra Loosemore <sandra (a] codesourcery.com> 2595 2596 * reloc.c (BFD_RELOC_NIOS2_GOT_LO, BFD_RELOC_NIOS2_GOT_HA): New. 2597 (BFD_RELOC_NIOS2_CALL_LO, BFD_RELOC_NIOS2_CALL_HA): New. 2598 * libbfd.h: Regenerated. 2599 * bfd-in2.h: Regenerated. 2600 * elf32-nios2.c (elf_nios2_howto_table_rel): Add new relocations. 2601 (nios2_reloc_map): Likewise. 2602 (GOT_USED, CALL_USED): Renamed from GOT16_USED and CALL16_USED. 2603 Fixed all references. 2604 (nios2_elf32_relocate_section): Add new relocations. 2605 (nios2_elf32_check_relocs): Likewise. 2606 (nios2_elf32_gc_sweep_hook): Likewise. 2607 2608 2014-02-03 Alan Modra <amodra (a] gmail.com> 2609 2610 * elf32-ppc.c (struct ppc_elf_link_hash_table): Add params. 2611 Delete emit_stub_syms, no_tls_get_addr_opt. Update all uses. 2612 (ppc_elf_link_params): New function. 2613 (ppc_elf_create_glink): Align .glink to 64 bytes for ppc476 2614 workaround. 2615 (ppc_elf_select_plt_layout): Remove plt_style and emit_stub_syms 2616 parameters. Use htab->params instead. 2617 (ppc_elf_tls_setup): Remove no_tls_get_addr_opt parameter. 2618 (ppc_elf_size_dynamic_sections): Align __glink_PLTresolve to 2619 64 bytes for ppc476 workaround. 2620 (struct ppc_elf_relax_info): New. 2621 (ppc_elf_relax_section): Exclude linker created sections and 2622 those too small to hold one instruction. Don't add another 2623 branch around trampolines on later relax passes. Don't 2624 generate trampolines for undefined symbols when !relocatable, 2625 nor for plugin symbols. Allocate space for ppc476 workaround 2626 patch area. Free fixups on error return path. 2627 (ppc_elf_relocate_section): Handle ppc476 workaround patching. 2628 * elf32-ppc.h (struct ppc_elf_params): New. 2629 (ppc_elf_select_plt_layout, ppc_elf_tls_setup): Update prototype. 2630 (ppc_elf_link_params): Declare. 2631 * section.c (SEC_INFO_TYPE_TARGET): Define. 2632 * bfd-in2.h: Regenerate. 2633 2634 2014-02-02 Sandra Loosemore <sandra (a] codesourcery.com> 2635 2636 * elf32-nios2.c (struct elf32_nios2_link_hash_table): Add 2637 h_gp_got field. 2638 (nios2_elf32_relocate_section): Use got_base to adjust 2639 GOT-pointer-relative relocations relative to _gp_got. 2640 (create_got_section): Create _gp_got symbol. 2641 (nios2_elf32_finish_dynamic_symbol): Make _gp_got absolute. 2642 (nios2_elf32_size_dynamic_sections): Set _gp_got offset. 2643 2644 2014-01-30 Sandra Loosemore <sandra (a] codesourcery.com> 2645 2646 * bfd-in2.h: Update from reloc.c. 2647 * elf32-nios2.c: Include elf32-nios2.h. 2648 (elf_nios2_howto_table_rel): Add entry for R_NIOS2_CALL26_NOAT. 2649 (nios2_reloc_map): Likewise. 2650 (enum elf32_nios2_stub_type): Declare. 2651 (struct elf32_nios2_stub_hash_entry): Declare. 2652 (nios2_stub_hash_entry, nios2_stub_hash_lookup): New macros. 2653 (struct elf32_nios2_link_hash_entry): Add hsh_cache field. 2654 (struct elf32_nios2_link_hash_table): Add new fields bstab, 2655 stub_bfd, add_stub_section, layout_sections_again, stub_group, 2656 bfd_count, top_index, input_list, all_local_syms. 2657 (nios2_call26_stub_entry): New. 2658 (nios2_elf32_install_imm16): Move up in file. 2659 (nios2_elf32_install_data): Move up in file. 2660 (hiadj): Move up in file. 2661 (stub_hash_newfunc): New. 2662 (link_hash_newfunc): Initialize hsh_cache field. 2663 (STUB_SUFFIX): New. 2664 (nios2_stub_name): New. 2665 (nios2_get_stub_entry): New. 2666 (nios2_add_stub): New. 2667 (nios2_elf32_setup_section_lists): New. 2668 (nios2_elf32_next_input_section): New. 2669 (CALL26_SEGMENT): New. 2670 (MAX_STUB_SECTION_SIZE): New. 2671 (group_sections): New. 2672 (nios2_type_of_stub): New. 2673 (nios2_build_one_stub): New. 2674 (nios2_size_one_stub): New. 2675 (get_local_syms): New. 2676 (nios2_elf32_size_stubs): New. 2677 (nios2_elf32_build_stubs): New. 2678 (nios2_elf32_do_call26_relocate): Correct CALL26 overflow test. 2679 (nios2_elf32_relocate_section): Handle R_NIOS2_CALL26_NOAT. Add 2680 trampolines for R_NIOS2_CALL26 stubs. 2681 (nios2_elf32_check_relocs): Handle R_NIOS2_CALL26_NOAT. 2682 (nios2_elf32_gc_sweep_hook): Likewise. 2683 (nios2_elf32_link_hash_table_create): Initialize the stub hash table. 2684 (nios2_elf32_link_hash_table_free): New. 2685 (bfd_elf32_bfd_link_hash_table_free): Define. 2686 * elf32-nios2.h: New file. 2687 * libbfd.h: Update from reloc.c. 2688 * reloc.c (BFD_RELOC_NIOS2_CALL26_NOAT): New. 2689 2690 2014-01-29 Nick Clifton <nickc (a] redhat.com> 2691 2692 PR binutils/16318 2693 * elf32-metag.c (elf_metag_post_process_headers): Call 2694 _bfd_elf_post_process_headers. 2695 * elf32-sh64.c (sh64_elf_copy_private_data): Call 2696 _bfd_elf_copy_private_data. 2697 * elf64-sh64.c (sh_elf64_copy_private_data_internal): Likewise. 2698 2699 2014-01-29 Nick Clifton <nickc (a] redhat.com> 2700 2701 * bfd-in.h (bfd_set_section_vma): Delete. 2702 (bfd_set_section_alignment): Delete. 2703 (bfd_set_section_userdata): Delete. 2704 (bfd_set_cacheable): Delete. 2705 * bfd.c (bfd_set_cacheable): New static inline function. 2706 * section.c (bfd_set_section_userdata): Likewise. 2707 (bfd_set_section_vma): Likewise. 2708 (bfd_set_section_alignment): Likewise. 2709 * bfd-in2.h: Regenerate. 2710 2711 2014-01-28 Nick Clifton <nickc (a] redhat.com> 2712 2713 * dwarf2.c (find_abstract_instance_name): For DW_FORM_ref_addr 2714 attributes select the CU containing the abbreviation, which may not 2715 be the current CU. 2716 2717 2014-01-24 Alan Modra <amodra (a] gmail.com> 2718 2719 * elf64-ppc.c (ppc_build_one_stub): Correct reloc count passed 2720 to get_relocs for ELFv2. 2721 2722 2014-01-23 H.J. Lu <hongjiu.lu (a] intel.com> 2723 2724 PR ld/16498 2725 * elf.c (_bfd_elf_map_sections_to_segments): Issue a linker error 2726 if TLS sections are not adjacent. 2727 2728 2014-01-22 Alan Modra <amodra (a] gmail.com> 2729 2730 * elflink.c (elf_link_add_object_symbols): Call minfo for --as-needed. 2731 2732 2014-01-22 Alan Modra <amodra (a] gmail.com> 2733 2734 * elf64-ppc.c (STK_LINKER): Comment typo fix. 2735 2736 2014-01-21 H.J. Lu <hongjiu.lu (a] intel.com> 2737 2738 PR ld/16467 2739 * elflink.c (_bfd_elf_merge_symbol): When types of the existing 2740 regular default symbol definition and the versioned dynamic 2741 symbol definition mismatch, skip the default symbol definition 2742 if one of them is IFUNC. 2743 2744 2014-01-21 H.J. Lu <hongjiu.lu (a] intel.com> 2745 2746 PR ld/2404 2747 * elflink.c (_bfd_elf_merge_symbol): Don't check info->shared, 2748 info->export_dynamic nor h->ref_dynamic for type mismatch when 2749 adding the default version. 2750 2751 2014-01-16 Alan Modra <amodra (a] gmail.com> 2752 2753 * elfxx-mips.c (mips_elf_record_got_page_entry): Pass in a 2754 mips_elf_traverse_got_arg* rather than mips_got_info*. 2755 Adjust caller. Alloc on output_bfd rather than symbol section 2756 owner. 2757 2758 2014-01-15 H.J. Lu <hongjiu.lu (a] intel.com> 2759 2760 * elf32-i386.c (elf_i386_allocate_dynrelocs): Revert the last 2761 change. 2762 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise. 2763 2764 2014-01-14 H.J. Lu <hongjiu.lu (a] intel.com> 2765 2766 PR ld/16428 2767 * elf32-i386.c (elf_i386_allocate_dynrelocs): Don't discard relocs 2768 against __ehdr_start. 2769 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise. 2770 2771 2014-01-14 H.J. Lu <hongjiu.lu (a] intel.com> 2772 2773 * elf32-i386.c (elf_i386_allocate_dynrelocs): Revert the last 2774 change. 2775 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise. 2776 2777 2014-01-14 H.J. Lu <hongjiu.lu (a] intel.com> 2778 2779 PR ld/16428 2780 * elf32-i386.c (elf_i386_allocate_dynrelocs): Don't update reloc 2781 count if there are any non pc-relative relocs. 2782 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise. 2783 2784 2014-01-14 Michael Hudson-Doyle <michael.hudson (a] linaro.org> 2785 Kugan Vivekanandarajah <kugan.vivekanandarajah (a] linaro.org> 2786 2787 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Use correct 2788 offset while calculating relocation address. 2789 (elfNN_aarch64_create_small_pltn_entry): Likewise. 2790 (elfNN_aarch64_init_small_plt0_entry): Likewise. 2791 2792 2014-01-13 Ma Jiang <ma.jiang (a] zte.com.cn> 2793 2794 PR ld/16202 2795 * elf32-arm.c (elf32_arm_final_link_relocate): Refetch addends for 2796 R_ARM_ABS8 and R_ARM_ABS16. 2797 2798 2014-01-13 Alan Modra <amodra (a] gmail.com> 2799 2800 * elf32-ppc.c (ppc_elf_check_relocs): For @local call to ifunc, 2801 error when shared and force a plt call otherwise. 2802 (ppc_elf_size_dynamic_sections): Don't emit DT_PPC_GOT unless 2803 plt_type == PLT_NEW. 2804 (ppc_elf_relocate_section): Add missing test to resolve ifuncs to 2805 the appropriate call stub. 2806 2807 2014-01-10 Alan Modra <amodra (a] gmail.com> 2808 2809 PR ld/14207 2810 PR ld/16322 2811 PR binutils/16323 2812 * elf.c (assign_file_positions_for_load_sections): Revert last change. 2813 (assign_file_positions_for_non_load_sections): When setting up 2814 PT_GNU_RELRO header, don't require a corresponding PT_LOAD 2815 header that completely covers the relro region. 2816 2817 2014-01-09 Tristan Gingold <gingold (a] adacore.com> 2818 2819 * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): use jump 2820 table macros and add macros to initializa the structure. 2821 2822 2014-01-08 H.J. Lu <hongjiu.lu (a] intel.com> 2823 2824 PR ld/14207 2825 PR ld/16322 2826 PR binutils/16323 2827 * elf.c (_bfd_elf_map_sections_to_segments): Don't check section 2828 size for PT_GNU_RELRO segment. 2829 (assign_file_positions_for_load_sections): If PT_LOAD segment 2830 doesn't fit PT_GNU_RELRO segment, adjust its p_filesz and p_memsz. 2831 2832 2014-01-07 Tom Tromey <tromey (a] redhat.com> 2833 2834 * elf32-xtensa.c (vsprint_msg): Don't use old VA_* compatibility 2835 wrappers. 2836 2837 2014-01-03 Nick Clifton <nickc (a] redhat.com> 2838 2839 PR binutils/16199 2840 * elf.c (vma_page_aligned_bias): Handle a maxpagesize value of 2841 zero. 2842 2843 2014-01-02 Yuanhui Zhang <asmwarrior (a] gmail.com> 2844 2845 PR binutils/14289 2846 * pef.c (bfd_pef_xlib_read_header): Increase buffer size to 80. 2847 2848 2014-01-02 Nick Clifton <nickc (a] redhat.com> 2849 2850 PR binutils/11983 2851 * archive.c (_bfd_get_elt_at_filepos): Store a copy of the 2852 filename in the bfd's filename field. 2853 * elfcode.h (bfd_from_remote_memory): Likewise. 2854 * ieee.c (ieee_object_p): Likewise. 2855 * mach-o.c (bfd_mach_o_fat_member_init): Likewise. 2856 * oasys.c (oasys_openr_next_archived_file): Likewise. 2857 * vms-lib.c (_bfd_vms_lib_get_module): Likewise. 2858 * opncls.c (bfd_fopen): Likewise. 2859 (bfd_openstreamr): Likewise. 2860 (bfd_openr_iovec): Likewise. 2861 (bfd_openw): Likewise. 2862 (bfd_create): Likewise. 2863 (_bfd_delete_bfd): Free filename. 2864 2865 For older changes see ChangeLog-2013 2866 2868 Copyright (C) 2014 Free Software Foundation, Inc. 2869 2870 Copying and distribution of this file, with or without modification, 2871 are permitted in any medium without royalty provided the copyright 2872 notice and this notice are preserved. 2873 2874 Local Variables: 2875 mode: change-log 2876 left-margin: 8 2877 fill-column: 74 2878 version-control: never 2879 End: 2880