ChangeLog revision 218822
12007-07-02 Joseph Myers <joseph@codesourcery.com> 2 3 * elfxx-mips.c (mips_elf_calculate_relocation): Handle 4 R_MIPS_TLS_DTPREL32 and R_MIPS_TLS_DTPREL64. 5 * elf64-mips.c (mips_elf64_howto_table_rela): Support 6 R_MIPS_TLS_DTPREL64. 7 82007-07-02 Alan Modra <amodra@bigpond.net.au> 9 10 * Makefile.am: Run "make dep-am". 11 * Makefile.in: Regenerate. 12 * aclocal.m4: Regenerate. 13 * config.in: Regenerate. 14 * po/SRC-POTFILES.in: Regenerate. 15 * po/bfd.pot: Regenerate. 16 172007-07-02 Alan Modra <amodra@bigpond.net.au> 18 19 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Tidy 20 symsec != NULL tests. 21 222007-07-02 Alan Modra <amodra@bigpond.net.au> 23 24 PR 4712 25 * elf.c (assign_file_positions_for_load_sections): Adjust lma 26 by p_vaddr_offset. 27 282007-06-30 H.J. Lu <hongjiu.lu@intel.com> 29 30 * aclocal.m4: Regenerated. 31 * Makefile.in: Likewise. 32 332007-06-29 Joseph Myers <joseph@codesourcery.com> 34 35 * elf32-ppc.c (ppc_elf_merge_obj_attributes): New. 36 (ppc_elf_merge_private_bfd_data): Call it. 37 382007-06-29 Joseph Myers <joseph@codesourcery.com> 39 40 * elfxx-mips.c (mips_elf_merge_obj_attributes): New. 41 (_bfd_mips_elf_merge_private_bfd_data): Call it. 42 432007-06-29 Joseph Myers <joseph@codesourcery.com> 44 45 * elf-attrs.c: New. 46 * Makefile.am (BFD32_BACKENDS): Add elf-attrs.lo. 47 (BFD32_BACKENDS_CFILES): Add elf-attrs.c. 48 (elf-attrs.lo): Generate dependencies. 49 * Makefile.in: Regenerate. 50 * configure.in (elf): Add elf-attrs.lo. 51 * configure: Regenerate. 52 * elf-bfd.h (struct elf_backend_data): Add entries for object 53 attributes. 54 (NUM_KNOWN_OBJ_ATTRIBUTES, obj_attribute, obj_attribute_list, 55 OBJ_ATTR_PROC, OBJ_ATTR_GNU, OBJ_ATTR_FIRST, OBJ_ATTR_LAST, 56 Tag_NULL, Tag_File, Tag_Section, Tag_Symbol, Tag_compatibility): 57 New. 58 (struct elf_obj_tdata): Add entries for object attributes. 59 (elf_known_obj_attributes, elf_other_obj_attributes, 60 elf_known_obj_attributes_proc, elf_other_obj_attributes_proc): 61 New. 62 (bfd_elf_obj_attr_size, bfd_elf_set_obj_attr_contents, 63 bfd_elf_get_obj_attr_int, bfd_elf_add_obj_attr_int, 64 bfd_elf_add_proc_attr_int, bfd_elf_add_obj_attr_string, 65 bfd_elf_add_proc_attr_string, bfd_elf_add_obj_attr_compat, 66 bfd_elf_add_proc_attr_compat, _bfd_elf_attr_strdup, 67 _bfd_elf_copy_obj_attributes, _bfd_elf_obj_attrs_arg_type, 68 _bfd_elf_parse_attributes, _bfd_elf_merge_object_attributes): New. 69 * elf.c (_bfd_elf_copy_private_bfd_data): Copy object attributes. 70 (bfd_section_from_shdr): Handle attributes sections. 71 * elflink.c (bfd_elf_final_link): Handle attributes sections. 72 * elfxx-target.h (elf_backend_obj_attrs_vendor, 73 elf_backend_obj_attrs_section, elf_backend_obj_attrs_arg_type, 74 elf_backend_obj_attrs_section_type): New. 75 (elfNN_bed): Update. 76 * elf32-arm.c (NUM_KNOWN_ATTRIBUTES, aeabi_attribute, 77 aeabi_attribute_list): Remove. 78 (struct elf32_arm_obj_tdata): Remove object attributes fields. 79 (check_use_blx, bfd_elf32_arm_set_vfp11_fix, using_thumb2, 80 elf32_arm_copy_private_bfd_data, elf32_arm_merge_eabi_attributes): 81 Update for new object attributes interfaces. 82 (uleb128_size, is_default_attr, eabi_attr_size, 83 elf32_arm_eabi_attr_size, write_uleb128, write_eabi_attribute, 84 elf32_arm_set_eabi_attr_contents, elf32_arm_bfd_final_link, 85 elf32_arm_new_eabi_attr, elf32_arm_get_eabi_attr_int, 86 elf32_arm_add_eabi_attr_int, attr_strdup, 87 elf32_arm_add_eabi_attr_string, elf32_arm_add_eabi_attr_compat, 88 copy_eabi_attributes, elf32_arm_parse_attributes): Remove. Moved 89 to generic code in elf-attrs.c. 90 (elf32_arm_obj_attrs_arg_type): New. 91 (elf32_arm_fake_sections): Do not handle .ARM.attributes. 92 (elf32_arm_section_from_shdr): Do not handle SHT_ARM_ATTRIBUTES. 93 (bfd_elf32_bfd_final_link): Remove. 94 (elf_backend_obj_attrs_vendor, elf_backend_obj_attrs_section, 95 elf_backend_obj_attrs_arg_type, 96 elf_backend_obj_attrs_section_type): New. 97 * elf32-bfin.c (bfin_elf_copy_private_bfd_data): Copy object 98 attributes. 99 * elf32-frv.c (frv_elf_copy_private_bfd_data): Likewise. 100 * elf32-iq2000.c (iq2000_elf_copy_private_bfd_data): Likewise. 101 * elf32-mep.c (mep_elf_copy_private_bfd_data): Likewise. 102 * elf32-mt.c (mt_elf_copy_private_bfd_data): Likewise. 103 * elf32-sh.c (sh_elf_copy_private_data): Likewise. 104 * elf64-sh64.c (sh_elf64_copy_private_data_internal): Likewise. 105 1062007-06-29 Paul Brook <paul@codesourcery.com> 107 108 * elf32-arm.c (bfd_elf32_arm_process_before_allocation): Suppress 109 call veneers for call relocations against undefined symbols. 110 (elf32_arm_final_link_relocate): Turn call to undefined symbol 111 into a jump to the next instruction. 112 1132007-06-29 Michael Snyder <msnyder@svkmacdonelllnx> 114 115 * bfd.c (bfd_demangle): Plug memory leak (Coverity). 116 1172007-06-29 M R Swami Reddy <MR.Swami.Reddy@nsc.com> 118 119 * Makefile.am: Add cr16 related entry 120 * Makefile.in: Regenerate 121 * archures.c: Add bfd_cr16_arch 122 * bfd-in2.h: Regenerate 123 * config.bfd: Add cr16-elf 124 * configure.in: Add bfd_elf32_cr16_vec 125 * configure: Regenerate. 126 * targets.c: Added cr16 related information 127 * cpu-cr16.c: New file. 128 * elf32-cr16.c: New file. 129 * reloc.c: Added cr16 relocs. 130 1312007-06-29 Alan Modra <amodra@bigpond.net.au> 132 133 * elflink.c (_bfd_elf_link_assign_sym_version): Improve error 134 message for undefined version nodes. 135 (elf_gc_sweep): Don't warn when zero size sections are 136 removed. 137 1382007-06-29 Nathan Froyd <froydnj@codesourcery.com> 139 140 * elf32-ppc.c (ppc_elf_info_to_howto): Check for invalid relocation 141 types. 142 1432007-06-29 Alan Modra <amodra@bigpond.net.au> 144 145 * elf32-spu.c (spu_elf_fake_sections): New function. 146 (elf_backend_fake_sections): Define. 147 1482007-06-29 Alan Modra <amodra@bigpond.net.au> 149 150 * elf.c (assign_file_positions_for_load_sections): Use elf 151 section header sh_size rather than bfd section size, simplifying 152 .tbss handling. 153 1542007-06-29 Alan Modra <amodra@bigpond.net.au> 155 156 PR ld/4701 157 * elf.c (assign_file_positions_for_load_sections): Ensure bss 158 segments meet gABI alignment requirements. Don't allocate 159 file space for bss sections in a segment also containing file 160 or program headers. 161 1622007-06-27 Alan Modra <amodra@bigpond.net.au> 163 164 * bfd.c (struct bfd): Rename "next" to "archive_next". 165 * archive.c: Rename uses throughout file. 166 * archive64.c: Likewise. 167 * coff-rs6000.c: Likewise. 168 * ecoff.c: Likewise. 169 * som.c: Likewise. 170 * bfd-in2.h: Regenerate. 171 172 * elf32-ppc.c (ppc_elf_select_plt_layout): Properly iterate over 173 input bfds. 174 * elf32-spu.c (spu_elf_create_sections): Likewise. 175 1762007-06-26 H.J. Lu <hongjiu.lu@intel.com> 177 178 * dwarf2.c (find_line): New. Contains the duplicated code from: 179 (_bfd_dwarf2_find_nearest_line): Use it. 180 (_bfd_dwarf2_find_line): Use it. 181 1822007-06-26 Joseph Myers <joseph@codesourcery.com> 183 184 * elf32-arm.c (copy_eabi_attributes): Copy type of attributes. 185 1862007-06-25 Richard Sandiford <richard@codesourcery.com> 187 188 * elfxx-mips.c (mips_elf_calculate_relocation): Allow local stubs 189 to be used for calls from MIPS16 code. 190 1912007-06-23 Andreas Schwab <schwab@suse.de> 192 193 * configure.in (--with-separate-debug-dir): New option. 194 * configure: Regenerate. 195 * Makefile.am (dwarf2.lo): Add rule to pass DEBUGDIR. 196 * Makefile.in: Regenerate. 197 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Pass DEBUGDIR to 198 bfd_follow_gnu_debuglink. 199 (_bfd_dwarf2_find_line): Likewise. 200 2012007-06-22 Nick Clifton <nickc@redhat.com> 202 203 * dwarf2.c: Add support for reading in debug information via a 204 .gnu_debuglink section: 205 (struct dwarf2_debug): Add bfd field to record the bfd containing 206 the debug info. 207 (parse_comp_unit): Remove ABFD parameter. Instead use the bfd 208 field in the dwarf2_debug structure. 209 (_bfd_dwarf2_find_nearest_line): If a debug info section could not 210 be found in the current bfd call bfd_follow_gnu_debuglink to see 211 if another file contains the debug information. If it does, open 212 it and continue. 213 (_bfd_dwarf2_find_line): Likewise. 214 2152007-06-19 H.J. Lu <hongjiu.lu@intel.com> 216 217 PR ld/4590 218 * elfxx-ia64.c (sort_dyn_sym_info): Keep the valid got_offset 219 when removing duplicated entries. 220 (get_dyn_sym_info): Initialize the got_offset field to -1. 221 Update call to sort_dyn_sym_info. 222 (elfNN_ia64_relocate_section): Call sort_dyn_sym_info to sort 223 array of addend and remove duplicates. 224 2252007-06-18 H.J. Lu <hongjiu.lu@intel.com> 226 227 * libpei.h (_bfd_XXi_final_link_postscript): Remove 228 duplication. 229 (bfd_target_pei_p): New. 230 (bfd_target_pei_arch): New 231 (bfd_target_efi_p): Likewise. 232 (bfd_target_efi_arch): New 233 (bfd_pe_executable_p): Use bfd_target_pei_p and 234 bfd_target_efi_p. 235 236 * peicode.h (arch_type): New enum. 237 (pe_arch): New function. 238 (pe_bfd_object_p): Don't match PE/EFI target with EFI/PE file 239 if there is an EFI/PE target. 240 2412007-06-14 H.J. Lu <hongjiu.lu@intel.com> 242 243 * Makefile.am (ACLOCAL_AMFLAGS): Add -I . -I ../config. 244 245 * acinclude.m4: Don't include m4 files. Remove libtool 246 kludge. 247 248 * Makefile.in: Regenerated. 249 * aclocal.m4: Likewise. 250 * configure: Likewise. 251 2522007-06-11 Sterling Augustine <sterling@tensilica.com> 253 Bob Wilson <bob.wilson@acm.org> 254 255 * elf32-xtensa.c (extend_ebb_bounds_forward): Use renamed 256 XTENSA_PROP_NO_TRANSFORM flag instead of XTENSA_PROP_INSN_NO_TRANSFORM. 257 (extend_ebb_bounds_backward, compute_text_actions): Likewise. 258 (compute_ebb_proposed_actions, coalesce_shared_literal): Likewise. 259 (xtensa_get_property_predef_flags): Likewise. 260 (compute_removed_literals): Pass new arguments to is_removable_literal. 261 (is_removable_literal): Add sec, prop_table and ptblsize arguments. 262 Do not remove literal if the NO_TRANSFORM property flag is set. 263 2642007-05-31 Richard Sandiford <rsandifo@nildram.co.uk> 265 266 * elfxx-mips.c (mips_elf_initialize_tls_index): When processing a 267 type (3) single-GOT entry, read tls_type from the hash table entry 268 rather than the GOT entry. 269 2702007-06-01 Alan Modra <amodra@bigpond.net.au> 271 272 * simple.c (bfd_simple_get_relocated_section_contents): Init 273 input_bfds_tail. 274 2752007-05-30 Alan Modra <amodra@bigpond.net.au> 276 277 * elf.c (elf_fake_sections): Adjust test for SHT_NOBITS sections 278 created by objcopy --only-keep-debug. 279 (_bfd_elf_init_private_section_data): Only change elf_section_type 280 if it is SHT_NULL. 281 282 * elf.c (assign_file_positions_for_load_sections): Correct sh_type 283 to SHT_NOBITS earlier. Base actions in rest of function on sh_type 284 and sh_flags instead of bfd section flags. Delete voff and code 285 keeping nobits segments aligned. 286 2872007-05-25 Eric Christopher <echristo@apple.com> 288 289 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): 290 Check that sym_sec isn't NULL before accessing. 291 2922007-05-24 Steve Ellcey <sje@cup.hp.com> 293 294 * Makefile.in: Regnerate. 295 * configure: Regenerate. 296 * aclocal.m4: Regenerate. 297 * doc/Makefile.in: Regenerate. 298 2992007-05-22 Paul Brook <paul@codesourcery.com> 300 301 * elf32-arm.c (output_arch_syminfo): Replace plt_shndx and plt_offset 302 with sec and sec_shndx. 303 (elf32_arm_ouput_plt_map_sym): Use them. 304 (elf32_arm_output_arch_local_syms): Output mapping symbols for 305 interworking glue. 306 3072007-05-18 Paul Brook <paul@codesourcery.com> 308 309 * elf32-arm.c (ARM2THUMB_V5_STATIC_GLUE_SIZE): Define. 310 (a2t1v5_ldr_insn, a2t1v5_ldr_insn): New. 311 (record_arm_to_thumb_glue): Add v5t non-pic glue. 312 (elf32_arm_create_thumb_stub): Ditto. 313 3142007-05-16 H.J. Lu <hongjiu.lu@intel.com> 315 Alan Modra <amodra@bigpond.net.au> 316 317 * elflink.c (_bfd_elf_adjust_dynamic_copy): Align dynamic bss 318 section to the minimum alignment. 319 3202007-05-15 H.J. Lu <hongjiu.lu@intel.com> 321 Alan Modra <amodra@bigpond.net.au> 322 323 PR ld/4504 324 * elf-bfd.h (_bfd_elf_adjust_dynamic_copy): New. 325 * elflink.c (_bfd_elf_adjust_dynamic_copy): New. 326 327 * elf-m10300.c (_bfd_mn10300_elf_adjust_dynamic_symbol): Call 328 _bfd_elf_adjust_dynamic_copy to adjust for the copy in dynamic 329 bss section. 330 * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Likewise. 331 * elf32-cris.c (elf_cris_adjust_dynamic_symbol): Likewise. 332 * elf32-hppa.c (elf32_hppa_adjust_dynamic_symbol): Likewise. 333 * elf32-i370.c (i370_elf_adjust_dynamic_symbol): Likewise. 334 * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Likewise. 335 * elf32-m32r.c (m32r_elf_adjust_dynamic_symbol): Likewise. 336 * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise. 337 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Likewise. 338 * elf32-s390.c (elf_s390_adjust_dynamic_symbol): Likewise. 339 * elf32-sh.c (sh_elf_adjust_dynamic_symbol): Likewise. 340 * elf32-vax.c (elf_vax_adjust_dynamic_symbol): Likewise. 341 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise. 342 * elf64-s390.c (elf_s390_adjust_dynamic_symbol): Likewise. 343 * elf64-sh64.c (sh64_elf64_adjust_dynamic_symbol): Likewise. 344 * elf64-x86-64.c (elf64_x86_64_adjust_dynamic_symbol): Likewise. 345 * elfxx-mips.c (_bfd_mips_vxworks_adjust_dynamic_symbol): Likewise. 346 * elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol): Likewise. 347 3482007-05-15 Richard Sandiford <richard@codesourcery.com> 349 350 * elfxx-mips.c (mips_elf_create_local_got_entry): Remove 351 input_section argument. Create .rela.dyn relocations against 352 symbol 0 rather than the section symbol. 353 (mips_elf_local_got_index): Remove input_section argument. 354 Update call to mips_elf_create_local_got_entry. 355 (mips_elf_got_page, mips_elf_got16_entry): Likewise. 356 (mips_elf_calculate_relocation): Update calls to 357 mips_elf_local_got_index, mips_elf_got16_entry and mips_elf_got_page. 358 3592007-05-15 Mark Shinwell <shinwell@codesourcery.com> 360 361 * elf32-arm.c (elf32_arm_final_link_relocate): Correctly 362 handle the Thumb-2 JUMP19 relocation. 363 3642007-05-15 Alan Modra <amodra@bigpond.net.au> 365 366 PR 4479 367 * elf.c (elf_fake_sections): Don't allow backend to change 368 SHT_NOBITS if called for strip/objcopy --only-keep-debug. 369 * elfxx-mips.c (_bfd_mips_elf_fake_sections): Remove similar 370 fix from here. 371 3722007-05-14 Alan Modra <amodra@bigpond.net.au> 373 374 * elf.c (bfd_elf_string_from_elf_section): Return NULL on 375 invalid shstrndx. 376 (bfd_elf_get_str_section): Likewise. 377 3782007-05-12 Alan Modra <amodra@bigpond.net.au> 379 380 PR 4497 381 * elf-eh-frame.c (struct cie): Add "local_personality". Make 382 "personality" a union. 383 (cie_eq): Compare local_personality too. Adjust personality 384 comparison. 385 (_bfd_elf_discard_section_eh_frame): Check binding on personality 386 reloc sym to allow for bad symtab. Use stashed local syms rather 387 than reading personality local sym. Handle discarded sections. 388 3892007-05-12 Alan Modra <amodra@bigpond.net.au> 390 391 * elf32-spu.c (elf_howto_table): Add howto for R_SPU_ADDR16X. 392 3932007-05-11 Alan Modra <amodra@bigpond.net.au> 394 395 * elf32-ppc.h (ppc_elf_select_plt_layout): Update prototype. 396 (enum ppc_elf_plt_type): Move from.. 397 * elf32-ppc.c: ..here. 398 (struct ppc_elf_obj_tdata): Add makes_plt_call and has_rel16. 399 (struct ppc_elf_link_hash_table): Reorder. Add old_bfd. Delete 400 can_use_new_plt. Make is_vxworks a bitfield. 401 (ppc_elf_link_hash_table_create): Don't clear is_vxworks (again). 402 (ppc_elf_check_relocs): Update setting of reloc flags. Set old_bfd. 403 (ppc_elf_select_plt_layout): Modify parameters. Use bfd reloc 404 flags to better detect object files needing old bss-style plt. 405 Allow secure plt to be used without rel16 relocs being detected. 406 Warn if secure plt request cannot be allowed. 407 4082007-05-11 Alan Modra <amodra@bigpond.net.au> 409 410 * reloc.c (BFD_RELOC_SPU_PPU32, BFD_RELOC_SPU_PPU64): Define. 411 * elf-bfd.h (struct elf_backend_data): Change return type of 412 elf_backend_relocate_section to int. 413 * elf32-spu.c (elf_howto_table): Add howtos for R_SPU_PPU32 and 414 R_SPU_PPU64. 415 (spu_elf_bfd_to_reloc_type): Convert new relocs. 416 (spu_elf_count_relocs): New function. 417 (elf_backend_count_relocs): Define. 418 (spu_elf_relocate_section): Arrange to emit R_SPU_PPU32 and 419 R_SPU_PPU64 relocs. 420 * elflink.c (elf_link_input_bfd): Emit relocs if relocate_section 421 returns 2. 422 * bfd-in2.h: Regenerate. 423 * libbfd.h: Regenerate. 424 4252007-05-10 Richard Sandiford <richard@codesourcery.com> 426 427 * elf32-arm.c (elf32_arm_check_relocs): Don't create PLT entries 428 for R_ARM_ABS12 relocs. 429 (elf32_arm_finish_dynamic_symbol): Fix the loop that creates 430 non-shared VxWorks PLT entries. 431 4322007-05-11 Alan Modra <amodra@bigpond.net.au> 433 434 PR 4454 435 * elf-eh-frame.c (struct cie): Make "personality" a bfd_vma. 436 (_bfd_elf_discard_section_eh_frame): Handle local syms on 437 personality relocation. 438 4392007-05-10 Richard Sandiford <richard@codesourcery.com> 440 441 * elf.c (assign_file_positions_for_load_sections): Use p_memsz 442 rather than p_filesz to calculate the LMA of the end of a segment. 443 4442007-05-10 Jakub Jelinek <jakub@redhat.com> 445 446 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Don't do copyreloc 447 processing if symbol is defined in the executable. 448 4492007-05-10 Alexandre Oliva <aoliva@redhat.com> 450 451 * elf32-frv.c (_frvfdpic_check_discarded_relocs): New. 452 (frvfdpic_elf_discard_info): New. 453 (elf_backend_discard_info): Define for FDPIC. 454 4552007-05-09 Mark Shinwell <shinwell@codesourcery.com> 456 457 * elf32-arm.c (bfd_elf32_arm_vfp11_erratum_scan): Don't 458 attempt to scan if the bfd doesn't correspond to an ELF image. 459 (bfd_elf32_arm_vfp11_fix_veneer_locations): Likewise. 460 4612007-05-08 Alexandre Oliva <aoliva@redhat.com> 462 463 * elf32-frv.c (elf32_frv_relocate_section): Discard dynamic relocs 464 for which _bfd_elf_section_offset returns -1. 465 4662007-05-08 Alan Modra <amodra@bigpond.net.au> 467 468 * elf32-spu.c (spu_elf_size_stubs): Use "void *" for psyms. 469 (mark_functions_via_relocs): Likewise. 470 4712007-05-07 Alan Modra <amodra@bigpond.net.au> 472 473 * elflink.c (bfd_elf_final_link): Correct reloc handling for 474 elf_backend_count_relocs. 475 (bfd_elf_discard_info): Print an error if we can't read syms. 476 4772007-05-07 Alan Modra <amodra@bigpond.net.au> 478 479 * elf32-spu.c (spu_elf_reloc_type_lookup): Return NULL on 480 invalid reloc code. 481 (spu_elf_gc_mark_hook, spu_elf_section_processing): Delete functions. 482 (elf_backend_gc_mark_hook, elf_backend_section_processing): Don't 483 define. 484 4852007-05-07 Alan Modra <amodra@bigpond.net.au> 486 487 * elf.c (assign_file_positions_for_load_sections): Don't check 488 core segment. 489 4902007-05-04 H.J. Lu <hongjiu.lu@intel.com> 491 492 * elflink.c (elf_link_sort_relocs): Return if both .rela.dyn 493 and .rel.dyn aren't present. 494 4952007-05-04 Nick Clifton <nickc@redhat.com> 496 497 * elflink.c (elf_link_sort_relocs): If both .rela.dyn and .rel.dyn 498 sections are present examine the indirect sections in an attempt 499 to compute the correct relocation size. If there is any 500 ambiguity, produce an error and refuse to sort. 501 5022007-05-03 Sandra Loosemore <sandra@codesourcery.com> 503 504 * elf32-arm.c (allocate_dynrelocs): Fix typo in comment. 505 5062007-05-03 Vincent Riviere <vincent.riviere@freesbee.fr> 507 Nick Clifton <nickc@redhat.com> 508 509 PR gas/3041 510 * aoutx.h (swap_std_reloc_out): Treat relocs against weak symbols 511 in the same way as relocs against external symbols. 512 5132007-05-02 Alan Modra <amodra@bigpond.net.au> 514 515 * elf.c (assign_file_positions_for_load_sections): Set sh_offset 516 here. Set sh_type to SHT_NOBITS if we won't be allocating 517 file space. Don't bump p_memsz for non-alloc sections. Adjust 518 section-in-segment check. 519 (assign_file_positions_for_non_load_sections): Don't set sh_offset 520 here for sections that have already been handled above. 521 5222007-04-30 Alan Modra <amodra@bigpond.net.au> 523 524 * elf32-spu.c (struct spu_link_hash_table): Add stack_analysis 525 and emit_stack_syms bitfields. 526 (get_sym_h): Read all symbols if stack analysis will be done. 527 (spu_elf_create_sections): Add stack_analysis and emit_stack_syms 528 params, and stash in hash table. 529 (is_hint): Split off from.. 530 (is_branch): ..here. Adjust callers. 531 (spu_elf_size_stubs): Add stack_analysis param. Arrange to read 532 and keep all syms. 533 (write_one_stub): Fix mem leak. 534 (find_function_stack_adjust): New function. 535 (sort_syms_syms, sort_syms_psecs): New vars. 536 (sort_syms): New function. 537 (struct call_info, struct function_info): New. 538 (struct spu_elf_stack_info): New. 539 (alloc_stack_info, maybe_insert_function, func_name): New functions. 540 (is_nop, insns_at_end, check_function_ranges): Likewise. 541 (find_function, insert_callee, mark_functions_via_relocs): Likewise. 542 (pasted_function, interesting_section, discover_functions): Likewise. 543 (mark_non_root, call_graph_traverse, build_call_tree): Likewise. 544 (sum_stack, spu_elf_stack_analysis, spu_elf_final_link): Likewise. 545 (bfd_elf32_bfd_final_link): Define. 546 * elf32-spu.h (struct _spu_elf_section_data): Add stack_info field. 547 (spu_elf_create_sections, spu_elf_size_stubs): Update prototypes. 548 5492007-04-28 Sergey Rogozhkin <rogozhkin@niisi.msk.ru> 550 551 * elfxx-mips.c (mips_elf_create_dynamic_relocation): Don't access 552 memory which we might not own. 553 5542007-04-27 Bob Wilson <bob.wilson@acm.org> 555 556 * elf32-xtensa.c (elf_xtensa_make_sym_local): Restore deleted function. 557 (elf_xtensa_hide_symbol, elf_backend_hide_symbol): Likewise. 558 (elf_xtensa_allocate_dynrelocs): Use elf_xtensa_make_sym_local. 559 5602007-04-27 Bob Wilson <bob.wilson@acm.org> 561 562 * elf32-xtensa.c (xtensa_read_table_entries): Step through table 563 contents and relocs in parallel. 564 5652007-04-27 Bob Wilson <bob.wilson@acm.org> 566 567 * elf32-xtensa.c (relax_property_section): Remove extra irel increment. 568 5692007-04-27 Alan Modra <amodra@bigpond.net.au> 570 571 * cpu-rs6000.c: Write Mimi's name in ASCII. 572 * coff-rs6000.c: Likewise. 573 * rs6000-core.c: Likewise. 574 5752007-04-27 Alan Modra <amodra@bigpond.net.au> 576 577 * sysdep.h: Include config.h first. 578 Many files: Include sysdep.h before bfd.h. 579 * Makefile.am: Run "make dep-am". 580 * Makefile.in: Regenerate. 581 5822007-04-25 Alan Modra <amodra@bigpond.net.au> 583 584 * sysdep.h: Revert last change. 585 5862007-04-24 Nick Clifton <nickc@redhat.com> 587 588 * coffcode.h (coff_slurp_reloc_table): Initialise dst.r_offset. 589 * coff-m68k.c (m68kcoff_rtype_to_howto): Initialize relent.howto. 590 5912007-04-24 Alan Modra <amodra@bigpond.net.au> 592 593 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Warn if 594 eh_frame_hdr table won't be created. 595 5962007-04-24 Alan Modra <amodra@bigpond.net.au> 597 598 * acinclude.m4: Include config/stdint.m4. 599 * configure.in: Invoke GCC_HEADER_STDINT. 600 * sysdep.h: Don't include ansidecl.h here. 601 * configure: Regenerate. 602 * config.in: Regenerate. 603 * Makefile.in: Regenerate. 604 6052007-04-23 Nathan Sidwell <nathan@codesourcery.com> 606 607 * archures.c (bfd_mach_mcf_isa_c, bfd_mach_mcf_isa_c_mac, 608 bfd_mach_mcf_isa_c_emac): New. 609 * elf32-m68k.c (ISAC_PLT_ENTRY_SIZE, elf_isac_plt0_entry, 610 elf_isac_plt_entry, elf_isac_plt_info): New. 611 (elf32_m68k_object_p): Add ISA_C. 612 (elf32_m68k_print_private_bfd_data): Print ISA_C. 613 (elf32_m68k_get_plt_info): Detect ISA_C. 614 * cpu-m68k.c (arch_info): Add ISAC. 615 (m68k_arch_features): Likewise, 616 (bfd_m68k_compatible): ISAs B & C are not compatible. 617 6182007-04-21 Nick Clifton <nickc@redhat.com> 619 620 * ecoff.c (_bfd_ecoff_write_armap): Initialise rehash. 621 (ecoff_link_add_archive_symbols): Likewise. 622 * coff-m68k.c (m68kcoff_common_addend_rtype_to_howto): Initialise 623 relent.howto. 624 * ieee.c (parse_int): Initialise x. 625 (must_parse_int): Initialise result. 626 (ieee_slurp_external_symbols): Initialise value. 627 6282007-04-21 Alan Modra <amodra@bigpond.net.au> 629 630 * config.bfd (spu-*-elf): Delete targ_selvecs. 631 6322007-04-19 Nick Clifton <nickc@redhat.com> 633 634 * coffcode.h (coff_rtype_to_howto): Initialise genrel.howto. 635 6362007-04-19 Alan Modra <amodra@bigpond.net.au> 637 638 * bfd.c (bfd_demangle): New function. 639 * Makefile.am: Run "make dep-am". 640 * Makefile.in: Regenerate. 641 * bfd-in2.h: Regenerate. 642 6432007-04-18 Matthias Klose <doko@ubuntu.com> 644 645 * Makefile.am (libbfd_la_LDFLAGS): Use bfd soversion. 646 (bfdver.h): Use the date in non-release builds for the soversion. 647 * Makefile.in: Regenerate. 648 6492007-04-17 Paul Brook <paul@codesourcery.com> 650 651 * elf.c (_bfd_elf_is_function_type): New function. 652 * elflink.c (_bfd_elf_merge_symbol): Use bed->is_function_type. 653 (_bfd_elf_dynamic_symbol_p, _bfd_elf_symbol_refs_local_p, 654 is_global_data_symbol_definition, elf_link_add_object_symbols): Ditto. 655 * elf-bfd.h (elf_backend_data): Add is_function_type. 656 (_bfd_elf_is_function_type): Add prototype. 657 * elfxx-target.h (elf_backend_is_function_type): Add default 658 definition. 659 (elfNN_bed): Add elf_backend_is_function_type. 660 * elf32-arm.c (elf32_arm_is_function_type): New function. 661 (elf_backend_is_function_type): Define. 662 6632007-04-17 Daniel Jacobowitz <dan@codesourcery.com> 664 665 * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Put 666 DT_MIPS_RLD_MAP before DT_DEBUG again. 667 6682007-04-14 Steve Ellcey <sje@cup.hp.com> 669 670 * Makefile.am: Add ACLOCAL_AMFLAGS. 671 * configure.in: Change macro call order. 672 * Makefile.in: Regnerate. 673 * doc/Makefile.in: Regenerate. 674 * configure: Regenerate. 675 6762007-04-14 Jakub Jelinek <jakub@redhat.com> 677 678 * elflink.c (bfd_elf_final_link): Don't free symbuf for 679 non-elf input bfds. 680 (bfd_elf_size_dynamic_sections): Don't access elf_section_data 681 for non-elf input bfds. 682 6832007-04-12 Richard Sandiford <richard@codesourcery.com> 684 685 * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Don't add 686 DT_MIPS_RTLD_MAP for PIEs. 687 6882007-04-12 Richard Sandiford <richard@codesourcery.com> 689 690 * elfxx-mips.c (mips_elf_calculate_relocation): Set DT_TEXTREL 691 when creating a __GOTT_BASE__ or __GOTT_INDEX__ relocation 692 in a read-only section. 693 (_bfd_mips_elf_check_relocs): Likewise. 694 6952007-04-12 Bob Wilson <bob.wilson@acm.org> 696 697 * elf32-xtensa.c (xtensa_is_insntable_section): New. 698 (xtensa_is_proptable_section): New. 699 (elf_xtensa_discard_info_for_section): Handle "full" .xt.prop property 700 tables with 12-byte entries, as well as tables with 8-byte entries. 701 Sort the relocations before examining them. 702 (relax_property_section): Use xtensa_is_proptable_section and 703 xtensa_is_littable_section. Rewrite code for combining table entries 704 to be more robust in case of unexpected relocations. Do not set offset 705 of unused relocations to less than zero. 706 (xtensa_is_property_section): Use other functions instead of 707 duplicating section name comparisons. 708 (xtensa_is_littable_section): Use CONST_STRNEQ for ".gnu.linkonce.p.". 709 (xtensa_get_property_predef_flags): Use xtensa_is_insntable_section. 710 7112007-04-12 Bob Wilson <bob.wilson@acm.org> 712 713 * elf32-xtensa.c (elf_xtensa_gc_mark_hook): Don't follow references 714 from Xtensa property sections. 715 7162007-04-12 Alan Modra <amodra@bigpond.net.au> 717 718 * elf32-spu.c (needs_ovl_stub): Test that spu_elf_section_data 719 is non-NULL before dereferencing. 720 7212007-04-11 Nathan Sidwell <nathan@codesourcery.com> 722 723 * elf-vxworks.c (elf_vxworks_emit_relocs): Remap weakdef PLT slot 724 relocs too. 725 7262007-04-10 Richard Henderson <rth@redhat.com> 727 728 * elf64-alpha.c (struct alpha_elf_link_hash_table): Add relax_trip. 729 (elf64_alpha_size_got_sections): Remove unused something_changed local. 730 (elf64_alpha_size_plt_section): Return void. 731 (elf64_alpha_size_rela_got_section): Likewise. 732 (elf64_alpha_relax_section): Only regenerate got+plt if the 733 relax_trip counter has changed. 734 7352007-04-09 Daniel Jacobowitz <dan@codesourcery.com> 736 737 * Makefile.am (bfdver.h): Do not generate doc/bfdver.texi. 738 * doc/Makefile.am (DOCFILES): Add bfdver.texi. 739 (bfdver.texi): New rule. 740 * Makefile.in, doc/Makefile.in: Regenerated. 741 7422007-04-03 Matt Thomas <matt@netbsd.org> 743 744 * elf32-vax.c (elf_vax_relocate_section): Do not emit a PCREL reloc 745 in a shared object if it is not in a CODE section or if it is against 746 a section symbol. This allows DWARF2 to use pcrel format. 747 7482007-04-05 H.J. Lu <hongjiu.lu@intel.com> 749 750 PR ld/4304 751 * elflink.c (bfd_elf_final_link): Call einfo callback in 752 bfd_link_info instead of _bfd_error_handler for DT_TEXTREL 753 warning. 754 7552007-04-05 Alan Modra <amodra@bigpond.net.au> 756 757 * elf32-spu.c (spu_elf_output_symbol_hook): New function. 758 (elf_backend_link_output_symbol_hook): Define. 759 7602007-04-02 Nick Clifton <nickc@redhat.com> 761 762 PR binutils/4292 763 * bfd.c (bfd_fprintf_vma): Do not print addresses of 32-bit 764 targets as 64-bit values, even if running on a 64-bit host. 765 * coffgen.c (coff_print_symbol): Likewise. 766 7672007-03-29 Nick Clifton <nickc@redhat.com> 768 769 PR binutils/4110 770 * elf.c (IS_VALID_GROUP_SECTION_HEADER): New macro. 771 (setup_group): Use it. Report corrupt group section headers. 772 (bfd_section_from_shdr): Use new macro. Replace constant 4 with 773 GRP_ENTRY_SIZE. Cope with NULLs in the group section table. 774 (elf_fake_section): Replace constant 4 with GRP_ENTRY_SIZE. 775 7762007-03-29 Alan Modra <amodra@bigpond.net.au> 777 778 PR ld/4267 779 * elflink.c (evaluate_complex_relocation_symbols): Use bfd_vma 780 for rel->r_info values. 781 (bfd_elf_perform_complex_relocation): Likewise. 782 * elf32-ppc.c (allocate_dynrelocs): Set plt.offset to -1 for 783 unused entries. Don't clear plt.plist in loop. 784 7852007-03-28 Richard Sandiford <richard@codesourcery.com> 786 787 * elfxx-sparc.h (_bfd_sparc_elf_link_hash_table): Remove append_rela. 788 * elfxx-sparc.c (sparc_elf_append_rela_64, sparc_elf_append_rela_32): 789 Merge into... 790 (sparc_elf_append_rela): ...this new function. 791 (SPARC_ELF_APPEND_RELA): Delete. 792 (_bfd_sparc_elf_link_hash_table_create): Don't initialize 793 the deleted append_rela field. 794 (_bfd_sparc_elf_relocate_section): Use sparc_elf_append_rela 795 instead of SPARC_ELF_APPEND_RELA. 796 (_bfd_sparc_elf_finish_dynamic_symbol): Likewise. Use the 797 elf_size_info structure to find the size of a RELA entry and 798 the associated swap-out function. 799 (sparc64_finish_dyn, sparc64_finish_dyn): Merge into... 800 (sparc_finish_dyn): ...this new function. 801 (_bfd_sparc_elf_finish_dynamic_sections): Update calls accordingly. 802 8032007-03-28 Richard Sandiford <richard@codesourcery.com> 804 Phil Edwards <phil@codesourcery.com> 805 806 * doc/bfd.texinfo: Put the contents after the title page rather 807 than at the end of the document. 808 8092007-03-27 Andreas Schwab <schwab@suse.de> 810 811 * elfxx-ia64.c (elf_backend_default_execstack): Define to 0. 812 8132007-03-26 H.J. Lu <hongjiu.lu@intel.com> 814 815 * configure: Regenerated. 816 8172007-03-26 Alan Modra <amodra@bigpond.net.au> 818 819 * elf32-spu.c (struct stubarr): Add stub_hash_table and err fields. 820 (allocate_spuear_stubs): New function. 821 (spu_elf_size_stubs): Call allocate_spuear_stubs. 822 8232007-03-26 Alan Modra <amodra@bigpond.net.au> 824 825 * aout-adobe.c (aout_32_bfd_reloc_name_lookup): Define. 826 * aout-arm.c (MY_bfd_reloc_name_lookup): Define. 827 (MY (bfd_reloc_name_lookup)): New function. 828 * aout-ns32k.c (MY (bfd_reloc_name_lookup)): New function. 829 * aout-target.h (NAME (aout, reloc_name_lookup)): Declare. 830 (MY_bfd_reloc_name_lookup): Define. 831 * aout-tic30.c (tic30_aout_reloc_name_lookup): New function. 832 (MY_bfd_reloc_name_lookup): Define. 833 * aoutx.h (NAME (aout, reloc_type_lookup)): Don't declare. 834 (NAME (aout, reloc_name_lookup)): New function. 835 * bout.c (b_out_bfd_reloc_name_lookup): New function. 836 * coff-alpha.c (alpha_bfd_reloc_name_lookup): New function. 837 (_bfd_ecoff_bfd_reloc_name_lookup): Define. 838 * coff-arm.c (coff_arm_reloc_name_lookup): New function. 839 (coff_bfd_reloc_name_lookup): Define. 840 * coff-i386.c (coff_bfd_reloc_name_lookup): Define. 841 (coff_i386_reloc_name_lookup): New function. 842 * coff-i860.c (coff_i860_reloc_name_lookup): New function. 843 (coff_bfd_reloc_name_lookup): Define. 844 * coff-i960.c (coff_i960_reloc_name_lookup): New function. 845 (coff_bfd_reloc_name_lookup): Define. 846 * coff-m68k.c (m68k_reloc_name_lookup): New function. 847 (coff_bfd_reloc_name_lookup): Define. 848 * coff-maxq.c (maxq_reloc_name_lookup): New function. 849 (coff_bfd_reloc_name_lookup): Define. 850 * coff-mcore.c (mcore_coff_reloc_name_lookup): New function. 851 (coff_bfd_reloc_name_lookup): Define. 852 * coff-mips.c (mips_bfd_reloc_name_lookup): New function. 853 (_bfd_ecoff_bfd_reloc_name_lookup): Define. 854 * coff-ppc.c (ppc_coff_reloc_name_lookup): New function. 855 (coff_bfd_reloc_name_lookup): Define. 856 * coff-rs6000.c (coff_bfd_reloc_name_lookup): Define. 857 (_bfd_xcoff_reloc_name_lookup): New function. 858 (rs6000coff_vec, pmac_xcoff_vec): Init new field. 859 * coff-sh.c (coff_bfd_reloc_name_lookup): Define. 860 (sh_coff_reloc_name_lookup): New function. 861 * coff-sparc.c (coff_sparc_reloc_name_lookup): New function. 862 (coff_bfd_reloc_name_lookup): Define. 863 * coff-tic30.c (coff_bfd_reloc_name_lookup): Define. 864 (tic30_coff_reloc_name_lookup): New function. 865 * coff-tic4x.c (coff_bfd_reloc_name_lookup): Define. 866 (tic4x_coff_reloc_name_lookup): New function. 867 * coff-tic54x.c (coff_bfd_reloc_name_lookup): Define. 868 (tic54x_coff_reloc_name_lookup): New function. 869 * coff-x86_64.c (coff_bfd_reloc_name_lookup): Define. 870 (coff_amd64_reloc_name_lookup): New function. 871 * coff-z80.c (coff_z80_reloc_name_lookup): New function. 872 (coff_bfd_reloc_name_lookup): Define. 873 * coff-z8k.c (coff_z8k_reloc_name_lookup): New function. 874 (coff_bfd_reloc_name_lookup): Define. 875 * coff64-rs6000.c (coff_bfd_reloc_name_lookup): Define. 876 (xcoff64_reloc_name_lookup): New function. 877 (rs6000coff64_vec, aix5coff64_vec): Init new field. 878 * coffcode.h (coff_bfd_reloc_name_lookup): Define. 879 * elf-hppa.h (elf_hppa_reloc_name_lookup): New function. 880 * elf-m10200.c (bfd_elf32_bfd_reloc_name_lookup): New function. 881 * elf-m10300.c (bfd_elf32_bfd_reloc_name_lookup): New function. 882 * elf32-arc.c (bfd_elf32_bfd_reloc_name_lookup): New function. 883 * elf32-arm.c (elf32_arm_reloc_name_lookup): New function. 884 (bfd_elf32_bfd_reloc_name_lookup): Define. 885 * elf32-avr.c (bfd_elf32_bfd_reloc_name_lookup): New function. 886 * elf32-bfin.c (bfin_bfd_reloc_name_lookup): New function. 887 (bfd_elf32_bfd_reloc_name_lookup): Define. 888 * elf32-cr16c.c (elf_cr16c_reloc_name_lookup): New function. 889 (bfd_elf32_bfd_reloc_name_lookup): Define. 890 * elf32-cris.c (cris_reloc_name_lookup): New function. 891 (bfd_elf32_bfd_reloc_name_lookup): Define. 892 * elf32-crx.c (elf_crx_reloc_name_lookup): New function. 893 (bfd_elf32_bfd_reloc_name_lookup): Define. 894 * elf32-d10v.c (bfd_elf32_bfd_reloc_name_lookup): New function. 895 * elf32-d30v.c (bfd_elf32_bfd_reloc_name_lookup): New function. 896 * elf32-dlx.c (elf32_dlx_reloc_name_lookup): New function. 897 (bfd_elf32_bfd_reloc_name_lookup): Define. 898 * elf32-fr30.c (fr30_reloc_name_lookup): New function. 899 (bfd_elf32_bfd_reloc_name_lookup): Define. 900 * elf32-frv.c (frv_reloc_name_lookup): New function. 901 (bfd_elf32_bfd_reloc_name_lookup): Define. 902 * elf32-gen.c (bfd_elf32_bfd_reloc_name_lookup): Define. 903 * elf32-h8300.c (elf32_h8_reloc_name_lookup): New function. 904 (bfd_elf32_bfd_reloc_name_lookup): Define. 905 * elf32-hppa.c (bfd_elf32_bfd_reloc_name_lookup): Define. 906 * elf32-i370.c (i370_elf_reloc_name_lookup): New function. 907 (bfd_elf32_bfd_reloc_name_lookup): Define. 908 * elf32-i386.c (elf_i386_reloc_name_lookup): New function. 909 (bfd_elf32_bfd_reloc_name_lookup): Define. 910 * elf32-i860.c (elf32_i860_reloc_name_lookup): New function. 911 (bfd_elf32_bfd_reloc_name_lookup): Define. 912 * elf32-i960.c (elf32_i960_reloc_name_lookup): New function. 913 (bfd_elf32_bfd_reloc_name_lookup): Define. 914 * elf32-ip2k.c (ip2k_reloc_name_lookup): New function. 915 (bfd_elf32_bfd_reloc_name_lookup): Define. 916 * elf32-iq2000.c (iq2000_reloc_name_lookup): New function. 917 (bfd_elf32_bfd_reloc_name_lookup): Define. 918 * elf32-m32c.c (m32c_reloc_name_lookup): New function. 919 (bfd_elf32_bfd_reloc_name_lookup): Define. 920 * elf32-m32r.c (bfd_elf32_bfd_reloc_name_lookup): New function. 921 * elf32-m68hc11.c (bfd_elf32_bfd_reloc_name_lookup): New function. 922 * elf32-m68hc12.c (bfd_elf32_bfd_reloc_name_lookup): New function. 923 * elf32-m68k.c (reloc_name_lookup): New function. 924 (bfd_elf32_bfd_reloc_name_lookup): Define. 925 * elf32-m88k.c (bfd_elf32_bfd_reloc_name_lookup): Define. 926 * elf32-mcore.c (mcore_elf_reloc_name_lookup): New function. 927 (bfd_elf32_bfd_reloc_name_lookup): Define. 928 * elf32-mep.c (mep_reloc_name_lookup): New function. 929 (bfd_elf32_bfd_reloc_name_lookup): Define. 930 * elf32-mips.c (bfd_elf32_bfd_reloc_name_lookup): New function. 931 (mips_vxworks_bfd_reloc_name_lookup): Likewise. 932 (bfd_elf32_bfd_reloc_name_lookup): Define. 933 * elf32-msp430.c (bfd_elf32_bfd_reloc_name_lookup): New function. 934 * elf32-mt.c (mt_reloc_name_lookup): New function. 935 (bfd_elf32_bfd_reloc_name_lookup): Define. 936 * elf32-openrisc.c (openrisc_reloc_name_lookup): New function. 937 (bfd_elf32_bfd_reloc_name_lookup): Define. 938 * elf32-or32.c (bfd_elf32_bfd_reloc_name_lookup): New function. 939 * elf32-pj.c (pj_elf_reloc_name_lookup): New function. 940 (bfd_elf32_bfd_reloc_name_lookup): Define. 941 * elf32-ppc.c (ppc_elf_reloc_name_lookup): New function. 942 (bfd_elf32_bfd_reloc_name_lookup): Define. 943 * elf32-s390.c (elf_s390_reloc_name_lookup): New function. 944 (bfd_elf32_bfd_reloc_name_lookup): Define. 945 * elf32-score.c (elf32_score_reloc_name_lookup): New function. 946 (bfd_elf32_bfd_reloc_name_lookup): Define. 947 * elf32-sh.c (sh_elf_reloc_name_lookup): New function. 948 (bfd_elf32_bfd_reloc_name_lookup): Define. 949 * elf32-sparc.c (bfd_elf32_bfd_reloc_name_lookup): Define. 950 * elf32-spu.c (spu_elf_reloc_name_lookup): New function. 951 (bfd_elf32_bfd_reloc_name_lookup): Define. 952 * elf32-v850.c (v850_elf_reloc_name_lookup): New function. 953 (bfd_elf32_bfd_reloc_name_lookup): Define. 954 * elf32-vax.c (reloc_name_lookup): New function. 955 (bfd_elf32_bfd_reloc_name_lookup): Define. 956 * elf32-xc16x.c (xc16x_reloc_name_lookup): New function. 957 (bfd_elf32_bfd_reloc_name_lookup): Define. 958 * elf32-xstormy16.c (xstormy16_reloc_name_lookup): New function. 959 (bfd_elf32_bfd_reloc_name_lookup): Define. 960 * elf32-xtensa.c (elf_xtensa_reloc_name_lookup): New function. 961 (bfd_elf32_bfd_reloc_name_lookup): Define. 962 * elf64-alpha.c (elf64_alpha_bfd_reloc_name_lookup): New function. 963 (bfd_elf64_bfd_reloc_name_lookup): Define. 964 * elf64-gen.c (bfd_elf64_bfd_reloc_name_lookup): Define. 965 * elf64-hppa.c (bfd_elf64_bfd_reloc_name_lookup): Define. 966 * elf64-mips.c (bfd_elf64_bfd_reloc_name_lookup): New function. 967 * elf64-mmix.c (bfd_elf64_bfd_reloc_name_lookup): New function. 968 * elf64-ppc.c (ppc64_elf_reloc_name_lookup): New function. 969 (bfd_elf64_bfd_reloc_name_lookup): Define. 970 * elf64-s390.c (elf_s390_reloc_name_lookup): New function. 971 (bfd_elf64_bfd_reloc_name_lookup): Define. 972 * elf64-sh64.c (sh_elf64_reloc_name_lookup): New function. 973 (bfd_elf64_bfd_reloc_name_lookup): Define. 974 * elf64-sparc.c (bfd_elf64_bfd_reloc_name_lookup): Define. 975 * elf64-x86-64.c (elf64_x86_64_reloc_name_lookup): New function. 976 (bfd_elf64_bfd_reloc_name_lookup): Define. 977 * elfn32-mips.c (bfd_elf32_bfd_reloc_name_lookup): New function. 978 * elfxx-ia64.c (elfNN_ia64_reloc_name_lookup): New function. 979 (bfd_elfNN_bfd_reloc_name_lookup): Define. 980 * elfxx-sparc.c (_bfd_sparc_elf_reloc_name_lookup): New function. 981 * elfxx-sparc.h (_bfd_sparc_elf_reloc_name_lookup): Declare. 982 * i386msdos.c (msdos_bfd_reloc_name_lookup): Define. 983 * i386os9k.c (aout_32_bfd_reloc_name_lookup): Define. 984 * ieee.c (ieee_bfd_reloc_name_lookup): Define. 985 * libaout.h (NAME (aout, reloc_name_lookup)): Declare. 986 * libbfd-in.h (_bfd_norelocs_bfd_reloc_name_lookup): Declare. 987 * mipsbsd.c (MY_bfd_reloc_name_lookup): Define. 988 (MY(reloc_type_lookup)): Rename from MY(reloc_howto_type_lookup). 989 (MY(reloc_name_lookup)): New function. 990 * nlm-target.h (nlm_bfd_reloc_name_lookup): Define. 991 * oasys.c (oasys_bfd_reloc_name_lookup): Define. 992 * pdp11.c (NAME (aout, reloc_name_lookup)): New function. 993 * pe-mips.c (coff_mips_reloc_name_lookup): New function. 994 (coff_bfd_reloc_name_lookup): Define. 995 * reloc.c (bfd_reloc_name_lookup): New function. 996 * riscix.c (riscix_reloc_name_lookup): New function. 997 (MY_bfd_reloc_name_lookup): Define. 998 * som.c (som_bfd_reloc_name_lookup): New function. 999 * targets.c (struct bfd_target): Add reloc_name_lookup. 1000 (BFD_JUMP_TABLE_RELOCS): Add NAME##_bfd_reloc_name_lookup. 1001 * versados.c (versados_bfd_reloc_name_lookup): Define. 1002 * vms.c (vms_bfd_reloc_name_lookup): New function. 1003 * bfd-in2.h: Regenerate. 1004 * libbfd.h: Regenerate. 1005 10062007-03-26 Thiemo Seufer <ths@mips.com> 1007 1008 PR ld/4208 1009 * elfxx-mips.c (mips_elf_next_relocation): Don't signal an error if no 1010 matching relocation is found. 1011 (_bfd_mips_elf_relocate_section): Only warn about missing relocations. 1012 10132007-03-23 H.J. Lu <hongjiu.lu@intel.com> 1014 1015 * configure: Regenerated. 1016 10172007-03-23 Joseph Myers <joseph@codesourcery.com> 1018 1019 * configure.in: Use ACX_PKGVERSION and ACX_BUGURL. 1020 * configure: Regenerate. 1021 10222007-03-23 Alan Modra <amodra@bigpond.net.au> 1023 1024 * elf32-spu.c (spu_stub_name): Don't put input section in stub name. 1025 Remove input_sec param. Adjust all calls. 1026 (write_one_stub): Adjust stub symbol. 1027 (needs_ovl_stub): New function, extracted from.. 1028 (spu_elf_size_stubs): ..here. 1029 (spu_elf_relocate_section): Use needs_ovl_stub. 1030 10312007-03-22 Joseph Myers <joseph@codesourcery.com> 1032 1033 * Makefile.am (bfdver.h): Only set VERSION_PACKAGE in bfdver.texi 1034 if nonempty. 1035 * configure.in (REPORT_BUGS_TO): Do not use "URL:" prefix. 1036 * Makefile.in, configure, doc/Makefile.in: Regenerate. 1037 10382007-03-22 H.J. Lu <hongjiu.lu@intel.com> 1039 1040 PR ld/4210 1041 * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Use the virtual 1042 address and virtual size of the last section for the image 1043 size. 1044 10452007-03-22 H.J. Lu <hongjiu.lu@intel.com> 1046 1047 PR ld/4007 1048 * elf.c (assign_file_positions_for_load_sections): Check if 1049 all sections are in the segment. 1050 10512007-03-20 H.J. Lu <hongjiu.lu@intel.com> 1052 1053 PR ld/4208 1054 * elfxx-mips.c (_bfd_mips_elf_relocate_section): Report missing 1055 matching LO16 relocation for HI16 relocation. 1056 10572007-03-20 Paul Brook <paul@codesourcery.com> 1058 1059 * bfd-in.h (bfd_elf32_arm_set_target_relocs): Update prototype. 1060 * bfd-in2.h: Regenerate. 1061 * elf32-arm.c (elf32_arm_link_hash_table): Add pic_veneer. 1062 (record_arm_to_thumb_glue): Use globals->pic_veneer. 1063 (elf32_arm_create_thumb_stub): Ditto. 1064 (bfd_elf32_arm_set_target_relocs): Set globals->pic_veneer. 1065 10662007-03-18 Mark Shinwell <shinwell@codesourcery.com> 1067 1068 * bfd-in.h (bfd_elf32_arm_set_target_relocs): Add "bfd *" 1069 argument and extra last argument. 1070 * bfd-in2.h: Regenerate. 1071 * elf32-arm.c (elf32_arm_obj_tdata): Add no_enum_size_warning 1072 member. 1073 (bfd_elf32_arm_set_target_relocs): Add "bfd *" argument and 1074 extra last argument. Set no_enum_size_warning appropriately. 1075 (elf32_arm_merge_eabi_attributes): Improve enum sizes 1076 diagnostic, suppressing it when no_enum_size_warning dictates. 1077 10782007-03-20 Nick Clifton <nickc@redhat.com> 1079 1080 PR binutils/3535 1081 * elf.c (copy_private_bfd_data): Widen the scope of Solaris 1082 specific conditions that need the program headers to be 1083 rewritten. 1084 10852007-03-19 H.J. Lu <hongjiu.lu@intel.com> 1086 1087 * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Store Magic, 1088 MajorLinkerVersion, MinorLinkerVersion, SizeOfCode, 1089 SizeOfInitializedData, SizeOfUninitializedData, 1090 AddressOfEntryPoint, BaseOfCode and BaseOfData in internal 1091 extra PE a.out header. 1092 (IMAGE_NT_OPTIONAL_HDR_MAGIC): Defined as 0x10b if not defined. 1093 (IMAGE_NT_OPTIONAL_HDR64_MAGIC): Defined as 0x20b if not 1094 defined. 1095 (IMAGE_NT_OPTIONAL_HDRROM_MAGIC): Defined as 0x107 if not 1096 defined. 1097 (_bfd_XX_print_private_bfd_data_common): Also print Magic, 1098 MajorLinkerVersion, MinorLinkerVersion, SizeOfCode, 1099 SizeOfInitializedData, SizeOfUninitializedData, 1100 AddressOfEntryPoint, BaseOfCode and BaseOfData from internal 1101 extra PE a.out header. 1102 11032007-03-18 H.J. Lu <hongjiu.lu@intel.com> 1104 1105 * targets.c (_bfd_target_vector): Add bfd_efi_app_x86_64_vec 1106 only if BFD64 is defined. 1107 11082007-03-17 Alan Modra <amodra@bigpond.net.au> 1109 1110 * elf32-spu.c (spu_elf_size_stubs): Always use an overlay stub 1111 on setjmp calls. 1112 11132007-03-15 H.J. Lu <hongjiu.lu@intel.com> 1114 1115 * doc/Makefile.in: Regenerated. 1116 11172007-03-15 H.J. Lu <hongjiu.lu@intel.com> 1118 1119 * Makefile.am (bfdver.h): Substitute report_bugs_to. Also 1120 create doc/bfdver.texi. 1121 * Makefile.in: Regenerated. 1122 1123 * configure.in (--with-bugurl): New option. 1124 * configure: Regenerated. 1125 1126 * version.h (REPORT_BUGS_TO): New. 1127 11282007-03-13 H.J. Lu <hongjiu.lu@intel.com> 1129 1130 PR binutils/3826 1131 * elf-bfd.h (elf_backend_data): Add elf_osabi. 1132 (_bfd_elf_set_osabi): New. 1133 1134 * elf.c (_bfd_elf_set_osabi): New. 1135 1136 * elf32-hppa.c (elf32_hppa_post_process_headers): Removed. 1137 (elf_backend_post_process_headers): Defined with 1138 _bfd_elf_set_osabi. 1139 (ELF_OSABI): Properly defined for each target. 1140 1141 * elf32-i370.c (i370_elf_post_process_headers): Removed. 1142 (ELF_OSABI): Defined. 1143 (elf_backend_post_process_headers): Defined with 1144 _bfd_elf_set_osabi. 1145 1146 * elf32-i386.c (ELF_OSABI): Defined to ELFOSABI_FREEBSD for 1147 freebsd. 1148 (elf_i386_post_process_headers): Set EI_OSABI with elf_osabi. 1149 1150 * elf32-msp430.c (elf32_msp430_post_process_headers): Removed. 1151 (ELF_OSABI): Defined. 1152 (elf_backend_post_process_headers): Defined with 1153 _bfd_elf_set_osabi. 1154 1155 * elf64-alpha.c (ELF_OSABI): Defined to ELFOSABI_FREEBSD for 1156 freebsd. 1157 (elf64_alpha_fbsd_post_process_headers): Set EI_OSABI with 1158 elf_osabi. 1159 1160 * elf64-hppa.c (elf64_hppa_post_process_headers): Set EI_OSABI 1161 with elf_osabi. 1162 (ELF_OSABI): Properly defined for each target. 1163 (elf_backend_post_process_headers): Defined with 1164 _bfd_elf_set_osabi for Linux. 1165 1166 * elf64-sparc.c (elf64_sparc_fbsd_post_process_headers): Removed. 1167 (ELF_OSABI): Defined to ELFOSABI_FREEBSD for freebsd. 1168 (elf_backend_post_process_headers): Defined with 1169 _bfd_elf_set_osabi. 1170 1171 * elf64-x86-64.c (elf64_x86_64_fbsd_post_process_headers): Removed. 1172 (ELF_OSABI): Defined to ELFOSABI_FREEBSD for freebsd. 1173 (elf_backend_post_process_headers): Defined with 1174 _bfd_elf_set_osabi. 1175 1176 * elfcode.h (elf_object_p): Match the ELFOSABI_NONE ELF target 1177 with any ELF target of the compatible machine for which we do not 1178 have a specific backend. 1179 1180 * elfxx-ia64.c (elfNN_hpux_post_process_headers): Set EI_OSABI 1181 with elf_osabi. 1182 1183 * elfxx-target.h (ELF_OSABI): Default to ELFOSABI_NONE. 1184 (elfNN_bed): Initialize elf_osabi with ELF_OSABI. 1185 11862007-03-08 Alan Modra <amodra@bigpond.net.au> 1187 1188 * elf32-v850.c (v850_elf_link_output_symbol_hook): Clean out 1189 V850_OTHER_* bits. 1190 11912007-03-08 Alan Modra <amodra@bigpond.net.au> 1192 1193 * Makefile.am (BFD64_BACKENDS): Add efi-app-x86_64.lo. 1194 (BFD64_BACKENDS_CFILES): Add efi-app-x86_64.c. 1195 Run "make dep-am". 1196 * Makefile.in: Regenerate. 1197 * po/SRC-POTFILES.in: Regenerate. 1198 11992007-03-07 H.J. Lu <hongjiu.lu@intel.com> 1200 1201 * config.bfd (x86_64-*-freebsd*): Add bfd_efi_app_x86_64_vec. 1202 (x86_64-*-kfreebsd*-gnu): Likewise. 1203 (x86_64-*-netbsd*): Likewise. 1204 (x86_64-*-openbsd*): Likewise. 1205 (x86_64-*-linux-*): Likewise. 1206 1207 * configure.in: Support bfd_efi_app_x86_64_vec. 1208 * configure: Regenerated. 1209 1210 * efi-app-x86_64.c: New file. 1211 1212 * targets.c (bfd_efi_app_x86_64_vec): New. 1213 (_bfd_target_vector): Add bfd_efi_app_x86_64_vec. 1214 12152007-03-07 Kai Tietz <kai.tietz@onevision.com> 1216 1217 * reloc.c (bfd_generic_get_relocated_section_contents): Remove 1218 const for type reloc_howto_type. 1219 12202007-03-07 Alan Modra <amodra@bigpond.net.au> 1221 1222 PR 3958 1223 * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): No error on relocatable link. 1224 (elf_discarded_section): Move.. 1225 * bfd-in.h: ..to here. 1226 * bfd-in2.h: Regenerate. 1227 * elflink.c (elf_link_input_bfd): Don't zap relocs against symbols 1228 from discarded sections before relocate_section has done its job. 1229 * reloc.c (bfd_generic_get_relocated_section_contents): Handle 1230 relocs against symbols from discarded sections. 1231 * elf-hppa.h (elf_hppa_howto_table): Set size. Set dst_mask on 1232 SECREL32. 1233 (elf_hppa_relocate_section): Handle relocatable link after setting 1234 sec, sym, h etc. for final link. Squash error messages for 1235 relocatable link. Clear section contents for relocs against 1236 symbols in discarded sections, and zero reloc. Remove existing 1237 zero r_symndx code. 1238 * elf-m10200.c (mn10200_elf_relocate_section): Likewise. 1239 * elf-m10300.c (mn10300_elf_relocate_section): Likewise. 1240 * elf32-arm.c (elf32_arm_relocate_section): Likewise. 1241 * elf32-avr.c (elf32_avr_relocate_section): Likewise. 1242 * elf32-bfin.c (bfinfdpic_relocate_section): Likewise. 1243 (bfin_relocate_section): Likewise. 1244 * elf32-cr16c.c (elf32_cr16c_relocate_section): Likewise. 1245 * elf32-cris.c (cris_elf_relocate_section): Likewise. 1246 * elf32-crx.c (elf32_crx_relocate_section): Likewise. 1247 * elf32-d10v.c (elf32_d10v_relocate_section): Likewise. 1248 * elf32-fr30.c (fr30_elf_relocate_section): Likewise. 1249 * elf32-frv.c (elf32_frv_relocate_section): Likewise. 1250 * elf32-h8300.c (elf32_h8_relocate_section): Likewise. 1251 * elf32-hppa.c (elf32_hppa_relocate_section): Likewise. 1252 * elf32-i370.c (i370_elf_relocate_section): Likewise. 1253 * elf32-i386.c (elf_i386_relocate_section): Likewise. 1254 * elf32-i860.c (elf32_i860_relocate_section): Likewise. 1255 * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise. 1256 * elf32-iq2000.c (iq2000_elf_relocate_section): Likewise. 1257 * elf32-m32c.c (m32c_elf_relocate_section): Likewise. 1258 * elf32-m32r.c (m32r_elf_relocate_section): Likewise. 1259 * elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise. 1260 * elf32-m68k.c (elf_m68k_relocate_section): Likewise. 1261 * elf32-mcore.c (mcore_elf_relocate_section): Likewise. 1262 * elf32-mep.c (mep_elf_relocate_section): Likewise. 1263 * elf32-msp430.c (elf32_msp430_relocate_section): Likewise. 1264 * elf32-mt.c (mt_elf_relocate_section): Likewise. 1265 * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise. 1266 * elf32-ppc.c (ppc_elf_relocate_section): Likewise. 1267 * elf32-s390.c (elf_s390_relocate_section): Likewise. 1268 * elf32-score.c (_bfd_score_elf_relocate_section): Likewise. 1269 * elf32-sh.c (sh_elf_relocate_section): Likewise. 1270 * elf32-spu.c (spu_elf_relocate_section): Likewise. 1271 * elf32-v850.c (v850_elf_relocate_section): Likewise. 1272 * elf32-vax.c (elf_vax_relocate_section): Likewise. 1273 * elf32-xc16x.c (elf32_xc16x_relocate_section): Likewise. 1274 * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise. 1275 * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise. 1276 * elf64-alpha.c (elf64_alpha_relocate_section_r): Likewise. 1277 (elf64_alpha_relocate_section): Likewise. 1278 * elf64-mmix.c (mmix_elf_relocate_section): Likewise. 1279 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. 1280 * elf64-s390.c (elf_s390_relocate_section): Likewise. 1281 * elf64-sh64.c (sh_elf64_relocate_section): Likewise. 1282 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise. 1283 * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise. 1284 * elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise. 1285 * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise. 1286 1287 * elf32-arm.c (elf32_arm_relocate_section): Always adjust section 1288 symbols for relocatable link. Don't use always-zero st_value. 1289 (elf_backend_rela_normal): Don't define. 1290 * elf32-bfin.c (bfinfdpic_relocate_section): Use 1291 RELOC_FOR_GLOBAL_SYMBOL. 1292 * elf32-frv.c (elf32_frv_relocate_section): Likewise. 1293 * elf32-d10v.c (elf32_d10v_relocate_section): Combine SEC_MERGE 1294 section symbol adjustments with same for relocatable link. 1295 * elf32-i386.c (elf_i386_relocate_section): Likewise. 1296 * elf32-m68hc1x.c (m68hc11_get_relocation_value): Move.. 1297 (elf32_m68hc11_check_relocs): ..to here. 1298 * elf32-score.c (score_elf_final_link_relocate): Remove zero 1299 r_symndx code. 1300 * elfxx-mips.c (mips_elf_calculate_relocation): Likewise. 1301 13022007-03-07 Alan Modra <amodra@bigpond.net.au> 1303 1304 PR 4144 1305 * elf.c (assign_file_positions_for_load_sections): Don't 1306 adjust p_memsz for !SEC_LOAD section vma modulo page size. 1307 Instead, use the same lma based adjustment for SEC_LOAD 1308 sections. 1309 13102007-03-01 Bob Wilson <bob.wilson@acm.org> 1311 1312 * elf32-xtensa.c (analyze_relocations): Zero src_count if not relaxing. 1313 (find_relaxable_sections): Do not increment src_count for unknown 1314 opcodes. Decode only once instead of calling is_l32r_relocation. 1315 (compute_text_actions): Remove unused no_insn_move flag. Assert that 1316 src_next matches src_count in relax_info. 1317 13182007-03-01 Joseph Myers <joseph@codesourcery.com> 1319 1320 * Makefile.am (bfdver.h): Use "." not " " between version number 1321 and date. 1322 * Makefile.in: Regenerate. 1323 * configure.in (PKGVERSION): Default to "(GNU Binutils) ". 1324 * configure: Regenerate. 1325 13262007-02-28 Nathan Sidwell <nathan@codesourcery.com> 1327 1328 * config.bfd (sh-*-uclinux, sh[12]-*-uclinux): New stanza. 1329 13302007-02-27 Alan Modra <amodra@bigpond.net.au> 1331 1332 * elf32-spu.h (struct _ovl_stream): Make "start" and "end" const. 1333 * elf32-spu.c (ovl_mgr_pread): Add const to casts. 1334 13352007-02-23 Carlos O'Donell <carlos@codesourcery.com> 1336 1337 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Assume 32-bit 1338 DWARF even with 64-bit addresses. 1339 (_bfd_dwarf2_find_nearest_line): Likewise. 1340 13412007-02-23 Nick Clifton <nickc@redhat.com> 1342 1343 PR binutils/3535 1344 * elf.c (copy_private_bfd_data): Always rewrite the program 1345 headers when a Solaris interpreter segment is involved. 1346 13472007-02-22 Paul Brook <paul@codesourcery.com> 1348 1349 * elflink.c (gc_mark_hook_fn): Remove. 1350 (_bfd_elf_gc_mark): Rename gc_mark_hook_fn to elf_gc_mark_hook_fn. 1351 (bfd_elf_gc_sections): Ditto. Call gc_mark_extra_sections. 1352 * elf-bfd.h (elf_gc_mark_hook_fn): Define. 1353 (elf_backend_data): Add gc_mark_extra_sections. 1354 * elfxx-target.h (elf_backend_gc_mark_extra_sections): Provide default 1355 definition. 1356 (elfNN_bed): Add elf_backend_gc_mark_extra_sections. 1357 * elf32-arm.c (elf32_arm_gc_mark_extra_sections): New function. 1358 (elf_backend_gc_mark_extra_sections): Define. 1359 13602007-02-21 Nick Clifton <nickc@redhat.com> 1361 1362 * elf.c (_bfd_elf_map_sections_to_segments): If the 1363 override_segment_assignment callback is defined then call it. 1364 13652007-02-21 Alan Modra <amodra@bigpond.net.au> 1366 1367 * elf32-spu.c (spu_elf_size_stubs): Correct order of warning args. 1368 13692007-02-19 Thiemo Seufer <ths@mips.com> 1370 1371 * elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data): Remove 1372 translation marker from untranslatable strings. 1373 13742007-02-19 Alan Modra <amodra@bigpond.net.au> 1375 1376 * elf-bfd.h (struct elf_backend_data): Add default_execstack. 1377 * elflink.c (bfd_elf_size_dynamic_sections): Heed default_execstack. 1378 * elfxx-target.h (elf_backend_default_execstack): Define to 1. 1379 (elfNN_bed): Init new field. 1380 * elf64-ppc.c (elf_backend_default_execstack): Define to 0. 1381 13822007-02-17 Mark Mitchell <mark@codesourcery.com> 1383 Nathan Sidwell <nathan@codesourcery.com> 1384 Vladimir Prus <vladimir@codesourcery.com 1385 Joseph Myers <joseph@codesourcery.com> 1386 1387 * configure.in (--with-pkgversion): New option. 1388 * configure: Regenerate. 1389 * Makefile.am (bfdver.h): Substitute for @bfd_version_package@. 1390 * Makefile.in: Regenerate. 1391 * version.h (BFD_VERSION_STRING): Define using 1392 @bfd_version_package@. 1393 13942007-02-16 Carlos O'Donell <carlos@codesourcery.com> 1395 1396 * elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data): 1397 Print EF_MIPS_NOREORDER, EF_MIPS_PIC, EF_MIPS_CPIC, EF_MIPS_XGOT 1398 and EF_MIPS_UCODE. 1399 14002007-02-15 Alan Modra <amodra@bigpond.net.au> 1401 1402 * libbfd-in.h (_bfd_norelocs_get_reloc_upper_bound): Don't define, 1403 declare. 1404 (_bfd_norelocs_canonicalize_reloc): Likewise. 1405 * libbfd.h: Regenerate. 1406 * libbfd.c (_bfd_norelocs_get_reloc_upper_bound): New function. 1407 (_bfd_norelocs_canonicalize_reloc): Likewise. 1408 * binary.c (binary_bfd_reloc_type_lookup): Don't define. 1409 (binary_get_reloc_upper_bound, binary_canonicalize_reloc): Likewise. 1410 (binary_vec): Use _bfd_norelocs in BFD_JUMP_TABLE_RELOCS. 1411 * ihex.c: Similarly. 1412 * mach-o-target.c: Similarly. 1413 * mach-o.c: Similarly. 1414 * mmo.c: Similarly. 1415 * pef.c: Similarly. 1416 * ppcboot.c: Similarly. 1417 * srec.c: Similarly. 1418 * xsym.c: Similarly. 1419 14202007-02-14 H.J. Lu <hongjiu.lu@intel.com> 1421 1422 PR ld/3953 1423 * elflink.c (_bfd_elf_add_default_symbol): Check warning symbol 1424 when adding default symbol. 1425 14262007-02-13 Alan Modra <amodra@bigpond.net.au> 1427 1428 * elf64-ppc.c (create_linkage_sections): Use section ".branch_lt" 1429 for branch lookup table. 1430 14312007-02-12 Alan Modra <amodra@bigpond.net.au> 1432 1433 * elf64-ppc.c (create_linkage_sections): Don't create 1434 .rela.rodata.brlt for --emit-relocs. 1435 (ppc_build_one_stub): Create relocs for brlt --emit-relocs here. 1436 (ppc_size_one_stub): Count them. Simplify test of stub type 1437 when counting stub relocs. Set SEC_RELOC too. 1438 (ppc64_elf_size_stubs): Clear reloc_count and SEC_RELOC. 1439 (ppc64_elf_finish_dynamic_sections): Output brlt relocs. 1440 14412007-02-12 Alan Modra <amodra@bigpond.net.au> 1442 1443 * elflink.c (evaluate_complex_relocation_symbols): Ignore relocs 1444 with a zero symbol index. 1445 14462007-02-12 Alan Modra <amodra@bigpond.net.au> 1447 1448 * elflink.c (bfd_elf_discard_info): Tidy setting of "eh". 1449 14502007-02-05 Dave Brolley <brolley@redhat.com> 1451 Stan Cox <scox@redhat.com> 1452 1453 PR ld/3972 1454 * elflink.c (elf_link_input_bfd): Always setup finfo->internal_syms. 1455 14562007-02-05 Dave Brolley <brolley@redhat.com> 1457 Richard Sandiford <rsandifo@redhat.com> 1458 Stan Cox <scox@redhat.com> 1459 Nick Clifton <nickc@redhat.com> 1460 DJ Delorie <dj@redhat.com> 1461 Frank Ch. Eigler <fche@redhat.com> 1462 Ben Elliston <bje@redhat.com> 1463 Richard Henderson <rth@redhat.com> 1464 1465 * Makefile.am (ALL_MACHINES): Add cpu-mep.lo. 1466 (ALL_MACHINES_CFILES): Add CPU_MEP.c. 1467 (BFD32_BACKENDS): Add elf32-mep.lo. 1468 (BFD32_BACKENDS_CFILES): Add elf32-mep.c. 1469 (cpu-mep.lo,elf32-mep.lo): New targets. 1470 * archures.c (bfd_arch_mep): New enumerator. 1471 (bfd_mach_mep, bfd_mach_mep_h1): New macros. 1472 (bfd_mep_arch): New external variable. 1473 (bfd_archures_list): Add bfd_mep_arch. 1474 * config.bfd: Support mep-*-elf. 1475 * configure.in: Support bfd_elf32_mep_vec and bfd_elf32_mep_little_vec. 1476 * reloc.c (BFD_RELOC_MEP_*): New relocation numbers. 1477 * targets.c (bfd_elf32_mep_vec,bfd_elf32_mep_little_vec): New extern 1478 declarations. 1479 (_bfd_target_vector): Add bfd_elf32_mep_vec and 1480 bfd_elf32_mep_little_vec. 1481 * mep-relocs.pl: New file. 1482 * cpu-mep.c: New file. 1483 * elf32-mep.c: New file. 1484 * bfd-in2.h: Regenerate. 1485 * po/POTFILES.in: Regenerate. 1486 * libbfd.h: Regenerate. 1487 * Makefile.in: Regenerate. 1488 * configure: Regenerate. 1489 14902007-02-05 Dave Brolley <brolley@redhat.com> 1491 1492 * elflink.c (evaluate_complex_relocation_symbols): Check for 1493 STT_SRELC for global symbols. 1494 (perform_complex_relocations): Renamed to 1495 perform_complex_relocation and now examines only one relocation. 1496 (elf_link_input_bfd): Don't call perform_complex_relocations. 1497 * elf-bfd.h (bfd_elf_perform_complex_relocation_: New prototype. 1498 * elf32-mep.c (mep_elf_howto_table): Add R_RELC. 1499 (OD,OS,OU): #undefs corrected to N, S and U repectively. 1500 (mep_reloc_type_lookup): Handle BFD_RELOC_RELC. 1501 (complex_reloc_installation_howto): Removed. 1502 (mep_info_to_howto_rela): Remove special case for r_type==0xff. 1503 (mep_elf_relocate_section): Call bfd_elf_perform_complex_relocation. 1504 15052007-02-05 Dave Brolley <brolley@redhat.com> 1506 Richard Sandiford <rsandifo@redhat.com> 1507 DJ Delorie <dj@redhat.com> 1508 Graydon Hoare <graydon@redhat.com> 1509 Nick Clifton <nickc@cambridge.redhat.com> 1510 Jeff Holcomb <jeffh@redhat.com> 1511 Frank Ch. Eigler <fche@redhat.com> 1512 1513 * elf-bfd.h (bfd_elf_perform_complex_relocations): New prototype. 1514 * elf.c (swap_out_syms): Handle BSF_RELC and BSF_SRELC. 1515 * elfcode.h (elf_slurp_symbol_table): Handle STT_RELC and STT_SRELC. 1516 * elflink.c (set_symbolValue): New static function. 1517 (resolve_symbol): Likewise. 1518 (resolve_section): Likewise. 1519 (undefined_reference): Likewise. 1520 (eval_symbol): Likewise. 1521 (evaluate_complex_relocation_symbols): Likewise. 1522 (put_value): Likewise. 1523 (get_value): Likewise. 1524 (decode_complex_addend): 1525 (bfd_elf_perform_complex_relocation): New function. 1526 (elf_link_input_bfd): Call evaluate_complex_relocation_symbols. 1527 * reloc.c (BFD_RELOC_RELC): New relocation number. 1528 * syms.c (BSF_RELC,BSF_SRELC): New macros. 1529 15302007-02-05 Bob Wilson <bob.wilson@acm.org> 1531 1532 * elf32-xtensa.c (elf_xtensa_make_sym_local): Delete. 1533 (elf_xtensa_hide_symbol, elf_backend_hide_symbol): Delete. 1534 (elf_xtensa_fix_refcounts, elf_xtensa_allocate_plt_size) 1535 (elf_xtensa_allocate_got_size): Replace these with... 1536 (elf_xtensa_allocate_dynrelocs): ...this new function. 1537 (elf_xtensa_size_dynamic_sections): Use it. 1538 15392007-02-05 Bob Wilson <bob.wilson@acm.org> 1540 1541 * elf32-xtensa.c (elf_howto_table) <R_XTENSA_GLOB_DAT> 1542 <R_XTENSA_JMP_SLOT, R_XTENSA_RELATIVE, R_XTENSA_PLT, R_XTENSA_DIFF32>: 1543 Set src_mask to zero. 1544 <R_XTENSA_DIFF8, R_XTENSA_DIFF16>: Likewise. Also fix dst_mask. 1545 <R_XTENSA_ASM_EXPAND>: Set pcrel_offset to TRUE. 1546 15472007-02-02 Bob Wilson <bob.wilson@acm.org> 1548 1549 * elf32-xtensa.c (xtensa_elf_dynamic_symbol_p): Renamed to... 1550 (elf_xtensa_dynamic_symbol_p): ...this. 1551 15522007-02-02 Bob Wilson <bob.wilson@acm.org> 1553 1554 * elf32-xtensa.c (plt_reloc_count): Move into link hash table. 1555 (struct elf_xtensa_link_hash_table): New. 1556 (elf_xtensa_hash_table): New. 1557 (elf_xtensa_link_hash_table_create): New. 1558 (elf_xtensa_check_relocs): Update plt_reloc_count references. 1559 Update arguments to add_extra_plt_sections. 1560 (elf_xtensa_create_dynamic_sections): Record new sections in the hash 1561 table. Update for plt_reloc_count and add_extra_plt_sections. 1562 (add_extra_plt_sections, elf_xtensa_create_plt_entry): Replace dynobj 1563 argument with link info. Update calls to elf_xtensa_get_plt_section 1564 and elf_xtensa_get_gotplt_section. 1565 (elf_xtensa_allocate_local_got_size, elf_xtensa_size_dynamic_sections) 1566 (elf_xtensa_relocate_section, elf_xtensa_finish_dynamic_sections) 1567 (elf_xtensa_discard_info_for_section, shrink_dynamic_reloc_sections) 1568 (relax_property_section): Get sections from the hash table and update 1569 function calls. 1570 (elf_xtensa_get_plt_section, elf_xtensa_get_gotplt_section): Replace 1571 dynobj argument with link info. Get sections for first plt chunk from 1572 the hash table. 1573 (bfd_elf32_bfd_link_hash_table_create): Define. 1574 15752007-02-02 Jakub Jelinek <jakub@redhat.com> 1576 1577 * elf-bfd.h (struct elf_obj_tdata): Change symbuf type to void *. 1578 * elf.c (struct elf_symbuf_symbol, struct elf_symbuf_head): New types. 1579 (struct elf_symbol): Change first member into union. 1580 (elf_sort_elf_symbol): Compare pointers to internal syms rather than 1581 internal syms. Only compare st_shndx fields. 1582 (elf_create_symbuf): New function. 1583 (bfd_elf_match_symbols_in_sections): Use it. If symbufs are available 1584 for bfds, use a binary search, otherwise don't qsort symbols 1585 unnecessarily only to select which symbols are for the particular 1586 shndx. 1587 15882007-02-01 Nick Clifton <nickc@redhat.com> 1589 1590 PR ld/3852 1591 * elf.c (_bfd_elf_link_hash_table_init): Initialize all the fields 1592 in the elf_link_hash_table structure. 1593 15942007-02-01 Alan Modra <amodra@bigpond.net.au> 1595 1596 * elf-bfd.h (struct elf_backend_data): Add elf_backend_write_core_note. 1597 * elfxx-target.h (elf_backend_write_core_note): Define and use. 1598 * elf.c (elfcore_write_prpsinfo): Call the above. Add support for 1599 32-bit core note on 64-bit target. 1600 (elfcore_write_prstatus): Likewise. 1601 (elfcore_write_lwpstatus): Make note_name const. 1602 (elfcore_write_prfpreg): Likewise. 1603 (elfcore_write_pstatus): Add support for 32-bit core note on 64-bit 1604 target. 1605 * elf32-ppc.c (ppc_elf_write_core_note): New function. 1606 (elf_backend_write_core_note): Define. 1607 * elf64-ppc.c (ppc64_elf_write_core_note): New function. 1608 (elf_backend_write_core_note): Define. 1609 16102007-01-31 H.J. Lu <hongjiu.lu@intel.com> 1611 1612 * elf32-cris.c (INCLUDED_TARGET_FILE): Removed. 1613 (elf32_bed): Defined for elf32-us-cris. 1614 1615 * elf64-sh64.c (elf64_bed): Defined for Linux. 1616 (INCLUDED_TARGET_FILE): Removed. 1617 1618 * elfxx-target.h (elfNN_bed): Always define. Don't check 1619 INCLUDED_TARGET_FILE. 1620 16212007-01-31 DJ Delorie <dj@redhat.com> 1622 1623 * elf-m10300.c (mn10300_elf_relocate_section): Clarify the warning 1624 message for dangerous relocs, special case the common user error. 1625 16262007-01-30 H.J. Lu <hongjiu.lu@intel.com> 1627 1628 * elf.c (copy_elf_program_header): Start from the first section 1629 in a segment and stop when all sections in a segment are 1630 accounted for. 1631 16322007-01-29 Julian Brown <julian@codesourcery.com> 1633 1634 * bfd-in2.h: Regenerate. 1635 * bfd-in.h (bfd_arm_vfp11_fix): New enum. Specify how VFP11 1636 instruction scanning should be done. 1637 (bfd_elf32_arm_init_maps, bfd_elf32_arm_vfp11_erratum_scan) 1638 (bfd_elf32_arm_vfp11_fix_veneer_locations): Add prototypes. 1639 (bfd_elf32_arm_set_target_relocs): Add vfp11 fix type argument to 1640 prototype. 1641 * elf-bfd.h (elf_backend_write_section): Add struct bfd_link_info 1642 argument. 1643 * elf32-arm.c (VFP11_ERRATUM_VENEER_SECTION_NAME) 1644 (VFP11_ERRATUM_VENEER_ENTRY_NAME): Define macros. 1645 (elf32_vfp11_erratum_type): New enum. 1646 (elf32_vfp11_erratum_list): New struct. List of veneers or jumps to 1647 veneers. 1648 (_arm_elf_section_data): Add mapsize, erratumcount, erratumlist. 1649 (elf32_arm_link_hash_table): Add vfp11_erratum_glue_size, 1650 vfp11_fix and num_vfp11_fixes fields. 1651 (elf32_arm_link_hash_table_create): Initialise vfp11_fix, 1652 vfp11_erratum_glue_size, num_vfp11_fixes fields. 1653 (VFP11_ERRATUM_VENEER_SIZE): Define. Size of an (ARM) veneer. 1654 (bfd_elf32_arm_allocate_interworking_sections): Initialise erratum 1655 glue section. 1656 (elf32_arm_section_map_add): Add an code/data mapping symbol entry 1657 to a section's map. 1658 (record_vfp11_erratum_veneer): Create a single veneer, and its 1659 associated symbols. 1660 (bfd_elf32_arm_add_glue_sections_to_bfd): Add vfp11 erratum glue. 1661 (bfd_elf32_arm_init_maps): Initialise mapping symbol table for input 1662 BFDs. 1663 (bfd_elf32_arm_set_vfp11_fix): Set the type of erratum workaround 1664 required. 1665 (bfd_arm_vfp11_pipe): Define VFP11 instruction pipes. 1666 (bfd_arm_vfp11_regno): Recode a register number from a VFP11 insn. 1667 (bfd_arm_vfp11_write_mask): Update write mask according to coded 1668 register number. 1669 (bfd_arm_vfp11_antidependency): New function. 1670 (bfd_arm_vfp11_insn_decode): Decode a VFP11 insn. 1671 (elf32_arm_compare_mapping): Declare. 1672 (bfd_elf32_arm_vfp11_erratum_scan): Scan the sections of an input 1673 BFD for potential erratum-triggering insns. Record results. 1674 (bfd_elf32_arm_vfp11_fix_veneer_locations): Find out where veneers 1675 and branches to veneers have been placed in virtual memory after 1676 layout. 1677 (bfd_elf32_arm_set_target_relocs): Set vfp11_fix field in global 1678 hash table. 1679 (elf32_arm_output_symbol_hook): Remove. 1680 (elf32_arm_write_section): Output veneers, and branches to veneers. 1681 Use maps from input sections, not output sections, for code 1682 byte-swapping. 1683 * elf32-ppc.c (ppc_elf_write_section): Add dummy link_info argument. 1684 * elf32-score.c (_bfd_score_elf_write_section): Likewise. 1685 * elfxx-mips.c (_bfd_mips_elf_write_section): Likewise. 1686 * elfxx-mips.h (_bfd_mips_elf_write_section): Likewise. 1687 16882007-01-27 H.J. Lu <hongjiu.lu@intel.com> 1689 1690 * elf64-hppa.c (elf64_bed): Defined for HPUX and Linux. 1691 (INCLUDED_TARGET_FILE): Removed. 1692 16932007-01-27 Mike Frysinger <vapier@gentoo.org> 1694 1695 * elf32-hppa.c (elf32_bed): Define for hpux, linux and netbsd. 1696 (INCLUDED_TARGET_FILE): Remove. 1697 16982007-01-25 DJ Delorie <dj@redhat.com> 1699 1700 * elf32-m32c.c (m32c_elf_howto_table): Don't complain about 1701 R_M32C_16 or R_M32C_24 relocs. 1702 17032007-01-25 Nick Clifton <nickc@redhat.com> 1704 1705 PR binutils/3874 1706 * elf32-avr.c (avr_link_hash_table): Check to make sure that the 1707 hash table was created by elf32_avr_link_hash_table_create before 1708 using it. 1709 (elf32_avr_link_hash_newfunc): New function. Just pass the call 1710 through to _bfd_elf_link_hash_newfunc. 1711 (elf32_avr_link_hash_table_create): Use 1712 elf32_avr_link_hash_newfunc instead of 1713 _bfd_elf_link_hash_newfunc. 1714 (elf32_avr_relocate_section): Check for the hash table pointer 1715 being NULL. 1716 (elf32_avr_relax_section, avr_build_one_stub, 1717 elf32_avr_setup_params, get_local_syms, elf32_avr_size_stubs, 1718 elf32_avr_build_stubs): Likewise. 1719 17202007-01-16 H.J. Lu <hongjiu.lu@intel.com> 1721 1722 PR ld/3831 1723 * elf-bfd.h (bfd_elf_link_mark_dynamic_symbol): Add an 1724 argument, Elf_Internal_Sym *. 1725 1726 * elflink.c (bfd_elf_link_mark_dynamic_symbol): Mark a data 1727 symbol dynamic if info->dynamic_data is TRUE. 1728 (bfd_elf_record_link_assignment): Updated call to 1729 bfd_elf_record_link_assignment. 1730 (_bfd_elf_merge_symbol): Likewise. Always call 1731 bfd_elf_link_mark_dynamic_symbol. 1732 17332007-01-12 H.J. Lu <hongjiu.lu@intel.com> 1734 1735 * Makefile.am (BFD_LIBS): Removed. 1736 * Makefile.in: Regenerated. 1737 17382007-01-11 H.J. Lu <hongjiu.lu@intel.com> 1739 1740 PR binutils/3631 1741 * Makefile.am (OFILES): Add @bfd64_libs@. 1742 (libbfd_la_SOURCES): Remove $(BFD64_LIBS_CFILES). 1743 * Makefile.in: Regenerated. 1744 1745 * configure.in (bfd_libs): Replaced by ... 1746 (bfd64_libs): This. 1747 * configure: Regenerated. 1748 17492007-01-11 Nathan Sidwell <nathan@codesourcery.com> 1750 1751 * elf.c (assign_file_positions_for_load_sections): We can 1752 require fewer phdrs than expected. 1753 17542007-01-08 Kazu Hirata <kazu@codesourcery.com> 1755 1756 * archures.c (bfd_mach_cpu32_fido): Rename to bfd_mach_fido. 1757 * bfd-in2.h: Regenerate. 1758 * cpu-m68k.c (arch_info_struct): Use bfd_mach_fido instead of 1759 bfd_mach_cpu32_fido. 1760 (m68k_arch_features): Use fido_a instead of cpu32. 1761 (bfd_m68k_compatible): Reject the combination of Fido and 1762 ColdFire. Accept the combination of CPU32 and Fido with a 1763 warning. 1764 * elf32-m68k.c (elf32_m68k_object_p, 1765 elf32_m68k_merge_private_bfd_data, 1766 elf32_m68k_print_private_bfd_data): Treat Fido as an 1767 architecture by itself. 1768 17692007-01-08 Kai Tietz <kai.tietz@onevision.com> 1770 1771 * config.bfd: Renamed target x86_64-*-mingw64 to x86_64-*-mingw*. 1772 17732007-01-05 Jakub Jelinek <jakub@redhat.com> 1774 1775 * texhex.c (first_phase): Don't fall through into the default 1776 case. 1777 (pass_over): Replace abort () calls with return FALSE. Fix 1778 buffer overflow. 1779 17802007-01-04 Jie Zhang <jie.zhang@analog.com> 1781 1782 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't set 1783 SEC_EXCLUDE on zero size .eh_frame. 1784 1785For older changes see ChangeLog-2006 1786 1787Local Variables: 1788mode: change-log 1789left-margin: 8 1790fill-column: 74 1791version-control: never 1792End: 1793