X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=bfd%2FChangeLog;h=2f764d5125d3c236378e805ef71f93aba57a2710;hb=dcd4b381c7371ece338a695fac50b3a4f2963016;hp=7998a65d0891dc3eb2bd2625e2a446c69e87e89f;hpb=a49e53ed184b89cc31ae70d7db62e485ad6044d1;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 7998a65d08..2f764d5125 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,833 @@ +2005-07-05 Nick Clifton + + * po/vi.po: New Vietnamese translation. + * configure.in (ALL_LINGUAS): Add vi. + * configure: Regenerate. + +2005-07-05 Peter S. Mazinger + + * elf32-arm.c (elf32_arm_size_dynamic_sections): Fix a typo and + touchup logic like i386/ppc. + +2005-07-05 Alan Modra + + * elf.c (special_sections): Move const qualifier. + (special_sections_b..special_sections_t): Likewise. + * elf32-arm.c (elf32_arm_symbian_get_sec_type_attr): Remove duplicate + const. + (elf32_arm_symbian_special_sections): Move const qualifier. + * elf32-m32r.c: Similarly. + * elf32-m68hc11.c: Similarly. + * elf32-m68hc12.c: Similarly. + * elf32-mcore.c: Similarly. + * elf32-ppc.c: Similarly. + * elf32-sh64.c: Similarly. + * elf32-v850.c: Similarly. + * elf32-xtensa.c: Similarly. + * elf64-alpha.c: Similarly. + * elf64-hppa.c: Similarly. + * elf64-ppc.c: Similarly. + * elf64-sh64.c: Similarly. + * elfxx-ia64.c: Similarly. + * elfxx-mips.c: Similarly. + +2005-07-04 Kazuhiro Inaoka + + * elf32-m32r.c (m32r_elf_size_dynamic_sections): Use + info->executable instead of !info->shared where appropriate. + +2005-07-04 Alan Modra + + PR 1042 + * elf.c (assign_file_positions_for_segments): Remove excluded + sections from the segment map. + +2005-07-04 Alan Modra + + PR 1004 + * elf-bfd.h (struct elf_backend_data): Add get_sec_type_attr. Delete + special_sections. + (_bfd_elf_get_special_section): Declare. + (bfd_elf_special_section): Update prototype. + * elf.c (special_sections): Remove unused outer entries. + (get_special_section): Delete. + (_bfd_elf_get_special_section): New function. + (_bfd_elf_get_sec_type_attr): Replace "name" arg with "sec". Update + special_sections indexing. + (_bfd_elf_new_section_hook): Call backend get_sec_type_attr. + * elf32-arm.c (symbian_special_sections_d): Delete. + (symbian_special_sections_g, symbian_special_sections_h): Delete. + (symbian_special_sections_i, symbian_special_sections_f): Delete. + (symbian_special_sections_p): Delete. + (elf32_arm_symbian_special_sections): Merge above to here. + (elf32_arm_symbian_get_sec_type_attr): New function. + (elf_backend_special_sections): Don't define. + (elf_backend_get_sec_type_attr): Define. + * elf32-m32r.c: Similarly to elf32-arm.c. + * elf32-m68hc11.c: Likewise. + * elf32-m68hc12.c: Likewise. + * elf32-mcore.c: Likewise. + * elf32-sh64.c: Likewise. + * elf32-v850.c: Likewise. + * elf32-xtensa.c: Likewise. + * elf64-alpha.c: Likewise. + * elf64-hppa.c: Likewise. + * elf64-ppc.c: Likewise. + * elf64-sh64.c: Likewise. + * elfxx-ia64.c: Likewise. + * elfxx-mips.c: Likewise. + * elf32-ppc.c: Likewise. + (bfd_elf_special_section ppc_alt_plt): New. Use it if .plt loadable. + * elfxx-mips.h (_bfd_mips_elf_get_sec_type_attr): Declare. + (_bfd_mips_elf_special_sections, elf_backend_special_sections): Delete. + (elf_backend_get_sec_type_attr): Define. + * elfxx-target.h (elf_backend_get_sec_type_attr): Define. + (elf_backend_special_sections): Don't define. + (elfNN_bed): Update. + +2005-07-01 Nick Clifton + + * cpu-d10v.c: Update to ISO C90 style function declarations and + fix formatting. + * cpu-d30v.c: Likewsie. + * cpu-i370.c: Likewsie. + * cpu-xstormy16.c: Likewsie. + * elf32-arc.c: Likewsie. + * elf32-d10v.c: Likewsie. + * elf32-d30v.c: Likewsie. + * elf32-dlx.c: Likewsie. + * elf32-i370.c: Likewsie. + * elf32-i960.c: Likewsie. + * elf32-ip2k.c: Likewsie. + * elf32-m32r.c: Likewsie. + * elf32-mcore.c: Likewsie. + * elf32-openrisc.c: Likewsie. + * elf32-or32.c: Likewsie. + * elf32-pj.c: Likewsie. + * elf32-v850.c: Likewsie. + * elf32-xstormy16.c: Likewsie. + +2005-07-01 Alan Modra + + * elf64-alpha.c (elf64_alpha_create_got_section): Always create + a new .got section. + (elf64_alpha_create_dynamic_sections): Always make new sections + by using bfd_make_section_anyway_with_flags. Check that .got not + already created. + (elf64_alpha_check_relocs): Delete "got_created". Use tdata->gotobj + instead. + +2005-06-30 Alan Modra + + * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Ignore dynamic + _SDA_BASE_ and _SDA2_BASE_ symbols. + * elflink.c (_bfd_elf_provide_symbol): Correct comment. Define + sym if not def_regular. + (_bfd_elf_provide_section_bound_symbols): Similarly. + +2005-06-30 Ben Elliston + + * config.bfd: Mark as obsolete: + m68*-apollo-* + m68*-apple-aux* + m68*-bull-sysv* + +2005-06-29 Alan Modra + + * elflink.c (_bfd_elf_gc_mark): Mark sections referenced by + .eh_frame specially.. + (bfd_elf_gc_sections): ..rather than totally ignoring .eh_frame. + Don't recheck sections we have already marked. + (elf_gc_sweep): Keep non-code sections referenced from .eh_frame. + * section.c (struct bfd_section): Add gc_mark_from_eh. + (STD_SECTION): Adjust. + * ecoff.c (bfd_debug_section): Adjust. + * bfd-in2.h: Regenerate. + +2005-06-29 Alan Modra + + * elflink.c (elf_gc_sweep): Do not refcount on sections that have + not been processed by check_relocs. + +2005-06-29 Paul Brook + + * bfd-in.h (_bfd_elf_provide_symbol): Update prototype. + * bfd-in2.h: Regenerate. + * elf32-ppc.c (ppc_elf_set_sdata_syms): Make sdata symbols section + relative. + * elflink.c (bfd_elf_set_symbol): Add section argument. + (_bfd_elf_provide_symbol): Ditto. + (_bfd_elf_provide_section_bound_symbols): Pass NULL section argument. + +2005-06-27 Carlos O'Donell + + * bfd/elf32-hppa.c (struct elf32_hppa_stub_hash_entry): + Use bh_root, and hh. + (struct elf32_hppa_link_hash_entry): Use eh, and hsh_cache. + (struct elf32_hppa_dyn_reloc_entry): Use hdh_next. + (struct elf32_hppa_link_hash_table): Use etab and bstab. + (stub_hash_newfunc): Use hh. + (hppa_link_hash_newfunc): Use hsh_cache. + (elf32_hppa_link_hash_table_create): Use etab, and bstab. + (elf32_hppa_link_hash_table_free): Use bstab. + (hppa_stub_name): Use eh. + (hppa_get_stub_entry): Use hh, hsh_entry, and hsh_cache. + (hppa_add_stub): Use bstab. + (hppa_type_of_stub): Use eh. + (hppa_build_one_stub): Use hh and bh_root. + (elf32_hppa_copy_indirect_symbol): Use hdh_next. + (elf32_hppa_check_relocs): Use eh, etab, and hdh_next. + (elf32_hppa_gc_sweep_hook): Use hdh_next. + (elf32_hppa_adjust_dynamic_symbol): Use hdh_next, and etab. + (allocate_plt_static): Use etab. + (allocate_dynrelocs): Use etab, and hdh_next. + (readonly_dynrelocs): Use hdh_next. + (elf32_hppa_size_dynamic_sections): Use etab, and hdh_next. + (get_local_syms): Use eh, bstab, and hh. + (elf32_hppa_size_stubs): Use eh, bstab, and hh. + (elf32_hppa_set_gp): Use etab. + (elf32_hppa_build_stubs): Use bstab. + (final_link_relocate): Use eh, bh_root. + (elf32_hppa_relocate_section): Use elf, etab. + (elf32_hppa_finish_dynamic_sections): Use etab. + +2005-06-27 H.J. Lu + + * elfxx-ia64.c (elfNN_hpux_backend_symbol_processing): Remove + the extra `;'. + +2005-06-21 Carlos O'Donell + + * bfd/elf32-hppa.c (hppa_elf_hash_entry): Define. + (hppa_stub_hash_entry): Define. + (stub_hash_newfunc): Rename variables. + (hppa_link_hash_newfunc): Likewise. + (elf32_hppa_link_hash_table_free): Likewise. + (hppa_stub_name): Likewise. + (hppa_get_stub_entry): Likewise. + (hppa_add_stub): Likewise. + (hppa_type_of_stub): Likewise. + (hppa_build_one_stub): Likewise. + (hppa_size_one_stub): Likewise. + (elf32_hppa_create_dynamic_sections): Likewise. + (elf32_hppa_copy_indirect_symbol): Likewise. + (elf32_hppa_check_relocs): Likewise. + (elf32_hppa_gc_mark_hook): Likewise. + (elf32_hppa_gc_sweep_hook): Likewise. + (elf32_hppa_grok_psinfo): Likewise. + (elf32_hppa_hide_symbol): Likewise. + (elf32_hppa_adjust_dynamic_symbol): Likewise. + (allocate_dynrelocs): Likewise. + (clobber_millicode_symbols): Likewise. + (readonly_dynrelocs): Likewise. + (elf32_hppa_size_dynamic_sections): Likewise. + (get_local_syms): Likewise. + (elf32_hppa_size_stubs): Likewise. + (hppa_record_segment_addr): Likewise. + (final_link_relocate): Likewise. + (elf32_hppa_relocate_section): Likewise. + (elf32_hppa_finish_dynamic_symbol): Likewise. + +2005-06-20 H.J. Lu + + PR 1025 + * elf-m10300.c (mn10300_elf_check_relocs): Handle indirect + symbol. + * elf32-arm.c (elf32_arm_check_relocs): Likewise. + * elf32-avr.c (elf32_avr_check_relocs): Likewise. + * elf32-cris.c (cris_elf_check_relocs): Likewise. + * elf32-d10v.c (elf32_d10v_check_relocs): Likewise. + * elf32-dlx.c (elf32_dlx_check_relocs): Likewise. + * elf32-fr30.c (fr30_elf_check_relocs): Likewise. + * elf32-frv.c (elf32_frv_check_relocs): Likewise. + * elf32-i370.c (i370_elf_check_relocs): Likewise. + * elf32-iq2000.c (iq2000_elf_check_relocs): Likewise. + * elf32-m32r.c (m32r_elf_check_relocs): Likewise. + * elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise. + * elf32-m68k.c (elf_m68k_check_relocs): Likewise. + * elf32-mcore.c (mcore_elf_check_relocs): Likewise. + * elf32-ms1.c (ms1_elf_check_relocs): Likewise. + * elf32-msp430.c (elf32_msp430_check_relocs): Likewise. + * elf32-openrisc.c (openrisc_elf_check_relocs): Likewise. + * elf32-ppc.c (ppc_elf_check_relocs): Likewise. + * elf32-s390.c (elf_s390_check_relocs): Likewise. + * elf32-sh.c (sh_elf_check_relocs): Likewise. + * elf32-v850.c (v850_elf_check_relocs): Likewise. + * elf32-vax.c (elf_vax_check_relocs): Likewise. + * elf64-mmix.c (mmix_elf_check_relocs): Likewise. + * elf64-ppc.c (ppc64_elf_check_relocs): Likewise. + * elf64-s390.c (elf_s390_check_relocs): Likewise. + * elf64-sh64.c (sh_elf64_check_relocs): Likewise. + * elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise. + * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise. + +2005-06-20 H.J. Lu + + PR 1022 + * elf32-hppa.c (elf32_hppa_check_relocs): Handle indirect + symbol. + +2005-06-20 H.J. Lu + + PR 1025 + * elf32-i386.c (elf_i386_check_relocs): Handle indirect symbol. + * elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise. + +2005-06-18 H.J. Lu + + * reloc.c: Add BFD_RELOC_X86_64_GOTOFF64 and + BFD_RELOC_X86_64_GOTPC32. + * bfd-in2.h: Regenerated. + +2005-06-17 Jakub Jelinek + + * elf.c (bfd_section_from_shdr): Kill bogus warning. + + * elf.c (bfd_section_from_shdr): Fail if sh_entsize is bogus for + symbol, relocation, group or versym sections. + + * coffcode.h (coff_slurp_reloc_table): Don't crash if native_relocs + is NULL. + * peXXigen.c (pe_print_idata): Don't crash if dll_name or start_address + doesn't point into the section. + +2005-06-17 Jan Beulich + + * bfd-in2.h (elf_x86_64_reloc_type): Add BFD_RELOC_X86_64_GOTOFF64 + and BFD_RELOC_X86_64_GOTPC32. + * libbfd.h (bfd_reloc_code_real_names): Likewise. + * elf64-x86-64.c (x86_64_elf_howto_table): Add entries for + R_X86_64_PC64, R_X86_64_GOTOFF64, and R_X86_64_GOTPC32. + (x86_64_reloc_map): Add entries for R_X86_64_PC64, R_X86_64_GOTOFF64, + and R_X86_64_GOTPC32. + (elf64_x86_64_info_to_howto): Adjust bounding relocation type. + (elf64_x86_64_check_relocs): Also handle R_X86_64_PC64, + R_X86_64_GOTOFF64, and R_X86_64_GOTPC32. + (elf64_x86_64_relocate_section): Likewise. + (elf64_x86_64_gc_sweep_hook): Also handle R_X86_64_PC64. + +2005-06-15 Mark Kettenis + + * archive.c: Include "libiberty.h". + +2005-06-15 Nick Clifton + + * elf32-v850.c (ELF_MACHINE_ALT2): Define so that binaries + produced by the GreenHills toolchain can be assimilated. + +2005-06-14 Steve Ellcey + + * som.c (som_find_inliner_info): New. + +2005-06-14 H.J. Lu + + * elflink.c (_bfd_elf_merge_symbol): Fix a typo in comment. + +2005-06-14 Jakub Jelinek + + * elf.c (bfd_section_from_shdr): Fail if name is NULL. + Prevent endless recursion on broken objects. + + * archive.c (do_slurp_coff_armap): Check for overflows. + +2005-06-10 Daniel Jacobowitz + + * elfcode.h (elf_write_relocs): Do nothing if there are no + relocations. + +2005-06-10 Alan Modra + + * dwarf2.c (decode_line_info): Revert last change. Instead set + initial low_pc to -1 to avoid need to test whether loc_pc has + been set. + +2005-06-09 Christopher Faylor + + * coffcode.h (sec_to_styp_flags): Set appropriate section flags when + either SEC_ALLOC OR SEC_LOAD. + +2005-06-09 Christopher Faylor + + * coffcode.h (sec_to_styp_flags): Remove read/write flags from noload + section header. Do not add STYP_NOLOAD since it does not appear to be + a valid PE flag. + +2005-06-09 H.J. Lu + + PR 1000 + * dwarf2.c (lookup_address_in_line_info_table): Restore code + handling NULL function info, removed with 2005-04-03 change. + +2005-06-08 Mark Mitchell + + * opncls.c (bfd_fopen): Mark returned BFD as cacheable if FD == -1. + +2005-06-09 Alan Modra + + * elflink.c (elf_mark_used_section): Delete. + (bfd_elf_gc_sections): Call bfd_generic_gc_sections. + * reloc.c (bfd_mark_used_section): New function. + (bfd_generic_gc_sections): Call bfd_mark_used_section. + +2005-06-08 Alan Modra + + * opncls.c (bfd_fopen): Don't set bfd_error unconditionally. + (bfd_fdopenr): Same. + +2005-06-07 Mark Mitchell + + * opncls.c (bfd_fdopenr): Add missing break statements. + +2005-06-07 Mark Mitchell + + * opncls.c (bfd_fopen): New API. + (bfd_openr): Use it. + (bfd_fdopenr): Likewise. + * bfd-in2.h: Regenerated. + +2005-06-07 Aldy Hernandez + Michael Snyder + Stan Cox + + * Makefile.am (ALL_MACHINES): Add ms1 support. + (ALL_MACHINES_CFILES): Same. + (BFD32_BACKENDS): Same. + (BFD32_BACKENDS_CFILES): Same. + + * Makefile.in: Regenerate. + + * archures.c (bfd_architecture): Add ms1 entries. + Externalize bfd_ms1_arch. + (bfd_archures_list): Add bfd_ms1_arch. + + * bfd-in2.h: Regenerate. + + * cpu-ms1.c: New file. + + * elf32-ms1.c: New file. + + * targets.c: Define extern of bfd_elf32_ms1_vec. + Add bfd_elf32_ms1_vec to _bfd_target_vector. + + * configure.in: Add bfd_elf32_ms1_vec case. + + * configure: Regenerate. + + * config.bfd: Add ms1-*-elf to table. + +2005-06-07 Zack Weinberg + + * coff-i386.c: Change md_apply_fix3 to md_apply_fix in comment. + +2005-06-07 Alan Modra + + * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Init _bfd_find_line. + * coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Likewise. + +2005-06-06 H.J. Lu + + PR 990 + * bfd.c (bfd_find_line): New. + + * dwarf2.c (comp_unit): Add variable_table. + (funcinfo): Add file, line, and sec. + (varinfo): New. + (lookup_symbol_in_function_table): New. + (lookup_symbol_in_variable_table): New. + (scan_unit_for_functions): Renamed to ... + (scan_unit_for_symbols): This. Handle DW_TAG_entry_point and + DW_TAG_variable. + (comp_unit_find_nearest_line): Updated. + (comp_unit_find_line): New. + (_bfd_dwarf2_find_line): New. + + * elf-bfd.h (_bfd_elf_find_line): New. + (_bfd_generic_find_line): New. Defined. + + * elf.c (_bfd_elf_find_line): New. + + * libbfd-in.h (_bfd_dwarf2_find_line): New. + (_bfd_generic_find_line): New. + + * bfd-in2.h: Regenerated. + * libbfd.h: Likewise. + + * libbfd.c (_bfd_generic_find_line): New. + + * targets.c (BFD_JUMP_TABLE_SYMBOLS): Initialize _bfd_find_line + with _bfd_generic_find_line. + (bfd_target): Add _bfd_find_line. + +2005-06-06 H.J. Lu + + * dwarf2.c (decode_line_info): Properly set low_pc. + +2005-06-06 Alan Modra + + * elf64-pcc.c (ppc64_elf_gc_mark_hook): For the local sym in .opd + case, include addend when indexing .opd section map. + (ppc64_elf_edit_opd): Add no_opd_opt param. Do nothing besides + clear opd_adjust array if no_opd_opt set. Tidy code. + Ignore zero size .opd. Check bfd_alloc return value. + (ppc_stub_name): Return immediately on bfd_malloc fail. + * elf64-ppc.h (ppc64_elf_edit_opd): Update prototype. + +2005-06-04 H.J. Lu + + * dwarf2.c (comp_unit): Fix a typo in comment. + +2005-06-03 Jan-Benedict Glaw + + * elf32-vax.c (rtype_to_howto): Remove PARAMS. + (reloc_type_lookup): Dito. + (elf_vax_discard_copies): Dito. + (elf_vax_instantiate_got_entries): Dito. + (elf_vax_link_hash_traverse): Dito. + (elf_vax_link_hash_newfunc): Dito. + (elf_vax_link_hash_table_create): Dito. + (elf32_vax_set_private_flags): Dito. + (elf32_vax_merge_private_bfd_data): Dito. + (elf32_vax_print_private_bfd_data): Dito. + (elf_vax_check_relocs): Dito. + (elf_vax_gc_mark_hook): Dito. + (elf_vax_gc_sweep_hook): Dito. + (elf_vax_size_dynamic_sections): Dito. + (elf_vax_discard_copies): Dito. + (elf_vax_instantiate_got_entries): Dito. + (elf_vax_relocate_section): Dito. + (elf_vax_finish_dynamic_symbol): Dito. + (elf_vax_finish_dynamic_sections): Dito. + (elf_vax_hash_table): Break-up of line isn't needed. + (elf_vax_check_relocs): Remove leading whitespace + (elf_vax_relocate_section): Remove redundant whitespace + (elf_vax_link_hash_newfunc): Don't cast NULL. + (elf_vax_link_hash_table_create): Dito. + * cpu-vax.c (bfd_vax_arch) Remove a trailing space. + +2005-06-03 Alan Modra + + PR 568 + * configure.in: Bump version + * configure: Regenerate. + * elflink.c (elf_link_input_bfd): Use einfo linker callback to print + discarded section sym refs and kill linker output. + * simple.c (simple_dummy_einfo): New function. + (bfd_simple_get_relocated_section_contents): Init callbacks.einfo. + + * elf32-i386.c (elf_i386_relocate_section): Handle zero symndx + for all reloc types. + +2005-06-02 Alan Modra + + * elf64-ppc.c (add_symbol_adjust): Set sym visibility to most + restrictive of func code and func descr for undefined syms as well + as defined. + +2005-05-31 Jim Blandy + + * Makefile.am: Regenerate dependencies with 'make dep-am'. + * Makefile.in: Regenerate. + +2005-05-31 Richard Henderson + + * elf64-alpha.c (ALPHA_ELF_LINK_HASH_LU_JSRDIRECT): New. + (ALPHA_ELF_LINK_HASH_TLS_IE): Renumber to 0x80. + (ALPHA_ELF_LINK_HASH_LU_PLT): Rename from ALPHA_ELF_LINK_HASH_LU_FUNC. + (elf64_alpha_want_plt): Update to match. + (elf64_alpha_check_relocs): Collect JSRDIRECT in gotent_flags. + (elf64_alpha_relax_with_lituse): Likewise. Handle JSRDIRECT. + +2005-05-31 Zack Weinberg + + * elf32-arm.c (elf32_arm_reloc_type_lookup) + (elf32_arm_nabi_grok_prstatus, elf32_arm_nabi_grok_psinfo): + Use ISO C90 function declaration style. + +2005-05-31 James E Wilson + + * elfcode.h (NAME(bfd_elf,bfd_from_remote_memory)): Check for program + header PF_R flag on PT_LOAD segments. + +2005-05-30 Richard Henderson + + * elf64-alpha.c (elf64_alpha_relocate_section): Use dtp_base for + the zero index relocs produced by elf64_alpha_relax_tls_get_addr. + +2005-05-29 Richard Henderson + + * configure.in (--enable-secureplt): New. + * elf64-alpha.c (INSN_LDA, INSN_LDAH, INSN_LDQ, INSN_BR): New. + (INSN_SUBQ, INSN_S4SUBQ, INSN_JMP): New. + (INSN_A, INSN_AB, INSN_ABC, INSN_ABO, INSN_AD): New. + (elf64_alpha_use_secureplt): New. + (OLD_PLT_HEADER_SIZE, OLD_PLT_ENTRY_SIZE): New. + (NEW_PLT_HEADER_SIZE, NEW_PLT_ENTRY_SIZE): New. + (PLT_HEADER_SIZE, PLT_ENTRY_SIZE): Conditionalize on secureplt. + (ALPHA_ELF_LINK_HASH_PLT_LOC): Remove. + (struct alpha_elf_link_hash_entry): Add plt_offset. + (PLT_HEADER_WORD1, PLT_HEADER_WORD2, PLT_HEADER_WORD3): Remove. + (PLT_HEADER_WORD4, PLT_ENTRY_WORD1, PLT_ENTRY_WORD2): Remove. + (PLT_ENTRY_WORD3): Remove. + (elf64_alpha_create_dynamic_sections): If secureplt, set SEC_READONLY + on .plt and create .got.plt. + (elf64_alpha_output_extsym): Remove .plt frobbing for symbol values. + (get_got_entry): Initialize plt_offset. + (elf64_alpha_want_plt): New. + (elf64_alpha_check_relocs): Use it. + (elf64_alpha_adjust_dynamic_symbol): Likewise. Don't allocate + plt entries here. + (elf64_alpha_calc_got_offsets_for_symbol): Don't report internal + error as user error. + (elf64_alpha_size_plt_section_1): Allocate one plt entry per + got subsection. + (elf64_alpha_size_plt_section): Size .got.plt section. + (elf64_alpha_size_rela_got_1): Don't allocate relocations if + plt entries used. + (elf64_alpha_size_dynamic_sections): Call elf64_alpha_size_plt_section. + Add PLTRO DYNAMIC entry. + (elf64_alpha_finish_dynamic_symbol): Generate secureplt format. + (elf64_alpha_finish_dynamic_sections): Likewise. + +2005-05-28 David Daney + + * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Move + calculation of DT_RELSZ to occur after all dynamic relocations + are created. + +2005-05-28 Eli Zaretskii + + * configure.in: Add snprintf and vsnprintf to AC_CHECK_DECLS. + * config.in, configure: Regenerate. + +2005-05-26 Mark Kettenis + Maciej W. Rozycki + + * elfxx-mips.c (_bfd_mips_elf_section_processing): Warn and + stop processing of options if one of invalid size is + encountered. + (_bfd_mips_elf_section_from_shdr): Likewise. + (_bfd_mips_elf_fake_sections): Reset the type of empty special + sections. + +2005-05-26 Richard Henderson + + * elf64-alpha.c (struct alpha_elf_link_hash_entry): Remove + plt_old_section, plt_old_value. + (elf64_alpha_adjust_dynamic_symbol): Don't set it. + (elf64_alpha_size_plt_section_1): Don't use it. + +2005-05-26 Jakub Jelinek + + * elfcode.h (elf_object_p): Fail if e_shoff != 0, e_shnum == 0 and + first shdr has sh_size == 0. Fail if e_shnum is large to cause + arithmetic overflow when allocating the i_shdr array. + Sanity check sh_link and sh_info fields. Fix e_shstrndx sanity check. + +2005-05-25 Richard Henderson + + * elf64-alpha.c: Update all function definitions to ISO C. Remove + all function prototypes; rearrange functions into def-use order. + +2005-05-25 Richard Henderson + + * elf64-alpha.c (elf64_alpha_merge_gots): Fix gotent iteration + in the presence of deleting elements. + (elf64_alpha_size_got_sections): Zero dead got section size. + +2005-05-23 Fred Fish + + * dwarf2.c (struct dwarf2_debug): Add inliner_chain member. + (struct funcinfo): Add caller_func, caller_file, caller_line. + tag, and nesting_level members. + (lookup_address_in_function_table): Change first passed parameter + from "struct funcinfo *" to "struct comp_unit *". + (lookup_address_in_function_table): Dereference unit to find function + table. + (lookup_address_in_function_table): Traverse the function list to + create a chain of inlined functions back to the first non inlined + function. + (scan_unit_for_functions): Remember tag and nesting level. Handle + DW_AT_call_file and DW_AT_call_line. + (comp_unit_find_nearest_line): Adjust lookup_address_in_function_table + call to pass unit pointer instead of function table pointer. For + inlined functions, save pointer to the inliner chain. + (_bfd_dwarf2_find_nearest_line): Initialize inliner_chain to NULL. + (_bfd_dwarf2_find_inliner_info): New function that returns information + from the inliner chain after a call to bfd_find_nearest_line. + + * bfd.c (bfd_find_inliner_info): Define using BFD_SEND. + * targets.c (BFD_JUMP_TABLE_SYMBOLS): Add entry for + NAME##_find_inliner_info. + (bfd_target): Add _bfd_find_inliner_info. + * bfd-in2.h: Regenerate. + + * libbfd-in.h (_bfd_nosymbols_find_inliner_info): Define as + macro that always returns bfd_false. + (_bfd_dwarf2_find_inliner_info): Declare. + * libbfd.h: Regenerate. + + * elf32-arm.c (elf32_arm_find_inliner_info): New function + that calls _bfd_dwarf2_find_inliner_info. + (bfd_elf32_find_inliner_info): Define to elf32_arm_find_inliner_info. + + * elfxx-mips.c (_bfd_mips_elf_find_inliner_info): New function + that calls _bfd_dwarf2_find_inliner_info. + * elfxx-mips.h (_bfd_mips_elf_find_inliner_info): Declare. + * elfn32-mips.c (bfd_elf32_find_inliner_info): Define to + _bfd_mips_elf_find_inliner_info. + * elf64-mips.c (bfd_elf64_find_inliner_info): Ditto. + * elf32-mips.c (bfd_elf32_find_inliner_info): Ditto. + + * elf.c (_bfd_elf_find_inliner_info): New function that calls + _bfd_dwarf2_find_inliner_info. + * elf-bfd.h (_bfd_elf_find_inliner_info): Declare. + * elfxx-target.h (bfd_elfNN_find_inliner_info): Define to + _bfd_elf_find_inliner_info. + + * coffgen.c (coff_find_inliner_info): New function that + calls _bfd_dwarf2_find_inliner_info. + * libcoff-in.h (coff_find_inliner_info): Declare. + * libcoff.h: Regenerate. + * coff-rs6000.c (rs6000coff_vec): Add coff_find_inliner_info. + (pmac_xcoff_vec) Ditto. + * coff64-rs6000.c (rs6000coff64_vec): Ditto. + (aix5coff64_vec): Ditto. + + * aout-target.h (MY_find_inliner_info): Define as + _bfd_nosymbols_find_inliner_info. + * aout-tic30.c (MY_find_inliner_info): Ditto. + * binary.c (binary_find_inliner_info): Ditto. + * i386msdos.c (msdos_find_inliner_info): Ditto. + * ihex.c (ihex_find_inliner_info): Ditto. + * libaout.h (aout_32_find_inliner_info): Ditto. + * libecoff.h (_bfd_ecoff_find_inliner_info): Ditto. + * mach-o.c (bfd_mach_o_find_inliner_info): Ditto. + * mmo.c (mmo_find_inliner_info): Ditto. + * nlm-target.h (nlm_find_inliner_info): Ditto. + * pef.c (bfd_pef_find_inliner_info): Ditto. + * ppcboot.c (ppcboot_find_inliner_info): Ditto. + * srec.c (srec_find_inliner_info): Ditto. + * tekhex.c (tekhex_find_inliner_info): Ditto. + * versados.c (versados_find_inliner_info): Ditto. + * xsym.c (bfd_sym_find_inliner_info): Ditto. + + * ieee.c (ieee_find_inliner_info): New function that always + returns FALSE. + * oasys.c (oasys_find_inliner_info): Ditto. + * vms.c (vms_find_inliner_info): Ditto. + +2005-05-24 Alan Modra + + * elf32-ppc.c (ppc_elf_check_relocs): For old gcc -fPIC code + force old plt layout. + +2005-05-22 Richard Henderson + + * elf64-alpha.c (elf64_alpha_relax_section): Ignore non-allocated + sections. + (elf64_alpha_check_relocs): Likewise. + (elf64_alpha_relocate_section): Don't emit dynamic relocations to + non-allocated sections. + +2005-05-22 Richard Henderson + + * elf64-alpha.c (elf64_alpha_relax_with_lituse): Relax jsr to + undefweak to use zero register. Call elf64_alpha_relax_got_load + if not all uses removed. + (elf64_alpha_relax_got_load): Relax undefweak to lda zero. + (elf64_alpha_relax_section): Handle undefweak symbols. + (elf64_alpha_calc_dynrel_sizes): Don't add relocs for undefweak. + (elf64_alpha_size_rela_got_1): Likewise. + (elf64_alpha_relocate_section): Likewise. + +2005-05-22 Richard Henderson + + * elf64-alpha.c (elf64_alpha_relax_section): Only operate + on SEC_CODE sections. + +2005-05-22 John David Anglin + + * som.c (try_prev_fixup): Changed type of subspace_reloc_sizep to + unsigned int *. + (som_write_space_strings): Change type of tmp_space and p to char *. + (som_write_symbol_strings): Likewise. Also change type of comp to + char *comp[4]. + (som_begin_writing): Change type of strings_size to unsigned int. + (som_finish_writing): Likewise. + (som_slurp_reloc_table): Change type of external_relocs to unsigned + char *. + * som.h (struct som_section_data_struct): Change type of reloc_stream + field to unsigned char *. + +2005-05-20 Daniel Jacobowitz + + * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Don't eliminate + copy relocations for VxWorks. + +2005-05-20 Daniel Jacobowitz + + * bfd/elf32-ppc.c (struct ppc_elf_link_hash_entry): Add new field + has_sda_refs. + (ppc_elf_copy_indirect_symbol): Copy has_sda_refs. + (ppc_elf_check_relocs): Set has_sda_refs. + (ppc_elf_adjust_dynamic_symbol): Check has_sda_refs before eliminating + copy relocations. Use has_sda_refs to place variables in .sbss. + (ppc_elf_finish_dynamic_symbol): Use has_sda_refs to place variables in + .sbss. + +2005-05-20 Bob Wilson + + * elf32-xtensa.c (bfd_elf_xtensa_reloc): Make sure that + xtensa_default_isa is initialized. + +2005-05-20 Alan Modra + + * elf32-ppc.c (allocate_dynrelocs): Correct plt offset assigned + for second and subsequent list entries. Only allocate multiple + glink stubs when shared or pie. + (ppc_elf_finish_dynamic_symbol): Break out early when only one + glink stub is needed. + +2005-05-19 Zack Weinberg + + * Makefile.am: Have 'all' depend on 'info'. + * Makefile.in: Regenerate. + +2005-05-19 Alan Modra + + * elf-bfd.h (struct elf_link_hash_table): Delete init_refcount and + init_offset. Add init_got_refcount, init_plt_refcount, + init_got_offset and init_plt_offset. + * elf.c (_bfd_elf_link_hash_newfunc): Adjust for above change. + (_bfd_elf_link_hash_hide_symbol): Likewise. + (_bfd_elf_link_hash_table_init): Likewise. + * elf32-hppa.c (elf32_hppa_hide_symbol): Likewise. + * elf64-ppc.c (ppc64_elf_link_hash_table_create): Likewise. + * elflink.c (_bfd_elf_adjust_dynamic_symbol): Likewise. + (bfd_elf_size_dynamic_sections): Likewise. + * elf32-ppc.c (GLINK_PLTRESOLVE): Now 16 insns. + (LWZU_0_X_12, LWZ_0_4_30, LWZ_0_X_12, LWZ_11_X_11, LWZ_11_X_30, + LWZ_12_4_12, LWZ_12_8_30, LWZ_12_X_12, SUB_11_11_30): Delete. + (ADDIS_12_12, BCL_20_31, LWZU_0_12, LWZ_0_12, LWZ_11_11, LWZ_11_30, + LWZ_12_12, MFLR_0, MFLR_12, MTLR_0, SUB_11_11_12): Define. + (struct plt_entry): New. + (ppc_elf_link_hash_table_create): Set new init_plt fields. + (ppc_elf_copy_indirect_symbol): Handle merge of plt plist. Don't + use _bfd_elf_link_hash_copy_indirect. + (update_plt_info, find_plt_ent): New functions. + (ppc_elf_check_relocs): Handle R_PPC_PLTREL24 with non-zero addend + and adjust for use of plt list rather than refcount. + (ppc_elf_gc_sweep_hook): Likewise. + (ppc_elf_tls_optimize): Likewise. + (ppc_elf_adjust_dynamic_symbol): Likewise. + (allocate_dynrelocs): Likewise. + (ppc_elf_relax_section): Likewise. + (ppc_elf_relocate_section): Likewise. Adjust R_PPC_PLTREL24 addends + when performing a relocatable link. + (ppc_elf_finish_dynamic_symbol): Likewise. Write .glink stubs here.. + (ppc_elf_finish_dynamic_sections): ..rather than here. Use new + pic resolver stub. + 2005-05-19 Alan Modra * elf.c (assign_file_positions_for_segments): Use maximum of