X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=bfd%2FChangeLog;h=5607b97d308017da23e8f36df800dc3f0b291bde;hb=bb700d785171ef80b094bf9e491b38d4a0eedd54;hp=e1a4e8781cc80c05156fafccd1d96de1ccd8db01;hpb=7499d566bb9495cac23109f01ded20f8849d08ae;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/ChangeLog b/bfd/ChangeLog index e1a4e8781c..5607b97d30 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,16 +1,781 @@ -2004-11-08 Inderpreet Singh - Vineet Sharma +2005-02-01 Alan Modra + + * elf64-ppc.c (func_desc_adjust): Move code creating func desc sym to.. + (make_fdh): ..here. New function. Don't set BSF_OBJECT for + undefined syms. + (struct add_symbol_adjust_data): New. + (add_symbol_adjust): Make an undefweak func desc for old ABI + objects to link with --as-needed shared libs. Return fail status. + Don't adjust old ABI func entry sym to weak if func desc syms + isn't defined. + (ppc64_elf_check_directives): Adjust call to add_symbol_adjust, + and return status. + +2005-02-01 Hans-Peter Nilsson + + * cpu-cris.c (get_compatible): Rearrange disabled code and comment + for clarity. + +2005-02-01 Alan Modra + + * elf64-ppc.c (ppc64_elf_check_directives): Move undefs list fixup.. + * linker.c (bfd_link_repair_undef_list): ..to new function, but don't + remove anything but new and undefweak. + * elflink.c (_bfd_elf_link_create_dynamic_sections): Override any + existing _DYNAMIC. + (_bfd_elf_create_dynamic_sections): Formatting. + (bfd_elf_record_link_assignment): Call bfd_link_repair_undef_list. + (_bfd_elf_merge_symbol): Don't handle as-needed syms here. + (struct elf_smash_data): New. + (elf_smash_syms): New function. + (elf_link_add_object_symbols): Call elf_smash_syms. Don't add + unneeded dynamic objects to loaded list. + (elf_link_output_extsym): Don't handle as-needed here. Strip + bfd_link_hash_new symbols. + * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't + delref when dynindx is already -1. + * elf64-alpha.c (elf64_alpha_output_extsym): Strip bfd_link_hash_new + symbols. + * elfxx-mips.c (mips_elf_output_extsym): Likewise. + +2005-02-01 Ben Elliston + + * elfxx-target.h (bfd_elfNN_bfd_discard_group): Redefine. + +2005-02-01 Ben Elliston + + * aout-arm.c, aout-target.h, aoutx.h, archive.c, armnetbsd.c, + bfd-in.h, bfdio.c, coff-alpha.c, coff-arm.c, coff-h8300.c, + coff-i860.c, coff-mcore.c, coff-or32.c, coff-ppc.c, coff-sh.c, + coff-sparc.c, coffcode.h, coffgen.c, cofflink.c, cpu-cris.c, + cpu-h8500.c, cpu-ns32k.c, ecoff.c, ecofflink.c, elf.c, + elf32-dlx.c, elf32-fr30.c, elf32-frv.c, elf32-hppa.c, + elf32-i860.c, elf32-ip2k.c, elf32-m32r.c, elf32-sh.c, + elf32-v850.c, elf64-mips.c, elf64-sparc.c, elflink.c, + i386aout.c, i386msdos.c, i386os9k.c, ieee.c, mach-o.c, + nlm32-sparc.c, oasys.c, opncls.c, pdp11.c, pe-mips.c, peXXigen.c, + pef.c, peicode.h, reloc.c, riscix.c, section.c, simple.c, som.c, + sparclynx.c, targets.c, vms-misc.c, vms-tir.c, xsym.c, doc/chew.c, + hosts/delta68.h, hosts/vaxbsd.h: Remove #if 0'd code + throughout. Similarly, collapse #if 1'd code. + +2005-02-01 Ben Elliston + + * elf-bfd.h (bfd_elf_discard_group): Remove. + * elf.c (bfd_elf_discard_group): Likewise. + * elfxx-target.h (bfd_elfNN_bfd_discard_group): Remove macro. + +2005-01-31 Richard Sandiford + + * elf-bfd.h (elf_backend_data): Add elf_backend_eh_frame_address_size. + (_bfd_elf_eh_frame_address_size): Declare. + * elfxx-target.h (elf_backend_eh_frame_address_size): Define a default. + (elfNN_bed): Initialize elf_backend_eh_frame_address_size. + * elfxx-mips.h (_bfd_mips_elf_eh_frame_address_size): Declare. + (elf_backend_eh_frame_address_size): Define. + * elfxx-mips.c (_bfd_mips_elf_eh_frame_address_size): New function. + * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Get the address + size from the new backend hook. + (_bfd_elf_write_section_eh_frame): Likewise. + (_bfd_elf_eh_frame_address_size): New function. + +2005-01-31 Andrew Cagney + + * configure: Regenerate to track ../gettext.m4. + +2005-01-31 Mark Mitchell + + * elf32-arm.c (elf32_arm_symbian_special_sections): Do not set + SHF_WRITE for .init_array, .fini_array, and .preinit_array. + +2005-01-31 Nick Clifton + + * confg.bfd: Make targets scheduled for obsoletion (m68k-lynxos, + sparc-lynxos, vax-vms) be obsolete. + +2005-01-28 Daniel Jacobowitz + + * elf-bfd.h (struct elf_backend_data): Add minpagesize. + * elf32-arm.c (ELF_MINPAGESIZE): Define. + * elf32-ppc.c (ELF_MINPAGESIZE): Define. + * elfcode.h (elf_object_p): Use minpagesize instead of + maxpagesize. + * elfxx-target.h (ELF_MINPAGESIZE): Default to ELF_MAXPAGESIZE. + (elfNN_bed): Include ELF_MINPAGESIZE. + +2005-01-28 Julian Brown + + * bin-in.h (bfd_elf32_arm_set_target_relocs): Update prototype. + * bin-in2.h (bfd_elf32_arm_set_target_relocs): Update prototype. + * elf32-arm.c (elf32_arm_link_hash_table): Add fix_v4bx flag. + (bfd_elf32_arm_set_target_relocs): Add formal parameter fix_v4bx for + passing flag value from ld. Set flag value in global hash table entry. + (elf32_arm_final_link_relocate): Add code to implement R_ARM_V4BX + relocation. + +2005-01-27 Andrew Cagney + + * configure: Regenerate to track ../gettext.m4 change. + +2005-01-25 Mark Mitchell + + * elf32-arm.c (elf_backend_default_use_rela_p): Define to zero for + SymbianOS. + +2005-01-25 Alexandre Oliva + + 2004-12-10 Alexandre Oliva + * elf32-frv.c (elf32_frv_relocate_section): Force local binding + for TLSMOFF. + * reloc.c: Add R_FRV_TLSMOFF. + * elf32-frv.c (elf32_frv_howto_table): Likewise. + (frv_reloc_map, frv_reloc_type_lookup): Map it. + (elf32_frv_relocate_section): Handle it. + (elf32_frv_check_relocs): Likewise. + * libbfd.h, bfd-in2.h: Rebuilt. + 2004-11-26 Alexandre Oliva + * elf32-frv.c (_frvfdpic_emit_got_relocs_plt_entries): Don't crash + when given an undefweak TLS symbol. Fix constant TLS PLT entries + such that they return the constant in gr9. + (_frvfdpic_relax_tls_entries): Don't crash for undefweak TLS + symbols. + (_frvfdpic_size_got_plt): Set _cooked_size of dynamic sections. + too, such that they shrink on relaxation. + (elf32_frvfdpic_finish_dynamic_sections): Check __ROFIXUP_END__ as + marking the position right past the _GLOBAL_OFFSET_TABLE_ value. + (_frvfdpic_assign_plt_entries): Shrink constant TLS PLT entries + if we can guarantee the use of 16-bit constants. + 2004-11-10 Alexandre Oliva + Introduce TLS support for FR-V FDPIC. + * reloc.c: Add TLS relocations. + * elf32-frv.c (elf32_frv_howto_table): Add TLS relocations. + (elf32_frv_rel_tlsdesc_value_howto): New. + (elf32_frv_rel_tlsoff_howto): New. + (frv_reloc_map): Add new mappings. + (struct frvfdpic_elf_link_hash_table): Add pointer to summary + reloc information. + (frvfdpic_dynamic_got_plt_info): New. + (frvfdpic_plt_tls_ret_offset): New. + (ELF_DYNAMIC_INTERPRETER, DEFAULT_STACK_SIZE): Move earlier. + (struct _frvfdpic_dynamic_got_info): Likewise. Add TLS members. + (struct _frvfdpic_dynamic_got_plt_info): Likewise. + (FRVFDPIC_SYM_LOCAL): Regard symbols defined in the absolute + section as local. + (struct frvfdpic_relocs_info): Add TLS fields. + (frvfdpic_relocs_info_hash): Warning clean up. + (frvfdpic_relocs_info_find): Initialize tlsplt_entry. + (frvfdpic_pic_merge_early_relocs_info): Merge TLS fields. + (FRVFDPIC_TLS_BIAS): Define. + (tls_biased_base): New. + (_frvfdpic_emit_got_relocs_plt_entries): Deal with TLS + relocations. + (frv_reloc_type_lookup): Likewise. + (frvfdpic_info_to_howto_rel): Likewise. + (elf32_frv_relocate_section): Likewise. + (_frv_create_got_section): Create the PLT section here. + (elf32_frvfdpic_create_dynamic_sections): Not here. + (_frvfdpic_count_nontls_entries): Move out of... + (_frvfdpic_count_got_plt_entries): ... here. + (_frvfdpic_count_tls_entries): Likewise. Add TLS support. + (_frvfdpic_count_relocs_fixups): Likewise. Add relaxation + support. + (_frvfdpic_relax_tls_entries): New. + (_frvfdpic_compute_got_alloc_data): Add TLS support. + (_frvfdpic_get_tlsdesc_entry): New. + (_frvfdpic_assign_got_entries): Add TLS support. + (_frvfdpic_assign_plt_entries): Likewise. + (_frvfdpic_reset_got_plt_entries): New. + (_frvfdpic_size_got_plt): Move out of... + (elf32_frvfdpic_size_dynamic_sections): ... here. + (_frvfdpic_relax_got_plt_entries): New. + (elf32_frvfdpic_relax_section): New. + (elf32_frvfdpic_finish_dynamic_sections): Add TLS sanity check. + (elf32_frv_check_relocs): Add TLS support. + (bfd_elf32_bfd_relax_section): Define for FDPIC. + * libbfd.h, bfd-in2.h: Rebuilt. + +2005-01-25 Alan Modra + + * elf.c (_bfd_elf_get_dynamic_reloc_upper_bound): Only include + loadable reloc sections. + (_bfd_elf_canonicalize_dynamic_reloc): Likewise. + (_bfd_elf_get_synthetic_symtab): Return 0 if no dynamic syms. + +2005-01-25 Alan Modra + + * elflink.c (elf_link_add_object_symbols): Don't create link dynamic + sections immediately when linking shared libs. Instead, wait until + we know a lib is needed. + (_bfd_elf_link_create_dynstrtab): Extract from.. + (_bfd_elf_link_create_dynamic_sections_): ..here. + (elf_add_dt_needed_tag): Call _bfd_elf_link_create_dynstrtab and + _bfd_elf_link_create_dynamic_sections. Add abfd param. Allow + for non-existent .dynamic. + (elf_link_output_extsym): Don't complain about undefined symbols + in as-needed dynamic libs that aren't actually linked. + +2005-01-24 Andrew Cagney + + * configure: Regenerate, ../gettext.m4 was updated. + +2005-01-21 Ben Elliston + + * aout-encap.c: Remove unused file. + +2005-01-19 H.J. Lu + + PR 679 + * elflink.c (_bfd_elf_dynamic_symbol_p): Only protected + non-function symbols are local. + (_bfd_elf_symbol_refs_local_p): Likewise. + +2005-01-18 Alan Modra + + * bfd.c (bfd_link_just_syms): Add abfd param. + * bfd-in2.h: Regenerate. + +2005-01-17 Richard Sandiford + + * elf-eh-frame.c (skip_cfa_op, skip_non_nops): New functions. + (_bfd_elf_discard_section_eh_frame): Use them to interpret the CFA + instructions. If the amount of padding is known, reduce the size + of the CIE or FDE by that amount. + +2005-01-17 Richard Sandiford + + * elf-bfd.h (struct cie): Use bfd_vmas for code_align, ra_column and + augmentation_size. Use bfd_signed_vmas for data_align. + * elf-eh-frame.c (read_uleb128, read_sleb128): Delete in favor of... + (read_byte, skip_leb128, read_uleb128, read_sleb128): ...these new + functions. Don't read past the end of the enclosing CIE or FDE. + (skip_bytes): New utility function. + (_bfd_elf_discard_section_eh_frame): Use new functions, adding more + sanity checking. + (_bfd_elf_write_section_eh_frame): Use new functions. + +2005-01-17 Richard Sandiford + + * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use an + assert-style REQUIRE() macro to handle sanity checks. + +2005-01-17 H.J. Lu + + * dwarf2.c (dwarf2_debug): Move info_ptr_unit to ... + (comp_unit): Here. + (read_unsigned_leb128): Removed. + (read_signed_leb128): Removed. + (find_abstract_instance_name): Updated. + (parse_comp_unit): Accept info_ptr_unit. + (_bfd_dwarf2_find_nearest_line): Set info_ptr_unit for each + comp unit and pass it to parse_comp_unit. + + * elf-eh-frame.c (read_unsigned_leb128): Moved to ... + (read_signed_leb128): Moved to ... + * libbfd.c: Here. + + * libbfd-in.h (read_unsigned_leb128): New prototype. + (read_signed_leb128): Likewise. + * libbfd.h: Regenerated. + +2005-01-17 Andrew Stubbs + Nick Clifton + + * cpu-sh.c (bfd_to_arch_table): Change arch_sh1_up to arch_sh_up, + arch__sh4_nofp_up to arch_sh4_nofpu_up and arch_sh4a_nofp_up to + arch_sh4a_nofpu_up in order to match the external names and make the + testsuite's job easier. + * archuires.c: Rename bfd_mach_sh2a_fake? to more meaningful + names. + * bfd-in2.h: Regenerate. + +2005-01-15 Andrew Cagney + + * bfd.m4: New file. + * acinclude.m4: Move BFD_NEED_DECLARATION, + BFD_HAVE_SYS_PROCFS_TYPE and BFD_HAVE_SYS_PROCFS_TYPE_MEMBER to + the new file bfd.m4. Include ../bfd/bfd.m4. + * configure: Re-generate. + +2005-01-12 Alan Modra + + * elf32-ppc.c (ppc_elf_howto_raw): Delete RELAX32* entries. + (ppc_elf_relax_section): Use PLT variants of RELAX32 relocs for + reaching PLT. + (ppc_elf_relocate_section): Handle R_PPC_RELAX32_PLT and + R_PPC_RELAX32PC_PLT. + +2005-01-11 Alan Modra + + * elf64-ppc.c (ppc64_elf_gc_sweep_hook): Follow indirect and warning + symbols. + * elf32-arm.c (elf32_arm_gc_sweep_hook): Likewise. + * elf32-cris.c (cris_elf_gc_sweep_hook): Likewise. + * elf32-hppa.c (elf32_hppa_gc_sweep_hook): Likewise. + * elf32-i386.c (elf_i386_gc_sweep_hook): Likewise. + * elf32-m32r.c (m32r_elf_gc_sweep_hook): Likewise. + * elf32-m68k.c (elf_m68k_gc_sweep_hook): Likewise. + * elf32-ppc.c (ppc_elf_gc_sweep_hook): Likewise. + * elf32-s390.c (elf_s390_gc_sweep_hook): Likewise. + * elf32-sh.c (sh_elf_gc_sweep_hook): Likewise. + * elf32-sparc.c (elf32_sparc_gc_sweep_hook): Likewise. + * elf32-vax.c (elf_vax_gc_sweep_hook): Likewise. + * elf32-xtensa.c (elf_xtensa_gc_sweep_hook): Likewise. + * elf64-s390.c (elf_s390_gc_sweep_hook): Likewise. + * elf64-x86-64.c (elf64_x86_64_gc_sweep_hook): Likewise. + +2005-01-11 Alan Modra + + * elf32-ppc.c (ppc_elf_create_dynamic_sections): Correct + .dynsbss flags. + +2005-01-10 Inderpreet Singh + + * archures.c: Define bfd_mach_maxq10 and bfd_mach_maxq20. + * bfd-in2.h: Regenerate. + * coffcode.h (coff_set_arch_mach_hook, coff_set_flags): Add code + to support these new machine values. + * cpu-maxq.c (bfd_maxq10_arch): New architecture definition for + the maxq10. + (bfd_maxq_arch): Update values for the maxq20. + +2005-01-10 Eric Botcazou + + * elf64-sparc.c (sparc64_elf_adjust_dynamic_symbol): When linking a + non-shared object, do not reserve space in .plt and .rela.plt for + regular symbols neither defined nor referenced in shared objects. + +2005-01-09 Eric Botcazou + + * elf32-sparc.c (elf32_sparc_link_hash_table_create): Use bfd_zmalloc + to zero the structure. + (create_got_section): Use BFD_ASSERT instead of abort. + * elf64-sparc.c (struct sparc64_elf_link_hash_table): New 'sgot' and + 'srelgot' fields. + (create_got_section): New function. + (sparc64_elf_create_dynamic_sections): Likewise. + (sparc64_elf_check_relocs): Invoke create_got_section instead of + _bfd_elf_create_got_section. Use the sgot and srelgot shortcuts. + (sparc64_elf_size_dynamic_sections): Use the srelgot shortcut. + (sparc64_elf_relocate_section): Use the sgot and srelgot shortcuts. + (sparc64_elf_finish_dynamic_symbol): Likewise. + (sparc64_elf_finish_dynamic_sections): Use the sgot shortcut. + (elf_backend_create_dynamic_sections): Define to + sparc64_elf_create_dynamic_sections. + +2005-01-09 Eric Botcazou + + * elf32-sparc.c (elf32_sparc_omit_section_dynsym): New function. + (elf_backend_omit_section_dynsym): Define to it. + * elf64-sparc.c (sparc64_elf_omit_section_dynsym): New function. + (elf_backend_omit_section_dynsym): Define to it. + +2005-01-07 Jakub Jelinek + + * bfd/elf.c (INCLUDE_SECTION_IN_SEGMENT): Don't put empty sections into + PT_DYNAMIC segment, unless .dynamic. + +2005-01-06 Paul Brook + + * config.bfd: Add entry for arm-*-vxworks and arm-*-windiss. + * configure.in: Add bfd_elf32_{big,little}arm_vxworks_vec. + * configure: Regenerate. + * elf32-arm.c: Add VxWorks target bfd. + (USE_REL): Remove. + (elf32_arm_link_hash_table): Add use_rel. + (elf32_arm_link_hash_table_create, elf32_arm_final_link_relocate, + elf32_arm_relocate_section): Replace USE_REL with runtime check. + Correct offset calculation for RELA case. + (elf_backend_may_use_rel_p, elf_backend_may_use_rela_p, + elf_backend_default_use_rela_p, elf_backend_rela_normal): Define. + (elf32_arm_vxworks_link_hash_table_create): New function. + * targets.c (bfd_elf32_bigarm_vxworks_vec): Add declaration. + (bfd_elf32_littlearm_vxworks_vec): Ditto. + (_bfd_target_vector): Add bfd_elf32_{big,little}arm_vxworks_vec. + +2005-01-06 Alan Modra + + * elf64-ppc.c (struct ppc_link_hash_table): Add no_multi_toc and + multi_toc_needed. + (has_toc_reloc, makes_toc_func_call, call_check_in_progress): Define. + (ppc64_elf_check_relocs): Update references to has_gp_reloc. + (ppc64_elf_setup_section_lists): Add no_multi_toc parm, set htab bit. + (ppc64_elf_next_toc_section): Heed no_multi_toc. + (ppc64_elf_reinit_toc): Set multi_toc_needed. + (toc_adjusting_stub_needed): Rewrite. + (ppc64_elf_next_input_section): Use multi_toc_needed to shortcut + toc tests. Adjust for toc_adjusting_stub_needed changes. + (ppc64_elf_size_stubs): Update references to has_gp_reloc. + * elf64-ppc.h (ppc64_elf_setup_section_lists): Update prototype. + * section.c: Expand comment on backend bits. + * bfd-in2.h: Regenerate. + * libbfd.h: Regenerate. + +2005-01-06 Alan Modra + + * elf64-ppc.c (ppc64_elf_size_stubs): When determining need for + toc adjusting stub, do not test source section flags. + +2005-01-05 Eric Botcazou + + * elf64-sparc.c (sparc64_elf_relocate_section): Ignore overflows + from STABS debugging sections again. + +2005-01-05 Fred Fish + + * dwarf2.c (struct dwarf2_debug): Add info_ptr_unit member. + (find_abstract_instance_name): New function. + (scan_unit_for_functions): Handle DW_TAG_inlined_subroutine. + (scan_unit_for_functions): Handle DW_AT_abstract_origin. + (_bfd_dwarf2_find_nearest_line): Initialize info_ptr_unit. + +2004-12-31 Paul Brook + + * elf32-arm.c (elf32_arm_symbian_plt_entry): Fix comment typo. + +2004-12-31 Alan Modra + + * reloc.c (BFD_RELOC_AVR_LDI, BFD_RELOC_AVR_6, BFD_RELOC_AVR_6_ADIW): + Commit missing changes from 2004-12-22. + * bfd-in2.h: Regenerate. + +2004-12-23 Tomer Levi + + * elf32-crx.c (elf32_crx_relax_section): Support 'bcop' relaxation. + +2004-12-21 Kris Warkentin + + * elf.c (elfcore_grok_nto_gregs): Change name to elfcore_grok_nto_regs. + Add 'base' argument for constructing register sections. Reformat. + (elfcore_grok_nto_note): Call elfcore_grok_nto_regs for both + gp and fp regs. Reformat. + +2004-12-22 Klaus Rudolph + + * reloc.c: Add new relocs R_AVR_LDI, R_AVR_6, R_AVR_6_ADIW. + * bfd-in2.h: Regenerate. + * elf32-avr.c (elf_avr_nowto_table): Add the new relocs. + (avr_reloc_map): Likewise. + (avr_final_link_relocate): Likewise. + +2004-12-22 Alan Modra + + * elflink.c (_bfd_elf_merge_symbol): Treat old definitions from + as-needed dynamic libs as undefined. + (elf_link_add_object_symbols): Remove DYN_AS_NEEDED from as-needed + libs when finding they are needed. + +2004-12-20 Alan Modra + + * elf64-ppc.c (struct ppc64_elf_obj_tdata): Add opd_relocs. + (opd_entry_value): Use opd_relocs if available. + (ppc64_elf_relocate_section): Don't set reloc_done. Instead + copy .opd relocations to opd_relocs. + (ppc64_elf_edit_toc): Set rel_hdr.sh_size after editing relocs. + +2004-12-16 Richard Sandiford + + * reloc.c (BFD_RELOC_V850_LO16_SPLIT_OFFSET): New bfd_reloc_code_type. + * elf32-v850.c (v850_elf_howto_table): Add entry for + R_V850_LO16_SPLIT_OFFSET. + (v850_elf_reloc_map): Map it to BFD_RELOC_V850_LO16_SPLIT_OFFSET. + (v850_elf_perform_lo16_relocation): New function, extracted from... + (v850_elf_perform_relocation): ...here. Use it to handle + R_V850_LO16_SPLIT_OFFSET. + (v850_elf_check_relocs, v850_elf_final_link_relocate): Handle + R_V850_LO16_SPLIT_OFFSET. + * libbfd.h, bfd-in2.h: Regenerate. + +2004-12-14 P.J. Darcy + + * config.bfd: Add s390x-ibm-tpf support. + +2004-12-14 Tomer Levi + + * elf32-crx.c (elf32_crx_relax_delete_bytes): Add 'struct bfd_link_info *' + to prototype, to make hash info available. + Prevent wrapped symbols from being adjusted twice. + +2004-12-14 Richard Sandiford + + * elfxx-mips.c (mips_elf_calculate_relocation): Don't report an + overflow for calls to undefined weak symbols. + +2004-12-11 Alan Modra + + * elfcode.h (elf_slurp_symbol_table): Use bfd_elf_sym_name so that + canonical sections syms have a name. + +2004-12-11 Alan Modra + + * elf64-ppc.c (opd_entry_value): Don't use cached relocs if they + have been adjusted for output. + (ppc64_elf_relocate_section): Mark sections with reloc_done. + +2004-12-10 Alan Modra + + * elf.c (bfd_elf_sym_name): Rename from bfd_elf_local_sym_name and + add symtab_hdr param. + (group_signature): Update calls. + * elf-bfd.h (bfd_elf_sym_name): Update. + * elf32-ppc.c (ppc_elf_relocate_section): Update. + * elf64-ppc.c (ppc64_elf_edit_opd, ppc64_elf_edit_toc): Update. + (ppc64_elf_relocate_section): Update. + * elflink.c (elf_link_input_bfd): Update. + +2004-12-10 Jakub Jelinek + + * elf.c (bfd_elf_local_sym_name): Avoid crashes with invalid + st_shndx on STT_SECTION sections. + +2004-12-09 Daniel Jacobowitz + + * elfcode.h (elf_slurp_reloc_table_from_section): Don't canonicalize + ELF section symbols. + +2004-12-09 Ian Lance Taylor + + * elfxx-mips.c (mips_elf_calculate_relocation): For R_MIPS_JALR, + return a real value, unless it is a PLT symbol. + (mips_elf_perform_relocation): On the RM9000, turn a jal into a + bal if possible. + + * elfn32-mips.c (elf_mips_howto_table_rela): Change dst_mask of + R_MIPS_JALR entry to 0. + + * archures.c: Define bfd_mach_mips9000. + * elfxx-mips.c (_bfd_elf_mips_mach): Handle E_MIPS_MACH_9000. + (mips_set_isa_flags): Handle bfd_mach_mips9000. + * cpu-mips.c (I_mips9000): Define. + (arch_info_struct): Add case for bfd_mach_mips9000. + * aoutx.h (NAME(aout,machine_type)): Handle bfd_mach_mips9000. + * bfd-in2.h: Regenerate. + +2004-12-08 Ian Lance Taylor + + * elfxx-mips.c (mips_elf_calculate_relocation): Test for R_MIPS_26 + overflow. + +2004-12-07 Ben Elliston + + * netbsd-core.c (netbsd_core_file_p): Make `i' unsigned. + +2004-12-06 Daniel Jacobowitz + + Suggested by Fergal Daly : + * simple.c (simple_dummy_multiple_definition): New function. + (bfd_simple_get_relocated_section_contents): Use it. + +2004-12-03 Jan Beulich + + * elf.c (elf_find_function): Don't use the last file symbol ever, + seen, but the last one seen prior to the symbol being reported. + Don't report a filename at all for global symbols when that might + be ambiguous/wrong. + +2004-12-01 Paul Brook + + * elf32-arm.c (elf32_arm_copy_private_bfd_data): Set EI_OSABI. + (elf32_arm_post_process_headers): Set EI_OSABI depending on ABI + version. + +2004-12-01 Paul Brook + + * elflink.c (elf_link_add_object_symbols): Make symbols from discarded + sections undefined. + +2004-11-30 Paul Brook + + * elf32-arm.c (struct elf32_arm_link_hash_table): Remove + no_pipeline_knowledge + (elf32_arm_link_hash_table_create): Ditto. + (bfd_elf32_arm_process_before_allocation): Ditto. + (elf32_arm_final_link_relocate): Ditto. Remove oabi relocation + handling. + * bfd-in.h (bfd_elf32_arm_process_before_allocation): Update + prototype. + * bfd-in2.h: Regenerate. + +2004-11-30 Randolph Chung + + * elf32-hppa.c (elf32_hppa_grok_prstatus): New function. + (elf32_hppa_grok_psinfo): New function. + (elf_backend_grok_prstatus): Define. + (elf_backend_grok_psinfo): Define. + +2004-11-24 H.J. Lu + + PR 574: + * elfcode.h (elf_slurp_symbol_table): Handle STT_TLS. + +2004-11-24 Paul Brook + + * elf.c (assign_section_numbers): Number SHT_GROUP sections first. + +2004-11-24 Paul Brook + + * elf32-arm.c (elf32_arm_swap_symbol_in): New function. + (elf32_arm_swap_symbol_out): New function. + (elf32_arm_size_info): Add. + (elf_backend_size_info): Define. + +2004-11-20 John David Anglin + + * hpux-core.c (hpux_core_core_file_p): Use offsetof macro in calls to + make_bfd_asection. + +2004-11-19 Alan Modra + + * elf32-arm.c (elf32_arm_finish_dynamic_sections): Warning fix. + * elf32-iq2000.c (iq2000_reloc_type_lookup): C90 function decl. + * nlmcode.h (nlm_write_object_contents): Warning fix. + +2004-11-18 Bob Wilson + + * elf32-xtensa.c (ebb_propose_action): Fix argument order. + +2004-11-17 Daniel Jacobowitz + + * elf32-arm.c (PLT_THUMB_STUB_SIZE): Define. + (elf32_arm_plt_thumb_stub): New. + (struct elf32_arm_link_hash_entry): Add plt_thumb_refcount + and plt_got_offset. + (elf32_arm_link_hash_traverse): Fix typo. + (elf32_arm_link_hash_table): Add obfd. + (elf32_arm_link_hash_newfunc): Initialize new fields. + (elf32_arm_copy_indirect_symbol): Copy plt_thumb_refcount. + (elf32_arm_link_hash_table_create): Initialize obfd. + (record_arm_to_thumb_glue): Mark the glue as a local ARM function. + (record_thumb_to_arm_glue): Mark the glue as a local Thumb function. + (bfd_elf32_arm_get_bfd_for_interworking): Verify that the + interworking BFD is not dynamic. + (bfd_elf32_arm_process_before_allocation): Handle R_ARM_PLT32. Do + not emit glue for PLT references. + (elf32_arm_final_link_relocate): Handle Thumb functions. Do not + emit glue for PLT references. Support the Thumb PLT prefix. + (elf32_arm_gc_sweep_hook): Handle R_ARM_THM_PC22 and + plt_thumb_refcount. + (elf32_arm_check_relocs): Likewise. + (elf32_arm_adjust_dynamic_symbol): Handle Thumb functions and + plt_thumb_refcount. + (allocate_dynrelocs): Handle Thumb PLT references. + (elf32_arm_finish_dynamic_symbol): Likewise. + (elf32_arm_symbol_processing): New function. + (elf_backend_symbol_processing): Define. + +2004-11-16 Richard Sandiford + + * elf-bfd.h (eh_cie_fde): Add new fields: add_augmentation_size and + add_fde_encoding. Remove need_relative. + * elf-eh-frame.c (extra_augmentation_string_bytes) + (extra_augmentation_data_bytes, size_of_output_cie_fde): New functions. + (_bfd_elf_discard_section_eh_frame): Consider changing the FDE encoding + in cases where the CIE has no existing 'R' augmentation. Use + size_of_output_cie_fde when assigning offsets. Use the final offset + as the new section size. + (_bfd_elf_eh_frame_section_offset): Remove need_relative handling. + Account for any extra augmentation bytes in the returned offset. + (_bfd_elf_write_section_eh_frame): Rework so that the entries are + moved before being modified. Pad growing entries with DW_CFA_nops. + Add 'z' and 'R' augmentations as directed by add_augmentation_size + and add_fde_encoding. + +2004-11-15 Mark Mitchell + + * elf32-arm.c (elf32_arm_relocate_section): Use + arm_real_reloc_type. + +2004-11-16 Richard Sandiford + + * elfxx-mips.c (mips_elf_create_dynamic_relocation): Return early + for discard relocations; don't add an R_MIPS_NONE to the main body + of .rel.dyn. + +2004-11-04 Paul Brook + + * elf-bfd.h (_bfd_elf_slurp_version_tables): Update prototype. + * elf.c (_bfd_elf_print_private_bfd_data): Pass extra argument. + (_bfd_elf_slurp_version_tables): Add extra argument. Create extra + default version definition for unversioned symbols. + * elfcode.h (elf_slurp_symbol_table): Pass extra argument. + * elflink.c (elf_link_add_object_symbols): Pass extra argument to + _bfd_elf_slurp_version_tables. Set default version for unversioned + imported symbols. + +2004-11-15 Paul Brook + + * elflink.c (elf_link_add_object_symbols): Don't assume version + indices are consecutive. + +2004-11-14 Richard Sandiford + + * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Deal with + composite relocations against the personality data. + +2004-11-13 Paul Brook + + * bfd/elf32-arm.c (elf32_arm_final_link_relocate): Resolve + R_ARM_PREL31 relocations to PLT entries. + (elf32_arm_relocate_section, elf32_arm_gc_sweep_hook): Ditto. + (elf32_arm_check_relocs): Ditto. + +2004-11-12 Bob Wilson + + * xtensa-isa.c (xtensa_interface_class_id): New. + +2004-11-11 Bob Wilson + + * elf32-xtensa.c (property_table_compare): Remove assertion about + entries with the same address and non-zero size. + (xtensa_read_table_entries): Report such entries as errors. + +2004-11-11 Mark Mitchell + + * elf32-arm.c (elf32_arm_final_link_relocate): Correct logic for + R_ARM_RELATIVE on Symbian OS. + +2004-11-09 Mark Mitchell + + * som.c (som_bfd_print_private_bfd_data): New function. + (som_object_setup): Save the auxiliary header. Don't assume that + zero is an invalid entry point for a shared library. + (som_object_p): Allocate the auxiliary header on the heap. + + * elf32-arm.c (elf32_arm_begin_write_processing): Do not use a K&R + declaration. + (elf32_arm_symbian_modify_segment_map): Likewise. + +2004-11-09 Daniel Jacobowitz + + From David Poole : + * elf32-arm.c (elf32_arm_readonly_dynrelocs): New function. + (elf32_arm_size_dynamic_sections): Call it. + +2004-11-09 Alan Modra + + * Makefile.am (SOURCE_HFILES): Remove elf32-arm.h. + (ALL_MACHINES_CFILES): Fix typo. + * Makefile.in: Regenerate. + * po/SRC-POTFILES.in: Regenerate. + +2004-11-08 Mark Mitchell + + * elf32-arm.c (elf32_arm_final_link_relocate): When generating an + R_ARM_RELATIVE relocation for Symbian OS, mention the section + symbol in the relocation. + +2004-11-08 Inderpreet Singh + Vineet Sharma * coff-maxq.c: New File. - * cpu-maxq.c: New File. - * coffcode.h: Likewise. - * config.bfd: Likewise. - * configure.in (maxqcoff_vec): New target vector. + * cpu-maxq.c: New File. + * coffcode.h: Likewise. + * config.bfd: Likewise. + * configure.in (maxqcoff_vec): New target vector. * Makefile.am: Add support for maxq target. * configure.in: Likewise. - * archures.c:. Likewise. - * targets.c: Likewise. - * bfd_in2.h : Regenerated. + * archures.c:. Likewise. + * targets.c: Likewise. + * bfd_in2.h : Regenerated. * Makefile.in: Regenerated. * configure: Regenerated. * doc/Makefile.in: Regenerated. @@ -32,7 +797,7 @@ 2004-11-01 Mark Mitchell * elf32-arm.c (elf32_arm_symbian_begin_write_processing): Clear - D_PAGED. + D_PAGED. (elf32_arm_symbian_modify_segment_map): Don't reset includes_filehdr and includes_phdrs here. @@ -2922,7 +3687,7 @@ 2004-05-11 Jakub Jelinek - * elflink.c (elf_bfd_final_link): Don't output STT_SECTION symbol + * elflink.c (bfd_elf_final_link): Don't output STT_SECTION symbol into .dynsym if elf_section_data (sec)->dynindx <= 0. Adjust counting of last_local. (_bfd_elf_link_renumber_dynsyms): Don't assign dynindx to sections