12010-12-31 Robert Millan <rmh@gnu.org> 2 3 * config.bfd: Recognize mips-freebsd and mips-kfreebsd-gnu. 4 * configure.host: Likewise. 5 * configure.in: Support for `bfd_elf32_ntradbigmips_freebsd_vec', 6 `bfd_elf32_ntradlittlemips_freebsd_vec', 7 `bfd_elf32_tradbigmips_freebsd_vec', 8 `bfd_elf32_tradlittlemips_freebsd_vec', 9 `bfd_elf64_tradbigmips_freebsd_vec' and 10 `bfd_elf64_tradlittlemips_freebsd_vec'. 11 * configure: Regenerate. 12 * elf32-mips.c: New target for FreeBSD support 13 (same as traditional MIPS but overrides ELF_OSABI 14 with ELFOSABI_FREEBSD). 15 * elf64-mips.c: Likewise. 16 * elfn32-mips.c: Likewise. 17 * targets.c (_bfd_target_vector): Add 18 `bfd_elf32_ntradbigmips_freebsd_vec', 19 `bfd_elf32_ntradlittlemips_freebsd_vec', 20 `bfd_elf32_tradbigmips_freebsd_vec', 21 `bfd_elf32_tradlittlemips_freebsd_vec', 22 `bfd_elf64_tradbigmips_freebsd_vec' and 23 `bfd_elf64_tradlittlemips_freebsd_vec'. 24 252010-12-30 H.J. Lu <hongjiu.lu@intel.com> 26 27 * elfcode.h (NAME(elf,r_info)): New. 28 (NAME(elf,r_sym)): Likewise. 29 30 * elflink.c (elf64_r_info): Removed. 31 (elf32_r_info): Likewise. 32 (elf64_r_sym): Likewise. 33 (elf32_r_sym): Likewise. 34 352010-12-30 H.J. Lu <hongjiu.lu@intel.com> 36 37 * elf64-x86-64.c (elf_x86_64_relocs_compatible): New. 38 (elf_backend_relocs_compatible): Defined to 39 elf_x86_64_relocs_compatible. 40 412010-12-30 H.J. Lu <hongjiu.lu@intel.com> 42 43 * archures.c (bfd_mach_x64_32): New. 44 (bfd_mach_x64_32_intel_syntax): Likewise. 45 * bfd-in2.h: Regenerated. 46 47 * config.bfd (targ64_selvecs): Add bfd_elf32_x86_64_vec for 48 i[3-7]86-*-linux-*. 49 (targ_selvecs): Add bfd_elf32_x86_64_vec for x86_64-*-linux-*. 50 51 * configure.in: Support bfd_elf32_x86_64_vec. 52 * configure: Regenerated. 53 54 * cpu-i386.c (bfd_x64_32_arch_intel_syntax): New. 55 (bfd_x64_32_arch): Likewise. 56 57 * elf-bfd.h (elf_append_rela): New prototype. 58 (elf_append_rel): Likewise. 59 (elf64_r_info): Likewise. 60 (elf32_r_info): Likewise. 61 (elf64_r_sym): Likewise. 62 (elf32_r_sym): Likewise. 63 64 * elf64-x86-64.c (ABI_64_P): New. 65 (elf_x86_64_info_to_howto): Replace ELF64_R_TYPE with 66 ELF32_R_TYPE. Replace ELF64_ST_TYPE with ELF_ST_TYPE. 67 (elf_x86_64_check_tls_transition):Likewise. 68 (elf_x86_64_check_relocs): Likewise. 69 (elf_x86_64_gc_mark_hook):Likewise. 70 (elf_x86_64_gc_sweep_hook): Likewise. 71 (elf_x86_64_relocate_section): Likewise. 72 (elf_x86_64_reloc_type_class): Likewise. 73 (ELF_DYNAMIC_INTERPRETER): Renamed to ... 74 (ELF64_DYNAMIC_INTERPRETER): This. 75 (ELF32_DYNAMIC_INTERPRETER): New. 76 (elf_x86_64_link_hash_table): Add r_info, r_sym, swap_reloca_out, 77 dynamic_interpreter and dynamic_interpreter_size. 78 (elf_x86_64_get_local_sym_hash): Replace ELF64_R_SYM with 79 htab->r_sym. Replace ELF64_R_INFO with htab->r_info. 80 (elf_x86_64_get_local_sym_hash): Likewise. 81 (elf_x86_64_check_tls_transition):Likewise. 82 (elf_x86_64_check_relocs): Likewise. 83 (elf_x86_64_gc_mark_hook):Likewise. 84 (elf_x86_64_gc_sweep_hook): Likewise. 85 (elf_x86_64_relocate_section): Likewise. 86 (elf_x86_64_finish_dynamic_symbol): Likewise. 87 (elf_x86_64_finish_local_dynamic_symbol): Likewise. 88 (elf_x86_64_link_hash_table_create): Initialize r_info, r_sym, 89 swap_reloca_out, dynamic_interpreter and dynamic_interpreter_size. 90 (elf_x86_64_check_relocs): Check ABI_64_P when requesting for 91 PIC. 92 (elf_x86_64_relocate_section): Likewise. 93 (elf64_x86_64_adjust_dynamic_symbol): Replace sizeof 94 (Elf64_External_Rela) with bed->s->sizeof_rela. 95 (elf64_x86_64_allocate_dynrelocs): Likewise. 96 (elf64_x86_64_size_dynamic_sections): Likewise. 97 (elf64_x86_64_finish_dynamic_symbol): Likewise. 98 (elf64_x86_64_append_rela): Removed. 99 (elf32_x86_64_elf_object_p): New. 100 Add bfd_elf32_x86_64_vec. 101 102 * elf64-x86-64.c (elf64_x86_64_xxx): Renamed to ... 103 (elf_x86_64_xxx): This. 104 105 * elflink.c (bfd_elf_final_link): Check ELF file class on error. 106 (elf_append_rela): New. 107 (elf_append_rel): Likewise. 108 (elf64_r_info): Likewise. 109 (elf32_r_info): Likewise. 110 (elf64_r_sym): Likewise. 111 (elf32_r_sym): Likewise. 112 113 * targets.c (bfd_elf32_x86_64_vec): New. 114 (_bfd_target_vector): Add bfd_elf32_x86_64_vec. 115 1162010-12-24 Alan Modra <amodra@gmail.com> 117 118 * compress.c (decompress_contents): Style. 119 (bfd_get_full_section_contents): Do not decompress directly into 120 caller buffer or directly return cached section contents. 121 Check malloc return for compressed_buffer. 122 1232010-12-21 Kai Tietz <kai.tietz@onevision.com> 124 125 * peXXigen.c (_bfd_XXi_final_link_postscript): Use 126 bfd_get_symbol_leading_char to determine "_tls_used" name. 127 1282010-12-21 Pierre Muller <muller@ics.u-strasbg.fr> 129 130 * peXXigen.c (_bfd_XXi_final_link_postscript): Use correct size 131 for windows 64-bit TLS table size. 132 1332010-12-16 DJ Delorie <dj@redhat.com> 134 135 * reloc.c (BFD_RELOC_RX_ABS16_REV): Add. 136 (BFD_RELOC_RX_ABS32_REV): Add. 137 * bfd-in2.h: Regenerate. 138 * libbfd.h: Regenerate. 139 * elf32-rx.c (rx_reloc_map): Add them. 140 1412010-12-15 H.J. Lu <hongjiu.lu@intel.com> 142 143 * elf.c (_bfd_elf_new_section_hook): Special handling for 144 .init_array/.fini_array output sections. 145 1462010-12-13 Alan Modra <amodra@gmail.com> 147 148 * aoutx.h (aout_link_check_ar_symbols): Formatting. 149 * cofflink.c (coff_link_check_ar_symbols): Likewise. 150 * elflink.c (elf_link_add_archive_symbols): Likewise. 151 * pdp11.c (aout_link_check_ar_symbols): Likewise. 152 * xcofflink.c (xcoff_link_check_dynamic_ar_symbols, 153 xcoff_link_check_dynamic_ar_symbols): Likewise. 154 155 * aoutx.h (aout_link_check_archive_element): Simplify code dealing 156 with add_archive_element substitute BFD. 157 * cofflink.c (coff_link_check_archive_element): Likewise. 158 * ecoff.c (ecoff_link_check_archive_element): Likewise. 159 (ecoff_link_add_archive_symbols): Likewise. 160 * linker.c (generic_link_check_archive_element): Likewise. 161 * pdp11.c (aout_link_check_archive_element): Likewise. 162 * vms-alpha.c (alpha_vms_link_add_archive_symbols): Likewise. 163 * xcofflink.c (xcoff_link_check_archive_element): Likewise. 164 165 * aoutx.h (aout_link_check_archive_element): Free symbols from old 166 bfd if !keep_memory. 167 * cofflink.c (coff_link_check_archive_element): Likewise. 168 * pdp11.c (aout_link_check_archive_element): Likewise. 169 * xcofflink.c (xcoff_link_check_archive_element): Likewise. 170 1712010-12-13 Alan Modra <amodra@gmail.com> 172 173 * plugin.c (bfd_plugin_mkobject): Delete. 174 (plugin_vec): Use bfd_false instead. 175 1762010-12-12 H.J. Lu <hongjiu.lu@intel.com> 177 178 * elflink.c (elf_link_add_archive_symbols): Remove subsbfd. 179 1802010-12-12 H.J. Lu <hongjiu.lu@intel.com> 181 182 * elf.c (special_sections_g): Add ".gnu.lto_". 183 1842010-12-10 Alan Modra <amodra@gmail.com> 185 186 * config.bfd: Configure rs6000-*-aix* as for powerpc-*-aix*. 187 Add aix5coff64_vec to powerpc ELF entries. 188 1892010-12-09 Mike Frysinger <vapier@gentoo.org> 190 191 * .gitignore: New file. 192 1932010-12-06 Dmitry Gorbachev <d.g.gorbachev@gmail.com> 194 195 PR ld/12288 196 * plugin.c (message): Add putchar for the trailing `\n'. 197 1982010-12-04 Mike Frysinger <vapier@gentoo.org> 199 200 * Makefile.am (!INSTALL_LIBBFD/bfdinclude_HEADERS): Set to nothing. 201 (PLUGINS/bfdinclude_HEADERS): Append plugin-api.h. 202 * Makefile.in: Regenerated. 203 2042010-12-04 Alan Modra <amodra@gmail.com> 205 206 PR ld/12277 207 * elflink.c (elf_link_output_extsym): Set bfd_error on symbol 208 and section errors. Allow better translation of error messages. 209 2102010-12-02 Richard Sandiford <richard.sandiford@linaro.org> 211 212 * elf32-arm.c (elf32_arm_link_hash_table): Remove sgot, sgotplt, 213 srelgot, splt, srelplt. 214 (create_got_section, elf32_arm_link_hash_table_create): Don't set them. 215 (elf32_arm_create_dynamic_sections): Likewise. Use htab->root 216 fields instead. 217 (arm_type_of_stub): Use the root fields instead of the removed ones. 218 (cortex_a8_erratum_scan, elf32_arm_size_stubs): Likewise. 219 (bfd_elf32_arm_process_before_allocation): Likewise. 220 (elf32_arm_check_relocs, allocate_dynrelocs): Likewise. 221 (elf32_arm_size_dynamic_sections): Likewise. 222 (elf32_arm_output_arch_local_syms): Likewise. 223 (elf32_arm_final_link_relocate): Set sgot, splt and srelgot from the 224 htab fields instead of looking them up by name. Consistently use 225 these local variables instead of htab fields. 226 (elf32_arm_finish_dynamic_symbol): Likewise sgot, splt and srel. 227 Use srelbss instead of looking it up by name. 228 (elf32_arm_finish_dynamic_sections): Use sgotplt, splt and srelplt 229 instead of looking up the symbols by name. Use the root fields 230 instead of the removed ones. 231 2322010-12-02 Richard Sandiford <richard.sandiford@linaro.org> 233 234 * elf32-arm.c (elf32_arm_relocs_copied): Delete. 235 (elf32_arm_link_hash_entry): Replace relocs_copied with dyn_relocs. 236 (elf32_arm_link_hash_newfunc): Update accordingly. 237 (elf32_arm_copy_indirect_symbol, elf32_arm_gc_sweep_hook): Likewise. 238 (elf32_arm_check_relocs, allocate_dynrelocs): Likewise. 239 (elf32_arm_readonly_dynrelocs): Likewise. 240 (elf32_arm_size_dynamic_sections): Likewise. 241 2422010-12-02 Paul Koning <ni1d@arrl.net> 243 244 * pdp11.c (aout_link_add_symbols): Ignore debug symbols. 245 2462010-11-30 Joel Sherrill <joel.sherrill@oarcorp.com> 247 248 * config.bfd: Add sparc64-rtems. 249 2502010-11-25 Alan Modra <amodra@gmail.com> 251 252 * po/es.po: Update. 253 * po/fi.po: Update. 254 * po/fr.po: Update. 255 * po/ja.po: Update. 256 * po/zh_CN.po: Update. 257 2582010-11-24 Joel Brobecker <brobecker@adacore.com> 259 260 * Makefile.am (OPTIONAL_BACKENDS): Add rs6000-core.lo. 261 (OPTIONAL_BACKENDS_CFILES): Add rs6000-core.c. 262 * Makefile.in: Regenerate. 263 2642010-11-24 Alan Modra <amodra@gmail.com> 265 266 PR ld/12253 267 * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Correct 268 DW_EH_PE_datarel handling. Truncate .eh_frame_hdr address to 269 ptr_size. 270 2712010-11-23 Mingming Sun <mingm.sun@gmail.com> 272 273 * elfxx-mips.c (mips_set_isa_flags): Move bfd_mach_loongson_3a 274 after bfd_mach_mips_sb1. 275 2762010-11-17 Tristan Gingold <gingold@adacore.com> 277 278 * vms-lib.c (vms_write_index): Add comments. 279 Partially revert previous patch. Free blocks later. 280 2812010-11-17 Nick Clifton <nickc@redhat.com> 282 283 PR ld/12161 284 * elf32-avr.c (elf32_avr_check_relocs): Delete. 285 (elf_backend_check_relocs): Delete. 286 2872010-11-16 Jie Zhang <jie.zhang@analog.com> 288 289 * elf32-bfin.c (elf32_bfin_code_in_l1): New variable. 290 (elf32_bfin_data_in_l1): New variable. 291 (elf32_bfin_final_write_processing): New. 292 (elf_backend_final_write_processing): Define. 293 2942010-11-15 Mike Frysinger <vapier@gentoo.org> 295 296 PR binutils/12177 297 * elf32-bfin.c (_bfin_create_got_section): Drop unused flags code. 298 2992010-11-12 H.J. Lu <hongjiu.lu@intel.com> 300 301 * archive.c (_bfd_get_elt_at_filepos): Copy BFD_COMPRESS and 302 BFD_DECOMPRESS. 303 (bfd_openr_next_archived_file): Revert the last change. 304 3052010-11-11 Mingming Sun <mingm.sun@gmail.com> 306 307 * archures.c (bfd_mach_mips_loongson_3a): Defined. 308 * bfd-in2.h (bfd_mach_mips_loongson_3a): Defined. 309 * cpu-mips.c (I_loongson_3a): New add. 310 (arch_info_struct): Add loongson_3a. 311 * elfxx-mips.c (_bfd_elf_mips_mach): Add loongson_3a. 312 (mips_set_isa_flags): Add loongson_3a. 313 (mips_mach_extensions): Add loongson_3a in MIPS64 extensions. 314 3152010-11-10 Richard Sandiford <richard.sandiford@linaro.org> 316 317 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Remove unused 318 variables. 319 3202010-11-10 Nick Clifton <nickc@redhat.com> 321 322 * po/ja.po: Updated Japanese translation. 323 * po/ru.po: Updated Russian translation. 324 3252010-11-08 Nick Clifton <nickc@redhat.com> 326 327 * po/ja.po: Updated Japanese translation. 328 3292010-11-08 Alan Modra <amodra@gmail.com> 330 331 * hash.c (bfd_hash_hash): Extract from.. 332 (bfd_hash_lookup): ..here. 333 (bfd_hash_rename): New function. 334 * section.c (bfd_rename_section): New function. 335 * bfd-in.h (bfd_hash_rename): Declare. 336 * bfd-in2.h: Regenerate. 337 * elf.c (_bfd_elf_make_section_from_shdr): Rename input sections 338 when compressing or decompressing. Don't assert name match. 339 * elf64-hppa.c (get_reloc_section): Don't assert name match. 340 * elfxx-ia64.c (get_reloc_section): Likewise. 341 3422010-11-05 Joseph Myers <joseph@codesourcery.com> 343 344 * elf32-tic6x.c (elf32_tic6x_obj_attrs_handle_unknown): New. 345 (elf32_tic6x_merge_attributes): Use 346 _bfd_elf_merge_unknown_attribute_low and 347 _bfd_elf_merge_unknown_attribute_list. 348 (elf_backend_obj_attrs_handle_unknown): Define. 349 3502010-11-05 Joseph Myers <joseph@codesourcery.com> 351 352 * elf-attrs.c (_bfd_elf_merge_unknown_attribute_low, 353 _bfd_elf_merge_unknown_attribute_list): Correct test for matching 354 string attributes. 355 3562010-11-05 Tristan Gingold <gingold@adacore.com> 357 358 * po/bfd.pot: Regenerate 359 3602010-11-05 Tristan Gingold <gingold@adacore.com> 361 362 * configure.in: Bump version to 2.21.51 363 * configure: Regenerate. 364 3652010-11-04 Maciej W. Rozycki <macro@codesourcery.com> 366 367 PR ld/10144 368 * elfxx-mips.c (_bfd_mips_elf_check_relocs) 369 [R_MIPS_32, R_MIPS_REL32, R_MIPS_64]: Ignore relocs from 370 SEC_DEBUGGING sections. 371 3722010-11-04 Tristan Gingold <gingold@adacore.com> 373 374 * vms-lib.c (vms_write_index): Fix thinko: reverse the loop. 375 Use bfd_zmalloc instead of bfd_malloc. Fix comment. 376 3772010-11-04 Kai Tietz <kai.tietz@onevision.com> 378 379 * coffcode.h (GNU_LINKONCE_WT): New. 380 (sec_to_styp_flags): Add handling of new debug 381 section. 382 (styp_to_sec_flags): Likewise. 383 3842010-11-04 Tristan Gingold <gingold@adacore.com> 385 386 * makefile.vms (CFLAGS): Make badalias warnings informational. 387 * vms-lib.c (vms_lib_bread): Avoid arithmetic on void pointer. 388 3892010-11-04 Joseph Myers <joseph@codesourcery.com> 390 391 * elf-attrs.c (_bfd_elf_merge_unknown_attribute_low, 392 _bfd_elf_merge_unknown_attribute_list): New. 393 * elf-bfd.h (struct elf_backend_data): Add 394 obj_attrs_handle_unknown. 395 (_bfd_elf_merge_unknown_attribute_low, 396 _bfd_elf_merge_unknown_attribute_list): Declare. 397 * elf32-arm.c (elf32_arm_obj_attrs_handle_unknown): New. Split 398 out from elf32_arm_merge_eabi_attributes. 399 (elf32_arm_merge_eabi_attributes): Use 400 _bfd_elf_merge_unknown_attribute_low and 401 _bfd_elf_merge_unknown_attribute_list. 402 (elf_backend_obj_attrs_handle_unknown): Define. 403 * elfxx-target.h (elf_backend_obj_attrs_handle_unknown): Define. 404 (elfNN_bed): Update initializer. 405 4062010-11-02 H.J. Lu <hongjiu.lu@intel.com> 407 408 * bfd.c (BFD_FLAGS_FOR_BFD_USE_MASK): New. 409 * bfd-in2.h: Regenerated. 410 4112010-11-02 Joseph Myers <joseph@codesourcery.com> 412 413 * elf32-tic6x.c (elf32_tic6x_obj_attrs_arg_type): Except for 414 Tag_ABI_compatibility, treat odd tags as strings and even ones as 415 integers. 416 (elf32_tic6x_obj_attrs_order, elf32_tic6x_tag_to_array_alignment, 417 elf32_tic6x_array_alignment_to_tag): New. 418 (elf32_tic6x_merge_attributes): Handle more attributes. Set type 419 for merged attributes. 420 (elf_backend_obj_attrs_order): Define. 421 4222010-10-29 Maciej W. Rozycki <macro@codesourcery.com> 423 424 * elfxx-mips.c (mips_elf_calculate_relocation): Fix a typo. 425 4262010-10-29 Pawel Sikora <pluto@pld-linux.org> 427 428 PR binutils/12075 429 * compress.c (bfd_compress_section_contents): Use uLong on 430 compressed_size. 431 4322010-10-29 Joseph Myers <joseph@codesourcery.com> 433 434 * elf32-tic6x.c (elf32_tic6x_obj_attrs_arg_type): Check 435 Tag_ABI_compatibility not Tag_compatibility. 436 (elf32_tic6x_merge_attributes): Update compatibility attribute 437 name in comment. Return FALSE if merging common attributes fails. 438 4392010-10-29 Nick Clifton <nickc@redhat.com> 440 441 PR bintils/6962 442 * coffcode.h (handle_COMDAT): Only check the base type when 443 looking for a section symbol. 444 4452010-10-29 H.J. Lu <hongjiu.lu@intel.com> 446 Cary Coutant <ccoutant@google.com> 447 448 * archive.c (bfd_openr_next_archived_file): Copy BFD_COMPRESS 449 and BFD_DECOMPRESS. 450 451 * bfd.c (BFD_COMPRESS): New. 452 (BFD_DECOMPRESS): Likewise. 453 (BFD_FLAGS_SAVED): Likewise. 454 (bfd_preserve_save): Replace BFD_IN_MEMORY with BFD_FLAGS_SAVED. 455 456 * compress.c (bfd_uncompress_section_contents): Removed. 457 (get_uncompressed_size): New. 458 (decompress_contents): Likewise. 459 (bfd_compress_section_contents): Likewise. 460 (bfd_get_full_section_contents): Likewise. 461 (bfd_is_section_compressed): Likewise. 462 (bfd_init_section_decompress_status): Likewise. 463 (bfd_init_section_compress_status): Likewise. 464 465 * dwarf2.c (dwarf_debug_sections): New. 466 (dwarf_debug_section_enum): Likewise. 467 (read_section): Remove section_name and compressed_section_name. 468 Add dwarf_debug_section_enum. Try compressed debug section. 469 (read_indirect_string): Updated. 470 (read_abbrevs): Likewise. 471 (decode_line_info): Likewise. 472 (read_debug_ranges): Likewise. 473 (find_line): Updated. 474 475 * ecoff.c (bfd_debug_section): Add compress_status and 476 compressed_size. 477 478 * elf.c (_bfd_elf_make_section_from_shdr): Call 479 bfd_is_section_compressed to check if a DWARF debug section is 480 compressed. Call bfd_init_section_compress_status or 481 bfd_init_section_decompress_status if needed. 482 483 * elflink.c (elf_link_input_bfd): Replace bfd_get_section_contents 484 with bfd_get_full_section_contents. 485 * merge.c (_bfd_add_merge_section): Likewise. 486 * reloc.c (bfd_generic_get_relocated_section_contents): Likewise. 487 * simple.c (bfd_simple_get_relocated_section_contents): Likewise. 488 489 * elfxx-target.h (TARGET_BIG_SYM): Allow BFD_COMPRESS and 490 BFD_DECOMPRESS. 491 (TARGET_LITTLE_SYM): Likewise. 492 493 * libbfd-in.h (dwarf_debug_section): New. 494 (dwarf_debug_sections): Likewise. 495 496 * libbfd.c (_bfd_generic_get_section_contents): Issue an error 497 when getting contents on compressed/decompressed section. 498 499 * section.c (COMPRESS_SECTION_NONE): New. 500 (COMPRESS_SECTION_DONE): Likewise. 501 (DECOMPRESS_SECTION_SIZED): Likewise. 502 (BFD_FAKE_SECTION): Add compress_status and compressed_size. 503 (bfd_malloc_and_get_section): Replace bfd_get_section_contents 504 with bfd_get_full_section_contents. 505 506 * bfd-in2.h: Regenerated. 507 * libbfd.h: Likewise. 508 5092010-10-29 Bernd Schmidt <bernds@codesourcery.com> 510 Joseph Myers <joseph@codesourcery.com> 511 512 * elf32-tic6x.c (elf32_tic6x_merge_attributes): Check for mismatch 513 of DSBT attributes. 514 5152010-10-25 Daniel Jacobowitz <dan@codesourcery.com> 516 517 * elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Always call 518 _bfd_clear_contents. Pass it the input section. 519 * libbfd-in.h (_bfd_clear_contents): Add input_section argument. 520 * libbfd.h: Regenerate. 521 * reloc.c (_bfd_clear_contents): Take input_section argument. 522 Use non-zero for .debug_ranges. 523 (bfd_generic_get_relocated_section_conten): Update _bfd_clear_contents 524 call. 525 526 * elf32-arm.c (elf32_arm_relocate_section): Use 527 RELOC_AGAINST_DISCARDED_SECTION. 528 * elf-m10200.c (mn10200_elf_relocate_section): Likewise. 529 * elf-m10300.c (mn10300_elf_relocate_section): Likewise. 530 * elf32-arm.c (elf32_arm_relocate_section): Likewise. 531 * elf32-avr.c (elf32_avr_relocate_section): Likewise. 532 * elf32-bfin.c (bfin_relocate_section): Likewise. 533 (bfinfdpic_relocate_section): Likewise. 534 * elf32-cr16.c (elf32_cr16_relocate_section): Likewise. 535 * elf32-cr16c.c (elf32_cr16c_relocate_section): Likewise. 536 * elf32-cris.c (cris_elf_relocate_section): Likewise. 537 * elf32-crx.c (elf32_crx_relocate_section): Likewise. 538 * elf32-d10v.c (elf32_d10v_relocate_section): Likewise. 539 * elf32-fr30.c (fr30_elf_relocate_section): Likewise. 540 * elf32-frv.c (elf32_frv_relocate_section): Likewise. 541 * elf32-h8300.c (elf32_h8_relocate_section): Likewise. 542 * elf32-hppa.c (elf32_hppa_relocate_section): Likewise. 543 * elf32-i370.c (i370_elf_relocate_section): Likewise. 544 * elf32-i860.c (elf32_i860_relocate_section): Likewise. 545 * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise. 546 * elf32-iq2000.c (iq2000_elf_relocate_section): Likewise. 547 * elf32-lm32.c (lm32_elf_relocate_section): Likewise. 548 * elf32-m32c.c (m32c_elf_relocate_section): Likewise. 549 * elf32-m32r.c (m32r_elf_relocate_section): Likewise. 550 * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Likewise. 551 * elf32-m68k.c (elf_m68k_relocate_section): Likewise. 552 * elf32-mcore.c (mcore_elf_relocate_section): Likewise. 553 * elf32-mep.c (mep_elf_relocate_section): Likewise. 554 * elf32-moxie.c (moxie_elf_relocate_section): Likewise. 555 * elf32-msp430.c (elf32_msp430_relocate_section): Likewise. 556 * elf32-mt.c (mt_elf_relocate_section): Likewise. 557 * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise. 558 * elf32-ppc.c (ppc_elf_relocate_section): Likewise. 559 * elf32-rx.c (rx_elf_relocate_section): Likewise. 560 * elf32-s390.c (elf_s390_relocate_section): Likewise. 561 * elf32-score.c (s3_bfd_score_elf_relocate_section): Likewise. 562 * elf32-score7.c (s7_bfd_score_elf_relocate_section): Likewise. 563 * elf32-sh.c (sh_elf_relocate_section): Likewise. 564 * elf32-spu.c (spu_elf_relocate_section): Likewise. 565 * elf32-tic6x.c (elf32_tic6x_relocate_section): Likewise. 566 * elf32-v850.c (v850_elf_relocate_section): Likewise. 567 * elf32-vax.c (elf_vax_relocate_section): Likewise. 568 * elf32-xc16x.c (elf32_xc16x_relocate_section): Likewise. 569 * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise. 570 * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise. 571 * elf64-alpha.c (elf64_alpha_relocate_section_r): Likewise. 572 (elf64_alpha_relocate_section): Likewise. 573 * elf64-hppa.c (elf64_hppa_relocate_section): Likewise. 574 * elf64-mmix.c (mmix_elf_relocate_section): Likewise. 575 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. 576 * elf64-s390.c (elf_s390_relocate_section): Likewise. 577 * elf64-sh64.c (sh_elf64_relocate_section): Likewise. 578 * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise. 579 * elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise. 580 * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise. 581 5822010-10-25 Nathan Sidwell <nathan@codesourcery.com> 583 584 * elf32-tic6x.c: Add attribution. 585 5862010-10-25 Alan Modra <amodra@gmail.com> 587 588 * elf32-arm.c (find_stub_size_and_template): Avoid uninitialized 589 var warning at -O3. 590 5912010-10-25 Alan Modra <amodra@gmail.com> 592 593 * opncls.c (bfd_alloc, bfd_zalloc): Don't mark internal. 594 * libbfd-in.h (bfd_alloc, bfd_zalloc): Don't declare here. 595 * libbfd.h: Regenerate 596 * bfd-in2.h: Regenerate. 597 5982010-10-25 Alan Modra <amodra@gmail.com> 599 600 * opncls.c (_bfd_id_counter): Rename to bfd_id_counter. 601 (bfd_reserved_id_counter, bfd_use_reserved_id): New vars. 602 (_bfd_new_bfd): Use negative id when bfd_use_reserved_id. 603 (bfd_create): Doc fix. 604 * bfd-in2.h: Regenerate. 605 6062010-10-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 607 608 * elfxx-sparc.c (tpoff): Define bed, static_tls_size. 609 Consider static_tls_alignment. 610 611 * elf32-sparc.c (TARGET_BIG_SYM): Redefine to 612 bfd_elf32_sparc_sol2_vec. 613 (TARGET_BIG_NAME): Redefine to elf32-sparc-sol2. 614 (elf32_bed): Redefine to elf32_sparc_sol2_bed. 615 (elf_backend_static_tls_alignment): Redefine to 8. 616 Include elf32-target.h. 617 (elf_backend_static_tls_alignment): Undef again for VxWorks. 618 619 * elf64-sparc.c (TARGET_BIG_SYM): Redefine to 620 bfd_elf64_sparc_sol2_vec. 621 (TARGET_BIG_NAME): Redefine to elf64-sparc-sol2. 622 (ELF_OSABI): Undef. 623 (elf64_bed): Redefine to elf64_sparc_sol2_bed. 624 (elf_backend_static_tls_alignment): Redefine to 16. 625 Include elf64-target.h. 626 627 * config.bfd (sparc-*-solaris2.[0-6]): Split from sparc-*-elf*. 628 Set targ_defvec to bfd_elf32_sparc_sol2_vec. 629 [BFD64] (sparc-*-solaris2*): Set targ_defvec to 630 bfd_elf32_sparc_sol2_vec. 631 Replace bfd_elf64_sparc_vec by bfd_elf64_sparc_sol2_vec in 632 targ_selvecs. 633 634 * configure.in: Handle bfd_elf32_sparc_sol2_vec, 635 bfd_elf64_sparc_sol2_vec. 636 * configure: Regenerate. 637 638 * targets.c (bfd_elf32_sparc_sol2_vec): Declare. 639 (bfd_elf64_sparc_sol2_vec): Declare. 640 (_bfd_target_vector): Add bfd_elf32_sparc_sol2_vec, 641 bfd_elf64_sparc_sol2_vec. 642 6432010-10-21 Joseph Myers <joseph@codesourcery.com> 644 645 * elf32-tic6x.c (elf32_tic6x_merge_arch_attributes): Update for 646 attribute renaming. 647 (elf_backend_obj_attrs_section): Change to ".c6xabi.attributes". 648 6492010-10-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 650 651 * elf-bfd.h (struct elf_backend_data): New member 652 static_tls_alignment. 653 * elfxx-target.h (elf_backend_static_tls_alignment): Provide 654 default. 655 (elfNN_bed): Initialize static_tls_alignment. 656 * elflink.c (bfd_elf_final_link): Don't round end of TLS section 657 if static TLS has special alignment requirements. 658 * elf32-i386.c (elf_i386_tpoff): Define bed, static_tls_size. 659 Consider static_tls_alignment. 660 (elf_backend_static_tls_alignment): Redefine for Solaris 2. 661 Undef again for VxWorks. 662 * elf64-x86-64.c (elf64_x86_64_tpoff): Define bed, 663 static_tls_size. 664 Consider static_tls_alignment. 665 (elf_backend_static_tls_alignment): Redefine for Solaris 2. 666 Undef again for Intel L1OM. 667 6682010-10-14 Dave Korn <dave.korn.cygwin@gmail.com> 669 670 Apply LD plugin patch series (part 6/6). 671 * aoutx.h (aout_link_check_ar_symbols): Take new "subsbfd" reference 672 parameter and pass it when invoking add_archive_element callback. 673 (aout_link_check_archive_element): Handle substitute bfd if it 674 was set during add_archive_element callback in the above. 675 * cofflink.c (coff_link_check_ar_symbols): Take new "subsbfd" reference 676 parameter and pass it when invoking add_archive_element callback. 677 (coff_link_check_archive_element): Handle substitute bfd if it 678 was set during add_archive_element callback in the above. 679 * ecoff.c (read_ext_syms_and_strs): New function holds symbol-reading 680 code factored-out from ecoff_link_check_archive_element. 681 (reread_ext_syms_and_strs): Clear old symbols and call it. 682 (ecoff_link_check_archive_element): Use the above. Handle substitute 683 BFD if one is set by add_archive_element callback. 684 (ecoff_link_add_archive_symbols): Likewise allow bfd substitution. 685 * elflink.c (elf_link_add_archive_symbols): Likewise. 686 * linker.c (generic_link_check_archive_element): Likewise. 687 * pdp11.c (aout_link_check_ar_symbols): Take new "subsbfd" reference 688 parameter and pass it when invoking add_archive_element callback. 689 (aout_link_check_archive_element): Handle substitute bfd if it was 690 set during add_archive_element callback in the above. 691 * vms-alpha.c (alpha_vms_link_add_archive_symbols): Handle substitute 692 BFD if one is set by add_archive_element callback. 693 * xcofflink.c (xcoff_link_check_dynamic_ar_symbols): Take new "subsbfd" 694 reference parameter and pass it when invoking add_archive_element 695 callback. 696 (xcoff_link_check_ar_symbols): Likewise. 697 (xcoff_link_check_archive_element): Handle bfd substitution if it was 698 set by callback in the above. 699 7002010-10-11 Alan Modra <amodra@gmail.com> 701 702 * elf32-frv.c (elf32_frv_relocate_section): Set "name" for global syms. 703 (elf32_frvfdpic_finish_dynamic_sections): Don't crash on 704 __ROFIXUP_END__ defined in shared lib. 705 7062010-10-11 Thomas Schwinge <thomas@codesourcery.com> 707 708 * elf32-arm.c (elf32_arm_final_link_relocate) 709 (elf32_arm_relocate_section): Handle relocations against STN_UNDEF. 710 7112010-10-11 Dave Korn <dave.korn.cygwin@gmail.com> 712 713 * elflink.c (_bfd_elf_link_output_relocs): Delete unused variable 714 "output_rel_hdr". 715 7162010-10-09 John Tytgat <john@bass-software.com> 717 718 * reloc.c (BFD_RELOC_ARM_HVC): Add. 719 * libbfd.h: Regenerate. 720 7212010-10-08 Kai Tietz <kai.tietz@onevision.com> 722 723 * pei-x86_64.c (find_next_xdata_or_end): Removed. 724 (pex64_dump_xdata): Remove arguments stop, onaline, 725 and pdata. New argument endx. Print term "none" 726 instead of misleading "CFA". 727 (sort_xdata_arr): New function. 728 (pex64_bfd_print_pdata): Use binary search/sort for unwind-RVAs 729 instead of searching quadratic. 730 7312010-10-08 Pierre Muller <muller@ics.u-strasbg.fr> 732 Alan Modra <amodra@gmail.com> 733 734 Fix build with -DDEBUG=7 735 * elf.c (_bfd_elf_symbol_from_bfd_symbol): Remove call 736 to deleted function elf_symbol_flags. Add typecast to avoid warning. 737 * elf32-rx.c (dump_symbol) : Rename to.. 738 (rx_dump_symbol): ..this to avoid link errors. 739 * elflink.c (elf_link_input_bfd): Add typecast to avoid warnings. 740 (bfd_elf_perform_complex_relocation): Likewise. 741 * elf32-xtensa.c (print_action_list): Likewise. 742 7432010-10-06 Nathan Sidwell <nathan@codesourcery.com> 744 745 * elf32-arm.c (elf32_arm_stub_long_branch_any_arm_pic, 746 elf32_arm_stub_long_branch_any_arm_pic): Use a consistent name for 747 ip/r12. 748 (arm_type_of_stub): Remove superfluous braces. 749 7502010-10-04 Bernd Schmidt <bernds@codesourcery.com> 751 752 * elf-bfd.h (struct bfd_elf_section_reloc_data): New structure. 753 (struct bfd_elf_section_data): New members REL and RELA; delete 754 members REL_HDR, REL_HDR2, REL_COUNT, REL_COUNT2, REL_IDX, 755 REL_IDX2, REL_HASHES. 756 (_bfd_elf_init_reloc_shdr): Adjust declaration. 757 (_bfd_elf_single_rel_hdr): Declare. 758 (RELOC_AGAINST_DISCARDED_SECTION): Use it. 759 * elf.c (bfd_section_from_shdr): Adjusted to match changes in 760 data structures. 761 (_bfd_elf_init_reloc_shdr): New arg RELDATA. Remove arg REL_HDR. 762 All callers changed. Allocate memory for the Elf_Internal_Shdr 763 structure. 764 (_bfd_elf_single_rel_hdr): New function. 765 (struct fake_section_arg): New structure. 766 (elf_fake_section): Expect to see a pointer to it in the third 767 argument. If doing a relocatable link, allocate both REL and RELA 768 sections as needed. 769 (assign_section_numbers): Adjusted to match changes in 770 data structures. 771 (_bfd_elf_compute_section_file_positions): Call elf_fake_sections 772 with a struct fake_section_args argument. 773 * elfcode.h (elf_write_relocs): Adjusted to match changes in 774 data structures. 775 (elf_slurp_reloc_table): Likewise. 776 * elflink.c (_bfd_elf_link_read_relocs): Likewise. 777 (_bfd_elf_link_size_reloc_section): Remove arg REL_HDR, replace with 778 RELDATA. Remove argument O. All callers changed. Remove code to 779 discover the right rel_hdr and count. 780 (_bfd_elf_link_output_relocs): Adjusted to match changes in 781 data structures. 782 (elf_link_adjust_relocs): Remove args REL_HDR, COUNT and REL_HASH; 783 replace with RELDATA. All callers changed. 784 (elf_link_input_bfd): Correctly generate rel_hash data when both 785 REL and RELA sections are present. 786 (elf_reloc_link_order): Adjusted to match changes in 787 data structures. 788 (bfd_elf_final_link): Simplify code to count relocs. Free the 789 hashes array for both REL and RELA. 790 (get_dynamic_reloc_section_name): Use _bfd_elf_single_reloc_hdr 791 * elf32-m32r.c (m32r_elf_fake_sections, elf_backend_fake_sections): 792 Delete. 793 * elf32-tic6x.c (elf32_tic6x_fake_sections, elf_backend_fake_sections): 794 Delete. 795 (elf32_tic6x_rel_relocation_p): Adjusted to match changes in 796 data structures. 797 * elf32-microblaze.c (microblaze_elf_check_relocs): Use 798 _bfd_elf_single_rel_hdr. 799 * elf32-ppc.c (ppc_elf_relax_section): Likewise. 800 * elf32-spu.c (spu_elf_relocate_section): Likewise. 801 * elf64-alpha.c (elf64_alpha_relocate_section): Likewise. 802 * elf64-hppa.c (get_reloc_section): Likewise. 803 * elf64-mips.c (mips_elf64_slurp_reloc_table): Adjusted to match 804 changes in data structures. 805 (mips_elf64_write_relocs): Use _bfd_elf_single_rel_hdr. 806 * elf64-ppc.c (ppc64_elf_edit_opd): Likewise. 807 (ppc64_elf_edit_toc): Likewise. 808 (get_relocs): Adjusted to match changes in data structures. 809 Allocate an Elf_Internal_Shdr structure if necessary. 810 (ppc64_elf_finish_dynamic_sections): Use _bfd_elf_single_rel_hdr. 811 * elf64-sparc.c (elf64_sparc_slurp_reloc_table): Adjusted to match 812 changes in data structures. 813 * elfxx-ia64.c (get_reloc_section): Use _bfd_elf_single_rel_hdr. 814 * elfxx-mips.c (MIPS_RELOC_RELA_P): Remove macro. 815 (mips_elf_rel_relocation_p): Adjusted to match changes in data 816 structures. 817 (_bfd_mips_elf_relocate_section): Use mips_elf_rel_relocation_p rather 818 than MIPS_RELOC_RELOCA_P. 819 * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Use 820 _bfd_elf_single_rel_hdr. 821 (_bfd_sparc_elf_relocate_section): Likewise. 822 8232010-10-01 Thomas Schwinge <thomas@codesourcery.com> 824 825 * elf32-arm.c (elf32_arm_size_stubs): Don't choke on local symbols in 826 SHN_UNDEF, SHN_ABS, SHN_COMMON. 827 8282010-09-30 H.J. Lu <hongjiu.lu@intel.com> 829 830 PR ld/11812 831 * elf32-i386.c (elf_i386_size_dynamic_sections): Don't 832 allocate .got.plt section if there are no GOT nor PLT 833 entries and there is no refeence to _GLOBAL_OFFSET_TABLE_. 834 * elf64-x86-64.c (elf64_x86_64_size_dynamic_sections): Li.kewise. 835 836 * elflink.c (_bfd_elf_define_linkage_sym): Clear non_elf. 837 8382010-09-27 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 839 840 * configure: Regenerate. 841 8422010-09-24 Thomas Schwinge <thomas@codesourcery.com> 843 844 * elf32-arm.c, elf32-cris.c, elf32-hppa.c, elf32-i370.c, elf32-m32r.c, 845 elf32-m68k.c, elf32-microblaze.c, elf32-ppc.c, elf32-score.c, 846 elf32-score7.c, elf32-sh.c, elf32-vax.c, elf32-xtensa.c, elf64-alpha.c, 847 elf64-hppa.c, elf64-mips.c, elf64-ppc.c, elf64-sparc.c, elfcode.h, 848 elflink.c, elfxx-ia64.c, elfxx-mips.c: Use STN_UNDEF when referring to 849 the zero symbol index. 850 851 * elflink.c (bfd_elf_reloc_symbol_deleted_p): Compare the symbol index 852 to STN_UNDEF, not SHN_UNDEF. 853 8542010-09-23 Bernd Schmidt <bernds@codesourcery.com> 855 856 * elf32-tic6x.c (elf32_tic6x_fake_sections): New function. 857 (elf_backend_fake_sections): Define. 858 8592010-09-23 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> 860 861 * bfd-in2.h (BFD_RELOC_ARM_HVC): New enum value. 862 8632010-09-23 Alan Modra <amodra@gmail.com> 864 865 * cpu-d10v.c: Make bits_per_address 18 for all arch_info entries. 866 8672010-09-23 Alan Modra <amodra@gmail.com> 868 869 * elf.c (_bfd_elf_init_private_section_data): Allow for SEC_RELOC 870 difference between input and output section. 871 8722010-09-22 Kai Tietz <kai.tietz@onevision.com> 873 874 * coffcode.h (sec_to_styp_flags): Adjust debug 875 sections to be conform to pe-coff specification 876 and avoid marking them as excluded. 877 (styp_to_sec_flags): Doing reverse mapping. 878 879 * peXXigen.c (_bfd_XXi_final_link_postscript): Add handling for 880 setting IAT directory entry. 881 8822010-09-20 Richard Henderson <rth@redhat.com> 883 884 * elf64-alpha.c (elf64_alpha_howto_table): Use bfd_elf_generic_reloc. 885 8862010-09-19 Richard Sandiford <rdsandiford@googlemail.com> 887 888 * elfxx-mips.c (mips_elf_link_hash_entry): Add got_only_for_calls. 889 (mips_elf_link_hash_newfunc): Initialize it. 890 (mips_elf_record_global_got_symbol): Add a for_call parameter. 891 (mips_elf_count_got_symbols): Check SYMBOL_CALLS_LOCAL rather 892 than SYMBOL_REFERENCES_LOCAL if the GOT entry is only used for calls. 893 Try to remove .got entries in favour of .got.plt entries on VxWorks. 894 (_bfd_mips_elf_check_relocs): Do not try to avoid allocating 895 a global GOT entry for VxWorks calls. Update uses of 896 mips_elf_record_global_got_symbol. 897 (allocate_dynrelocs): Set got_only_for_calls to false if the GOT 898 entry is used for dynamic relocations. 899 9002010-09-19 Richard Sandiford <rdsandiford@googlemail.com> 901 902 * elfxx-mips.c (mips_got_entry): Adjust commentary. 903 (mips_elf_create_local_got_entry): If given a symbol, check that it 904 has been assigned to the local part of the GOT. 905 (mips_elf_count_got_symbols): Take the bfd_link_info as argument 906 instead of the master GOT. Put all locally-binding symbols in 907 the local area. 908 (mips_elf_make_got_per_bfd): Use global_got_area to decide whether 909 a symbol lives in the local or global area. 910 (mips_elf_local_relocation_p): Remove check_forced argument and 911 retain only the !check_forced behavior. 912 (mips_elf_calculate_relocation): Adjust call accordingly. 913 Use global_got_area to decide whether an output relocation 914 should be local or global. Explicitly decay R_MIPS_GOT_PAGE 915 into R_MIPS_GOT_DISP where appropriate. Fix selection of 916 local vs. global semantics for R_MIPS*_26. Remove redundant 917 reevaluation of what is stored in was_local_p. 918 (mips_elf_create_dynamic_relocation): Use global_got_area to decide 919 whether the relocation should be against a global or local symbol. 920 (mips_elf_lay_out_got): Update the GOT traversal after the above 921 change to mips_elf_count_got_symbols. 922 (mips_elf_adjust_addend): Adjust call to mips_elf_local_relocation_p. 923 (_bfd_mips_elf_relocate_section): Likewise. 924 (_bfd_mips_elf_finish_dynamic_symbol): Use global_got_area to decide 925 whether the symbol has a global got entry. 926 (_bfd_mips_vxworks_finish_dynamic_symbol): Likewise. 927 9282010-09-19 Richard Sandiford <rdsandiford@googlemail.com> 929 930 * elfxx-mips.c (allocate_dynrelocs): Don't add relocation symbols 931 to the global GOT on VxWorks. 932 9332010-09-19 Richard Sandiford <rdsandiford@googlemail.com> 934 935 * elfxx-mips.c (_bfd_mips_elf_check_relocs): On VxWorks, 936 exclude __GOTT_BASE__ and __GOTT_INDEX__ from the warning 937 about HI/LO relocations in shared objects. 938 9392010-09-16 Alan Modra <amodra@gmail.com> 940 941 * elf32-spu.c (spu_elf_size_sections): Omit fixups for non-alloc 942 sections. 943 (spu_elf_create_sections): Mark .fixup with SEC_LINKER_CREATED and 944 set dynobj. 945 (spu_elf_finish_dynamic_sections): New function. 946 (elf_backend_finish_dynamic_sections): Define. 947 9482010-09-16 Alan Modra <amodra@gmail.com> 949 950 * elf.c (bfd_elf_get_default_section_type): Don't test SEC_NEVER_LOAD. 951 * elflink.c (elf_link_input_bfd): Likewise. 952 9532010-09-15 Kai Tietz <kai.tietz@onevision.com> 954 955 * pei-x86_64.c (pex64_get_unwind_info): Reorgnized. 956 (pex64_get_scope_entry): Removed. 957 (find_next_xdata_or_end): New helper. 958 (pex64_dump_xdata): Reworked. 959 (pex64_bfd_print_pdata): Add checking for 960 valid pdata sorting and values. Reworked 961 output. 962 9632010-09-15 H.J. Lu <hongjiu.lu@intel.com> 964 965 PR binutils/12004 966 * plugin.c (bfd_plugin_object_p): Handle NULL iostream. 967 9682010-09-14 Kai Tietz <kai.tietz@onevision.com> 969 970 * pe-x86_64.c (COFF_SECTION_ALIGNMENT_ENTRIES): Make 971 .rdata, .data, and .text partial matched section names. 972 * pei-x86_64.c: Likewise. 973 974 * peXXigen.c (sort_x64_pdata): New helper. 975 (_bfd_XXi_final_link_postscript): Do pdata sorting. 976 9772010-09-09 H.J. Lu <hongjiu.lu@intel.com> 978 979 PR ld/11998 980 * elf.c (assign_file_positions_for_load_sections): Don't warn 981 zero LMA adjustment. 982 9832010-09-09 Bernd Schmidt <bernds@codesourcery.com> 984 985 * elflink.c (bfd_elf_final_link): Correct calculation of 986 max_external_reloc_size. 987 9882010-09-07 Alan Modra <amodra@gmail.com> 989 Marcus Brinkmann <marcus.brinkmann@ruhr-uni-bochum.de> 990 991 * peXXigen.c: Whitespace. 992 (pe_print_idata): Correct section limit calculations. Tidy array 993 indexing. 994 (_bfd_XX_print_ce_compressed_pdata): Don't leak memory. 995 9962010-09-02 Richard Henderson <rth@redhat.com> 997 998 * config.bfd (x86_64-*-mingw*): Select 32-bit pei vectors too. 999 10002010-09-01 Pedro Alves <pedro@codesourcery.com> 1001 1002 * netbsd-core.c (netbsd_core_core_file_pid): Renamed to ... 1003 (netbsd_core_file_pid): ... this. 1004 10052010-09-01 Tristan Gingold <gingold@adacore.com> 1006 1007 * coffcode.h (coff_slurp_line_table): Add a cast. 1008 (coff_slurp_reloc_table): Ditto. 1009 10102010-08-30 Gunther Nikl <gnikl@users.sourceforge.net> 1011 1012 * cisco-core.c (cisco_core_file_pid): Define. 1013 10142010-08-30 Alan Modra <amodra@gmail.com> 1015 1016 PR binutils/11953 1017 * elf.c (copy_elf_program_header): Calculate map->header_size 1018 from lowest_section, not first_section. Validate program 1019 header p_paddr against section lma. Find lowest_section in 1020 second loop over headers. 1021 10222010-08-28 Alan Modra <amodra@gmail.com> 1023 1024 * elflink.c (_bfd_elf_dynamic_symbol_p): Rename param. Make 1025 common syms local. 1026 (_bfd_elf_symbol_refs_local_p): Expand comment. 1027 (elf_link_output_extsym): Fix style nit. 1028 10292010-08-26 Nathan Sidwell <nathan@codesourcery.com> 1030 1031 * elf32-arm.c (elf32_arm_final_link): Process stub sections 1032 exactly once. 1033 10342010-08-25 H.J. Lu <hongjiu.lu@intel.com> 1035 1036 PR ld/11939 1037 * elflink.c (elf_link_add_object_symbols): Don't set 1038 unique_global for non-ELF hash link table. 1039 10402010-08-25 H.J. Lu <hongjiu.lu@intel.com> 1041 1042 PR ld/11944 1043 * elf-bfd.h (elf_backend_data): Add target_id. 1044 (bfd_elf_make_generic_object): Renamed to ... 1045 (bfd_elf_make_object): This. 1046 1047 * elf.c (bfd_elf_make_generic_object): Removed. 1048 (bfd_elf_make_object): New. 1049 (bfd_elf_mkcorefile): Really treat it as an object file. 1050 1051 * elf-m10300.c (ELF_TARGET_ID): New. 1052 * elf32-arm.c (ELF_TARGET_ID): Likewise. 1053 * elf32-bfin.c (ELF_TARGET_ID): Likewise. 1054 * elf32-cris.c (ELF_TARGET_ID): Likewise. 1055 * elf32-frv.c (ELF_TARGET_ID): Likewise. 1056 * elf32-i386.c (ELF_TARGET_ID): Likewise. 1057 * elf32-lm32.c (ELF_TARGET_ID): Likewise. 1058 * elf32-m32r.c (ELF_TARGET_ID): Likewise. 1059 * elf32-m68hc11.c (ELF_TARGET_ID): Likewise. 1060 * elf32-m68hc12.c (ELF_TARGET_ID): Likewise. 1061 * elf32-m68k.c (ELF_TARGET_ID): Likewise. 1062 * elf32-microblaze.c (ELF_TARGET_ID): Likewise. 1063 * elf32-ppc.c (ELF_TARGET_ID): Likewise. 1064 * elf32-s390.c (ELF_TARGET_ID): Likewise. 1065 * elf32-sh.c (ELF_TARGET_ID): Likewise. 1066 * elf32-sparc.c (ELF_TARGET_ID): Likewise. 1067 * elf32-spu.c (ELF_TARGET_ID): Likewise. 1068 * elf32-tic6x.c (ELF_TARGET_ID): Likewise. 1069 * elf32-xtensa.c (ELF_TARGET_ID): Likewise. 1070 * elf64-alpha.c (ELF_TARGET_ID): Likewise. 1071 * elf64-hppa.c (ELF_TARGET_ID): Likewise. 1072 * elf64-ppc.c (ELF_TARGET_ID): Likewise. 1073 * elf64-s390.c (ELF_TARGET_ID): Likewise. 1074 * elf64-x86-64.c (ELF_TARGET_ID): Likewise. 1075 * elfxx-ia64.c (ELF_TARGET_ID): Likewise. 1076 1077 * elf32-hppa.c (elf32_hppa_mkobject): Removed. 1078 (bfd_elf32_mkobject): Likewise. 1079 (ELF_TARGET_ID): New. 1080 1081 * elf32-mips.c (ELF_TARGET_ID): New. 1082 (bfd_elf32_mkobject): Removed. 1083 1084 * elf64-mips.c (ELF_TARGET_ID): New. 1085 (bfd_elf64_mkobject): Removed. 1086 1087 * elfn32-mips.c (ELF_TARGET_ID): New. 1088 (bfd_elf32_mkobject): Removed. 1089 1090 * elfxx-mips.c (_bfd_mips_elf_mkobject): Removed. 1091 * elfxx-mips.h (_bfd_mips_elf_mkobject): Likewise. 1092 1093 * elfxx-target.h (bfd_elfNN_mkobject): Default to 1094 bfd_elf_make_object. 1095 (ELF_TARGET_ID): New. Default to GENERIC_ELF_DATA. 1096 (elfNN_bed): Initialize target_id. 1097 10982010-08-25 Julian Brown <julian@codesourcery.com> 1099 1100 * elf32-arm.c (arm_stub_required_alignment): New. 1101 (arm_build_one_stub): Use above to partition stubs. 1102 (make_branch_to_a8_stub): Use arm_stub_a8_veneer_lwm not 1103 arm_stub_a8_veneer_b_cond. 1104 11052010-08-25 Alan Modra <amodra@gmail.com> 1106 1107 * aout-arm.c (MY(bfd_reloc_type_lookup)): Use bfd_arch_bits_per_address. 1108 * aout-ns32k.c (MY(bfd_reloc_type_lookup)): Likewise. 1109 * aoutx.h (NAME(aout,reloc_type_lookup)): Likewise. 1110 * coff-arm.c (coff_arm_reloc_type_lookup): Likewise. 1111 * elf-hppa.h (elf_hppa_reloc_final_type): Likewise. 1112 * reloc.c (bfd_default_reloc_type_lookup): Likewise. 1113 * riscix.c (riscix_reloc_type_lookup): Likewise. 1114 11152010-08-25 Alan Modra <amodra@gmail.com> 1116 1117 * elf.c (_bfd_elf_map_sections_to_segments): Don't load program 1118 headers if any loaded section wraps the address space. Simplify 1119 ~(m-1) to -m. Use lma rather than vma when determining whether 1120 note sections are adjacent. 1121 11222010-08-22 H.J. Lu <hongjiu.lu@intel.com> 1123 1124 PR ld/11933 1125 * elflink.c (elf_link_add_object_symbols): Don't check relocation 1126 if input ELF object ID doesn't match output. 1127 11282010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 1129 1130 * configure: Regenerate. 1131 11322010-08-20 H.J. Lu <hongjiu.lu@intel.com> 1133 1134 * merge.c (sec_merge_emit): Revert the last checkin. 1135 11362010-08-20 Maciej W. Rozycki <macro@codesourcery.com> 1137 1138 * elf32-sh.c (sh_elf_relocate_section): Handle non-ELF output 1139 BFD. 1140 11412010-08-20 Maciej W. Rozycki <macro@codesourcery.com> 1142 1143 * elf32-m68k.c (bfd_elf_m68k_set_target_options): Don't set GOT 1144 options unless an m68k hash table has been found. 1145 11462010-08-20 Nick Clifton <nickc@redhat.com> 1147 1148 * merge.c (sec_merge_emit): Do not zero pad sections that do not 1149 have an alignment. 1150 11512010-08-18 Pedro Alves <pedro@codesourcery.com> 1152 1153 PR corefile/8210 1154 1155 * bfd-in2.h: Regenerate. 1156 * corefile.c (bfd_core_file_pid): New. 1157 1158 * targets.c (BFD_JUMP_TABLE_CORE): Add NAME##_core_file_pid. 1159 (struct bfd_target) <_core_file_pid>: New. 1160 1161 * libbfd-in.h (_bfd_nocore_core_file_pid): Declare. 1162 * libbfd.c (_bfd_nocore_core_file_pid): New. 1163 1164 * elf-bfd.h (bfd_elf32_core_file_pid, bfd_elf64_core_file_pid): 1165 Declare. 1166 * elfcode.h (elf_core_file_pid): New define. 1167 * elfcore.h (elf_core_file_pid): New function. 1168 1169 * elf.c (elfcore_make_pid): Rewrite. 1170 (elfcore_grok_prstatus): Only set core_pid if not set yet. 1171 (elfcore_grok_prstatus) [!HAVE_PRSTATUS_T_PR_WHO]: Fallback to 1172 getting the lwpid from prstat.pr_pid. 1173 1174 * elf64-x86-64.c (elf64_x86_64_grok_prstatus): Write the LWPID to 1175 elf_tdata's core_lwpid instead of to core_pid. 1176 (elf64_x86_64_grok_psinfo): Extract the main process's PID, 1177 and store it in elf_tdata's core_pid field. 1178 * elf32-i386.c (elf_i386_grok_prstatus): Write the LWPID to 1179 elf_tdata's core_lwpid instead of to core_pid. 1180 (elf_i386_grok_psinfo): Extract the main process's PID, and 1181 store it in elf_tdata's core_pid field. 1182 1183 * elf32-am33lin.c (elf32_am33lin_grok_prstatus): Write the LWPID 1184 to elf_tdata's core_lwpid instead of to core_pid. 1185 * elf32-arm.c (elf32_arm_nabi_grok_prstatus): Write the LWPID to 1186 elf_tdata's core_lwpid instead of to core_pid. 1187 * elf32-cris.c (cris_elf_grok_prstatus): Write the LWPID to 1188 elf_tdata's core_lwpid instead of to core_pid. 1189 * elf32-frv.c (elf32_frv_grok_prstatus): Write the LWPID to 1190 elf_tdata's core_lwpid instead of to core_pid. 1191 * elf32-hppa.c (elf32_hppa_grok_prstatus): Write the LWPID to 1192 elf_tdata's core_lwpid instead of to core_pid. 1193 * elf32-mips.c (elf32_mips_grok_prstatus): Write the LWPID to 1194 elf_tdata's core_lwpid instead of to core_pid. 1195 * elf32-ppc.c (ppc_elf_grok_prstatus): Write the LWPID to 1196 elf_tdata's core_lwpid instead of to core_pid. 1197 * elf32-s390.c (elf_s390_grok_prstatus): Write the LWPID to 1198 elf_tdata's core_lwpid instead of to core_pid. 1199 * elf32-score.c (s3_bfd_score_elf_grok_prstatus): Write the LWPID 1200 to elf_tdata's core_lwpid instead of to core_pid. 1201 * elf32-score7.c (s7_bfd_score_elf_grok_prstatus): Write the LWPID 1202 to elf_tdata's core_lwpid instead of to core_pid. 1203 * elf32-sh.c (elf32_shlin_grok_prstatus): Write the LWPID to 1204 elf_tdata's core_lwpid instead of to core_pid. 1205 * elf32-xtensa.c (elf_xtensa_grok_prstatus): Write the LWPID to 1206 elf_tdata's core_lwpid instead of to core_pid. 1207 * elf64-hppa.c (elf64_hppa_grok_prstatus): Write the LWPID to 1208 elf_tdata's core_lwpid instead of to core_pid. 1209 * elf64-mips.c (elf64_mips_grok_prstatus): Write the LWPID to 1210 elf_tdata's core_lwpid instead of to core_pid. 1211 * elf64-ppc.c (ppc64_elf_grok_prstatus): Write the LWPID to 1212 elf_tdata's core_lwpid instead of to core_pid. 1213 * elfn32-mips.c (elf32_mips_grok_prstatus): Write the LWPID to 1214 elf_tdata's core_lwpid instead of to core_pid. 1215 1216 * plugin.c (bfd_plugin_core_file_pid): New function. 1217 * aout-target.h (MY_core_file_pid): Define. 1218 * aout-tic30.c (MY_core_file_pid, MY_core_file_p): New defines. 1219 * coff-rs6000.c (coff_core_file_pid): New define. 1220 (rs6000coff_vec, pmac_xcoff_vec): Use BFD_JUMP_TABLE_CORE. 1221 * coff64-rs6000.c (coff_core_file_pid): New define. 1222 (rs6000coff64_vec): Use BFD_JUMP_TABLE_CORE. 1223 (xcoff64_core_file_pid): New define. 1224 (aix5coff64_vec): Use BFD_JUMP_TABLE_CORE. 1225 * mach-o-target.c (bfd_mach_o_core_file_pid): New define. 1226 * aix386-core.c (aix386_core_file_pid): New define. 1227 * hppabsd-core.c (hppabsd_core_core_file_pid): New define. 1228 * hpux-core.c (hpux_core_core_file_pid): New define. 1229 * irix-core.c (irix_core_core_file_pid): New define. 1230 * lynx-core.c (lynx_core_file_pid): New define. 1231 * osf-core.c (osf_core_core_file_pid): New define. 1232 * ptrace-core.c (ptrace_unix_core_file_pid): New define. 1233 * sco5-core.c (sco5_core_file_pid): New define. 1234 * xcoff-target.h (coff_core_file_pid): New define. 1235 * netbsd-core.c (netbsd_core_core_file_pid): New define. 1236 12372010-08-13 H.J. Lu <hongjiu.lu@intel.com> 1238 1239 PR ld/11913 1240 * elf32-i386.c (elf_i386_finish_dynamic_sections): Check if 1241 .got.plt section is discarded. 1242 * elf64-x86-64.c (elf64_x86_64_finish_dynamic_sections): Likewise. 1243 12442010-08-13 Nathan Sidwell <nathan@codesourcery.com> 1245 1246 * elf32-m69k.c (elf32_m68k_print_private_bfd_data): Detect EMAC_B 1247 variant. 1248 12492010-08-12 H.J. Lu <hongjiu.lu@intel.com> 1250 1251 PR binutils/11909 1252 * Makefile.am (coff-tic4x.lo): New. Disable -Werror. 1253 (coff-tic54x.lo): Likewise. 1254 * Makefile.in: Regenerated. 1255 12562010-08-12 Todd Veldhuizen <todd.veldhuizen@logicblox.com> 1257 1258 PR ld/11843 1259 * elflink.c (compute_bucket_count): Avoid futile long searches for 1260 the best bucket size. 1261 12622010-08-09 Richard Henderson <rth@redhat.com> 1263 1264 PR ld/11891 1265 * elf64-alpha.c (elf64_alpha_relax_tls_get_addr): Disallow relaxing 1266 to tlshi/lo until pos0 and pos1 are adjacent. Use the destination 1267 register from the tldgd insn. 1268 12692010-08-09 Catherine Moore <clm@codesourcery.com> 1270 1271 * elfxx-mips.c (mips_elf_perform_relocation): Improve 1272 interlinking error message. 1273 12742010-08-06 Alan Modra <amodra@gmail.com> 1275 1276 * elf64-ppc.c (ha_reloc_match): Allow matches to other than r2. 1277 (ppc64_elf_relocate_section): Nop out high part insn of large toc 1278 code sequence when the high part of offset is zero. 1279 12802010-08-04 Tristan Gingold <gingold@adacore.com> 1281 1282 * vms-alpha.c (alpha_vms_build_fixups): Write the EICP. 1283 (alpha_vms_bfd_final_link): Explicitly forbid relocatable links. 1284 Clear the SEC_RELOC flag. 1285 12862010-08-04 Tristan Gingold <gingold@adacore.com> 1287 1288 * vms-alpha.c (alpha_vms_create_eisd_for_section): Make writable 1289 sections with relocs. 1290 (alpha_vms_add_fixup_lp): Set SEC_RELOC flag. 1291 (alpha_vms_add_fixup_ca): Ditto. 1292 (alpha_vms_add_fixup_qr): Ditto. 1293 Add comments. 1294 12952010-08-04 Tristan Gingold <gingold@adacore.com> 1296 1297 * vms-alpha.c (alpha_vms_create_eisd_for_section): Do not make 1298 CODE sections writable. 1299 13002010-08-04 Tristan Gingold <gingold@adacore.com> 1301 1302 * vms-alpha.c (alpha_vms_add_lw_fixup): Renamed to ... 1303 (alpha_vms_add_fixup_lr): ... this for consistency. 1304 (alpha_vms_add_qw_fixup): Removed. 1305 Fix some comments. 1306 (vms_get_symbol_info): Adjust type for unknown sections. 1307 13082010-08-04 Tristan Gingold <gingold@adacore.com> 1309 1310 * vms-alpha.c (_bfd_vms_slurp_egsd): Use the canonical absolute 1311 section for any absolute section. Remove some debugging code. 1312 13132010-08-03 DJ Delorie <dj@redhat.com> 1314 1315 * elf32-m32c.c (ELF_MAXPAGESIZE): Change page size to 256 bytes. 1316 13172010-08-03 Tristan Gingold <gingold@adacore.com> 1318 1319 * vms-misc.c (vms_convert_to_var): Make it static. 1320 (_bfd_vms_convert_to_var_unix_filename): Make it public. 1321 13222010-08-03 Tristan Gingold <gingold@adacore.com> 1323 1324 * makefile.vms (OBJS): Update list. 1325 13262010-08-03 Tristan Gingold <gingold@adacore.com> 1327 1328 * vms-alpha.c (_bfd_vms_slurp_egsd): Do not set SEC_HAS_CONTENTS 1329 nor SEC_RELOC for empty sections. 1330 13312010-08-03 Tristan Gingold <gingold@adacore.com> 1332 1333 * vms-alpha.c (evax_section_flags): Fix flags for absolute 1334 section. Remove useless parenthesis. 1335 13362010-08-03 Tristan Gingold <gingold@adacore.com> 1337 1338 * vms-lib.c (vms_lib_bread_raw): Change type of BUF argument. 1339 (vms_lib_bread, vms_lib_bopen): Adjust. 1340 13412010-08-02 Alan Modra <amodra@gmail.com> 1342 1343 PR 11866 1344 * elf.c (assign_file_positions_for_load_sections): Use p_vaddr to 1345 calculate off_adjust rather than first section vma. 1346 13472010-07-30 H.J. Lu <hongjiu.lu@intel.com> 1348 1349 * elflink.c (compute_bucket_count): Add ATTRIBUTE_UNUSED to info. 1350 13512010-07-30 Anthony Green <green@moxielogic.com> 1352 1353 * config.bfd (targ_cpu): Add moxie-*-rtems support. 1354 13552010-07-29 Alan Modra <amodra@gmail.com> 1356 1357 * elf64-ppc.c (ppc64_elf_edit_toc): Always adjust local syms in 1358 .toc section, even when none are used in relocs. 1359 13602010-07-27 Maciej W. Rozycki <macro@codesourcery.com> 1361 1362 * elfxx-mips.h: Include "elf/mips.h". 1363 (gprel16_reloc_p): New static inline function. 1364 * elfxx-mips.c (_bfd_mips_elf_check_relocs) 1365 [R_MIPS16_GOT16, R_MIPS_GOT16, R_MIPS_GOT_HI16, R_MIPS_GOT_LO16]: 1366 Use got16_reloc_p. 1367 (_bfd_mips_elf_relocate_section)[bfd_reloc_overflow]: Use 1368 gprel16_reloc_p. 1369 * elf32-mips.c (mips_info_to_howto_rel): Likewise. 1370 * elfn32-mips.c (mips_info_to_howto_rel): Likewise. 1371 13722010-07-27 Maciej W. Rozycki <macro@codesourcery.com> 1373 1374 * elf64-mips.c (mips_elf64_howto_table_rela) 1375 [R_MIPS_TLS_DTPMOD64]: Clear partial_inplace. 1376 [R_MIPS_TLS_DTPREL64, R_MIPS_TLS_GD, R_MIPS_TLS_LDM]: Likewise. 1377 [R_MIPS_TLS_DTPREL_HI16, R_MIPS_TLS_DTPREL_LO16]: Likewise. 1378 [R_MIPS_TLS_GOTTPREL, R_MIPS_TLS_TPREL64]: Likewise. 1379 [R_MIPS_TLS_TPREL_HI16, R_MIPS_TLS_TPREL_LO16]: Likewise. 1380 * elfn32-mips.c (elf_mips_howto_table_rela) 1381 [R_MIPS_TLS_DTPMOD32]: Likewise. 1382 [R_MIPS_TLS_DTPREL32, R_MIPS_TLS_GD, R_MIPS_TLS_LDM]: Likewise. 1383 [R_MIPS_TLS_DTPREL_HI16, R_MIPS_TLS_DTPREL_LO16]: Likewise. 1384 [R_MIPS_TLS_GOTTPREL, R_MIPS_TLS_TPREL32]: Likewise. 1385 [R_MIPS_TLS_TPREL_HI16, R_MIPS_TLS_TPREL_LO16]: Likewise. 1386 13872010-07-23 Naveen.H.S <naveen.S@kpitcummins.com> 1388 Ina Pandit <ina.pandit@kpitcummins.com> 1389 1390 * archures.c (DESCRIPTION): Define bfd_mach_v850e2 and 1391 bfd_mach_v850e2v3. 1392 * reloc.c (bfd_architecture): Define bfd_mach_v850e2 and 1393 bfd_mach_v850e2v3. 1394 (BFD_RELOC_V850_16_PCREL, BFD_RELOC_V850_17_PCREL, 1395 BFD_RELOC_V850_22_PCREL, BFD_RELOC_V850_23, 1396 BFD_RELOC_V850_32_PCREL, BFD_RELOC_V850_32_ABS, 1397 BFD_RELOC_V850_16_SPLIT_OFFSET, BFD_RELOC_V850_16_S1, 1398 BFD_RELOC_V850_LO16_SPLIT_OFFSET, BFD_RELOC_V850_SDA_15_16_OFFSET, 1399 BFD_RELOC_V850_ZDA_16_16_OFFSET, BFD_RELOC_V850_CALLT_15_16_OFFSET, 1400 BFD_RELOC_V850_32_GOTPCREL, BFD_RELOC_V850_16_GOT, 1401 BFD_RELOC_V850_32_GOT, BFD_RELOC_V850_22_PLT_PCREL, 1402 BFD_RELOC_V850_32_PLT_PCREL, BFD_RELOC_V850_COPY, 1403 BFD_RELOC_V850_GLOB_DAT, BFD_RELOC_V850_JMP_SLOT, 1404 BFD_RELOC_V850_RELATIVE, BFD_RELOC_V850_16_GOTOFF, 1405 BFD_RELOC_V850_32_GOTOFF, BFD_RELOC_V850_CODE, 1406 BFD_RELOC_V850_DATA): New relocations for V850 target. 1407 * config.bfd: Match all v850 targets. 1408 * cpu-v850.c (arch_info_struct): Define V850e2 and V850e2v3. 1409 * elf32-v850.c (v850_elf_check_relocs): Check the newly added 1410 relocations. 1411 (v850_elf_perform_relocation ): Update the newly added 1412 relocations. 1413 (v850_elf_howto_t): Update the specifications of added 1414 relocations. 1415 (v850_elf_reloc_map): Update the relocation mappings. 1416 (v850_elf_final_link_relocate): Maps added relocation into the 1417 appropriate howto structure. 1418 (v850_elf_object_p): Add support for V850E2 and V850E2V3. 1419 (v850_elf_final_write_processing): Likewise. 1420 (v850_elf_merge_private_bfd_data): Likewise. 1421 (v850_elf_print_private_bfd_data): Likewise. 1422 * libbfd.h: Regenerate. 1423 * bfd-in2.h: Regenerate. 1424 14252010-07-23 Alan Modra <amodra@gmail.com> 1426 1427 * archive.c (_bfd_archive_bsd44_construct_extended_name_table): 1428 Correct format specifier. 1429 14302010-07-22 Alan Modra <amodra@gmail.com> 1431 1432 * ecoff.c: Don't include aout/ranlib.h. 1433 (_bfd_ecoff_slurp_armap): Use correct struct for ardata->symdefs. 1434 (_bfd_ecoff_write_armap): Output ar_date and ar_size using 1435 _bfd_ar_spacepad. 1436 14372010-07-22 Alan Modra <amodra@gmail.com> 1438 1439 * aoutx.h (some_aout_object_p): Don't set EXEC_P for files with 1440 relocs. 1441 14422010-07-20 Alan Modra <amodra@gmail.com> 1443 1444 * elf.c (assign_file_positions_for_load_sections): Check that 1445 zero size sections are allocated in segments too. 1446 (assign_file_positions_for_non_load_sections): Warn if zero 1447 size alloc sections are found here. 1448 (copy_elf_program_header): Don't drop zero size sections from 1449 segment map. 1450 (copy_private_bfd_data): Check for changes in zero size sections. 1451 14522010-07-17 Alan Modra <amodra@gmail.com> 1453 1454 * elf.c (_bfd_elf_map_sections_to_segments): Force new segment 1455 for sections with overlapping LMAs. 1456 (assign_file_positions_for_load_sections): Catch overlap for 1457 sections that wrap around the address space. Replace a 1458 warning that duplicates ld's --check-sections error with a 1459 warning that lma has been adjusted for overlapping sections. 1460 14612010-07-14 Cary Coutant <ccoutant@google.com> 1462 1463 PR ld/11817 1464 * dwarf2.c (read_section): Revert patch for compressed debug sections. 1465 (find_line): Likewise. 1466 (read_and_uncompress_section): Remove. 1467 14682010-07-13 H.J. Lu <hongjiu.lu@intel.com> 1469 1470 PR ld/11812 1471 * elf32-i386.c (elf_i386_size_dynamic_sections): Don't 1472 allocate .got.plt section if there are no GOT nor PLT 1473 entries. 1474 * elf64-x86-64.c (elf64_x86_64_size_dynamic_sections): Likewise. 1475 14762010-07-13 H.J. Lu <hongjiu.lu@intel.com> 1477 1478 PR ld/11791 1479 * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Support 1480 garbage collection against STT_GNU_IFUNC symbols. 1481 1482 * elf32-i386.c (elf_i386_get_local_sym_hash): Don't set 1483 elf.plt.offset/elf.got.offset to -1. 1484 (elf_i386_tls_transition): Skip TLS transition for functions. 1485 (elf_i386_gc_sweep_hook): Support STT_GNU_IFUNC symbols. 1486 1487 * elf64-x86-64.c (elf64_x86_64_get_local_sym_hash): Don't set 1488 elf.plt.offset/elf.got.offset to -1. 1489 (elf64_x86_64_tls_transition): Skip TLS transition for functions. 1490 (elf64_x86_64_gc_sweep_hook): Support STT_GNU_IFUNC symbols. 1491 14922010-07-12 H.J. Lu <hongjiu.lu@intel.com> 1493 1494 * elf32-i386.c (elf_i386_check_relocs): Re-indent. 1495 (elf_i386_relocate_section): Likewise. 1496 14972010-07-06 H.J. Lu <hongjiu.lu@intel.com> 1498 1499 * dwarf2.c (add_line_info): Initialize prev_line. 1500 15012010-07-06 Alan Modra <amodra@gmail.com> 1502 1503 * elf32-ppc.c (ppc_elf_relax_section): Insert branch around 1504 trampolines only for .init and .fini sections. 1505 15062010-07-05 Alan Modra <amodra@gmail.com> 1507 1508 * elf32-ppc.c: Formatting. 1509 (ppc_elf_finish_dynamic_sections): Don't make plt_entry var static. 1510 15112010-07-03 Cary Coutant <ccoutant@google.com> 1512 1513 * compress.c (bfd_uncompress_section_contents): Add ATTRIBUTE_UNUSED. 1514 * dwarf2.c (read_and_uncompress_section): New function. 1515 (read_section): Call it. 1516 (find_line): Likewise. 1517 15182010-07-01 Alan Modra <amodra@gmail.com> 1519 1520 * elf64-ppc.c (ppc64_elf_edit_toc): Use SYMBOL_CALLS_LOCAL rather 1521 than SYMBOL_REFERENCES_LOCAL. 1522 (ppc64_elf_relocate_section): Likewise. 1523 15242010-07-01 Alan Modra <amodra@gmail.com> 1525 1526 * elf64-ppc.c (ppc64_elf_edit_toc): Keep toc entries for ifuncs. 1527 15282010-06-29 Alan Modra <amodra@gmail.com> 1529 1530 * cpu-maxq.c: Delete file. 1531 * coff-maxq.c: Delete file. 1532 * Makefile.am: Remove references to maxq. 1533 * archures.c: Likewise. 1534 * coffcode.h: Likewise. 1535 * configure.in: Likewise. 1536 * targets.c: Likewise. 1537 * config.bfd: Move maxq from obsolete to removed. 1538 * Makefile.in: Regenerate. 1539 * bfd-in2.h: Regenerate. 1540 * configure: Regenerate. 1541 * libbfd.h: Regenerate. 1542 * po/SRC-POTFILES.in: Regenerate. 1543 15442010-06-28 Alan Modra <amodra@gmail.com> 1545 1546 * compress.c (bfd_uncompress_section_contents): Use ATTRIBUTE_UNUSED 1547 to silence gcc warning. 1548 15492010-06-27 Alan Modra <amodra@gmail.com> 1550 1551 * elf64-ppc.c (get_tls_mask): Don't segfault on NULL elf_section_data. 1552 (group_sections): Likewise. 1553 15542010-06-27 Alan Modra <amodra@gmail.com> 1555 1556 * bout.c (aligncode): Delete set but unused variables. 1557 * coff-mcore.c (coff_mcore_relocate_section): Likewise. 1558 * coff-ppc.c (ppc_record_toc_entry): Likewise. 1559 (coff_ppc_relocate_section): Likewise. 1560 * coff-rs6000.c (xcoff_complain_overflow_bitfield_func): Likewise. 1561 * elf-m10200.c (mn10200_elf_relax_delete_bytes): Likewise. 1562 * elf-m10300.c (mn10300_elf_final_link_relocate): Likewise. 1563 (mn10300_elf_relax_section): Likewise. 1564 * elf32-arm.c (arm_build_one_stub, arm_size_one_stub): Likewise. 1565 (record_vfp11_erratum_veneer): Likewise. 1566 (bfd_elf32_arm_vfp11_erratum_scan): Likewise. 1567 (elf32_arm_final_link_relocate): Likewise. 1568 (elf32_arm_check_relocs, arm_map_one_stub): Likewise. 1569 * elf32-avr.c (elf32_avr_relax_delete_bytes): Likewise. 1570 (elf32_avr_relax_section): Likewise. 1571 (avr_mark_stub_not_to_be_necessary): Likewise. 1572 * elf32-bfin.c (_bfin_create_got_section): Likewise. 1573 * elf32-cr16.c (cr16_elf_final_link_relocate): Likewise. 1574 (elf32_cr16_relax_delete_bytes): Likewise. 1575 * elf32-cr16c.c (cr16c_elf_final_link_relocate): Likewise. 1576 * elf32-cris.c (elf_cris_finish_dynamic_symbol): Likewise. 1577 * elf32-crx.c (elf32_crx_relax_delete_bytes): Likewise. 1578 * elf32-h8300.c (elf32_h8_relax_section): Likewise. 1579 (elf32_h8_relax_delete_bytes): Likewise. 1580 * elf32-hppa.c (elf32_hppa_check_relocs): Likewise. 1581 * elf32-i370.c (i370_elf_check_relocs): Likewise. 1582 (elf_relocate_section): Likewise. 1583 * elf32-ip2k.c (adjust_all_relocations): Likewise. 1584 (ip2k_elf_relax_section): Likewise. 1585 * elf32-lm32.c (lm32_elf_relocate_section): Likewise. 1586 (lm32_elf_check_relocs): Likewise. 1587 (lm32_elf_finish_dynamic_sections): Likewise. 1588 (lm32_elf_finish_dynamic_symbol): Likewise. 1589 * elf32-m32c.c (m32c_offset_for_reloc): Likewise. 1590 (m32c_elf_relax_delete_bytes): Likewise. 1591 * elf32-m32r.c (m32r_elf_finish_dynamic_symbol): Likewise. 1592 (m32r_elf_finish_dynamic_sections): Likewise. 1593 (m32r_elf_check_relocs, m32r_elf_fake_sections): Likewise. 1594 * elf32-m68hc11.c (m68hc11_elf_relax_section): Likewise. 1595 * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Likewise. 1596 * elf32-m68k.c (elf_m68k_gc_sweep_hook): Likewise. 1597 * elf32-microblaze.c (microblaze_elf_relocate_section): Likewise. 1598 (microblaze_elf_check_relocs): Likewise. 1599 (microblaze_elf_finish_dynamic_symbol): Likewise. 1600 * elf32-msp430.c (msp430_elf_relax_delete_bytes): Likewise. 1601 * elf32-ppc.c (ppc_elf_tls_optimize): Likewise. 1602 * elf32-rx.c (rx_elf_relocate_section): Likewise. 1603 (elf32_rx_relax_delete_bytes, rx_offset_for_reloc): Likewise. 1604 (elf32_rx_relax_section): Likewise. 1605 * elf32-score.c (score_elf_got_offset_from_index): Likewise. 1606 (score_elf_final_link_relocate): Likewise. 1607 (s3_bfd_score_elf_relocate_section): Likewise. 1608 * elf32-score7.c (score_elf_got_offset_from_index): Likewise. 1609 (s7_bfd_score_elf_relocate_section): Likewise. 1610 * elf32-sh.c (sh_elf_check_relocs): Likewise. 1611 * elf32-spu.c (spu_elf_relocate_section): Likewise. 1612 * elf32-v850.c (v850_elf_check_relocs): Likewise. 1613 (find_remembered_hi16s_reloc): Likewise. 1614 * elf32-vax.c (elf32_vax_merge_private_bfd_data): Likewise. 1615 (elf_vax_relocate_section): Likewise. 1616 * elf32-xc16x.c (elf32_xc16x_relocate_section): Likewise. 1617 * elf32-xtensa.c (xlate_offset_with_removed_text): Likewise. 1618 (move_literal): Likewise. 1619 * elf64-hppa.c (elf64_hppa_section_from_shdr): Likewise. 1620 (elf64_hppa_check_relocs): Likewise. 1621 (elf64_hppa_finish_dynamic_symbol): Likewise. 1622 (elf64_hppa_relocate_section): Likewise. 1623 * elf64-mmix.c (mmix_elf_reloc, mmix_elf_relax_section): Likewise. 1624 * elf64-ppc.c (ppc64_elf_check_relocs): Likewise. 1625 (ppc64_elf_edit_opd, ppc64_elf_edit_toc): Likewise. 1626 * elfxx-ia64.c (elfNN_ia64_section_from_shdr): Likewise. 1627 (elfNN_vms_section_from_shdr): Likewise. 1628 * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise. 1629 (_bfd_sparc_elf_relocate_section): Likewise. 1630 * hp300hpux.c (slurp_symbol_table): Likewise. 1631 * i386lynx.c (swap_std_reloc_out, swap_std_reloc_in): Likewise. 1632 * mach-o.c (bfd_mach_o_write_thread): Likewise. 1633 * mmo.c (mmo_scan, mmo_write_symbols_and_terminator): Likewise. 1634 * nlm32-sparc.c (nlm_sparc_read_reloc): Likewise. 1635 * pdp11.c (pdp11_aout_link_input_section): Likewise. 1636 (aout_link_input_section, aout_link_input_bfd): Likewise. 1637 * pe-mips.c (mips_swap_reloc_out): Likewise. 1638 (coff_pe_mips_relocate_section): Likewise. 1639 * som.c (som_bfd_ar_write_symbol_stuff): Likewise. 1640 * vms-alpha.c (_bfd_vms_slurp_egsd): Likewise. 1641 * xsym.c (bfd_sym_fetch_type_information_table_ent): Likewise. 1642 1643 * coff-i860.c (i860_reloc_processing): Avoid set but unused warning. 1644 * coffcode.h (coff_compute_section_file_positions): Likewise. 1645 (coff_slurp_reloc_table): Likewise. 1646 * cpu-arm.c (arm_check_note): Likewise. 1647 * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Likewise. 1648 * elf32-avr.c (elf32_avr_relocate_section): Likewise. 1649 * elf32-bfin.c (elf32_bfin_merge_private_bfd_data): Likewise. 1650 * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise. 1651 * elf32-moxie.c (moxie_elf_relocate_section): Likewise. 1652 * elf32-msp430.c (elf32_msp430_relocate_section): Likewise. 1653 * elf32-sh64.c (_bfd_sh_align_load_span): Likewise. 1654 * ieee.c (parse_expression): Likewise. 1655 (ieee_slurp_external_symbols, drop_int): Likewise. 1656 * peXXigen.c (pe_print_pdata): Likewise. 1657 * versados.c (process_esd): Likewise. 1658 16592010-06-25 Tristan Gingold <gingold@adacore.com> 1660 1661 * vms-alpha.c (_bfd_vms_write_egsd): Check absolute section with 1662 its flags. Create an absolute section if needed. 1663 16642010-06-25 Tristan Gingold <gingold@adacore.com> 1665 1666 * vms-alpha.c (_bfd_vms_write_egsd): Set target_index field of 1667 sections. Mark .vmsdebug section as SEC_DEBUGGING. Do not create 1668 dummy psect anymore. Adjust. 1669 (_bfd_vms_write_eeom): Adjust (use target_index instead of index) 1670 (_bfd_vms_write_etir): Ditto. 1671 (start_etir_or_etbt_record): Test for SEC_DEBUGGING instead of 1672 section name. Adjust. 1673 16742010-06-25 Tristan Gingold <gingold@adacore.com> 1675 1676 * vms-alpha.c (alpha_vms_write_exec): Set linktime field. 1677 16782010-06-25 Alan Modra <amodra@gmail.com> 1679 1680 * elf64-ppc.c (toc_skip_enum): Define. 1681 (ppc64_elf_edit_toc): Use two low bits of skip array as markers. 1682 Optimize largetoc sequences. 1683 (adjust_toc_syms): Update for skip array change. 1684 (ppc64_elf_relocate_section): Handle R_PPC64_LO_DS_OPT. 1685 16862010-06-25 Alan Modra <amodra@gmail.com> 1687 1688 * elf64-ppc.c (is_static_defined): New function. 1689 (get_tls_mask, ppc_type_of_stub): Use it here. 1690 (ppc64_elf_edit_opd): Ensure we only attempt to edit ppc64 input. 1691 (ppc64_elf_tls_setup): Typo fix. 1692 (adjust_toc_syms): Correctly handle symbols defined past the end 1693 of the toc. Move syms on removed entries to next entry rather 1694 than to start of toc. 1695 (ppc64_elf_edit_toc): Likewise. Ensure we only attempt to 1696 edit ppc64 input. Allocate one extra word in skip array. 1697 Honour info->keep_memory when reading relocs if we can. 1698 Adjust toc relocs after adjusting symbols. 1699 17002010-06-23 Nathan Sidwell <nathan@codesourcery.com> 1701 1702 * archive64.c (bfd_elf64_archive_write_armap): Fix buffer overrun 1703 when scaning map. 1704 17052010-06-17 Tristan Gingold <gingold@adacore.com> 1706 1707 * Makefile.am (BFD32_BACKENDS_CFILES): Move vms-alpha.c to ... 1708 (BFD64_BACKENDS_CFILES): ... here. 1709 (BFD32_BACKENDS): Move vms-alpha.lo to ... 1710 (BFD64_BACKENDS): ... here. 1711 * Makefile.in: Regenerate. 1712 17132010-06-15 Joseph Myers <joseph@codesourcery.com> 1714 1715 * elf-bfd.h (LEAST_KNOWN_OBJ_ATTRIBUTE): Decrease to 2. 1716 * elf32-tic6x.c (elf32_tic6x_obj_attrs_arg_type, 1717 elf32_tic6x_merge_arch_attributes, elf32_tic6x_merge_attributes, 1718 elf32_tic6x_merge_private_bfd_data): New. 1719 (bfd_elf32_bfd_merge_private_bfd_data, 1720 elf_backend_obj_attrs_arg_type, elf_backend_obj_attrs_section, 1721 elf_backend_obj_attrs_section_type, elf_backend_obj_attrs_vendor): 1722 Define. 1723 * elf32-tic6x.h (elf32_tic6x_merge_arch_attributes): Declare. 1724 17252010-06-15 Joseph Myers <joseph@codesourcery.com> 1726 1727 * elf-bfd.h (LEAST_KNOWN_OBJ_ATTRIBUTE): Define. 1728 (struct elf_backend_data): Update comment on obj_attrs_order. 1729 * elf-attrs.c (vendor_obj_attr_size, vendor_set_obj_attr_contents, 1730 _bfd_elf_copy_obj_attributes): Use LEAST_KNOWN_OBJ_ATTRIBUTE 1731 instead of hardcoded 4. 1732 * elf32-arm.c (elf32_arm_obj_attrs_order): Use 1733 LEAST_KNOWN_OBJ_ATTRIBUTE and LEAST_KNOWN_OBJ_ATTRIBUTE + 1 1734 instead of hardcoded 4 and 5. 1735 (elf32_arm_merge_eabi_attributes): Use LEAST_KNOWN_OBJ_ATTRIBUTE 1736 instead of hardcoded 4. 1737 17382010-06-14 Kevin Buettner <kevinb@redhat.com> 1739 1740 * elf32-h8300.c (elf_symbol_leading_char): Define. 1741 17422010-06-11 Jan Kratochvil <jan.kratochvil@redhat.com> 1743 1744 * vms-alpha.c (_bfd_vms_write_egsd): Make sname const. 1745 17462010-06-11 Tristan Gingold <gingold@adacore.com> 1747 1748 * vms-alpha.c (_bfd_vms_slurp_egsd): Always set vma of absolute 1749 sections to 0. 1750 17512010-06-11 Tristan Gingold <gingold@adacore.com> 1752 1753 * vms-alpha.c (evax_bfd_print_etir): Handle ETIR__C_STO_GBL_LW. 1754 17552010-06-11 Tristan Gingold <gingold@adacore.com> 1756 1757 * vms-misc.c (_bfd_vms_output_counted): Make VALUE argument const. 1758 Adjust cast. 1759 (_bfd_vms_output_dump): Make DATA argument const, adjust cast. 1760 * vms.h (_bfd_vms_output_counted, _bfd_vms_output_dump): Adjust. 1761 * vms-alpha.c (evax_section_flags): Make it const. 1762 (vms_secflag_by_name): Remove unused ABFD argument. 1763 Make SECTION_FLAGS and NAME arguments const. Clarify comment. 1764 (vms_esecflag_by_name): Make SECTION_FLAGS and NAME arguments const. 1765 (_bfd_vms_slurp_egsd): Adjust call to vms_secflag_by_name. 1766 (_bfd_vms_write_egsd): Remove useless cast. 1767 17682010-06-10 Tristan Gingold <gingold@adacore.com> 1769 1770 * config.bfd: Remove #if/#endif so that som can be compiled on any 1771 host. 1772 * targets.c (_bfd_target_vector): Remove #if/#endif so that som 1773 can be used on any host. 1774 17752010-06-10 Tristan Gingold <gingold@adacore.com> 1776 1777 * som.c: Can now be compiled on any host. 1778 Include bfd headers instead of system one. 1779 (som_compute_checksum): Parameter is now a pointer to a 1780 som_external_header structure. Adjust. 1781 (struct section_to_type): Field section is now const. 1782 (R_DLT_REL, R_AUX_UNWIND, R_SEC_STMT): Removed conditional 1783 definition. 1784 (R_LONG_PCREL_MODE, R_N0SEL, R_N1SEL, R_LINETAB): Ditto. 1785 (R_LINETAB_ESC, R_LTP_OVERRIDE, R_COMMENT): Ditto. 1786 (som_swap_clock_in, som_swap_clock_out): New functions. 1787 (som_swap_header_in, som_swap_header_out): Likewise. 1788 (som_swap_space_dictionary_in): Likewise. 1789 (som_swap_space_dictionary_out): Likewise. 1790 (som_swap_subspace_dictionary_in): Likewise. 1791 (som_swap_subspace_dictionary_record_out): Likewise. 1792 (som_swap_aux_id_in, som_swap_aux_id_out): Likewise. 1793 (som_swap_string_auxhdr_out): Likewise. 1794 (som_swap_compilation_unit_out): Likewise. 1795 (som_swap_exec_auxhdr_in): Likewise. 1796 (som_swap_exec_auxhdr_out): Likewise. 1797 (som_swap_lst_header_in): Likewise. 1798 (som_object_setup): Adjust parameter type using bfd types. 1799 (setup_sections): Likewise. Ditto for object file types. 1800 Use intermediate variables for external representation and use the 1801 swap functions to convert. 1802 (som_object_p): Ditto. Remove #ifdef/#endif on always defined 1803 macros. 1804 (som_prep_headers): Likewise. 1805 (som_write_symbol_strings): Likewise. 1806 (som_begin_writing): Likewise. 1807 (som_finish_writing): Likewise. 1808 (som_build_and_write_symbol_table): Likewise. 1809 (bfd_section_from_som_symbol): Likewise. 1810 (som_slurp_symbol_table): Likewise. 1811 (som_bfd_print_private_bfd_data): Likewise. 1812 (bfd_som_attach_aux_hdr): Likewise. Clear the padding. 1813 (bfd_som_attach_compilation_unit): Likewise. 1814 (som_bfd_count_ar_symbols): Likewise. 1815 (som_bfd_fill_in_ar_symbols): Likewise. 1816 (som_slurp_armap): Likewise. 1817 (som_bfd_ar_write_symbol_stuff): Likewise. 1818 (som_write_armap): Likewise. Use _bfd_ar_spacepad instead of 1819 sprintf to write header fields. 1820 * som.h: Include bfd headers instead of system one. 1821 (FILE_HDR_SIZE, AUX_HDR_SIZE): Removed. 1822 (struct somdata): Use bfd structures instead of system ones. 1823 (struct som_section_data_struct): Likewise. 1824 (struct som_subspace_dictionary_record): Removed (now in 1825 include/som/internal.h) 1826 18272010-06-10 Tristan Gingold <gingold@adacore.com> 1828 1829 * targets.c (bfd_target_list): Remove hp/ux compiler work-around 1830 as bfd requires an ANSI-C compiler. 1831 18322010-06-09 Tristan Gingold <gingold@adacore.com> 1833 1834 * bfdio.c (bfd_bread): Fix the code to prevent reading past the 1835 end of archive members. 1836 18372010-06-08 Tristan Gingold <gingold@adacore.com> 1838 1839 * som.c (som_bfd_free_cached_info): Do not free relocations as 1840 they were allocated with bfd_zalloc. 1841 18422010-06-08 Tristan Gingold <gingold@adacore.com> 1843 1844 * vms-lib.c (_bfd_vms_lib_write_archive_contents): Increment 1845 for the first block. 1846 18472010-06-08 Tristan Gingold <gingold@adacore.com> 1848 1849 * vms-lib.c (_bfd_vms_lib_ia64_mkarchive): New function. 1850 * libbfd-in.h (_bfd_vms_lib_ia64_mkarchive): Declare. 1851 * libbfd.h: Regenerate. 1852 * elfxx-ia64.c (bfd_elfNN_write_archive_contents): Redefine for VMS. 1853 (bfd_elfNN_mkarchive): Ditto. 1854 18552010-06-02 Tristan Gingold <gingold@adacore.com> 1856 1857 * vms-alpha.c (alpha_vms_bfd_final_link): Fix 64bit constant. 1858 18592010-06-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 1860 1861 * configure: Regenerate. 1862 18632010-06-01 Tristan Gingold <gingold@adacore.com> 1864 1865 * vms-alpha.c (struct vms_private_data_struct): Add 1866 transfer_address field. Remove unused dst_info field. 1867 (alpha_vms_write_exec): Use transfer_address. 1868 (_bfd_vms_write_egsd): Add a comment about LIB$INITIALIZE. 1869 (alpha_vms_bfd_final_link): Set transfer_address. 1870 18712010-05-31 Tristan Gingold <gingold@adacore.com> 1872 1873 * vms-lib.c (credat_lo, credat_hi): New fields. 1874 (vms_read_block): Adjust comments. 1875 (vms_write_block): New function. 1876 (_bfd_vms_lib_archive_p): Decode majorid once. Replace some 1877 hard-coded values with constants. Set credat_lo and credat_hi. 1878 (_bfd_vms_lib_mkarchive): Add argument kind. 1879 Set ver, mhd_size and type according to kind. 1880 (_bfd_vms_lib_alpha_mkarchive): New function. 1881 (struct lib_index): Renamed from struct vms_index 1882 (lib_index_cmp): Renamed from vms_index_cmp. Adjusted. 1883 (get_idxlen): Type of idx argument adjusted. Add is_elfidx 1884 argument and handle it. 1885 (vms_write_index): Adjust argument idx. Handle elf indexes. 1886 (_bfd_vms_lib_build_map): Adjust type of arguments modules and res. 1887 (_bfd_vms_lib_write_archive_contents): Add is_elfidx variable and 1888 use it. Handle elf indexes. Set credat. 1889 * libbfd-in.h (_bfd_vms_lib_mkarchive): Renamed to ... 1890 (_bfd_vms_lib_alpha_mkarchive): ... this. 1891 * libbfd.h: Regenerated. 1892 * vms-alpha.c (vms_alpha_vec): Adjust after previous renaming. 1893 18942010-05-28 Sterling Augustine <sterling@tensilica.com> 1895 1896 * elf32-xtensa.c (elf_xtensa_relocate_section): Add a large amount 1897 of code to change the bits in the instructions to match the changes 1898 in the relocations. Declare dest_addr and sym_sec to help. 1899 19002010-05-28 Jan Kratochvil <jan.kratochvil@redhat.com> 1901 1902 Workaround GCC PR middle-end/4210. 1903 * vms-misc.c (vms_time_t_to_vms_time): Use ternary operator for val[2] 1904 and val[3]. 1905 19062010-05-27 Tristan Gingold <gingold@adacore.com> 1907 1908 * vms-misc.c: Define __NEW_STARLET. Remove trailing spaces. 1909 (VMS_TIME_FACTOR, VMS_TIME_OFFSET): New macros. 1910 (vms_time_to_time_t): Use them instead of local const. 1911 (vms_time_t_to_vms_time): New function. 1912 (vms_get_time): Likewise. 1913 (vms_raw_get_time): Likewise. 1914 * vms.h (vms_time_t_to_vms_time): New declaration. 1915 (vms_get_time): Likewise. 1916 (vms_raw_get_time): Likewise. 1917 19182010-05-26 Tristan Gingold <gingold@adacore.com> 1919 1920 * vms-alpha.c: Update comments. 1921 (alpha_vms_write_exec): Set lnkflags. Write the GST. 1922 (alpha_vms_link_output_symbol): New function. 1923 (alpha_vms_bfd_final_link): Generate the VMS symbol table. 1924 Set dst_section private field. 1925 (alpha_vms_bfd_final_link): Remove code that set dst_section. 1926 19272010-05-26 Tristan Gingold <gingold@adacore.com> 1928 1929 * bfdio.c: Declare and define _bfd_memory_iovec. 1930 (bfd_bread): Move code for BFD_IN_MEMORY... 1931 (bfd_bwrite): ... Ditto ... 1932 (bfd_tell): ... Ditto ... 1933 (bfd_flush): ... Ditto ... 1934 (bfd_stat): ... Ditto ... 1935 (bfd_seek): ... Ditto ... 1936 (bfd_get_size): ... Ditto ... 1937 (bfd_mmap): ... Ditto ... 1938 (memory_bread): ... to these new functions. 1939 (memory_bwrite): Ditto. 1940 (memory_btell): Ditto. 1941 (memory_bseek): Ditto. 1942 (memory_bflush): Ditto. 1943 (memory_bstat): Ditto. 1944 (memory_bmmap): Ditto. 1945 (memory_bclose): New function. 1946 * peicode.h (pe_ILF_build_a_bfd): Use BFD_IN_MEMORY. 1947 * xcofflink.c (bfd_xcoff_link_generate_rtinit): Ditto. 1948 * opncls.c (bfd_close): Do not handle BFD_IN_MEMORY case. 1949 (bfd_make_writable): Use _bfd_memory_iovec. 1950 * elfcode.h (bfd_from_remote_memory): Use _bfd_memory_iovec. 1951 * coff-alpha.c (alpha_ecoff_get_elt_at_filepos): Use 1952 _bfd_memory_iovec. 1953 (alpha_ecoff_openr_next_archived_file): Use proxy_origin 1954 instead of origin. 1955 * libbfd.h: Regenerate. 1956 19572010-05-25 Daniel Jacobowitz <dan@codesourcery.com> 1958 Joseph Myers <joseph@codesourcery.com> 1959 Andrew Stubbs <ams@codesourcery.com> 1960 1961 * config.bfd (sh-*-uclinux* | sh[12]-*-uclinux*): Add 1962 bfd_elf32_shl_vec, and FDPIC vectors to targ_selvecs. 1963 * configure.in: Handle FDPIC vectors. 1964 * elf32-sh-relocs.h: Add FDPIC and movi20 relocations. 1965 * elf32-sh.c (DEFAULT_STACK_SIZE): Define. 1966 (SYMBOL_FUNCDESC_LOCAL): Define. Use it instead of 1967 SYMBOL_REFERENCES_LOCAL for function descriptors. 1968 (fdpic_object_p): New. 1969 (sh_reloc_map): Add FDPIC and movi20 relocations. 1970 (sh_elf_info_to_howto, sh_elf_relocate_section): Handle new invalid 1971 range. 1972 (struct elf_sh_plt_info): Add got20 and short_plt. Update all 1973 definitions. 1974 (FDPIC_PLT_ENTRY_SIZE, FDPIC_PLT_LAZY_OFFSET): Define. 1975 (fdpic_sh_plt_entry_be, fdpic_sh_plt_entry_le, fdpic_sh_plts): New. 1976 (FDPIC_SH2A_PLT_ENTRY_SIZE, FDPIC_SH2A_PLT_LAZY_OFFSET): Define. 1977 (fdpic_sh2a_plt_entry_be, fdpic_sh2a_plt_entry_le) 1978 (fdpic_sh2a_short_plt_be, fdpic_sh2a_short_plt_le, fdpic_sh2a_plts): 1979 New. 1980 (get_plt_info): Handle FDPIC. 1981 (MAX_SHORT_PLT): Define. 1982 (get_plt_index, get_plt_offset): Handle short_plt. 1983 (union gotref): New. 1984 (struct elf_sh_link_hash_entry): Add funcdesc, rename tls_type to 1985 got_type and adjust all uses. Add GOT_FUNCDESC. 1986 (struct sh_elf_obj_tdata): Add local_funcdesc. Rename 1987 local_got_tls_type to local_got_type. 1988 (sh_elf_local_got_type): Renamed from sh_elf_local_got_tls_type. All 1989 users changed. 1990 (sh_elf_local_funcdesc): Define. 1991 (struct elf_sh_link_hash_table): Add sfuncdesc, srelfuncdesc, fdpic_p, 1992 and srofixup. 1993 (sh_elf_link_hash_newfunc): Initialize new fields. 1994 (sh_elf_link_hash_table_create): Set fdpic_p. 1995 (sh_elf_omit_section_dynsym): New. 1996 (create_got_section): Create .got.funcdesc, .rela.got.funcdesc 1997 and .rofixup. 1998 (allocate_dynrelocs): Allocate local function descriptors and space 1999 for R_SH_FUNCDESC-related relocations, and for rofixups. 2000 Handle GOT_FUNCDESC. Create fixups. Handle GOT entries which 2001 require function descriptors. 2002 (sh_elf_always_size_sections): Handle PT_GNU_STACK and __stacksize. 2003 (sh_elf_modify_program_headers): New. 2004 (sh_elf_size_dynamic_sections): Allocate function descriptors for 2005 local symbols. Allocate .got.funcdesc contents. Allocate rofixups. 2006 Handle local GOT entries of type GOT_FUNCDESC. Create fixups for 2007 local GOT entries. Ensure that FDPIC libraries always have a PLTGOT 2008 entry in the .dynamic section. 2009 (sh_elf_add_dyn_reloc, sh_elf_got_offset, sh_elf_initialize_funcdesc) 2010 (sh_elf_add_rofixup, sh_elf_osec_to_segment) 2011 (sh_elf_osec_readonly_p, install_movi20_field): New functions. 2012 (sh_elf_relocate_section): Handle new relocations, R_SH_FUNCDESC, 2013 R_SH_GOTFUNCDESC and R_SH_GOTOFFFUNCDESC. Use sh_elf_got_offset 2014 and .got.plt throughout to find _GLOBAL_OFFSET_TABLE_. Add rofixup 2015 read-only section warnings. Handle undefined weak symbols. Generate 2016 fixups for R_SH_DIR32 and GOT entries. Check for cross-segment 2017 relocations and clear EF_SH_PIC. Handle 20-bit relocations. 2018 Always generate R_SH_DIR32 for FDPIC instead of R_SH_RELATIVE. 2019 (sh_elf_gc_sweep_hook): Handle R_SH_FUNCDESC, R_SH_GOTOFF20, 2020 R_SH_GOTFUNCDESC, R_SH_GOTFUNCDESC20, and R_SH_GOTOFFFUNCDESC. 2021 Handle 20-bit relocations. 2022 (sh_elf_copy_indirect_symbol): Copy function descriptor reference 2023 counts. 2024 (sh_elf_check_relocs): Handle new relocations. Make symbols 2025 dynamic for FDPIC relocs. Account for rofixups. Error for FDPIC 2026 symbol mismatches. Allocate a GOT for R_SH_DIR32. Allocate fixups 2027 for R_SH_DIR32. 2028 (sh_elf_copy_private_data): Copy PT_GNU_STACK size. 2029 (sh_elf_merge_private_data): Copy initial flags. Do not clobber 2030 non-mach flags. Set EF_SH_PIC for FDPIC. Reject FDPIC mismatches. 2031 (sh_elf_finish_dynamic_symbol): Do not handle got_funcdesc entries 2032 here. Rename sgot to sgotplt and srel to srelplt. Handle short_plt, 2033 FDPIC descriptors, and got20. Create R_SH_FUNCDESC_VALUE for FDPIC. 2034 Use install_movi20_field. Rename srel to srelgot. Always generate 2035 R_SH_DIR32 for FDPIC instead of R_SH_RELATIVE. 2036 (sh_elf_finish_dynamic_sections): Fill in the GOT pointer in rofixup. 2037 Do not fill in reserved GOT entries for FDPIC. Correct DT_PLTGOT. 2038 Rename sgot to sgotplt. Assert that the right number of rofixups 2039 and dynamic relocations were allocated. 2040 (sh_elf_use_relative_eh_frame, sh_elf_encode_eh_address): New. 2041 (elf_backend_omit_section_dynsym): Use sh_elf_omit_section_dynsym. 2042 (elf_backend_can_make_relative_eh_frame) 2043 (elf_backend_can_make_lsda_relative_eh_frame) 2044 (elf_backend_encode_eh_address): Define. 2045 (TARGET_BIG_SYM, TARGET_BIG_NAME, TARGET_LITTLE_SYM) 2046 (TARGET_LITTLE_NAME, elf_backend_modify_program_headers, elf32_bed): 2047 Redefine for FDPIC vector. 2048 * reloc.c: Add SH FDPIC and movi20 relocations. 2049 * targets.c (_bfd_target_vector): Add FDPIC vectors. 2050 * configure, bfd-in2.h, libbfd.h: Regenerated. 2051 20522010-05-25 Jay Krell <jay.krell@cornell.edu> 2053 2054 PR ld/11624 2055 * archive.c (_bfd_calloc_wrapper): New function. 2056 (_bfd_add_bfd_to_archive_cache): Use it. 2057 2058 * configure.in: Add alpha*-*-*vms* to list of natives. 2059 * configure: Regenerate. 2060 2061 * vms-misc.c: Define globalref if necessary. 2062 (vms_convert_to_var_unix_filename): Rename to 2063 _bfd_vms_convert_to_var_unix_filename and export. 2064 * vms.h: Add prototype for _bfd_vms_convert_to_var_unix_filename. 2065 * vms-alpha.c (vms_close_and_cleanup): Update invocation of 2066 vms_convert_to_var_unix_filename. 2067 20682010-05-24 Tristan Gingold <gingold@adacore.com> 2069 2070 * vms-alpha.c (add_symbol_entry): New function extrated from ... 2071 (add_symbol): ... adjusted. 2072 20732010-05-24 Tristan Gingold <gingold@adacore.com> 2074 2075 * vms-alpha.c (_bfd_vms_slurp_egsd): Fix indentation. 2076 (alpha_vms_write_exec): Add a comment. 2077 (_bfd_vms_write_egsd): Ditto. 2078 (alpha_vms_convert_symbol): Remove a blank line. 2079 20802010-05-21 Tristan Gingold <gingold@adacore.com> 2081 2082 * vms-alpha.c (_bfd_vms_slurp_eihs): Do not create a bfd section 2083 for the GST. 2084 20852010-05-21 Tristan Gingold <gingold@adacore.com> 2086 2087 * vms-alpha.c (_bfd_vms_slurp_eisd): Set SEC_HAS_CONTENTS and 2088 SEC_LOAD if isect has data. 2089 (vms_get_symbol_info): Refine the condition for 'T' type. 2090 20912010-05-18 Tristan Gingold <gingold@adacore.com> 2092 2093 * vms-alpha.c (_bfd_vms_write_emh): New function. 2094 (_bfd_vms_write_lmn): New function. 2095 (_bfd_vms_write_eeom): Moved. 2096 (hash_string): Likewise. 2097 (_bfd_vms_length_hash_symbol): Likewise. 2098 (_bfd_vms_write_ehdr): Code moved to _bfd_vms_write_emh 2099 and _bfd_vms_write_lmn, and call these functions. 2100 21012010-05-18 Tristan Gingold <gingold@adacore.com> 2102 2103 * vms-alpha.c (evax_bfd_print_dst): Handle INCR_LINUM_L. 2104 Add details in the messages. 2105 (evax_bfd_print_image): Change message. 2106 21072010-05-18 H.J. Lu <hongjiu.lu@intel.com> 2108 2109 PR gas/11600 2110 * elf.c (_bfd_elf_make_section_from_shdr): Handle SHF_EXCLUDE 2111 (elf_fake_sections): Likewise. 2112 2113 * elf32-i370.c (i370_elf_section_from_shdr): Don't handle 2114 SHF_EXCLUDE here. 2115 * elf32-ppc.c (ppc_elf_fake_sections): Likewise. 2116 21172010-05-17 Tristan Gingold <gingold@adacore.com> 2118 2119 * vms-alpha.c: Include esgps.h and eidc.h. 2120 (_bfd_vms_slurp_egsd): Ignore SPSC and IDC sub-records. 2121 (evax_bfd_print_egsd_flags): New function, extracted from ... 2122 (evax_bfd_print_egsd): ..., calls evax_bfd_print_egsd_flags. Handles 2123 EGSD__C_SPSC and EGSD__C_IDC. 2124 21252010-05-14 Tristan Gingold <gingold@adacore.com> 2126 2127 * vms-alpha.c (alpha_vms_object_p): Accept header size of 0. 2128 (_bfd_vms_get_object_record): Handle align byte only in the 2129 foreign case. 2130 21312010-05-14 Tristan Gingold <gingold@adacore.com> 2132 2133 * vms-lib.c (_bfd_vms_lib_ia64_archive_p): New function. 2134 * libbfd-in.h (_bfd_vms_lib_ia64_archive_p): Add prototype. 2135 * libbfd.h: Regenerate. 2136 * configure.in (havevecs): Define HAVE_all_vecs when 2137 --enable-targets=all is set. Use AC_SUBST on it. 2138 (tdefaults): Do not add havevecs. 2139 (bfd_elf64_ia64_vms_vec): Add vms-lib.lo and vms-misc.lo 2140 * configure: Regenerate. 2141 * Makefile.am (HAVEVECS): New variable. 2142 (INCLUDES): Add HAVEVECS. 2143 * Makefile.in: Regenerate. 2144 * elfxx-ia64.c (INCLUDE_IA64_VMS): New macro, defined if vms 2145 target is selected. Add #ifdef/#endif around vms specific code. 2146 (bfd_elfNN_archive_p, bfd_elfNN_archive_slurp_armap, 2147 bfd_elfNN_archive_slurp_extended_name_table, 2148 bfd_elfNN_archive_construct_extended_name_table, 2149 bfd_elfNN_archive_truncate_arname, 2150 bfd_elfNN_archive_write_armap, 2151 bfd_elfNN_archive_read_ar_hdr, 2152 bfd_elfNN_archive_write_ar_hdr, 2153 bfd_elfNN_archive_openr_next_archived_file, 2154 bfd_elfNN_archive_get_elt_at_index, 2155 bfd_elfNN_archive_generic_stat_arch_elt, 2156 bfd_elfNN_archive_update_armap_timestamp): Define to use vms archives. 2157 21582010-05-11 Jie Zhang <jie@codesourcery.com> 2159 2160 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Merge 2161 Tag_ABI_HardFP_use correctly. 2162 21632010-05-11 Alan Modra <amodra@gmail.com> 2164 2165 * coffcode.h (coff_write_object_contents): Enclose all occurrences 2166 of hasdebug and is_reloc_section in #ifdef COFF_IMAGE_WITH_PE. 2167 21682010-05-07 Daniel Jacobowitz <dan@codesourcery.com> 2169 2170 * elf32-arm.c (struct a8_erratum_reloc): Add hash member. Move 2171 sym_name to improve packing. 2172 (cortex_a8_erratum_scan): Check for PLT entries. 2173 (elf32_arm_size_stubs): Save the target symbol for a8 relocs. 2174 21752010-05-07 Tristan Gingold <gingold@adacore.com> 2176 2177 * Makefile.in: Regenerate with automake 1.11.1. 2178 * aclocal.m4: Ditto. 2179 21802010-05-05 Nick Clifton <nickc@redhat.com> 2181 2182 * po/es.po: Updated Spanish translation. 2183 21842010-05-03 Tristan Gingold <gingold@adacore.com> 2185 2186 * vms-lib.c (vms_lib_bopen): Fix the size threshold to read 2187 selective_search flag. 2188 Add comments. 2189 * vms-alpha.c (alpha_vms_bfd_final_link): Create the DMT section 2190 before output_has_begun is set. 2191 21922010-05-03 Tristan Gingold <gingold@adacore.com> 2193 2194 * vms-alpha.c: Add comments. 2195 (struct vms_private_data_struct): Remove image_autoextend field. 2196 (dst_check_allocation): Removed. 2197 (image_write): Remove call to dst_check_allocation. 2198 (vms_slurp_debug): Do not set image_autoextend. Adjust section 2199 size. 2200 (_bfd_vms_slurp_object_records): Remove useless new_type variable. 2201 (alpha_vms_write_exec): Use dst_section to get the dst section. 2202 Write the dmt section. 2203 (evax_bfd_print_image): Also print the dst size in hexa. Fix typo. 2204 (alpha_vms_read_sections_content): Do not set image_autoextend. 2205 (alpha_vms_bfd_final_link): Generate the dst. 2206 22072010-05-03 Tristan Gingold <gingold@adacore.com> 2208 2209 * vms-lib.c (_bfd_vms_lib_archive_p): Adjust for a possible empty 2210 next array. 2211 (vms_lib_dcx): Adjust for the above change. 2212 22132010-04-30 H.J. Lu <hongjiu.lu@intel.com> 2214 2215 PR ld/11542 2216 * elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): New. 2217 2218 * elf32-i386.c (elf_i386_relocate_section): Use it. 2219 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise. 2220 22212010-04-30 Tristan Gingold <gingold@adacore.com> 2222 2223 * vms-lib.c (vms_read_block): New function. 2224 (vms_traverse_index): Use vms_read_block. Handle long key names. 2225 22262010-04-30 Tristan Gingold <gingold@adacore.com> 2227 2228 * vms-lib.c (struct lib_tdata): Field artdata added, fields nbr_syms 2229 and syms removed. 2230 (struct carsym_mem): New structure. 2231 (vms_add_index): New function. 2232 (vms_add_indexes_from_list): New function. 2233 (vms_traverse_index): Parameter carsym changed to carsym_mem. 2234 Code adjusted to handle elfidx. 2235 (vms_lib_read_index): Adjusted for vms_traverse_index changes. 2236 Parameter NBREL is now a pointer. 2237 (_bfd_vms_lib_archive_p): Adjust for above change. Handle ia64 2238 archives. 2239 (_bfd_vms_lib_mkarchive): Adjusted for changes in struct lib_tdata. 2240 (_bfd_vms_lib_find_symbol): Ditto. 2241 (vms_lib_bopen): Fix two typos: return FALSE in case of error, 2242 check MHD id. 2243 (_bfd_vms_lib_get_module): New function. 2244 (_bfd_vms_lib_get_elt_at_index): Rewritten using the above 2245 function. 2246 (_bfd_vms_lib_openr_next_archived_file): Use _bfd_vms_lib_get_module. 2247 (_bfd_vms_lib_generic_stat_arch_elt): Handle ia64 archives. 2248 (vms_write_index): Adjust for structure renamed. 2249 * vms-alpha.c (alpha_vms_link_add_archive_symbols): Adjust for 2250 changes of _bfd_vms_lib_find_symbol. 2251 22522010-04-28 Kai Tietz <kai.tietz@onevision.com> 2253 2254 * config.bfd: Correct accidential reverted patch 2255 about vax*-*-*vms*. 2256 22572010-04-27 Kai Tietz <kai.tietz@onevision.com> 2258 2259 * pe-x86_64.c (TARGET_UNDERSCORE): Set value dependent 2260 to USE_MINGW64_LEADING_UNDERSCORES. 2261 * pei-x86_64.c (TARGET_UNDERSCORE): Likewise. 2262 * config.bfd: Change underscoring default for x64 mingw 2263 to false. 2264 * coffcode.h (coff_write_relocs): Add check that dereferenced 2265 sym_ptr_ptr isn't NULL. 2266 * config.in (USE_MINGW64_LEADING_UNDERSCORES): New. 2267 * configure: Regenerated. 2268 * configure.in: Add option '--enable-leading-mingw64-underscores' 2269 and define config.in variable USE_MINGW64_LEADING_UNDERSCORES. 2270 22712010-04-27 Nick Clifton <nickc@redhat.com> 2272 2273 PR binutils/11512 2274 * coffgen.c (coff_find_nearest_line): Incldue the section address 2275 of function name symbols in address comparisons. 2276 22772010-04-27 Nick Clifton <nickc@redhat.com> 2278 2279 * po/fr.po: Updated French translation. 2280 22812010-04-23 Alan Modra <amodra@gmail.com> 2282 2283 * elf.c: Replace use of ELF_IS_SECTION_IN_SEGMENT and 2284 ELF_IS_SECTION_IN_SEGMENT_FILE with ELF_SECTION_IN_SEGMENT 2285 throughout file. 2286 (assign_file_positions_for_load_sections): Modify section in 2287 segment warning to ignore overlay vmas. 2288 * elf32-spu.c (spu_elf_object_p): Replace use of 2289 ELF_IS_SECTION_IN_SEGMENT_MEMORY with ELF_SECTION_IN_SEGMENT. 2290 22912010-04-22 Nick Clifton <nickc@redhat.com> 2292 2293 * po/bfd.pot: Updated by the Translation project. 2294 * po/vi.po: Updated Vietnamese translation. 2295 22962010-04-22 Alan Modra <amodra@gmail.com> 2297 2298 * elf.c (assign_file_positions_for_load_sections): Revert 2008-05-29 2299 change. Tidy. Don't error on sections not allocated in segment. 2300 23012010-04-15 Andrew Haley <aph@redhat.com> 2302 2303 * bfd-in.h (elf32_arm_fix_exidx_coverage): Add new flag: 2304 merge_exidx_entries. 2305 * bfd-in2.h: Likewise. 2306 * elf32-arm.c (elf32_arm_fix_exidx_coverage): Likewise. Use it to 2307 control merging of exidx entries. 2308 23092010-04-20 Joseph Myers <joseph@codesourcery.com> 2310 2311 * elf32-tic6x.h: New. 2312 * elf-bfd.h (enum elf_target_id): Define TIC6X_ELF_DATA. 2313 * elf32-tic6x.c (struct elf32_tic6x_obj_tdata, elf32_tic6x_tdata, 2314 elf32_tic6x_howto_table_rel, elf32_tic6x_info_to_howto_rel, 2315 elf32_tic6x_set_use_rela_p, elf32_tic6x_mkobject, 2316 elf32_tic6x_new_section_hook, elf32_tic6x_rel_relocation_p, 2317 bfd_elf32_mkobject, bfd_elf32_new_section_hook): New. 2318 (elf32_tic6x_reloc_type_lookup, elf32_tic6x_reloc_name_lookup, 2319 elf32_tic6x_relocate_section): Handle REL relocations. 2320 (elf_info_to_howto_rel): Define to elf32_tic6x_info_to_howto_rel. 2321 23222010-04-20 Jakub Jelinek <jakub@redhat.com> 2323 2324 * dwarf2.c (find_abstract_instance_name, scan_unit_for_symbols): Treat 2325 DW_AT_linkage_name the same as DW_AT_MIPS_linkage_name. 2326 23272010-04-19 Nick Clifton <nickc@redhat.com> 2328 2329 * archive64.c (bfd_elf64_archive_slurp_armap): Remove unused 2330 arhdrpos variable. 2331 * elf64-x86-64.c (elf64_x86_64_relocate_section): Add unused 2332 attribute to warned variable. Remove unused val, type and type2 2333 variables. 2334 23352010-04-16 Andreas Schwab <schwab@redhat.com> 2336 2337 * vms-alpha.c (alpha_vms_link_add_object_symbols): Avoid breaking 2338 strict-aliasing rules. 2339 23402010-04-16 Tristan Gingold <gingold@adacore.com> 2341 2342 * vms-alpha.c (_bfd_vms_slurp_eihd): Fix typo. 2343 (_bfd_vms_get_object_record): Always assume there is a pad byte 2344 for alignment. 2345 2346 * vms-lib.c: Add a few comments. 2347 23482010-04-15 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> 2349 2350 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Support additions to 2351 attributes in v2.08 of the ABI. 2352 23532010-04-15 Alan Modra <amodra@gmail.com> 2354 2355 * config.bfd (vax*-*-*vms*): Delete. 2356 23572010-04-14 Tristan Gingold <gingold@adacore.com> 2358 2359 * Makefile.am (BFD32_BACKENDS): Remove vms-gsd.lo, vms-hdr.lo, 2360 vms-tir.lo, vms.lo and add vms-alpha.lo 2361 (BFD32_BACKENDS_CFILES): Remove vms-gsd.c, vms-hdr.c, 2362 vms-tir.c, vms.c and add vms-alpha.c 2363 * Makefile.in: Regenerate. 2364 * configure.in (TDEFINES): Adjust file list for vms_alpha_vec. 2365 Remove vms_vax_vec. 2366 * configure: Regenerate. 2367 * targets.c (vms_vax_vec): Remove the declaration. 2368 (_bfd_target_vector): Remove vms_vax_vec. 2369 * vms-alpha.c: New file. 2370 * vms-gsd.c: Removed, rewritten in vms-alpha.c 2371 * vms-hdr.c: Ditto. 2372 * vms-tir.c: Ditto. 2373 * vms.c: Ditto. 2374 * vms-misc.c: Fix indentation and comments. Replace most of 2375 #if VMS_DEBUG/vms_debug with vms_debug2. 2376 (_bfd_vms_hash_newfunc): Moved to vms-alpha.c 2377 (hash_string): Ditto. 2378 (_bfd_vms_length_hash_symbol): Ditto. 2379 (maybe_adjust_record_pointer_for_object): Ditto. 2380 (_bfd_vms_get_object_record): Ditto. 2381 (vms_get_remaining_object_record): Ditto. 2382 (_bfd_vms_push): Ditto. 2383 (_bfd_vms_pop): Ditto. 2384 (_bfd_vms_get_header_values): Removed. 2385 (_bfd_vms_get_first_record): Removed. 2386 (vms_get_remaining_image_record): Removed. 2387 (new_symbol): Removed. 2388 (_bfd_vms_enter_symbol): Removed. 2389 (_bfd_vms_save_sized_string): Use memcpy instead of strncpy. 2390 (_bfd_vms_output_begin): Remove rechead parameter. Replace bfd 2391 parameter with struct vms_rec_wr. 2392 (_bfd_vms_output_push): Removed and replaced by ... 2393 (_bfd_vms_output_begin_subrec): ... new function. 2394 (_bfd_vms_output_alignment): Replace bfd parameter with 2395 struct vms_rec_wr, and adjust. 2396 (_bfd_vms_output_check): Ditto 2397 (_bfd_vms_output_byte): Ditto. 2398 (_bfd_vms_output_short): Ditto. 2399 (_bfd_vms_output_long): Ditto. 2400 (_bfd_vms_output_quad): Ditto. 2401 (_bfd_vms_output_counted): Ditto. 2402 (_bfd_vms_output_dump): Ditto. 2403 (_bfd_vms_output_fill): Ditto. 2404 (_bfd_vms_output_pop): Removed and replaced by ... 2405 (_bfd_vms_output_end_subrec): ... new function. 2406 (_bfd_vms_output_flush): Removed. 2407 (_bfd_vms_output_align): New function. 2408 (_bfd_vms_output_end): Add recwr parameter. Adjust for this new 2409 parameter. 2410 (vms_convert_to_var): New function imported from vms.c 2411 (vms_convert_to_var_1): Ditto. 2412 (vms_convert_to_var_unix_filename): Ditto. 2413 (vms_get_module_name): Ditto. 2414 (get_vms_time_string): Ditto. 2415 (vms_time_to_time_t): Ditto. 2416 (vms_rawtime_to_time_t): Ditto. 2417 * vms.h: All macros for the VMS file format are now in include/vms. 2418 Prototypes for vms.c, vms-gsd.c, vms-misc.c, vms-hdr.c, vms-tir.c 2419 have been removed. 2420 (struct vms_symbol_struct, struct stack_struct): Moved to vms-alpha.c 2421 (struct fileinfo, struct srecinfo, struct lineinfo): Ditto. 2422 (struct funcinfo, struct vms_private_data_struct): Ditto. 2423 (struct vms_section_data_struct): Ditto. 2424 (struct vms_rec_rd, stryct vms_rec_wr): New declarations. 2425 (vms_get_module_name, get_vms_time_string): New declarations. 2426 (vms_time_to_time_t, vms_rawtime_to_time_t): Ditto. 2427 (_bfd_vms_output_begin_subrec, _bfd_vms_output_end_subrec): Ditto. 2428 (_bfd_vms_save_sized_string, _bfd_vms_save_counted_string): Adjusted. 2429 (_bfd_vms_output_begin, _bfd_vms_output_alignment): Ditto. 2430 (_bfd_vms_output_end,_bfd_vms_output_check): Ditto. 2431 (_bfd_vms_output_byte, _bfd_vms_output_short): Ditto. 2432 (_bfd_vms_output_long, _bfd_vms_output_quad): Ditto. 2433 (_bfd_vms_output_counted, _bfd_vms_output_dump): Ditto. 2434 (_bfd_vms_output_fill): Ditto. 2435 (bfd_vms_set_section_flags): Ditto. 2436 24372010-04-14 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> 2438 2439 * elflink.c (_bfd_elf_merge_symbol): Tighten up the test for early 2440 exit due to merging the same weak symbol to test that the symbols are 2441 actually weak. 2442 24432010-04-13 Alan Modra <amodra@gmail.com> 2444 2445 * elf64-ppc.c (ppc64_elf_relocate_section): Correct NOP location 2446 when optimizing high got_tlsgd/ld insns. 2447 24482010-04-10 H.J. Lu <hongjiu.lu@intel.com> 2449 2450 * hosts/x86-64linux.h (HAVE_PRPSINFO32_T): Undefine before 2451 define. 2452 (HAVE_PRSTATUS32_T): Likewise. 2453 24542010-04-10 H.J. Lu <hongjiu.lu@intel.com> 2455 2456 PR corefiles/11467 2457 * configure.in (CORE_HEADER): New. Set to hosts/x86-64linux.h 2458 for x86_64-*-linux*. 2459 * config.in: Regenerated. 2460 * configure: Likewise. 2461 2462 * elf.c: Include CORE_HEADER if it is defined. 2463 24642010-04-10 H.J. Lu <hongjiu.lu@intel.com> 2465 Jan Kratochvil <jan.kratochvil@redhat.com> 2466 2467 * hosts/x86-64linux.h: New. 2468 24692010-04-09 Nick Clifton <nickc@redhat.com> 2470 2471 * aoutx.h (aout_link_input_bfd): Remove unused variable sym_count. 2472 * elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Remove unused 2473 variables htab and hdr_info and mark info parameter as unused. 2474 * elf.c (prep_headers): Remove unused variable i_phdrp. 2475 (_bfd_elf_write_object_contents): Remove unused variable i_ehdrp. 2476 * elf32-i386.c (elf_i386_relocate_section): Mark variabled warned 2477 as unused. 2478 * peXXigen.c (pe_print_reloc): Remove unused variable datasize. 2479 * verilog.c (verilog_write_section): Remove unused variable 2480 address. 2481 24822010-04-07 Alan Modra <amodra@gmail.com> 2483 2484 * warning.m4 (GCC_WARN_CFLAGS): Only add -Wshadow for gcc-4 and above. 2485 * configure: Regenerate. 2486 24872010-04-06 H.J. Lu <hongjiu.lu@intel.com> 2488 2489 PR ld/11434 2490 * elf-bfd.h (SYMBOLIC_BIND): Don't bind unique symbol locally. 2491 24922010-04-06 Tristan Gingold <gingold@adacore.com> 2493 2494 * vms-lib.c (_bfd_vms_lib_write_archive_contents): Fix idd flags. 2495 24962010-04-05 Jakub Jelinek <jakub@redhat.com> 2497 2498 * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Handle CIE version 4 2499 provided that it has the expected address size and zero segment 2500 length. 2501 2502 * dwarf2.c (struct line_head): Add maximum_ops_per_insn field. 2503 (struct line_info): Add op_index field, change end_sequence type to 2504 unsigned char. 2505 (new_line_sorts_after): For the same address compare op_index. 2506 (add_line_info): Add op_index argument, store it into the structure. 2507 (decode_line_info): Complain about unknown versions of .debug_line. 2508 Initialize maximum_ops_per_insn. Add op_index state register and 2509 track it. 2510 25112010-04-01 Nathan Sidwell <nathan@codesourcery.com> 2512 2513 * elf32-ppc.c (apuinfo_set): New static var. 2514 (ppc_elf_begin_write_processing): Set it here, always create an 2515 APUinfo section if there were any in the inputs. 2516 (ppc_elf_write_section): Check apuinfo_set. 2517 (ppc_elf_final_write_processing): Likewise. 2518 25192010-04-01 Tristan Gingold <gingold@adacore.com> 2520 2521 * vms.h: Include time.h. Add prototypes for vms_get_module_name, 2522 vms_time_to_time_t and vms_rawtime_to_time_t. 2523 * vms.c (vms_alpha_vec): Add archives support. 2524 * vms-misc.c: Include safe-ctype.h 2525 (vms_get_module_name): New function. 2526 (vms_time_to_time_t, vms_rawtime_to_time_t): Ditto. 2527 * vms-hdr.c (_bfd_vms_write_hdr): Put module name creation to the 2528 vms_get_module_name function. Use this function. 2529 * targets.c: Declare vms_lib_txt_vec. Add it to _bfd_target_vector. 2530 * libbfd-in.h: Add prototype for _bfd_append_relative_path. 2531 Add prototypes for vms-lib.c 2532 * libbfd.h: Regenerate. 2533 * configure.in (TDEFINES): Add an entry for vms_lib_txt_vec. Add 2534 vms-lib.lo to vms_alpha_vec. 2535 * config.bfd (targ_cpu): Add targ_selvecs for alpha*-*-*vms*. 2536 * configure: Regenerate. 2537 * bfd.c: Add selective_search field. 2538 * bfd-in2.h: Regenerate. 2539 * archive.c (append_relative_path): Rename to 2540 _bfd_append_relative_path and make it public. 2541 (_bfd_get_elt_at_filepos): Adjust for above renaming. 2542 * Makefile.am (BFD32_BACKENDS): Add vms-lib.lo 2543 (BFD32_BACKENDS_CFILES): Add vms-lib.c 2544 * Makefile.in: Regenerate. 2545 25462010-04-01 Jakub Jelinek <jakub@redhat.com> 2547 2548 * dwarf2.c (read_attribute_value): Handle CU version 4 2549 for DW_FORM_ref_addr, handle DW_FORM_sec_offset, DW_FORM_exprloc 2550 and DW_FORM_flag_present. For unknown form value return NULL. 2551 (scan_unit_for_symbols): For DW_AT_location handle DW_FORM_exprloc 2552 like DW_FORM_block. 2553 (parse_comp_unit): Allow CU version 4. 2554 25552010-04-01 Hans-Peter Nilsson <hp@axis.com> 2556 2557 * elf32-cris.c (cris_elf_relocate_section): Correct first argument 2558 to _bfd_elf_get_dynamic_reloc_section. 2559 (elf_cris_discard_excess_dso_dynamics): Ditto. 2560 25612010-03-31 Kai Tietz <kai.tietz@onevision.com> 2562 2563 * coff-i386.c (in_reloc_p): Check also for R_SECREL32. 2564 * coff-x86_64.c (in_reloc_p): Check also for R_AMD64_SECREL. 2565 25662010-03-31 Alan Modra <amodra@gmail.com> 2567 2568 * elf64-ppc.c (ppc64_elf_relocate_section): Nop out optimized 2569 TPREL16_HI and TPREL16_HA insns. 2570 25712010-03-31 Hans-Peter Nilsson <hp@axis.com> 2572 2573 PR ld/11458 2574 * elf32-cris.c (elf_cris_copy_indirect_symbol): Remove invalid 2575 assert of empty pcrel_relocs_copied on the direct symbol. Instead 2576 of moving the list from the indirect symbol to the direct symbol, 2577 merge into any existing list. 2578 (cris_elf_check_relocs): Store the original section in the 2579 pcrel_relocs_copied list, not the relocation section. 2580 (elf_cris_discard_excess_dso_dynamics): Adjust accordingly to find 2581 the relocation section, for reducing its size. Change the 2582 BFD_ASSERT into a check for the section being read-only, and only 2583 emit warnings and TEXTREL marker when there's an entry for a 2584 read-only section. 2585 25862010-03-29 Daniel Jacobowitz <dan@codesourcery.com> 2587 2588 * elf32-arm.c (using_thumb_only): Handle v6-M. 2589 25902010-03-26 Alan Modra <amodra@gmail.com> 2591 2592 * elf32-ppc.c (ppc_elf_howto_raw <R_PPC_EMB_RELSDA>): Not pc-relative. 2593 * bfd-in.h (elf_discarded_section): Clarify comment. 2594 * reloc.c (struct reloc_howto_struct <pc_relative>): Likewise. 2595 * bfd-in2.h: Regenerate. 2596 25972010-03-26 Matt Rice <ratmice@gmail.com> 2598 2599 * archive.c (_bfd_compute_and_write_armap): Allow symbols flagged 2600 as unique in the armap. 2601 26022010-03-26 Alan Modra <amodra@gmail.com> 2603 2604 PR ld/11375 2605 * elf64-ppc.c (ppc64_elf_relocate_section): Always look up a 2606 possible stub on branches. 2607 26082010-03-25 Joseph Myers <joseph@codesourcery.com> 2609 2610 * Makefile.am (ALL_MACHINES): Add cpu-tic6x.lo. 2611 (ALL_MACHINES_CFILES): Add cpu-tic6x.c. 2612 (BFD32_BACKENDS): Add elf32-tic6x.lo. 2613 (BFD32_BACKENDS_CFILES): Add elf32-tic6x.c. 2614 * Makefile.in: Regenerate. 2615 * archures.c (bfd_arch_tic6x, bfd_tic6x_arch): New. 2616 (bfd_archures_list): Update. 2617 * config.bfd (tic6x-*-elf): New. 2618 * configure.in (bfd_elf32_tic6x_be_vec, bfd_elf32_tic6x_le_vec): 2619 New. 2620 * configure: Regenerate. 2621 * cpu-tic6x.c, elf32-tic6x.c: New. 2622 * reloc.c (BFD_RELOC_C6000_PCR_S21, BFD_RELOC_C6000_PCR_S12, 2623 BFD_RELOC_C6000_PCR_S10, BFD_RELOC_C6000_PCR_S7, 2624 BFD_RELOC_C6000_ABS_S16, BFD_RELOC_C6000_ABS_L16, 2625 BFD_RELOC_C6000_ABS_H16, BFD_RELOC_C6000_SBR_U15_B, 2626 BFD_RELOC_C6000_SBR_U15_H, BFD_RELOC_C6000_SBR_U15_W, 2627 BFD_RELOC_C6000_SBR_S16, BFD_RELOC_C6000_SBR_L16_B, 2628 BFD_RELOC_C6000_SBR_L16_H, BFD_RELOC_C6000_SBR_L16_W, 2629 BFD_RELOC_C6000_SBR_H16_B, BFD_RELOC_C6000_SBR_H16_H, 2630 BFD_RELOC_C6000_SBR_H16_W, BFD_RELOC_C6000_SBR_GOT_U15_W, 2631 BFD_RELOC_C6000_SBR_GOT_L16_W, BFD_RELOC_C6000_SBR_GOT_H16_W, 2632 BFD_RELOC_C6000_DSBT_INDEX, BFD_RELOC_C6000_PREL31, 2633 BFD_RELOC_C6000_COPY, BFD_RELOC_C6000_ALIGN, 2634 BFD_RELOC_C6000_FPHEAD, BFD_RELOC_C6000_NOCMP): New. 2635 * targets.c (bfd_elf32_tic6x_be_vec, bfd_elf32_tic6x_le_vec): New. 2636 (_bfd_target_vector): Update. 2637 * bfd-in2.h, libbfd.h: Regenerate. 2638 26392010-03-24 H.J. Lu <hongjiu.lu@intel.com> 2640 2641 * aout-target.h: Update copyright year. 2642 * aout-tic30.c: Likewise. 2643 * coff-alpha.c: Likewise. 2644 * coff-rs6000.c: Likewise. 2645 * coff64-rs6000.c: Likewise. 2646 * elf64-mips.c: Likewise. 2647 * ieee.c: Likewise. 2648 * libecoff.h: Likewise. 2649 * mach-o-target.c: Likewise. 2650 * mach-o.c: Likewise. 2651 * oasys.c: Likewise. 2652 * targets.c: Likewise. 2653 26542010-03-24 H.J. Lu <hongjiu.lu@intel.com> 2655 2656 * libbfd-in.h: Update copyright year. 2657 26582010-03-21 H.J. Lu <hongjiu.lu@intel.com> 2659 2660 PR ld/11413 2661 * elflink.c (_bfd_elf_add_default_symbol): Check !executable 2662 instead of shared. 2663 26642010-03-19 Jie Zhang <jie@codesourcery.com> 2665 2666 * elf32-arm.c (struct section_list): Remove. 2667 (section_list): Remove typedef. 2668 (record_section_with_arm_elf_section_data): Remove. 2669 (find_arm_elf_section_entry): Remove. 2670 (get_arm_elf_section_data): Use is_arm_elf. 2671 (unrecord_section_with_arm_elf_section_data): Remove. 2672 (elf32_arm_new_section_hook): Don't call 2673 record_section_with_arm_elf_section_data. 2674 (elf32_arm_write_section): Set mapcount to -1 when 2675 the map has been used. Don't call 2676 unrecord_section_with_arm_elf_section_data. 2677 (unrecord_section_via_map_over_sections): Remove. 2678 (elf32_arm_close_and_cleanup): Remove. 2679 (elf32_arm_bfd_free_cached_info): Remove. 2680 (bfd_elf32_close_and_cleanup): Don't define. 2681 (bfd_elf32_bfd_free_cached_info): Don't define. 2682 26832010-03-18 H.J. Lu <hongjiu.lu@intel.com> 2684 2685 PR binutils/11396 2686 * libcoff-in.h (pe_tdata): Add dont_strip_reloc. 2687 * libcoff.h: Regenerated. 2688 2689 * peXXigen.c (_bfd_XXi_only_swap_filehdr_out): Clear F_RELFLG 2690 if dont_strip_reloc is set. 2691 (_bfd_XX_bfd_copy_private_bfd_data_common): Set 2692 dont_strip_reloc on output if there is no .reloc and 2693 IMAGE_FILE_RELOCS_STRIPPED isn't set in input. 2694 26952010-03-18 Wei Guozhi <carrot@google.com> 2696 2697 PR gas/11323 2698 * elf32-arm.c (elf32_arm_reloc_map): Map BFD_RELOC_ARM_GOT_PREL to 2699 R_ARM_GOT_PREL. 2700 * reloc.c (BFD_RELOC_ARM_GOT_PREL): New ARM relocation. 2701 * bfd-in2.h: Regenerate. 2702 * libbfd.h: Regenerate. 2703 27042010-03-17 H.J. Lu <hongjiu.lu@intel.com> 2705 2706 * reloc.c (BFD_RELOC_SPU_PIC18): Removed. 2707 (BFD_RELOC_SPU_STUB): Likewise. 2708 27092010-03-17 Jie Zhang <jie@codesourcery.com> 2710 2711 * elf.c (assign_file_positions_for_load_sections): Avoid 2712 overflow. 2713 27142010-03-17 Alan Modra <amodra@gmail.com> 2715 2716 PR binutils/11382 2717 * plugin.c (bfd_plugin_object_p): Pass iostream to fileno using 2718 proper type. 2719 27202010-03-17 Alan Modra <amodra@gmail.com> 2721 2722 * elf32-arm.c (cortex_a8_erratum_scan): Warning fix. 2723 27242010-03-16 Alan Modra <amodra@gmail.com> 2725 2726 * elf64-ppc.c (struct ppc_link_hash_table): Add do_toc_opt. 2727 (ppc64_elf_edit_toc): Set it here. 2728 (ha_reloc_match): New function. 2729 (ppc64_elf_relocate_section): Optimize bigtoc insn sequences. 2730 27312010-03-15 Alan Modra <amodra@gmail.com> 2732 2733 * elf64-ppc.c (ppc64_elf_has_small_toc_reloc): New function. 2734 * elf64-ppc.h (ppc64_elf_has_small_toc_reloc): Declare. 2735 27362010-03-14 Alan Modra <amodra@gmail.com> 2737 2738 PR ld/11378 2739 * elf64-ppc.h (ppc64_elf_check_init_fini): Declare. 2740 * elf64-ppc.c (call_check_done): Define. 2741 (ppc64_elf_add_symbol_hook): Substitute bfd_get_section_name macro. 2742 (ppc64_elf_check_relocs, ppc64_elf_size_dynamic_sections): Likewise. 2743 (ppc64_elf_finish_multitoc_partition): Remove unnecessary check. 2744 (toc_adjusting_stub_needed): Use call_check_done rather than toc_off. 2745 Simplify return logic. Iterate over all .init and .fini fragments 2746 by recursion. Set makes_toc_func_call here.. 2747 (ppc64_elf_next_input_section): ..rather than here. 2748 (check_pasted_section, ppc64_elf_check_init_fini): New functions. 2749 27502010-03-13 Alan Modra <amodra@gmail.com> 2751 2752 PR ld/11375 2753 * elf64-ppc.c (ppc_type_of_stub): Always set *hash to the 2754 function descriptor symbol if there is one, not just for plt stubs. 2755 (ppc64_elf_relocate_section): Use fdh on all ppc_get_stub_entry calls. 2756 27572010-03-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2758 2759 * elflink.c (bfd_elf_size_dynamic_sections): Don't emit base 2760 version twice. 2761 Skip it when constructing def.vd_next. 2762 2763 * elf32-i386.c (TARGET_LITTLE_SYM): Redefine to 2764 bfd_elf32_i386_sol2_vec. 2765 (TARGET_LITTLE_NAME): Redefine to elf32-i386-sol2. 2766 (elf32_bed): Redefine to elf32_i386_sol2_bed. 2767 (elf_backend_want_plt_sym): Redefine to 1. 2768 2769 * elf64-x86-64.c (TARGET_LITTLE_SYM): Redefine to 2770 bfd_elf64_x86_64_sol2_vec. 2771 (TARGET_LITTLE_NAME): Redefine to elf64-x86-64-sol2. 2772 (elf64_bed): Redefine to elf64_x86_64_sol2_bed. 2773 (elf_backend_want_plt_sym): Redefine to 1. 2774 2775 * config.bfd (i[3-7]86-*-solaris2*): Set targ_defvec to 2776 bfd_elf32_i386_sol2_vec. 2777 Replace bfd_elf64_x86_64_vec by bfd_elf64_x86_64_sol2_vec in 2778 targ64_selvecs. 2779 (x86_64-*-solaris2*): Set targ_defvec to bfd_elf32_i386_sol2_vec. 2780 Replace bfd_elf64_x86_64_vec by bfd_elf64_x86_64_sol2_vec in 2781 targ_selvecs. 2782 2783 * configure.in: Handle bfd_elf32_i386_sol2_vec, 2784 bfd_elf64_x86_64_sol2_vec. 2785 * configure: Regenerate. 2786 2787 * targets.c (bfd_elf32_i386_sol2_vec): Declare. 2788 (bfd_elf64_x86_64_sol2_vec): Declare. 2789 (_bfd_target_vector): Add bfd_elf32_i386_sol2_vec, 2790 bfd_elf64_x86_64_sol2_vec. 2791 27922010-03-04 Daniel Jacobowitz <dan@codesourcery.com> 2793 2794 * elf32-arm.c (elf32_arm_output_arch_local_syms): Skip non-program 2795 sections. 2796 27972010-03-04 Alan Modra <amodra@gmail.com> 2798 2799 PR 11302 2800 * dwarf2.c (read_abbrevs): Return NULL on alloc failures. 2801 (read_attribute_value, decode_line_info): Likewise. 2802 (add_line_info, read_rangelist): Return FALSE on alloc failures. 2803 (arange_add, sort_line_sequences): Likewise. 2804 (find_abstract_instance_name): Handle failures from called funcs. 2805 (scan_unit_for_symbols, parse_comp_unit, decode_line_info): Likewise. 2806 (find_line): Realloc to a temp, and handle alloc fail. 2807 28082010-03-03 Daniel Jacobowitz <dan@codesourcery.com> 2809 2810 * elf32-arm.c (elf32_arm_output_arch_local_syms): Do not add 2811 a mapping symbol to an empty section. 2812 28132010-03-02 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> 2814 2815 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Add a check of the 2816 return value from the call to _bfd_elf_merge_object_attributes. 2817 28182010-03-02 Christophe Lyon <christophe.lyon@st.com> 2819 Alan Modra <amodra@gmail.com> 2820 2821 * elf32-arm.c (a8_erratum_fix): Add st_type field to record the 2822 destination mode of the a8 stub. 2823 (elf32_arm_link_hash_table): Add top_id field. 2824 (elf32_arm_link_hash_table_create): Initialize top_id. 2825 (arm_type_of_stub): Update prototype, st_type can now be updated 2826 by this function. Actual destination address in case of PLT is 2827 computed here, to help factorizing code. 2828 (elf32_arm_stub_name): Update prototype, use stub_type additional 2829 parameter to build stub name. 2830 (elf32_arm_get_stub_entry): Update prototype, use stub_type 2831 additional parameter to build stub entry. 2832 (arm_build_one_stub): Use bfd_put_16/bfd_put_32 instead of 2833 put_thumb_insn/put_arm_insn as BE8 encoding is now handled later. 2834 Call elf32_arm_final_link_relocate to process all in-stub 2835 relocations. 2836 (elf32_arm_setup_section_lists): Update top_id. 2837 (cortex_a8_erratum_scan): Record stub destination mode. 2838 (elf32_arm_size_stubs): Update call to arm_type_of_stub according 2839 to new prototype. 2840 (elf32_arm_final_link_relocate): Enable processing of in-stub 2841 REL32 relocations. Rely on arm_type_of_stub to detect if a stub is 2842 needed, enabling code factorization. 2843 (elf32_arm_final_link): Process stub sections. 2844 (elf32_arm_output_map_sym): Add entry to code/data map. 2845 28462010-03-01 David S. Miller <davem@davemloft.net> 2847 2848 * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): When STT_GNU_IFUNC and 2849 h->def_regular, set h->ref_regular. 2850 (allocate_dynrelocs): Only force output of STT_GNU_IFUNC plt entries 2851 and dynamic relocations if h->ref_regular. 2852 2853 * elfxx-sparc.c (struct elf_reloc_map): Delete. 2854 (sparc_reloc_map): Delete. 2855 (_bfd_sparc_elf_reloc_type_lookup): Explicitly handle each 2856 relocation type in switch statements. 2857 28582010-02-25 Alan Modra <amodra@gmail.com> 2859 2860 PR ld/11304 2861 * elf.c (_bfd_elf_init_private_section_data): Rename need_group 2862 to final_link and invert. For final link allow some flags to 2863 differ. Don't specially allow flags to be all zero. 2864 28652010-02-24 Alan Modra <amodra@gmail.com> 2866 2867 PR binutils/10858 2868 * elfxx-mips.c (mips_elf_create_dynamic_relocation): Ise 2869 SYMBOL_REFERENCES_LOCAL to exclude entries from the dynamic symbol 2870 table. 2871 28722010-02-23 Andrew Zabolotny <anpaza@mail.ru> 2873 2874 PR binutils/11297 2875 * elf32-avr.c (elf_avr_howto_table): Add R_AVR_8. 2876 (avr_reloc_map): Map BFD_RELOC_8 to R_AVR_8. 2877 28782010-02-22 Alan Modra <amodra@gmail.com> 2879 2880 * reloc.c (bfd_check_overflow): When forming addrmask, shift 2881 fieldmask left by rightshift. 2882 (_bfd_relocate_contents): Likewise. Use rightshift addrmask in all 2883 overflow checks. 2884 28852010-02-20 H.J. Lu <hongjiu.lu@intel.com> 2886 2887 * elf64-x86-64.c (elf64_x86_64_add_symbol_hook): Don't check 2888 STT_GNU_IFUNC on large common symbol. 2889 28902010-02-18 H.J. Lu <hongjiu.lu@intel.com> 2891 2892 * elf32-i386.c (elf_i386_add_symbol_hook): Don't set 2893 has_ifunc_symbols if the symbol comes from a shared library. 2894 * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise. 2895 * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise. 2896 * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise. 2897 * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise. 2898 * elf64-x86-64.c (elf64_x86_64_add_symbol_hook): Likewise. 2899 29002010-02-19 Alan Modra <amodra@gmail.com> 2901 2902 * elf.c (_bfd_elf_fixup_group_sections): New function, split out from.. 2903 (_bfd_elf_copy_private_header_data): ..here. 2904 * elflink.c (_bfd_elf_size_group_sections): New function. 2905 (bfd_elf_size_dynamic_sections): Call it. 2906 * elf-bfd.h (_bfd_elf_size_group_sections): Declare. 2907 (_bfd_elf_fixup_group_sections): Declare. 2908 29092010-02-18 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> 2910 2911 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Add support for 2912 merging Tag_DIV_use, Tag_MPextension_use, and 2913 Tag_MPextension_use_legacy tags. 2914 29152010-02-18 Alan Modra <amodra@gmail.com> 2916 2917 * elf.c (bfd_elf_set_group_contents): Revert accidental 2009-01-15 2918 commit. Don't write zeros for removed group members. 2919 (_bfd_elf_copy_private_header_data): Adjust size of group section 2920 when group members are removed by objcopy. 2921 29222010-02-15 Dave Korn <dave.korn.cygwin@gmail.com> 2923 2924 PR binutils/11280 2925 * configure.host (*-*-solaris2.11): Add host define to select 2926 valid default code page for windres/windmc on solaris. 2927 29282010-02-15 Nick Clifton <nickc@redhat.com> 2929 2930 * po/vi.po: Updated Vietnamese translation. 2931 29322010-02-12 Daniel Gutson <dgutson@codesourcery.com> 2933 2934 * elf32-arm.c (elf32_arm_output_arch_local_syms): add 2935 missing mapping symbol to data only sections. 2936 29372010-02-11 David S. Miller <davem@davemloft.net> 2938 2939 * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): For R_SPARC_GOTDATA_OP_HIX22 2940 and R_SPARC_GOTDATA_OP_LOX10, only bump the GOT refcount for global 2941 symbols. 2942 (_bfd_sparc_elf_gc_sweep_hook): Likewise only decrement the GOT count for 2943 these relocs on global symbols. 2944 (gdopoff): New. 2945 (_bfd_sparc_elf_relocate_section): Perform GOTDATA optimizations on 2946 local symbol references which are not STT_GNU_IFUNC. Handle 2947 relocation of them like R_SPARC_HIX22 and R_SPARC_LOX10 respectively, 2948 and deal with negative vs. non-negative values properly. 2949 29502010-02-09 Tristan Gingold <gingold@adacore.com> 2951 2952 * mach-o.c (bfd_mach_o_canonicalize_one_reloc): Adjust addend for 2953 non-external relocation. 2954 29552010-02-09 Alan Modra <amodra@gmail.com> 2956 2957 * elf64-ppc.c (merge_got_entries): Move earlier in file. 2958 (allocate_dynrelocs): Merge got entries here if not doing multi-toc. 2959 (ppc64_elf_size_dynamic_sections): Similarly merge tlsld_got. 2960 (ppc64_elf_layout_multitoc): Don't resize if we have already 2961 merged got entries. 2962 29632010-02-09 Michael Holzheu <holzheu@de.ibm.com> 2964 2965 * elf-bfd.h (elfcore_write_s390_timer, elfcore_write_s390_todcmp, 2966 elfcore_write_s390_todpreg, elfcore_write_s390_ctrs, 2967 elfcore_write_s390_prefix): New. 2968 * elf.c (elfcore_write_s390_timer, elfcore_write_s390_todcmp, 2969 elfcore_write_s390_todpreg, elfcore_write_s390_ctrs, 2970 elfcore_write_s390_prefix): New. 2971 (elfcore_grok_note): Handle NT_S390_TIMER, NT_S390_TODCMP, 2972 NT_S390_TODPREG, NT_S390_CTRS and NT_S390_PREFIX. 2973 (elfcore_write_register_note): Handle .reg-s390-timer, 2974 .reg-s390-todcmp, .reg-s390-todpreg, .reg-s390-ctrs, 2975 .reg-s390-prefix section. 2976 29772010-02-09 Alan Modra <amodra@gmail.com> 2978 2979 * elf64-ppc.c (struct got_entry): Make tls_type and is_indirect 2980 unsigned char. Update variables and code using them throughout file. 2981 (struct ppc_link_hash_entry): Likewise for tls_mask. 2982 2983 * elf64-ppc.c (ppc64_elf_layout_multitoc): Don't merge local got ents. 2984 2985 * elf64-ppc.c (has_small_toc_reloc): Don't define. 2986 (makes_toc_func_call, call_check_in_progress): Shuffle flags. 2987 (struct ppc64_elf_obj_tdata): Add has_small_toc_reloc. Update 2988 code setting the flag. 2989 (ppc64_elf_next_toc_section): Group big-toc sections in 2990 0x80008000 chunks. 2991 29922010-02-08 David S. Miller <davem@davemloft.net> 2993 2994 * elfxx-sparc.h (struct _bfd_sparc_elf_link_hash_table): Remove sgot, 2995 srelgot, splt, srelplt, and sgotplt members in favor of generic copies. 2996 2997 * elfxx-sparc.c (create_got_section): Delete. 2998 (_bfd_sparc_elf_create_dynamic_sections): Don't call, the dynamic 2999 section creator does that work for us. Use ->elf.foo instead of 3000 ->foo where applicable. 3001 (_bfd_sparc_elf_check_relocs): Use ->elf.foo instead of ->foo 3002 where applicable. 3003 (allocate_dynrelocs): Likewise. 3004 (_bfd_sparc_elf_size_dynamic_sections): Likewise. 3005 (_bfd_sparc_elf_relocate_section): Likewise. 3006 (sparc_vxworks_build_plt_entry): Likewise. 3007 (_bfd_sparc_elf_finish_dynamic_symbol): Likewise. 3008 (sparc_finish_dyn): Likewise. 3009 (sparc_vxworks_finish_exec_plt): Likewise. 3010 (sparc_vxworks_finish_shared_plt): Likewise. 3011 (_bfd_sparc_elf_finish_dynamic_sections): Likewise. 3012 3013 * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Use the SYMBOL_* 3014 macros for visibilty and locality checks. 3015 (_bfd_sparc_elf_adjust_dynamic_symbol): Likewise. 3016 (allocate_dynrelocs): Likewise. 3017 (_bfd_sparc_elf_relocate_section): Likewise. 3018 (_bfd_sparc_elf_finish_dynamic_symbol):Likewise. 3019 3020 * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_symbol): Remove set 3021 but never used local var 'dynobj'. 3022 3023 * elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol): Handle 3024 nocopyreloc. 3025 3026 * reloc.c (BFD_RELOC_SPARC_JMP_IREL): New. 3027 (BFD_RELOC_SPARC_IRELATIVE): Likewise. 3028 * bfd-in2.h: Regenerate. 3029 * libbfd.h: Regenerate. 3030 3031 * elfxx-sparc.h (_bfd_sparc_elf_link_hash_table): Add loc_hash_table 3032 and loc_hash_memory. 3033 (_bfd_sparc_elf_link_hash_table_free): Declare. 3034 * elf32-sparc.c (elf32_sparc_add_symbol_hook): New. 3035 (elf_backend_add_symbol_hook, elf_backend_post_process_headers, 3036 bfd_elf32_bfd_link_hash_table_free): Define. 3037 * elf64-sparc.c (elf64_sparc_add_symbol_hook): Set 3038 has_ifunc_symbols if STT_GNU_IFUNC. 3039 (bfd_elf64_bfd_link_hash_table_free): Define. 3040 (elf_backend_post_process_headers): Define always. 3041 * elfxx-sparc.c (sparc_jmp_irel_howto, sparc_irelative_howto): New. 3042 (sparc_reloc_map): Add entries for new IFUNC relocs. 3043 (_bfd_sparc_elf_reloc_type_lookup): Handle new IFUNC relocs. 3044 (_bfd_sparc_elf_info_to_howto_ptr): Likewise. 3045 (elf_sparc_local_htab_hash, elf_sparc_local_htab_eq, 3046 elf_sparc_get_local_sym_hash): New. 3047 (_bfd_sparc_elf_create_dynamic_sections): Move PLT ops initialization 3048 from here... 3049 (_bfd_sparc_elf_link_hash_table_create): ... to here. Allocate 3050 local hash table. 3051 (_bfd_sparc_elf_link_hash_table_free): New. 3052 (create_ifunc_sections): New. 3053 (_bfd_sparc_elf_check_relocs): Unconditionally assign htab->elf.dynobj 3054 and call create_ifunc_sections(). For local STT_GNU_IFUNC symbols 3055 cons up a fake local hash table entry for it. Unconditionally add 3056 a PLT refcount for STT_GNU_IFUNC symbols when h->def_regular. Count 3057 dyn relocs for ifunc. 3058 (_bfd_sparc_elf_adjust_dynamic_symbol): Handle ifunc. 3059 (allocate_dynrelocs): Unconditionally emit a PLT entry when 3060 STT_GNU_IFUNC and h->def_regular. Count GOT dyn relocs for ifunc. 3061 (allocate_local_dynrelocs): New function. 3062 (_bfd_sparc_elf_size_dynamic_sections): Invoke it over the local hash 3063 table. Emit dynamic relocs to irelplt when not shared. Treat iplt 3064 like splt. 3065 (_bfd_sparc_elf_relocate_section): Handle ifunc relocations by hand. 3066 (_bfd_sparc_elf_finish_dynamic_symbol): Adjust for non-dynamic ifunc 3067 plt in iplt/irelplt. 3068 30692010-02-08 Richard Sandiford <r.sandiford@uk.ibm.com> 3070 3071 * xcofflink.c (_bfd_xcoff_bfd_final_link): When calculating 3072 max_contents_size, only consider sections whose contents must 3073 be swapped in. 3074 30752010-02-09 Alan Modra <amodra@gmail.com> 3076 3077 * elf64-ppc.c (allocate_dynrelocs): Remove unused got structs here.. 3078 (ppc64_elf_size_dynamic_sections): ..and here.. 3079 (merge_got_entries): ..rather than here. 3080 30812010-02-09 Alan Modra <amodra@gmail.com> 3082 3083 * elf64-ppc.c (struct ppc_link_hash_table): Add do_multi_toc. 3084 (has_small_toc_reloc): Define. 3085 (ppc64_elf_check_relocs): Set the above flags. 3086 (ppc64_elf_edit_opd): Delete obfd param. 3087 (ppc64_elf_tls_optimize): Likewise. 3088 (ppc64_elf_edit_toc): Likewise. 3089 (ppc64_elf_tls_setup): Likewise. Add no_multi_toc param. 3090 * elf64-ppc.h: Update prototypes. 3091 30922010-02-08 Alan Modra <amodra@gmail.com> 3093 3094 * section.c (struct bfd_section): Delete has_tls_reloc, 3095 has_tls_get_addr_call, has_gp_reloc, need_finalize_relax, reloc_done. 3096 Add sec_flg0 thru sec_flg5. 3097 (BFD_FAKE_SECTION): Update for changed flags. 3098 * ecoff.c (bfd_debug_section): Likewise. 3099 * elf32-ppc.c (has_tls_reloc, has_tls_get_addr_call): Define. 3100 * elf64-ppc.c (has_tls_reloc, has_tls_get_addr_call): Define. 3101 (has_toc_reloc, makes_toc_func_call, call_check_in_progress): Update. 3102 * elf32-xtensa.c (reloc_done): Define. 3103 * elfxx-ia64.c (skip_relax_pass_0, skip_relax_pass_1): Update. 3104 * bfd-in2.h: Regenerate. 3105 31062010-02-08 Tristan Gingold <gingold@adacore.com> 3107 3108 * mach-o.c (bfd_mach_o_canonicalize_one_reloc): Set reloc.r_extern 3109 for non-scattered relocations. 3110 31112010-02-08 Nathan Sidwell <nathan@codesourcery.com> 3112 3113 * elf32-ppc.c (ppc_elf_begin_write_processing): Allow empty 3114 apuinfo sections, only scan input sections once and reuse the 3115 buffer. 3116 31172010-02-08 Philipp Tomsich <philipp.tomsich@theobroma-systems.com> 3118 3119 * archures.c (bfd_mach_ppc_titan): Define. 3120 * bfd-in2.h: Regenerate. 3121 * cpu-powerpc.c (bfd_powerpc_archs): Add titan entry. 3122 31232010-02-08 Alan Modra <amodra@gmail.com> 3124 3125 * elf32-ppc.c (ppc_elf_check_relocs): Remove dead ifunc code. 3126 31272010-02-05 Sterling Augustine <sterling@tensilica.com> 3128 3129 * elf.c (assign_file_positions_for_load_sections) Update lma of 3130 section if necessary. Fixes Bugzilla 11219. 3131 31322010-02-05 H.J. Lu <hongjiu.lu@intel.com> 3133 3134 * elf32-i386.c: Remove trailing white spaces. 3135 * elf64-x86-64.c: Likewise. 3136 31372010-02-03 Nick Clifton <nickc@redhat.com> 3138 3139 * elf-bfd.h (emum elf_object_id): Rename to elf_target_id. Add 3140 entries for other architectures. 3141 (struct elf_link_hash_table): Add hash_table_id field. 3142 (elf_hash_table_id): New accessor macro. 3143 * elflink.c (_bfd_elf_link_hash_table_init): Add target_id 3144 parameter. 3145 * elf-m10300.c (elf32_mn10300_hash_table): Check table id before 3146 returning cast pointer. 3147 (elf32_mn10300_link_hash_table_create): Identify new table as 3148 containing MN10300 extensions. 3149 (mn10300_elf_relax_section): Check pointer returned by 3150 elf32_mn10300_hash_table. 3151 * elf32-arm.c: Likewise, except using ARM extensions. 3152 * elf32-avr.c: Likewise, except using AVR extensions. 3153 * elf32-bfin.c: Likewise, except using BFIN extensions. 3154 * elf32-cris.c: Likewise, except using CRIS extensions. 3155 * elf32-frv.c: Likewise, except using FRV extensions. 3156 * elf32-hppa.c: Likewise, except using HPPA32 extensions. 3157 * elf32-i386.c: Likewise, except using I386 extensions. 3158 * elf32-lm32.c: Likewise, except using LM32 extensions. 3159 * elf32-m32r.c: Likewise, except using M32RM extensions. 3160 * elf32-m68hc11.c: Likewise, except using M68HC11 extensions. 3161 * elf32-m68hc1x.c: Likewise, except using M68HC11 extensions. 3162 * elf32-m68hc1x.h: Likewise, except using M68HC11 extensions. 3163 * elf32-m68k.c: Likewise, except using M68K extensions. 3164 * elf32-microblaze.c: Likewise, except using MICROBLAZE extensions. 3165 * elf32-ppc.c: Likewise, except using PPC32 extensions. 3166 * elf32-s390.c: Likewise, except using S390 extensions. 3167 * elf32-sh.c: Likewise, except using SH extensions. 3168 * elf32-spu.c: Likewise, except using SPU extensions. 3169 * elf32-xtensa.c: Likewise, except using XTENSA extensions. 3170 * elf64-alpha.c: Likewise, except using ALPHA extensions. 3171 * elf64-hppa.c: Likewise, except using HPPA64 extensions. 3172 * elf64-ppc.c: Likewise, except using PPC64 extensions. 3173 * elf64-s390.c: Likewise, except using S390 extensions. 3174 * elf64-x86-64.c: Likewise, except using X86_64 extensions. 3175 * elfxx-ia64.c: Likewise, except using IA64 extensions. 3176 * elfxx-mips.c: Likewise, except using MIPS extensions. 3177 * elfxx-sparc.c: Likewise, except using SPARC extensions. 3178 * elfxx-sparc.h: Likewise, except using SPARC extensions. 3179 * elf32-cr16.c (struct elf32_cr16_link_hash_table): Delete 3180 redundant structure. 3181 (elf32_cr16_hash_table): Delete unused macro. 3182 (elf32_cr16_link_hash_traverse): Delete unused macro. 3183 * elf32-score.c: Likewise. 3184 * elf32-score7.c: Likewise. 3185 * elf32-vax.c: Likewise. 3186 * elf64-sh64.c: Likewise. 3187 31882010-02-03 Alan Modra <amodra@gmail.com> 3189 3190 * elf64-ppc.c (struct plt_entry): Move earlier in file. 3191 (struct got_entry): Likewise. Add is_indirect and got.ent fields. 3192 (struct ppc64_elf_obj_tdata): Change tlsld_got to be a struct got_entry. 3193 Update all uses. 3194 (struct ppc_link_hash_table): Add got_reli_size and second_toc_pass. 3195 Remove no_multi_toc. 3196 (update_local_sym_info, ppc64_elf_check_relocs): Clear is_indirect 3197 when allocating a new struct got_entry. 3198 (allocate_got): New function, extracted from.. 3199 (allocate_dynrelocs): ..here. Abort on got entry in non-ppc64 bfd. 3200 (ppc64_elf_size_dynamic_sections): Track got relocs allocated in 3201 .reliplt by got_reli_size. Set owner on ppc64_tlsld_got entries. 3202 (ppc64_elf_setup_section_lists): Remove output_bfd param and 3203 no_multi_toc, add add_stub_section and layout_sections_again. Stash 3204 new params in htab. Extract some code to.. 3205 (ppc64_elf_start_multitoc_partition): ..here. New function. 3206 (ppc64_elf_next_toc_section): Check for linker script errors. Handle 3207 second pass toc scan. 3208 (merge_got_entries, merge_global_got, reallocate_got): New functions. 3209 (ppc64_elf_reinit_toc): Rename to.. 3210 (ppc64_elf_finish_multitoc_partition): ..this. 3211 (ppc64_elf_layout_multitoc): New function. 3212 (ppc64_elf_size_stubs): Delete output_bfd, add_stub_section and 3213 layout_sections_again params. 3214 (ppc64_elf_relocate_section): Handle indirect got entries. 3215 * elf64-ppc.h: Update prototypes. Declare new functions. 3216 32172010-02-02 H.J. Lu <hongjiu.lu@intel.com> 3218 3219 * elf-bfd.h (elfcore_write_xstatereg): New. 3220 3221 * elf.c (elfcore_grok_xstatereg): New. 3222 (elfcore_write_xstatereg): Likewise. 3223 (elfcore_grok_note): Handle NT_X86_XSTATE. 3224 (elfcore_write_register_note): Handle .reg-xstate section. 3225 32262010-02-01 Tristan Gingold <gingold@adacore.com> 3227 3228 * som.c (som_write_ar_hdr): Define this macro. 3229 32302010-01-30 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 3231 3232 * elf32-hppa.c (final_link_relocate): Convert R_PARISC_TLS_GD21L, 3233 R_PARISC_TLS_LDM21L and R_PARISC_TLS_IE21L relocations that use the 3234 linkage table pointer to use the global table pointer if not doing 3235 a shared link. 3236 32372010-01-29 Joel Brobecker <brobecker@adacore.com> 3238 3239 * elf.c (elfcore_grok_lwpstatus): Do not overwrite the core signal 3240 if it has already been set. 3241 32422010-01-27 Tristan Gingold <gingold@adacore.com> 3243 3244 * vms.h: Remove trailing spaces. 3245 (struct hdr_struct): Remove unused hdr_c_cpr field. 3246 (enum file_format_enum): Add comments. 3247 * vms.c (vms_bfd_print_private_bfd_data): New function that 3248 replaces the macro. 3249 Remove trailing spaces. 3250 * vms-misc.c: Improve comments. 3251 (_bfd_vms_get_object_record): Also handle files without pads. 3252 * vms-hdr.c (_bfd_vms_write_dbg): Fix format string. 3253 * vms-gsd.c (struct flagdescstruct): Make name field const. 3254 (gsyflagdesc): Fix typo. 3255 32562010-01-27 Alan Modra <amodra@gmail.com> 3257 3258 PR ld/11217 3259 * elf64-ppc.c (struct ppc_link_hash_table): Add toc_bfd, toc_first_sec. 3260 (ppc64_elf_setup_section_lists): Init them. 3261 (ppc64_elf_next_toc_section): Don't partition multi-toc between .got 3262 and .toc on the same input file. 3263 (ppc64_elf_relocate_section): Correct GOT entry offset. 3264 32652010-01-26 Tristan Gingold <gingold@adacore.com> 3266 3267 * targets.c (BFD_JUMP_TABLE_ARCHIVE): Add initializer for write_ar_hdr. 3268 (bfd_target): Add _bfd_write_ar_hdr_fn field. 3269 * archive.c (is_bsd44_extended_name): New macro. 3270 (_bfd_generic_read_ar_hdr_mag): Use it. Add extra_size. 3271 (bfd_slurp_armap): Also check for "__.SYMDEF" as a BSD4.4 extended 3272 name. 3273 (_bfd_archive_bsd44_construct_extended_name_table): New function. 3274 (_bfd_generic_write_ar_hdr): Ditto. 3275 (_bfd_bsd44_write_ar_hdr): Ditto. 3276 (_bfd_write_archive_contents): Call _bfd_write_ar_hdr. 3277 (bsd_write_armap): Adjust firstreal computation. 3278 * libbfd-in.h (struct areltdata): Add extra_size field. 3279 (_bfd_generic_write_ar_hdr): Add prototype. 3280 (_bfd_bsd44_write_ar_hdr): Ditto. 3281 (_bfd_write_ar_hdr): Define. 3282 (_bfd_noarchive_write_ar_hdr): Ditto. 3283 (_bfd_archive_bsd_write_ar_hdr): Ditto. 3284 (_bfd_archive_coff_write_ar_hdr): Ditto. 3285 (_bfd_archive_bsd44_slurp_armap): Ditto. 3286 (_bfd_archive_bsd44_slurp_extended_name_table): Ditto. 3287 (_bfd_archive_bsd44_construct_extended_name_table): New prototype. 3288 (_bfd_archive_bsd44_truncate_arname): Ditto. 3289 (_bfd_archive_bsd44_write_armap): Ditto. 3290 (_bfd_archive_bsd44_read_ar_hdr): Ditto. 3291 (_bfd_archive_bsd44_write_ar_hdr): Ditto. 3292 (_bfd_archive_bsd44_openr_next_archived_file): Ditto. 3293 (_bfd_archive_bsd44_get_elt_at_index): Ditto. 3294 (_bfd_archive_bsd44_generic_stat_arch_elt): Ditto. 3295 (_bfd_archive_bsd44_update_armap_timestamp): Ditto. 3296 * libbfd.h: Regenerate. 3297 * oasys.c (oasys_write_ar_hdr): Define. 3298 * libecoff.h (_bfd_ecoff_write_ar_hdr): Define. 3299 * ieee.c (ieee_write_ar_hdr): Define. 3300 * elf64-mips.c (bfd_elf64_archive_write_ar_hdr): Define. 3301 * coff-rs6000.c (rs6000coff_vec): Adjust for write_ar_hdr field. 3302 (bfd_pmac_xcoff_backend_data): Ditto. 3303 * coff64-rs6000.c (rs6000coff64_vec): Ditto. 3304 (bfd_xcoff_aix5_backend_data): Ditto. 3305 * coff-alpha.c (alpha_ecoff_write_ar_hdr): Define. 3306 * aout-target.h (MY_write_ar_hdr): Define it if not defined. 3307 * aout-tic30.c (MY_write_ar_hdr): Ditto. 3308 * mach-o-target.c (TARGET_NAME): Use _bfd_archive_bsd44 archive. 3309 (bfd_mach_o_mkarchive, bfd_mach_o_read_ar_hdr) 3310 (bfd_mach_o_slurp_armap, bfd_mach_o_slurp_extended_name_table) 3311 (bfd_mach_o_construct_extended_name_table) 3312 (bfd_mach_o_truncate_arname, bfd_mach_o_write_armap) 3313 (bfd_mach_o_get_elt_at_index, bfd_mach_o_generic_stat_arch_elt) 3314 (bfd_mach_o_update_armap_timestamp): Moved to mach-o.c 3315 * mach-o.c (bfd_mach_o_mkarchive, bfd_mach_o_read_ar_hdr) 3316 (bfd_mach_o_slurp_armap, bfd_mach_o_slurp_extended_name_table) 3317 (bfd_mach_o_construct_extended_name_table) 3318 (bfd_mach_o_truncate_arname, bfd_mach_o_write_armap) 3319 (bfd_mach_o_get_elt_at_index, bfd_mach_o_generic_stat_arch_elt) 3320 (bfd_mach_o_update_armap_timestamp): Moved from mach-o-target.c 3321 * bfd-in2.h: Regenerate. 3322 33232010-01-26 Alan Modra <amodra@gmail.com> 3324 H.J. Lu <hongjiu.lu@intel.com> 3325 3326 PR ld/11218 3327 * elflink.c (elf_link_output_extsym): Do not ignore undefined 3328 symbols with ref_regular set when gc_sections is active. 3329 33302010-01-25 Alan Modra <amodra@gmail.com> 3331 3332 PR ld/11217 3333 * elf64-ppc.c (ppc64_elf_tls_optimize): Optimize tls sequences 3334 with relocations against undefined weak symbols. 3335 (ppc64_elf_relocate_section): Don't optimize calls to undefined 3336 weak functions if the symbol is dynamic. 3337 (ppc64_elf_relocate_section): Edit tprel tls sequences. 3338 * elf32-ppc.c (ppc_elf_relocate_section): Likewise. 3339 (_bfd_elf_ppc_at_tprel_transform): New function. 3340 * bfd-in.h (_bfd_elf_ppc_at_tprel_transform): Declare. 3341 * bfd-in2.h: Regenerate. 3342 33432010-01-23 Richard Sandiford <r.sandiford@uk.ibm.com> 3344 3345 * coff-rs6000.c (xcoff_howto_table): Change size to 0 and bitsize to 1. 3346 (_bfd_xcoff_reloc_type_lookup): Handle BFD_RELOC_NONE. 3347 * coff64-rs6000.c (xcoff64_howto_table): Change size to 0 and 3348 bitsize to 1. 3349 (xcoff64_reloc_type_lookup): Handle BFD_RELOC_NONE. 3350 33512010-01-21 Nick Clifton <nickc@redhat.com> 3352 3353 * elflink.c (elf_link_add_object_symbols): Look up name of 3354 undefined symbol both before and after versioning has been 3355 applied. Do not bother with symbols that are weakly undefined. 3356 33572010-01-21 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 3358 3359 * elf32-s390.c (elf32_s390_merge_private_bfd_data): New function. 3360 (bfd_elf32_bfd_merge_private_bfd_data): New macro definition. 3361 33622010-01-19 Cary Coutant <ccoutant@google.com> 3363 3364 * dwarf2.c (read_attribute_value): Add DW_FORM_ref_sig8. 3365 33662010-01-19 Daisuke Hatayama <d.hatayama@jp.fujitsu.com> 3367 Alan Modra <amodra@gmail.com> 3368 3369 * elfcode.h (elf_swap_ehdr_out): Handle e_phnum > 0xffff. 3370 (elf_object_p): Read e_phnum extension. 3371 (elf_write_shdrs_and_ehdr): Write e_phnum extension. 3372 * elfcore.h (elf_core_file_p): Read e_phnum extension. Sanity check 3373 that we can read last program header. 3374 33752010-01-19 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> 3376 3377 * elf32-arm.c (elf32_arm_howto_table_1): Correct bitsize of 3378 R_ARM_THM_CALL entry. 3379 (elf32_arm_final_link_relocate): Correct calculation of 3380 reloc_signed_max when doing a R_ARM_THM_CALL, R_ARM_THM_XPC22, 3381 or R_ARM_THM_JUMP24 relocation. 3382 33832010-01-18 Alan Modra <amodra@gmail.com> 3384 3385 PR 11168 3386 * coffcode.h (coff_compute_section_file_positions): Move Rs6000COFF_C 3387 block past vars in COFF_IMAGE_WITH_PE block. Report error on more 3388 than 32k sections. 3389 33902010-01-15 Jan Kratochvil <jan.kratochvil@redhat.com> 3391 3392 Fix compilation warning on gcc-3.4. 3393 * vms-tir.c (start_etir_record, sto_imm): Rename the prototype 3394 parameter index to sec_index according to the function definition. 3395 33962010-01-13 Chao-ying Fu <fu@mips.com> 3397 3398 * elfxx-mips.c (JR_TO_B_P): New define to transform JR to B. 3399 It is true for all CPUs. 3400 (jal_reloc_p): New function. 3401 (mips_elf_calculate_relocation): Rename require_jalxp to 3402 cross_mode_jump_p. 3403 Update comment for CROSS_MODE_JUMP_P. 3404 Set up cross_mode_jump_p based on the mode change. 3405 (mips_elf_perform_relocation): Rename require_jalx to cross_mode_jump_p. 3406 Update comment for CROSS_MODE_JUMP_P. 3407 Test cross_mode_jump_p and jal_reloc_p to turn jal to jalx. 3408 Use !cross_mode_jump_p to guard conversion. 3409 Convert "jr t9" to "b", if possible. 3410 (_bfd_mips_elf_relocate_section): Rename require_jalx to 3411 cross_mode_jump_p. 3412 Pass &cross_mode_jump_p to call mips_elf_calculate_relocation. 3413 Pass cross_mode_jump_p to call mips_elf_perform_relocation. 3414 34152010-01-13 Nick Clifton <nickc@redhat.com> 3416 3417 * cpu-m32c.c (m32c_scan): New function. Ensures that a scan for 3418 "m32c" returns the m32c arch_info_struct and not the m16c 3419 arch_info_struct. 3420 (arch_info_struct): Use the new scan function. 3421 (bfd_m32c_arch): Likewise. 3422 34232010-01-13 Tristan Gingold <gingold@adacore.com> 3424 3425 * config.bfd: Remove duplicated target vector for i386-*-darwin. 3426 Appends new arch instead of overriding. 3427 Use mach_o_x86_64_vec for x86_64-*-darwin. 3428 * configure.in: Add mach_o_x86_64_vec. 3429 * configure: Regenerate. 3430 * targets.c: Declare mach_o_x86_64_vec, add it to _bfd_target_vector. 3431 * Makefile.am (BFD64_BACKENDS): Add mach-o-x86-64.lo 3432 (BFD64_BACKENDS_CFILES): Add mach-o-x86-64.c 3433 * Makefile.in: Regenerate. 3434 * mach-o-x86-64.c: New file. 3435 34362010-01-13 Tristan Gingold <gingold@adacore.com> 3437 3438 * reloc.c: Add MACH_O_X86_64 relocations. 3439 * bfd-in2.h: Regenerate. 3440 * libbfd.h: Regenerate. 3441 34422010-01-13 Tristan Gingold <gingold@adacore.com> 3443 3444 * archive.c (normalize): Use lbasename. 3445 (bfd_bsd_truncate_arname): Ditto. 3446 (bfd_gnu_truncate_arname): Ditto. 3447 34482010-01-12 Tristan Gingold <gingold@adacore.com> 3449 3450 * makefile.vms (CFLAGS): Turns warnings into informational messages. 3451 34522010-01-11 Tristan Gingold <gingold@adacore.com> 3453 3454 * mach-o.h: Add x86-64 relocation types. 3455 34562010-01-11 Tristan Gingold <gingold@adacore.com> 3457 3458 * mach-o.h (bfd_mach_o_backend_data): Add arch field. 3459 (bfd_mach_o_set_arch_mach): New prototype. 3460 * mach-o.c (bfd_mach_o_mkobject): Define with bfd_mach_o_gen_mkobject. 3461 (bfd_mach_o_set_arch_mach): New function. 3462 (bfd_mach_o_gen_mkobject): New function. 3463 Set TARGET_ARCHITECTURE for the generic back-ends. 3464 * mach-o-target.c (bfd_mach_o_set_arch_mach): Remove define. 3465 Check that TARGET_ARCHITECTURE is defined. 3466 Add TARGET_ARCHITECTURE in TARGET_NAME_BACKEND structure. 3467 * mach-o-i386.c (TARGET_ARCHITECTURE): Define. 3468 34692010-01-11 Tristan Gingold <gingold@adacore.com> 3470 3471 * archive.c (bfd_slurp_armap): Also check for Mach-O sorted armap. 3472 34732010-01-11 Nick Clifton <nickc@redhat.com> 3474 3475 * elf32-v850.c (v850_elf_perform_relocation): Fix overflow 3476 handling of R_V850_HI16_S relocation. 3477 34782010-01-11 Alan Modra <amodra@gmail.com> 3479 3480 PR 11103 3481 * dwarf1.c (parse_die): Correct FORM_STRING data pointer increment. 3482 34832010-01-11 Alan Modra <amodra@gmail.com> 3484 3485 PR 6832 3486 * dwarf2.c (struct comp_unit): Add sec_info_ptr. 3487 (find_abstract_instance_name): Use it. 3488 (parse_comp_unit): Set it. 3489 34902010-01-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 3491 3492 * Makefile.in: Regenerate. 3493 * configure: Regenerate. 3494 34952010-01-08 Tristan Gingold <gingold@adacore.com> 3496 3497 * archive.c: Remove bfd_special_undocumented_glue. 3498 34992010-01-08 Alan Modra <amodra@gmail.com> 3500 3501 PR ld/11133 3502 * elf32-cr16.c (elf32_cr16_gc_mark_hook): Call _bfd_elf_gc_mark_hook. 3503 * elf32-microblaze.c (microblaze_elf_gc_mark_hook): Likewise. 3504 * elf64-ppc.c (ppc64_elf_gc_mark_hook): Likewise. 3505 35062010-01-07 H.J. Lu <hongjiu.lu@intel.com> 3507 3508 PR ld/11138 3509 * elflink.c (elf_link_check_versioned_symbol): Don't abort if 3510 a symbol referenced by DSO is is defined in a non-shared object 3511 and forced local. 3512 35132010-01-07 H.J. Lu <hongjiu.lu@intel.com> 3514 3515 PR ld/11133 3516 * elflink.c (_bfd_elf_gc_mark_hook): Check section XXX for 3517 undefined __start_XXX/__stop_XXX in all input files and set 3518 SEC_KEEP. 3519 35202010-01-07 H.J. Lu <hongjiu.lu@intel.com> 3521 3522 PR ld/11143 3523 * elflink.c (elf_gc_sweep): Keep SHT_NOTE section. 3524 35252010-01-04 Daniel Gutson <dgutson@codesourcery.com> 3526 3527 * bfd.m4 (BFD_HAVE_SYS_PROCFS_TYPE): Define _STRUCTURE_PROC 3528 before including procfs.h. 3529 (BFD_HAVE_SYS_PROCFS_TYPE_MEMBER): Likewise. 3530 * configure.in: Added autoconf probe for the pr_fpreg member. 3531 * configure: Regenerated. 3532 * config.in: Regenerated. 3533 * elf.c: Define _STRUCTURE_PROC before including procfs.h. 3534 35352010-01-04 Joel Brobecker <brobecker@adacore.com> 3536 3537 Fix -Wshadow warnings in dwarf2.c (seen on alpha-tru64). 3538 * dwarf2.c (concat_filename): Rename dirname with dir_name 3539 to void shadowing the dirname function. 3540 Rename subdirname with subdir_name to stay consistent with 3541 the new dir_name variable name. 3542 35432010-01-04 Edmar Wienskoski <edmar@freescale.com> 3544 3545 * archures.c: Add bfd_mach_ppc_e500mc64. 3546 * bfd-in2.h: Regenerate. 3547 * cpu-powerpc.c (bfd_powerpc_archs): Add entry for 3548 bfd_mach_ppc_e500mc64. 3549 35502010-01-01 Joel Brobecker <brobecker@adacore.com> 3551 3552 Fix -Wshadow warnings (seen on ppc-aix) 3553 * xcofflink.c: Replace finfo by flinfo throughout. 3554 3555For older changes see ChangeLog-2009 3556 3557Copyright (C) 2010 Free Software Foundation, Inc. 3558 3559Copying and distribution of this file, with or without modification, 3560are permitted in any medium without royalty provided the copyright 3561notice and this notice are preserved. 3562 3563Local Variables: 3564mode: change-log 3565left-margin: 8 3566fill-column: 74 3567version-control: never 3568End: 3569