12012-12-23 Mike Frysinger <vapier@gentoo.org> 2 3 * config.bfd (i[3-7]86-*-linux-*): Add x86_64pei_vec to 4 targ64_selvecs. 5 62012-12-21 H.J. Lu <hongjiu.lu@intel.com> 7 8 * elf64-x86-64.c (elf_x86_64_relocate_section): Check 9 R_X86_64_standard instead of R_X86_64_max for unrecognized 10 relocation. 11 122012-12-21 H.J. Lu <hongjiu.lu@intel.com> 13 14 PR ld/14980 15 * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Properly 16 adjust h->plt.refcount. 17 * elf64-x86-64.c (elf_x86_64_adjust_dynamic_symbol): Likewise. 18 192012-12-19 H.J. Lu <hongjiu.lu@intel.com> 20 21 * elf32-i386.c (elf_i386_relocate_section): Replace 22 bfd_elf32_swap_reloc_out with elf_append_rel. 23 (elf_i386_finish_dynamic_symbol): Likewise. 24 25 * elflink.c (elf_append_rel): Call swap_reloc_out instead of 26 swap_reloca_out. 27 282012-12-18 H.J. Lu <hongjiu.lu@intel.com> 29 30 * elf32-i386.c (elf_i386_finish_dynamic_symbol): Reindent. 31 322012-12-18 Edgar E. Iglesias <edgar.iglesias@gmail.com> 33 34 PR ld/14736 35 * elf32-microblaze.c (calc_fixup): Add end range. 36 372012-12-18 Alan Modra <amodra@gmail.com> 38 39 * elf.c (swap_out_syms): Set shndx to SHN_ABS when not one of 40 the special MAP_* values. 41 422012-12-17 Roland McGrath <mcgrathr@google.com> 43 Alan Modra <amodra@gmail.com> 44 45 * elf32-arm.c (elf32_arm_size_stubs): Skip input BFDs that are 46 not ARM ELF. 47 482012-12-17 Nick Clifton <nickc@redhat.com> 49 50 * MAINTAINERS: Add copyright notice. 51 * Makefile.am: Likewise. 52 * PORTING: Likewise. 53 * README: Likewise. 54 * TODO: Likewise. 55 * acinclude.m4: Likewise. 56 * bfd.m4: Likewise. 57 * config.bfd: Likewise. 58 * configure.com: Likewise. 59 * configure.host: Likewise. 60 * configure.in: Likewise. 61 * makefile.vms: Likewise. 62 * warning.m4: Likewise. 63 * elf64-hppa.c: Fix copyright notice. 64 * Makefile.in: Regenerate. 65 662012-12-16 H.J. Lu <hongjiu.lu@intel.com> 67 68 * elf32-i386.c (elf_i386_check_relocs): Don't check IFUNC 69 relocations here. 70 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise. 71 722012-12-16 H.J. Lu <hongjiu.lu@intel.com> 73 74 PR ld/14968 75 * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Also check 76 local IFUNC references. 77 * elf64-x86-64.c (elf_x86_64_adjust_dynamic_symbol): Likewise. 78 792012-12-14 Tom Tromey <tromey@redhat.com> 80 81 * elf.c (elfcore_grok_note) <NT_FILE>: New case. 82 832012-12-13 H.J. Lu <hongjiu.lu@intel.com> 84 85 PR ld/14956 86 * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Check local 87 IFUNC calls. 88 * elf64-x86-64.c (elf_x86_64_adjust_dynamic_symbol): Likewise. 89 902012-12-10 Edgar E. Iglesias <edgar.iglesias@gmail.com> 91 92 * reloc.c (MICROBLAZE): Document new relocations 93 * bfd-in2.h: Regenerated 94 * libbfd.h: Regenerated 95 * elf32-microblaze.c (microblaze_elf_howto_raw): Add TLS relocations 96 (microblaze_elf_reloc_type_lookup): Likewise 97 (elf32_mb_link_hash_entry): define TLS reference types 98 (elf32_mb_link_hash_table): add TLS Local dynamic GOT entry 99 #define has_tls_reloc if section has TLS relocs 100 (dtprel_base), (check_unique_offset): New 101 (microblaze_elf_output_dynamic_relocation): output simple 102 dynamic relocation into SRELOC. 103 (microblaze_elf_relocate_section): Accommodate TLS relocations. 104 (microblaze_elf_check_relocs): Likewise 105 (update_local_sym_info): New 106 (microblaze_elf_copy_indirect_symbol): Add tls_mask. 107 (allocate_dynrelocs): Handle TLS symbol 108 (microblaze_elf_size_dynamic_sections): Set size and offset 109 (microblaze_elf_finish_dynamic_symbol): Use 110 microblaze_elf_output_dynamic_relocation 111 1122012-12-09 H.J. Lu <hongjiu.lu@intel.com> 113 114 PR binutils/14933 115 * archive.c (bsd_write_armap): Properly check indicies bigger 116 than 4Gb. 117 1182012-12-07 Alan Modra <amodra@gmail.com> 119 120 PR ld/14926 121 * elf.c (_bfd_elf_map_sections_to_segments): Include elf header 122 size when determining phdr_in_segment. 123 1242012-12-06 Yufeng Zhang <yufeng.zhang@arm.com> 125 126 * elf64-aarch64.c (elf64_aarch64_grok_prstatus): New function. 127 (elf_backend_grok_prstatus): Define to elf64_aarch64_grok_prstatus. 128 1292012-12-06 Alan Modra <amodra@gmail.com> 130 131 * elfxx-mips.c (allocate_dynrelocs): Correct test for symbol 132 defined in a regular file to include common symbols. 133 1342012-12-05 Leif Ekblad <leif@rdos.net> 135 136 * config.bfd: Add x86_64-*-rdos. 137 1382012-12-05 Alan Modra <amodra@gmail.com> 139 140 * elf64-ppc.c (build_plt_stub): Fix off by one error in branch 141 to glink. 142 1432012-12-03 Maciej W. Rozycki <macro@codesourcery.com> 144 145 PR ld/10629 146 * elfxx-mips.c (mips_elf_link_hash_table): Update comment for 147 use_rld_obj_head. 148 (_bfd_mips_elf_create_dynamic_sections): Always create a 149 .rld_map section if no __rld_obj_head symbol has been seen. 150 1512012-12-03 Maciej W. Rozycki <macro@codesourcery.com> 152 153 * elf32-mips.c (mips_elf32_object_p): Return right away when the 154 ABI is not compatible. 155 * elfn32-mips.c (mips_elf_n32_object_p): Likewise. 156 1572012-12-03 Maciej W. Rozycki <macro@codesourcery.com> 158 159 * elf32-tilepro.c (tilepro_elf_mkobject): New function. 160 (bfd_elf32_mkobject): New macro. 161 1622012-12-03 Maciej W. Rozycki <macro@codesourcery.com> 163 164 * elf32-mips.c (bfd_elf32_mkobject): New macro. 165 * elf64-mips.c (bfd_elf64_mkobject): Likewise. 166 * elfn32-mips.c (bfd_elf32_mkobject): Likewise. 167 * elfxx-mips.h (_bfd_mips_elf_mkobject): New prototype. 168 * elfxx-mips.c (mips_elf_obj_tdata): New struct. 169 (mips_elf_tdata): New macro. 170 (_bfd_mips_elf_mkobject): New function. 171 (mips_elf_merge_obj_attributes): Report the originating input BFD 172 on attribute conflicts. 173 1742012-12-03 Maciej W. Rozycki <macro@codesourcery.com> 175 176 * elfxx-mips.c (mips_elf_merge_obj_attributes): Correct messages 177 for the -mdouble-float and -msingle-float cases throughout; make 178 all the messages report the output file consistently on the 179 left-hand side. 180 1812012-11-29 Roland McGrath <mcgrathr@google.com> 182 183 * elf-nacl.c (segment_eligible_for_headers): Disallow writable segments. 184 1852012-11-26 Roland McGrath <mcgrathr@google.com> 186 187 * elf-nacl.c (nacl_modify_segment_map): Don't crash when INFO is null. 188 1892012-11-21 H.J. Lu <hongjiu.lu@intel.com> 190 191 PR binutils/14493 192 * elf.c (copy_elf_program_header): When rewriting program 193 header, set the output maxpagesize to the maximum alignment 194 of input PT_LOAD segments. 195 1962012-11-21 Roland McGrath <mcgrathr@google.com> 197 198 * elf-nacl.c (segment_nonexecutable_and_has_contents): Renamed to ... 199 (segment_eligible_for_headers): ... this. Take new arguments 200 MAXPAGESIZE and SIZEOF_HEADERS. Return false if the first section's 201 start address doesn't leave space for the headers. 202 (nacl_modify_segment_map): Update caller. 203 2042012-11-20 H.J. Lu <hongjiu.lu@intel.com> 205 206 PR ld/14862 207 * elf-bfd.h (elf_link_hash_entry): Remove ref_dynamic_nonweak 208 added by accident. 209 (elf_link_add_object_symbols): Don't set nor check 210 ref_dynamic_nonweak. 211 2122012-11-20 Alan Modra <amodra@gmail.com> 213 214 * elf32-rx.c (rx_elf_print_private_bfd_data): Warning fix. 215 2162012-11-16 Joey Ye <joey.ye@arm.com> 217 218 * elf32-arm.c (elf32_arm_final_link_relocate 219 <case R_ARM_THM_ALU_PREL_11_0, case R_ARM_THM_PC12>): Align address of 220 the place being relocated. 221 (elf32_arm_final_link_relocate, case R_ARM_THM_PC8): Align address 222 of the place being relocated and truncate addend. 223 (Pa): New macro. 224 2252012-11-14 Roland McGrath <mcgrathr@google.com> 226 227 * elf32-arm.c (elf32_arm_nacl_plt0_entry): Use bic rather than bfc 228 instruction for data sandboxing. 229 2302012-11-14 Tristan Gingold <gingold@adacore.com> 231 232 * mach-o.c (bfd_mach_o_read_main) 233 (bfd_mach_o_read_source_version): New functions. 234 (bfd_mach_o_read_command): Handle BFD_MACH_O_LC_DATA_IN_CODE, 235 BFD_MACH_O_LC_DYLIB_CODE_SIGN_DRS, BFD_MACH_O_LC_MAIN, 236 BFD_MACH_O_LC_SOURCE_VERSION. 237 * mach-o.h (bfd_mach_o_main_command) 238 (bfd_mach_o_source_version_command): New types. 239 (bfd_mach_o_load_command): Add fields for these new types. 240 2412012-11-14 Tristan Gingold <gingold@adacore.com> 242 243 * mach-o.c (bfd_mach_o_canonicalize_one_reloc): Add a special 244 handling for non-scattered pairs. Update comments. 245 2462012-11-13 Joe Seymour <jseymour@codesourcery.com> 247 248 * elf.c (rewrite_elf_program_header): Allocate elf_segment_map 249 with bfd_zalloc, instead of bfd_alloc. 250 2512012-11-09 Nick Clifton <nickc@redhat.com> 252 253 * Makefile.am (ALL_MACHINES): Add cpu-v850-rh850.lo. 254 (ALL_MACHINES_CFILES): Add cpu-v850-rh850.c. 255 * archures.c (bfd_arch_info): Add bfd_v850_rh850_arch. 256 * config.bfd: Likewise. 257 * configure.in: Add bfd_elf32_v850_rh850_vec. 258 * cpu-v850.c: Update printed description. 259 * cpu-v850_rh850.c: New file. 260 * elf32-v850.c (v850_elf_check_relocs): Add support for RH850 ABI 261 relocs. 262 (v850_elf_perform_relocation): Likewise. 263 (v850_elf_final_link_relocate): Likewise. 264 (v850_elf_relocate_section): Likewise. 265 (v850_elf_relax_section): Likewise. 266 (v800_elf_howto_table): New. 267 (v850_elf_object_p): Add support for RH850 ABI values. 268 (v850_elf_final_write_processing): Likewise. 269 (v850_elf_merge_private_bfd_data): Likewise. 270 (v850_elf_print_private_bfd_data): Likewise. 271 (v800_elf_reloc_map): New. 272 (v800_elf_reloc_type_lookup): New. 273 (v800_elf_reloc_name_lookup): New. 274 (v800_elf_info_to_howto): New. 275 (bfd_elf32_v850_rh850_vec): New. 276 (bfd_arch_v850_rh850): New. 277 * targets.c (_bfd_targets): Add bfd_elf32_v850_rh850_vec. 278 * Makefile.in: Regenerate. 279 * bfd-in2.h: Regenerate. 280 * configure: Regenerate. 281 282 * elf32-rx.c (describe_flags): New function. Returns a buffer 283 containing a description of the E_FLAG_RX_... values set. 284 (rx_elf_merge_private_bfd_data): Use it. 285 (rx_elf_print_private_bfd_data): Likewise. 286 (elf32_rx_machine): Skip EF_RX_CPU_RX check. 287 (elf32_rx_special_sections): Define. 288 (elf_backend_special_sections): Define. 289 2902012-11-09 Edgar E. Iglesias <edgar.iglesias@gmail.com> 291 292 * config.bfd: Add microblazeel-*-* 293 * configure.in: Likewise. 294 * configure: Regenerate. 295 * elf32-microblaze.c (microblaze_elf_relocate_section): Add endian awareness. 296 (microblaze_elf_merge_private_bfd_data): New. 297 (microblaze_bfd_write_imm_value_32): New. 298 (microblaze_bfd_write_imm_value_64): New. 299 (microblaze_elf_relax_section): Add endian awareness. 300 (microblaze_elf_add_symbol_hook): Define TARGET_LITTLE_NAME, 301 TARGET_LITTLE_SYM and bfd_elf32_bfd_merge_private_bfd_data. 302 * targets.c: Add bfd target bfd_elf32_microblazeel_vec. 303 3042012-11-09 H.J. Lu <hongjiu.lu@intel.com> 305 306 * aout-tic30.c (MY_final_link_callback): Remove trailing 307 redundant `;'. 308 * coff-h8500.c (extra_case): Likewise. 309 (bfd_coff_reloc16_get_value): Likewise. 310 * dwarf2.c (_bfd_dwarf2_cleanup_debug_info): Likewise. 311 * elf.c (_bfd_elf_slurp_version_tables): Likewise. 312 * elf32-frv.c (elf32_frv_relocate_section): Likewise. 313 * elf32-v850.c (v850_elf_perform_relocation): Likewise. 314 * opncls.c (bfd_calc_gnu_debuglink_crc32): Likewise. 315 * plugin.c (add_symbols): Likewise. 316 * reloc.c (bfd_check_overflow): Likewise. 317 * vms-lib.c (_bfd_vms_lib_archive_p): Likewise. 318 3192012-11-08 Tom Tromey <tromey@redhat.com> 320 321 * elf.c (elfcore_grok_note) <NT_SIGINFO>: New case; make 322 pseudosection. 323 3242012-11-08 Alan Modra <amodra@gmail.com> 325 326 * aclocal.m4: Regenerate. 327 * Makefile.in: Regenerate. 328 * po/SRC-POTFILES.in: Regenerate. 329 3302012-11-07 H.J. Lu <hongjiu.lu@intel.com> 331 332 * section.c (bfd_get_section_contents): Replace memcpy 333 with memmove. 334 3352012-11-07 Hans-Peter Nilsson <hp@axis.com> 336 337 PR binutils/14481 338 * aout-target.h (MY_close_and_cleanup): Make local function 339 instead of alias of MY_bfd_free_cached_info. Also call 340 _bfd_generic_close_and_cleanup. 341 3422012-11-06 H.J. Lu <hongjiu.lu@intel.com> 343 344 PR binutils/14813 345 * bfdio.c (bfd_iovec): Change return type of bclose to 346 bfd_boolean. 347 (memory_bclose): Change return type to bfd_boolean. 348 * cache.c (cache_bclose): Likewise. 349 * opncls.c (opncls_bclose): Likewise. Return TRUE on success. 350 * vms-lib.c (vms_lib_bclose): Likewise. Return TRUE. 351 * libbfd.h: Regenerated. 352 3532012-11-06 Tristan Gingold <gingold@adacore.com> 354 355 * coff-x86_64.c (_bfd_generic_find_nearest_line_discriminator): 356 Define as coff_find_nearest_line_discriminator. 357 3582012-11-06 Alan Modra <amodra@gmail.com> 359 360 PR binutils/14567 361 * opncls.c (opncls_iovec): Forward declare. 362 (_bfd_new_bfd_contained_in): If using opncls_iovec, copy iostream 363 to new bfd. 364 3652012-11-06 Alan Modra <amodra@gmail.com> 366 367 * mach-o.c (bfd_mach_o_close_and_cleanup): Don't call 368 _bfd_generic_close_and_cleanup for mach_o_fat archives. 369 3702012-11-06 Alan Modra <amodra@gmail.com> 371 372 * coff-tic4x.c (tic4x_coff0_vec, tic4x_coff0_beh_vec, 373 tic4x_coff1_vec, tic4x_coff1_beh_vec, tic4x_coff2_vec, 374 tic4x_coff2_beh_vec): Allow SEC_CODE and SEC_READONLY in 375 section flags. 376 * coff-ppc.c (TARGET_LITTLE_SYM): Likewise. 377 (TARGET_BIG_SYM): Likewise. 378 3792012-11-06 Alan Modra <amodra@gmail.com> 380 381 * elf64-ppc.c (struct ppc_link_hash_table): Add dot_toc_dot. 382 (ppc64_elf_size_stubs): Lookup ".TOC.". 383 (ppc64_elf_relocate_section): Resolve special symbol ".TOC.". 384 3852012-11-06 Alan Modra <amodra@gmail.com> 386 387 * elf64-ppc.c (maybe_strip_output): Heed SEC_KEEP. 388 3892012-11-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 390 391 PR target/14788 392 * elf32-s390.c (elf_s390_relocate_section): Set elf.dynobj for 393 local ifunc symbols. 394 * elf64-s390.c (elf_s390_relocate_section): Likewise. 395 3962012-11-05 Alan Modra <amodra@gmail.com> 397 398 * configure.in: Apply 2012-09-10 change to config.in here. 399 4002012-11-05 Alan Modra <amodra@gmail.com> 401 402 * elf64-ppc.c (ppc64_elf_edit_toc): Clear "repeat" inside 403 loop. Really mark toc entry referring to another toc entry 404 only if the first is used. 405 4062012-10-30 H.J. Lu <hongjiu.lu@intel.com> 407 408 * configure.in: Also handle --enable-64-bit-bfd when setting 409 CORE_HEADER for 'i[3-7]86-*-linux-*'. 410 4112012-10-30 Steve McIntyre <steve.mcintyre@linaro.org> 412 413 * elf32-arm.c (elf32_arm_print_private_bfd_data): Recognise and 414 display the new ARM hard-float/soft-float ABI flags for EABI_VER5 415 (elf32_arm_post_process_headers): Add the hard-float/soft-float 416 ABI flag as appropriate for ET_DYN/ET_EXEC in EABI_VER5. 417 4182012-10-30 Yao Qi <yao@codesourcery.com> 419 H.J. Lu <hongjiu.lu@intel.com> 420 421 * configure.in: Set CORE_HEADER to hosts/x86-64linux.h for 422 'i[3-7]86-*-linux-*' if x86_64-*linux is enabled. 423 * configure: Regenerated. 424 425 * elf64-x86-64.c (elf_x86_64_write_core_note): Replace type 426 'prpsinfo_t' and 'prstatus_t' with 'prpsinfo64_t' and 427 'prstatus64_t' respectively. 428 429 * hosts/x86-64linux.h (a8_uint64_t): New. 430 (user_regsx32_struct): Renamed to ... 431 (user_regs64_struct): This. Replace uint64_t with a8_uint64_t. 432 (elf_gregx32_t): Renamed to ... 433 (elf_greg64_t): This. Replace uint64_t with a8_uint64_t. 434 (ELF_NGREGX32): Removed. 435 (ELF_NGREG64): New. 436 (elf_gregx32_t): Removed. 437 (elf_greg64_t): New. 438 (struct prstatus64_timeval): New. 439 (elf_prstatusx32): Replace elf_gregsetx32_t with elf_gregset64_t. 440 (elf_prstatus64): New. 441 (elf_prpsinfo64): New. 442 (prstatus64_t, prpsinfo64_t): New typedef. 443 4442012-10-29 Sean Keys <skeys@ipdatasys.com> 445 446 * elf32-xgate.c(elf_xgate_howto_table): Fix src and dest mask for 447 R_XGATE_16 448 4492012-10-29 Alan Modra <amodra@gmail.com> 450 451 * elf32-ppc.c (ppc_elf_howto_raw): Correct dst_mask in 452 R_PPC_VLE_LO16A, R_PPC_VLE_HI16A, R_PPC_VLE_HA16A, 453 R_PPC_VLE_SDAREL_LO16A, R_PPC_VLE_SDAREL_HI16A, 454 R_PPC_VLE_SDAREL_HA16A reloc howtos. 455 4562012-10-26 Nick Clifton <nickc@redhat.com> 457 458 * po/uk.po: Updated Ukranian translation. 459 4602012-10-26 Alan Modra <amodra@gmail.com> 461 462 PR gas/14758 463 * elf32-ppc.c (ppc_elf_reloc_type_lookup): Decode ppc64 _DS 464 bfd_reloc values. Map to corresponding D-form relocs. 465 (is_insn_ds_form, is_insn_qs_form): New functions. 466 (ppc_elf_relocate_section): Validate insn with DS-form or DQ-form 467 fields using D-form reloc. 468 4692012-10-25 H.J. Lu <hongjiu.lu@intel.com> 470 471 * elf32-i386.c (elf_i386_size_dynamic_sections): Replace 472 _GLOBAL_OFFSET_TABLE_ lookup with htab->elf.hgot. 473 * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Likewise. 474 4752012-10-24 H.J. Lu <hongjiu.lu@intel.com> 476 477 * compress.c (bfd_is_section_compressed): Don't decompress the 478 section. 479 4802012-10-23 Nathan Sidwell <nathan@codesourcery.com> 481 482 * bfd-in.h (bfd_elf_stack_segment_size): Declare. 483 * bfd-in2.h: Rebuilt. 484 * elfxx-target.h (elf_backend_stack_align): New. 485 (elfNN_bed): Add it. 486 * elf-bfd.h (struct elf_backend_data): Add stack_align field. 487 * elf.c (bfd_elf_map_sections_to_segments): Pay attention to 488 stack_align and stacksize for PT_GNU_STACK segment. 489 (assign_file_positions_for_non_load_sections): Set p_memsz for 490 PT_GNU_STACK segment. 491 (copy_elf_program_header): Copy PT_GNU_STACK size. 492 * elflink.c (bfd_elf_stack_segment_size): New function, taken from 493 uclinux backends. 494 (bfd_elf_size_dynamic_sections): Determine 495 PT_GNU_STACK requirements after calling backend. Pay attention to 496 stacksize. 497 * elf32-bfin.c (elf32_bfinfdpic_always_size_sections): Call 498 bfd_elf_stack_segment_size. 499 (elf32_bfinfdpic_modify_program_headers): Delete. 500 (elf32_bfingfdpic_copy_private_bfd_data): Don't copy PT_GNU_STACK 501 here. 502 (elf_backend_stack_align): Override. 503 (elf_backend_modify_program_headers): Don't override. 504 * elf32-frv.c (frvfdpic_always_size_sections): Call 505 bfd_elf_stack_segment_size. 506 (elf32_frvfdpic_modify_program_headers): Delete. 507 (elf32_frvfdpic_copy_private_bfd_data): Don't copy PT_GNU_STACK 508 here. 509 (elf_backend_stack_align): Override. 510 (elf_backend_modify_program_headers): Don't override. 511 * elf32-lm32.c (lm32_elf_always_size_sections): Leave 512 PT_GNU_STACK creation to underlying elf support. Check 513 __stacksize here for backwards compatibility, and set it if 514 needed. 515 (lm32_elf_modify_segment_map): Delete. 516 (lm32_elf_modify_program_headers): Delete. 517 (elf_backend_stack_align): Override. 518 (elf_backend_modify_segment_map): Don't override. 519 (elf_backend_modify_program_headers): Don't override. 520 * elf32-sh.c (sh_elf_always_size_sections): Call 521 bfd_elf_stack_segment_size. 522 (sh_elf_modify_program_headers): Delete. 523 (sh_elf_copy_private_data): Don't copy PT_GNU_STACK 524 here. 525 (elf_backend_stack_align): Override. 526 (elf_backend_modify_program_headers): Don't override. 527 * elf32-tic6x.c (elf32_tic6x_always_size_sections): Call 528 bfd_elf_stack_segment_size. 529 (elf32_tic6x_modify_program_headers): Delete. 530 (elf32_tic6x_copy_private_data): Delete. 531 (elf_backend_stack_align): Override. 532 (bfd_elf32_bfd_copy_private_bfd_data): Don't override. 533 (elf_backend_modify_program_headers): Don't override. 534 5352012-10-22 Alan Modra <amodra@gmail.com> 536 537 * cache.c (cache_bmmap): Don't use void* arithmetic. 538 5392012-10-21 Alan Modra <amodra@gmail.com> 540 541 * compress.c (bfd_cache_section_contents): New function. 542 * bfd-in2.h: Regenerate. 543 5442012-10-21 Hans-Peter Nilsson <hp@bitrange.com> 545 546 * linker.c (_bfd_generic_link_output_symbols): Handle a 547 no-longer-global symbol entered through a plugin. 548 5492012-10-20 Alan Modra <amodra@gmail.com> 550 551 * compress.c: Reinstate 2012-10-19 change. 552 (bfd_get_full_section_contents): Don't free unless we alloc. 553 Use proper decompress size. Delete some vars, rename others. 554 5552012-10-19 Tom Tromey <tromey@redhat.com> 556 557 * compress.c: Revert previous patch. 558 5592012-10-19 Tom Tromey <tromey@redhat.com> 560 561 * compress.c (bfd_get_full_section_contents): Don't cache 562 decompressed contents. 563 5642012-10-18 Kai Tietz <ktietz@redhat.com> 565 566 PR binutils/14067 567 * coff-i386.c (bfd_target): Add section flag SEC_EXCLUDE. 568 Allow BFD_COMPRESS and BFD_DECOMPRESS flags. 569 * coff-x86_64.c: Likewise. 570 * coffcode.h (DOT_ZDEBUG): New define. 571 (sec_to_styp_flags): Check for .zdebug. 572 (styp_to_sec_flags): Likewise. 573 * coffgen.c (make_a_section): Handle .debug_* section 574 compression/decompression flags. 575 * cofflink.c (mark_relocs): Ignore relocations 576 for a section, which isn't marked as used. 577 (_bfd_coff_link_input_bfd): Add support of compressed 578 debug sections. 579 * compress.c (decompress_contents): Loop as long 580 as there is input available and there is room for 581 output. 582 * bfd/pe-arm.c: Add .zdebug_ partial match entry. 583 * pe-i386.c: Likewise. 584 * pe-x86_64.c: Likewise. 585 * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Don't clear all 586 data-directories as this might destroy content. 587 588 * coff-i386.c (_bfd_generic_find_nearest_line_discriminator): 589 define as coff_find_nearest_line_discriminator. 590 * libcoff-in.h (coff_find_nearest_line_discriminator): New 591 * libcoff.h: Regenerated. 592 * coff-x86_64.c: Likewise. 593 * coffgen.c (coff_find_nearest_line_discriminator): New function. 594 prototype. 595 5962012-10-16 Joel Brobecker <brobecker@adacore.com> 597 598 * coff64-rs6000.c (rs6000coff64_vec): Set _close_and_cleanup 599 field to _bfd_archive_close_and_cleanup. 600 (aix5coff64_vec): Likewise. 601 6022012-10-16 Joel Brobecker <brobecker@adacore.com> 603 604 * coff-rs6000.c (rs6000coff_vec): Set _close_and_cleanup 605 field to _bfd_archive_close_and_cleanup. 606 (pmac_xcoff_vec): Likewise. 607 6082012-10-16 Sofiane Naci <sofiane.naci@arm.com> 609 610 * elf64-aarch64.c (elf64_aarch64_tls_howto_table): Fix shift value for 611 R_AARCH64_TLSIE_LD_GOTTPREL_PREL19, R_AARCH64_TLSLE_MOVW_TPREL_G2, 612 R_AARCH64_TLSLE_MOVW_TPREL_G1, R_AARCH64_TLSLE_MOVW_TPREL_G1_NC, 613 R_AARCH64_TLSLE_ADD_TPREL_HI12. 614 (elf64_aarch64_tlsdesc_howto_table): Fix shift value for 615 R_AARCH64_TLSDESC_LD64_PREL19 and R_AARCH64_TLSDESC_OFF_G1. 616 (elf64_aarch64_final_link_relocate): Add signed_addend when resolving 617 AARCH64_TLSLE_*_TPREL_* relocations. 618 6192012-10-16 Alan Modra <amodra@gmail.com> 620 621 * elf32-xtensa.c (free_section_cache): Renamed from 622 clear_section_cache. Don't zero cache. 623 (section_cache_section): Remove ineffectual zero of cache. 624 Call init_section_cache instead. 625 6262012-10-15 Doug Evans <dje@google.com> 627 628 * elf.c (special_sections_d): Add comment. 629 6302012-10-13 H.J. Lu <hongjiu.lu@intel.com> 631 632 PR bfd/14430 633 * Makefile.am (LIBDL): Replace -ldl with @lt_cv_dlopen_libs@. 634 * configure.in (lt_cv_dlopen_libs): AC_SUBST. 635 * Makefile.in: Regenerated. 636 * configure: Likewise. 637 6382012-10-08 Alan Modra <amodra@gmail.com> 639 640 PR binutils/14662 641 * elf.c (_bfd_elf_make_section_from_shdr): Treat .gdb_index as 642 SEC_DEBUGGING. 643 6442012-09-20 Walter Lee <walt@tilera.com> 645 646 * elf32-tilepro.c (tilepro_elf_relocate_section): Adjust got 647 relocations with value of hgot. 648 * elfxx-tilegx.c (tilegx_elf_relocate_section): Ditto. 649 6502012-09-19 Steve Ellcey <sellcey@mips.com> 651 652 * config.bfd: Add mips*-mti-elf* target. 653 6542012-09-18 H.J. Lu <hongjiu.lu@intel.com> 655 656 PR ld/14591 657 * elf-bfd.h (_bfd_elf_merge_symbol): Add an argument to return 658 if the old symbol is weak. 659 660 * elf32-sh-symbian.c (sh_symbian_relocate_section): Update 661 _bfd_elf_merge_symbol call. 662 663 * elflink.c (_bfd_elf_merge_symbol): Add an argument to return 664 if the old symbol is weak. 665 (_bfd_elf_add_default_symbol): Update _bfd_elf_merge_symbol 666 call. 667 (elf_link_add_object_symbols): Don't update symbol type from a 668 weak definition. Update symbol type from a common symbol when 669 overriding a weak symbol. 670 6712012-09-17 H.J. Lu <hongjiu.lu@intel.com> 672 673 * elf32-i386.c (elf_i386_convert_mov_to_lea): Ignore discarded 674 section. 675 * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise. 676 6772012-09-17 H.J. Lu <hongjiu.lu@intel.com> 678 679 * elf32-i386.c (elf_i386_finish_dynamic_symbol): Replace return 680 FALSE with abort. 681 * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Likewise. 682 6832012-09-17 Walter Lee <walt@tilera.com> 684 685 * elf32-tilepro.c (tilepro_elf_relocate_section): Remove unused 686 got_base variable. 687 * elfxx-tilegx.c (tilegx_elf_relocate_section): Ditto. 688 6892012-09-17 Walter Lee <walt@tilera.com> 690 691 * elf32-tilepro.c (tilepro_elf_relocate_section): Fix computation 692 of got relocations for when .got.plt section is merged with .got. 693 * elfxx-tilegx.c (tilegx_elf_relocate_section): Ditto. 694 6952012-09-14 David Edelsohn <dje.gcc@gmail.com> 696 697 * configure: Regenerate. 698 6992012-09-13 Anthony Green <green@moxielogic.com> 700 701 * targets.c (bfd_elf32_bigmoxie_vec, bfd_elf32_littlemoxie_vec): 702 Define. 703 (bfd_elf32_moxie_vec): Remove. 704 * config.bfd, configure.in: Add bi-endian support for moxie. 705 * configure: Rebuilt. 706 * elf32-moxie.c (TARGET_LITTLE_NAME, TARGET_LITTLE_SYM): Define. 707 (TARGET_BIG_NAME, TARGET_BIG_SYM): Update for bi-endian support. 708 7092012-09-12 Doug Kwan <dougkwan@google.com> 710 711 * elf64-ppc.c (ppc64_elf_relocate_section): Use pre-adjusted 712 relocation for stub lookup. 713 7142012-09-12 Chris Schlumberger-Socha <chris.schlumberger-socha@arm.com> 715 716 * bfd-in2.h: Regenerated. 717 * elf64-aarch64.c 718 (elf64_aarch64_howto_table): Add R_AARCH64_GOT_LD_PREL19 reloc to HOWTO. 719 (elf64_aarch64_reloc_map): Add reloc entry. 720 (aarch64_resolve_relocation): Likewise. 721 (bfd_elf_aarch64_put_addend): Likewise. 722 (aarch64_reloc_got_type): Likewise. 723 (elf64_aarch64_final_link_relocate): Likewise. 724 (lf64_aarch64_check_relocs): Likewise. 725 (elf64_aarch64_check_relocs): New case for R_AARCH64_ADR_PREL_LO21 726 reloc. 727 * libbfd.h: Regenerated. 728 * reloc.c (R_AARCH64_GOT_LD_PREL19): New reloc. 729 7302012-09-10 Matthias Klose <doko@ubuntu.com> 731 732 * config.in: Disable sanity check for kfreebsd. 733 7342012-09-10 H.J. Lu <hongjiu.lu@intel.com> 735 736 * configure: Regenerated. 737 7382012-09-04 Sergey A. Guriev <sergey.a.guriev@intel.com> 739 740 * cpu-ia64-opc.c (ins_cnt6a): New function. 741 (ext_cnt6a): Ditto. 742 (ins_strd5b): Ditto. 743 (ext_strd5b): Ditto. 744 (elf64_ia64_operands): Add new operand types. 745 7462012-09-04 H.J. Lu <hongjiu.lu@intel.com> 747 748 PR binutils/14493 749 * elf.c (ignore_section_sym): Also ignore section symbols without 750 a BFD section. 751 7522012-09-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 753 754 * elf32-s390.c (elf_s390_relocate_section): Handle PLTOFF for 755 local and global ifunc symbols. 756 * elf64-s390.c (elf_s390_relocate_section): Likewise. 757 7582012-09-02 H.J. Lu <hongjiu.lu@intel.com> 759 760 * elf-bfd.h (elf_link_hash_table): Add hdynamic for the 761 _DYNAMIC symbol. 762 763 * elflink.c (_bfd_elf_link_create_dynamic_sections): Set 764 hdynamic. 765 766 * elf-m10300.c (_bfd_mn10300_elf_finish_dynamic_symbol): Check 767 hdynamic instead of "_DYNAMIC". 768 * elf32-arm.c (elf32_arm_finish_dynamic_symbol): Likewise. 769 * elf32-cr16.c (elf32_arm_finish_dynamic_symbol): Likewise. 770 * elf32-cris.c (elf_cris_finish_dynamic_symbol): Likewise. 771 * elf32-hppa.c (elf32_hppa_finish_dynamic_symbol): Likewise. 772 * elf32-i386.c (elf_i386_convert_mov_to_lea): Likewise. 773 * elf32-lm32.c (lm32_elf_finish_dynamic_symbol): Likewise. 774 * elf32-m32r.c (m32r_elf_finish_dynamic_symbol): Likewise. 775 * elf32-s390.c (elf_s390_finish_dynamic_symbol): Likewise. 776 * elf32-sh.c (sh_elf_finish_dynamic_symbol): Likewise. 777 * elf32-tic6x.c (elf32_tic6x_finish_dynamic_symbol): Likewise. 778 * elf32-tilepro.c (tilepro_elf_finish_dynamic_symbol): Likewise. 779 * elf32-vax.c (elf_vax_finish_dynamic_symbol): Likewise. 780 * elf32-xtensa.c (elf_xtensa_finish_dynamic_symbol): Likewise. 781 * elf64-aarch64.c elf64_aarch64_finish_dynamic_symbol(): Likewise. 782 * elf64-alpha.c (elf64_alpha_finish_dynamic_symbol): Likewise. 783 * elf64-ia64-vms.c (elf64_ia64_finish_dynamic_symbol): Likewise. 784 * elf64-s390.c (elf_s390_finish_dynamic_symbol): Likewise. 785 * elf64-sh64.c (sh64_elf64_finish_dynamic_symbol): Likewise. 786 * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise. 787 * elfnn-ia64.c (elfNN_ia64_finish_dynamic_symbol): Likewise. 788 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Likewise. 789 * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_symbol): Likewise. 790 * elfxx-tilegx.c (tilegx_elf_finish_dynamic_symbol): Likewise. 791 792 * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol): Check 793 hdynamic, hgot, hplt instead of _DYNAMIC, _GLOBAL_OFFSET_TABLE_, 794 _PROCEDURE_LINKAGE_TABLE_. 795 * elf32-score.c (s3_bfd_score_elf_finish_dynamic_symbol): Likewise. 796 * elf32-score7.c (s7_bfd_score_elf_finish_dynamic_symbol): Likewise. 797 7982012-08-31 H.J. Lu <hongjiu.lu@intel.com> 799 800 * elf32-i386.c (elf_i386_convert_mov_to_lea): Don't optimize 801 _DYNAMIC. 802 * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise. 803 8042012-08-31 H.J. Lu <hongjiu.lu@intel.com> 805 806 * elf32-i386.c (elf_i386_convert_mov_to_lea): New. 807 (elf_i386_size_dynamic_sections): Use it on input sections. 808 (elf_i386_relocate_section): Don't convert 809 "mov foo@GOT(%reg), %reg" to "lea foo@GOTOFF(%reg), %reg" 810 for local symbols here. 811 812 * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): New. 813 (elf_x86_64_size_dynamic_sections): Use it on input sections. 814 (elf_x86_64_relocate_section): Don't convert 815 "mov foo@GOTPCREL(%rip), %reg" to "lea foo(%rip), %reg" 816 for local symbols here. 817 8182012-08-30 H.J. Lu <hongjiu.lu@intel.com> 819 820 * elf32-i386.c (elf_i386_relocate_section): Convert 821 "mov foo@GOT(%reg), %reg" to "lea foo@GOTOFF(%reg), %reg" 822 for local symbols. 823 824 * elf64-x86-64.c (elf_x86_64_relocate_section): Convert 825 "mov foo@GOTPCREL(%rip), %reg" to "lea foo(%rip), %reg" 826 for local symbols. 827 8282012-08-31 Alan Modra <amodra@gmail.com> 829 830 PR ld/14464 831 * elf64-ppc.c (ppc64_elf_relocate_section): Map symbols defined 832 by a linker script in .opd to corresponding input .opd section. 833 8342012-08-28 Maciej W. Rozycki <macro@codesourcery.com> 835 836 * elf32-ppc.c (ppc_elf_relocate_section): Assert that dynindx is 837 not minus one. 838 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. 839 8402012-08-28 Maciej W. Rozycki <macro@codesourcery.com> 841 842 * elflink.c (_bfd_elf_merge_symbol): Also override the version 843 a dynamic symbol defaulted to if preempted with a hidden or 844 internal definition. 845 8462012-08-28 Walter Lee <walt@tilera.com> 847 848 * elf32-tilepro.c (allocate_dynrelocs): Use PLT_ENTRY_SIZE as size 849 of header. 850 (tilepro_plt_entry_build): Account for new header size. 851 (tilepro_elf_finish_dynamic_sections): Ditto. 852 (tilepro_elf_plt_sym_val): Ditto. 853 * elfxx-tilegx.c (allocate_dynrelocs): Use PLT_ENTRY_SIZE as size 854 of header + tail. 855 (tilegx_elf_finish_dynamic_sections): Account for new padding. 856 8572012-08-27 Walter Lee <walt@tilera.com> 858 859 * reloc.c (Add BFD_RELOC_TILEGX_IMM16_X0_HW0_PLT_PCREL, 860 BFD_RELOC_TILEGX_IMM16_X1_HW0_PLT_PCREL, 861 BFD_RELOC_TILEGX_IMM16_X0_HW1_PLT_PCREL, 862 BFD_RELOC_TILEGX_IMM16_X1_HW1_PLT_PCREL, 863 BFD_RELOC_TILEGX_IMM16_X0_HW2_PLT_PCREL, 864 BFD_RELOC_TILEGX_IMM16_X1_HW2_PLT_PCREL, 865 BFD_RELOC_TILEGX_IMM16_X0_HW3_PLT_PCREL, 866 BFD_RELOC_TILEGX_IMM16_X1_HW3_PLT_PCREL, 867 BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_PLT_PCREL, 868 BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_PLT_PCREL, 869 BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_PLT_PCREL, 870 BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_PLT_PCREL, 871 BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_PLT_PCREL, 872 BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_PLT_PCREL): new relocations. 873 * elfxx-tilegx.c (tilegx_elf_howto_table): Handle new relocations. 874 (tilegx_reloc_map): Ditto. 875 (reloc_to_create_func): Ditto. 876 (tilegx_elf_check_relocs): Ditto. 877 (tilegx_elf_gc_sweep_hook): Ditto. 878 (tilegx_elf_relocate_section): Ditto. 879 * libbfd.h: Regenerate. 880 * bfd-in2.h: Regenerate. 881 8822012-08-24 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> 883 884 * elf32-arm.c (v8): New array. 885 (tag_cpu_arch_combine): Add support for ARMv8 attributes. 886 (elf32_arm_merge_eabi_attributes): Likewise. 887 (VFP_VERSION_COUNT): New define. 888 8892012-08-20 Tom Tromey <tromey@redhat.com> 890 891 * vms-lib.c (_bfd_vms_lib_get_module): Use bfd_zmalloc for 892 areltdata. 893 * opncls.c (_bfd_delete_bfd): Free arelt_data. 894 * mach-o.c (bfd_mach_o_fat_member_init): Use bfd_zmalloc for 895 areltdata. 896 * ecoff.c (_bfd_ecoff_slurp_armap): Use free for mapdata. 897 * coff-rs6000.c (_bfd_xcoff_read_ar_hdr): Use bfd_zmalloc for 898 areltdata. 899 (xcoff_write_archive_contents_old): Likewise. 900 (xcoff_write_archive_contents_big): Likewise. 901 * archive64.c (bfd_elf64_archive_slurp_armap): Use free for 902 areltdata. 903 * archive.c (_bfd_generic_read_ar_hdr_mag): Use bfd_zmalloc and 904 free for areltdata. 905 (_bfd_get_elt_at_filepos): Likewise. Clear n_nfd->arelt_data on 906 failure. 907 (do_slurp_bsd_armap): Use bfd_zmalloc and free for areltdata. 908 (do_slurp_coff_armap): Likewise. 909 (_bfd_slurp_extended_name_table): Likewise. 910 (bfd_slurp_bsd_armap_f2): Likewise. Don't leak 'mapdata'. 911 9122012-08-17 Nick Clifton <nickc@redhat.com> 913 914 * po/vi.po: Updated Vietnamese translation. 915 9162012-08-17 Yuri Chornoivan <yurchor@ukr.net> 917 918 * elf-bfd.h, * elf32-ppc.c, * elf64-ia64-vms.c, * elfnn-ia64.c, 919 * elfxx-mips.c, * vms-alpha.c: Typo fixes. 920 9212012-08-17 Alan Modra <amodra@gmail.com> 922 923 PR binutils/14475: 924 * archive.c (bfd_ar_hdr_from_filesystem): Revert last change. 925 Instead malloc areltdata. 926 9272012-08-16 Tom Tromey <tromey@redhat.com> 928 929 PR binutils/14475: 930 * archive.c (bfd_ar_hdr_from_filesystem): Allocate areltdata on 931 'member' BFD. Don't try to free 'ared'. 932 9332012-08-14 Nick Clifton <nickc@redhat.com> 934 935 * po/uk.po: Updated Ukranian translation. 936 9372012-08-13 Maciej W. Rozycki <macro@codesourcery.com> 938 939 * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Look up 940 the options section in the output rather than input BFD to 941 decide if to add a DT_MIPS_OPTIONS tag. 942 9432012-08-13 Maciej W. Rozycki <macro@codesourcery.com> 944 945 * config.bfd: Wrap mips*el-*-linux* and mips*-*-linux* into 946 #ifdef BFD64. 947 9482012-08-13 Ian Bolton <ian.bolton@arm.com> 949 Laurent Desnogues <laurent.desnogues@arm.com> 950 Jim MacArthur <jim.macarthur@arm.com> 951 Marcus Shawcroft <marcus.shawcroft@arm.com> 952 Nigel Stephens <nigel.stephens@arm.com> 953 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> 954 Richard Earnshaw <rearnsha@arm.com> 955 Sofiane Naci <sofiane.naci@arm.com> 956 Tejas Belagod <tejas.belagod@arm.com> 957 Yufeng Zhang <yufeng.zhang@arm.com> 958 959 * Makefile.am: Add AArch64 files. 960 * Makefile.in: Regenerate. 961 * archures.c (bfd_aarch64_arch): New declaration. 962 (bfd_archures_list): Use bfd_archures_list. 963 * bfd-in.h (bfd_elf64_aarch64_init_maps): New declaration. 964 (bfd_aarch64_process_before_allocation): New declaration. 965 (bfd_elf64_aarch64_process_before_allocation): New declaration. 966 (bfd_elf64_aarch64_set_options): New declaration. 967 (bfd_elf64_aarch64_add_glue_sections_to_bfd): New declaration. 968 (BFD_AARCH64_SPECIAL_SYM_TYPE_MAP): New definition. 969 (BFD_AARCH64_SPECIAL_SYM_TYPE_TAG): New definition. 970 (BFD_AARCH64_SPECIAL_SYM_TYPE_OTHER): New definition. 971 (BFD_AARCH64_SPECIAL_SYM_TYPE_ANY): New definition. 972 (bfd_is_aarch64_special_symbol_name): New declaration. 973 (bfd_aarch64_merge_machines): New declaration. 974 (bfd_aarch64_update_notes): New declaration. 975 (int bfd_aarch64_get_mach_from_notes): New declaration. 976 (elf64_aarch64_setup_section_lists): New declaration. 977 (elf64_aarch64_next_input_section): New declaration. 978 (elf64_aarch64_size_stubs): New declaration. 979 (elf64_aarch64_build_stubs): New declaration. 980 * config.bfd: Add AArch64. 981 * configure.in: Add AArch64. 982 * configure: Regenerate. 983 * cpu-aarch64.c: New file. 984 * elf-bfd.h: Add AArch64. 985 * bfd-in2.h: Regenerate. 986 * libbfd.h: Regenerate. 987 * elf64-aarch64.c: New file. 988 * reloc.c: Add AArch64 relocations. 989 * targets.c: Add AArch64. 990 * po/SRC-POTFILES.in: Regenerate. 991 9922012-08-13 Maciej W. Rozycki <macro@codesourcery.com> 993 994 * elfxx-mips.c (mips_elf_calculate_relocation): Fix the handling 995 of protected symbols. 996 9972012-08-10 Alan Modra <amodra@gmail.com> 998 999 PR binutils/14444 1000 * elf.c (IS_VALID_GROUP_SECTION_HEADER) Add minsize param. 1001 (setup_group): Adjust uses. 1002 (bfd_section_from_shdr): Allow SHT_GROUP sections with just a flag 1003 word. 1004 10052012-08-09 Nick Clifton <nickc@redhat.com> 1006 1007 * po/vi.po: Updated Vietnamese translation. 1008 10092012-08-09 Maciej W. Rozycki <macro@codesourcery.com> 1010 1011 * elfxx-mips.c (LA25_LUI_MICROMIPS_1, LA25_LUI_MICROMIPS_2): 1012 Remove macros, folding them into... 1013 (LA25_LUI_MICROMIPS): ... this new macro. 1014 (LA25_J_MICROMIPS_1, LA25_J_MICROMIPS_2): Likewise into... 1015 (LA25_J_MICROMIPS): ... this new macro. 1016 (LA25_ADDIU_MICROMIPS_1, LA25_ADDIU_MICROMIPS_2): Likewise 1017 into... 1018 (LA25_ADDIU_MICROMIPS): ... this new macro. 1019 (bfd_put_micromips_32, bfd_get_micromips_32): New functions. 1020 (mips_elf_create_la25_stub): Use them. 1021 (check_br32_dslot, check_br32, check_relocated_bzc): Likewise. 1022 (_bfd_mips_elf_relax_section): Likewise. 1023 10242012-08-09 Alan Modra <amodra@gmail.com> 1025 Tom Tromey <tromey@redhat.com> 1026 1027 * archive.c (SECTION Archives): Update documentation. 1028 (_bfd_delete_archive_data): Remove. 1029 (_bfd_add_bfd_to_archive_cache): Set 'parent_cache' and 'key'. 1030 (archive_close_worker, _bfd_archive_close_and_cleanup): New 1031 functions. 1032 * libbfd-in.h (struct areltdata <parent_cache, key>): New fields. 1033 (_bfd_delete_archive_data): Don't declare. 1034 (_bfd_archive_close_and_cleanup): Declare. 1035 (_bfd_generic_close_and_cleanup): Redefine. 1036 * libbfd.h: Rebuild. 1037 * opncls.c (_bfd_delete_bfd): Don't call _bfd_delete_archive_data. 1038 (bfd_close): Don't close nested thin archives here. 1039 10402012-08-07 Tom Tromey <tromey@redhat.com> 1041 1042 * archive.c (_bfd_delete_archive_data): New function. 1043 * libbfd-in.h (_bfd_delete_archive_data): Declare. 1044 * libbfd.h: Rebuild. 1045 * opncls.c (_bfd_delete_bfd): Call _bfd_delete_archive_data. 1046 10472012-08-07 Nick Clifton <nickc@redhat.com> 1048 1049 * po/uk.po: Updated Ukranian translation. 1050 10512012-08-06 Maciej W. Rozycki <macro@codesourcery.com> 1052 1053 * elflink.c (bfd_elf_record_link_assignment): Remove --defsym 1054 symbols special case. 1055 10562012-08-05 Maciej W. Rozycki <macro@linux-mips.org> 1057 1058 * elf32-vax.c (elf_vax_adjust_dynamic_symbol): Don't allocate 1059 PLT slots for local symbols. 1060 10612012-08-03 Maciej W. Rozycki <macro@codesourcery.com> 1062 1063 * elf64-mips.c (mips16_elf64_howto_table_rela): Correct src_mask 1064 field initializers throughout. 1065 * elfn32-mips.c (elf_mips16_howto_table_rela): Likewise. 1066 10672012-08-03 Maciej W. Rozycki <macro@codesourcery.com> 1068 1069 * elfxx-mips.c (mips_elf_perform_relocation): Update the 1070 cross-mode jump message. 1071 10722012-08-03 Maciej W. Rozycki <macro@codesourcery.com> 1073 1074 * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Update the 1075 comment on DT_MIPS_RLD_MAP. 1076 10772012-08-03 Tom Tromey <tromey@redhat.com> 1078 1079 * opncls.c (_bfd_delete_bfd): Now static. 1080 * libbfd-in.h (_bfd_delete_bfd): Don't declare. 1081 * libbfd.h: Rebuild. 1082 10832012-08-02 Sean Keys <skeys@ipdatasys.com> 1084 1085 * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Modified 1086 conditional statment to allow suppression of mismatched bank 1087 warning. 1088 10892012-08-01 Alan Modra <amodra@gmail.com> 1090 1091 * dwarf2.c (struct dwarf2_debug): Add close_on_cleanup. 1092 (_bfd_dwarf2_slurp_debug_info): Set close_on_cleanup if we open 1093 gnu_debuglink bfd. 1094 (_bfd_dwarf2_cleanup_debug_info): Act on close_on_cleanup. 1095 10962012-07-30 Nick Clifton <nickc@redhat.com> 1097 1098 * po/bfd.pot: Updated template. 1099 * po/es.po: Updated Spanish translation. 1100 * po/fi.po: Updated Finnish translation. 1101 * po/fr.po: Updated French translation. 1102 * po/ru.po: Updated Russian translation. 1103 * po/uk.po: Updated Ukranian translation. 1104 11052012-07-27 Mike Frysinger <vapier@gentoo.org> 1106 1107 * configure.in (AC_INIT): Call with the args bfd and 2.22.52. 1108 (AM_INIT_AUTOMAKE): Remove args. 1109 * configure: Regenerate. 1110 11112012-07-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 1112 1113 * cpu-s390.c (bfd_s390_64_arch, bfd_s390_arch): Pick the default 1114 arch depending on the target size. 1115 11162012-07-27 Tristan Gingold <gingold@adacore.com> 1117 1118 * configure.in: Bump version to 2.23.51 1119 * configure: Regenerate. 1120 11212012-07-26 Teresa Johnson <tejohnson@google.com> 1122 1123 * bfd/dwarf2.c (find_line): Initialize discriminator_ptr 1124 if it is non-NULL. 1125 11262012-07-26 Meador Inge <meadori@codesourcery.com> 1127 Nick Clifton <nickc@redhat.com> 1128 1129 PR ld/14397 1130 * elf32-arm.c (elf32_arm_finish_dynamic_sections): Report an error 1131 if a required section is missing from the linker script. 1132 11332012-07-24 Jan Waclawek <konfera@efton.sk> 1134 PR 13899 1135 * elf32-avr.c (elf32_avr_relax_delete_bytes): Call 1136 _bfd_elf_link_read_relocs with keep_memory as TRUE. 1137 11382012-07-24 Teresa Johnson <tejohnson@google.com> 1139 1140 * bfd.c (bfd_find_nearest_line_discriminator): New macro. 1141 * coff-rs6000.c: Init _bfd_find_nearest_line_discriminator. 1142 * coff64-rs6000.c: Likewise. 1143 * dwarf2.c (struct line_info): Add discriminator field. 1144 (add_line_info): Fill in new discriminator field. 1145 (decode_line_info): Record discriminator information instead 1146 of ignoring it. 1147 (lookup_address_in_line_info_table): Return discriminator field if 1148 requested. 1149 (comp_unit_find_nearest_line): Add discriminator argument. 1150 (find_line): Likewise. 1151 (_bfd_dwarf2_find_nearest_line): Likewise. 1152 (_bfd_dwarf2_find_line): Likewise. 1153 * elf-bfd.h (_bfd_elf_find_nearest_line_discriminator): New. 1154 (_bfd_elf_find_line_discriminator): Likewise. 1155 (_bfd_generic_find_nearest_line_discriminator): Likewise. Defined. 1156 * elf.c (_bfd_elf_find_nearest_line): Change to a wrapper 1157 that invokes _bfd_elf_find_nearest_line_discriminator with correct 1158 arguments. 1159 (_bfd_elf_find_nearest_line_discriminator): New. 1160 (_bfd_elf_find_line): Change to a wrapper 1161 that invokes _bfd_elf_find_line_discriminator with correct 1162 arguments. 1163 (_bfd_elf_find_line_discriminator): New. 1164 * coffgen.c (coff_find_nearest_line_with_names): Handle 1165 new discriminator argument. 1166 * elf32-arm.c (elf32_arm_find_nearest_line): Likewise. 1167 * elf64-alpha.c (elf64_alpha_find_nearest_line): Likewise. 1168 * elfxx-mips.c (_bfd_mips_elf_find_nearest_line): Likewise. 1169 * mach-o.c (bfd_mach_o_find_nearest_line): Likewise. 1170 * libbfd-in.h (_bfd_dwarf2_find_nearest_line): Add discriminator 1171 argument. 1172 (_bfd_dwarf2_find_line): Likewise. 1173 (_bfd_generic_find_nearest_line_discriminator): New. 1174 * libbfd.c (_bfd_generic_find_nearest_line_discriminator): New. 1175 * bfd-in2.h: Regenerated. 1176 * libbfd.h: Likewise. 1177 * targets.c (BFD_JUMP_TABLE_SYMBOLS): Initialize 1178 _bfd_find_nearest_line_discriminator with 1179 _bfd_generic_find_nearest_line_discriminator. 1180 (bfd_target): Add _bfd_find_nearest_line_discriminator. 1181 11822012-07-24 Sean Keys <skeys@ipdatasys.com> 1183 1184 * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Added code 1185 that enables the linker to offset addresses, when linking against 1186 symbols from the XGATE processor and vice versa. 1187 11882012-07-23 Nick Clifton <nickc@redhat.com> 1189 1190 * cisco-core.c (cisco_core_file_failing_command): Make static. 1191 (cisco_core_file_failing_signal): Make static. 1192 11932012-07-18 H.J. Lu <hongjiu.lu@intel.com> 1194 1195 * bfd-in2.h: Regenerated. 1196 11972012-07-18 Nicolàs Alejandro Di Risio <sheeva@tiscali.it> 1198 1199 PR binutils/14335 1200 * section.c: Fix a typo in comments. 1201 12022012-07-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 1203 1204 * elf64-s390.c: Include elf-s390-common.c. 1205 (R_390_IRELATIVE): New reloc. 1206 (elf_s390_reloc_type_lookup): Support R_390_IRELATIVE. 1207 (RELA_ENTRY_SIZE): New macro. 1208 (elf_s390_link_hash_entry): New fields ifunc_resolver_address and 1209 *ifunc_resolver_section. 1210 (struct plt_entry): New struct. 1211 (struct elf_s390_obj_tdata): New field local_plt. 1212 (elf_s390_local_plt): New macro. 1213 (struct elf_s390_link_hash_table): New field irelifunc. 1214 (ELF64): New macro. 1215 (link_hash_newfunc): Initialize new fields. 1216 (elf_s390_check_relocs): Handle IFUNC symbols. 1217 (elf_s390_adjust_dynamic_symbol): Don't do anything for IFUNC 1218 symbols. 1219 (allocate_dynrelocs): Call s390_elf_allocate_ifunc_dyn_relocs for 1220 IFUNC symbols. 1221 (elf_s390_size_dynamic_sections): Handle IFUNC symbols. 1222 (elf_s390_relocate_section): Likewise. 1223 (elf_s390_finish_dynamic_symbol): Likewise. 1224 (elf_s390_finish_dynamic_sections): Handle local IFUNC symbols. 1225 (elf_s390_finish_ifunc_symbol): New function. 1226 (elf_s390_gc_sweep_hook): Handle local plt entries. 1227 (elf_backend_add_symbol_hook): Define. 1228 * elf32-s390.c: See elf64-s390.c changes. 1229 * elf-s390-common.c: New file. 1230 * bfd-in2.h (BFD_RELOC_390_IRELATIVE): New enum field. 1231 * libbfd.h (BFD_RELOC_390_IRELATIVE): New entry for 1232 BFD_RELOC_390_IRELATIVE. 1233 * reloc.c (BFD_RELOC_390_IRELATIVE): Document new relocation. 1234 12352012-07-13 Nick Clifton <nickc@redhat.com> 1236 1237 * aix386-core.c: Remove use of PTR and PARAMS macros. 1238 * archive.c: Likewise. 1239 * cache.c: Likewise. 1240 * cisco-core.c: Likewise. 1241 * coff-alpha.c: Likewise. 1242 * coff-apollo.c: Likewise. 1243 * coff-aux.c: Likewise. 1244 * coff-h8300.c: Likewise. 1245 * coff-h8500.c: Likewise. 1246 * coff-i386.c: Likewise. 1247 * coff-i960.c: Likewise. 1248 * coff-ia64.c: Likewise. 1249 * coff-m68k.c: Likewise. 1250 * coff-m88k.c: Likewise. 1251 * coff-mcore.c: Likewise. 1252 * coff-mips.c: Likewise. 1253 * coff-or32.c: Likewise. 1254 * coff-ppc.c: Likewise. 1255 * coff-rs6000.c: Likewise. 1256 * coff-sh.c: Likewise. 1257 * coff-sparc.c: Likewise. 1258 * coff-stgo32.c: Likewise. 1259 * coff-tic30.c: Likewise. 1260 * coff-tic4x.c: Likewise. 1261 * coff-tic54x.c: Likewise. 1262 * coff-tic80.c: Likewise. 1263 * coff-w65.c: Likewise. 1264 * cofflink.c: Likewise. 1265 * cpu-arc.c: Likewise. 1266 * cpu-cris.c: Likewise. 1267 * cpu-h8500.c: Likewise. 1268 * cpu-i960.c: Likewise. 1269 * cpu-msp430.c: Likewise. 1270 * cpu-ns32k.c: Likewise. 1271 * cpu-powerpc.c: Likewise. 1272 * cpu-rs6000.c: Likewise. 1273 * cpu-tic4x.c: Likewise. 1274 * cpu-w65.c: Likewise. 1275 * ecoff.c: Likewise. 1276 * ecofflink.c: Likewise. 1277 * elf-m10200.c: Likewise. 1278 * elf32-bfin.c: Likewise. 1279 * elf32-cris.c: Likewise. 1280 * elf32-crx.c: Likewise. 1281 * elf32-fr30.c: Likewise. 1282 * elf32-frv.c: Likewise. 1283 * elf32-h8300.c: Likewise. 1284 * elf32-i960.c: Likewise. 1285 * elf32-m32c.c: Likewise. 1286 * elf32-m68hc11.c: Likewise. 1287 * elf32-m68hc12.c: Likewise. 1288 * elf32-m68hc1x.c: Likewise. 1289 * elf32-m68k.c: Likewise. 1290 * elf32-mcore.c: Likewise. 1291 * elf32-rl78.c: Likewise. 1292 * elf32-rx.c: Likewise. 1293 * elf32-s390.c: Likewise. 1294 * elf32-vax.c: Likewise. 1295 * elf64-alpha.c: Likewise. 1296 * elf64-mmix.c: Likewise. 1297 * elf64-s390.c: Likewise. 1298 * elf64-sparc.c: Likewise. 1299 * elfnn-ia64.c: Likewise. 1300 * elfxx-mips.c: Likewise. 1301 * elfxx-sparc.c: Likewise. 1302 * hash.c: Likewise. 1303 * hp300hpux.c: Likewise. 1304 * hppabsd-core.c: Likewise. 1305 * hpux-core.c: Likewise. 1306 * i386dynix.c: Likewise. 1307 * i386linux.c: Likewise. 1308 * i386lynx.c: Likewise. 1309 * i386mach3.c: Likewise. 1310 * i386msdos.c: Likewise. 1311 * i386os9k.c: Likewise. 1312 * irix-core.c: Likewise. 1313 * lynx-core.c: Likewise. 1314 * m68klinux.c: Likewise. 1315 * mach-o.h: Likewise. 1316 * mipsbsd.c: Likewise. 1317 * netbsd-core.c: Likewise. 1318 * nlm32-i386.c: Likewise. 1319 * osf-core.c: Likewise. 1320 * pc532-mach.c: Likewise. 1321 * pef.c: Likewise. 1322 * ppcboot.c: Likewise. 1323 * ptrace-core.c: Likewise. 1324 * reloc16.c: Likewise. 1325 * sco5-core.c: Likewise. 1326 * som.h: Likewise. 1327 * sparclinux.c: Likewise. 1328 * sparclynx.c: Likewise. 1329 * ticoff.h: Likewise. 1330 * trad-core.c: Likewise. 1331 * vms-lib.c: Likewise. 1332 * xsym.h: Likewise. 1333 13342012-07-09 Alan Modra <amodra@gmail.com> 1335 1336 PR ld/14323 1337 * elflink.c (elf_sort_symbol): Sort by size too. 1338 (elf_link_add_object_symbols <weakdefs>): Simplify binary search. 1339 Do not depend on ordering of symbol aliases. Match largest size. 1340 13412012-07-03 H.J. Lu <hongjiu.lu@intel.com> 1342 1343 * elf.c (assign_section_numbers): Check if number of sections 1344 >= SHN_LORESERVE. 1345 * elfcode.h (elf_object_p): Likewise. 1346 13472012-07-03 Nick Clifton <nickc@redhat.com> 1348 1349 * archive.c (bsd_write_armap): Catch attempts to create an archive 1350 with indicies bigger than 4Gb. 1351 (coff_write_armap): Likewise. 1352 13532012-07-03 H.J. Lu <hongjiu.lu@intel.com> 1354 1355 PR binutils/14319 1356 * elf.c (_bfd_elf_make_section_from_shdr): Don't compress empty 1357 debug section. 1358 13592012-07-03 H.J. Lu <hongjiu.lu@intel.com> 1360 1361 PR ld/3351 1362 * elflink.c (_bfd_elf_update_dynamic_flags): New. 1363 (_bfd_elf_merge_symbol): Update both real and indirect symbol 1364 dynamic flags. 1365 (_bfd_elf_add_default_symbol): Make the real symbol dynamic if 1366 the indirect symbol is defined in a shared library. 1367 (elf_link_add_object_symbols): Likewise. If the indirect 1368 symbol has been forced local, don't make the real symbol 1369 dynamic. 1370 (elf_link_check_versioned_symbol): Check indirect symbol. 1371 (elf_link_output_extsym): Use real symbol definition when 1372 reporting indirect symbol error. Check version info for 1373 dynamic versioned symbol. 1374 13752012-07-03 Alan Modra <amodra@gmail.com> 1376 1377 PR ld/14207 1378 * elf.c (assign_file_positions_for_load_sections): Remove assertions 1379 that only PT_LOAD headers include file header and section headers. 1380 (assign_file_positions_for_non_load_sections): Similarly don't 1381 assert PT_GNU_RELRO header does not include file and section headers. 1382 Compare first section vma rather than PT_LOAD p_vaddr against 1383 relro_start when looking for PT_LOAD covering PT_GNU_RELRO. Replace 1384 abort with assertion. 1385 13862012-07-02 Alan Modra <amodra@gmail.com> 1387 1388 * elf32-m32c.c (m32c_elf_check_relocs): Use bfd_make_section 1389 "anyway" variant when creating .plt. 1390 (m32c_elf_relax_plt_section): Remove redundant test and unused param. 1391 (m32c_elf_relax_section): Test SEC_LINKER_CREATED before calling 1392 m32c_elf_relax_plt_section. 1393 * elfxx-mips.c (mips_elf_create_got_section): Use make anyway variant 1394 when creating .got and .got.plt. 1395 (_bfd_mips_elf_final_link): Likewise for .rtproc, and use 1396 bfd_get_linker_section. 1397 * sunos.c: Similarly throughout. 1398 13992012-07-01 Andreas Schwab <schwab@linux-m68k.org> 1400 1401 * elf.c (_bfd_elf_make_section_from_shdr): Fix typo in error 1402 message. 1403 14042012-06-29 H.J. Lu <hongjiu.lu@intel.com> 1405 1406 * elf64-x86-64.c (elf_x86_64_relocate_section): Return FALSE 1407 on unresolvable relocation. 1408 14092012-06-29 H.J. Lu <hongjiu.lu@intel.com> 1410 1411 * archive.c (_bfd_compute_and_write_armap): Simplify global 1412 symbol handling. 1413 14142012-06-29 Nick Clifton <nickc@redhat.com> 1415 1416 PR ld/14189 1417 * elf32-arm.c (elf32_arm_check_relocs): Do not increment refcount 1418 for locally bound symbols. 1419 14202012-06-29 Alan Modra <amodra@gmail.com> 1421 1422 * section.c (bfd_get_linker_section): New function. 1423 * elf32-arm.c: When retrieving SEC_LINKER_CREATED sections, use 1424 the above throughout rather than bfd_get_section_by_name. Use 1425 bfd_make_section_anyway rather than bfd_make_section when creating 1426 them. 1427 * elf32-bfin.c: Likewise. 1428 * elf32-cr16.c: Likewise. 1429 * elf32-cris.c: Likewise. 1430 * elf32-frv.c: Likewise. 1431 * elf32-hppa.c: Likewise. 1432 * elf32-i370.c: Likewise. 1433 * elf32-i386.c: Likewise. 1434 * elf32-lm32.c: Likewise. 1435 * elf32-m32c.c: Likewise. 1436 * elf32-m32r.c: Likewise. 1437 * elf32-m68k.c: Likewise. 1438 * elf32-microblaze.c: Likewise. 1439 * elf32-ppc.c: Likewise. 1440 * elf32-rl78.c: Likewise. 1441 * elf32-s390.c: Likewise. 1442 * elf32-score.c: Likewise. 1443 * elf32-score7.c: Likewise. 1444 * elf32-sh.c: Likewise. 1445 * elf32-tic6x.c: Likewise. 1446 * elf32-tilepro.c: Likewise. 1447 * elf32-vax.c: Likewise. 1448 * elf32-xstormy16.c: Likewise. 1449 * elf32-xtensa.c: Likewise. 1450 * elf64-alpha.c: Likewise. 1451 * elf64-hppa.c: Likewise. 1452 * elf64-ia64-vms.c: Likewise. 1453 * elf64-ppc.c: Likewise. 1454 * elf64-s390.c: Likewise. 1455 * elf64-sh64.c: Likewise. 1456 * elf64-sparc.c: Likewise. 1457 * elf64-x86-64.c: Likewise. 1458 * elfnn-ia64.c: Likewise. 1459 * elfxx-mips.c: Likewise. 1460 * elfxx-sparc.c: Likewise. 1461 * elfxx-tilegx.c: Likewise. 1462 * elflink.c: Likewise. 1463 * elf-vxworks.c: Likewise. 1464 * elf-m10300.c: Likewise. Also make use of htab plt, got and 1465 gotplt shortcuts. 1466 * bfd-in2.h: Regenerate. 1467 * elf32-lm32.c (lm32_elf_check_relocs): Use the correct bfd when 1468 calling create_rofixup_section. 1469 * elflink.c (bfd_elf_final_link): Simplify test for .dynstr. 1470 14712012-06-29 Alan Modra <amodra@gmail.com> 1472 1473 * elf32-sh.c (sh_elf_create_dynamic_sections): Don't create .rela 1474 section for bss type sections, except for .rela.bss. 1475 * elf-m10300.c (_bfd_mn10300_elf_create_dynamic_sections): Likewise. 1476 * elf32-cr16.c (_bfd_cr16_elf_create_dynamic_sections): Likewise. 1477 * elf32-lm32.c (lm32_elf_create_dynamic_sections): Likewise. 1478 * elf32-m32r.c (m32r_elf_create_dynamic_sections): Likewise. 1479 * elf64-sh64.c (sh64_elf64_create_dynamic_sections): Likewise. 1480 14812012-06-28 Roland McGrath <mcgrathr@google.com> 1482 1483 * elf32-arm.c (elf32_arm_populate_plt_entry): Use int32_t for 1484 displacement calculation in nacl_p case. 1485 14862012-06-28 Nick Clifton <nickc@redhat.com> 1487 1488 * po/uk.po: New Ukranian translation. 1489 * configure.in (ALL_LINGUAS): Add uk. 1490 * configure: Regenerate. 1491 14922012-06-26 Alan Modra <amodra@gmail.com> 1493 1494 * elf64-ppc.c (ppc64_elf_next_toc_section): Don't error if input 1495 file has multiple .got/.toc sections and all don't fit in 1496 current toc group. 1497 14982012-06-22 Roland McGrath <mcgrathr@google.com> 1499 1500 * elf.c (assign_file_positions_for_non_load_sections): Define 1501 __ehdr_start symbol if it's referenced and there's a PT_LOAD 1502 segment that covers both the file and program headers. 1503 15042012-06-22 Andreas Schwab <schwab@linux-m68k.org> 1505 1506 * elf32-m68k.c (elf_m68k_finish_dynamic_symbol): Don't make 1507 _GLOBAL_OFFSET_TABLE_ and _DYNAMIC absolute. 1508 15092012-06-22 Alan Modra <amodra@gmail.com> 1510 1511 * elf64-ppc.c (ppc64_elf_func_desc_adjust): Don't emit out-of-line 1512 save/restore functions when relocatable. Make "funcs" static. 1513 15142012-06-18 Hans-Peter Nilsson <hp@axis.com> 1515 1516 * elf32-cris.c (cris_elf_plt_sym_val): Rewrite to work in presence 1517 of merged .got and .got.plt entries. 1518 15192012-06-18 John Szakmeister <john@szakmeister.net> 1520 1521 * elf32-arm.c (elf32_arm_final_link_relocate): Correct return value. 1522 15232012-06-17 Hans-Peter Nilsson <hp@axis.com> 1524 1525 * elf32-cris.c (cris_elf_relocate_section): <R_CRIS_32_IE> 1526 <R_CRIS_32_GOT_TPREL, R_CRIS_16_GOT_TPREL>: Handle references to 1527 thread common symbols. 1528 15292012-06-13 Nick Clifton <nickc@redhat.com> 1530 1531 * elf32-arm.c (bfd_arm_get_mach_from_attributes): New function. 1532 (elf32_arm_object_p): If the machine number could not be deduced 1533 from the notes, call bfd_arm_get_mach_from_attributes to get the 1534 number from the attributes. 1535 15362012-06-12 H.J. Lu <hongjiu.lu@intel.com> 1537 1538 PR bfd/14207 1539 * elf.c (assign_file_positions_for_non_load_sections): Abort if 1540 PT_GNU_RELRO segment doesn't fit in PT_LOAD segment. 1541 15422012-06-12 Alan Modra <amodra@gmail.com> 1543 1544 PR ld/14207 1545 * elf.c (_bfd_elf_map_sections_to_segments): Disregard bss type 1546 sections at end of PT_LOAD segment when searching for segment 1547 that contains end of relro extent. 1548 15492012-06-11 H.J. Lu <hongjiu.lu@intel.com> 1550 1551 * elf.c (assign_file_positions_for_non_load_sections): Reindent. 1552 15532012-06-11 H.J. Lu <hongjiu.lu@intel.com> 1554 1555 * elf.c (_bfd_elf_map_sections_to_segments): Reindent. 1556 15572012-06-06 Alan Modra <amodra@gmail.com> 1558 1559 * elflink.c (elf_link_input_bfd): Provide a file symbol for 1560 each input file with local syms, if the input lacks such. 1561 (bfd_elf_final_link): Add a file symbol to mark end of locals 1562 for which we can associate with input files. 1563 (struct elf_final_link_info): Add filesym_count field. 1564 (struct elf_outext_info): Add need_second_pass and second_pass. 1565 (elf_link_output_extsym): Detect symbols defined in the output 1566 file, emit them on second pass over locals. 1567 15682012-06-04 Jan Kratochvil <jan.kratochvil@redhat.com> 1569 1570 * bfd-in.h (bfd_elf_bfd_from_remote_memory): Make LEN argument 1571 of target_read_memory as bfd_size_type. 1572 * bfd-in2.h: Regenerate. 1573 * elf-bfd.h (elf_backend_bfd_from_remote_memory): Make LEN 1574 argument of target_read_memory as bfd_size_type. 1575 (_bfd_elf32_bfd_from_remote_memory): Likewise. 1576 (_bfd_elf64_bfd_from_remote_memory): Likewise. 1577 * elf.c (bfd_elf_bfd_from_remote_memory): Likewise. 1578 * elfcode.h (NAME(_bfd_elf,bfd_from_remote_memory)): Likewise. 1579 15802012-06-03 Alan Modra <amodra@gmail.com> 1581 1582 PR binutils/13897 1583 * elf.c (elf_find_function): Cache last function sym info. 1584 (_bfd_elf_maybe_function_sym): Return function size, pass in 1585 section of interest. 1586 * elf-bfd.h (struct elf_backend_data <maybe_function_sym>): Likewise. 1587 (_bfd_elf_maybe_function_sym): Likewise. 1588 * elf64-ppc.c (ppc64_elf_maybe_function_sym): Likewise. 1589 (opd_entry_value): Add in_code_sec param. Revert caching code. 1590 Return -1 if in_code_sec and function found in wrong section. 1591 Update all calls. 1592 15932012-06-01 Siddhesh Poyarekar <siddhesh@redhat.com> 1594 1595 * bfd-in.h (bfd_elf_bfd_from_remote_memory): Make LEN argument 1596 of target_read_memory as size_t. 1597 * bfd-in2.h: Regenerate. 1598 * elf-bfd.h (elf_backend_bfd_from_remote_memory): Make LEN 1599 argument of target_read_memory as size_t. 1600 (_bfd_elf32_bfd_from_remote_memory): Likewise. 1601 (_bfd_elf64_bfd_from_remote_memory): Likewise. 1602 * elf.c (bfd_elf_bfd_from_remote_memory): Likewise. 1603 * elfcode.h (NAME(_bfd_elf,bfd_from_remote_memory)): Likewise. 1604 16052012-06-01 Alan Modra <amodra@gmail.com> 1606 1607 PR binutils/13897 1608 * elf64-ppc.c (opd_entry_value): Rewrite cache code. 1609 16102012-05-29 Tom Tromey <tromey@redhat.com> 1611 1612 * opncls.c (bfd_fopen): Always close fd on failure. 1613 (bfd_fdopenr): Likewise. 1614 16152012-05-27 Alan Modra <amodra@gmail.com> 1616 1617 PR ld/14170 1618 * elflink.c (_bfd_elf_merge_symbol): When a symbol defined in 1619 a dynamic library finds a new instance with non-default 1620 visibility in a regular object, correctly handle symbols 1621 already on the undefs list and undo dynamic symbol state when 1622 the new symbol is hidden or internal. 1623 16242012-05-25 H.J. Lu <hongjiu.lu@intel.com> 1625 1626 * elf32-i386.c (elf_i386_create_dynamic_sections): Don't use 1627 dynamic_sec_flags to create PLT .eh_frame section. 1628 * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Likewise. 1629 16302012-05-25 Alan Modra <amodra@gmail.com> 1631 1632 PR ld/13909 1633 * elf-eh-frame.c (_bfd_elf_eh_frame_present): New function. 1634 (_bfd_elf_maybe_strip_eh_frame_hdr): Use it here. 1635 * elf-bfd.h (_bfd_elf_eh_frame_present): Declare. 1636 * elflink.c (bfd_elf_size_dynamic_sections): Let the backend 1637 size dynamic sections before stripping eh_frame_hdr. 1638 (bfd_elf_gc_sections): Handle multiple .eh_frame sections. 1639 * elf32-ppc.c (ppc_elf_size_dynamic_sections): Drop glink_eh_frame 1640 if no other .eh_frame sections exist. 1641 * elf64-ppc.c (ppc64_elf_size_stubs): Likewise. 1642 * elf32-i386.c (elf_i386_create_dynamic_sections): Don't size 1643 or alloc plt_eh_frame here.. 1644 (elf_i386_size_dynamic_sections): ..do it here instead. Don't 1645 specially keep sgotplt, iplt, tgotplt, sdynbss for symbols. 1646 (elf_i386_finish_dynamic_sections): Check plt_eh_frame->contents 1647 before writing plt offset. 1648 * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Don't size 1649 or alloc plt_eh_frame here.. 1650 (elf_x86_64_size_dynamic_sections): ..do it here instead. 1651 (elf_x86_64_finish_dynamic_sections): Check plt_eh_frame->contents 1652 before writing plt offset. 1653 16542012-05-24 Alan Modra <amodra@gmail.com> 1655 1656 PR ld/14158 1657 * elf64-ppc.c (ppc64_elf_size_stubs): Round up glink_eh_frame 1658 size to output section alignment. 1659 (ppc64_elf_build_stubs): Likewise, and extend last FDE to cover. 1660 16612012-05-23 Alan Modra <amodra@gmail.com> 1662 1663 * elf-eh-frame.c (_bfd_elf_maybe_strip_eh_frame_hdr): Handle 1664 BFDs with multiple .eh_frame sections. 1665 16662012-05-23 Alan Modra <amodra@gmail.com> 1667 1668 PR ld/13909 1669 * elflink.c (bfd_elf_discard_info): Don't ignore dynamic BFDs. 1670 16712012-05-22 H.J. Lu <hongjiu.lu@intel.com> 1672 1673 PR ld/13909 1674 * elf32-i386.c (elf_i386_create_dynamic_sections): Revert the 1675 last change. 1676 * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Likewise. 1677 16782012-05-22 Alan Modra <amodra@gmail.com> 1679 1680 * elflink.c (bfd_elf_discard_info): Look for next .eh_frame if 1681 first one is zero size or discarded. 1682 * elf32-ppc.c (ppc_elf_size_dynamic_sections): Set most of 1683 glink_eh_frame contents here.. 1684 (ppc_elf_finish_dynamic_sections): ..rather than here. Just set 1685 offset to .glink. 1686 16872012-05-22 H.J. Lu <hongjiu.lu@intel.com> 1688 1689 PR ld/13909 1690 * elf32-i386.c (elf_i386_create_dynamic_sections): Create PLT 1691 eh_frame section if there is an input .eh_frame section. 1692 * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Likewise. 1693 16942012-05-22 H.J. Lu <hongjiu.lu@intel.com> 1695 1696 PR ld/14105 1697 * elf32-i386.c (elf_i386_create_dynamic_sections): Always 1698 create PLT eh_frame section with SEC_LINKER_CREATED. 1699 * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Likewise. 1700 17012012-05-22 Alan Modra <amodra@gmail.com> 1702 1703 * elflink.c (bfd_elf_discard_info): Handle multiple .eh_frame 1704 sections attached to a BFD. 1705 * section.c (bfd_get_section_by_name): Rewrite description. 1706 (bfd_get_next_section_by_name): New function. 1707 * bfd-in2.h: Regenerate. 1708 17092012-05-21 Andreas Schwab <schwab@linux-m68k.org> 1710 1711 * elf32-m68k.c (elf_m68k_grok_prstatus): New function. 1712 (elf_m68k_grok_psinfo): New function. 1713 (elf_backend_grok_prstatus): Define. 1714 (elf_backend_grok_psinfo): Define. 1715 17162012-05-19 Maciej W. Rozycki <macro@linux-mips.org> 1717 1718 * elf64-mips.c (elf_backend_got_header_size): Correct definition. 1719 * elfxx-mips.c (_bfd_mips_elf_adjust_dynamic_symbol): Use the ELF 1720 backend's GOT header size instead of hardcoding it. 1721 17222012-05-19 Maciej W. Rozycki <macro@linux-mips.org> 1723 1724 * elf32-vax.c (elf_vax_relocate_section) 1725 <R_VAX_8, R_VAX_16, R_VAX_32>: Don't check if info->shared again. 1726 17272012-05-19 Maciej W. Rozycki <macro@linux-mips.org> 1728 1729 * elf32-vax.c (elf_vax_relocate_section) 1730 <R_VAX_8, R_VAX_16, R_VAX_32>: Use section flags rather than 1731 its name as the check for text sections. 1732 17332012-05-19 Maciej W. Rozycki <macro@linux-mips.org> 1734 1735 * elf64-mips.c (mips_elf64_be_swap_reloc_out): Also make sure 1736 the third reloc offset is the same as the first. 1737 17382012-05-19 Alan Modra <amodra@gmail.com> 1739 1740 * elf32-ppc.h (has_vle_insns, is_ppc_vle): Delete. 1741 (has_tls_reloc, has_tls_get_addr_call): Move back to.. 1742 * elf32-ppc.c: ..here. 1743 (ppc_elf_section_flags, elf_backend_section_flags): Delete. 1744 (ppc_elf_modify_segment_map): Use ELF sh_flags to detect VLE sections. 1745 17462012-05-18 H.J. Lu <hongjiu.lu@intel.com> 1747 1748 * elf32-i386.c (elf_i386_finish_dynamic_symbol): Don't make 1749 _DYNAMIC nor _GLOBAL_OFFSET_TABLE_ absolute. 1750 * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Likewise. 1751 17522012-05-18 Roland McGrath <mcgrathr@google.com> 1753 1754 * archive.c (_bfd_generic_read_ar_hdr_mag): Fix last change so as 1755 not to clobber the ar_fmag field stored in ARED->arch_header. 1756 17572012-05-18 Pedro Alves <palves@redhat.com> 1758 1759 * mach-o.h: Don't include sysdep.h. 1760 17612012-05-18 Nick Clifton <nickc@redhat.com> 1762 1763 PR 14072 1764 * bfd-in.h: Check for PACKAGE or PACKAGE_VERSION before 1765 complaining about config.h not having been included. 1766 * bfd-in2.h: Regenerate. 1767 17682012-05-18 Andreas Schwab <schwab@linux-m68k.org> 1769 1770 * aclocal.m4: Regenerate. 1771 * Makefile.in: Regenerate. 1772 17732012-05-17 Daniel Richard G. <skunk@iskunk.org> 1774 Nick Clifton <nickc@redhat.com> 1775 1776 PR 14072 1777 * configure.in: Add check that sysdep.h has been included before 1778 any system header files. 1779 * configure: Regenerate. 1780 * config.in: Regenerate. 1781 * aclocal.m4: Regenerate. 1782 * bfd-in.h: Generate an error if included before config.h. 1783 * sysdep.h: Likewise. 1784 * bfd-in2.h: Regenerate. 1785 * compress.c: Remove #include "config.h". 1786 * plugin.c: Likewise. 1787 * elf32-m68hc1x.c: Include sysdep.h before alloca-conf.h. 1788 * elf64-hppa.c: Likewise. 1789 * som.c: Likewise. 1790 * xsymc.c: Likewise. 1791 17922012-05-17 Maciej W. Rozycki <macro@linux-mips.org> 1793 Alan Modra <amodra@gmail.com> 1794 1795 * elf.c (ignore_section_sym): Correct comment. Don't return 1796 true for absolute section. 1797 (elf_map_symbols): Move stray comment. Adjust for above change. 1798 Don't discard global section symbols. 1799 18002012-05-17 Alan Modra <amodra@gmail.com> 1801 1802 * elf32-ppc.c (ppc_elf_finish_dynamic_symbol): Don't make _DYNAMIC, 1803 _GLOBAL_OFFSET_TABLE_ or _PROCEDURE_LINKAGE_TABLE_ absolute. 1804 * elf64-ppc.c (ppc64_elf_finish_dynamic_symbol): Don't make _DYNAMIC 1805 absolute. 1806 18072012-05-17 Alan Modra <amodra@gmail.com> 1808 1809 * elf32-ppc.c (has_tls_reloc, has_tls_get_addr_call, has_vle_insns, 1810 is_ppc_vle): Move to.. 1811 * elf32-ppc.h: ..here, making is_ppc_vle a macro. 1812 18132012-05-16 Sergio Durigan Junior <sergiodj@redhat.com> 1814 1815 * bfd-in.h (bfd_get_section_name, bfd_get_section_vma, 1816 bfd_get_section_lma, bfd_get_section_alignment, 1817 bfd_get_section_flags, bfd_get_section_userdata): Rewrite macros 1818 in order to use the `bfd' argument. 1819 * bfd-in2.h: Regenerate. 1820 * elf-vxworks.c (elf_vxworks_finish_dynamic_entry): Pass proper `bfd' 1821 as the first argument for `bfd_get_section_alignment'. 1822 * elf32-arm.c (create_ifunc_sections): Likewise, for 1823 `bfd_set_section_alignment'. 1824 * elf32-m32r.c (m32r_elf_relocate_section): Likewise, for 1825 `bfd_get_section_name'. 1826 * elf32-microblaze.c (microblaze_elf_relocate_section): Likewise. 1827 * elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise. 1828 (ppc_elf_relocate_section): Likewise. 1829 * elf64-mmix.c (mmix_final_link_relocate): Likewise, for 1830 `bfd_get_section_vma'. 1831 * elf64-ppc.c (create_linkage_sections): Likewise, for 1832 `bfd_set_section_alignment'. 1833 18342012-05-16 Georg-Johann Lay <avr@gjlay.de> 1835 1836 PR target/13503 1837 * reloc.c: Rename BFD_RELOC_AVR_8_HHI to BFD_RELOC_AVR_8_HLO. 1838 * bfd-in2.h: Regenerate. 1839 * libbfd.h: Regenerate. 1840 * elf32-avr.c (elf_avr_howto_table): Rename R_AVR_8_HHI8 to 1841 R_AVR_8_HLO8. 1842 (avr_reloc_map): Likewise. 1843 18442012-05-16 Daniel Richard G. <skunk@iskunk.org> 1845 1846 PR binutils/13558 1847 * bfd/aout-cris.c: Include sysdep.h before bfd.h. 1848 * bfd/aout-ns32k.c: Likewise. 1849 * bfd/aout-sparcle.c: Likewise. 1850 * bfd/aout0.c: Likewise. 1851 * bfd/bfd-in2.h: Likewise. 1852 * bfd/coff-stgo32.c: Likewise. 1853 * bfd/cpu-lm32.c: Likewise. 1854 * bfd/cpu-microblaze.c: Likewise. 1855 * bfd/cpu-score.c: Likewise. 1856 * bfd/cpu-tilegx.c: Likewise. 1857 * bfd/cpu-tilepro.c: Likewise. 1858 * bfd/elf32-lm32.c: Likewise. 1859 * bfd/elf32-microblaze.c: Likewise. 1860 * bfd/elf32-score7.c: Likewise. 1861 * bfd/elf32-tilepro.c: Likewise. 1862 * bfd/elfxx-tilegx.c: Likewise. 1863 * bfd/mach-o.h: Likewise. 1864 * bfd/nlm32-ppc.c: Likewise. 1865 * bfd/ns32knetbsd.c: Likewise. 1866 * bfd/pef.h: Likewise. 1867 * bfd/plugin.c: Likewise. 1868 * bfd/stab-syms.c: Likewise. 1869 * bfd/sunos.c: Likewise. 1870 * bfd/syms.c: Likewise. 1871 * bfd/xsym.h: Likewise. 1872 18732012-05-16 Alan Modra <amodra@gmail.com> 1874 1875 * elflink.c: Rename flaginfo to flinfo throughout, except.. 1876 (bfd_elf_lookup_section_flags): ..here, rename finfo to flaginfo. 1877 Formatting, style. Simplify flag match. 1878 18792012-05-16 Alan Modra <amodra@gmail.com> 1880 1881 * dwarf2.c: Formatting. 1882 (arange_add): Pass in unit rather than bfd. Update callers. 1883 Ignore empty ranges. Don't ask for cleared memory. 1884 (parse_comp_unit): Only set unit->base_address if processing 1885 DW_TAG_compile_unit. 1886 (find_debug_info): Optimise section lookup. 1887 (place_sections): Use bfd_alloc for stash->adjusted_sections. 1888 (find_line): Match previously parsed comp unit addresses as we 1889 do for newly parsed comp units. 1890 18912012-05-16 Alan Modra <amodra@gmail.com> 1892 1893 * archive.c (_bfd_generic_read_ar_hdr_mag): Ensure sscanf 1894 stops at end of ar_size field. 1895 18962012-05-16 Alan Modra <amodra@gmail.com> 1897 1898 PR ld/13962 1899 PR ld/7023 1900 * elf.c (bfd_section_from_shdr): Fail when .dynsym sh_info is 1901 out of range. As a special case, fix sh_info for zero sh_size. 1902 Do the same for .symtab. 1903 19042012-05-15 James Murray <jsm@jsm-net.demon.co.uk> 1905 Stephane Carrez <stcarrez@nerim.fr> 1906 1907 * archures.c: Add bfd_arch_m9s12x and bfd_arch_m9s12xg. 1908 * config.bfd: Likewise. 1909 * cpu-m9s12x.c: New. 1910 * cpu-m9s12xg.c: New. 1911 * elf32-m68hc12.c: Add S12X and XGATE co-processor support. 1912 Add option to offset S12 addresses into XGATE memory space. 1913 Fix carry bug in IMM16 (IMM8 low/high) relocate. 1914 * Makefile.am (ALL_MACHINES): Add cpu-m9s12x and cpu-m9s12xg. 1915 (ALL_MACHINES_CFILES): Likewise. 1916 * reloc.c: Add S12X relocs. 1917 * Makefile.in: Regenerate. 1918 * bfd-in2.h: Regenerate. 1919 * libbfd.h: Regenerate. 1920 19212012-05-14 James Lemke <jwlemke@codesourcery.com> 1922 Catherine Moore <clm@codesourcery.com> 1923 1924 * bfd.c (bfd_lookup_section_flags): Add section parm. 1925 * ecoff.c (bfd_debug_section): Remove flag_info initializer. 1926 * elf-bfd.h (bfd_elf_section_data): Move in section_flag_info. 1927 (bfd_elf_lookup_section_flags): Add section parm. 1928 * elf32-ppc.c (is_ppc_vle): New function. 1929 (ppc_elf_modify_segment_map): New function. 1930 (elf_backend_modify_segment_map): Define. 1931 (has_vle_insns): New define. 1932 * elf32-ppc.h (ppc_elf_modify_segment_map): Declare. 1933 * elflink.c (bfd_elf_lookup_section_flags): Add return value & parm. 1934 Move in logic to omit / include a section. 1935 * libbfd-in.h (bfd_link_info): Add section parm. 1936 (bfd_generic_lookup_section_flags): Likewise. 1937 * reloc.c (bfd_generic_lookup_section_flags): Likewise. 1938 * section.c (bfd_section): Move out section_flag_info. 1939 (BFD_FAKE_SECTION): Remove flag_info initializer. 1940 * targets.c (_bfd_lookup_section_flags): Add section parm. 1941 19422012-05-14 Catherine Moore <clm@codesourcery.com> 1943 1944 * archures.c (bfd_mach_ppc_vle): New. 1945 * bfd-in2.h: Regenerated. 1946 * cpu-powerpc.c (bfd_powerpc_archs): New entry for vle. 1947 * elf32-ppc.c (split16_format_type): New enumeration. 1948 (ppc_elf_vle_split16): New function. 1949 (HOWTO): Add entries for R_PPC_VLE relocations. 1950 (ppc_elf_reloc_type_lookup): Handle PPC_VLE relocations. 1951 (ppc_elf_section_flags): New function. 1952 (ppc_elf_lookup_section_flags): New function. 1953 (ppc_elf_section_processing): New function. 1954 (ppc_elf_check_relocs): Handle PPC_VLE relocations. 1955 (ppc_elf_relocation_section): Likewise. 1956 (elf_backend_lookup_section_flags_hook): Define. 1957 (elf_backend_section_flags): Define. 1958 (elf_backend_section_processing): Define. 1959 * elf32-ppc.h (ppc_elf_section_processing): Declare. 1960 * libbfd.h: Regenerated. 1961 * reloc.c (BFD_RELOC_PPC_VLE_REL8, BFD_RELOC_PPC_VLE_REL15, 1962 BFD_RELOC_PPC_VLE_REL24, BFD_RELOC_PPC_VLE_LO16A, 1963 BFD_RELOC_PPC_VLE_LO16D, BFD_RELOC_PPC_VLE_HI16A, 1964 BFD_RELOC_PPC_VLE_HI16D, BFD_RELOC_PPC_VLE_HA16A, 1965 BFD_RELOC_PPC_VLE_HA16D, BFD_RELOC_PPC_VLE_SDA21, 1966 BFD_RELOC_PPC_VLE_SDA21_LO, BFD_RELOC_PPC_VLE_SDAREL_LO16A, 1967 BFD_RELOC_PPC_VLE_SDAREL_LO16D, BFD_RELOC_PPC_VLE_SDAREL_HI16A, 1968 BFD_RELOC_PPC_VLE_SDAREL_HI16D, BFD_RELOC_PPC_VLE_SDAREL_HA16A, 1969 BFD_RELOC_PPC_VLE_SDAREL_HA16D): New bfd relocations. 1970 19712012-05-11 Georg-Johann Lay <avr@gjlay.de> 1972 1973 PR target/13503 1974 * reloc.c: Add new ENUM for BFD_RELOC_AVR_8_LO, 1975 BFD_RELOC_AVR_8_HI, BFD_RELOC_AVR_8_HHI. 1976 * bfd-in2.h: Regenerate. 1977 * libbfd.h: Regenerate. 1978 * elf32-avr.c (elf_avr_howto_table): Add entries for 1979 R_AVR_8_LO8, R_AVR_8_HI8, R_AVR_8_HHI8. 1980 (avr_reloc_map): Add RELOC mappings for R_AVR_8_LO8, R_AVR_8_HI8, 1981 R_AVR_8_HHI8. 1982 19832012-05-10 H.J. Lu <hongjiu.lu@intel.com> 1984 1985 * elf64-x86-64.c (elf_x86_64_relocate_section): Use int in x32 1986 addend overflow check. 1987 19882012-05-10 DJ Delorie <dj@redhat.com> 1989 1990 * elf32-rx.c (rx_elf_object_p): Ignore empty segments. 1991 19922012-05-10 H.J. Lu <hongjiu.lu@intel.com> 1993 1994 * elf64-x86-64.c (elf_x86_64_relocate_section): Display signed 1995 hex number in x32 addend overflow check. 1996 19972012-05-10 H.J. Lu <hongjiu.lu@intel.com> 1998 1999 * elf64-x86-64.c (elf_x86_64_reloc_type_class): Handle 2000 R_X86_64_RELATIVE64. 2001 20022012-05-09 H.J. Lu <hongjiu.lu@intel.com> 2003 2004 * elf64-x86-64.c (elf_x86_64_relocate_section): Check addend 2005 overflow for R_X86_64_RELATIVE64. 2006 20072012-05-08 Ben Cheng <bccheng@google.com> 2008 2009 * elf.c: Preserve the original p_align and p_flags if they are 2010 valid. 2011 20122012-05-07 Alan Modra <amodra@gmail.com> 2013 2014 * elf64-ia64-vms.c (elf64_ia64_relocate_section): Update 2015 RELOC_AGAINST_DISCARDED_SECTION invocation. 2016 20172012-05-07 Hans-Peter Nilsson <hp@axis.com> 2018 2019 * elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Declare and use 2020 local variable i_ instead of assuming and using a variable i. 2021 20222012-05-07 Maciej W. Rozycki <macro@linux-mips.org> 2023 2024 * elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Handle compound 2025 relocations. 2026 * elfxx-mips.c (mips_reloc_against_discarded_section): New 2027 function. 2028 (_bfd_mips_elf_relocate_section): Call it, in place of 2029 RELOC_AGAINST_DISCARDED_SECTION. 2030 * elf-m10200.c (mn10200_elf_relocate_section): Update arguments 2031 to RELOC_AGAINST_DISCARDED_SECTION. 2032 * elf-m10300.c (mn10300_elf_relocate_section): Likewise. 2033 * elf32-arm.c (elf32_arm_relocate_section): Likewise. 2034 * elf32-avr.c (elf32_avr_relocate_section): Likewise. 2035 * elf32-bfin.c (bfin_relocate_section): Likewise. 2036 (bfinfdpic_relocate_section): Likewise. 2037 * elf32-cr16.c (elf32_cr16_relocate_section): Likewise. 2038 * elf32-cr16c.c (elf32_cr16c_relocate_section): Likewise. 2039 * elf32-cris.c (cris_elf_relocate_section): Likewise. 2040 * elf32-crx.c (elf32_crx_relocate_section): Likewise. 2041 * elf32-d10v.c (elf32_d10v_relocate_section): Likewise. 2042 * elf32-epiphany.c (epiphany_elf_relocate_section): Likewise. 2043 * elf32-fr30.c (fr30_elf_relocate_section): Likewise. 2044 * elf32-frv.c (elf32_frv_relocate_section): Likewise. 2045 * elf32-h8300.c (elf32_h8_relocate_section): Likewise. 2046 * elf32-hppa.c (elf32_hppa_relocate_section): Likewise. 2047 * elf32-i370.c (i370_elf_relocate_section): Likewise. 2048 * elf32-i386.c (elf_i386_relocate_section): Likewise. 2049 * elf32-i860.c (elf32_i860_relocate_section): Likewise. 2050 * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise. 2051 * elf32-iq2000.c (iq2000_elf_relocate_section): Likewise. 2052 * elf32-lm32.c (lm32_elf_relocate_section): Likewise. 2053 * elf32-m32c.c (m32c_elf_relocate_section): Likewise. 2054 * elf32-m32r.c (m32r_elf_relocate_section): Likewise. 2055 * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Likewise. 2056 * elf32-m68k.c (elf_m68k_relocate_section): Likewise. 2057 * elf32-mcore.c (mcore_elf_relocate_section): Likewise. 2058 * elf32-mep.c (mep_elf_relocate_section): Likewise. 2059 * elf32-moxie.c (moxie_elf_relocate_section): Likewise. 2060 * elf32-msp430.c (elf32_msp430_relocate_section): Likewise. 2061 * elf32-mt.c (mt_elf_relocate_section): Likewise. 2062 * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise. 2063 * elf32-ppc.c (ppc_elf_relocate_section): Likewise. 2064 * elf32-rl78.c (rl78_elf_relocate_section): Likewise. 2065 * elf32-rx.c (rx_elf_relocate_section): Likewise. 2066 * elf32-s390.c (elf_s390_relocate_section): Likewise. 2067 * elf32-score.c (s3_bfd_score_elf_relocate_section): Likewise. 2068 * elf32-score7.c (s7_bfd_score_elf_relocate_section): Likewise. 2069 * elf32-sh.c (sh_elf_relocate_section): Likewise. 2070 * elf32-spu.c (spu_elf_relocate_section): Likewise. 2071 * elf32-tic6x.c (elf32_tic6x_relocate_section): Likewise. 2072 * elf32-tilepro.c (tilepro_elf_relocate_section): Likewise. 2073 * elf32-v850.c (v850_elf_relocate_section): Likewise. 2074 * elf32-vax.c (elf_vax_relocate_section): Likewise. 2075 * elf32-xc16x.c (elf32_xc16x_relocate_section): Likewise. 2076 * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise. 2077 * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise. 2078 * elf64-alpha.c (elf64_alpha_relocate_section_r): Likewise. 2079 (elf64_alpha_relocate_section): Likewise. 2080 * elf64-hppa.c (elf64_hppa_relocate_section): Likewise. 2081 * elf64-mmix.c (mmix_elf_relocate_section): Likewise. 2082 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. 2083 * elf64-s390.c (elf_s390_relocate_section): Likewise. 2084 * elf64-sh64.c (sh_elf64_relocate_section): Likewise. 2085 * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise. 2086 * elfnn-ia64.c (elfNN_ia64_relocate_section): Likewise. 2087 * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise. 2088 * elfxx-tilegx.c (tilegx_elf_relocate_section): Likewise. 2089 20902012-05-05 Alan Modra <amodra@gmail.com> 2091 2092 PR ld/14052 2093 PR ld/13621 2094 * linker.c (_bfd_nearby_section): Revert 2012-02-13 change. 2095 20962012-05-05 Alan Modra <amodra@gmail.com> 2097 2098 * aout-arm.c: Replace all uses of bfd_abs_section, bfd_com_section, 2099 bfd_und_section and bfd_ind_section with their _ptr variants, or 2100 use corresponding bfd_is_* macros. 2101 * aout-ns32k.c: Likewise. 2102 * aout-tic30.c: Likewise. 2103 * coff-arm.c: Likewise. 2104 * coff-tic54x.c: Likewise. 2105 * cpu-ns32k.c: Likewise. 2106 * elf-attrs.c: Likewise. 2107 * elfcode.h: Likewise. 2108 * peicode.h: Likewise. 2109 * reloc.c: Likewise. 2110 * riscix.c: Likewise. 2111 * versados.c: Likewise. 2112 * section.c: Likewise. 2113 (bfd_abs_section, bfd_ind_section, bfd_com_section, 2114 bfd_ind_section): Delete. 2115 (std_section): New array replacing above. 2116 (bfd_abs_section_ptr, bfd_ind_section_ptr, bfd_com_section_ptr, 2117 bfd_ind_section_ptr, STD_SECTION): Update. 2118 (BFD_FAKE_SECTION, GLOBAL_SYM_INIT): Remove unnecessary casts. 2119 * bfd-in2.h: Regenerate. 2120 21212012-05-03 Sean Keys <skeys@ipdatasys.com> 2122 2123 * cpu-xgate.c: New file. Added XGATE support. 2124 * archures.c (bfd_architecture): Add XGATE architecture. 2125 (bfd_archures_list): Add reference to XGATE architecture info. 2126 * elf-bfd.h (prep_headers): Handle bfd_arch_xgate. 2127 * reloc.c: Add various XGATE relocation enums. 2128 * targets.c (bfd_elf32_xgate_vec): Declare and add to target vector 2129 list. 2130 * Makefile.am: Add support for XGATE elf. 2131 * configure.in: Ditto. 2132 * config.bfd: Ditto. 2133 * Makefile.in: Regenerate. 2134 * configure: Ditto. 2135 * bfd-in2.h: Ditto. 2136 * libbfd.h: Ditto. 2137 Added files for XGATE relocations. 2138 * elf32-xgate.c: Created minimal relocation file. 2139 * elf32-xgate.h: Created minimal header file for elf32-xgate. 2140 21412012-05-03 Tristan Gingold <gingold@adacore.com> 2142 2143 * dwarf2.c (decode_line_info): Ignore 2144 DW_LNE_HP_source_file_correlation. 2145 21462012-05-01 Nick Clifton <nickc@redhat.com> 2147 2148 PR binutils/13121 2149 * aoutx.h: Rename 'finfo' to 'flaginfo' to avoid conflicts with 2150 AIX system headers. 2151 * coff-ppc.c: Likewise. 2152 * cofflink.c: Likewise. 2153 * elf32-arm.c: Likewise. 2154 * elf64-sparc.c: Likewise. 2155 * elflink.c: Likewise. 2156 * pdp11.c: Likewise. 2157 * rescoff.c: Likewise. 2158 21592012-04-26 Mark Wielaard <mjw@redhat.com> 2160 2161 * dwarf2.c (scan_unit_for_symbols): Account for DW_AT_high_pc 2162 possibly being relative to DW_AT_low_pc. 2163 (parse_comp_unit): Likewise. 2164 21652012-04-26 Andreas Schwab <schwab@linux-m68k.org> 2166 2167 * elf32-m68k.c (elf_m68k_check_relocs): Mark non-GOT references 2168 also when generating PIE. 2169 (elf_m68k_discard_copies): Mark undefined weak symbols referenced 2170 by relocations as dynamic. 2171 21722012-04-26 Hans-Peter Nilsson <hp@axis.com> 2173 2174 Provide a way for programs to recognize BFD_ASSERT calls. 2175 * bfd.c (bfd_assert_handler_type): New API type. 2176 (bfd_set_assert_handler, bfd_get_assert_handler): New API functions. 2177 (_bfd_assert_handler): New variable. 2178 (_bfd_default_assert_handler): New function. 2179 (bfd_assert): Call _bfd_assert_handler, not _bfd_error_handler. 2180 * libbfd-in.h (_bfd_assert_handler): Declare. 2181 * libbfd.h, bfd-in2.h: Regenerate. 2182 21832012-04-24 Hans-Peter Nilsson <hp@axis.com> 2184 2185 PR ld/13990 2186 * elf32-arm.c (elf32_arm_gc_sweep_hook): Handle a forced-local 2187 symbol, where PLT refcount is set to -1. 2188 21892012-04-24 Alan Modra <amodra@gmail.com> 2190 2191 PR ld/13991 2192 * elf-bfd.h (_bfd_elf_link_just_syms): Define as 2193 _bfd_generic_link_just_syms. 2194 * elflink.c (_bfd_elf_link_just_syms): Delete. 2195 * linker.c (_bfd_generic_link_just_syms): Set sec_info_type. 2196 2197 * bfd-in.h (discarded_section): Renamed from elf_discarded_section. 2198 * section.c (SEC_INFO_TYPE_NONE, SEC_INFO_TYPE_STABS, 2199 SEC_INFO_TYPE_MERGE, SEC_INFO_TYPE_EH_FRAME, 2200 SEC_INFO_TYPE_JUST_SYMS): Renamed from corresponding ELF_INFO_TYPE. 2201 * elf-eh-frame.c, * elf-m10200.c, * elf-m10300.c, 2202 * elf.c, * elf32-arm.c, * elf32-avr.c, * elf32-bfin.c, 2203 * elf32-cr16.c, * elf32-cr16c.c, * elf32-cris.c, 2204 * elf32-crx.c, * elf32-d10v.c, * elf32-epiphany.c, 2205 * elf32-fr30.c, * elf32-frv.c, * elf32-h8300.c, 2206 * elf32-hppa.c, * elf32-i370.c, * elf32-i386.c, 2207 * elf32-i860.c, * elf32-ip2k.c, * elf32-iq2000.c, 2208 * elf32-lm32.c, * elf32-m32c.c, * elf32-m32r.c, 2209 * elf32-m68hc1x.c, * elf32-m68k.c, * elf32-mcore.c, 2210 * elf32-mep.c, * elf32-moxie.c, * elf32-msp430.c, 2211 * elf32-mt.c, * elf32-openrisc.c, * elf32-ppc.c, 2212 * elf32-rl78.c, * elf32-rx.c, * elf32-s390.c, 2213 * elf32-score.c, * elf32-score7.c, * elf32-sh.c, 2214 * elf32-spu.c, * elf32-tic6x.c, * elf32-tilepro.c, 2215 * elf32-v850.c, * elf32-vax.c, * elf32-xc16x.c, 2216 * elf32-xstormy16.c, * elf32-xtensa.c, * elf64-alpha.c, 2217 * elf64-hppa.c, * elf64-ia64-vms.c, * elf64-mmix.c, 2218 * elf64-ppc.c, * elf64-s390.c, * elf64-sh64.c, 2219 * elf64-x86-64.c, * elflink.c, * elfnn-ia64.c, 2220 * elfxx-mips.c, * elfxx-sparc.c, * elfxx-tilegx.c, 2221 * reloc.c: Update all references. 2222 * bfd-in2.h: Regenerate. 2223 22242012-04-20 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 2225 2226 * elf32-s390.c (ELF_DYNAMIC_INTERPRETER): Set to the GCC default. 2227 * elf64-s390.c (ELF_DYNAMIC_INTERPRETER): Set to the GCC default. 2228 22292012-04-19 Thomas Schwinge <thomas@codesourcery.com> 2230 2231 * elf32-sh.c (elf_sh_link_hash_entry): Specify an enum identifier for 2232 got_type. 2233 (allocate_dynrelocs, sh_elf_relocate_section, sh_elf_check_relocs): Use 2234 it. 2235 22362012-04-17 Kaz Kojima <kkojima@rr.iij4u.or.jp> 2237 2238 * elf32-sh.c (allocate_dynrelocs): Don't allocate dynamic 2239 relocations when LE conversion happens on the IE tls symbol. 2240 22412012-04-17 Roland McGrath <mcgrathr@google.com> 2242 2243 * elf64-x86-64.c (elf_x86_64_nacl_plt0_entry): Fix nop padding 2244 so that 32-byte boundary is a proper instruction boundary. 2245 22462012-04-17 Tristan Gingold <gingold@adacore.com> 2247 2248 * vms-lib.c (_bfd_vms_lib_get_module): Append .obj extension to 2249 member of an object archive.< 2250 22512012-04-17 Tristan Gingold <gingold@adacore.com> 2252 2253 * vms-lib.c (MAX_EKEYLEN): Define. 2254 (MAX_KEYLEN): Fix value. 2255 (vms_write_index): Add comments and fix indentation. 2256 Adjust comparaison. Add assertions. Free kbn_blk. 2257 (_bfd_vms_lib_write_archive_contents): Use MAX_EKEYLEN. 2258 Compense MAX_KEYLEN adjustment. 2259 22602012-04-16 Maciej W. Rozycki <macro@linux-mips.org> 2261 2262 * elfxx-mips.c (mips16_stub_symndx): Handle n64 compound relocs. 2263 (_bfd_mips_elf_check_relocs): Update accordingly. 2264 22652012-04-13 Alan Modra <amodra@gmail.com> 2266 2267 PR ld/13947 2268 * elflink.c (bfd_elf_final_link): Set reloc_count to 0 for 2269 reloc sections. 2270 22712012-04-12 David S. Miller <davem@davemloft.net> 2272 2273 * reloc.c (BFD_RELOC_SPARC_H34, BFD_RELOC_SPARC_SIZE32, 2274 BFD_RELOC_SPARC_SIZE64, BFD_RELOC_SPARC_WDISP10): New relocs. 2275 * libbfd.h: Regenerate. 2276 * bfd-in2.h: Likewise. 2277 * elfxx-sparc.c (sparc_elf_wdisp10_reloc): New function. 2278 (_bfd_sparc_elf_howto_table): Add entries for R_SPARC_H34, 2279 R_SPARC_SIZE32, R_SPARC_64, and R_SPARC_WDISP10. 2280 (_bfd_sparc_elf_reloc_type_lookup): Handle new relocs. 2281 (_bfd_sparc_elf_check_relocs): Likewise. 2282 (_bfd_sparc_elf_gc_sweep_hook): Likewise. 2283 (_bfd_sparc_elf_relocate_section): Likewise. 2284 22852012-04-12 Roland McGrath <mcgrathr@google.com> 2286 2287 * elf32-arm.c (elf32_arm_nacl_plt0_entry, elf32_arm_nacl_plt_entry): 2288 New variables. 2289 (struct elf32_arm_link_hash_table): New member `nacl_p'. 2290 (elf32_arm_link_hash_table_create): Initialize it. 2291 (elf32_arm_nacl_link_hash_table_create): New function. 2292 (arm_movw_immediate, arm_movt_immediate): New functions. 2293 (elf32_arm_populate_plt_entry): Test HTAB->nacl_p. 2294 (elf32_arm_finish_dynamic_sections): Likewise. 2295 (elf32_arm_output_plt_map_1): Likewise. 2296 (bfd_elf32_littlearm_nacl_vec, bfd_elf32_bigarm_nacl_vec): 2297 New backend vector stanza. 2298 (elf32_arm_nacl_modify_segment_map): New function. 2299 * config.bfd: Handle arm-*-nacl*, armeb-*-nacl*. 2300 * targets.c: Support bfd_elf32_{big,little}_nacl_vec. 2301 * configure.in: Likewise. 2302 (bfd_elf32_bigarm_nacl_vec): Add elf-nacl.lo here. 2303 (bfd_elf32_littlearm_nacl_vec): Likewise. 2304 (bfd_elf32_bigarm_vec, bfd_elf32_littlearm_vec): Likewise. 2305 (bfd_elf32_bigarm_symbian_vec): Likewise. 2306 (bfd_elf32_littlearm_symbian_vec): Likewise. 2307 (bfd_elf32_bigarm_vxworks_vec): Likewise. 2308 (bfd_elf32_littlearm_vxworks_vec): Likewise. 2309 * configure: Regenerated. 2310 23112012-04-12 Tristan Gingold <gingold@adacore.com> 2312 2313 * elflink.c (elf_link_output_extsym): Add a guard. 2314 (bfd_elf_final_link): Remove assertion. 2315 (bfd_elf_final_link): Add a guard. 2316 * elfnn-ia64.c (INCLUDE_IA64_VMS): Removed. 2317 (elfNN_vms_section_from_shdr, elfNN_vms_object_p) 2318 (elfNN_vms_post_process_headers, elfNN_vms_section_processing) 2319 (elfNN_vms_final_write_processing, elfNN_vms_close_and_cleanup): 2320 Remove. 2321 (elfNN-ia64-vms target): Move to ... 2322 * elf64-ia64-vms.c: New file. 2323 * configure.in (bfd_elf64_ia64_vms_vec): Add elf64-ia64-vms.lo 2324 * Makefile.am (BFD64_BACKENDS): Add elf64-ia64-vms.lo. 2325 (BFD64_BACKENDS_CFILES): Ad elf64-ia64-vms.c. 2326 * configure: Regenerate. 2327 * Makefile.in: Regenerate. 2328 23292012-04-11 Nick Clifton <nickc@redhat.com> 2330 2331 PR binutils/13897 2332 * elf64-ppc.c (opd_entry_value): When dealing with sections 2333 without relocs, keep the last section loaded in order to avoid 2334 unnecessary reloads. 2335 23362012-04-09 Roland McGrath <mcgrathr@google.com> 2337 2338 * elf.c (_bfd_elf_map_sections_to_segments): Set INFO->user_phdrs. 2339 * elf-nacl.c (nacl_modify_segment_map): Do nothing if INFO->user_phdrs. 2340 (nacl_modify_program_headers): Likewise. 2341 23422012-04-03 Roland McGrath <mcgrathr@google.com> 2343 2344 * elf-nacl.c: New file. 2345 * elf-nacl.h: New file. 2346 * elf32-i386.c (elf_backend_modify_segment_map): Define for 2347 bfd_elf32_i386_nacl_vec. 2348 (elf_backend_modify_program_headers): Likewise. 2349 * elf64-x86-64.c (elf_backend_modify_segment_map): Define for 2350 bfd_elf64_x86_64_nacl_vec and bfd_elf32_x86_64_nacl_vec. 2351 (elf_backend_modify_program_headers): Likewise. 2352 * Makefile.am (BFD32_BACKENDS, BFD64_BACKENDS): Add elf-nacl.lo here. 2353 (BFD32_BACKENDS_CFILES, BFD64_BACKENDS_CFILES): Add elf-nacl.c here. 2354 * Makefile.in: Regenerated. 2355 * configure.in (bfd_elf64_x86_64_nacl_vec): Add elf-nacl.o to tb here. 2356 (bfd_elf32_x86_64_nacl_vec): Likewise. 2357 (bfd_elf64_x86_64_vec, bfd_elf32_x86_64_vec): Likewise. 2358 (bfd_elf64_x86_64_freebsd_vec, bfd_elf64_x86_64_sol2_vec): Likewise. 2359 (bfd_elf64_l1om_vec, bfd_elf64_l1om_freebsd_vec): Likewise. 2360 (bfd_elf64_k1om_vec, bfd_elf64_k1om_freebsd_vec): Likewise. 2361 (bfd_elf32_i386_nacl_vec): Likewise. 2362 (bfd_elf32_i386_sol2_vec, bfd_elf32_i386_freebsd_vec): Likewise. 2363 (bfd_elf32_i386_vxworks_vec, bfd_elf32_i386_vec): Likewise. 2364 * configure: Regenerated. 2365 23662012-03-31 Andreas Schwab <schwab@linux-m68k.org> 2367 2368 * elf32-m68k.c (elf_m68k_relocate_section): Allow 2369 R_68K_TLS_LE{8,16,32} for PIE. 2370 23712012-03-30 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 2372 2373 * elf64-s390.c: Fix several comments regarding PLT entry 2374 description. 2375 * elf32-s390.c: Likewise. 2376 23772012-03-30 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 2378 2379 * elf64-s390.c: Use the section pointer shortcuts in 2380 elf_link_hash_table and remove them from the target specific 2381 variant. 2382 * elf32-s390.c: Likewise. 2383 23842012-03-30 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 2385 2386 * elf64-s390.c (elf_s390x_plt_entry, elf_s390x_first_plt_entry): 2387 New definitions. 2388 (PLT_PIC_ENTRY_WORD*, PLT_PIC12_ENTRY_WORD*): Remove. 2389 (elf_s390_finish_dynamic_symbol): Use memcpy instead of bfd_put_32. 2390 (elf_s390_finish_dynamic_sections): Likewise. 2391 * elf32-s390.c (elf_s390_plt_entry, elf_s390_plt_pic_entry) 2392 (elf_s390_plt_pic12_entry, elf_s390_plt_pic16_entry) 2393 (elf_s390_plt_first_entry, elf_s390_plt_pic_first_entry): New definitions. 2394 (PLT_PIC16_ENTRY_WORD*, PLT_ENTRY_WORD*) 2395 (PLT_PIC_FIRST_ENTRY_WORD*, PLT_FIRST_ENTRY_WORD*): Remove. 2396 23972012-03-30 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 2398 2399 * elf32-s390.c (struct elf_s390_dyn_relocs): Remove. 2400 Rename all occurrences in the file to elf_dyn_relocs. 2401 * elf64-s390.c: Likewise. 2402 24032012-03-30 Alan Modra <amodra@gmail.com> 2404 2405 * elflink.c (_bfd_elf_gc_mark_reloc): Don't delve into dynamic 2406 libraries. 2407 24082012-03-29 Alan Modra <amodra@gmail.com> 2409 2410 * bfd-in.h (bfd_get_arch_size, bfd_get_sign_extend_vma): Delete. 2411 * bfd-in2.h: Regenerate. 2412 24132012-03-23 Alan Modra <amodra@gmail.com> 2414 2415 * elf.c (assign_file_positions_for_non_load_sections): Don't warn 2416 on empty alloc sections. 2417 24182012-03-23 Alan Modra <amodra@gmail.com> 2419 2420 * linker.c (_bfd_nearby_section): New function, split out from.. 2421 (fix_syms): ..here. 2422 * bfd-in.h (_bfd_nearby_section): Declare. 2423 * bfd-in2.h: Regenerate. 2424 * elflink.c (elf_link_input_bfd): Don't use text_index_section or 2425 data_index_section with ld -q or ld -r output relocs against 2426 stripped output sections. Instead use _bfd_nearby_section. 2427 24282012-03-23 Alan Modra <amodra@gmail.com> 2429 2430 PR binutils/13894 2431 * elf64-ppc.c (opd_entry_value): Read full symbol table when 2432 sym hashes unavailable. 2433 24342012-03-21 Eliot Dresselhaus <eliot@sonic.net> 2435 2436 * elf32-tic6x.c (elf32_tic6x_merge_private_bfd_data): Return TRUE 2437 for non-C6X objects. 2438 24392012-03-20 Kai Tietz <ktietz@redhat.com> 2440 2441 PR ld/12742 2442 * configure.in (AC_CHECK_HEADERS): Test for windows.h and dlfcn.h. 2443 * plugin.c: Guard include of dlfcn.h if HAVE_DLFCN_H is defined. 2444 Add windows.h header include if HAVE_WINDOWS_H is defined. 2445 (dlerror): New static function if windows variant is used instead 2446 of dlfcn.h. 2447 (dlclose): Likewise. 2448 (dlopen): Likewise. 2449 (dlsym): Likewise. 2450 * configure: Regenerated. 2451 * config.in: Regenerated. 2452 24532012-03-20 H.J. Lu <hongjiu.lu@intel.com> 2454 2455 PR ld/13880 2456 * elf32-i386.c (elf_i386_relocate_section): Don't issue an error 2457 for R_386_GOTOFF relocation against protected function if 2458 SYMBOLIC_BIND is true. 2459 2460 * elf64-x86-64.c (elf_x86_64_relocate_section): Don't issue an 2461 error for R_X86_64_GOTOFF64 relocation against protected function 2462 when building executable or SYMBOLIC_BIND is true. 2463 24642012-03-16 Roland McGrath <mcgrathr@google.com> 2465 2466 * config.bfd: Handle x86_64-*-nacl*. 2467 * elf64-x86-64.c (bfd_elf64_x86_64_nacl_vec): New backend vector stanza. 2468 (bfd_elf32_x86_64_nacl_vec): Likewise. 2469 * targets.c: Support them. 2470 * configure.in: Likewise. 2471 * configure: Regenerated. 2472 24732012-03-16 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> 2474 2475 * elf32-arm.c (elf32_arm_attributes_accept_div): New function. 2476 (elf32_arm_attributes_forbid_div): Likewise. 2477 (elf32_arm_merge_eabi_attributes): Correct handling of 2478 Tag_DIV_use. 2479 24802012-03-15 Roland McGrath <mcgrathr@google.com> 2481 2482 * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Use 2483 elf_x86_64_backend_data parameters for plt_eh_frame. 2484 2485 * elf64-x86-64.c (struct elf_x86_64_backend_data): New type. 2486 (get_elf_x86_64_backend_data, GET_PLT_ENTRY_SIZE): New macros. 2487 (elf_x86_64_arch_bed): New variable. 2488 (elf_backend_arch_data): New macro. 2489 (elf_x86_64_adjust_dynamic_symbol): Use GET_PLT_ENTRY_SIZE. 2490 (elf_x86_64_allocate_dynrelocs): Likewise. 2491 (elf_x86_64_relocate_section): Likewise. 2492 (elf_x86_64_plt_sym_val): Likewise. 2493 (elf_x86_64_finish_dynamic_symbol): Use elf_x86_64_backend_data 2494 parameters for PLT details. 2495 (elf_x86_64_finish_dynamic_sections): Likewise. 2496 24972012-03-14 Roland McGrath <mcgrathr@google.com> 2498 2499 * elf32-i386.c (elf_i386_nacl_pic_plt0_entry): Initialize up 2500 to the full size, padding out with nop instructions. 2501 25022012-03-12 Alan Modra <amodra@gmail.com> 2503 2504 * elf-m10300.c (_bfd_mn10300_elf_adjust_dynamic_symbol): Don't warn 2505 on zero size dynbss symbol. 2506 * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Likewise. 2507 * elf32-cr16.c (_bfd_cr16_elf_adjust_dynamic_symbol): Likewise. 2508 * elf32-cris.c (elf_cris_adjust_dynamic_symbol): Likewise. 2509 * elf32-hppa.c (elf32_hppa_adjust_dynamic_symbol): Likewise. 2510 * elf32-i370.c (i370_elf_adjust_dynamic_symbol): Likewise. 2511 * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Likewise. 2512 * elf32-lm32.c (lm32_elf_adjust_dynamic_symbol): Likewise. 2513 * elf32-m32r.c (m32r_elf_adjust_dynamic_symbol): Likewise. 2514 * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise. 2515 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Likewise. 2516 * elf32-s390.c (elf_s390_adjust_dynamic_symbol): Likewise. 2517 * elf32-sh.c (sh_elf_adjust_dynamic_symbol): Likewise. 2518 * elf32-tic6x.c (elf32_tic6x_adjust_dynamic_symbol): Likewise. 2519 * elf32-tilepro.c (tilepro_elf_adjust_dynamic_symbol): Likewise. 2520 * elf32-vax.c (elf_vax_adjust_dynamic_symbol): Likewise. 2521 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise. 2522 * elf64-s390.c (elf_s390_adjust_dynamic_symbol): Likewise. 2523 * elf64-sh64.c (sh64_elf64_adjust_dynamic_symbol): Likewise. 2524 * elf64-x86-64.c (elf_x86_64_adjust_dynamic_symbol): Likewise. 2525 * elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol): Likewise. 2526 * elfxx-tilegx.c (tilegx_elf_adjust_dynamic_symbol): Likewise. 2527 25282012-03-10 Edmar Wienskoski <edmar@freescale.com> 2529 2530 * archures.c: Add bfd_mach_ppc_e5500 and bfd_mach_ppc_e6500. 2531 * bfd-in2.h: Regenerate. 2532 * cpu-powerpc.c (bfd_powerpc_archs): Add entries for 2533 bfd_mach_ppc_e5500 and bfd_mach_ppc_e6500. 2534 25352012-03-09 H.J. Lu <hongjiu.lu@intel.com> 2536 2537 PR ld/13817 2538 * elf32-i386.c (elf_i386_relocate_section): Restore 2539 R_386_IRELATIVE. 2540 2541 * elf64-x86-64.c (elf_x86_64_relocate_section): Restore 2542 R_X86_64_IRELATIVE. 2543 25442012-03-08 Tristan Gingold <gingold@adacore.com> 2545 2546 * vms-lib.c (_bfd_vms_lib_write_archive_contents): Set maximum 2547 keylen according to archive kind. Set nextvbn and nextrfa lhd 2548 fields. Add comments. 2549 25502012-03-07 Nick Clifton <nickc@redhat.com> 2551 2552 * elf-m10300.c (elf32_mn10300_link_hash_entry): Add tls_type 2553 field. 2554 (elf32_mn10300_link_hash_table): Add tls_ldm_got entry; 2555 (elf_mn10300_tdata): Define. 2556 (elf_mn10300_local_got_tls_type): Define. 2557 (elf_mn10300_howto_table): Add entries for R_MN10300_TLS_GD, 2558 R_MN10300_TLS_LD, R_MN10300_TLS_LDO, R_MN10300_TLS_GOTIE, 2559 R_MN10300_TLS_IE, R_MN10300_TLS_LE, R_MN10300_TLS_DPTMOD, 2560 R_MN10300_TLS_DTPOFF, R_MN10300_TLS_TPOFF relocs. 2561 (mn10300_reloc_map): Likewise. 2562 (elf_mn10300_tls_transition): New function. 2563 (dtpoff, tpoff, mn10300_do_tls_transition): New functions. 2564 (mn10300_elf_check_relocs): Add TLS support. 2565 (mn10300_elf_final_link_relocate): Likewise. 2566 (mn10300_elf_relocate_section): Likewise. 2567 (mn10300_elf_relax_section): Likewise. 2568 (elf32_mn10300_link_hash_newfunc): Initialise new field. 2569 (_bfd_mn10300_copy_indirect_symbol): New function. 2570 (elf32_mn10300_link_hash_table_create): Initialise new fields. 2571 (_bfd_mn10300_elf_size_dynamic_sections): Add TLS support. 2572 (_bfd_mn10300_elf_finish_dynamic_symbol): Likewise. 2573 (_bfd_mn10300_elf_reloc_type_class): Allocate an 2574 elf_mn10300_obj_tdata structure. 2575 (elf_backend_copy_indirect_symbol): Define. 2576 * reloc.c (BFD_MN10300_TLS_GD, BFD_MN10300_TLS_LD, 2577 BFD_MN10300_TLS_LDO, BFD_MN10300_TLS_GOTIE, BFD_MN10300_TLS_IE, 2578 BFD_MN10300_TLS_LE, BFD_MN10300_TLS_DPTMOD, 2579 BFD_MN10300_TLS_DTPOFF, BFD_MN10300_TLS_TPOFF): New relocations. 2580 (BFD_RELOC_MN10300_32_PCREL, BFD_RELOC_MN10300_16_PCREL): Move to 2581 alongside other MN10300 relocations. 2582 * bfd-in2.h: Regenerate. 2583 * libbfd.h: Regenerate. 2584 25852012-03-06 Jakub Jelinek <jakub@redhat.com> 2586 2587 * elf64-x86-64.c (elf_x86_64_relocate_section): For R_X86_64_RELATIVE 2588 set relocate to TRUE. 2589 25902012-03-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2591 2592 PR ld/12152 2593 * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Also ignore 2594 overflows for R_SPARC_UA32 in .stab sections. 2595 25962012-03-01 Alan Modra <amodra@gmail.com> 2597 2598 * elfxx-tilegx.c (tilegx_elf_relocate_section): Silence bogus warning. 2599 26002012-02-27 Alan Modra <amodra@gmail.com> 2601 2602 * elf32-sh.c (sh_elf_osec_to_segment): Check for elf flavour bfd 2603 before calling elf specific function. 2604 (sh_elf_osec_readonly_p): Test for error return from above. 2605 26062012-02-27 Alan Modra <amodra@gmail.com> 2607 2608 * elf32-spu.c (build_stub): Fix malloc under-allocation. 2609 26102012-02-25 Walter Lee <walt@tilera.com> 2611 * reloc.c: Add BFD_RELOC_TILEPRO_TLS_GD_CALL, 2612 BFD_RELOC_TILEPRO_IMM8_X0_TLS_GD_ADD, 2613 BFD_RELOC_TILEPRO_IMM8_X1_TLS_GD_ADD, 2614 BFD_RELOC_TILEPRO_IMM8_Y0_TLS_GD_ADD, 2615 BFD_RELOC_TILEPRO_IMM8_Y1_TLS_GD_ADD, 2616 BFD_RELOC_TILEPRO_TLS_IE_LOAD, BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE, 2617 BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE, 2618 BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_LO, 2619 BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_LO, 2620 BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_HI, 2621 BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_HI, 2622 BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_HA, 2623 BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_HA, 2624 BFD_RELOC_TILEGX_IMM16_X0_HW0_TLS_LE, 2625 BFD_RELOC_TILEGX_IMM16_X1_HW0_TLS_LE, 2626 BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_TLS_LE, 2627 BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_TLS_LE, 2628 BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_TLS_LE, 2629 BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_TLS_LE, 2630 BFD_RELOC_TILEGX_TLS_GD_CALL, BFD_RELOC_TILEGX_IMM8_X0_TLS_GD_ADD, 2631 BFD_RELOC_TILEGX_IMM8_X1_TLS_GD_ADD, 2632 BFD_RELOC_TILEGX_IMM8_Y0_TLS_GD_ADD, 2633 BFD_RELOC_TILEGX_IMM8_Y1_TLS_GD_ADD, BFD_RELOC_TILEGX_TLS_IE_LOAD, 2634 BFD_RELOC_TILEGX_IMM8_X0_TLS_ADD, 2635 BFD_RELOC_TILEGX_IMM8_X1_TLS_ADD, 2636 BFD_RELOC_TILEGX_IMM8_Y0_TLS_ADD, BFD_RELOC_TILEGX_IMM8_Y1_TLS_ADD. 2637 Delete BFD_RELOC_TILEGX_IMM16_X0_HW1_GOT, 2638 BFD_RELOC_TILEGX_IMM16_X1_HW1_GOT, 2639 BFD_RELOC_TILEGX_IMM16_X0_HW2_GOT, 2640 BFD_RELOC_TILEGX_IMM16_X1_HW2_GOT, 2641 BFD_RELOC_TILEGX_IMM16_X0_HW3_GOT, 2642 BFD_RELOC_TILEGX_IMM16_X1_HW3_GOT, 2643 BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_GOT, 2644 BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_GOT, 2645 BFD_RELOC_TILEGX_IMM16_X0_HW1_TLS_GD, 2646 BFD_RELOC_TILEGX_IMM16_X1_HW1_TLS_GD, 2647 BFD_RELOC_TILEGX_IMM16_X0_HW2_TLS_GD, 2648 BFD_RELOC_TILEGX_IMM16_X1_HW2_TLS_GD, 2649 BFD_RELOC_TILEGX_IMM16_X0_HW3_TLS_GD, 2650 BFD_RELOC_TILEGX_IMM16_X1_HW3_TLS_GD, 2651 BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_TLS_GD, 2652 BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_TLS_GD, 2653 BFD_RELOC_TILEGX_IMM16_X0_HW1_TLS_IE, 2654 BFD_RELOC_TILEGX_IMM16_X1_HW1_TLS_IE, 2655 BFD_RELOC_TILEGX_IMM16_X0_HW2_TLS_IE, 2656 BFD_RELOC_TILEGX_IMM16_X1_HW2_TLS_IE, 2657 BFD_RELOC_TILEGX_IMM16_X0_HW3_TLS_IE, 2658 BFD_RELOC_TILEGX_IMM16_X1_HW3_TLS_IE, 2659 BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_TLS_IE, 2660 BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_TLS_IE. 2661 * elf32-tilepro.c (tilepro_elf_howto_table): Update tilepro 2662 relocations. 2663 (tilepro_reloc_map): Ditto. 2664 (tilepro_info_to_howto_rela): Ditto. 2665 (reloc_to_create_func): Ditto. 2666 (tilepro_tls_translate_to_le): New. 2667 (tilepro_tls_translate_to_ie): New. 2668 (tilepro_elf_tls_transition): New. 2669 (tilepro_elf_check_relocs): Handle new tls relocations. 2670 (tilepro_elf_gc_sweep_hook): Ditto. 2671 (allocate_dynrelocs): Ditto. 2672 (tilepro_elf_relocate_section): Ditto. 2673 (tilepro_replace_insn): New. 2674 (insn_mask_X1): New. 2675 (insn_mask_X0_no_dest_no_srca): New 2676 (insn_mask_X1_no_dest_no_srca): New 2677 (insn_mask_Y0_no_dest_no_srca): New 2678 (insn_mask_Y1_no_dest_no_srca): New 2679 (srca_mask_X0): New 2680 (srca_mask_X1): New 2681 (insn_tls_le_move_X1): New 2682 (insn_tls_le_move_zero_X0X1): New 2683 (insn_tls_ie_lw_X1): New 2684 (insn_tls_ie_add_X0X1): New 2685 (insn_tls_ie_add_Y0Y1): New 2686 (insn_tls_gd_add_X0X1): New 2687 (insn_tls_gd_add_Y0Y1): New 2688 * elfxx-tilegx.c (tilegx_elf_howto_table): Update tilegx 2689 relocations. 2690 (tilegx_reloc_map): Ditto. 2691 (tilegx_info_to_howto_rela): Ditto. 2692 (reloc_to_create_func): Ditto. 2693 (tilegx_elf_link_hash_table): New field disable_le_transition. 2694 (tilegx_tls_translate_to_le): New. 2695 (tilegx_tls_translate_to_ie): New. 2696 (tilegx_elf_tls_transition): New. 2697 (tilegx_elf_check_relocs): Handle new tls relocations. 2698 (tilegx_elf_gc_sweep_hook): Ditto. 2699 (allocate_dynrelocs): Ditto. 2700 (tilegx_elf_relocate_section): Ditto. 2701 (tilegx_copy_bits): New. 2702 (tilegx_replace_insn): New. 2703 (insn_mask_X1): New. 2704 (insn_mask_X0_no_dest_no_srca): New. 2705 (insn_mask_X1_no_dest_no_srca): New. 2706 (insn_mask_Y0_no_dest_no_srca): New. 2707 (insn_mask_Y1_no_dest_no_srca): New. 2708 (insn_mask_X0_no_operand): New. 2709 (insn_mask_X1_no_operand): New. 2710 (insn_mask_Y0_no_operand): New. 2711 (insn_mask_Y1_no_operand): New. 2712 (insn_tls_ie_ld_X1): New. 2713 (insn_tls_ie_ld4s_X1): New. 2714 (insn_tls_ie_add_X0X1): New. 2715 (insn_tls_ie_add_Y0Y1): New. 2716 (insn_tls_ie_addx_X0X1): New. 2717 (insn_tls_ie_addx_Y0Y1): New. 2718 (insn_tls_gd_add_X0X1): New. 2719 (insn_tls_gd_add_Y0Y1): New. 2720 (insn_move_X0X1): New. 2721 (insn_move_Y0Y1): New. 2722 (insn_add_X0X1): New. 2723 (insn_add_Y0Y1): New. 2724 (insn_addx_X0X1): New. 2725 (insn_addx_Y0Y1): New. 2726 * libbfd.h: Regenerate. 2727 * bfd-in2.h: Regenerate. 2728 27292012-02-25 Walter Lee <walt@tilera.com> 2730 2731 * config.bfd (tilegx-*-*): rename little endian vector; add big 2732 endian vector. 2733 (tilegxbe-*-*): New case. 2734 * configure.in (bfd_elf32_tilegx_vec): Rename... 2735 (bfd_elf32_tilegx_le_vec): ... to this. 2736 (bfd_elf32_tilegx_be_vec): New vector. 2737 (bfd_elf64_tilegx_vec): Rename... 2738 (bfd_elf64_tilegx_le_vec): ... to this. 2739 (bfd_elf64_tilegx_be_vec): New vector. 2740 * configure: Regenerate. 2741 * elf32-tilegx.c (TARGET_LITTLE_SYM): Rename. 2742 (TARGET_LITTLE_NAME): Ditto. 2743 (TARGET_BIG_SYM): Define. 2744 (TARGET_BIG_NAME): Define. 2745 * elf64-tilegx.c (TARGET_LITTLE_SYM): Rename. 2746 (TARGET_LITTLE_NAME): Ditto. 2747 (TARGET_BIG_SYM): Define. 2748 (TARGET_BIG_NAME): Define. 2749 * targets.c (bfd_elf32_tilegx_vec): Rename... 2750 (bfd_elf32_tilegx_le_vec): ... to this. 2751 (bfd_elf32_tilegx_be_vec): Declare. 2752 (bfd_elf64_tilegx_vec): Rename... 2753 (bfd_elf64_tilegx_le_vec): ... to this. 2754 (bfd_elf64_tilegx_be_vec): Declare. 2755 (_bfd_target_vector): Add / rename above vectors. 2756 * arctures.c (bfd_architecture): Define bfd_mach_tilegx32. 2757 * bfd-in2.h: Regenerate. 2758 * cpu-tilegx.c (bfd_tilegx32_arch): define. 2759 (bfd_tilegx_arch): link to bfd_tilegx32_arch. 2760 27612012-02-24 Nick Clifton <nickc@redhat.com> 2762 2763 PR ld/13730 2764 * reloc.c (bfd_generic_get_relocated_section_contents): Issue an 2765 error message instead of aborting, when an outofrange reloc is 2766 encountered. 2767 27682012-02-23 Iain Sandoe <idsandoe@googlemail.com> 2769 2770 * mach-o.c (bfd_mach_o_swap_in_non_scattered_reloc): New. 2771 (bfd_mach_o_canonicalize_one_reloc): Swap non-scattered reloc 2772 bit-fields when target and host differ in endian-ness. When 2773 PAIRs are non-scattered find the 'symbol' from the preceding 2774 reloc. Add FIXME re. reloc symbols on section boundaries. 2775 (bfd_mach_o_swap_out_non_scattered_reloc): New. 2776 (bfd_mach_o_write_relocs): Use bfd_mach_o_encode_non_scattered_reloc. 2777 27782012-02-17 Iain Sandoe <idsandoe@googlemail.com> 2779 2780 * mach-o-i386.c (i386_howto_table): Add support for 16 bit 2781 sect-diffs. 2782 (bfd_mach_o_i386_swap_reloc_in): Handle 16bit sect-diffs. 2783 (bfd_mach_o_i386_swap_reloc_out): Likewise. 2784 27852012-02-17 Tristan Gingold <gingold@adacore.com> 2786 2787 * reloc.c (BFD_RELOC_MACH_O_LOCAL_SECTDIFF): 2788 * libbfd.h: Regenerated. 2789 * bfd-in2.h: Likewise. 2790 * mach-o-i386.c (i386_howto_table): Include local sectdiff. 2791 (bfd_mach_o_i386_swap_reloc_in): Update for local sectdiff. 2792 (bfd_mach_o_i386_swap_reloc_out): Likewise. 2793 27942012-02-17 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 2795 2796 * elf32-s390.c (elf_s390_relocate_section): Support basr in the 2797 GD->LE and LD->LE optimizations. 2798 27992012-02-16 Alan Modra <amodra@gmail.com> 2800 2801 PR binutils/13355 2802 * elf32-rx.c (elf32_rx_relax_section): Correct width check. 2803 28042012-02-13 Richard Henderson <rth@redhat.com> 2805 2806 PR ld/13621 2807 * linker.c (fix_syms): Force symbols outside any section into 2808 bfd_abs_section_ptr. 2809 28102012-02-13 Alan Modra <amodra@gmail.com> 2811 2812 * elf32-m68hc1x.c (elf32_m68hc11_merge_symbol_attribute): New function. 2813 * elf32-m68hc1x.h (elf32_m68hc11_merge_symbol_attribute): Declare. 2814 * elf32-m68hc11.c (elf_backend_merge_symbol_attribute): Define. 2815 * elf32-m68hc12.c (elf_backend_merge_symbol_attribute): Define. 2816 28172012-02-11 Jan Kratochvil <jan.kratochvil@redhat.com> 2818 Nick Clifton <nickc@redhat.com> 2819 2820 * oasys.c (oasys_write_header): Fix compilation warning on zero-sized 2821 memset. 2822 28232012-02-10 Iain Sandoe <idsandoe@googlemail.com> 2824 2825 * mach-o.c (bfd_mach_o_build_seg_command): Count zerofill section 2826 vma additions in their logical, rather than physical order. 2827 28282012-02-10 Iain Sandoe <idsandoe@googlemail.com> 2829 2830 * mach-o.c (mach_o_section_name_xlat): Correct eh-frame section 2831 parameters. 2832 * mach-o-x86-64.c (text_section_names_xlat): New. 2833 (mach_o_x86_64_segsec_names_xlat): New. 2834 (bfd_mach_o_tgt_seg_table): Define to mach_o_x86_64_segsec_names_xlat. 2835 * mach-o-i386.c (text_section_names_xlat): Correct section parameters. 2836 28372012-02-10 Tristan Gingold <gingold@adacore.com> 2838 2839 * elfnn-ia64.c (elfNN_vms_object_p): Change comparison operator 2840 to avoid infinite loop. Add comments. 2841 28422012-02-09 H.J. Lu <hongjiu.lu@intel.com> 2843 2844 PR ld/13675 2845 * cpu-i386.c (bfd_arch_i386_fill): Updated to support multi byte 2846 nop instructions. 2847 (bfd_arch_i386_short_nop_fill): New. 2848 (bfd_arch_i386_long_nop_fill): Likewise. 2849 Use bfd_arch_i386_short_nop_fill in 32bit bfd_arch_info 2850 initializers. Use bfd_arch_i386_long_nop_fill on 64bit 2851 bfd_arch_info initializers. 2852 2853 * cpu-k1om.c (bfd_arch_i386_fill): Renamed to ... 2854 (bfd_arch_i386_short_nop_fill): This. 2855 Update bfd_arch_info initializers. 2856 * cpu-l1om.c: Likewise. 2857 28582012-02-08 Alan Modra <amodra@gmail.com> 2859 2860 * elflink.c (_bfd_elf_gc_mark_rsec): Mark weakdef syms too. 2861 (_bfd_elf_fix_symbol_flags): When a weakdef is def_regular, clear 2862 the correct h->u.weakdef. 2863 28642012-02-07 Alan Modra <amodra@gmail.com> 2865 2866 * elf.c (elf_find_function): Don't use internal_elf_sym. 2867 (_bfd_elf_maybe_function_sym): Likewise. Replace elf_symbol_type 2868 parameter with asymbol. 2869 * elf64-ppc.c (ppc64_elf_maybe_function_sym): Likewise. 2870 * elf-bfd.h (_bfd_elf_maybe_function_sym): Update prototype. 2871 (struct elf_backend_data <maybe_function_sym>): Likewise. 2872 28732012-02-02 Vidya Praveen (vidya.praveen@atmel.com) 2874 2875 PR bfd/13410 2876 * elf32-avr.c (elf32_avr_relax_section): Correct the 2877 condition that qualifies the candidates for relaxation. 2878 28792012-02-02 Tristan Gingold <gingold@adacore.com> 2880 2881 * bfdio.c (real_fopen): Remove unused vms_modes variable. 2882 28832012-02-02 Tristan Gingold <gingold@adacore.com> 2884 2885 * mach-o.c (bfd_mach_o_read_header): Silent uninitialized 2886 variable warning. 2887 28882012-02-02 Tristan Gingold <gingold@adacore.com> 2889 2890 * archive.c (bfd_slurp_armap): Fix thinko in cast. 2891 28922012-01-31 H.J. Lu <hongjiu.lu@intel.com> 2893 2894 PR ld/13616 2895 * archures.c (bfd_arch_info): Add fill. 2896 (bfd_default_arch_struct): Add bfd_arch_default_fill. 2897 (bfd_arch_default_fill): New. 2898 2899 * configure.in: Set bfd version to 2.22.52. 2900 * configure: Regenerated. 2901 2902 * cpu-alpha.c: Add bfd_arch_default_fill to bfd_arch_info 2903 initializer. 2904 * cpu-arc.c: Likewise. 2905 * cpu-arm.c: Likewise. 2906 * cpu-avr.c: Likewise. 2907 * cpu-bfin.c: Likewise. 2908 * cpu-cr16.c: Likewise. 2909 * cpu-cr16c.c: Likewise. 2910 * cpu-cris.c: Likewise. 2911 * cpu-crx.c: Likewise. 2912 * cpu-d10v.c: Likewise. 2913 * cpu-d30v.c: Likewise. 2914 * cpu-dlx.c: Likewise. 2915 * cpu-epiphany.c: Likewise. 2916 * cpu-fr30.c: Likewise. 2917 * cpu-frv.c: Likewise. 2918 * cpu-h8300.c: Likewise. 2919 * cpu-h8500.c: Likewise. 2920 * cpu-hppa.c: Likewise. 2921 * cpu-i370.c: Likewise. 2922 * cpu-i860.c: Likewise. 2923 * cpu-i960.c: Likewise. 2924 * cpu-ia64.c: Likewise. 2925 * cpu-ip2k.c: Likewise. 2926 * cpu-iq2000.c: Likewise. 2927 * cpu-lm32.c: Likewise. 2928 * cpu-m10200.c: Likewise. 2929 * cpu-m10300.c: Likewise. 2930 * cpu-m32c.c: Likewise. 2931 * cpu-m32r.c: Likewise. 2932 * cpu-m68hc11.c: Likewise. 2933 * cpu-m68hc12.c: Likewise. 2934 * cpu-m68k.c: Likewise. 2935 * cpu-m88k.c: Likewise. 2936 * cpu-mcore.c: Likewise. 2937 * cpu-mep.c: Likewise. 2938 * cpu-microblaze.c: Likewise. 2939 * cpu-mips.c: Likewise. 2940 * cpu-mmix.c: Likewise. 2941 * cpu-moxie.c: Likewise. 2942 * cpu-msp430.c: Likewise. 2943 * cpu-mt.c: Likewise. 2944 * cpu-ns32k.c: Likewise. 2945 * cpu-openrisc.c: Likewise. 2946 * cpu-or32.c: Likewise. 2947 * cpu-pdp11.c: Likewise. 2948 * cpu-pj.c: Likewise. 2949 * cpu-plugin.c: Likewise. 2950 * cpu-powerpc.c: Likewise. 2951 * cpu-rl78.c: Likewise. 2952 * cpu-rs6000.c: Likewise. 2953 * cpu-rx.c: Likewise. 2954 * cpu-s390.c: Likewise. 2955 * cpu-score.c: Likewise. 2956 * cpu-sh.c: Likewise. 2957 * cpu-sparc.c: Likewise. 2958 * cpu-spu.c: Likewise. 2959 * cpu-tic30.c: Likewise. 2960 * cpu-tic4x.c: Likewise. 2961 * cpu-tic54x.c: Likewise. 2962 * cpu-tic6x.c: Likewise. 2963 * cpu-tic80.c: Likewise. 2964 * cpu-tilegx.c: Likewise. 2965 * cpu-tilepro.c: Likewise. 2966 * cpu-v850.c: Likewise. 2967 * cpu-vax.c: Likewise. 2968 * cpu-w65.c: Likewise. 2969 * cpu-we32k.c: Likewise. 2970 * cpu-xc16x.c: Likewise. 2971 * cpu-xstormy16.c: Likewise. 2972 * cpu-xtensa.c: Likewise. 2973 * cpu-z80.c: Likewise. 2974 * cpu-z8k.c: Likewise. 2975 2976 * cpu-i386.c: Include "libiberty.h". 2977 (bfd_arch_i386_fill): New. 2978 Add bfd_arch_i386_fill to bfd_arch_info initializer. 2979 2980 * cpu-k1om.c: Add bfd_arch_i386_fill to bfd_arch_info initializer. 2981 * cpu-l1om.c: Likewise. 2982 2983 * linker.c (default_data_link_order): Call abfd->arch_info->fill 2984 if fill size is 0. 2985 2986 * bfd-in2.h: Regenerated. 2987 29882012-01-27 Michael Eager <eager@eagercon.com> 2989 2990 * elf32-microblaze.c (create_got_section): 2991 Reuse existing .rela.got section. 2992 29932012-01-23 Alan Modra <amodra@gmail.com> 2994 2995 * elf-bfd.h: Formatting. 2996 (struct elf_backend_data): Add "maybe_function_sym". 2997 (_bfd_elf_maybe_function_sym): Declare. 2998 * elfxx-target.h (elf_backend_maybe_function_sym): Define. 2999 (elfNN_bed): Init new field. 3000 * elf.c (elf_find_function): Use maybe_function_sym. 3001 (_bfd_elf_maybe_function_sym): New function. 3002 * elf64-ppc.c (elf_backend_maybe_function_sym): Define. 3003 (ppc64_elf_maybe_function_sym): New function. 3004 30052012-01-20 Francois Gouget <fgouget@codeweavers.com> 3006 3007 PR binutils/13534 3008 * archive.c (_bfd_ar_sizepad): New function. Correctly install and 3009 pad the size field in an archive header. 3010 (_bfd_generic_read_ar_hdr_mag): Use the correct type and scan 3011 function for the archive size field. 3012 (bfd_generic_openr_next_archived_file): Likewise. 3013 (do_slurp_coff_armap): Likewise. 3014 (_bfd_write_archive_contents): Likewise. 3015 (_bfd_bsd44_write_ar_hdr): Use the new function. 3016 (bfd_ar_hdr_from_filesystem): Likewise. 3017 (_bfd_write_archive_contents): Likewise. 3018 (bsd_write_armap): Likewise. 3019 (coff_write_armap): Likewise. 3020 * archive64.c (bfd_elf64_archive_write_armap): Likewise. 3021 * bfdio.c (bfd_bread): Use correct type for archive element 3022 sizes. 3023 * ar.c (open_inarch): Likewise. 3024 (extract_file): Likewise. 3025 * libbfd-in.h (struct areltdata): Use correct types for 3026 parsed_size and extra_size fields. 3027 Prototype _bfd_ar_sizepad function. 3028 * libbfd.h: Regenerate. 3029 30302012-01-20 Ulrich Weigand <ulrich.weigand@linaro.org> 3031 3032 * elf.c (elfcore_write_prpsinfo): Provide unconditionally. 3033 Return NULL if core file generation is unsupported. 3034 (elfcore_write_prstatus): Likewise. 3035 * elf32-arm.c (elf32_arm_nabi_write_core_note): New function. 3036 (elf_backend_write_core_note): Define. 3037 30382012-01-19 Tristan Gingold <gingold@adacore.com> 3039 3040 * pef.c: Add a comment. 3041 * xsym.c: Likewise. 3042 30432012-01-17 Alan Modra <amodra@gmail.com> 3044 3045 * elf32-ppc.c (ppc_elf_write_core_note <NT_PRPSINFO>): Don't leave 3046 trailing garbage in the note. 3047 * elf64-ppc.c (ppc64_elf_write_core_note <NT_PRPSINFO>): Likewise. 3048 30492012-01-16 Daniel Green <venix1@gmail.com> 3050 3051 PR ld/13491 3052 * coff-i386.c (coff_i386_rtype_to_howto <R_SECREL32>): Test 3053 h->root.type not h->type. 3054 * coff-x86_64.c (coff_amd64_rtype_to_howto <R_AMD64_SECREL>): Likewise. 3055 30562012-01-13 Iain Sandoe <idsandoe@googlemail.com> 3057 3058 * mach-o.c (bfd_mach_o_build_dysymtab_command): Handle absolute 3059 indirect symbols. 3060 30612012-01-13 Iain Sandoe <idsandoe@googlemail.com> 3062 3063 * mach-o.c (bfd_mach_o_write_relocs): Move computation of relocs file 3064 position from here... to (bfd_mach_o_build_seg_command): Here. 3065 30662012-01-12 Iain Sandoe <idsandoe@googlemail.com> 3067 3068 * mach-o.c (bfd_mach_o_count_indirect_symbols): New. 3069 (bfd_mach_o_build_dysymtab_command): Populate indirect symbol table. 3070 * mach-o.h (bfd_mach_o_asymbol): Move declaration to start of the 3071 file. (bfd_mach_o_section): Add indirect_syms field. 3072 30732012-01-11 Iain Sandoe <idsandoe@googlemail.com> 3074 3075 * mach-o.c (bfd_mach_o_build_seg_command): Separate computation of 3076 vmsize from filesize. Don't compute offsets or file sizes for 3077 zerofill sections. 3078 30792012-01-11 Iain Sandoe <idsandoe@googlemail.com> 3080 3081 * mach-o.c (bfd_mach_o_build_commands): Make the building of each 3082 command type independent. 3083 30842012-01-11 Alan Modra <amodra@gmail.com> 3085 3086 * elf64-ppc.c: Define more insns used in plt call stubs. 3087 (ppc64_elf_brtaken_reloc): Assume isa version 2 or above. 3088 (ppc64_elf_relocate_section): Likewise. 3089 (enum ppc_stub_type): Add ppc_stub_plt_call_r2save. 3090 (struct ppc_link_hash_table): Increase size of stub_count array. 3091 Add plt_stub_align and plt_thread_safe. 3092 (ALWAYS_USE_FAKE_DEP, ALWAYS_EMIT_R2SAVE): Define. 3093 (plt_stub_size, plt_stub_pad): New functions. 3094 (build_plt_stub): Emit barriers for power7 thread safety. Don't 3095 emit needless save of r2. 3096 (build_tls_get_addr_stub): Adjust params. 3097 (ppc_build_one_stub): Handle ppc_stub_plt_call_r2save and aligning 3098 plt stubs. Adjust build_*plt_stub calls. 3099 (ppc_size_one_stub): Similarly. 3100 (ppc64_elf_size_stubs): Accept plt_thread_safe and plt_stub_align 3101 params. Choose default for plt_thread_safe based on existence of 3102 calls to thread creation functions. Modify plt_call to 3103 plt_call_r2save when no tocsave reloc found. Align tail of stub 3104 sections. 3105 (ppc64_elf_build_stubs): Align tail of stub sections. Adjust 3106 output of stub statistics. 3107 (ppc64_elf_relocate_section): Handle ppc_stub_plt_call_r2save. 3108 * elf64-ppc.h (ppc64_elf_size_stubs): Update prototype. 3109 31102012-01-10 H.J. Lu <hongjiu.lu@intel.com> 3111 3112 PR ld/13581 3113 * elf64-x86-64.c (elf_x86_64_relocate_section): Remove ABI_64_P 3114 check on R_X86_64_PCXX. 3115 31162012-01-10 Tristan Gingold <gingold@adacore.com> 3117 3118 * mach-o.c (bfd_mach_o_build_commands): Avoid uninitialized false 3119 warning. 3120 31212012-01-10 Tristan Gingold <gingold@adacore.com> 3122 3123 * bfdio.c (bfd_tell): Handle nested archives. 3124 (bfd_seek): Ditto. 3125 * cache.c (bfd_cache_lookup_worker): Ditto. 3126 * archive.c (_bfd_get_elt_at_filepos): Remove code dealing with 3127 nested archives. 3128 (bfd_generic_openr_next_archived_file): Likewise. 3129 31302012-01-09 Iain Sandoe <idsandoe@googlemail.com> 3131 3132 * mach-o.c (bfd_mach_o_bfd_copy_private_symbol_data): Implement. 3133 (bfd_mach_o_write_symtab): Remove handling for indirect syms. 3134 (bfd_mach_o_primary_symbol_sort_key): Likewise. 3135 (bfd_mach_o_cf_symbols): Likewise. 3136 (bfd_mach_o_sort_symbol_table): Remove. 3137 (bfd_mach_o_mangle_symbols): Adjust arguments, remove handling 3138 for indirect and dysymtab counts. Do the symbol sorting here. 3139 (bfd_mach_o_build_dysymtab_command): Count the symbol types here. 3140 Make the indirect symbols a TODO. 3141 (bfd_mach_o_build_commands): Adjust call to bfd_mach_o_mangle_symbols. 3142 (bfd_mach_o_make_empty_symbol): Specifically flag unset symbols with 3143 a non-zero value. 3144 (bfd_mach_o_read_symtab_symbol): Record the symbol index. 3145 (bfd_mach_o_read_symtab_symbol): Adjust recording of global status. 3146 * mach-o.h (mach_o_data_struct): Remove indirect and dysymtab entries. 3147 (IS_MACHO_INDIRECT): Remove. 3148 (SYM_MACHO_FIELDS_UNSET, SYM_MACHO_FIELDS_NOT_VALIDATED): New. 3149 31502012-01-06 Nick Clifton <nickc@redhat.com> 3151 3152 PR binutils/13121 3153 * reloc.c (bfd_generic_lookup_section_flags): Rename 'finfo' to 3154 'flaginfo' to avoid conflicts with AIX system headers. 3155 31562012-01-06 Tristan Gingold <gingold@adacore.com> 3157 3158 * bfdio.c (bfd_bread): Use arelt_size macro. 3159 31602012-01-06 Tristan Gingold <gingold@adacore.com> 3161 3162 * config.bfd (i[3-7]86-*-darwin*): Define targ64_selvecs. 3163 31642012-01-05 Nick Clifton <nickc@redhat.com> 3165 3166 PR ld/12161 3167 * elf32-avr.c (elf32_avr_relax_delete_bytes): Read in relocs if 3168 necessary. 3169 31702012-01-05 Jan Kratochvil <jan.kratochvil@redhat.com> 3171 3172 Fix zero registers core files when built by gcc-4.7. 3173 * elf64-x86-64.c (elf_x86_64_write_core_note): Remove variables p and 3174 size. Call elfcore_write_note for the local variables. Remove the 3175 final elfcore_write_note call. Add NOTREACHED comments. 3176 31772012-01-04 Tristan Gingold <gingold@adacore.com> 3178 3179 * mach-o.c (bfd_mach_o_fat_stat_arch_elt): New function. 3180 (bfd_mach_o_generic_stat_arch_elt): Adjust. 3181 31822012-01-04 Tristan Gingold <gingold@adacore.com> 3183 3184 * mach-o.c (bfd_mach_o_fat_member_init): New function. 3185 (bfd_mach_o_openr_next_archived_file): Reindent. 3186 Adjust to call bfd_mach_o_fat_member_init. 3187 (bfd_mach_o_fat_extract): Adjust to call bfd_mach_o_fat_member_init. 3188 31892012-01-04 Tristan Gingold <gingold@adacore.com> 3190 3191 * mach-o-x86-64.c (bfd_mach_o_x86_64_swap_reloc_out): Handle 3192 BFD_RELOC_32, BFD_RELOC_MACH_O_X86_64_PCREL32_1, 3193 BFD_RELOC_MACH_O_X86_64_PCREL32_2, 3194 BFD_RELOC_MACH_O_X86_64_PCREL32_4, 3195 BFD_RELOC_MACH_O_X86_64_BRANCH32, 3196 BFD_RELOC_MACH_O_X86_64_SUBTRACTOR32, 3197 BFD_RELOC_MACH_O_X86_64_GOT. 3198 31992012-01-04 Tristan Gingold <gingold@adacore.com> 3200 3201 * mach-o.h (bfd_mach_o_fvmlib_command): New structure. 3202 (bfd_mach_o_load_command): Add fvmlib field. 3203 3204 * mach-o.c (bfd_mach_o_read_fvmlib): New function. 3205 (bfd_mach_o_read_command): Handle fvmlib. 3206 32072012-01-04 Tristan Gingold <gingold@adacore.com> 3208 3209 * mach-o.c (bfd_mach_o_convert_architecture): Reindent. 3210 Decode msubtype for ARM. 3211 32122012-01-04 Tristan Gingold <gingold@adacore.com> 3213 3214 * mach-o.c (bfd_mach_o_get_synthetic_symtab): Add comments. 3215 32162012-01-04 Tristan Gingold <gingold@adacore.com> 3217 3218 * mach-o.h: Reindent header. 3219 (bfd_mach_o_encryption_info_command): New structure. 3220 (bfd_mach_o_load_command): Add encryption_info field. 3221 3222 * mach-o.c (bfd_mach_o_read_encryption_info): New function. 3223 (bfd_mach_o_read_command): Handle BFD_MACH_O_LC_ENCRYPTION_INFO. 3224 (bfd_mach_o_read_command): Adjust error message. 3225 32262012-01-04 Shinichiro Hamaji <shinichiro.hamaji@gmail.com> 3227 3228 * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Factor out the part 3229 which reads DWARF2 and stores in stash from find_line. 3230 (find_line) Call _bfd_dwarf2_slurp_debug_info. 3231 * libbfd-in.h (_bfd_dwarf2_slurp_debug_info): Add declaration. 3232 * libbfd.h (_bfd_dwarf2_slurp_debug_info): Regenerate. 3233 * mach-o.c (dsym_subdir): The name of subdir where debug 3234 information may be stored. 3235 (bfd_mach_o_lookup_uuid_command): New. Lookup a load command whose 3236 type is UUID. 3237 (bfd_mach_o_dsym_for_uuid_p): New. Check if the specified BFD is 3238 corresponding to the executable. 3239 (bfd_mach_o_find_dsym): New. Find a debug information BFD in the 3240 specified binary file. 3241 (bfd_mach_o_follow_dsym): New. Find a debug information BFD for 3242 the original BFD. 3243 (bfd_mach_o_find_nearest_line): Check dSYM files for Mach-O 3244 executables, dylibs, and bundles. 3245 (bfd_mach_o_close_and_cleanup): Clean up BFDs for the dSYM file. 3246 * mach-o.h (dsym_bfd): The BFD of the dSYM file. 3247 32482012-01-03 Iain Sandoe <idsandoe@googlemail.com> 3249 3250 * mach-o.c (bfd_mach_o_mangle_symbols): Put in the section index 3251 for stabd symbols. 3252 (bfd_mach_o_primary_symbol_sort_key): Adjust for stabs. 3253 (bfd_mach_o_cf_symbols): Likewise. 3254 32552012-01-03 Iain Sandoe <idsandoe@googlemail.com> 3256 3257 * mach-o.c (bfd_mach_o_mangle_symbols): Correct typo. 3258 32592012-01-03 Iain Sandoe <idsandoe@googlemail.com> 3260 3261 * mach-o.c (bfd_mach_o_write_symtab): Fill in the string table index 3262 as the value of an indirect symbol. Keep the string table index in 3263 non-indirect syms for reference. 3264 (bfd_mach_o_write_dysymtab): New. 3265 (bfd_mach_o_primary_symbol_sort_key): New. 3266 (bfd_mach_o_cf_symbols): New. 3267 (bfd_mach_o_sort_symbol_table): New. 3268 (bfd_mach_o_mangle_symbols): Return early if no symbols. Sort symbols. 3269 If we are emitting a dysymtab, process indirect symbols and count the 3270 number of each other kind. 3271 (bfd_mach_o_mangle_sections): New. 3272 (bfd_mach_o_write_contents): Split out some pre-requisite code into 3273 the command builder. Write dysymtab if the command is present. 3274 (bfd_mach_o_count_sections_for_seg): New. 3275 (bfd_mach_o_build_seg_command): New. 3276 (bfd_mach_o_build_dysymtab_command): New. 3277 (bfd_mach_o_build_commands): Reorganize to support the fact that some 3278 commands are optional and should not be emitted if there are no 3279 sections or symbols. 3280 (bfd_mach_o_set_section_contents): Amend comment. 3281 * mach-o.h: Amend and add to comments. 3282 (mach_o_data_struct): Add fields for dysymtab symbols counts and a 3283 pointer to the indirects, when present. 3284 (bfd_mach_o_should_emit_dysymtab): New macro. 3285 (IS_MACHO_INDIRECT): Likewise. 3286 3287For older changes see ChangeLog-2011 3288 3289Copyright (C) 2012 Free Software Foundation, Inc. 3290 3291Copying and distribution of this file, with or without modification, 3292are permitted in any medium without royalty provided the copyright 3293notice and this notice are preserved. 3294 3295Local Variables: 3296mode: change-log 3297left-margin: 8 3298fill-column: 74 3299version-control: never 3300End: 3301