12011-12-11 John Davis Anglin <dave.anglin@nrc-cnrc.gc.ca> 2 3 PR binutils/13476 4 * elf32-hppa.c (final_link_relocate): Convert R_PARISC_TLS_GD21L, 5 R_PARISC_TLS_LDM21L and R_PARISC_TLS_IE21L relocations to 6 R_PARISC_DPREL21L when not doing a shared link. Likewise convert 7 R_PARISC_TLS_GD14R, R_PARISC_TLS_LDM14R and R_PARISC_TLS_IE14R to 8 R_PARISC_DPREL14R. Handle R_PARISC_TLS_GD21L, R_PARISC_TLS_LDM21L 9 and R_PARISC_TLS_IE21L with R_PARISC_DLTIND21L. 10 112011-06-27 Tristan Gingold <gingold@adacore.com> 12 13 * configure.in: Bump version to 2.21.1 14 * Makefile.am (RELEASE): Set. 15 * configure, Makefile.in: Regenerate. 16 172011-06-24 Alan Modra <amodra@gmail.com> 18 19 PR ld/12921 20 * elf.c (assign_file_positions_for_load_sections): Don't align 21 sh_offset for all SHT_NOBITS sections here, just .tbss sections 22 that don't get a PT_LOAD. 23 242011-06-22 Alan Modra <amodra@gmail.com> 25 26 * elflink.c (_bfd_elf_merge_symbol): Allow type changes for 27 plugin symbols. Fix segfault on linker scrip defined syms. 28 292011-05-29 Alan Modra <amodra@gmail.com> 30 31 Apply from mainline 32 2011-05-26 Alan Modra <amodra@gmail.com> 33 * elf-bfd.h (SYMBOL_REFERENCES_LOCAL): Remove most of comment. 34 * elflink.c (_bfd_elf_symbol_refs_local_p): Expand 35 local_protected comment. 36 37 2011-05-23 Alan Modra <amodra@gmail.com> 38 PR 12763 39 * elf.c (assign_file_positions_for_load_sections): Set sh_offset for 40 .tbss, and page align same for all SHT_NOBITS sections. 41 42 2011-05-23 Nick Clifton <nickc@redhat.com> 43 * elf-m10300.c (mn10300_elf_mkobject): New function. 44 (bfd_elf32_mkobject): Define. 45 46 2011-05-21 Alan Modra <amodra@gmail.com> 47 PR 12763 48 * elf.c (_bfd_elf_make_section_from_shdr): Set up TLS section LMAs 49 from PT_TLS header. 50 (_bfd_elf_map_sections_to_segments): Don't create a final PT_LOAD 51 segment if just for .tbss. 52 (assign_file_positions_for_load_sections): Don't report "can't 53 allocate in segment" errors for .tbss. 54 (assign_file_positions_for_non_load_sections): Don't set p_filesz 55 from SHT_NOBITS section filepos. 56 57 2011-05-17 Alan Modra <amodra@gmail.com> 58 PR ld/12760 59 * coff-aux.c (coff_m68k_aux_link_add_one_symbol): Adjust "notice" call. 60 * elflink.c (elf_link_add_object_symbols): Likewise. 61 * linker.c (_bfd_generic_link_add_one_symbol): Likewise. 62 63 2011-05-16 Alan Modra <amodra@gmail.com> 64 * linker.c (_bfd_generic_link_add_one_symbol): Don't init u.undef.weak. 65 66 2011-05-12 Jan Kratochvil <jan.kratochvil@redhat.com> 67 * config.in: Regenerated. 68 * configure: Regenerated. 69 * configure.in: New tests for HAVE_PRPSINFO_T_PR_PID, 70 HAVE_PRPSINFO32_T_PR_PID, HAVE_PSINFO_T_PR_PID and 71 HAVE_PSINFO32_T_PR_PID. 72 * elf.c (elfcore_grok_psinfo): Protect reading psinfo.pr_pid by 73 HAVE_PRPSINFO_T_PR_PID, HAVE_PRPSINFO32_T_PR_PID, HAVE_PSINFO_T_PR_PID 74 and HAVE_PSINFO32_T_PR_PID. 75 * hosts/x86-64linux.h (HAVE_PRPSINFO32_T_PR_PID): New redefinition. 76 77 2011-05-10 Jan Kratochvil <jan.kratochvil@redhat.com> 78 * elf.c (elfcore_grok_psinfo): Initialize CORE_PID for both native and 79 32bit psinfo. 80 * elf32-ppc.c (ppc_elf_grok_psinfo): Initialize core_pid. 81 * elf64-ppc.c (ppc64_elf_grok_psinfo): Likewise. 82 83 2011-05-07 Dave Korn <dave.korn.cygwin@gmail.com> 84 PR ld/12365 85 * cofflink.c (bfd_coff_link_input_bfd): Check for and warn about 86 references to symbols defined in discarded sections. 87 88 2011-05-07 Dave Korn <dave.korn.cygwin@gmail.com> 89 PR ld/12365 90 * coffgen.c (coff_write_symbol): Assume input section is its own 91 output section if output_section member not set. 92 (coff_write_alien_symbol): Likewise. 93 94 2011-05-07 Anders Kaseorg <andersk@ksplice.com> 95 PR 12739 96 * libbfd.c (bfd_get_8, bfd_get_signed_8): Use const cast. 97 * bfd-in2.h: Regenerate. 98 99 2011-04-28 Tom Tromey <tromey@redhat.com> 100 * bfdio.c (memory_bstat): Pass correct size to memset. 101 102 2011-04-20 Alan Modra <amodra@gmail.com> 103 * libbfd.c (bfd_log2): Do return rounded up value. 104 * elflink.c (bfd_elf_size_dynsym_hash_dynstr): Replace bfd_log2 105 call with expanded old round down version of the function. 106 * archive.c (_bfd_get_elt_at_filepos): Don't release n_nfd. 107 * elflink.c (elf_link_add_object_symbols): Delete redundant code. 108 109 2011-04-09 Kai Tietz <ktietz@redhat.com> 110 * peXXigen.c (_bfd_XXi_final_link_postscripte): Sort pdata in temporary 111 buffer and use rawsize for sorting. 112 * coffcode.h (coff_compute_section_file_positions): Set rawsize 113 before doing alignment. 114 115 2011-04-07 Cary Coutant <ccoutant@google.com> 116 * dwarf2.c (scan_unit_for_symbols): Check for DW_AT_specification. 117 118 2011-03-03 Michael Snyder <msnyder@vmware.com> 119 * aoutx.h (aout_final_link): Use sizeof int not sizeof int*. 120 (aout_link_write_other_symbol): Missing break statement. 121 122 2011-02-14 Mike Frysinger <vapier@gentoo.org> 123 * elflink.c (bfd_elf_size_dynamic_sections): Add 124 bfd_get_symbol_leading_char to the start of newname. 125 126 2011-01-18 Pierre Muller <muller@ics.u-strasbg.fr> 127 Fix compilation for mingw64. 128 * coffcode.h (coff_slurp_symbol_table): Add intptr_t intermediate 129 typecast to avoid warning. 130 * elf32-rx.c: Add "bfd_stdint.h" include required for int32_t type 131 usage. 132 * elfxx-ia64.c (elfNN_ia64_relax_br): Use intptr_t typeacast instead 133 of long for pointer to avoid warning. 134 (elfNN_ia64_relax_brl): Idem. 135 (elfNN_ia64_install_value): Idem. 136 * vms-alpha.c (_bfd_vms_slurp_etir): Idem. 137 1382012-05-25 H.J. Lu <hongjiu.lu@intel.com> 139 140 Backport from mainline 141 2012-01-06 H.J. Lu <hongjiu.lu@intel.com> 142 143 PR ld/12366 144 PR ld/12371 145 * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Properly 146 handle symbols marked with regular reference, but not non-GOT 147 reference when building shared library. 148 149 * elf32-i386.c (elf_i386_gc_sweep_hook): Properly handle 150 local and global STT_GNU_IFUNC symols when building shared 151 library. 152 * elf64-x86-64.c (elf_x86_64_gc_sweep_hook): Likewise. 153 1542011-05-23 DJ Delorie <dj@redhat.com> 155 156 * elf32-rx.c (rx_elf_object_p): When reading an RX object in, undo 157 the vma/lma swapping done in elf32_rx_modify_program_headers. 158 1592011-05-15 Richard Sandiford <rdsandiford@googlemail.com> 160 161 * elfxx-mips.c (_bfd_mips_elf_check_relocs): Record both local and 162 global GOT entries for GOT_PAGE relocations against global symbols. 163 1642011-05-15 Richard Sandiford <rdsandiford@googlemail.com> 165 166 PR ld/12637 167 * elfxx-mips.c (mips_elf_merge_got_with): Use arg->global_count 168 as the number of global entries when merging with the primary GOT. 169 1702011-05-13 Alan Modra <amodra@gmail.com> 171 172 Apply 2011-04-17 Jan Kratochvil <jan.kratochvil@redhat.com> 173 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Do not check for 174 SEC_LOAD. 175 1762011-05-06 Richard Sandiford <richard.sandiford@linaro.org> 177 178 * elf32-arm.c (cortex_a8_erratum_scan): If the stub is a Thumb 179 branch to a PLT entry, redirect it to the PLT's Thumb entry point. 180 1812011-05-04 Alan Modra <amodra@gmail.com> 182 183 PR ld/12727 184 * elf64-ppc.c (ppc_build_one_stub <ppc_sub_plt_call>): Clear 185 was_undefined on dot-symbols. 186 1872011-04-27 Alan Modra <amodra@gmail.com> 188 189 Backport from mainline 190 2011-04-24 Alan Modra <amodra@gmail.com> 191 PR ld/12365 192 PR ld/12696 193 * coff-aux.c (coff_m68k_aux_link_add_one_symbol): Update "notice" call. 194 * linker.c (_bfd_link_hash_newfunc): Clear bitfields. 195 (_bfd_generic_link_add_one_symbol): Update "notice" call. 196 * elflink.c (_bfd_elf_merge_symbol): Don't skip weak redefs when 197 it is a redef of an IR symbol in a real BFD. 198 199 2011-04-20 Alan Modra <amodra@gmail.com> 200 PR ld/12365 201 * elfcode.h (elf_slurp_symbol_table): Put common plugin IR symbols 202 in their own common section. 203 * elflink.c (elf_link_add_object_symbols): Likewise. 204 * linker.c (generic_link_check_archive_element): Don't lose flags 205 if common section is pre-existing. 206 (_bfd_generic_link_add_one_symbol): Likewise. 207 208 2011-04-20 Alan Modra <amodra@gmail.com> 209 PR ld/12365 210 * elflink.c (_bfd_elf_merge_symbol): Update multiple_common calls. 211 * linker.c (_bfd_generic_link_add_one_symbol): Likewise. Call 212 multiple_definition regardless of allow_multiple_definition. 213 * simple.c (simple_dummy_multiple_definition): Update. 214 * xcofflink.c (xcoff_link_add_symbols): Update multiple_definition 215 calls. 216 217 2011-04-18 Alan Modra <amodra@gmail.com> 218 PR ld/12365 219 PR ld/12672 220 * bfd.c (BFD_PLUGIN): Define. 221 (BFD_FLAGS_SAVED, BFD_FLAGS_FOR_BFD_USE_MASK): Add BFD_PLUGIN. 222 * bfd-in2.h: Regenerate. 223 * elflink.c (elf_link_output_extsym): Strip undefined plugin syms. 224 * opncls.c (bfd_make_readable): Don't lose original bfd flags. 225 226 2011-04-11 Mark Wielaard <mjw@redhat.com> 227 PR 10549 228 * elf-bfd.h (has_ifunc_symbols): Renamed to has_gnu_symbols. 229 (has_gnu_symbols): Renamed from has_ifunc_symbols. 230 * elf.c (_bfd_elf_set_osabi): Use new has_gnu_symbols name. 231 * elf32-i386.c (elf_i386_add_symbol_hook): Likewise. 232 * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise. 233 * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise. 234 * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise. 235 * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise. 236 * elf64-x86-64.c (elf_x86_64_add_symbol_hook): Likewise. 237 238 2011-02-25 Rafael Ávila de Espíndola <respindola@mozilla.com> 239 * plugin.c (bfd_plugin_object_p): Correctly set the filesize 240 and handle claim_file seeking. Only try to load the plugin once. 241 242 2010-12-12 H.J. Lu <hongjiu.lu@intel.com> 243 * elf.c (special_sections_g): Add ".gnu.lto_". 244 2452011-04-20 Jan Kratochvil <jan.kratochvil@redhat.com> 246 247 * elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Fix +1 overrun of 248 memmove elements. 249 2502011-03-26 John Marino <binutils@marino.st> 251 252 * config.bfd: Add x86_64-*-dragonfly*, fix i386-*-dragonfly*. 253 * configure.in: Delete unused bfd_elf32_i386_dragonfly_vec. 254 * configure: Regenerate. 255 2562011-03-24 Alan Modra <amodra@gmail.com> 257 258 * elf32-ppc.c (ppc_elf_tls_optimize): Catch more cases where 259 old-style __tls_get_addr calls without marker relocs don't match 260 their arg setup insn one for one. If such mismatches are found 261 report the reloc and don't do any tls optimization. 262 * elf64-ppc.c (ppc64_elf_tls_optimize): Likewise. 263 2642011-03-10 Alan Modra <amodra@gmail.com> 265 266 * elf64-ppc.c (ppc64_elf_relocate_section): Provide section/offset 267 for LO_DS error message and correct multiple. 268 2692011-03-10 Alan Modra <amodra@gmail.com> 270 271 * elf64-ppc.c (bfd_elf64_bfd_link_just_syms): Define. 272 (ppc64_elf_link_just_syms): New function. 273 (opd_entry_value): Don't assume big-endian host. 274 (get_r2off): New function. 275 (ppc_build_one_stub, ppc_size_one_stub): Use it here. 276 2772011-03-04 Alan Modra <amodra@gmail.com> 278 279 * archive.c (bsd_write_armap): Don't call stat in deterministic 280 mode, and don't use st_mtime if stat returns error. 281 2822011-02-28 Alan Modra <amodra@gmail.com> 283 284 PR 12513 285 * archive.c (bfd_slurp_bsd_armap_f2): Sanity check parsed_size and 286 stringsize. Properly sanity check symdef_count. Remove redundant 287 bfd_release. 288 2892011-02-01 Alan Modra <amodra@gmail.com> 290 291 Backport from mainline 292 2011-01-22 Richard Sandiford <rdsandiford@googlemail.com> 293 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Ignore 294 common sections too. 295 296 2011-01-14 Alan Modra <amodra@gmail.com> 297 * bfd.c (bfd_perror): Flush stdout before and stderr after printing 298 error. 299 (_bfd_default_error_handler): Likewise. 300 * elf.c (print_segment_map): Likewise. 301 * libbfd.c (warn_deprecated): Likewise. 302 * som.c (som_sizeof_headers): No need to do so here. 303 * coff-i860.c: Replace use of printf for error messages with 304 _bfd_error_handler. 305 * coff-ppc.c: Likewise. 306 * coff-sh.c: Likewise. 307 * elf32-bfin.c: Likewise. 308 * elf32-dlx.c: Likewise. 309 * elf32-mep.c: Likewise. 310 * elf32-v850.c: Likewise. 311 * mach-o.c: Likewise. 312 * pef.c: Likewise. 313 314 2010-12-24 Alan Modra <amodra@gmail.com> 315 * compress.c (decompress_contents): Style. 316 (bfd_get_full_section_contents): Do not decompress directly into 317 caller buffer or directly return cached section contents. 318 Check malloc return for compressed_buffer. 319 320 2010-12-13 Alan Modra <amodra@gmail.com> 321 * aoutx.h (aout_link_check_ar_symbols): Formatting. 322 * cofflink.c (coff_link_check_ar_symbols): Likewise. 323 * elflink.c (elf_link_add_archive_symbols): Likewise. 324 * pdp11.c (aout_link_check_ar_symbols): Likewise. 325 * xcofflink.c (xcoff_link_check_dynamic_ar_symbols, 326 xcoff_link_check_dynamic_ar_symbols): Likewise. 327 * aoutx.h (aout_link_check_archive_element): Simplify code dealing 328 with add_archive_element substitute BFD. 329 * cofflink.c (coff_link_check_archive_element): Likewise. 330 * ecoff.c (ecoff_link_check_archive_element): Likewise. 331 (ecoff_link_add_archive_symbols): Likewise. 332 * linker.c (generic_link_check_archive_element): Likewise. 333 * pdp11.c (aout_link_check_archive_element): Likewise. 334 * vms-alpha.c (alpha_vms_link_add_archive_symbols): Likewise. 335 * xcofflink.c (xcoff_link_check_archive_element): Likewise. 336 * aoutx.h (aout_link_check_archive_element): Free symbols from old 337 bfd if !keep_memory. 338 * cofflink.c (coff_link_check_archive_element): Likewise. 339 * pdp11.c (aout_link_check_archive_element): Likewise. 340 * xcofflink.c (xcoff_link_check_archive_element): Likewise. 341 342 2010-12-12 H.J. Lu <hongjiu.lu@intel.com> 343 * elflink.c (elf_link_add_archive_symbols): Remove subsbfd. 344 345 2010-12-06 Dmitry Gorbachev <d.g.gorbachev@gmail.com> 346 PR ld/12288 347 * plugin.c (message): Add putchar for the trailing `\n'. 348 349 2010-12-04 Alan Modra <amodra@gmail.com> 350 PR ld/12277 351 * elflink.c (elf_link_output_extsym): Set bfd_error on symbol 352 and section errors. Allow better translation of error messages. 353 354 2010-11-24 Joel Brobecker <brobecker@adacore.com> 355 * Makefile.am (OPTIONAL_BACKENDS): Add rs6000-core.lo. 356 (OPTIONAL_BACKENDS_CFILES): Add rs6000-core.c. 357 * Makefile.in: Regenerate. 358 359 2010-11-24 Alan Modra <amodra@gmail.com> 360 PR ld/12253 361 * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Correct 362 DW_EH_PE_datarel handling. Truncate .eh_frame_hdr address to 363 ptr_size. 364 365 2010-11-08 Alan Modra <amodra@gmail.com> 366 * hash.c (bfd_hash_hash): Extract from.. 367 (bfd_hash_lookup): ..here. 368 (bfd_hash_rename): New function. 369 * section.c (bfd_rename_section): New function. 370 * bfd-in.h (bfd_hash_rename): Declare. 371 * bfd-in2.h: Regenerate. 372 * elf.c (_bfd_elf_make_section_from_shdr): Rename input sections 373 when compressing or decompressing. Don't assert name match. 374 * elf64-hppa.c (get_reloc_section): Don't assert name match. 375 * elfxx-ia64.c (get_reloc_section): Likewise. 376 377 2010-11-05 Joseph Myers <joseph@codesourcery.com> 378 * elf-attrs.c (_bfd_elf_merge_unknown_attribute_low, 379 _bfd_elf_merge_unknown_attribute_list): Correct test for matching 380 string attributes. 381 3822011-02-01 Alan Modra <amodra@gmail.com> 383 384 * elf64-ppc.c (ppc64_elf_next_input_section): Use elf_gp value 385 for toc pointer on any section having makes_toc_func_call set. 386 (check_pasted_section): Ensure pasted .init/.fini fragments use 387 the same toc if any has makes_toc_func_call set. 388 3892011-01-28 Joseph Myers <joseph@codesourcery.com> 390 391 * elf32-ppc.c (ppc_elf_link_hash_newfunc): Initialize has_sda_refs 392 field. 393 3942010-12-10 Alan Modra <amodra@gmail.com> 395 396 * config.bfd: Configure rs6000-*-aix* as for powerpc-*-aix*. 397 Add aix5coff64_vec to powerpc ELF entries. 398 3992010-12-08 Tristan Gingold <gingold@adacore.com> 400 401 * configure.in: Bump version to 2.21.0 402 * Makefile.am (RELEASE): Unset. 403 * configure, Makefile.in: Regenerate. 404 4052010-12-08 Tristan Gingold <gingold@adacore.com> 406 407 * configure.in: Bump version to 2.21 408 * Makefile.am (RELEASE): Set. 409 * configure, Makefile.in: Regenerate. 410 4112010-12-07 H.J. Lu <hongjiu.lu@intel.com> 412 413 * archive.c (_bfd_get_elt_at_filepos): Copy BFD_COMPRESS and 414 BFD_DECOMPRESS. 415 (bfd_openr_next_archived_file): Revert the last change. 416 4172010-12-06 Mike Frysinger <vapier@gentoo.org> 418 419 * Makefile.am (!INSTALL_LIBBFD/bfdinclude_HEADERS): Set to nothing. 420 (PLUGINS/bfdinclude_HEADERS): Append plugin-api.h. 421 * Makefile.in: Regenerated. 422 4232010-11-30 Joel Sherrill <joel.sherrill@oarcorp.com> 424 425 * config.bfd: Add sparc64-rtems. 426 4272010-11-25 Alan Modra <amodra@gmail.com> 428 429 * po/es.po: Update. 430 * po/fi.po: Update. 431 * po/fr.po: Update. 432 * po/ja.po: Update. 433 * po/zh_CN.po: Update. 434 4352010-11-17 Tristan Gingold <gingold@adacore.com> 436 437 * vms-lib.c (vms_write_index): Add comments. 438 Partially revert previous patch. Free blocks later. 439 4402010-11-10 Richard Sandiford <richard.sandiford@linaro.org> 441 442 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Remove unused 443 variables. 444 4452010-11-10 Nick Clifton <nickc@redhat.com> 446 447 * po/ja.po: Updated Japanese translation. 448 * po/ru.po: Updated Russian translation. 449 4502010-11-08 Tristan Gingold <gingold@adacore.com> 451 452 * configure.in: Bump version to 2.20.90 453 * configure: Regenerate. 454 4552010-11-08 Nick Clifton <nickc@redhat.com> 456 457 * po/ja.po: Updated Japanese translation. 458 4592010-11-05 Tristan Gingold <gingold@adacore.com> 460 461 * po/bfd.pot: Regenerate 462 4632010-11-04 Maciej W. Rozycki <macro@codesourcery.com> 464 465 PR ld/10144 466 * elfxx-mips.c (_bfd_mips_elf_check_relocs) 467 [R_MIPS_32, R_MIPS_REL32, R_MIPS_64]: Ignore relocs from 468 SEC_DEBUGGING sections. 469 4702010-11-04 Tristan Gingold <gingold@adacore.com> 471 472 * vms-lib.c (vms_write_index): Fix thinko: reverse the loop. 473 Use bfd_zmalloc instead of bfd_malloc. Fix comment. 474 4752010-11-04 Kai Tietz <kai.tietz@onevision.com> 476 477 * coffcode.h (GNU_LINKONCE_WT): New. 478 (sec_to_styp_flags): Add handling of new debug 479 section. 480 (styp_to_sec_flags): Likewise. 481 4822010-11-04 Tristan Gingold <gingold@adacore.com> 483 484 * makefile.vms (CFLAGS): Make badalias warnings informational. 485 * vms-lib.c (vms_lib_bread): Avoid arithmetic on void pointer. 486 4872010-11-04 Joseph Myers <joseph@codesourcery.com> 488 489 * elf-attrs.c (_bfd_elf_merge_unknown_attribute_low, 490 _bfd_elf_merge_unknown_attribute_list): New. 491 * elf-bfd.h (struct elf_backend_data): Add 492 obj_attrs_handle_unknown. 493 (_bfd_elf_merge_unknown_attribute_low, 494 _bfd_elf_merge_unknown_attribute_list): Declare. 495 * elf32-arm.c (elf32_arm_obj_attrs_handle_unknown): New. Split 496 out from elf32_arm_merge_eabi_attributes. 497 (elf32_arm_merge_eabi_attributes): Use 498 _bfd_elf_merge_unknown_attribute_low and 499 _bfd_elf_merge_unknown_attribute_list. 500 (elf_backend_obj_attrs_handle_unknown): Define. 501 * elfxx-target.h (elf_backend_obj_attrs_handle_unknown): Define. 502 (elfNN_bed): Update initializer. 503 5042010-11-02 H.J. Lu <hongjiu.lu@intel.com> 505 506 * bfd.c (BFD_FLAGS_FOR_BFD_USE_MASK): New. 507 * bfd-in2.h: Regenerated. 508 5092010-11-02 Joseph Myers <joseph@codesourcery.com> 510 511 * elf32-tic6x.c (elf32_tic6x_obj_attrs_arg_type): Except for 512 Tag_ABI_compatibility, treat odd tags as strings and even ones as 513 integers. 514 (elf32_tic6x_obj_attrs_order, elf32_tic6x_tag_to_array_alignment, 515 elf32_tic6x_array_alignment_to_tag): New. 516 (elf32_tic6x_merge_attributes): Handle more attributes. Set type 517 for merged attributes. 518 (elf_backend_obj_attrs_order): Define. 519 5202010-10-29 Maciej W. Rozycki <macro@codesourcery.com> 521 522 * elfxx-mips.c (mips_elf_calculate_relocation): Fix a typo. 523 5242010-10-29 Pawel Sikora <pluto@pld-linux.org> 525 526 PR binutils/12075 527 * compress.c (bfd_compress_section_contents): Use uLong on 528 compressed_size. 529 5302010-10-29 Joseph Myers <joseph@codesourcery.com> 531 532 * elf32-tic6x.c (elf32_tic6x_obj_attrs_arg_type): Check 533 Tag_ABI_compatibility not Tag_compatibility. 534 (elf32_tic6x_merge_attributes): Update compatibility attribute 535 name in comment. Return FALSE if merging common attributes fails. 536 5372010-10-29 Nick Clifton <nickc@redhat.com> 538 539 PR bintils/6962 540 * coffcode.h (handle_COMDAT): Only check the base type when 541 looking for a section symbol. 542 5432010-10-29 H.J. Lu <hongjiu.lu@intel.com> 544 Cary Coutant <ccoutant@google.com> 545 546 * archive.c (bfd_openr_next_archived_file): Copy BFD_COMPRESS 547 and BFD_DECOMPRESS. 548 549 * bfd.c (BFD_COMPRESS): New. 550 (BFD_DECOMPRESS): Likewise. 551 (BFD_FLAGS_SAVED): Likewise. 552 (bfd_preserve_save): Replace BFD_IN_MEMORY with BFD_FLAGS_SAVED. 553 554 * compress.c (bfd_uncompress_section_contents): Removed. 555 (get_uncompressed_size): New. 556 (decompress_contents): Likewise. 557 (bfd_compress_section_contents): Likewise. 558 (bfd_get_full_section_contents): Likewise. 559 (bfd_is_section_compressed): Likewise. 560 (bfd_init_section_decompress_status): Likewise. 561 (bfd_init_section_compress_status): Likewise. 562 563 * dwarf2.c (dwarf_debug_sections): New. 564 (dwarf_debug_section_enum): Likewise. 565 (read_section): Remove section_name and compressed_section_name. 566 Add dwarf_debug_section_enum. Try compressed debug section. 567 (read_indirect_string): Updated. 568 (read_abbrevs): Likewise. 569 (decode_line_info): Likewise. 570 (read_debug_ranges): Likewise. 571 (find_line): Updated. 572 573 * ecoff.c (bfd_debug_section): Add compress_status and 574 compressed_size. 575 576 * elf.c (_bfd_elf_make_section_from_shdr): Call 577 bfd_is_section_compressed to check if a DWARF debug section is 578 compressed. Call bfd_init_section_compress_status or 579 bfd_init_section_decompress_status if needed. 580 581 * elflink.c (elf_link_input_bfd): Replace bfd_get_section_contents 582 with bfd_get_full_section_contents. 583 * merge.c (_bfd_add_merge_section): Likewise. 584 * reloc.c (bfd_generic_get_relocated_section_contents): Likewise. 585 * simple.c (bfd_simple_get_relocated_section_contents): Likewise. 586 587 * elfxx-target.h (TARGET_BIG_SYM): Allow BFD_COMPRESS and 588 BFD_DECOMPRESS. 589 (TARGET_LITTLE_SYM): Likewise. 590 591 * libbfd-in.h (dwarf_debug_section): New. 592 (dwarf_debug_sections): Likewise. 593 594 * libbfd.c (_bfd_generic_get_section_contents): Issue an error 595 when getting contents on compressed/decompressed section. 596 597 * section.c (COMPRESS_SECTION_NONE): New. 598 (COMPRESS_SECTION_DONE): Likewise. 599 (DECOMPRESS_SECTION_SIZED): Likewise. 600 (BFD_FAKE_SECTION): Add compress_status and compressed_size. 601 (bfd_malloc_and_get_section): Replace bfd_get_section_contents 602 with bfd_get_full_section_contents. 603 604 * bfd-in2.h: Regenerated. 605 * libbfd.h: Likewise. 606 6072010-10-29 Bernd Schmidt <bernds@codesourcery.com> 608 Joseph Myers <joseph@codesourcery.com> 609 610 * elf32-tic6x.c (elf32_tic6x_merge_attributes): Check for mismatch 611 of DSBT attributes. 612 6132010-10-25 Daniel Jacobowitz <dan@codesourcery.com> 614 615 * elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Always call 616 _bfd_clear_contents. Pass it the input section. 617 * libbfd-in.h (_bfd_clear_contents): Add input_section argument. 618 * libbfd.h: Regenerate. 619 * reloc.c (_bfd_clear_contents): Take input_section argument. 620 Use non-zero for .debug_ranges. 621 (bfd_generic_get_relocated_section_conten): Update _bfd_clear_contents 622 call. 623 624 * elf32-arm.c (elf32_arm_relocate_section): Use 625 RELOC_AGAINST_DISCARDED_SECTION. 626 * elf-m10200.c (mn10200_elf_relocate_section): Likewise. 627 * elf-m10300.c (mn10300_elf_relocate_section): Likewise. 628 * elf32-arm.c (elf32_arm_relocate_section): Likewise. 629 * elf32-avr.c (elf32_avr_relocate_section): Likewise. 630 * elf32-bfin.c (bfin_relocate_section): Likewise. 631 (bfinfdpic_relocate_section): Likewise. 632 * elf32-cr16.c (elf32_cr16_relocate_section): Likewise. 633 * elf32-cr16c.c (elf32_cr16c_relocate_section): Likewise. 634 * elf32-cris.c (cris_elf_relocate_section): Likewise. 635 * elf32-crx.c (elf32_crx_relocate_section): Likewise. 636 * elf32-d10v.c (elf32_d10v_relocate_section): Likewise. 637 * elf32-fr30.c (fr30_elf_relocate_section): Likewise. 638 * elf32-frv.c (elf32_frv_relocate_section): Likewise. 639 * elf32-h8300.c (elf32_h8_relocate_section): Likewise. 640 * elf32-hppa.c (elf32_hppa_relocate_section): Likewise. 641 * elf32-i370.c (i370_elf_relocate_section): Likewise. 642 * elf32-i860.c (elf32_i860_relocate_section): Likewise. 643 * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise. 644 * elf32-iq2000.c (iq2000_elf_relocate_section): Likewise. 645 * elf32-lm32.c (lm32_elf_relocate_section): Likewise. 646 * elf32-m32c.c (m32c_elf_relocate_section): Likewise. 647 * elf32-m32r.c (m32r_elf_relocate_section): Likewise. 648 * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Likewise. 649 * elf32-m68k.c (elf_m68k_relocate_section): Likewise. 650 * elf32-mcore.c (mcore_elf_relocate_section): Likewise. 651 * elf32-mep.c (mep_elf_relocate_section): Likewise. 652 * elf32-moxie.c (moxie_elf_relocate_section): Likewise. 653 * elf32-msp430.c (elf32_msp430_relocate_section): Likewise. 654 * elf32-mt.c (mt_elf_relocate_section): Likewise. 655 * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise. 656 * elf32-ppc.c (ppc_elf_relocate_section): Likewise. 657 * elf32-rx.c (rx_elf_relocate_section): Likewise. 658 * elf32-s390.c (elf_s390_relocate_section): Likewise. 659 * elf32-score.c (s3_bfd_score_elf_relocate_section): Likewise. 660 * elf32-score7.c (s7_bfd_score_elf_relocate_section): Likewise. 661 * elf32-sh.c (sh_elf_relocate_section): Likewise. 662 * elf32-spu.c (spu_elf_relocate_section): Likewise. 663 * elf32-tic6x.c (elf32_tic6x_relocate_section): Likewise. 664 * elf32-v850.c (v850_elf_relocate_section): Likewise. 665 * elf32-vax.c (elf_vax_relocate_section): Likewise. 666 * elf32-xc16x.c (elf32_xc16x_relocate_section): Likewise. 667 * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise. 668 * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise. 669 * elf64-alpha.c (elf64_alpha_relocate_section_r): Likewise. 670 (elf64_alpha_relocate_section): Likewise. 671 * elf64-hppa.c (elf64_hppa_relocate_section): Likewise. 672 * elf64-mmix.c (mmix_elf_relocate_section): Likewise. 673 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. 674 * elf64-s390.c (elf_s390_relocate_section): Likewise. 675 * elf64-sh64.c (sh_elf64_relocate_section): Likewise. 676 * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise. 677 * elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise. 678 * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise. 679 6802010-10-25 Nathan Sidwell <nathan@codesourcery.com> 681 682 * elf32-tic6x.c: Add attribution. 683 6842010-10-25 Alan Modra <amodra@gmail.com> 685 686 * elf32-arm.c (find_stub_size_and_template): Avoid uninitialized 687 var warning at -O3. 688 6892010-10-25 Alan Modra <amodra@gmail.com> 690 691 * opncls.c (bfd_alloc, bfd_zalloc): Don't mark internal. 692 * libbfd-in.h (bfd_alloc, bfd_zalloc): Don't declare here. 693 * libbfd.h: Regenerate 694 * bfd-in2.h: Regenerate. 695 6962010-10-25 Alan Modra <amodra@gmail.com> 697 698 * opncls.c (_bfd_id_counter): Rename to bfd_id_counter. 699 (bfd_reserved_id_counter, bfd_use_reserved_id): New vars. 700 (_bfd_new_bfd): Use negative id when bfd_use_reserved_id. 701 (bfd_create): Doc fix. 702 * bfd-in2.h: Regenerate. 703 7042010-10-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 705 706 * elfxx-sparc.c (tpoff): Define bed, static_tls_size. 707 Consider static_tls_alignment. 708 709 * elf32-sparc.c (TARGET_BIG_SYM): Redefine to 710 bfd_elf32_sparc_sol2_vec. 711 (TARGET_BIG_NAME): Redefine to elf32-sparc-sol2. 712 (elf32_bed): Redefine to elf32_sparc_sol2_bed. 713 (elf_backend_static_tls_alignment): Redefine to 8. 714 Include elf32-target.h. 715 (elf_backend_static_tls_alignment): Undef again for VxWorks. 716 717 * elf64-sparc.c (TARGET_BIG_SYM): Redefine to 718 bfd_elf64_sparc_sol2_vec. 719 (TARGET_BIG_NAME): Redefine to elf64-sparc-sol2. 720 (ELF_OSABI): Undef. 721 (elf64_bed): Redefine to elf64_sparc_sol2_bed. 722 (elf_backend_static_tls_alignment): Redefine to 16. 723 Include elf64-target.h. 724 725 * config.bfd (sparc-*-solaris2.[0-6]): Split from sparc-*-elf*. 726 Set targ_defvec to bfd_elf32_sparc_sol2_vec. 727 [BFD64] (sparc-*-solaris2*): Set targ_defvec to 728 bfd_elf32_sparc_sol2_vec. 729 Replace bfd_elf64_sparc_vec by bfd_elf64_sparc_sol2_vec in 730 targ_selvecs. 731 732 * configure.in: Handle bfd_elf32_sparc_sol2_vec, 733 bfd_elf64_sparc_sol2_vec. 734 * configure: Regenerate. 735 736 * targets.c (bfd_elf32_sparc_sol2_vec): Declare. 737 (bfd_elf64_sparc_sol2_vec): Declare. 738 (_bfd_target_vector): Add bfd_elf32_sparc_sol2_vec, 739 bfd_elf64_sparc_sol2_vec. 740 7412010-10-21 Joseph Myers <joseph@codesourcery.com> 742 743 * elf32-tic6x.c (elf32_tic6x_merge_arch_attributes): Update for 744 attribute renaming. 745 (elf_backend_obj_attrs_section): Change to ".c6xabi.attributes". 746 7472010-10-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 748 749 * elf-bfd.h (struct elf_backend_data): New member 750 static_tls_alignment. 751 * elfxx-target.h (elf_backend_static_tls_alignment): Provide 752 default. 753 (elfNN_bed): Initialize static_tls_alignment. 754 * elflink.c (bfd_elf_final_link): Don't round end of TLS section 755 if static TLS has special alignment requirements. 756 * elf32-i386.c (elf_i386_tpoff): Define bed, static_tls_size. 757 Consider static_tls_alignment. 758 (elf_backend_static_tls_alignment): Redefine for Solaris 2. 759 Undef again for VxWorks. 760 * elf64-x86-64.c (elf64_x86_64_tpoff): Define bed, 761 static_tls_size. 762 Consider static_tls_alignment. 763 (elf_backend_static_tls_alignment): Redefine for Solaris 2. 764 Undef again for Intel L1OM. 765 7662010-10-14 Dave Korn <dave.korn.cygwin@gmail.com> 767 768 Apply LD plugin patch series (part 6/6). 769 * aoutx.h (aout_link_check_ar_symbols): Take new "subsbfd" reference 770 parameter and pass it when invoking add_archive_element callback. 771 (aout_link_check_archive_element): Handle substitute bfd if it 772 was set during add_archive_element callback in the above. 773 * cofflink.c (coff_link_check_ar_symbols): Take new "subsbfd" reference 774 parameter and pass it when invoking add_archive_element callback. 775 (coff_link_check_archive_element): Handle substitute bfd if it 776 was set during add_archive_element callback in the above. 777 * ecoff.c (read_ext_syms_and_strs): New function holds symbol-reading 778 code factored-out from ecoff_link_check_archive_element. 779 (reread_ext_syms_and_strs): Clear old symbols and call it. 780 (ecoff_link_check_archive_element): Use the above. Handle substitute 781 BFD if one is set by add_archive_element callback. 782 (ecoff_link_add_archive_symbols): Likewise allow bfd substitution. 783 * elflink.c (elf_link_add_archive_symbols): Likewise. 784 * linker.c (generic_link_check_archive_element): Likewise. 785 * pdp11.c (aout_link_check_ar_symbols): Take new "subsbfd" reference 786 parameter and pass it when invoking add_archive_element callback. 787 (aout_link_check_archive_element): Handle substitute bfd if it was 788 set during add_archive_element callback in the above. 789 * vms-alpha.c (alpha_vms_link_add_archive_symbols): Handle substitute 790 BFD if one is set by add_archive_element callback. 791 * xcofflink.c (xcoff_link_check_dynamic_ar_symbols): Take new "subsbfd" 792 reference parameter and pass it when invoking add_archive_element 793 callback. 794 (xcoff_link_check_ar_symbols): Likewise. 795 (xcoff_link_check_archive_element): Handle bfd substitution if it was 796 set by callback in the above. 797 7982010-10-11 Alan Modra <amodra@gmail.com> 799 800 * elf32-frv.c (elf32_frv_relocate_section): Set "name" for global syms. 801 (elf32_frvfdpic_finish_dynamic_sections): Don't crash on 802 __ROFIXUP_END__ defined in shared lib. 803 8042010-10-11 Thomas Schwinge <thomas@codesourcery.com> 805 806 * elf32-arm.c (elf32_arm_final_link_relocate) 807 (elf32_arm_relocate_section): Handle relocations against STN_UNDEF. 808 8092010-10-11 Dave Korn <dave.korn.cygwin@gmail.com> 810 811 * elflink.c (_bfd_elf_link_output_relocs): Delete unused variable 812 "output_rel_hdr". 813 8142010-10-09 John Tytgat <john@bass-software.com> 815 816 * reloc.c (BFD_RELOC_ARM_HVC): Add. 817 * libbfd.h: Regenerate. 818 8192010-10-08 Kai Tietz <kai.tietz@onevision.com> 820 821 * pei-x86_64.c (find_next_xdata_or_end): Removed. 822 (pex64_dump_xdata): Remove arguments stop, onaline, 823 and pdata. New argument endx. Print term "none" 824 instead of misleading "CFA". 825 (sort_xdata_arr): New function. 826 (pex64_bfd_print_pdata): Use binary search/sort for unwind-RVAs 827 instead of searching quadratic. 828 8292010-10-08 Pierre Muller <muller@ics.u-strasbg.fr> 830 Alan Modra <amodra@gmail.com> 831 832 Fix build with -DDEBUG=7 833 * elf.c (_bfd_elf_symbol_from_bfd_symbol): Remove call 834 to deleted function elf_symbol_flags. Add typecast to avoid warning. 835 * elf32-rx.c (dump_symbol) : Rename to.. 836 (rx_dump_symbol): ..this to avoid link errors. 837 * elflink.c (elf_link_input_bfd): Add typecast to avoid warnings. 838 (bfd_elf_perform_complex_relocation): Likewise. 839 * elf32-xtensa.c (print_action_list): Likewise. 840 8412010-10-06 Nathan Sidwell <nathan@codesourcery.com> 842 843 * elf32-arm.c (elf32_arm_stub_long_branch_any_arm_pic, 844 elf32_arm_stub_long_branch_any_arm_pic): Use a consistent name for 845 ip/r12. 846 (arm_type_of_stub): Remove superfluous braces. 847 8482010-10-04 Bernd Schmidt <bernds@codesourcery.com> 849 850 * elf-bfd.h (struct bfd_elf_section_reloc_data): New structure. 851 (struct bfd_elf_section_data): New members REL and RELA; delete 852 members REL_HDR, REL_HDR2, REL_COUNT, REL_COUNT2, REL_IDX, 853 REL_IDX2, REL_HASHES. 854 (_bfd_elf_init_reloc_shdr): Adjust declaration. 855 (_bfd_elf_single_rel_hdr): Declare. 856 (RELOC_AGAINST_DISCARDED_SECTION): Use it. 857 * elf.c (bfd_section_from_shdr): Adjusted to match changes in 858 data structures. 859 (_bfd_elf_init_reloc_shdr): New arg RELDATA. Remove arg REL_HDR. 860 All callers changed. Allocate memory for the Elf_Internal_Shdr 861 structure. 862 (_bfd_elf_single_rel_hdr): New function. 863 (struct fake_section_arg): New structure. 864 (elf_fake_section): Expect to see a pointer to it in the third 865 argument. If doing a relocatable link, allocate both REL and RELA 866 sections as needed. 867 (assign_section_numbers): Adjusted to match changes in 868 data structures. 869 (_bfd_elf_compute_section_file_positions): Call elf_fake_sections 870 with a struct fake_section_args argument. 871 * elfcode.h (elf_write_relocs): Adjusted to match changes in 872 data structures. 873 (elf_slurp_reloc_table): Likewise. 874 * elflink.c (_bfd_elf_link_read_relocs): Likewise. 875 (_bfd_elf_link_size_reloc_section): Remove arg REL_HDR, replace with 876 RELDATA. Remove argument O. All callers changed. Remove code to 877 discover the right rel_hdr and count. 878 (_bfd_elf_link_output_relocs): Adjusted to match changes in 879 data structures. 880 (elf_link_adjust_relocs): Remove args REL_HDR, COUNT and REL_HASH; 881 replace with RELDATA. All callers changed. 882 (elf_link_input_bfd): Correctly generate rel_hash data when both 883 REL and RELA sections are present. 884 (elf_reloc_link_order): Adjusted to match changes in 885 data structures. 886 (bfd_elf_final_link): Simplify code to count relocs. Free the 887 hashes array for both REL and RELA. 888 (get_dynamic_reloc_section_name): Use _bfd_elf_single_reloc_hdr 889 * elf32-m32r.c (m32r_elf_fake_sections, elf_backend_fake_sections): 890 Delete. 891 * elf32-tic6x.c (elf32_tic6x_fake_sections, elf_backend_fake_sections): 892 Delete. 893 (elf32_tic6x_rel_relocation_p): Adjusted to match changes in 894 data structures. 895 * elf32-microblaze.c (microblaze_elf_check_relocs): Use 896 _bfd_elf_single_rel_hdr. 897 * elf32-ppc.c (ppc_elf_relax_section): Likewise. 898 * elf32-spu.c (spu_elf_relocate_section): Likewise. 899 * elf64-alpha.c (elf64_alpha_relocate_section): Likewise. 900 * elf64-hppa.c (get_reloc_section): Likewise. 901 * elf64-mips.c (mips_elf64_slurp_reloc_table): Adjusted to match 902 changes in data structures. 903 (mips_elf64_write_relocs): Use _bfd_elf_single_rel_hdr. 904 * elf64-ppc.c (ppc64_elf_edit_opd): Likewise. 905 (ppc64_elf_edit_toc): Likewise. 906 (get_relocs): Adjusted to match changes in data structures. 907 Allocate an Elf_Internal_Shdr structure if necessary. 908 (ppc64_elf_finish_dynamic_sections): Use _bfd_elf_single_rel_hdr. 909 * elf64-sparc.c (elf64_sparc_slurp_reloc_table): Adjusted to match 910 changes in data structures. 911 * elfxx-ia64.c (get_reloc_section): Use _bfd_elf_single_rel_hdr. 912 * elfxx-mips.c (MIPS_RELOC_RELA_P): Remove macro. 913 (mips_elf_rel_relocation_p): Adjusted to match changes in data 914 structures. 915 (_bfd_mips_elf_relocate_section): Use mips_elf_rel_relocation_p rather 916 than MIPS_RELOC_RELOCA_P. 917 * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Use 918 _bfd_elf_single_rel_hdr. 919 (_bfd_sparc_elf_relocate_section): Likewise. 920 9212010-10-01 Thomas Schwinge <thomas@codesourcery.com> 922 923 * elf32-arm.c (elf32_arm_size_stubs): Don't choke on local symbols in 924 SHN_UNDEF, SHN_ABS, SHN_COMMON. 925 9262010-09-30 H.J. Lu <hongjiu.lu@intel.com> 927 928 PR ld/11812 929 * elf32-i386.c (elf_i386_size_dynamic_sections): Don't 930 allocate .got.plt section if there are no GOT nor PLT 931 entries and there is no refeence to _GLOBAL_OFFSET_TABLE_. 932 * elf64-x86-64.c (elf64_x86_64_size_dynamic_sections): Li.kewise. 933 934 * elflink.c (_bfd_elf_define_linkage_sym): Clear non_elf. 935 9362010-09-27 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 937 938 * configure: Regenerate. 939 9402010-09-24 Thomas Schwinge <thomas@codesourcery.com> 941 942 * elf32-arm.c, elf32-cris.c, elf32-hppa.c, elf32-i370.c, elf32-m32r.c, 943 elf32-m68k.c, elf32-microblaze.c, elf32-ppc.c, elf32-score.c, 944 elf32-score7.c, elf32-sh.c, elf32-vax.c, elf32-xtensa.c, elf64-alpha.c, 945 elf64-hppa.c, elf64-mips.c, elf64-ppc.c, elf64-sparc.c, elfcode.h, 946 elflink.c, elfxx-ia64.c, elfxx-mips.c: Use STN_UNDEF when referring to 947 the zero symbol index. 948 949 * elflink.c (bfd_elf_reloc_symbol_deleted_p): Compare the symbol index 950 to STN_UNDEF, not SHN_UNDEF. 951 9522010-09-23 Bernd Schmidt <bernds@codesourcery.com> 953 954 * elf32-tic6x.c (elf32_tic6x_fake_sections): New function. 955 (elf_backend_fake_sections): Define. 956 9572010-09-23 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> 958 959 * bfd-in2.h (BFD_RELOC_ARM_HVC): New enum value. 960 9612010-09-23 Alan Modra <amodra@gmail.com> 962 963 * cpu-d10v.c: Make bits_per_address 18 for all arch_info entries. 964 9652010-09-23 Alan Modra <amodra@gmail.com> 966 967 * elf.c (_bfd_elf_init_private_section_data): Allow for SEC_RELOC 968 difference between input and output section. 969 9702010-09-22 Kai Tietz <kai.tietz@onevision.com> 971 972 * coffcode.h (sec_to_styp_flags): Adjust debug 973 sections to be conform to pe-coff specification 974 and avoid marking them as excluded. 975 (styp_to_sec_flags): Doing reverse mapping. 976 977 * peXXigen.c (_bfd_XXi_final_link_postscript): Add handling for 978 setting IAT directory entry. 979 9802010-09-20 Richard Henderson <rth@redhat.com> 981 982 * elf64-alpha.c (elf64_alpha_howto_table): Use bfd_elf_generic_reloc. 983 9842010-09-19 Richard Sandiford <rdsandiford@googlemail.com> 985 986 * elfxx-mips.c (mips_elf_link_hash_entry): Add got_only_for_calls. 987 (mips_elf_link_hash_newfunc): Initialize it. 988 (mips_elf_record_global_got_symbol): Add a for_call parameter. 989 (mips_elf_count_got_symbols): Check SYMBOL_CALLS_LOCAL rather 990 than SYMBOL_REFERENCES_LOCAL if the GOT entry is only used for calls. 991 Try to remove .got entries in favour of .got.plt entries on VxWorks. 992 (_bfd_mips_elf_check_relocs): Do not try to avoid allocating 993 a global GOT entry for VxWorks calls. Update uses of 994 mips_elf_record_global_got_symbol. 995 (allocate_dynrelocs): Set got_only_for_calls to false if the GOT 996 entry is used for dynamic relocations. 997 9982010-09-19 Richard Sandiford <rdsandiford@googlemail.com> 999 1000 * elfxx-mips.c (mips_got_entry): Adjust commentary. 1001 (mips_elf_create_local_got_entry): If given a symbol, check that it 1002 has been assigned to the local part of the GOT. 1003 (mips_elf_count_got_symbols): Take the bfd_link_info as argument 1004 instead of the master GOT. Put all locally-binding symbols in 1005 the local area. 1006 (mips_elf_make_got_per_bfd): Use global_got_area to decide whether 1007 a symbol lives in the local or global area. 1008 (mips_elf_local_relocation_p): Remove check_forced argument and 1009 retain only the !check_forced behavior. 1010 (mips_elf_calculate_relocation): Adjust call accordingly. 1011 Use global_got_area to decide whether an output relocation 1012 should be local or global. Explicitly decay R_MIPS_GOT_PAGE 1013 into R_MIPS_GOT_DISP where appropriate. Fix selection of 1014 local vs. global semantics for R_MIPS*_26. Remove redundant 1015 reevaluation of what is stored in was_local_p. 1016 (mips_elf_create_dynamic_relocation): Use global_got_area to decide 1017 whether the relocation should be against a global or local symbol. 1018 (mips_elf_lay_out_got): Update the GOT traversal after the above 1019 change to mips_elf_count_got_symbols. 1020 (mips_elf_adjust_addend): Adjust call to mips_elf_local_relocation_p. 1021 (_bfd_mips_elf_relocate_section): Likewise. 1022 (_bfd_mips_elf_finish_dynamic_symbol): Use global_got_area to decide 1023 whether the symbol has a global got entry. 1024 (_bfd_mips_vxworks_finish_dynamic_symbol): Likewise. 1025 10262010-09-19 Richard Sandiford <rdsandiford@googlemail.com> 1027 1028 * elfxx-mips.c (allocate_dynrelocs): Don't add relocation symbols 1029 to the global GOT on VxWorks. 1030 10312010-09-19 Richard Sandiford <rdsandiford@googlemail.com> 1032 1033 * elfxx-mips.c (_bfd_mips_elf_check_relocs): On VxWorks, 1034 exclude __GOTT_BASE__ and __GOTT_INDEX__ from the warning 1035 about HI/LO relocations in shared objects. 1036 10372010-09-16 Alan Modra <amodra@gmail.com> 1038 1039 * elf32-spu.c (spu_elf_size_sections): Omit fixups for non-alloc 1040 sections. 1041 (spu_elf_create_sections): Mark .fixup with SEC_LINKER_CREATED and 1042 set dynobj. 1043 (spu_elf_finish_dynamic_sections): New function. 1044 (elf_backend_finish_dynamic_sections): Define. 1045 10462010-09-16 Alan Modra <amodra@gmail.com> 1047 1048 * elf.c (bfd_elf_get_default_section_type): Don't test SEC_NEVER_LOAD. 1049 * elflink.c (elf_link_input_bfd): Likewise. 1050 10512010-09-15 Kai Tietz <kai.tietz@onevision.com> 1052 1053 * pei-x86_64.c (pex64_get_unwind_info): Reorgnized. 1054 (pex64_get_scope_entry): Removed. 1055 (find_next_xdata_or_end): New helper. 1056 (pex64_dump_xdata): Reworked. 1057 (pex64_bfd_print_pdata): Add checking for 1058 valid pdata sorting and values. Reworked 1059 output. 1060 10612010-09-15 H.J. Lu <hongjiu.lu@intel.com> 1062 1063 PR binutils/12004 1064 * plugin.c (bfd_plugin_object_p): Handle NULL iostream. 1065 10662010-09-14 Kai Tietz <kai.tietz@onevision.com> 1067 1068 * pe-x86_64.c (COFF_SECTION_ALIGNMENT_ENTRIES): Make 1069 .rdata, .data, and .text partial matched section names. 1070 * pei-x86_64.c: Likewise. 1071 1072 * peXXigen.c (sort_x64_pdata): New helper. 1073 (_bfd_XXi_final_link_postscript): Do pdata sorting. 1074 10752010-09-09 H.J. Lu <hongjiu.lu@intel.com> 1076 1077 PR ld/11998 1078 * elf.c (assign_file_positions_for_load_sections): Don't warn 1079 zero LMA adjustment. 1080 10812010-09-09 Bernd Schmidt <bernds@codesourcery.com> 1082 1083 * elflink.c (bfd_elf_final_link): Correct calculation of 1084 max_external_reloc_size. 1085 10862010-09-07 Alan Modra <amodra@gmail.com> 1087 Marcus Brinkmann <marcus.brinkmann@ruhr-uni-bochum.de> 1088 1089 * peXXigen.c: Whitespace. 1090 (pe_print_idata): Correct section limit calculations. Tidy array 1091 indexing. 1092 (_bfd_XX_print_ce_compressed_pdata): Don't leak memory. 1093 10942010-09-02 Richard Henderson <rth@redhat.com> 1095 1096 * config.bfd (x86_64-*-mingw*): Select 32-bit pei vectors too. 1097 10982010-09-01 Pedro Alves <pedro@codesourcery.com> 1099 1100 * netbsd-core.c (netbsd_core_core_file_pid): Renamed to ... 1101 (netbsd_core_file_pid): ... this. 1102 11032010-09-01 Tristan Gingold <gingold@adacore.com> 1104 1105 * coffcode.h (coff_slurp_line_table): Add a cast. 1106 (coff_slurp_reloc_table): Ditto. 1107 11082010-08-30 Gunther Nikl <gnikl@users.sourceforge.net> 1109 1110 * cisco-core.c (cisco_core_file_pid): Define. 1111 11122010-08-30 Alan Modra <amodra@gmail.com> 1113 1114 PR binutils/11953 1115 * elf.c (copy_elf_program_header): Calculate map->header_size 1116 from lowest_section, not first_section. Validate program 1117 header p_paddr against section lma. Find lowest_section in 1118 second loop over headers. 1119 11202010-08-28 Alan Modra <amodra@gmail.com> 1121 1122 * elflink.c (_bfd_elf_dynamic_symbol_p): Rename param. Make 1123 common syms local. 1124 (_bfd_elf_symbol_refs_local_p): Expand comment. 1125 (elf_link_output_extsym): Fix style nit. 1126 11272010-08-26 Nathan Sidwell <nathan@codesourcery.com> 1128 1129 * elf32-arm.c (elf32_arm_final_link): Process stub sections 1130 exactly once. 1131 11322010-08-25 H.J. Lu <hongjiu.lu@intel.com> 1133 1134 PR ld/11939 1135 * elflink.c (elf_link_add_object_symbols): Don't set 1136 unique_global for non-ELF hash link table. 1137 11382010-08-25 H.J. Lu <hongjiu.lu@intel.com> 1139 1140 PR ld/11944 1141 * elf-bfd.h (elf_backend_data): Add target_id. 1142 (bfd_elf_make_generic_object): Renamed to ... 1143 (bfd_elf_make_object): This. 1144 1145 * elf.c (bfd_elf_make_generic_object): Removed. 1146 (bfd_elf_make_object): New. 1147 (bfd_elf_mkcorefile): Really treat it as an object file. 1148 1149 * elf-m10300.c (ELF_TARGET_ID): New. 1150 * elf32-arm.c (ELF_TARGET_ID): Likewise. 1151 * elf32-bfin.c (ELF_TARGET_ID): Likewise. 1152 * elf32-cris.c (ELF_TARGET_ID): Likewise. 1153 * elf32-frv.c (ELF_TARGET_ID): Likewise. 1154 * elf32-i386.c (ELF_TARGET_ID): Likewise. 1155 * elf32-lm32.c (ELF_TARGET_ID): Likewise. 1156 * elf32-m32r.c (ELF_TARGET_ID): Likewise. 1157 * elf32-m68hc11.c (ELF_TARGET_ID): Likewise. 1158 * elf32-m68hc12.c (ELF_TARGET_ID): Likewise. 1159 * elf32-m68k.c (ELF_TARGET_ID): Likewise. 1160 * elf32-microblaze.c (ELF_TARGET_ID): Likewise. 1161 * elf32-ppc.c (ELF_TARGET_ID): Likewise. 1162 * elf32-s390.c (ELF_TARGET_ID): Likewise. 1163 * elf32-sh.c (ELF_TARGET_ID): Likewise. 1164 * elf32-sparc.c (ELF_TARGET_ID): Likewise. 1165 * elf32-spu.c (ELF_TARGET_ID): Likewise. 1166 * elf32-tic6x.c (ELF_TARGET_ID): Likewise. 1167 * elf32-xtensa.c (ELF_TARGET_ID): Likewise. 1168 * elf64-alpha.c (ELF_TARGET_ID): Likewise. 1169 * elf64-hppa.c (ELF_TARGET_ID): Likewise. 1170 * elf64-ppc.c (ELF_TARGET_ID): Likewise. 1171 * elf64-s390.c (ELF_TARGET_ID): Likewise. 1172 * elf64-x86-64.c (ELF_TARGET_ID): Likewise. 1173 * elfxx-ia64.c (ELF_TARGET_ID): Likewise. 1174 1175 * elf32-hppa.c (elf32_hppa_mkobject): Removed. 1176 (bfd_elf32_mkobject): Likewise. 1177 (ELF_TARGET_ID): New. 1178 1179 * elf32-mips.c (ELF_TARGET_ID): New. 1180 (bfd_elf32_mkobject): Removed. 1181 1182 * elf64-mips.c (ELF_TARGET_ID): New. 1183 (bfd_elf64_mkobject): Removed. 1184 1185 * elfn32-mips.c (ELF_TARGET_ID): New. 1186 (bfd_elf32_mkobject): Removed. 1187 1188 * elfxx-mips.c (_bfd_mips_elf_mkobject): Removed. 1189 * elfxx-mips.h (_bfd_mips_elf_mkobject): Likewise. 1190 1191 * elfxx-target.h (bfd_elfNN_mkobject): Default to 1192 bfd_elf_make_object. 1193 (ELF_TARGET_ID): New. Default to GENERIC_ELF_DATA. 1194 (elfNN_bed): Initialize target_id. 1195 11962010-08-25 Julian Brown <julian@codesourcery.com> 1197 1198 * elf32-arm.c (arm_stub_required_alignment): New. 1199 (arm_build_one_stub): Use above to partition stubs. 1200 (make_branch_to_a8_stub): Use arm_stub_a8_veneer_lwm not 1201 arm_stub_a8_veneer_b_cond. 1202 12032010-08-25 Alan Modra <amodra@gmail.com> 1204 1205 * aout-arm.c (MY(bfd_reloc_type_lookup)): Use bfd_arch_bits_per_address. 1206 * aout-ns32k.c (MY(bfd_reloc_type_lookup)): Likewise. 1207 * aoutx.h (NAME(aout,reloc_type_lookup)): Likewise. 1208 * coff-arm.c (coff_arm_reloc_type_lookup): Likewise. 1209 * elf-hppa.h (elf_hppa_reloc_final_type): Likewise. 1210 * reloc.c (bfd_default_reloc_type_lookup): Likewise. 1211 * riscix.c (riscix_reloc_type_lookup): Likewise. 1212 12132010-08-25 Alan Modra <amodra@gmail.com> 1214 1215 * elf.c (_bfd_elf_map_sections_to_segments): Don't load program 1216 headers if any loaded section wraps the address space. Simplify 1217 ~(m-1) to -m. Use lma rather than vma when determining whether 1218 note sections are adjacent. 1219 12202010-08-22 H.J. Lu <hongjiu.lu@intel.com> 1221 1222 PR ld/11933 1223 * elflink.c (elf_link_add_object_symbols): Don't check relocation 1224 if input ELF object ID doesn't match output. 1225 12262010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 1227 1228 * configure: Regenerate. 1229 12302010-08-20 H.J. Lu <hongjiu.lu@intel.com> 1231 1232 * merge.c (sec_merge_emit): Revert the last checkin. 1233 12342010-08-20 Maciej W. Rozycki <macro@codesourcery.com> 1235 1236 * elf32-sh.c (sh_elf_relocate_section): Handle non-ELF output 1237 BFD. 1238 12392010-08-20 Maciej W. Rozycki <macro@codesourcery.com> 1240 1241 * elf32-m68k.c (bfd_elf_m68k_set_target_options): Don't set GOT 1242 options unless an m68k hash table has been found. 1243 12442010-08-20 Nick Clifton <nickc@redhat.com> 1245 1246 * merge.c (sec_merge_emit): Do not zero pad sections that do not 1247 have an alignment. 1248 12492010-08-18 Pedro Alves <pedro@codesourcery.com> 1250 1251 PR corefile/8210 1252 1253 * bfd-in2.h: Regenerate. 1254 * corefile.c (bfd_core_file_pid): New. 1255 1256 * targets.c (BFD_JUMP_TABLE_CORE): Add NAME##_core_file_pid. 1257 (struct bfd_target) <_core_file_pid>: New. 1258 1259 * libbfd-in.h (_bfd_nocore_core_file_pid): Declare. 1260 * libbfd.c (_bfd_nocore_core_file_pid): New. 1261 1262 * elf-bfd.h (bfd_elf32_core_file_pid, bfd_elf64_core_file_pid): 1263 Declare. 1264 * elfcode.h (elf_core_file_pid): New define. 1265 * elfcore.h (elf_core_file_pid): New function. 1266 1267 * elf.c (elfcore_make_pid): Rewrite. 1268 (elfcore_grok_prstatus): Only set core_pid if not set yet. 1269 (elfcore_grok_prstatus) [!HAVE_PRSTATUS_T_PR_WHO]: Fallback to 1270 getting the lwpid from prstat.pr_pid. 1271 1272 * elf64-x86-64.c (elf64_x86_64_grok_prstatus): Write the LWPID to 1273 elf_tdata's core_lwpid instead of to core_pid. 1274 (elf64_x86_64_grok_psinfo): Extract the the main process's PID, 1275 and store it in elf_tdata's core_pid field. 1276 * elf32-i386.c (elf_i386_grok_prstatus): Write the LWPID to 1277 elf_tdata's core_lwpid instead of to core_pid. 1278 (elf_i386_grok_psinfo): Extract the the main process's PID, and 1279 store it in elf_tdata's core_pid field. 1280 1281 * elf32-am33lin.c (elf32_am33lin_grok_prstatus): Write the LWPID 1282 to elf_tdata's core_lwpid instead of to core_pid. 1283 * elf32-arm.c (elf32_arm_nabi_grok_prstatus): Write the LWPID to 1284 elf_tdata's core_lwpid instead of to core_pid. 1285 * elf32-cris.c (cris_elf_grok_prstatus): Write the LWPID to 1286 elf_tdata's core_lwpid instead of to core_pid. 1287 * elf32-frv.c (elf32_frv_grok_prstatus): Write the LWPID to 1288 elf_tdata's core_lwpid instead of to core_pid. 1289 * elf32-hppa.c (elf32_hppa_grok_prstatus): Write the LWPID to 1290 elf_tdata's core_lwpid instead of to core_pid. 1291 * elf32-mips.c (elf32_mips_grok_prstatus): Write the LWPID to 1292 elf_tdata's core_lwpid instead of to core_pid. 1293 * elf32-ppc.c (ppc_elf_grok_prstatus): Write the LWPID to 1294 elf_tdata's core_lwpid instead of to core_pid. 1295 * elf32-s390.c (elf_s390_grok_prstatus): Write the LWPID to 1296 elf_tdata's core_lwpid instead of to core_pid. 1297 * elf32-score.c (s3_bfd_score_elf_grok_prstatus): Write the LWPID 1298 to elf_tdata's core_lwpid instead of to core_pid. 1299 * elf32-score7.c (s7_bfd_score_elf_grok_prstatus): Write the LWPID 1300 to elf_tdata's core_lwpid instead of to core_pid. 1301 * elf32-sh.c (elf32_shlin_grok_prstatus): Write the LWPID to 1302 elf_tdata's core_lwpid instead of to core_pid. 1303 * elf32-xtensa.c (elf_xtensa_grok_prstatus): Write the LWPID to 1304 elf_tdata's core_lwpid instead of to core_pid. 1305 * elf64-hppa.c (elf64_hppa_grok_prstatus): Write the LWPID to 1306 elf_tdata's core_lwpid instead of to core_pid. 1307 * elf64-mips.c (elf64_mips_grok_prstatus): Write the LWPID to 1308 elf_tdata's core_lwpid instead of to core_pid. 1309 * elf64-ppc.c (ppc64_elf_grok_prstatus): Write the LWPID to 1310 elf_tdata's core_lwpid instead of to core_pid. 1311 * elfn32-mips.c (elf32_mips_grok_prstatus): Write the LWPID to 1312 elf_tdata's core_lwpid instead of to core_pid. 1313 1314 * plugin.c (bfd_plugin_core_file_pid): New function. 1315 * aout-target.h (MY_core_file_pid): Define. 1316 * aout-tic30.c (MY_core_file_pid, MY_core_file_p): New defines. 1317 * coff-rs6000.c (coff_core_file_pid): New define. 1318 (rs6000coff_vec, pmac_xcoff_vec): Use BFD_JUMP_TABLE_CORE. 1319 * coff64-rs6000.c (coff_core_file_pid): New define. 1320 (rs6000coff64_vec): Use BFD_JUMP_TABLE_CORE. 1321 (xcoff64_core_file_pid): New define. 1322 (aix5coff64_vec): Use BFD_JUMP_TABLE_CORE. 1323 * mach-o-target.c (bfd_mach_o_core_file_pid): New define. 1324 * aix386-core.c (aix386_core_file_pid): New define. 1325 * hppabsd-core.c (hppabsd_core_core_file_pid): New define. 1326 * hpux-core.c (hpux_core_core_file_pid): New define. 1327 * irix-core.c (irix_core_core_file_pid): New define. 1328 * lynx-core.c (lynx_core_file_pid): New define. 1329 * osf-core.c (osf_core_core_file_pid): New define. 1330 * ptrace-core.c (ptrace_unix_core_file_pid): New define. 1331 * sco5-core.c (sco5_core_file_pid): New define. 1332 * xcoff-target.h (coff_core_file_pid): New define. 1333 * netbsd-core.c (netbsd_core_core_file_pid): New define. 1334 13352010-08-13 H.J. Lu <hongjiu.lu@intel.com> 1336 1337 PR ld/11913 1338 * elf32-i386.c (elf_i386_finish_dynamic_sections): Check if 1339 .got.plt section is discarded. 1340 * elf64-x86-64.c (elf64_x86_64_finish_dynamic_sections): Likewise. 1341 13422010-08-13 Nathan Sidwell <nathan@codesourcery.com> 1343 1344 * elf32-m69k.c (elf32_m68k_print_private_bfd_data): Detect EMAC_B 1345 variant. 1346 13472010-08-12 H.J. Lu <hongjiu.lu@intel.com> 1348 1349 PR binutils/11909 1350 * Makefile.am (coff-tic4x.lo): New. Disable -Werror. 1351 (coff-tic54x.lo): Likewise. 1352 * Makefile.in: Regenerated. 1353 13542010-08-12 Todd Veldhuizen <todd.veldhuizen@logicblox.com> 1355 1356 PR ld/11843 1357 * elflink.c (compute_bucket_count): Avoid futile long searches for 1358 the best bucket size. 1359 13602010-08-09 Richard Henderson <rth@redhat.com> 1361 1362 PR ld/11891 1363 * elf64-alpha.c (elf64_alpha_relax_tls_get_addr): Disallow relaxing 1364 to tlshi/lo until pos0 and pos1 are adjacent. Use the destination 1365 register from the tldgd insn. 1366 13672010-08-09 Catherine Moore <clm@codesourcery.com> 1368 1369 * elfxx-mips.c (mips_elf_perform_relocation): Improve 1370 interlinking error message. 1371 13722010-08-06 Alan Modra <amodra@gmail.com> 1373 1374 * elf64-ppc.c (ha_reloc_match): Allow matches to other than r2. 1375 (ppc64_elf_relocate_section): Nop out high part insn of large toc 1376 code sequence when the high part of offset is zero. 1377 13782010-08-04 Tristan Gingold <gingold@adacore.com> 1379 1380 * vms-alpha.c (alpha_vms_build_fixups): Write the EICP. 1381 (alpha_vms_bfd_final_link): Explicitly forbid relocatable links. 1382 Clear the SEC_RELOC flag. 1383 13842010-08-04 Tristan Gingold <gingold@adacore.com> 1385 1386 * vms-alpha.c (alpha_vms_create_eisd_for_section): Make writable 1387 sections with relocs. 1388 (alpha_vms_add_fixup_lp): Set SEC_RELOC flag. 1389 (alpha_vms_add_fixup_ca): Ditto. 1390 (alpha_vms_add_fixup_qr): Ditto. 1391 Add comments. 1392 13932010-08-04 Tristan Gingold <gingold@adacore.com> 1394 1395 * vms-alpha.c (alpha_vms_create_eisd_for_section): Do not make 1396 CODE sections writable. 1397 13982010-08-04 Tristan Gingold <gingold@adacore.com> 1399 1400 * vms-alpha.c (alpha_vms_add_lw_fixup): Renamed to ... 1401 (alpha_vms_add_fixup_lr): ... this for consistency. 1402 (alpha_vms_add_qw_fixup): Removed. 1403 Fix some comments. 1404 (vms_get_symbol_info): Adjust type for unknown sections. 1405 14062010-08-04 Tristan Gingold <gingold@adacore.com> 1407 1408 * vms-alpha.c (_bfd_vms_slurp_egsd): Use the canonical absolute 1409 section for any absolute section. Remove some debugging code. 1410 14112010-08-03 DJ Delorie <dj@redhat.com> 1412 1413 * elf32-m32c.c (ELF_MAXPAGESIZE): Change page size to 256 bytes. 1414 14152010-08-03 Tristan Gingold <gingold@adacore.com> 1416 1417 * vms-misc.c (vms_convert_to_var): Make it static. 1418 (_bfd_vms_convert_to_var_unix_filename): Make it public. 1419 14202010-08-03 Tristan Gingold <gingold@adacore.com> 1421 1422 * makefile.vms (OBJS): Update list. 1423 14242010-08-03 Tristan Gingold <gingold@adacore.com> 1425 1426 * vms-alpha.c (_bfd_vms_slurp_egsd): Do not set SEC_HAS_CONTENTS 1427 nor SEC_RELOC for empty sections. 1428 14292010-08-03 Tristan Gingold <gingold@adacore.com> 1430 1431 * vms-alpha.c (evax_section_flags): Fix flags for absolute 1432 section. Remove useless parenthesis. 1433 14342010-08-03 Tristan Gingold <gingold@adacore.com> 1435 1436 * vms-lib.c (vms_lib_bread_raw): Change type of BUF argument. 1437 (vms_lib_bread, vms_lib_bopen): Adjust. 1438 14392010-08-02 Alan Modra <amodra@gmail.com> 1440 1441 PR 11866 1442 * elf.c (assign_file_positions_for_load_sections): Use p_vaddr to 1443 calculate off_adjust rather than first section vma. 1444 14452010-07-30 H.J. Lu <hongjiu.lu@intel.com> 1446 1447 * elflink.c (compute_bucket_count): Add ATTRIBUTE_UNUSED to info. 1448 14492010-07-30 Anthony Green <green@moxielogic.com> 1450 1451 * config.bfd (targ_cpu): Add moxie-*-rtems support. 1452 14532010-07-29 Alan Modra <amodra@gmail.com> 1454 1455 * elf64-ppc.c (ppc64_elf_edit_toc): Always adjust local syms in 1456 .toc section, even when none are used in relocs. 1457 14582010-07-27 Maciej W. Rozycki <macro@codesourcery.com> 1459 1460 * elfxx-mips.h: Include "elf/mips.h". 1461 (gprel16_reloc_p): New static inline function. 1462 * elfxx-mips.c (_bfd_mips_elf_check_relocs) 1463 [R_MIPS16_GOT16, R_MIPS_GOT16, R_MIPS_GOT_HI16, R_MIPS_GOT_LO16]: 1464 Use got16_reloc_p. 1465 (_bfd_mips_elf_relocate_section)[bfd_reloc_overflow]: Use 1466 gprel16_reloc_p. 1467 * elf32-mips.c (mips_info_to_howto_rel): Likewise. 1468 * elfn32-mips.c (mips_info_to_howto_rel): Likewise. 1469 14702010-07-27 Maciej W. Rozycki <macro@codesourcery.com> 1471 1472 * elf64-mips.c (mips_elf64_howto_table_rela) 1473 [R_MIPS_TLS_DTPMOD64]: Clear partial_inplace. 1474 [R_MIPS_TLS_DTPREL64, R_MIPS_TLS_GD, R_MIPS_TLS_LDM]: Likewise. 1475 [R_MIPS_TLS_DTPREL_HI16, R_MIPS_TLS_DTPREL_LO16]: Likewise. 1476 [R_MIPS_TLS_GOTTPREL, R_MIPS_TLS_TPREL64]: Likewise. 1477 [R_MIPS_TLS_TPREL_HI16, R_MIPS_TLS_TPREL_LO16]: Likewise. 1478 * elfn32-mips.c (elf_mips_howto_table_rela) 1479 [R_MIPS_TLS_DTPMOD32]: Likewise. 1480 [R_MIPS_TLS_DTPREL32, R_MIPS_TLS_GD, R_MIPS_TLS_LDM]: Likewise. 1481 [R_MIPS_TLS_DTPREL_HI16, R_MIPS_TLS_DTPREL_LO16]: Likewise. 1482 [R_MIPS_TLS_GOTTPREL, R_MIPS_TLS_TPREL32]: Likewise. 1483 [R_MIPS_TLS_TPREL_HI16, R_MIPS_TLS_TPREL_LO16]: Likewise. 1484 14852010-07-23 Naveen.H.S <naveen.S@kpitcummins.com> 1486 Ina Pandit <ina.pandit@kpitcummins.com> 1487 1488 * archures.c (DESCRIPTION): Define bfd_mach_v850e2 and 1489 bfd_mach_v850e2v3. 1490 * reloc.c (bfd_architecture): Define bfd_mach_v850e2 and 1491 bfd_mach_v850e2v3. 1492 (BFD_RELOC_V850_16_PCREL, BFD_RELOC_V850_17_PCREL, 1493 BFD_RELOC_V850_22_PCREL, BFD_RELOC_V850_23, 1494 BFD_RELOC_V850_32_PCREL, BFD_RELOC_V850_32_ABS, 1495 BFD_RELOC_V850_16_SPLIT_OFFSET, BFD_RELOC_V850_16_S1, 1496 BFD_RELOC_V850_LO16_SPLIT_OFFSET, BFD_RELOC_V850_SDA_15_16_OFFSET, 1497 BFD_RELOC_V850_ZDA_16_16_OFFSET, BFD_RELOC_V850_CALLT_15_16_OFFSET, 1498 BFD_RELOC_V850_32_GOTPCREL, BFD_RELOC_V850_16_GOT, 1499 BFD_RELOC_V850_32_GOT, BFD_RELOC_V850_22_PLT_PCREL, 1500 BFD_RELOC_V850_32_PLT_PCREL, BFD_RELOC_V850_COPY, 1501 BFD_RELOC_V850_GLOB_DAT, BFD_RELOC_V850_JMP_SLOT, 1502 BFD_RELOC_V850_RELATIVE, BFD_RELOC_V850_16_GOTOFF, 1503 BFD_RELOC_V850_32_GOTOFF, BFD_RELOC_V850_CODE, 1504 BFD_RELOC_V850_DATA): New relocations for V850 target. 1505 * config.bfd: Match all v850 targets. 1506 * cpu-v850.c (arch_info_struct): Define V850e2 and V850e2v3. 1507 * elf32-v850.c (v850_elf_check_relocs): Check the newly added 1508 relocations. 1509 (v850_elf_perform_relocation ): Update the newly added 1510 relocations. 1511 (v850_elf_howto_t): Update the specifications of added 1512 relocations. 1513 (v850_elf_reloc_map): Update the relocation mappings. 1514 (v850_elf_final_link_relocate): Maps added relocation into the 1515 appropriate howto structure. 1516 (v850_elf_object_p): Add support for V850E2 and V850E2V3. 1517 (v850_elf_final_write_processing): Likewise. 1518 (v850_elf_merge_private_bfd_data): Likewise. 1519 (v850_elf_print_private_bfd_data): Likewise. 1520 * libbfd.h: Regenerate. 1521 * bfd-in2.h: Regenerate. 1522 15232010-07-23 Alan Modra <amodra@gmail.com> 1524 1525 * archive.c (_bfd_archive_bsd44_construct_extended_name_table): 1526 Correct format specifier. 1527 15282010-07-22 Alan Modra <amodra@gmail.com> 1529 1530 * ecoff.c: Don't include aout/ranlib.h. 1531 (_bfd_ecoff_slurp_armap): Use correct struct for ardata->symdefs. 1532 (_bfd_ecoff_write_armap): Output ar_date and ar_size using 1533 _bfd_ar_spacepad. 1534 15352010-07-22 Alan Modra <amodra@gmail.com> 1536 1537 * aoutx.h (some_aout_object_p): Don't set EXEC_P for files with 1538 relocs. 1539 15402010-07-20 Alan Modra <amodra@gmail.com> 1541 1542 * elf.c (assign_file_positions_for_load_sections): Check that 1543 zero size sections are allocated in segments too. 1544 (assign_file_positions_for_non_load_sections): Warn if zero 1545 size alloc sections are found here. 1546 (copy_elf_program_header): Don't drop zero size sections from 1547 segment map. 1548 (copy_private_bfd_data): Check for changes in zero size sections. 1549 15502010-07-17 Alan Modra <amodra@gmail.com> 1551 1552 * elf.c (_bfd_elf_map_sections_to_segments): Force new segment 1553 for sections with overlapping LMAs. 1554 (assign_file_positions_for_load_sections): Catch overlap for 1555 sections that wrap around the address space. Replace a 1556 warning that duplicates ld's --check-sections error with a 1557 warning that lma has been adjusted for overlapping sections. 1558 15592010-07-14 Cary Coutant <ccoutant@google.com> 1560 1561 PR ld/11817 1562 * dwarf2.c (read_section): Revert patch for compressed debug sections. 1563 (find_line): Likewise. 1564 (read_and_uncompress_section): Remove. 1565 15662010-07-13 H.J. Lu <hongjiu.lu@intel.com> 1567 1568 PR ld/11812 1569 * elf32-i386.c (elf_i386_size_dynamic_sections): Don't 1570 allocate .got.plt section if there are no GOT nor PLT 1571 entries. 1572 * elf64-x86-64.c (elf64_x86_64_size_dynamic_sections): Likewise. 1573 15742010-07-13 H.J. Lu <hongjiu.lu@intel.com> 1575 1576 PR ld/11791 1577 * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Support 1578 garbage collection against STT_GNU_IFUNC symbols. 1579 1580 * elf32-i386.c (elf_i386_get_local_sym_hash): Don't set 1581 elf.plt.offset/elf.got.offset to -1. 1582 (elf_i386_tls_transition): Skip TLS transition for functions. 1583 (elf_i386_gc_sweep_hook): Support STT_GNU_IFUNC symbols. 1584 1585 * elf64-x86-64.c (elf64_x86_64_get_local_sym_hash): Don't set 1586 elf.plt.offset/elf.got.offset to -1. 1587 (elf64_x86_64_tls_transition): Skip TLS transition for functions. 1588 (elf64_x86_64_gc_sweep_hook): Support STT_GNU_IFUNC symbols. 1589 15902010-07-12 H.J. Lu <hongjiu.lu@intel.com> 1591 1592 * elf32-i386.c (elf_i386_check_relocs): Re-indent. 1593 (elf_i386_relocate_section): Likewise. 1594 15952010-07-06 H.J. Lu <hongjiu.lu@intel.com> 1596 1597 * dwarf2.c (add_line_info): Initialize prev_line. 1598 15992010-07-06 Alan Modra <amodra@gmail.com> 1600 1601 * elf32-ppc.c (ppc_elf_relax_section): Insert branch around 1602 trampolines only for .init and .fini sections. 1603 16042010-07-05 Alan Modra <amodra@gmail.com> 1605 1606 * elf32-ppc.c: Formatting. 1607 (ppc_elf_finish_dynamic_sections): Don't make plt_entry var static. 1608 16092010-07-03 Cary Coutant <ccoutant@google.com> 1610 1611 * compress.c (bfd_uncompress_section_contents): Add ATTRIBUTE_UNUSED. 1612 * dwarf2.c (read_and_uncompress_section): New function. 1613 (read_section): Call it. 1614 (find_line): Likewise. 1615 16162010-07-01 Alan Modra <amodra@gmail.com> 1617 1618 * elf64-ppc.c (ppc64_elf_edit_toc): Use SYMBOL_CALLS_LOCAL rather 1619 than SYMBOL_REFERENCES_LOCAL. 1620 (ppc64_elf_relocate_section): Likewise. 1621 16222010-07-01 Alan Modra <amodra@gmail.com> 1623 1624 * elf64-ppc.c (ppc64_elf_edit_toc): Keep toc entries for ifuncs. 1625 16262010-06-29 Alan Modra <amodra@gmail.com> 1627 1628 * cpu-maxq.c: Delete file. 1629 * coff-maxq.c: Delete file. 1630 * Makefile.am: Remove references to maxq. 1631 * archures.c: Likewise. 1632 * coffcode.h: Likewise. 1633 * configure.in: Likewise. 1634 * targets.c: Likewise. 1635 * config.bfd: Move maxq from obsolete to removed. 1636 * Makefile.in: Regenerate. 1637 * bfd-in2.h: Regenerate. 1638 * configure: Regenerate. 1639 * libbfd.h: Regenerate. 1640 * po/SRC-POTFILES.in: Regenerate. 1641 16422010-06-28 Alan Modra <amodra@gmail.com> 1643 1644 * compress.c (bfd_uncompress_section_contents): Use ATTRIBUTE_UNUSED 1645 to silence gcc warning. 1646 16472010-06-27 Alan Modra <amodra@gmail.com> 1648 1649 * elf64-ppc.c (get_tls_mask): Don't segfault on NULL elf_section_data. 1650 (group_sections): Likewise. 1651 16522010-06-27 Alan Modra <amodra@gmail.com> 1653 1654 * bout.c (aligncode): Delete set but unused variables. 1655 * coff-mcore.c (coff_mcore_relocate_section): Likewise. 1656 * coff-ppc.c (ppc_record_toc_entry): Likewise. 1657 (coff_ppc_relocate_section): Likewise. 1658 * coff-rs6000.c (xcoff_complain_overflow_bitfield_func): Likewise. 1659 * elf-m10200.c (mn10200_elf_relax_delete_bytes): Likewise. 1660 * elf-m10300.c (mn10300_elf_final_link_relocate): Likewise. 1661 (mn10300_elf_relax_section): Likewise. 1662 * elf32-arm.c (arm_build_one_stub, arm_size_one_stub): Likewise. 1663 (record_vfp11_erratum_veneer): Likewise. 1664 (bfd_elf32_arm_vfp11_erratum_scan): Likewise. 1665 (elf32_arm_final_link_relocate): Likewise. 1666 (elf32_arm_check_relocs, arm_map_one_stub): Likewise. 1667 * elf32-avr.c (elf32_avr_relax_delete_bytes): Likewise. 1668 (elf32_avr_relax_section): Likewise. 1669 (avr_mark_stub_not_to_be_necessary): Likewise. 1670 * elf32-bfin.c (_bfin_create_got_section): Likewise. 1671 * elf32-cr16.c (cr16_elf_final_link_relocate): Likewise. 1672 (elf32_cr16_relax_delete_bytes): Likewise. 1673 * elf32-cr16c.c (cr16c_elf_final_link_relocate): Likewise. 1674 * elf32-cris.c (elf_cris_finish_dynamic_symbol): Likewise. 1675 * elf32-crx.c (elf32_crx_relax_delete_bytes): Likewise. 1676 * elf32-h8300.c (elf32_h8_relax_section): Likewise. 1677 (elf32_h8_relax_delete_bytes): Likewise. 1678 * elf32-hppa.c (elf32_hppa_check_relocs): Likewise. 1679 * elf32-i370.c (i370_elf_check_relocs): Likewise. 1680 (elf_relocate_section): Likewise. 1681 * elf32-ip2k.c (adjust_all_relocations): Likewise. 1682 (ip2k_elf_relax_section): Likewise. 1683 * elf32-lm32.c (lm32_elf_relocate_section): Likewise. 1684 (lm32_elf_check_relocs): Likewise. 1685 (lm32_elf_finish_dynamic_sections): Likewise. 1686 (lm32_elf_finish_dynamic_symbol): Likewise. 1687 * elf32-m32c.c (m32c_offset_for_reloc): Likewise. 1688 (m32c_elf_relax_delete_bytes): Likewise. 1689 * elf32-m32r.c (m32r_elf_finish_dynamic_symbol): Likewise. 1690 (m32r_elf_finish_dynamic_sections): Likewise. 1691 (m32r_elf_check_relocs, m32r_elf_fake_sections): Likewise. 1692 * elf32-m68hc11.c (m68hc11_elf_relax_section): Likewise. 1693 * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Likewise. 1694 * elf32-m68k.c (elf_m68k_gc_sweep_hook): Likewise. 1695 * elf32-microblaze.c (microblaze_elf_relocate_section): Likewise. 1696 (microblaze_elf_check_relocs): Likewise. 1697 (microblaze_elf_finish_dynamic_symbol): Likewise. 1698 * elf32-msp430.c (msp430_elf_relax_delete_bytes): Likewise. 1699 * elf32-ppc.c (ppc_elf_tls_optimize): Likewise. 1700 * elf32-rx.c (rx_elf_relocate_section): Likewise. 1701 (elf32_rx_relax_delete_bytes, rx_offset_for_reloc): Likewise. 1702 (elf32_rx_relax_section): Likewise. 1703 * elf32-score.c (score_elf_got_offset_from_index): Likewise. 1704 (score_elf_final_link_relocate): Likewise. 1705 (s3_bfd_score_elf_relocate_section): Likewise. 1706 * elf32-score7.c (score_elf_got_offset_from_index): Likewise. 1707 (s7_bfd_score_elf_relocate_section): Likewise. 1708 * elf32-sh.c (sh_elf_check_relocs): Likewise. 1709 * elf32-spu.c (spu_elf_relocate_section): Likewise. 1710 * elf32-v850.c (v850_elf_check_relocs): Likewise. 1711 (find_remembered_hi16s_reloc): Likewise. 1712 * elf32-vax.c (elf32_vax_merge_private_bfd_data): Likewise. 1713 (elf_vax_relocate_section): Likewise. 1714 * elf32-xc16x.c (elf32_xc16x_relocate_section): Likewise. 1715 * elf32-xtensa.c (xlate_offset_with_removed_text): Likewise. 1716 (move_literal): Likewise. 1717 * elf64-hppa.c (elf64_hppa_section_from_shdr): Likewise. 1718 (elf64_hppa_check_relocs): Likewise. 1719 (elf64_hppa_finish_dynamic_symbol): Likewise. 1720 (elf64_hppa_relocate_section): Likewise. 1721 * elf64-mmix.c (mmix_elf_reloc, mmix_elf_relax_section): Likewise. 1722 * elf64-ppc.c (ppc64_elf_check_relocs): Likewise. 1723 (ppc64_elf_edit_opd, ppc64_elf_edit_toc): Likewise. 1724 * elfxx-ia64.c (elfNN_ia64_section_from_shdr): Likewise. 1725 (elfNN_vms_section_from_shdr): Likewise. 1726 * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise. 1727 (_bfd_sparc_elf_relocate_section): Likewise. 1728 * hp300hpux.c (slurp_symbol_table): Likewise. 1729 * i386lynx.c (swap_std_reloc_out, swap_std_reloc_in): Likewise. 1730 * mach-o.c (bfd_mach_o_write_thread): Likewise. 1731 * mmo.c (mmo_scan, mmo_write_symbols_and_terminator): Likewise. 1732 * nlm32-sparc.c (nlm_sparc_read_reloc): Likewise. 1733 * pdp11.c (pdp11_aout_link_input_section): Likewise. 1734 (aout_link_input_section, aout_link_input_bfd): Likewise. 1735 * pe-mips.c (mips_swap_reloc_out): Likewise. 1736 (coff_pe_mips_relocate_section): Likewise. 1737 * som.c (som_bfd_ar_write_symbol_stuff): Likewise. 1738 * vms-alpha.c (_bfd_vms_slurp_egsd): Likewise. 1739 * xsym.c (bfd_sym_fetch_type_information_table_ent): Likewise. 1740 1741 * coff-i860.c (i860_reloc_processing): Avoid set but unused warning. 1742 * coffcode.h (coff_compute_section_file_positions): Likewise. 1743 (coff_slurp_reloc_table): Likewise. 1744 * cpu-arm.c (arm_check_note): Likewise. 1745 * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Likewise. 1746 * elf32-avr.c (elf32_avr_relocate_section): Likewise. 1747 * elf32-bfin.c (elf32_bfin_merge_private_bfd_data): Likewise. 1748 * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise. 1749 * elf32-moxie.c (moxie_elf_relocate_section): Likewise. 1750 * elf32-msp430.c (elf32_msp430_relocate_section): Likewise. 1751 * elf32-sh64.c (_bfd_sh_align_load_span): Likewise. 1752 * ieee.c (parse_expression): Likewise. 1753 (ieee_slurp_external_symbols, drop_int): Likewise. 1754 * peXXigen.c (pe_print_pdata): Likewise. 1755 * versados.c (process_esd): Likewise. 1756 17572010-06-25 Tristan Gingold <gingold@adacore.com> 1758 1759 * vms-alpha.c (_bfd_vms_write_egsd): Check absolute section with 1760 its flags. Create an absolute section if needed. 1761 17622010-06-25 Tristan Gingold <gingold@adacore.com> 1763 1764 * vms-alpha.c (_bfd_vms_write_egsd): Set target_index field of 1765 sections. Mark .vmsdebug section as SEC_DEBUGGING. Do not create 1766 dummy psect anymore. Adjust. 1767 (_bfd_vms_write_eeom): Adjust (use target_index instead of index) 1768 (_bfd_vms_write_etir): Ditto. 1769 (start_etir_or_etbt_record): Test for SEC_DEBUGGING instead of 1770 section name. Adjust. 1771 17722010-06-25 Tristan Gingold <gingold@adacore.com> 1773 1774 * vms-alpha.c (alpha_vms_write_exec): Set linktime field. 1775 17762010-06-25 Alan Modra <amodra@gmail.com> 1777 1778 * elf64-ppc.c (toc_skip_enum): Define. 1779 (ppc64_elf_edit_toc): Use two low bits of skip array as markers. 1780 Optimize largetoc sequences. 1781 (adjust_toc_syms): Update for skip array change. 1782 (ppc64_elf_relocate_section): Handle R_PPC64_LO_DS_OPT. 1783 17842010-06-25 Alan Modra <amodra@gmail.com> 1785 1786 * elf64-ppc.c (is_static_defined): New function. 1787 (get_tls_mask, ppc_type_of_stub): Use it here. 1788 (ppc64_elf_edit_opd): Ensure we only attempt to edit ppc64 input. 1789 (ppc64_elf_tls_setup): Typo fix. 1790 (adjust_toc_syms): Correctly handle symbols defined past the end 1791 of the toc. Move syms on removed entries to next entry rather 1792 than to start of toc. 1793 (ppc64_elf_edit_toc): Likewise. Ensure we only attempt to 1794 edit ppc64 input. Allocate one extra word in skip array. 1795 Honour info->keep_memory when reading relocs if we can. 1796 Adjust toc relocs after adjusting symbols. 1797 17982010-06-23 Nathan Sidwell <nathan@codesourcery.com> 1799 1800 * archive64.c (bfd_elf64_archive_write_armap): Fix buffer overrun 1801 when scaning map. 1802 18032010-06-17 Tristan Gingold <gingold@adacore.com> 1804 1805 * Makefile.am (BFD32_BACKENDS_CFILES): Move vms-alpha.c to ... 1806 (BFD64_BACKENDS_CFILES): ... here. 1807 (BFD32_BACKENDS): Move vms-alpha.lo to ... 1808 (BFD64_BACKENDS): ... here. 1809 * Makefile.in: Regenerate. 1810 18112010-06-15 Joseph Myers <joseph@codesourcery.com> 1812 1813 * elf-bfd.h (LEAST_KNOWN_OBJ_ATTRIBUTE): Decrease to 2. 1814 * elf32-tic6x.c (elf32_tic6x_obj_attrs_arg_type, 1815 elf32_tic6x_merge_arch_attributes, elf32_tic6x_merge_attributes, 1816 elf32_tic6x_merge_private_bfd_data): New. 1817 (bfd_elf32_bfd_merge_private_bfd_data, 1818 elf_backend_obj_attrs_arg_type, elf_backend_obj_attrs_section, 1819 elf_backend_obj_attrs_section_type, elf_backend_obj_attrs_vendor): 1820 Define. 1821 * elf32-tic6x.h (elf32_tic6x_merge_arch_attributes): Declare. 1822 18232010-06-15 Joseph Myers <joseph@codesourcery.com> 1824 1825 * elf-bfd.h (LEAST_KNOWN_OBJ_ATTRIBUTE): Define. 1826 (struct elf_backend_data): Update comment on obj_attrs_order. 1827 * elf-attrs.c (vendor_obj_attr_size, vendor_set_obj_attr_contents, 1828 _bfd_elf_copy_obj_attributes): Use LEAST_KNOWN_OBJ_ATTRIBUTE 1829 instead of hardcoded 4. 1830 * elf32-arm.c (elf32_arm_obj_attrs_order): Use 1831 LEAST_KNOWN_OBJ_ATTRIBUTE and LEAST_KNOWN_OBJ_ATTRIBUTE + 1 1832 instead of hardcoded 4 and 5. 1833 (elf32_arm_merge_eabi_attributes): Use LEAST_KNOWN_OBJ_ATTRIBUTE 1834 instead of hardcoded 4. 1835 18362010-06-14 Kevin Buettner <kevinb@redhat.com> 1837 1838 * elf32-h8300.c (elf_symbol_leading_char): Define. 1839 18402010-06-11 Jan Kratochvil <jan.kratochvil@redhat.com> 1841 1842 * vms-alpha.c (_bfd_vms_write_egsd): Make sname const. 1843 18442010-06-11 Tristan Gingold <gingold@adacore.com> 1845 1846 * vms-alpha.c (_bfd_vms_slurp_egsd): Always set vma of absolute 1847 sections to 0. 1848 18492010-06-11 Tristan Gingold <gingold@adacore.com> 1850 1851 * vms-alpha.c (evax_bfd_print_etir): Handle ETIR__C_STO_GBL_LW. 1852 18532010-06-11 Tristan Gingold <gingold@adacore.com> 1854 1855 * vms-misc.c (_bfd_vms_output_counted): Make VALUE argument const. 1856 Adjust cast. 1857 (_bfd_vms_output_dump): Make DATA argument const, adjust cast. 1858 * vms.h (_bfd_vms_output_counted, _bfd_vms_output_dump): Adjust. 1859 * vms-alpha.c (evax_section_flags): Make it const. 1860 (vms_secflag_by_name): Remove unused ABFD argument. 1861 Make SECTION_FLAGS and NAME arguments const. Clarify comment. 1862 (vms_esecflag_by_name): Make SECTION_FLAGS and NAME arguments const. 1863 (_bfd_vms_slurp_egsd): Adjust call to vms_secflag_by_name. 1864 (_bfd_vms_write_egsd): Remove useless cast. 1865 18662010-06-10 Tristan Gingold <gingold@adacore.com> 1867 1868 * config.bfd: Remove #if/#endif so that som can be compiled on any 1869 host. 1870 * targets.c (_bfd_target_vector): Remove #if/#endif so that som 1871 can be used on any host. 1872 18732010-06-10 Tristan Gingold <gingold@adacore.com> 1874 1875 * som.c: Can now be compiled on any host. 1876 Include bfd headers instead of system one. 1877 (som_compute_checksum): Parameter is now a pointer to a 1878 som_external_header structure. Adjust. 1879 (struct section_to_type): Field section is now const. 1880 (R_DLT_REL, R_AUX_UNWIND, R_SEC_STMT): Removed conditional 1881 definition. 1882 (R_LONG_PCREL_MODE, R_N0SEL, R_N1SEL, R_LINETAB): Ditto. 1883 (R_LINETAB_ESC, R_LTP_OVERRIDE, R_COMMENT): Ditto. 1884 (som_swap_clock_in, som_swap_clock_out): New functions. 1885 (som_swap_header_in, som_swap_header_out): Likewise. 1886 (som_swap_space_dictionary_in): Likewise. 1887 (som_swap_space_dictionary_out): Likewise. 1888 (som_swap_subspace_dictionary_in): Likewise. 1889 (som_swap_subspace_dictionary_record_out): Likewise. 1890 (som_swap_aux_id_in, som_swap_aux_id_out): Likewise. 1891 (som_swap_string_auxhdr_out): Likewise. 1892 (som_swap_compilation_unit_out): Likewise. 1893 (som_swap_exec_auxhdr_in): Likewise. 1894 (som_swap_exec_auxhdr_out): Likewise. 1895 (som_swap_lst_header_in): Likewise. 1896 (som_object_setup): Adjust parameter type using bfd types. 1897 (setup_sections): Likewise. Ditto for object file types. 1898 Use intermediate variables for external representation and use the 1899 swap functions to convert. 1900 (som_object_p): Ditto. Remove #ifdef/#endif on always defined 1901 macros. 1902 (som_prep_headers): Likewise. 1903 (som_write_symbol_strings): Likewise. 1904 (som_begin_writing): Likewise. 1905 (som_finish_writing): Likewise. 1906 (som_build_and_write_symbol_table): Likewise. 1907 (bfd_section_from_som_symbol): Likewise. 1908 (som_slurp_symbol_table): Likewise. 1909 (som_bfd_print_private_bfd_data): Likewise. 1910 (bfd_som_attach_aux_hdr): Likewise. Clear the padding. 1911 (bfd_som_attach_compilation_unit): Likewise. 1912 (som_bfd_count_ar_symbols): Likewise. 1913 (som_bfd_fill_in_ar_symbols): Likewise. 1914 (som_slurp_armap): Likewise. 1915 (som_bfd_ar_write_symbol_stuff): Likewise. 1916 (som_write_armap): Likewise. Use _bfd_ar_spacepad instead of 1917 sprintf to write header fields. 1918 * som.h: Include bfd headers instead of system one. 1919 (FILE_HDR_SIZE, AUX_HDR_SIZE): Removed. 1920 (struct somdata): Use bfd structures instead of system ones. 1921 (struct som_section_data_struct): Likewise. 1922 (struct som_subspace_dictionary_record): Removed (now in 1923 include/som/internal.h) 1924 19252010-06-10 Tristan Gingold <gingold@adacore.com> 1926 1927 * targets.c (bfd_target_list): Remove hp/ux compiler work-around 1928 as bfd requires an ANSI-C compiler. 1929 19302010-06-09 Tristan Gingold <gingold@adacore.com> 1931 1932 * bfdio.c (bfd_bread): Fix the code to prevent reading past the 1933 end of archive members. 1934 19352010-06-08 Tristan Gingold <gingold@adacore.com> 1936 1937 * som.c (som_bfd_free_cached_info): Do not free relocations as 1938 they were allocated with bfd_zalloc. 1939 19402010-06-08 Tristan Gingold <gingold@adacore.com> 1941 1942 * vms-lib.c (_bfd_vms_lib_write_archive_contents): Increment 1943 for the first block. 1944 19452010-06-08 Tristan Gingold <gingold@adacore.com> 1946 1947 * vms-lib.c (_bfd_vms_lib_ia64_mkarchive): New function. 1948 * libbfd-in.h (_bfd_vms_lib_ia64_mkarchive): Declare. 1949 * libbfd.h: Regenerate. 1950 * elfxx-ia64.c (bfd_elfNN_write_archive_contents): Redefine for VMS. 1951 (bfd_elfNN_mkarchive): Ditto. 1952 19532010-06-02 Tristan Gingold <gingold@adacore.com> 1954 1955 * vms-alpha.c (alpha_vms_bfd_final_link): Fix 64bit constant. 1956 19572010-06-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 1958 1959 * configure: Regenerate. 1960 19612010-06-01 Tristan Gingold <gingold@adacore.com> 1962 1963 * vms-alpha.c (struct vms_private_data_struct): Add 1964 transfer_address field. Remove unused dst_info field. 1965 (alpha_vms_write_exec): Use transfer_address. 1966 (_bfd_vms_write_egsd): Add a comment about LIB$INITIALIZE. 1967 (alpha_vms_bfd_final_link): Set transfer_address. 1968 19692010-05-31 Tristan Gingold <gingold@adacore.com> 1970 1971 * vms-lib.c (credat_lo, credat_hi): New fields. 1972 (vms_read_block): Adjust comments. 1973 (vms_write_block): New function. 1974 (_bfd_vms_lib_archive_p): Decode majorid once. Replace some 1975 hard-coded values with constants. Set credat_lo and credat_hi. 1976 (_bfd_vms_lib_mkarchive): Add argument kind. 1977 Set ver, mhd_size and type according to kind. 1978 (_bfd_vms_lib_alpha_mkarchive): New function. 1979 (struct lib_index): Renamed from struct vms_index 1980 (lib_index_cmp): Renamed from vms_index_cmp. Adjusted. 1981 (get_idxlen): Type of idx argument adjusted. Add is_elfidx 1982 argument and handle it. 1983 (vms_write_index): Adjust argument idx. Handle elf indexes. 1984 (_bfd_vms_lib_build_map): Adjust type of arguments modules and res. 1985 (_bfd_vms_lib_write_archive_contents): Add is_elfidx variable and 1986 use it. Handle elf indexes. Set credat. 1987 * libbfd-in.h (_bfd_vms_lib_mkarchive): Renamed to ... 1988 (_bfd_vms_lib_alpha_mkarchive): ... this. 1989 * libbfd.h: Regenerated. 1990 * vms-alpha.c (vms_alpha_vec): Adjust after previous renaming. 1991 19922010-05-28 Sterling Augustine <sterling@tensilica.com> 1993 1994 * elf32-xtensa.c (elf_xtensa_relocate_section): Add a large amount 1995 of code to change the bits in the instructions to match the changes 1996 in the relocations. Declare dest_addr and sym_sec to help. 1997 19982010-05-28 Jan Kratochvil <jan.kratochvil@redhat.com> 1999 2000 Workaround GCC PR middle-end/4210. 2001 * vms-misc.c (vms_time_t_to_vms_time): Use ternary operator for val[2] 2002 and val[3]. 2003 20042010-05-27 Tristan Gingold <gingold@adacore.com> 2005 2006 * vms-misc.c: Define __NEW_STARLET. Remove trailing spaces. 2007 (VMS_TIME_FACTOR, VMS_TIME_OFFSET): New macros. 2008 (vms_time_to_time_t): Use them instead of local const. 2009 (vms_time_t_to_vms_time): New function. 2010 (vms_get_time): Likewise. 2011 (vms_raw_get_time): Likewise. 2012 * vms.h (vms_time_t_to_vms_time): New declaration. 2013 (vms_get_time): Likewise. 2014 (vms_raw_get_time): Likewise. 2015 20162010-05-26 Tristan Gingold <gingold@adacore.com> 2017 2018 * vms-alpha.c: Update comments. 2019 (alpha_vms_write_exec): Set lnkflags. Write the GST. 2020 (alpha_vms_link_output_symbol): New function. 2021 (alpha_vms_bfd_final_link): Generate the VMS symbol table. 2022 Set dst_section private field. 2023 (alpha_vms_bfd_final_link): Remove code that set dst_section. 2024 20252010-05-26 Tristan Gingold <gingold@adacore.com> 2026 2027 * bfdio.c: Declare and define _bfd_memory_iovec. 2028 (bfd_bread): Move code for BFD_IN_MEMORY... 2029 (bfd_bwrite): ... Ditto ... 2030 (bfd_tell): ... Ditto ... 2031 (bfd_flush): ... Ditto ... 2032 (bfd_stat): ... Ditto ... 2033 (bfd_seek): ... Ditto ... 2034 (bfd_get_size): ... Ditto ... 2035 (bfd_mmap): ... Ditto ... 2036 (memory_bread): ... to these new functions. 2037 (memory_bwrite): Ditto. 2038 (memory_btell): Ditto. 2039 (memory_bseek): Ditto. 2040 (memory_bflush): Ditto. 2041 (memory_bstat): Ditto. 2042 (memory_bmmap): Ditto. 2043 (memory_bclose): New function. 2044 * peicode.h (pe_ILF_build_a_bfd): Use BFD_IN_MEMORY. 2045 * xcofflink.c (bfd_xcoff_link_generate_rtinit): Ditto. 2046 * opncls.c (bfd_close): Do not handle BFD_IN_MEMORY case. 2047 (bfd_make_writable): Use _bfd_memory_iovec. 2048 * elfcode.h (bfd_from_remote_memory): Use _bfd_memory_iovec. 2049 * coff-alpha.c (alpha_ecoff_get_elt_at_filepos): Use 2050 _bfd_memory_iovec. 2051 (alpha_ecoff_openr_next_archived_file): Use proxy_origin 2052 instead of origin. 2053 * libbfd.h: Regenerate. 2054 20552010-05-25 Daniel Jacobowitz <dan@codesourcery.com> 2056 Joseph Myers <joseph@codesourcery.com> 2057 Andrew Stubbs <ams@codesourcery.com> 2058 2059 * config.bfd (sh-*-uclinux* | sh[12]-*-uclinux*): Add 2060 bfd_elf32_shl_vec, and FDPIC vectors to targ_selvecs. 2061 * configure.in: Handle FDPIC vectors. 2062 * elf32-sh-relocs.h: Add FDPIC and movi20 relocations. 2063 * elf32-sh.c (DEFAULT_STACK_SIZE): Define. 2064 (SYMBOL_FUNCDESC_LOCAL): Define. Use it instead of 2065 SYMBOL_REFERENCES_LOCAL for function descriptors. 2066 (fdpic_object_p): New. 2067 (sh_reloc_map): Add FDPIC and movi20 relocations. 2068 (sh_elf_info_to_howto, sh_elf_relocate_section): Handle new invalid 2069 range. 2070 (struct elf_sh_plt_info): Add got20 and short_plt. Update all 2071 definitions. 2072 (FDPIC_PLT_ENTRY_SIZE, FDPIC_PLT_LAZY_OFFSET): Define. 2073 (fdpic_sh_plt_entry_be, fdpic_sh_plt_entry_le, fdpic_sh_plts): New. 2074 (FDPIC_SH2A_PLT_ENTRY_SIZE, FDPIC_SH2A_PLT_LAZY_OFFSET): Define. 2075 (fdpic_sh2a_plt_entry_be, fdpic_sh2a_plt_entry_le) 2076 (fdpic_sh2a_short_plt_be, fdpic_sh2a_short_plt_le, fdpic_sh2a_plts): 2077 New. 2078 (get_plt_info): Handle FDPIC. 2079 (MAX_SHORT_PLT): Define. 2080 (get_plt_index, get_plt_offset): Handle short_plt. 2081 (union gotref): New. 2082 (struct elf_sh_link_hash_entry): Add funcdesc, rename tls_type to 2083 got_type and adjust all uses. Add GOT_FUNCDESC. 2084 (struct sh_elf_obj_tdata): Add local_funcdesc. Rename 2085 local_got_tls_type to local_got_type. 2086 (sh_elf_local_got_type): Renamed from sh_elf_local_got_tls_type. All 2087 users changed. 2088 (sh_elf_local_funcdesc): Define. 2089 (struct elf_sh_link_hash_table): Add sfuncdesc, srelfuncdesc, fdpic_p, 2090 and srofixup. 2091 (sh_elf_link_hash_newfunc): Initialize new fields. 2092 (sh_elf_link_hash_table_create): Set fdpic_p. 2093 (sh_elf_omit_section_dynsym): New. 2094 (create_got_section): Create .got.funcdesc, .rela.got.funcdesc 2095 and .rofixup. 2096 (allocate_dynrelocs): Allocate local function descriptors and space 2097 for R_SH_FUNCDESC-related relocations, and for rofixups. 2098 Handle GOT_FUNCDESC. Create fixups. Handle GOT entries which 2099 require function descriptors. 2100 (sh_elf_always_size_sections): Handle PT_GNU_STACK and __stacksize. 2101 (sh_elf_modify_program_headers): New. 2102 (sh_elf_size_dynamic_sections): Allocate function descriptors for 2103 local symbols. Allocate .got.funcdesc contents. Allocate rofixups. 2104 Handle local GOT entries of type GOT_FUNCDESC. Create fixups for 2105 local GOT entries. Ensure that FDPIC libraries always have a PLTGOT 2106 entry in the .dynamic section. 2107 (sh_elf_add_dyn_reloc, sh_elf_got_offset, sh_elf_initialize_funcdesc) 2108 (sh_elf_add_rofixup, sh_elf_osec_to_segment) 2109 (sh_elf_osec_readonly_p, install_movi20_field): New functions. 2110 (sh_elf_relocate_section): Handle new relocations, R_SH_FUNCDESC, 2111 R_SH_GOTFUNCDESC and R_SH_GOTOFFFUNCDESC. Use sh_elf_got_offset 2112 and .got.plt throughout to find _GLOBAL_OFFSET_TABLE_. Add rofixup 2113 read-only section warnings. Handle undefined weak symbols. Generate 2114 fixups for R_SH_DIR32 and GOT entries. Check for cross-segment 2115 relocations and clear EF_SH_PIC. Handle 20-bit relocations. 2116 Always generate R_SH_DIR32 for FDPIC instead of R_SH_RELATIVE. 2117 (sh_elf_gc_sweep_hook): Handle R_SH_FUNCDESC, R_SH_GOTOFF20, 2118 R_SH_GOTFUNCDESC, R_SH_GOTFUNCDESC20, and R_SH_GOTOFFFUNCDESC. 2119 Handle 20-bit relocations. 2120 (sh_elf_copy_indirect_symbol): Copy function descriptor reference 2121 counts. 2122 (sh_elf_check_relocs): Handle new relocations. Make symbols 2123 dynamic for FDPIC relocs. Account for rofixups. Error for FDPIC 2124 symbol mismatches. Allocate a GOT for R_SH_DIR32. Allocate fixups 2125 for R_SH_DIR32. 2126 (sh_elf_copy_private_data): Copy PT_GNU_STACK size. 2127 (sh_elf_merge_private_data): Copy initial flags. Do not clobber 2128 non-mach flags. Set EF_SH_PIC for FDPIC. Reject FDPIC mismatches. 2129 (sh_elf_finish_dynamic_symbol): Do not handle got_funcdesc entries 2130 here. Rename sgot to sgotplt and srel to srelplt. Handle short_plt, 2131 FDPIC descriptors, and got20. Create R_SH_FUNCDESC_VALUE for FDPIC. 2132 Use install_movi20_field. Rename srel to srelgot. Always generate 2133 R_SH_DIR32 for FDPIC instead of R_SH_RELATIVE. 2134 (sh_elf_finish_dynamic_sections): Fill in the GOT pointer in rofixup. 2135 Do not fill in reserved GOT entries for FDPIC. Correct DT_PLTGOT. 2136 Rename sgot to sgotplt. Assert that the right number of rofixups 2137 and dynamic relocations were allocated. 2138 (sh_elf_use_relative_eh_frame, sh_elf_encode_eh_address): New. 2139 (elf_backend_omit_section_dynsym): Use sh_elf_omit_section_dynsym. 2140 (elf_backend_can_make_relative_eh_frame) 2141 (elf_backend_can_make_lsda_relative_eh_frame) 2142 (elf_backend_encode_eh_address): Define. 2143 (TARGET_BIG_SYM, TARGET_BIG_NAME, TARGET_LITTLE_SYM) 2144 (TARGET_LITTLE_NAME, elf_backend_modify_program_headers, elf32_bed): 2145 Redefine for FDPIC vector. 2146 * reloc.c: Add SH FDPIC and movi20 relocations. 2147 * targets.c (_bfd_target_vector): Add FDPIC vectors. 2148 * configure, bfd-in2.h, libbfd.h: Regenerated. 2149 21502010-05-25 Jay Krell <jay.krell@cornell.edu> 2151 2152 PR ld/11624 2153 * archive.c (_bfd_calloc_wrapper): New function. 2154 (_bfd_add_bfd_to_archive_cache): Use it. 2155 2156 * configure.in: Add alpha*-*-*vms* to list of natives. 2157 * configure: Regenerate. 2158 2159 * vms-misc.c: Define globalref if necessary. 2160 (vms_convert_to_var_unix_filename): Rename to 2161 _bfd_vms_convert_to_var_unix_filename and export. 2162 * vms.h: Add prototype for _bfd_vms_convert_to_var_unix_filename. 2163 * vms-alpha.c (vms_close_and_cleanup): Update invocation of 2164 vms_convert_to_var_unix_filename. 2165 21662010-05-24 Tristan Gingold <gingold@adacore.com> 2167 2168 * vms-alpha.c (add_symbol_entry): New function extrated from ... 2169 (add_symbol): ... adjusted. 2170 21712010-05-24 Tristan Gingold <gingold@adacore.com> 2172 2173 * vms-alpha.c (_bfd_vms_slurp_egsd): Fix indentation. 2174 (alpha_vms_write_exec): Add a comment. 2175 (_bfd_vms_write_egsd): Ditto. 2176 (alpha_vms_convert_symbol): Remove a blank line. 2177 21782010-05-21 Tristan Gingold <gingold@adacore.com> 2179 2180 * vms-alpha.c (_bfd_vms_slurp_eihs): Do not create a bfd section 2181 for the GST. 2182 21832010-05-21 Tristan Gingold <gingold@adacore.com> 2184 2185 * vms-alpha.c (_bfd_vms_slurp_eisd): Set SEC_HAS_CONTENTS and 2186 SEC_LOAD if isect has data. 2187 (vms_get_symbol_info): Refine the condition for 'T' type. 2188 21892010-05-18 Tristan Gingold <gingold@adacore.com> 2190 2191 * vms-alpha.c (_bfd_vms_write_emh): New function. 2192 (_bfd_vms_write_lmn): New function. 2193 (_bfd_vms_write_eeom): Moved. 2194 (hash_string): Likewise. 2195 (_bfd_vms_length_hash_symbol): Likewise. 2196 (_bfd_vms_write_ehdr): Code moved to _bfd_vms_write_emh 2197 and _bfd_vms_write_lmn, and call these functions. 2198 21992010-05-18 Tristan Gingold <gingold@adacore.com> 2200 2201 * vms-alpha.c (evax_bfd_print_dst): Handle INCR_LINUM_L. 2202 Add details in the messages. 2203 (evax_bfd_print_image): Change message. 2204 22052010-05-18 H.J. Lu <hongjiu.lu@intel.com> 2206 2207 PR gas/11600 2208 * elf.c (_bfd_elf_make_section_from_shdr): Handle SHF_EXCLUDE 2209 (elf_fake_sections): Likewise. 2210 2211 * elf32-i370.c (i370_elf_section_from_shdr): Don't handle 2212 SHF_EXCLUDE here. 2213 * elf32-ppc.c (ppc_elf_fake_sections): Likewise. 2214 22152010-05-17 Tristan Gingold <gingold@adacore.com> 2216 2217 * vms-alpha.c: Include esgps.h and eidc.h. 2218 (_bfd_vms_slurp_egsd): Ignore SPSC and IDC sub-records. 2219 (evax_bfd_print_egsd_flags): New function, extracted from ... 2220 (evax_bfd_print_egsd): ..., calls evax_bfd_print_egsd_flags. Handles 2221 EGSD__C_SPSC and EGSD__C_IDC. 2222 22232010-05-14 Tristan Gingold <gingold@adacore.com> 2224 2225 * vms-alpha.c (alpha_vms_object_p): Accept header size of 0. 2226 (_bfd_vms_get_object_record): Handle align byte only in the 2227 foreign case. 2228 22292010-05-14 Tristan Gingold <gingold@adacore.com> 2230 2231 * vms-lib.c (_bfd_vms_lib_ia64_archive_p): New function. 2232 * libbfd-in.h (_bfd_vms_lib_ia64_archive_p): Add prototype. 2233 * libbfd.h: Regenerate. 2234 * configure.in (havevecs): Define HAVE_all_vecs when 2235 --enable-targets=all is set. Use AC_SUBST on it. 2236 (tdefaults): Do not add havevecs. 2237 (bfd_elf64_ia64_vms_vec): Add vms-lib.lo and vms-misc.lo 2238 * configure: Regenerate. 2239 * Makefile.am (HAVEVECS): New variable. 2240 (INCLUDES): Add HAVEVECS. 2241 * Makefile.in: Regenerate. 2242 * elfxx-ia64.c (INCLUDE_IA64_VMS): New macro, defined if vms 2243 target is selected. Add #ifdef/#endif around vms specific code. 2244 (bfd_elfNN_archive_p, bfd_elfNN_archive_slurp_armap, 2245 bfd_elfNN_archive_slurp_extended_name_table, 2246 bfd_elfNN_archive_construct_extended_name_table, 2247 bfd_elfNN_archive_truncate_arname, 2248 bfd_elfNN_archive_write_armap, 2249 bfd_elfNN_archive_read_ar_hdr, 2250 bfd_elfNN_archive_write_ar_hdr, 2251 bfd_elfNN_archive_openr_next_archived_file, 2252 bfd_elfNN_archive_get_elt_at_index, 2253 bfd_elfNN_archive_generic_stat_arch_elt, 2254 bfd_elfNN_archive_update_armap_timestamp): Define to use vms archives. 2255 22562010-05-11 Jie Zhang <jie@codesourcery.com> 2257 2258 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Merge 2259 Tag_ABI_HardFP_use correctly. 2260 22612010-05-11 Alan Modra <amodra@gmail.com> 2262 2263 * coffcode.h (coff_write_object_contents): Enclose all occurrences 2264 of hasdebug and is_reloc_section in #ifdef COFF_IMAGE_WITH_PE. 2265 22662010-05-07 Daniel Jacobowitz <dan@codesourcery.com> 2267 2268 * elf32-arm.c (struct a8_erratum_reloc): Add hash member. Move 2269 sym_name to improve packing. 2270 (cortex_a8_erratum_scan): Check for PLT entries. 2271 (elf32_arm_size_stubs): Save the target symbol for a8 relocs. 2272 22732010-05-07 Tristan Gingold <gingold@adacore.com> 2274 2275 * Makefile.in: Regenerate with automake 1.11.1. 2276 * aclocal.m4: Ditto. 2277 22782010-05-05 Nick Clifton <nickc@redhat.com> 2279 2280 * po/es.po: Updated Spanish translation. 2281 22822010-05-03 Tristan Gingold <gingold@adacore.com> 2283 2284 * vms-lib.c (vms_lib_bopen): Fix the size threshold to read 2285 selective_search flag. 2286 Add comments. 2287 * vms-alpha.c (alpha_vms_bfd_final_link): Create the DMT section 2288 before output_has_begun is set. 2289 22902010-05-03 Tristan Gingold <gingold@adacore.com> 2291 2292 * vms-alpha.c: Add comments. 2293 (struct vms_private_data_struct): Remove image_autoextend field. 2294 (dst_check_allocation): Removed. 2295 (image_write): Remove call to dst_check_allocation. 2296 (vms_slurp_debug): Do not set image_autoextend. Adjust section 2297 size. 2298 (_bfd_vms_slurp_object_records): Remove useless new_type variable. 2299 (alpha_vms_write_exec): Use dst_section to get the dst section. 2300 Write the dmt section. 2301 (evax_bfd_print_image): Also print the dst size in hexa. Fix typo. 2302 (alpha_vms_read_sections_content): Do not set image_autoextend. 2303 (alpha_vms_bfd_final_link): Generate the dst. 2304 23052010-05-03 Tristan Gingold <gingold@adacore.com> 2306 2307 * vms-lib.c (_bfd_vms_lib_archive_p): Adjust for a possible empty 2308 next array. 2309 (vms_lib_dcx): Adjust for the above change. 2310 23112010-04-30 H.J. Lu <hongjiu.lu@intel.com> 2312 2313 PR ld/11542 2314 * elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): New. 2315 2316 * elf32-i386.c (elf_i386_relocate_section): Use it. 2317 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise. 2318 23192010-04-30 Tristan Gingold <gingold@adacore.com> 2320 2321 * vms-lib.c (vms_read_block): New function. 2322 (vms_traverse_index): Use vms_read_block. Handle long key names. 2323 23242010-04-30 Tristan Gingold <gingold@adacore.com> 2325 2326 * vms-lib.c (struct lib_tdata): Field artdata added, fields nbr_syms 2327 and syms removed. 2328 (struct carsym_mem): New structure. 2329 (vms_add_index): New function. 2330 (vms_add_indexes_from_list): New function. 2331 (vms_traverse_index): Parameter carsym changed to carsym_mem. 2332 Code adjusted to handle elfidx. 2333 (vms_lib_read_index): Adjusted for vms_traverse_index changes. 2334 Parameter NBREL is now a pointer. 2335 (_bfd_vms_lib_archive_p): Adjust for above change. Handle ia64 2336 archives. 2337 (_bfd_vms_lib_mkarchive): Adjusted for changes in struct lib_tdata. 2338 (_bfd_vms_lib_find_symbol): Ditto. 2339 (vms_lib_bopen): Fix two typos: return FALSE in case of error, 2340 check MHD id. 2341 (_bfd_vms_lib_get_module): New function. 2342 (_bfd_vms_lib_get_elt_at_index): Rewritten using the above 2343 function. 2344 (_bfd_vms_lib_openr_next_archived_file): Use _bfd_vms_lib_get_module. 2345 (_bfd_vms_lib_generic_stat_arch_elt): Handle ia64 archives. 2346 (vms_write_index): Adjust for structure renamed. 2347 * vms-alpha.c (alpha_vms_link_add_archive_symbols): Adjust for 2348 changes of _bfd_vms_lib_find_symbol. 2349 23502010-04-28 Kai Tietz <kai.tietz@onevision.com> 2351 2352 * config.bfd: Correct accidential reverted patch 2353 about vax*-*-*vms*. 2354 23552010-04-27 Kai Tietz <kai.tietz@onevision.com> 2356 2357 * pe-x86_64.c (TARGET_UNDERSCORE): Set value dependent 2358 to USE_MINGW64_LEADING_UNDERSCORES. 2359 * pei-x86_64.c (TARGET_UNDERSCORE): Likewise. 2360 * config.bfd: Change underscoring default for x64 mingw 2361 to false. 2362 * coffcode.h (coff_write_relocs): Add check that dereferenced 2363 sym_ptr_ptr isn't NULL. 2364 * config.in (USE_MINGW64_LEADING_UNDERSCORES): New. 2365 * configure: Regenerated. 2366 * configure.in: Add option '--enable-leading-mingw64-underscores' 2367 and define config.in variable USE_MINGW64_LEADING_UNDERSCORES. 2368 23692010-04-27 Nick Clifton <nickc@redhat.com> 2370 2371 PR binutils/11512 2372 * coffgen.c (coff_find_nearest_line): Incldue the section address 2373 of function name symbols in address comparisons. 2374 23752010-04-27 Nick Clifton <nickc@redhat.com> 2376 2377 * po/fr.po: Updated French translation. 2378 23792010-04-23 Alan Modra <amodra@gmail.com> 2380 2381 * elf.c: Replace use of ELF_IS_SECTION_IN_SEGMENT and 2382 ELF_IS_SECTION_IN_SEGMENT_FILE with ELF_SECTION_IN_SEGMENT 2383 throughout file. 2384 (assign_file_positions_for_load_sections): Modify section in 2385 segment warning to ignore overlay vmas. 2386 * elf32-spu.c (spu_elf_object_p): Replace use of 2387 ELF_IS_SECTION_IN_SEGMENT_MEMORY with ELF_SECTION_IN_SEGMENT. 2388 23892010-04-22 Nick Clifton <nickc@redhat.com> 2390 2391 * po/bfd.pot: Updated by the Translation project. 2392 * po/vi.po: Updated Vietnamese translation. 2393 23942010-04-22 Alan Modra <amodra@gmail.com> 2395 2396 * elf.c (assign_file_positions_for_load_sections): Revert 2008-05-29 2397 change. Tidy. Don't error on sections not allocated in segment. 2398 23992010-04-15 Andrew Haley <aph@redhat.com> 2400 2401 * bfd-in.h (elf32_arm_fix_exidx_coverage): Add new flag: 2402 merge_exidx_entries. 2403 * bfd-in2.h: Likewise. 2404 * elf32-arm.c (elf32_arm_fix_exidx_coverage): Likewise. Use it to 2405 control merging of exidx entries. 2406 24072010-04-20 Joseph Myers <joseph@codesourcery.com> 2408 2409 * elf32-tic6x.h: New. 2410 * elf-bfd.h (enum elf_target_id): Define TIC6X_ELF_DATA. 2411 * elf32-tic6x.c (struct elf32_tic6x_obj_tdata, elf32_tic6x_tdata, 2412 elf32_tic6x_howto_table_rel, elf32_tic6x_info_to_howto_rel, 2413 elf32_tic6x_set_use_rela_p, elf32_tic6x_mkobject, 2414 elf32_tic6x_new_section_hook, elf32_tic6x_rel_relocation_p, 2415 bfd_elf32_mkobject, bfd_elf32_new_section_hook): New. 2416 (elf32_tic6x_reloc_type_lookup, elf32_tic6x_reloc_name_lookup, 2417 elf32_tic6x_relocate_section): Handle REL relocations. 2418 (elf_info_to_howto_rel): Define to elf32_tic6x_info_to_howto_rel. 2419 24202010-04-20 Jakub Jelinek <jakub@redhat.com> 2421 2422 * dwarf2.c (find_abstract_instance_name, scan_unit_for_symbols): Treat 2423 DW_AT_linkage_name the same as DW_AT_MIPS_linkage_name. 2424 24252010-04-19 Nick Clifton <nickc@redhat.com> 2426 2427 * archive64.c (bfd_elf64_archive_slurp_armap): Remove unused 2428 arhdrpos variable. 2429 * elf64-x86-64.c (elf64_x86_64_relocate_section): Add unused 2430 attribute to warned variable. Remove unused val, type and type2 2431 variables. 2432 24332010-04-16 Andreas Schwab <schwab@redhat.com> 2434 2435 * vms-alpha.c (alpha_vms_link_add_object_symbols): Avoid breaking 2436 strict-aliasing rules. 2437 24382010-04-16 Tristan Gingold <gingold@adacore.com> 2439 2440 * vms-alpha.c (_bfd_vms_slurp_eihd): Fix typo. 2441 (_bfd_vms_get_object_record): Always assume there is a pad byte 2442 for alignment. 2443 2444 * vms-lib.c: Add a few comments. 2445 24462010-04-15 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> 2447 2448 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Support additions to 2449 attributes in v2.08 of the ABI. 2450 24512010-04-15 Alan Modra <amodra@gmail.com> 2452 2453 * config.bfd (vax*-*-*vms*): Delete. 2454 24552010-04-14 Tristan Gingold <gingold@adacore.com> 2456 2457 * Makefile.am (BFD32_BACKENDS): Remove vms-gsd.lo, vms-hdr.lo, 2458 vms-tir.lo, vms.lo and add vms-alpha.lo 2459 (BFD32_BACKENDS_CFILES): Remove vms-gsd.c, vms-hdr.c, 2460 vms-tir.c, vms.c and add vms-alpha.c 2461 * Makefile.in: Regenerate. 2462 * configure.in (TDEFINES): Adjust file list for vms_alpha_vec. 2463 Remove vms_vax_vec. 2464 * configure: Regenerate. 2465 * targets.c (vms_vax_vec): Remove the declaration. 2466 (_bfd_target_vector): Remove vms_vax_vec. 2467 * vms-alpha.c: New file. 2468 * vms-gsd.c: Removed, rewritten in vms-alpha.c 2469 * vms-hdr.c: Ditto. 2470 * vms-tir.c: Ditto. 2471 * vms.c: Ditto. 2472 * vms-misc.c: Fix indentation and comments. Replace most of 2473 #if VMS_DEBUG/vms_debug with vms_debug2. 2474 (_bfd_vms_hash_newfunc): Moved to vms-alpha.c 2475 (hash_string): Ditto. 2476 (_bfd_vms_length_hash_symbol): Ditto. 2477 (maybe_adjust_record_pointer_for_object): Ditto. 2478 (_bfd_vms_get_object_record): Ditto. 2479 (vms_get_remaining_object_record): Ditto. 2480 (_bfd_vms_push): Ditto. 2481 (_bfd_vms_pop): Ditto. 2482 (_bfd_vms_get_header_values): Removed. 2483 (_bfd_vms_get_first_record): Removed. 2484 (vms_get_remaining_image_record): Removed. 2485 (new_symbol): Removed. 2486 (_bfd_vms_enter_symbol): Removed. 2487 (_bfd_vms_save_sized_string): Use memcpy instead of strncpy. 2488 (_bfd_vms_output_begin): Remove rechead parameter. Replace bfd 2489 parameter with struct vms_rec_wr. 2490 (_bfd_vms_output_push): Removed and replaced by ... 2491 (_bfd_vms_output_begin_subrec): ... new function. 2492 (_bfd_vms_output_alignment): Replace bfd parameter with 2493 struct vms_rec_wr, and adjust. 2494 (_bfd_vms_output_check): Ditto 2495 (_bfd_vms_output_byte): Ditto. 2496 (_bfd_vms_output_short): Ditto. 2497 (_bfd_vms_output_long): Ditto. 2498 (_bfd_vms_output_quad): Ditto. 2499 (_bfd_vms_output_counted): Ditto. 2500 (_bfd_vms_output_dump): Ditto. 2501 (_bfd_vms_output_fill): Ditto. 2502 (_bfd_vms_output_pop): Removed and replaced by ... 2503 (_bfd_vms_output_end_subrec): ... new function. 2504 (_bfd_vms_output_flush): Removed. 2505 (_bfd_vms_output_align): New function. 2506 (_bfd_vms_output_end): Add recwr parameter. Adjust for this new 2507 parameter. 2508 (vms_convert_to_var): New function imported from vms.c 2509 (vms_convert_to_var_1): Ditto. 2510 (vms_convert_to_var_unix_filename): Ditto. 2511 (vms_get_module_name): Ditto. 2512 (get_vms_time_string): Ditto. 2513 (vms_time_to_time_t): Ditto. 2514 (vms_rawtime_to_time_t): Ditto. 2515 * vms.h: All macros for the VMS file format are now in include/vms. 2516 Prototypes for vms.c, vms-gsd.c, vms-misc.c, vms-hdr.c, vms-tir.c 2517 have been removed. 2518 (struct vms_symbol_struct, struct stack_struct): Moved to vms-alpha.c 2519 (struct fileinfo, struct srecinfo, struct lineinfo): Ditto. 2520 (struct funcinfo, struct vms_private_data_struct): Ditto. 2521 (struct vms_section_data_struct): Ditto. 2522 (struct vms_rec_rd, stryct vms_rec_wr): New declarations. 2523 (vms_get_module_name, get_vms_time_string): New declarations. 2524 (vms_time_to_time_t, vms_rawtime_to_time_t): Ditto. 2525 (_bfd_vms_output_begin_subrec, _bfd_vms_output_end_subrec): Ditto. 2526 (_bfd_vms_save_sized_string, _bfd_vms_save_counted_string): Adjusted. 2527 (_bfd_vms_output_begin, _bfd_vms_output_alignment): Ditto. 2528 (_bfd_vms_output_end,_bfd_vms_output_check): Ditto. 2529 (_bfd_vms_output_byte, _bfd_vms_output_short): Ditto. 2530 (_bfd_vms_output_long, _bfd_vms_output_quad): Ditto. 2531 (_bfd_vms_output_counted, _bfd_vms_output_dump): Ditto. 2532 (_bfd_vms_output_fill): Ditto. 2533 (bfd_vms_set_section_flags): Ditto. 2534 25352010-04-14 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> 2536 2537 * elflink.c (_bfd_elf_merge_symbol): Tighten up the test for early 2538 exit due to merging the same weak symbol to test that the symbols are 2539 actually weak. 2540 25412010-04-13 Alan Modra <amodra@gmail.com> 2542 2543 * elf64-ppc.c (ppc64_elf_relocate_section): Correct NOP location 2544 when optimizing high got_tlsgd/ld insns. 2545 25462010-04-10 H.J. Lu <hongjiu.lu@intel.com> 2547 2548 * hosts/x86-64linux.h (HAVE_PRPSINFO32_T): Undefine before 2549 define. 2550 (HAVE_PRSTATUS32_T): Likewise. 2551 25522010-04-10 H.J. Lu <hongjiu.lu@intel.com> 2553 2554 PR corefiles/11467 2555 * configure.in (CORE_HEADER): New. Set to hosts/x86-64linux.h 2556 for x86_64-*-linux*. 2557 * config.in: Regenerated. 2558 * configure: Likewise. 2559 2560 * elf.c: Include CORE_HEADER if it is defined. 2561 25622010-04-10 H.J. Lu <hongjiu.lu@intel.com> 2563 Jan Kratochvil <jan.kratochvil@redhat.com> 2564 2565 * hosts/x86-64linux.h: New. 2566 25672010-04-09 Nick Clifton <nickc@redhat.com> 2568 2569 * aoutx.h (aout_link_input_bfd): Remove unused variable sym_count. 2570 * elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Remove unused 2571 variables htab and hdr_info and mark info parameter as unused. 2572 * elf.c (prep_headers): Remove unused variable i_phdrp. 2573 (_bfd_elf_write_object_contents): Remove unused variable i_ehdrp. 2574 * elf32-i386.c (elf_i386_relocate_section): Mark variabled warned 2575 as unused. 2576 * peXXigen.c (pe_print_reloc): Remove unused variable datasize. 2577 * verilog.c (verilog_write_section): Remove unused variable 2578 address. 2579 25802010-04-07 Alan Modra <amodra@gmail.com> 2581 2582 * warning.m4 (GCC_WARN_CFLAGS): Only add -Wshadow for gcc-4 and above. 2583 * configure: Regenerate. 2584 25852010-04-06 H.J. Lu <hongjiu.lu@intel.com> 2586 2587 PR ld/11434 2588 * elf-bfd.h (SYMBOLIC_BIND): Don't bind unique symbol locally. 2589 25902010-04-06 Tristan Gingold <gingold@adacore.com> 2591 2592 * vms-lib.c (_bfd_vms_lib_write_archive_contents): Fix idd flags. 2593 25942010-04-05 Jakub Jelinek <jakub@redhat.com> 2595 2596 * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Handle CIE version 4 2597 provided that it has the expected address size and zero segment 2598 length. 2599 2600 * dwarf2.c (struct line_head): Add maximum_ops_per_insn field. 2601 (struct line_info): Add op_index field, change end_sequence type to 2602 unsigned char. 2603 (new_line_sorts_after): For the same address compare op_index. 2604 (add_line_info): Add op_index argument, store it into the structure. 2605 (decode_line_info): Complain about unknown versions of .debug_line. 2606 Initialize maximum_ops_per_insn. Add op_index state register and 2607 track it. 2608 26092010-04-01 Nathan Sidwell <nathan@codesourcery.com> 2610 2611 * elf32-ppc.c (apuinfo_set): New static var. 2612 (ppc_elf_begin_write_processing): Set it here, always create an 2613 APUinfo section if there were any in the inputs. 2614 (ppc_elf_write_section): Check apuinfo_set. 2615 (ppc_elf_final_write_processing): Likewise. 2616 26172010-04-01 Tristan Gingold <gingold@adacore.com> 2618 2619 * vms.h: Include time.h. Add prototypes for vms_get_module_name, 2620 vms_time_to_time_t and vms_rawtime_to_time_t. 2621 * vms.c (vms_alpha_vec): Add archives support. 2622 * vms-misc.c: Include safe-ctype.h 2623 (vms_get_module_name): New function. 2624 (vms_time_to_time_t, vms_rawtime_to_time_t): Ditto. 2625 * vms-hdr.c (_bfd_vms_write_hdr): Put module name creation to the 2626 vms_get_module_name function. Use this function. 2627 * targets.c: Declare vms_lib_txt_vec. Add it to _bfd_target_vector. 2628 * libbfd-in.h: Add prototype for _bfd_append_relative_path. 2629 Add prototypes for vms-lib.c 2630 * libbfd.h: Regenerate. 2631 * configure.in (TDEFINES): Add an entry for vms_lib_txt_vec. Add 2632 vms-lib.lo to vms_alpha_vec. 2633 * config.bfd (targ_cpu): Add targ_selvecs for alpha*-*-*vms*. 2634 * configure: Regenerate. 2635 * bfd.c: Add selective_search field. 2636 * bfd-in2.h: Regenerate. 2637 * archive.c (append_relative_path): Rename to 2638 _bfd_append_relative_path and make it public. 2639 (_bfd_get_elt_at_filepos): Adjust for above renaming. 2640 * Makefile.am (BFD32_BACKENDS): Add vms-lib.lo 2641 (BFD32_BACKENDS_CFILES): Add vms-lib.c 2642 * Makefile.in: Regenerate. 2643 26442010-04-01 Jakub Jelinek <jakub@redhat.com> 2645 2646 * dwarf2.c (read_attribute_value): Handle CU version 4 2647 for DW_FORM_ref_addr, handle DW_FORM_sec_offset, DW_FORM_exprloc 2648 and DW_FORM_flag_present. For unknown form value return NULL. 2649 (scan_unit_for_symbols): For DW_AT_location handle DW_FORM_exprloc 2650 like DW_FORM_block. 2651 (parse_comp_unit): Allow CU version 4. 2652 26532010-04-01 Hans-Peter Nilsson <hp@axis.com> 2654 2655 * elf32-cris.c (cris_elf_relocate_section): Correct first argument 2656 to _bfd_elf_get_dynamic_reloc_section. 2657 (elf_cris_discard_excess_dso_dynamics): Ditto. 2658 26592010-03-31 Kai Tietz <kai.tietz@onevision.com> 2660 2661 * coff-i386.c (in_reloc_p): Check also for R_SECREL32. 2662 * coff-x86_64.c (in_reloc_p): Check also for R_AMD64_SECREL. 2663 26642010-03-31 Alan Modra <amodra@gmail.com> 2665 2666 * elf64-ppc.c (ppc64_elf_relocate_section): Nop out optimized 2667 TPREL16_HI and TPREL16_HA insns. 2668 26692010-03-31 Hans-Peter Nilsson <hp@axis.com> 2670 2671 PR ld/11458 2672 * elf32-cris.c (elf_cris_copy_indirect_symbol): Remove invalid 2673 assert of empty pcrel_relocs_copied on the direct symbol. Instead 2674 of moving the list from the indirect symbol to the direct symbol, 2675 merge into any existing list. 2676 (cris_elf_check_relocs): Store the original section in the 2677 pcrel_relocs_copied list, not the relocation section. 2678 (elf_cris_discard_excess_dso_dynamics): Adjust accordingly to find 2679 the relocation section, for reducing its size. Change the 2680 BFD_ASSERT into a check for the section being read-only, and only 2681 emit warnings and TEXTREL marker when there's an entry for a 2682 read-only section. 2683 26842010-03-29 Daniel Jacobowitz <dan@codesourcery.com> 2685 2686 * elf32-arm.c (using_thumb_only): Handle v6-M. 2687 26882010-03-26 Alan Modra <amodra@gmail.com> 2689 2690 * elf32-ppc.c (ppc_elf_howto_raw <R_PPC_EMB_RELSDA>): Not pc-relative. 2691 * bfd-in.h (elf_discarded_section): Clarify comment. 2692 * reloc.c (struct reloc_howto_struct <pc_relative>): Likewise. 2693 * bfd-in2.h: Regenerate. 2694 26952010-03-26 Matt Rice <ratmice@gmail.com> 2696 2697 * archive.c (_bfd_compute_and_write_armap): Allow symbols flagged 2698 as unique in the armap. 2699 27002010-03-26 Alan Modra <amodra@gmail.com> 2701 2702 PR ld/11375 2703 * elf64-ppc.c (ppc64_elf_relocate_section): Always look up a 2704 possible stub on branches. 2705 27062010-03-25 Joseph Myers <joseph@codesourcery.com> 2707 2708 * Makefile.am (ALL_MACHINES): Add cpu-tic6x.lo. 2709 (ALL_MACHINES_CFILES): Add cpu-tic6x.c. 2710 (BFD32_BACKENDS): Add elf32-tic6x.lo. 2711 (BFD32_BACKENDS_CFILES): Add elf32-tic6x.c. 2712 * Makefile.in: Regenerate. 2713 * archures.c (bfd_arch_tic6x, bfd_tic6x_arch): New. 2714 (bfd_archures_list): Update. 2715 * config.bfd (tic6x-*-elf): New. 2716 * configure.in (bfd_elf32_tic6x_be_vec, bfd_elf32_tic6x_le_vec): 2717 New. 2718 * configure: Regenerate. 2719 * cpu-tic6x.c, elf32-tic6x.c: New. 2720 * reloc.c (BFD_RELOC_C6000_PCR_S21, BFD_RELOC_C6000_PCR_S12, 2721 BFD_RELOC_C6000_PCR_S10, BFD_RELOC_C6000_PCR_S7, 2722 BFD_RELOC_C6000_ABS_S16, BFD_RELOC_C6000_ABS_L16, 2723 BFD_RELOC_C6000_ABS_H16, BFD_RELOC_C6000_SBR_U15_B, 2724 BFD_RELOC_C6000_SBR_U15_H, BFD_RELOC_C6000_SBR_U15_W, 2725 BFD_RELOC_C6000_SBR_S16, BFD_RELOC_C6000_SBR_L16_B, 2726 BFD_RELOC_C6000_SBR_L16_H, BFD_RELOC_C6000_SBR_L16_W, 2727 BFD_RELOC_C6000_SBR_H16_B, BFD_RELOC_C6000_SBR_H16_H, 2728 BFD_RELOC_C6000_SBR_H16_W, BFD_RELOC_C6000_SBR_GOT_U15_W, 2729 BFD_RELOC_C6000_SBR_GOT_L16_W, BFD_RELOC_C6000_SBR_GOT_H16_W, 2730 BFD_RELOC_C6000_DSBT_INDEX, BFD_RELOC_C6000_PREL31, 2731 BFD_RELOC_C6000_COPY, BFD_RELOC_C6000_ALIGN, 2732 BFD_RELOC_C6000_FPHEAD, BFD_RELOC_C6000_NOCMP): New. 2733 * targets.c (bfd_elf32_tic6x_be_vec, bfd_elf32_tic6x_le_vec): New. 2734 (_bfd_target_vector): Update. 2735 * bfd-in2.h, libbfd.h: Regenerate. 2736 27372010-03-24 H.J. Lu <hongjiu.lu@intel.com> 2738 2739 * aout-target.h: Update copyright year. 2740 * aout-tic30.c: Likewise. 2741 * coff-alpha.c: Likewise. 2742 * coff-rs6000.c: Likewise. 2743 * coff64-rs6000.c: Likewise. 2744 * elf64-mips.c: Likewise. 2745 * ieee.c: Likewise. 2746 * libecoff.h: Likewise. 2747 * mach-o-target.c: Likewise. 2748 * mach-o.c: Likewise. 2749 * oasys.c: Likewise. 2750 * targets.c: Likewise. 2751 27522010-03-24 H.J. Lu <hongjiu.lu@intel.com> 2753 2754 * libbfd-in.h: Update copyright year. 2755 27562010-03-21 H.J. Lu <hongjiu.lu@intel.com> 2757 2758 PR ld/11413 2759 * elflink.c (_bfd_elf_add_default_symbol): Check !executable 2760 instead of shared. 2761 27622010-03-19 Jie Zhang <jie@codesourcery.com> 2763 2764 * elf32-arm.c (struct section_list): Remove. 2765 (section_list): Remove typedef. 2766 (record_section_with_arm_elf_section_data): Remove. 2767 (find_arm_elf_section_entry): Remove. 2768 (get_arm_elf_section_data): Use is_arm_elf. 2769 (unrecord_section_with_arm_elf_section_data): Remove. 2770 (elf32_arm_new_section_hook): Don't call 2771 record_section_with_arm_elf_section_data. 2772 (elf32_arm_write_section): Set mapcount to -1 when 2773 the map has been used. Don't call 2774 unrecord_section_with_arm_elf_section_data. 2775 (unrecord_section_via_map_over_sections): Remove. 2776 (elf32_arm_close_and_cleanup): Remove. 2777 (elf32_arm_bfd_free_cached_info): Remove. 2778 (bfd_elf32_close_and_cleanup): Don't define. 2779 (bfd_elf32_bfd_free_cached_info): Don't define. 2780 27812010-03-18 H.J. Lu <hongjiu.lu@intel.com> 2782 2783 PR binutils/11396 2784 * libcoff-in.h (pe_tdata): Add dont_strip_reloc. 2785 * libcoff.h: Regenerated. 2786 2787 * peXXigen.c (_bfd_XXi_only_swap_filehdr_out): Clear F_RELFLG 2788 if dont_strip_reloc is set. 2789 (_bfd_XX_bfd_copy_private_bfd_data_common): Set 2790 dont_strip_reloc on output if there is no .reloc and 2791 IMAGE_FILE_RELOCS_STRIPPED isn't set in input. 2792 27932010-03-18 Wei Guozhi <carrot@google.com> 2794 2795 PR gas/11323 2796 * elf32-arm.c (elf32_arm_reloc_map): Map BFD_RELOC_ARM_GOT_PREL to 2797 R_ARM_GOT_PREL. 2798 * reloc.c (BFD_RELOC_ARM_GOT_PREL): New ARM relocation. 2799 * bfd-in2.h: Regenerate. 2800 * libbfd.h: Regenerate. 2801 28022010-03-17 H.J. Lu <hongjiu.lu@intel.com> 2803 2804 * reloc.c (BFD_RELOC_SPU_PIC18): Removed. 2805 (BFD_RELOC_SPU_STUB): Likewise. 2806 28072010-03-17 Jie Zhang <jie@codesourcery.com> 2808 2809 * elf.c (assign_file_positions_for_load_sections): Avoid 2810 overflow. 2811 28122010-03-17 Alan Modra <amodra@gmail.com> 2813 2814 PR binutils/11382 2815 * plugin.c (bfd_plugin_object_p): Pass iostream to fileno using 2816 proper type. 2817 28182010-03-17 Alan Modra <amodra@gmail.com> 2819 2820 * elf32-arm.c (cortex_a8_erratum_scan): Warning fix. 2821 28222010-03-16 Alan Modra <amodra@gmail.com> 2823 2824 * elf64-ppc.c (struct ppc_link_hash_table): Add do_toc_opt. 2825 (ppc64_elf_edit_toc): Set it here. 2826 (ha_reloc_match): New function. 2827 (ppc64_elf_relocate_section): Optimize bigtoc insn sequences. 2828 28292010-03-15 Alan Modra <amodra@gmail.com> 2830 2831 * elf64-ppc.c (ppc64_elf_has_small_toc_reloc): New function. 2832 * elf64-ppc.h (ppc64_elf_has_small_toc_reloc): Declare. 2833 28342010-03-14 Alan Modra <amodra@gmail.com> 2835 2836 PR ld/11378 2837 * elf64-ppc.h (ppc64_elf_check_init_fini): Declare. 2838 * elf64-ppc.c (call_check_done): Define. 2839 (ppc64_elf_add_symbol_hook): Substitute bfd_get_section_name macro. 2840 (ppc64_elf_check_relocs, ppc64_elf_size_dynamic_sections): Likewise. 2841 (ppc64_elf_finish_multitoc_partition): Remove unnecessary check. 2842 (toc_adjusting_stub_needed): Use call_check_done rather than toc_off. 2843 Simplify return logic. Iterate over all .init and .fini fragments 2844 by recursion. Set makes_toc_func_call here.. 2845 (ppc64_elf_next_input_section): ..rather than here. 2846 (check_pasted_section, ppc64_elf_check_init_fini): New functions. 2847 28482010-03-13 Alan Modra <amodra@gmail.com> 2849 2850 PR ld/11375 2851 * elf64-ppc.c (ppc_type_of_stub): Always set *hash to the 2852 function descriptor symbol if there is one, not just for plt stubs. 2853 (ppc64_elf_relocate_section): Use fdh on all ppc_get_stub_entry calls. 2854 28552010-03-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2856 2857 * elflink.c (bfd_elf_size_dynamic_sections): Don't emit base 2858 version twice. 2859 Skip it when constructing def.vd_next. 2860 2861 * elf32-i386.c (TARGET_LITTLE_SYM): Redefine to 2862 bfd_elf32_i386_sol2_vec. 2863 (TARGET_LITTLE_NAME): Redefine to elf32-i386-sol2. 2864 (elf32_bed): Redefine to elf32_i386_sol2_bed. 2865 (elf_backend_want_plt_sym): Redefine to 1. 2866 2867 * elf64-x86-64.c (TARGET_LITTLE_SYM): Redefine to 2868 bfd_elf64_x86_64_sol2_vec. 2869 (TARGET_LITTLE_NAME): Redefine to elf64-x86-64-sol2. 2870 (elf64_bed): Redefine to elf64_x86_64_sol2_bed. 2871 (elf_backend_want_plt_sym): Redefine to 1. 2872 2873 * config.bfd (i[3-7]86-*-solaris2*): Set targ_defvec to 2874 bfd_elf32_i386_sol2_vec. 2875 Replace bfd_elf64_x86_64_vec by bfd_elf64_x86_64_sol2_vec in 2876 targ64_selvecs. 2877 (x86_64-*-solaris2*): Set targ_defvec to bfd_elf32_i386_sol2_vec. 2878 Replace bfd_elf64_x86_64_vec by bfd_elf64_x86_64_sol2_vec in 2879 targ_selvecs. 2880 2881 * configure.in: Handle bfd_elf32_i386_sol2_vec, 2882 bfd_elf64_x86_64_sol2_vec. 2883 * configure: Regenerate. 2884 2885 * targets.c (bfd_elf32_i386_sol2_vec): Declare. 2886 (bfd_elf64_x86_64_sol2_vec): Declare. 2887 (_bfd_target_vector): Add bfd_elf32_i386_sol2_vec, 2888 bfd_elf64_x86_64_sol2_vec. 2889 28902010-03-04 Daniel Jacobowitz <dan@codesourcery.com> 2891 2892 * elf32-arm.c (elf32_arm_output_arch_local_syms): Skip non-program 2893 sections. 2894 28952010-03-04 Alan Modra <amodra@gmail.com> 2896 2897 PR 11302 2898 * dwarf2.c (read_abbrevs): Return NULL on alloc failures. 2899 (read_attribute_value, decode_line_info): Likewise. 2900 (add_line_info, read_rangelist): Return FALSE on alloc failures. 2901 (arange_add, sort_line_sequences): Likewise. 2902 (find_abstract_instance_name): Handle failures from called funcs. 2903 (scan_unit_for_symbols, parse_comp_unit, decode_line_info): Likewise. 2904 (find_line): Realloc to a temp, and handle alloc fail. 2905 29062010-03-03 Daniel Jacobowitz <dan@codesourcery.com> 2907 2908 * elf32-arm.c (elf32_arm_output_arch_local_syms): Do not add 2909 a mapping symbol to an empty section. 2910 29112010-03-02 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> 2912 2913 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Add a check of the 2914 return value from the call to _bfd_elf_merge_object_attributes. 2915 29162010-03-02 Christophe Lyon <christophe.lyon@st.com> 2917 Alan Modra <amodra@gmail.com> 2918 2919 * elf32-arm.c (a8_erratum_fix): Add st_type field to record the 2920 destination mode of the a8 stub. 2921 (elf32_arm_link_hash_table): Add top_id field. 2922 (elf32_arm_link_hash_table_create): Initialize top_id. 2923 (arm_type_of_stub): Update prototype, st_type can now be updated 2924 by this function. Actual destination address in case of PLT is 2925 computed here, to help factorizing code. 2926 (elf32_arm_stub_name): Update prototype, use stub_type additional 2927 parameter to build stub name. 2928 (elf32_arm_get_stub_entry): Update prototype, use stub_type 2929 additional parameter to build stub entry. 2930 (arm_build_one_stub): Use bfd_put_16/bfd_put_32 instead of 2931 put_thumb_insn/put_arm_insn as BE8 encoding is now handled later. 2932 Call elf32_arm_final_link_relocate to process all in-stub 2933 relocations. 2934 (elf32_arm_setup_section_lists): Update top_id. 2935 (cortex_a8_erratum_scan): Record stub destination mode. 2936 (elf32_arm_size_stubs): Update call to arm_type_of_stub according 2937 to new prototype. 2938 (elf32_arm_final_link_relocate): Enable processing of in-stub 2939 REL32 relocations. Rely on arm_type_of_stub to detect if a stub is 2940 needed, enabling code factorization. 2941 (elf32_arm_final_link): Process stub sections. 2942 (elf32_arm_output_map_sym): Add entry to code/data map. 2943 29442010-03-01 David S. Miller <davem@davemloft.net> 2945 2946 * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): When STT_GNU_IFUNC and 2947 h->def_regular, set h->ref_regular. 2948 (allocate_dynrelocs): Only force output of STT_GNU_IFUNC plt entries 2949 and dynamic relocations if h->ref_regular. 2950 2951 * elfxx-sparc.c (struct elf_reloc_map): Delete. 2952 (sparc_reloc_map): Delete. 2953 (_bfd_sparc_elf_reloc_type_lookup): Explicitly handle each 2954 relocation type in switch statements. 2955 29562010-02-25 Alan Modra <amodra@gmail.com> 2957 2958 PR ld/11304 2959 * elf.c (_bfd_elf_init_private_section_data): Rename need_group 2960 to final_link and invert. For final link allow some flags to 2961 differ. Don't specially allow flags to be all zero. 2962 29632010-02-24 Alan Modra <amodra@gmail.com> 2964 2965 PR binutils/10858 2966 * elfxx-mips.c (mips_elf_create_dynamic_relocation): Ise 2967 SYMBOL_REFERENCES_LOCAL to exclude entries from the dynamic symbol 2968 table. 2969 29702010-02-23 Andrew Zabolotny <anpaza@mail.ru> 2971 2972 PR binutils/11297 2973 * elf32-avr.c (elf_avr_howto_table): Add R_AVR_8. 2974 (avr_reloc_map): Map BFD_RELOC_8 to R_AVR_8. 2975 29762010-02-22 Alan Modra <amodra@gmail.com> 2977 2978 * reloc.c (bfd_check_overflow): When forming addrmask, shift 2979 fieldmask left by rightshift. 2980 (_bfd_relocate_contents): Likewise. Use rightshift addrmask in all 2981 overflow checks. 2982 29832010-02-20 H.J. Lu <hongjiu.lu@intel.com> 2984 2985 * elf64-x86-64.c (elf64_x86_64_add_symbol_hook): Don't check 2986 STT_GNU_IFUNC on large common symbol. 2987 29882010-02-18 H.J. Lu <hongjiu.lu@intel.com> 2989 2990 * elf32-i386.c (elf_i386_add_symbol_hook): Don't set 2991 has_ifunc_symbols if the symbol comes from a shared library. 2992 * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise. 2993 * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise. 2994 * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise. 2995 * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise. 2996 * elf64-x86-64.c (elf64_x86_64_add_symbol_hook): Likewise. 2997 29982010-02-19 Alan Modra <amodra@gmail.com> 2999 3000 * elf.c (_bfd_elf_fixup_group_sections): New function, split out from.. 3001 (_bfd_elf_copy_private_header_data): ..here. 3002 * elflink.c (_bfd_elf_size_group_sections): New function. 3003 (bfd_elf_size_dynamic_sections): Call it. 3004 * elf-bfd.h (_bfd_elf_size_group_sections): Declare. 3005 (_bfd_elf_fixup_group_sections): Declare. 3006 30072010-02-18 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> 3008 3009 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Add support for 3010 merging Tag_DIV_use, Tag_MPextension_use, and 3011 Tag_MPextension_use_legacy tags. 3012 30132010-02-18 Alan Modra <amodra@gmail.com> 3014 3015 * elf.c (bfd_elf_set_group_contents): Revert accidental 2009-01-15 3016 commit. Don't write zeros for removed group members. 3017 (_bfd_elf_copy_private_header_data): Adjust size of group section 3018 when group members are removed by objcopy. 3019 30202010-02-15 Dave Korn <dave.korn.cygwin@gmail.com> 3021 3022 PR binutils/11280 3023 * configure.host (*-*-solaris2.11): Add host define to select 3024 valid default code page for windres/windmc on solaris. 3025 30262010-02-15 Nick Clifton <nickc@redhat.com> 3027 3028 * po/vi.po: Updated Vietnamese translation. 3029 30302010-02-12 Daniel Gutson <dgutson@codesourcery.com> 3031 3032 * elf32-arm.c (elf32_arm_output_arch_local_syms): add 3033 missing mapping symbol to data only sections. 3034 30352010-02-11 David S. Miller <davem@davemloft.net> 3036 3037 * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): For R_SPARC_GOTDATA_OP_HIX22 3038 and R_SPARC_GOTDATA_OP_LOX10, only bump the GOT refcount for global 3039 symbols. 3040 (_bfd_sparc_elf_gc_sweep_hook): Likewise only decrement the GOT count for 3041 these relocs on global symbols. 3042 (gdopoff): New. 3043 (_bfd_sparc_elf_relocate_section): Perform GOTDATA optimizations on 3044 local symbol references which are not STT_GNU_IFUNC. Handle 3045 relocation of them like R_SPARC_HIX22 and R_SPARC_LOX10 respectively, 3046 and deal with negative vs. non-negative values properly. 3047 30482010-02-09 Tristan Gingold <gingold@adacore.com> 3049 3050 * mach-o.c (bfd_mach_o_canonicalize_one_reloc): Adjust addend for 3051 non-external relocation. 3052 30532010-02-09 Alan Modra <amodra@gmail.com> 3054 3055 * elf64-ppc.c (merge_got_entries): Move earlier in file. 3056 (allocate_dynrelocs): Merge got entries here if not doing multi-toc. 3057 (ppc64_elf_size_dynamic_sections): Similarly merge tlsld_got. 3058 (ppc64_elf_layout_multitoc): Don't resize if we have already 3059 merged got entries. 3060 30612010-02-09 Michael Holzheu <holzheu@de.ibm.com> 3062 3063 * elf-bfd.h (elfcore_write_s390_timer, elfcore_write_s390_todcmp, 3064 elfcore_write_s390_todpreg, elfcore_write_s390_ctrs, 3065 elfcore_write_s390_prefix): New. 3066 * elf.c (elfcore_write_s390_timer, elfcore_write_s390_todcmp, 3067 elfcore_write_s390_todpreg, elfcore_write_s390_ctrs, 3068 elfcore_write_s390_prefix): New. 3069 (elfcore_grok_note): Handle NT_S390_TIMER, NT_S390_TODCMP, 3070 NT_S390_TODPREG, NT_S390_CTRS and NT_S390_PREFIX. 3071 (elfcore_write_register_note): Handle .reg-s390-timer, 3072 .reg-s390-todcmp, .reg-s390-todpreg, .reg-s390-ctrs, 3073 .reg-s390-prefix section. 3074 30752010-02-09 Alan Modra <amodra@gmail.com> 3076 3077 * elf64-ppc.c (struct got_entry): Make tls_type and is_indirect 3078 unsigned char. Update variables and code using them throughout file. 3079 (struct ppc_link_hash_entry): Likewise for tls_mask. 3080 3081 * elf64-ppc.c (ppc64_elf_layout_multitoc): Don't merge local got ents. 3082 3083 * elf64-ppc.c (has_small_toc_reloc): Don't define. 3084 (makes_toc_func_call, call_check_in_progress): Shuffle flags. 3085 (struct ppc64_elf_obj_tdata): Add has_small_toc_reloc. Update 3086 code setting the flag. 3087 (ppc64_elf_next_toc_section): Group big-toc sections in 3088 0x80008000 chunks. 3089 30902010-02-08 David S. Miller <davem@davemloft.net> 3091 3092 * elfxx-sparc.h (struct _bfd_sparc_elf_link_hash_table): Remove sgot, 3093 srelgot, splt, srelplt, and sgotplt members in favor of generic copies. 3094 3095 * elfxx-sparc.c (create_got_section): Delete. 3096 (_bfd_sparc_elf_create_dynamic_sections): Don't call, the dynamic 3097 section creator does that work for us. Use ->elf.foo instead of 3098 ->foo where applicable. 3099 (_bfd_sparc_elf_check_relocs): Use ->elf.foo instead of ->foo 3100 where applicable. 3101 (allocate_dynrelocs): Likewise. 3102 (_bfd_sparc_elf_size_dynamic_sections): Likewise. 3103 (_bfd_sparc_elf_relocate_section): Likewise. 3104 (sparc_vxworks_build_plt_entry): Likewise. 3105 (_bfd_sparc_elf_finish_dynamic_symbol): Likewise. 3106 (sparc_finish_dyn): Likewise. 3107 (sparc_vxworks_finish_exec_plt): Likewise. 3108 (sparc_vxworks_finish_shared_plt): Likewise. 3109 (_bfd_sparc_elf_finish_dynamic_sections): Likewise. 3110 3111 * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Use the SYMBOL_* 3112 macros for visibilty and locality checks. 3113 (_bfd_sparc_elf_adjust_dynamic_symbol): Likewise. 3114 (allocate_dynrelocs): Likewise. 3115 (_bfd_sparc_elf_relocate_section): Likewise. 3116 (_bfd_sparc_elf_finish_dynamic_symbol):Likewise. 3117 3118 * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_symbol): Remove set 3119 but never used local var 'dynobj'. 3120 3121 * elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol): Handle 3122 nocopyreloc. 3123 3124 * reloc.c (BFD_RELOC_SPARC_JMP_IREL): New. 3125 (BFD_RELOC_SPARC_IRELATIVE): Likewise. 3126 * bfd-in2.h: Regenerate. 3127 * libbfd.h: Regenerate. 3128 3129 * elfxx-sparc.h (_bfd_sparc_elf_link_hash_table): Add loc_hash_table 3130 and loc_hash_memory. 3131 (_bfd_sparc_elf_link_hash_table_free): Declare. 3132 * elf32-sparc.c (elf32_sparc_add_symbol_hook): New. 3133 (elf_backend_add_symbol_hook, elf_backend_post_process_headers, 3134 bfd_elf32_bfd_link_hash_table_free): Define. 3135 * elf64-sparc.c (elf64_sparc_add_symbol_hook): Set 3136 has_ifunc_symbols if STT_GNU_IFUNC. 3137 (bfd_elf64_bfd_link_hash_table_free): Define. 3138 (elf_backend_post_process_headers): Define always. 3139 * elfxx-sparc.c (sparc_jmp_irel_howto, sparc_irelative_howto): New. 3140 (sparc_reloc_map): Add entries for new IFUNC relocs. 3141 (_bfd_sparc_elf_reloc_type_lookup): Handle new IFUNC relocs. 3142 (_bfd_sparc_elf_info_to_howto_ptr): Likewise. 3143 (elf_sparc_local_htab_hash, elf_sparc_local_htab_eq, 3144 elf_sparc_get_local_sym_hash): New. 3145 (_bfd_sparc_elf_create_dynamic_sections): Move PLT ops initialization 3146 from here... 3147 (_bfd_sparc_elf_link_hash_table_create): ... to here. Allocate 3148 local hash table. 3149 (_bfd_sparc_elf_link_hash_table_free): New. 3150 (create_ifunc_sections): New. 3151 (_bfd_sparc_elf_check_relocs): Unconditionally assign htab->elf.dynobj 3152 and call create_ifunc_sections(). For local STT_GNU_IFUNC symbols 3153 cons up a fake local hash table entry for it. Unconditionally add 3154 a PLT refcount for STT_GNU_IFUNC symbols when h->def_regular. Count 3155 dyn relocs for ifunc. 3156 (_bfd_sparc_elf_adjust_dynamic_symbol): Handle ifunc. 3157 (allocate_dynrelocs): Unconditionally emit a PLT entry when 3158 STT_GNU_IFUNC and h->def_regular. Count GOT dyn relocs for ifunc. 3159 (allocate_local_dynrelocs): New function. 3160 (_bfd_sparc_elf_size_dynamic_sections): Invoke it over the local hash 3161 table. Emit dynamic relocs to irelplt when not shared. Treat iplt 3162 like splt. 3163 (_bfd_sparc_elf_relocate_section): Handle ifunc relocations by hand. 3164 (_bfd_sparc_elf_finish_dynamic_symbol): Adjust for non-dynamic ifunc 3165 plt in iplt/irelplt. 3166 31672010-02-08 Richard Sandiford <r.sandiford@uk.ibm.com> 3168 3169 * xcofflink.c (_bfd_xcoff_bfd_final_link): When calculating 3170 max_contents_size, only consider sections whose contents must 3171 be swapped in. 3172 31732010-02-09 Alan Modra <amodra@gmail.com> 3174 3175 * elf64-ppc.c (allocate_dynrelocs): Remove unused got structs here.. 3176 (ppc64_elf_size_dynamic_sections): ..and here.. 3177 (merge_got_entries): ..rather than here. 3178 31792010-02-09 Alan Modra <amodra@gmail.com> 3180 3181 * elf64-ppc.c (struct ppc_link_hash_table): Add do_multi_toc. 3182 (has_small_toc_reloc): Define. 3183 (ppc64_elf_check_relocs): Set the above flags. 3184 (ppc64_elf_edit_opd): Delete obfd param. 3185 (ppc64_elf_tls_optimize): Likewise. 3186 (ppc64_elf_edit_toc): Likewise. 3187 (ppc64_elf_tls_setup): Likewise. Add no_multi_toc param. 3188 * elf64-ppc.h: Update prototypes. 3189 31902010-02-08 Alan Modra <amodra@gmail.com> 3191 3192 * section.c (struct bfd_section): Delete has_tls_reloc, 3193 has_tls_get_addr_call, has_gp_reloc, need_finalize_relax, reloc_done. 3194 Add sec_flg0 thru sec_flg5. 3195 (BFD_FAKE_SECTION): Update for changed flags. 3196 * ecoff.c (bfd_debug_section): Likewise. 3197 * elf32-ppc.c (has_tls_reloc, has_tls_get_addr_call): Define. 3198 * elf64-ppc.c (has_tls_reloc, has_tls_get_addr_call): Define. 3199 (has_toc_reloc, makes_toc_func_call, call_check_in_progress): Update. 3200 * elf32-xtensa.c (reloc_done): Define. 3201 * elfxx-ia64.c (skip_relax_pass_0, skip_relax_pass_1): Update. 3202 * bfd-in2.h: Regenerate. 3203 32042010-02-08 Tristan Gingold <gingold@adacore.com> 3205 3206 * mach-o.c (bfd_mach_o_canonicalize_one_reloc): Set reloc.r_extern 3207 for non-scattered relocations. 3208 32092010-02-08 Nathan Sidwell <nathan@codesourcery.com> 3210 3211 * elf32-ppc.c (ppc_elf_begin_write_processing): Allow empty 3212 apuinfo sections, only scan input sections once and reuse the 3213 buffer. 3214 32152010-02-08 Philipp Tomsich <philipp.tomsich@theobroma-systems.com> 3216 3217 * archures.c (bfd_mach_ppc_titan): Define. 3218 * bfd-in2.h: Regenerate. 3219 * cpu-powerpc.c (bfd_powerpc_archs): Add titan entry. 3220 32212010-02-08 Alan Modra <amodra@gmail.com> 3222 3223 * elf32-ppc.c (ppc_elf_check_relocs): Remove dead ifunc code. 3224 32252010-02-05 Sterling Augustine <sterling@tensilica.com> 3226 3227 * elf.c (assign_file_positions_for_load_sections) Update lma of 3228 section if necessary. Fixes Bugzilla 11219. 3229 32302010-02-05 H.J. Lu <hongjiu.lu@intel.com> 3231 3232 * elf32-i386.c: Remove trailing white spaces. 3233 * elf64-x86-64.c: Likewise. 3234 32352010-02-03 Nick Clifton <nickc@redhat.com> 3236 3237 * elf-bfd.h (emum elf_object_id): Rename to elf_target_id. Add 3238 entries for other architectures. 3239 (struct elf_link_hash_table): Add hash_table_id field. 3240 (elf_hash_table_id): New accessor macro. 3241 * elflink.c (_bfd_elf_link_hash_table_init): Add target_id 3242 parameter. 3243 * elf-m10300.c (elf32_mn10300_hash_table): Check table id before 3244 returning cast pointer. 3245 (elf32_mn10300_link_hash_table_create): Identify new table as 3246 containing MN10300 extensions. 3247 (mn10300_elf_relax_section): Check pointer returned by 3248 elf32_mn10300_hash_table. 3249 * elf32-arm.c: Likewise, except using ARM extensions. 3250 * elf32-avr.c: Likewise, except using AVR extensions. 3251 * elf32-bfin.c: Likewise, except using BFIN extensions. 3252 * elf32-cris.c: Likewise, except using CRIS extensions. 3253 * elf32-frv.c: Likewise, except using FRV extensions. 3254 * elf32-hppa.c: Likewise, except using HPPA32 extensions. 3255 * elf32-i386.c: Likewise, except using I386 extensions. 3256 * elf32-lm32.c: Likewise, except using LM32 extensions. 3257 * elf32-m32r.c: Likewise, except using M32RM extensions. 3258 * elf32-m68hc11.c: Likewise, except using M68HC11 extensions. 3259 * elf32-m68hc1x.c: Likewise, except using M68HC11 extensions. 3260 * elf32-m68hc1x.h: Likewise, except using M68HC11 extensions. 3261 * elf32-m68k.c: Likewise, except using M68K extensions. 3262 * elf32-microblaze.c: Likewise, except using MICROBLAZE extensions. 3263 * elf32-ppc.c: Likewise, except using PPC32 extensions. 3264 * elf32-s390.c: Likewise, except using S390 extensions. 3265 * elf32-sh.c: Likewise, except using SH extensions. 3266 * elf32-spu.c: Likewise, except using SPU extensions. 3267 * elf32-xtensa.c: Likewise, except using XTENSA extensions. 3268 * elf64-alpha.c: Likewise, except using ALPHA extensions. 3269 * elf64-hppa.c: Likewise, except using HPPA64 extensions. 3270 * elf64-ppc.c: Likewise, except using PPC64 extensions. 3271 * elf64-s390.c: Likewise, except using S390 extensions. 3272 * elf64-x86-64.c: Likewise, except using X86_64 extensions. 3273 * elfxx-ia64.c: Likewise, except using IA64 extensions. 3274 * elfxx-mips.c: Likewise, except using MIPS extensions. 3275 * elfxx-sparc.c: Likewise, except using SPARC extensions. 3276 * elfxx-sparc.h: Likewise, except using SPARC extensions. 3277 * elf32-cr16.c (struct elf32_cr16_link_hash_table): Delete 3278 redundant structure. 3279 (elf32_cr16_hash_table): Delete unused macro. 3280 (elf32_cr16_link_hash_traverse): Delete unused macro. 3281 * elf32-score.c: Likewise. 3282 * elf32-score7.c: Likewise. 3283 * elf32-vax.c: Likewise. 3284 * elf64-sh64.c: Likewise. 3285 32862010-02-03 Alan Modra <amodra@gmail.com> 3287 3288 * elf64-ppc.c (struct plt_entry): Move earlier in file. 3289 (struct got_entry): Likewise. Add is_indirect and got.ent fields. 3290 (struct ppc64_elf_obj_tdata): Change tlsld_got to be a struct got_entry. 3291 Update all uses. 3292 (struct ppc_link_hash_table): Add got_reli_size and second_toc_pass. 3293 Remove no_multi_toc. 3294 (update_local_sym_info, ppc64_elf_check_relocs): Clear is_indirect 3295 when allocating a new struct got_entry. 3296 (allocate_got): New function, extracted from.. 3297 (allocate_dynrelocs): ..here. Abort on got entry in non-ppc64 bfd. 3298 (ppc64_elf_size_dynamic_sections): Track got relocs allocated in 3299 .reliplt by got_reli_size. Set owner on ppc64_tlsld_got entries. 3300 (ppc64_elf_setup_section_lists): Remove output_bfd param and 3301 no_multi_toc, add add_stub_section and layout_sections_again. Stash 3302 new params in htab. Extract some code to.. 3303 (ppc64_elf_start_multitoc_partition): ..here. New function. 3304 (ppc64_elf_next_toc_section): Check for linker script errors. Handle 3305 second pass toc scan. 3306 (merge_got_entries, merge_global_got, reallocate_got): New functions. 3307 (ppc64_elf_reinit_toc): Rename to.. 3308 (ppc64_elf_finish_multitoc_partition): ..this. 3309 (ppc64_elf_layout_multitoc): New function. 3310 (ppc64_elf_size_stubs): Delete output_bfd, add_stub_section and 3311 layout_sections_again params. 3312 (ppc64_elf_relocate_section): Handle indirect got entries. 3313 * elf64-ppc.h: Update prototypes. Declare new functions. 3314 33152010-02-02 H.J. Lu <hongjiu.lu@intel.com> 3316 3317 * elf-bfd.h (elfcore_write_xstatereg): New. 3318 3319 * elf.c (elfcore_grok_xstatereg): New. 3320 (elfcore_write_xstatereg): Likewise. 3321 (elfcore_grok_note): Handle NT_X86_XSTATE. 3322 (elfcore_write_register_note): Handle .reg-xstate section. 3323 33242010-02-01 Tristan Gingold <gingold@adacore.com> 3325 3326 * som.c (som_write_ar_hdr): Define this macro. 3327 33282010-01-30 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 3329 3330 * elf32-hppa.c (final_link_relocate): Convert R_PARISC_TLS_GD21L, 3331 R_PARISC_TLS_LDM21L and R_PARISC_TLS_IE21L relocations that use the 3332 linkage table pointer to use the global table pointer if not doing 3333 a shared link. 3334 33352010-01-29 Joel Brobecker <brobecker@adacore.com> 3336 3337 * elf.c (elfcore_grok_lwpstatus): Do not overwrite the core signal 3338 if it has already been set. 3339 33402010-01-27 Tristan Gingold <gingold@adacore.com> 3341 3342 * vms.h: Remove trailing spaces. 3343 (struct hdr_struct): Remove unused hdr_c_cpr field. 3344 (enum file_format_enum): Add comments. 3345 * vms.c (vms_bfd_print_private_bfd_data): New function that 3346 replaces the macro. 3347 Remove trailing spaces. 3348 * vms-misc.c: Improve comments. 3349 (_bfd_vms_get_object_record): Also handle files without pads. 3350 * vms-hdr.c (_bfd_vms_write_dbg): Fix format string. 3351 * vms-gsd.c (struct flagdescstruct): Make name field const. 3352 (gsyflagdesc): Fix typo. 3353 33542010-01-27 Alan Modra <amodra@gmail.com> 3355 3356 PR ld/11217 3357 * elf64-ppc.c (struct ppc_link_hash_table): Add toc_bfd, toc_first_sec. 3358 (ppc64_elf_setup_section_lists): Init them. 3359 (ppc64_elf_next_toc_section): Don't partition multi-toc between .got 3360 and .toc on the same input file. 3361 (ppc64_elf_relocate_section): Correct GOT entry offset. 3362 33632010-01-26 Tristan Gingold <gingold@adacore.com> 3364 3365 * targets.c (BFD_JUMP_TABLE_ARCHIVE): Add initializer for write_ar_hdr. 3366 (bfd_target): Add _bfd_write_ar_hdr_fn field. 3367 * archive.c (is_bsd44_extended_name): New macro. 3368 (_bfd_generic_read_ar_hdr_mag): Use it. Add extra_size. 3369 (bfd_slurp_armap): Also check for "__.SYMDEF" as a BSD4.4 extended 3370 name. 3371 (_bfd_archive_bsd44_construct_extended_name_table): New function. 3372 (_bfd_generic_write_ar_hdr): Ditto. 3373 (_bfd_bsd44_write_ar_hdr): Ditto. 3374 (_bfd_write_archive_contents): Call _bfd_write_ar_hdr. 3375 (bsd_write_armap): Adjust firstreal computation. 3376 * libbfd-in.h (struct areltdata): Add extra_size field. 3377 (_bfd_generic_write_ar_hdr): Add prototype. 3378 (_bfd_bsd44_write_ar_hdr): Ditto. 3379 (_bfd_write_ar_hdr): Define. 3380 (_bfd_noarchive_write_ar_hdr): Ditto. 3381 (_bfd_archive_bsd_write_ar_hdr): Ditto. 3382 (_bfd_archive_coff_write_ar_hdr): Ditto. 3383 (_bfd_archive_bsd44_slurp_armap): Ditto. 3384 (_bfd_archive_bsd44_slurp_extended_name_table): Ditto. 3385 (_bfd_archive_bsd44_construct_extended_name_table): New prototype. 3386 (_bfd_archive_bsd44_truncate_arname): Ditto. 3387 (_bfd_archive_bsd44_write_armap): Ditto. 3388 (_bfd_archive_bsd44_read_ar_hdr): Ditto. 3389 (_bfd_archive_bsd44_write_ar_hdr): Ditto. 3390 (_bfd_archive_bsd44_openr_next_archived_file): Ditto. 3391 (_bfd_archive_bsd44_get_elt_at_index): Ditto. 3392 (_bfd_archive_bsd44_generic_stat_arch_elt): Ditto. 3393 (_bfd_archive_bsd44_update_armap_timestamp): Ditto. 3394 * libbfd.h: Regenerate. 3395 * oasys.c (oasys_write_ar_hdr): Define. 3396 * libecoff.h (_bfd_ecoff_write_ar_hdr): Define. 3397 * ieee.c (ieee_write_ar_hdr): Define. 3398 * elf64-mips.c (bfd_elf64_archive_write_ar_hdr): Define. 3399 * coff-rs6000.c (rs6000coff_vec): Adjust for write_ar_hdr field. 3400 (bfd_pmac_xcoff_backend_data): Ditto. 3401 * coff64-rs6000.c (rs6000coff64_vec): Ditto. 3402 (bfd_xcoff_aix5_backend_data): Ditto. 3403 * coff-alpha.c (alpha_ecoff_write_ar_hdr): Define. 3404 * aout-target.h (MY_write_ar_hdr): Define it if not defined. 3405 * aout-tic30.c (MY_write_ar_hdr): Ditto. 3406 * mach-o-target.c (TARGET_NAME): Use _bfd_archive_bsd44 archive. 3407 (bfd_mach_o_mkarchive, bfd_mach_o_read_ar_hdr) 3408 (bfd_mach_o_slurp_armap, bfd_mach_o_slurp_extended_name_table) 3409 (bfd_mach_o_construct_extended_name_table) 3410 (bfd_mach_o_truncate_arname, bfd_mach_o_write_armap) 3411 (bfd_mach_o_get_elt_at_index, bfd_mach_o_generic_stat_arch_elt) 3412 (bfd_mach_o_update_armap_timestamp): Moved to mach-o.c 3413 * mach-o.c (bfd_mach_o_mkarchive, bfd_mach_o_read_ar_hdr) 3414 (bfd_mach_o_slurp_armap, bfd_mach_o_slurp_extended_name_table) 3415 (bfd_mach_o_construct_extended_name_table) 3416 (bfd_mach_o_truncate_arname, bfd_mach_o_write_armap) 3417 (bfd_mach_o_get_elt_at_index, bfd_mach_o_generic_stat_arch_elt) 3418 (bfd_mach_o_update_armap_timestamp): Moved from mach-o-target.c 3419 * bfd-in2.h: Regenerate. 3420 34212010-01-26 Alan Modra <amodra@gmail.com> 3422 H.J. Lu <hongjiu.lu@intel.com> 3423 3424 PR ld/11218 3425 * elflink.c (elf_link_output_extsym): Do not ignore undefined 3426 symbols with ref_regular set when gc_sections is active. 3427 34282010-01-25 Alan Modra <amodra@gmail.com> 3429 3430 PR ld/11217 3431 * elf64-ppc.c (ppc64_elf_tls_optimize): Optimize tls sequences 3432 with relocations against undefined weak symbols. 3433 (ppc64_elf_relocate_section): Don't optimize calls to undefined 3434 weak functions if the symbol is dynamic. 3435 (ppc64_elf_relocate_section): Edit tprel tls sequences. 3436 * elf32-ppc.c (ppc_elf_relocate_section): Likewise. 3437 (_bfd_elf_ppc_at_tprel_transform): New function. 3438 * bfd-in.h (_bfd_elf_ppc_at_tprel_transform): Declare. 3439 * bfd-in2.h: Regenerate. 3440 34412010-01-23 Richard Sandiford <r.sandiford@uk.ibm.com> 3442 3443 * coff-rs6000.c (xcoff_howto_table): Change size to 0 and bitsize to 1. 3444 (_bfd_xcoff_reloc_type_lookup): Handle BFD_RELOC_NONE. 3445 * coff64-rs6000.c (xcoff64_howto_table): Change size to 0 and 3446 bitsize to 1. 3447 (xcoff64_reloc_type_lookup): Handle BFD_RELOC_NONE. 3448 34492010-01-21 Nick Clifton <nickc@redhat.com> 3450 3451 * elflink.c (elf_link_add_object_symbols): Look up name of 3452 undefined symbol both before and after versioning has been 3453 applied. Do not bother with symbols that are weakly undefined. 3454 34552010-01-21 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 3456 3457 * elf32-s390.c (elf32_s390_merge_private_bfd_data): New function. 3458 (bfd_elf32_bfd_merge_private_bfd_data): New macro definition. 3459 34602010-01-19 Cary Coutant <ccoutant@google.com> 3461 3462 * dwarf2.c (read_attribute_value): Add DW_FORM_ref_sig8. 3463 34642010-01-19 Daisuke Hatayama <d.hatayama@jp.fujitsu.com> 3465 Alan Modra <amodra@gmail.com> 3466 3467 * elfcode.h (elf_swap_ehdr_out): Handle e_phnum > 0xffff. 3468 (elf_object_p): Read e_phnum extension. 3469 (elf_write_shdrs_and_ehdr): Write e_phnum extension. 3470 * elfcore.h (elf_core_file_p): Read e_phnum extension. Sanity check 3471 that we can read last program header. 3472 34732010-01-19 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> 3474 3475 * elf32-arm.c (elf32_arm_howto_table_1): Correct bitsize of 3476 R_ARM_THM_CALL entry. 3477 (elf32_arm_final_link_relocate): Correct calculation of 3478 reloc_signed_max when doing a R_ARM_THM_CALL, R_ARM_THM_XPC22, 3479 or R_ARM_THM_JUMP24 relocation. 3480 34812010-01-18 Alan Modra <amodra@gmail.com> 3482 3483 PR 11168 3484 * coffcode.h (coff_compute_section_file_positions): Move Rs6000COFF_C 3485 block past vars in COFF_IMAGE_WITH_PE block. Report error on more 3486 than 32k sections. 3487 34882010-01-15 Jan Kratochvil <jan.kratochvil@redhat.com> 3489 3490 Fix compilation warning on gcc-3.4. 3491 * vms-tir.c (start_etir_record, sto_imm): Rename the prototype 3492 parameter index to sec_index according to the function definition. 3493 34942010-01-13 Chao-ying Fu <fu@mips.com> 3495 3496 * elfxx-mips.c (JR_TO_B_P): New define to transform JR to B. 3497 It is true for all CPUs. 3498 (jal_reloc_p): New function. 3499 (mips_elf_calculate_relocation): Rename require_jalxp to 3500 cross_mode_jump_p. 3501 Update comment for CROSS_MODE_JUMP_P. 3502 Set up cross_mode_jump_p based on the mode change. 3503 (mips_elf_perform_relocation): Rename require_jalx to cross_mode_jump_p. 3504 Update comment for CROSS_MODE_JUMP_P. 3505 Test cross_mode_jump_p and jal_reloc_p to turn jal to jalx. 3506 Use !cross_mode_jump_p to guard conversion. 3507 Convert "jr t9" to "b", if possible. 3508 (_bfd_mips_elf_relocate_section): Rename require_jalx to 3509 cross_mode_jump_p. 3510 Pass &cross_mode_jump_p to call mips_elf_calculate_relocation. 3511 Pass cross_mode_jump_p to call mips_elf_perform_relocation. 3512 35132010-01-13 Nick Clifton <nickc@redhat.com> 3514 3515 * cpu-m32c.c (m32c_scan): New function. Ensures that a scan for 3516 "m32c" returns the m32c arch_info_struct and not the m16c 3517 arch_info_struct. 3518 (arch_info_struct): Use the new scan function. 3519 (bfd_m32c_arch): Likewise. 3520 35212010-01-13 Tristan Gingold <gingold@adacore.com> 3522 3523 * config.bfd: Remove duplicated target vector for i386-*-darwin. 3524 Appends new arch instead of overriding. 3525 Use mach_o_x86_64_vec for x86_64-*-darwin. 3526 * configure.in: Add mach_o_x86_64_vec. 3527 * configure: Regenerate. 3528 * targets.c: Declare mach_o_x86_64_vec, add it to _bfd_target_vector. 3529 * Makefile.am (BFD64_BACKENDS): Add mach-o-x86-64.lo 3530 (BFD64_BACKENDS_CFILES): Add mach-o-x86-64.c 3531 * Makefile.in: Regenerate. 3532 * mach-o-x86-64.c: New file. 3533 35342010-01-13 Tristan Gingold <gingold@adacore.com> 3535 3536 * reloc.c: Add MACH_O_X86_64 relocations. 3537 * bfd-in2.h: Regenerate. 3538 * libbfd.h: Regenerate. 3539 35402010-01-13 Tristan Gingold <gingold@adacore.com> 3541 3542 * archive.c (normalize): Use lbasename. 3543 (bfd_bsd_truncate_arname): Ditto. 3544 (bfd_gnu_truncate_arname): Ditto. 3545 35462010-01-12 Tristan Gingold <gingold@adacore.com> 3547 3548 * makefile.vms (CFLAGS): Turns warnings into informational messages. 3549 35502010-01-11 Tristan Gingold <gingold@adacore.com> 3551 3552 * mach-o.h: Add x86-64 relocation types. 3553 35542010-01-11 Tristan Gingold <gingold@adacore.com> 3555 3556 * mach-o.h (bfd_mach_o_backend_data): Add arch field. 3557 (bfd_mach_o_set_arch_mach): New prototype. 3558 * mach-o.c (bfd_mach_o_mkobject): Define with bfd_mach_o_gen_mkobject. 3559 (bfd_mach_o_set_arch_mach): New function. 3560 (bfd_mach_o_gen_mkobject): New function. 3561 Set TARGET_ARCHITECTURE for the generic back-ends. 3562 * mach-o-target.c (bfd_mach_o_set_arch_mach): Remove define. 3563 Check that TARGET_ARCHITECTURE is defined. 3564 Add TARGET_ARCHITECTURE in TARGET_NAME_BACKEND structure. 3565 * mach-o-i386.c (TARGET_ARCHITECTURE): Define. 3566 35672010-01-11 Tristan Gingold <gingold@adacore.com> 3568 3569 * archive.c (bfd_slurp_armap): Also check for Mach-O sorted armap. 3570 35712010-01-11 Nick Clifton <nickc@redhat.com> 3572 3573 * elf32-v850.c (v850_elf_perform_relocation): Fix overflow 3574 handling of R_V850_HI16_S relocation. 3575 35762010-01-11 Alan Modra <amodra@gmail.com> 3577 3578 PR 11103 3579 * dwarf1.c (parse_die): Correct FORM_STRING data pointer increment. 3580 35812010-01-11 Alan Modra <amodra@gmail.com> 3582 3583 PR 6832 3584 * dwarf2.c (struct comp_unit): Add sec_info_ptr. 3585 (find_abstract_instance_name): Use it. 3586 (parse_comp_unit): Set it. 3587 35882010-01-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 3589 3590 * Makefile.in: Regenerate. 3591 * configure: Regenerate. 3592 35932010-01-08 Tristan Gingold <gingold@adacore.com> 3594 3595 * archive.c: Remove bfd_special_undocumented_glue. 3596 35972010-01-08 Alan Modra <amodra@gmail.com> 3598 3599 PR ld/11133 3600 * elf32-cr16.c (elf32_cr16_gc_mark_hook): Call _bfd_elf_gc_mark_hook. 3601 * elf32-microblaze.c (microblaze_elf_gc_mark_hook): Likewise. 3602 * elf64-ppc.c (ppc64_elf_gc_mark_hook): Likewise. 3603 36042010-01-07 H.J. Lu <hongjiu.lu@intel.com> 3605 3606 PR ld/11138 3607 * elflink.c (elf_link_check_versioned_symbol): Don't abort if 3608 a symbol referenced by DSO is is defined in a non-shared object 3609 and forced local. 3610 36112010-01-07 H.J. Lu <hongjiu.lu@intel.com> 3612 3613 PR ld/11133 3614 * elflink.c (_bfd_elf_gc_mark_hook): Check section XXX for 3615 undefined __start_XXX/__stop_XXX in all input files and set 3616 SEC_KEEP. 3617 36182010-01-07 H.J. Lu <hongjiu.lu@intel.com> 3619 3620 PR ld/11143 3621 * elflink.c (elf_gc_sweep): Keep SHT_NOTE section. 3622 36232010-01-04 Daniel Gutson <dgutson@codesourcery.com> 3624 3625 * bfd.m4 (BFD_HAVE_SYS_PROCFS_TYPE): Define _STRUCTURE_PROC 3626 before including procfs.h. 3627 (BFD_HAVE_SYS_PROCFS_TYPE_MEMBER): Likewise. 3628 * configure.in: Added autoconf probe for the pr_fpreg member. 3629 * configure: Regenerated. 3630 * config.in: Regenerated. 3631 * elf.c: Define _STRUCTURE_PROC before including procfs.h. 3632 36332010-01-04 Joel Brobecker <brobecker@adacore.com> 3634 3635 Fix -Wshadow warnings in dwarf2.c (seen on alpha-tru64). 3636 * dwarf2.c (concat_filename): Rename dirname with dir_name 3637 to void shadowing the dirname function. 3638 Rename subdirname with subdir_name to stay consistent with 3639 the new dir_name variable name. 3640 36412010-01-04 Edmar Wienskoski <edmar@freescale.com> 3642 3643 * archures.c: Add bfd_mach_ppc_e500mc64. 3644 * bfd-in2.h: Regenerate. 3645 * cpu-powerpc.c (bfd_powerpc_archs): Add entry for 3646 bfd_mach_ppc_e500mc64. 3647 36482010-01-01 Joel Brobecker <brobecker@adacore.com> 3649 3650 Fix -Wshadow warnings (seen on ppc-aix) 3651 * xcofflink.c: Replace finfo by flinfo throughout. 3652 3653For older changes see ChangeLog-2009 3654 3655Local Variables: 3656mode: change-log 3657left-margin: 8 3658fill-column: 74 3659version-control: never 3660End: 3661