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 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 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 3557Local Variables: 3558mode: change-log 3559left-margin: 8 3560fill-column: 74 3561version-control: never 3562End: 3563