OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gdb-7.1/] [bfd/] [ChangeLog-2006] - Diff between revs 834 and 842

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 834 Rev 842
2006-12-31  H.J. Lu  
2006-12-31  H.J. Lu  
        * bfd.c (bfd_record_phdr): Call bfd_zalloc instead of bfd_alloc
        * bfd.c (bfd_record_phdr): Call bfd_zalloc instead of bfd_alloc
        to allocate elf_segment_map.
        to allocate elf_segment_map.
2006-12-29  H.J. Lu  
2006-12-29  H.J. Lu  
        * elflink.c (elf_link_add_object_symbols): Remember the symbol
        * elflink.c (elf_link_add_object_symbols): Remember the symbol
        size only if it is defined.
        size only if it is defined.
2006-12-25  Kazu Hirata  
2006-12-25  Kazu Hirata  
        * archures.c (bfd_mach_cpu32_fido): New.
        * archures.c (bfd_mach_cpu32_fido): New.
        (bfd_mach_mcf_isa_a_nodiv, bfd_mach_mcf_isa_a,
        (bfd_mach_mcf_isa_a_nodiv, bfd_mach_mcf_isa_a,
        bfd_mach_mcf_isa_a_mac, bfd_mach_mcf_isa_a_emac,
        bfd_mach_mcf_isa_a_mac, bfd_mach_mcf_isa_a_emac,
        bfd_mach_mcf_isa_aplus, bfd_mach_mcf_isa_aplus_mac,
        bfd_mach_mcf_isa_aplus, bfd_mach_mcf_isa_aplus_mac,
        bfd_mach_mcf_isa_aplus_emac, bfd_mach_mcf_isa_b_nousp,
        bfd_mach_mcf_isa_aplus_emac, bfd_mach_mcf_isa_b_nousp,
        bfd_mach_mcf_isa_b_nousp_mac, bfd_mach_mcf_isa_b_nousp_emac,
        bfd_mach_mcf_isa_b_nousp_mac, bfd_mach_mcf_isa_b_nousp_emac,
        bfd_mach_mcf_isa_b, bfd_mach_mcf_isa_b_mac,
        bfd_mach_mcf_isa_b, bfd_mach_mcf_isa_b_mac,
        bfd_mach_mcf_isa_b_emac, bfd_mach_mcf_isa_b_float,
        bfd_mach_mcf_isa_b_emac, bfd_mach_mcf_isa_b_float,
        bfd_mach_mcf_isa_b_float_mac, bfd_mach_mcf_isa_b_float_emac):
        bfd_mach_mcf_isa_b_float_mac, bfd_mach_mcf_isa_b_float_emac):
        Increment the defined values.
        Increment the defined values.
        * bfd-in2.h: Regenerate.
        * bfd-in2.h: Regenerate.
        * cpu-m68k.c (arch_info_struct): Add en entry for
        * cpu-m68k.c (arch_info_struct): Add en entry for
        bfd_mach_cpu32_fido.
        bfd_mach_cpu32_fido.
        * elf32-m68k.c (elf32_m68k_object_p): Handle
        * elf32-m68k.c (elf32_m68k_object_p): Handle
        EF_M68K_CPU32_FIDO_A.
        EF_M68K_CPU32_FIDO_A.
        (elf32_m68k_merge_private_bfd_data): Use EF_M68K_CPU32_MASK.
        (elf32_m68k_merge_private_bfd_data): Use EF_M68K_CPU32_MASK.
        (elf32_m68k_print_private_bfd_data): Handle
        (elf32_m68k_print_private_bfd_data): Handle
        EF_M68K_CPU32_FIDO_A.
        EF_M68K_CPU32_FIDO_A.
2006-12-25  Mei Ligang  
2006-12-25  Mei Ligang  
        * elf32-score.c (score_elf_got_lo16_reloc): Change some variables
        * elf32-score.c (score_elf_got_lo16_reloc): Change some variables
        type from unsigned to signed.
        type from unsigned to signed.
        (score_elf_final_link_relocate): Fix bugs of handling relocation
        (score_elf_final_link_relocate): Fix bugs of handling relocation
        type R_SCORE_GOT15, R_SCORE_GOT_LO16, and R_SCORE_REL32.
        type R_SCORE_GOT15, R_SCORE_GOT_LO16, and R_SCORE_REL32.
        (_bfd_score_elf_relocate_section): Handle R_SCORE_GOT_LO16
        (_bfd_score_elf_relocate_section): Handle R_SCORE_GOT_LO16
        specially.
        specially.
2006-12-23  Jakub Jelinek  
2006-12-23  Jakub Jelinek  
        * elf-bfd.h (struct elf_backend_data): Add as_needed_cleanup hook.
        * elf-bfd.h (struct elf_backend_data): Add as_needed_cleanup hook.
        * elfxx-target.h (elf_backend_as_needed_cleanup): Define.
        * elfxx-target.h (elf_backend_as_needed_cleanup): Define.
        (elfNN_bed): Add as_needed_cleanup hook.
        (elfNN_bed): Add as_needed_cleanup hook.
        * elflink.c (elf_link_add_object_symbols): Call it when reverting
        * elflink.c (elf_link_add_object_symbols): Call it when reverting
        hash table changes for unneeded --as-needed input.
        hash table changes for unneeded --as-needed input.
        * elf64-ppc64.c (elf_backend_as_needed_cleanup): Define.
        * elf64-ppc64.c (elf_backend_as_needed_cleanup): Define.
        (ppc64_elf_as_needed_cleanup): New function.
        (ppc64_elf_as_needed_cleanup): New function.
2006-12-19  Kazu Hirata  
2006-12-19  Kazu Hirata  
        * elf32-m68k.c (elf32_m68k_object_p,
        * elf32-m68k.c (elf32_m68k_object_p,
        elf32_m68k_print_private_bfd_data): Use EF_M68K_ARCH_MASK to
        elf32_m68k_print_private_bfd_data): Use EF_M68K_ARCH_MASK to
        extract architecture mask.
        extract architecture mask.
2006-12-19  Nathan Sidwell  
2006-12-19  Nathan Sidwell  
        * elf.c (assign_file_positions_for_load_sections): Adjust p_vaddr
        * elf.c (assign_file_positions_for_load_sections): Adjust p_vaddr
        by p_vaddr_offset.  Copy alignment & use if it is valid.
        by p_vaddr_offset.  Copy alignment & use if it is valid.
        (rewrite_elf_program_headers): Cope with leading padding in a
        (rewrite_elf_program_headers): Cope with leading padding in a
        segment that does not contain file or program headers.
        segment that does not contain file or program headers.
        (copy_elf_program_header): Likewise.
        (copy_elf_program_header): Likewise.
2006-12-15  Mark Kettenis  
2006-12-15  Mark Kettenis  
        * config.bfd: (sh*-*-openbsd*): Add target.
        * config.bfd: (sh*-*-openbsd*): Add target.
        * configure.in (sh*-*-openbsd*): Set COREFILE to netbsd-core.lo.
        * configure.in (sh*-*-openbsd*): Set COREFILE to netbsd-core.lo.
        * configure: Regenerate.
        * configure: Regenerate.
2006-12-15  Alan Modra  
2006-12-15  Alan Modra  
        * opncls.c (bfd_openr_iovec): Add "stat" parameter.
        * opncls.c (bfd_openr_iovec): Add "stat" parameter.
        (struct opncls): Add "stat" field.
        (struct opncls): Add "stat" field.
        (opncls_bstat): Call vec->stat.
        (opncls_bstat): Call vec->stat.
        * bfd-in2.h: Regenerate.
        * bfd-in2.h: Regenerate.
        * elf32-spu.c (spu_elf_open_builtin_lib): Adjust.
        * elf32-spu.c (spu_elf_open_builtin_lib): Adjust.
2006-12-14  Alan Modra  
2006-12-14  Alan Modra  
        * elf-bfd.h (struct bfd_elf_section_data): Clarify sec_group
        * elf-bfd.h (struct bfd_elf_section_data): Clarify sec_group
        and next_in_group usage.
        and next_in_group usage.
2006-12-14  Alan Modra  
2006-12-14  Alan Modra  
        PR 3704
        PR 3704
        * bfdio.c (bfd_bread): Don't read past end of archive elements.
        * bfdio.c (bfd_bread): Don't read past end of archive elements.
2006-12-12  Daniel Jacobowitz  
2006-12-12  Daniel Jacobowitz  
        * doc/Makefile.am (bfd_TEXINFOS): Set.
        * doc/Makefile.am (bfd_TEXINFOS): Set.
        (bfd.info bfd.dvi bfd.html): Delete rule.
        (bfd.info bfd.dvi bfd.html): Delete rule.
        * doc/Makefile.in: Regenerated.
        * doc/Makefile.in: Regenerated.
2006-12-11  Daniel Jacobowitz  
2006-12-11  Daniel Jacobowitz  
        * configure.in: Define GENINSRC_NEVER.
        * configure.in: Define GENINSRC_NEVER.
        * doc/Makefile.am (bfd.info): Remove srcdir prefix.
        * doc/Makefile.am (bfd.info): Remove srcdir prefix.
        (MAINTAINERCLEANFILES): Add info file.
        (MAINTAINERCLEANFILES): Add info file.
        (DISTCLEANFILES): Pretend to add info file.
        (DISTCLEANFILES): Pretend to add info file.
        * po/Make-in (.po.gmo): Put gmo files in objdir.
        * po/Make-in (.po.gmo): Put gmo files in objdir.
        * configure, Makefile.in, doc/Makefile.in: Regenerated.
        * configure, Makefile.in, doc/Makefile.in: Regenerated.
2006-12-11  Eric Botcazou  
2006-12-11  Eric Botcazou  
        * elflink.c (bfd_elf_gc_sections): Also search for corresponding
        * elflink.c (bfd_elf_gc_sections): Also search for corresponding
        sections with .gnu.linkonce.t. prefix.
        sections with .gnu.linkonce.t. prefix.
2006-12-07  Kazu Hirata  
2006-12-07  Kazu Hirata  
        * elf32-m68k.c: Update uses of EF_M68K_*.
        * elf32-m68k.c: Update uses of EF_M68K_*.
2006-12-07  H.J. Lu 
2006-12-07  H.J. Lu 
        PR ld/3666
        PR ld/3666
        * elflink.c (elf_link_add_object_symbols): Keep symbol
        * elflink.c (elf_link_add_object_symbols): Keep symbol
        visibility for symbols from discarded section.
        visibility for symbols from discarded section.
2006-12-06  Alan Modra  
2006-12-06  Alan Modra  
        * elf64-alpha.c (elf64_alpha_merge_symbol_attribute): New function.
        * elf64-alpha.c (elf64_alpha_merge_symbol_attribute): New function.
        (elf_backend_merge_symbol_attribute): Define.
        (elf_backend_merge_symbol_attribute): Define.
2006-12-04  Jan Beulich  
2006-12-04  Jan Beulich  
        * elflink.c (_bfd_elf_link_create_dynamic_sections): Don't create
        * elflink.c (_bfd_elf_link_create_dynamic_sections): Don't create
        .eh_frame_hdr section from here anymore.
        .eh_frame_hdr section from here anymore.
        (bfd_elf_size_dynamic_sections): Call _bfd_elf_maybe_strip_eh_frame_hdr
        (bfd_elf_size_dynamic_sections): Call _bfd_elf_maybe_strip_eh_frame_hdr
        a little earlier.
        a little earlier.
2006-12-01  H.J. Lu  
2006-12-01  H.J. Lu  
        PR binutils/3609
        PR binutils/3609
        * elf.c (rewrite_elf_program_header): Preserve segment physical
        * elf.c (rewrite_elf_program_header): Preserve segment physical
        address in the output segment if the first section in the
        address in the output segment if the first section in the
        corresponding input segment is null.
        corresponding input segment is null.
2006-12-01  Nick Clifton  
2006-12-01  Nick Clifton  
        PR 3609
        PR 3609
        * elf.c (rewrite_elf_program_header): Do not use the first_section
        * elf.c (rewrite_elf_program_header): Do not use the first_section
        pointer if it is null.
        pointer if it is null.
2006-11-29  Paul Brook  
2006-11-29  Paul Brook  
        * elf32-arm.c (elf32_arm_to_thumb_export_stub): Assert that output
        * elf32-arm.c (elf32_arm_to_thumb_export_stub): Assert that output
        section is present.
        section is present.
        (allocate_dynrelocs): Only add export stub for symbols defined in
        (allocate_dynrelocs): Only add export stub for symbols defined in
        this object.
        this object.
2006-11-29  Paul Brook  
2006-11-29  Paul Brook  
        * elf32-arm.c (elf32_arm_to_thumb_export_stub): Assert that output
        * elf32-arm.c (elf32_arm_to_thumb_export_stub): Assert that output
        section is present.
        section is present.
        (allocate_dynrelocs): Only add export stub for symbols defined in
        (allocate_dynrelocs): Only add export stub for symbols defined in
        this object.
        this object.
2006-11-29  Paul Brook  
2006-11-29  Paul Brook  
        Julian Brown  
        Julian Brown  
        * elf32-arm.c (copy_eabi_attributes): Correct starting offset.
        * elf32-arm.c (copy_eabi_attributes): Correct starting offset.
        (elf32_arm_merge_eabi_attributes): Mark output as initialized.
        (elf32_arm_merge_eabi_attributes): Mark output as initialized.
        Only set Tag_CPU_name and Tag_ABI_PCS_R9_use if input attribute
        Only set Tag_CPU_name and Tag_ABI_PCS_R9_use if input attribute
        is present.
        is present.
2006-11-27  Bob Wilson  
2006-11-27  Bob Wilson  
        * elf32-xtensa.c (elf_xtensa_special_sections): Add .xtensa.info.
        * elf32-xtensa.c (elf_xtensa_special_sections): Add .xtensa.info.
2006-11-24  H.J. Lu  
2006-11-24  H.J. Lu  
        * elf.c (IS_SECTION_IN_INPUT_SEGMENT): New.
        * elf.c (IS_SECTION_IN_INPUT_SEGMENT): New.
        (INCLUDE_SECTION_IN_SEGMENT): Use IS_SECTION_IN_INPUT_SEGMENT.
        (INCLUDE_SECTION_IN_SEGMENT): Use IS_SECTION_IN_INPUT_SEGMENT.
        (rewrite_elf_program_header): Don't preserve segment physical
        (rewrite_elf_program_header): Don't preserve segment physical
        address in the output segment if the first section in the
        address in the output segment if the first section in the
        corresponding input segment is removed.
        corresponding input segment is removed.
2006-11-22  Alan Modra  
2006-11-22  Alan Modra  
        * pef.c (bfd_pef_make_empty_symbol): Delete function.  Define instead.
        * pef.c (bfd_pef_make_empty_symbol): Delete function.  Define instead.
        * xsym.c (bfd_sym_make_empty_symbol): Likewise.
        * xsym.c (bfd_sym_make_empty_symbol): Likewise.
        * xsym.h (bfd_sym_make_empty_symbol): Delete.
        * xsym.h (bfd_sym_make_empty_symbol): Delete.
2006-11-21  Greg McGary  
2006-11-21  Greg McGary  
        * elf32-ppc.c (ppc_elf_relocate_section): Fixup D field
        * elf32-ppc.c (ppc_elf_relocate_section): Fixup D field
        at proper offset in little-endian mode.
        at proper offset in little-endian mode.
        * elf64-ppc.c (ppc_elf_relocate_section): Likewise.
        * elf64-ppc.c (ppc_elf_relocate_section): Likewise.
2006-11-21  Jakub Jelinek  
2006-11-21  Jakub Jelinek  
        * elf-eh-frame.c (struct cie): New type.
        * elf-eh-frame.c (struct cie): New type.
        (cie_compare): Removed.
        (cie_compare): Removed.
        (cie_eq, cie_hash, cie_compute_hash): New functions.
        (cie_eq, cie_hash, cie_compute_hash): New functions.
        (_bfd_elf_discard_section_eh_frame): Rewrite not to rely on FDEs
        (_bfd_elf_discard_section_eh_frame): Rewrite not to rely on FDEs
        pointing only to last CIE and allow merging of any duplicate CIEs,
        pointing only to last CIE and allow merging of any duplicate CIEs,
        not just duplicate consecutive CIEs.
        not just duplicate consecutive CIEs.
        (_bfd_elf_discard_section_eh_frame_hdr): Delete cies hash table.
        (_bfd_elf_discard_section_eh_frame_hdr): Delete cies hash table.
        * elf-bfd.h (struct cie_header, struct cie): Removed.
        * elf-bfd.h (struct cie_header, struct cie): Removed.
        (struct eh_frame_sec_info): Remove alloced field.
        (struct eh_frame_sec_info): Remove alloced field.
        (struct eh_frame_hdr_info): Remove last_cie, last_cie_sec
        (struct eh_frame_hdr_info): Remove last_cie, last_cie_sec
        and last_cie_inf fields.  Add cies field.
        and last_cie_inf fields.  Add cies field.
2006-11-20  Alan Modra  
2006-11-20  Alan Modra  
        * bfd-in.h (struct stat): Don't typedef.
        * bfd-in.h (struct stat): Don't typedef.
        * bfdio.c (bfd_get_size): Return a file_ptr.
        * bfdio.c (bfd_get_size): Return a file_ptr.
        * cisco-core.c (cisco_core_file_validate): Use bfd_size_type for nread.
        * cisco-core.c (cisco_core_file_validate): Use bfd_size_type for nread.
        * mmo.c (mmo_scan): Use file_ptr for curpos.
        * mmo.c (mmo_scan): Use file_ptr for curpos.
        * trad-core.c (trad_unix_core): Don't cast statbuf.st_size to
        * trad-core.c (trad_unix_core): Don't cast statbuf.st_size to
        unsigned long.
        unsigned long.
        * bfd-in2.h: Regenerate.
        * bfd-in2.h: Regenerate.
2006-11-20  Alan Modra  
2006-11-20  Alan Modra  
        PR 3532
        PR 3532
        * bfd-in.h (struct bfd_hash_table): Reorganize.  Add "frozen".
        * bfd-in.h (struct bfd_hash_table): Reorganize.  Add "frozen".
        * hash.c (bfd_hash_table_init_n): Init frozen.
        * hash.c (bfd_hash_table_init_n): Init frozen.
        (bfd_hash_lookup): Don't grow if frozen.
        (bfd_hash_lookup): Don't grow if frozen.
        (bfd_hash_traverse): Freeze hash table during traversal.
        (bfd_hash_traverse): Freeze hash table during traversal.
        * bfd-in2.h: Regenerate.
        * bfd-in2.h: Regenerate.
2006-11-18  Alan Modra  
2006-11-18  Alan Modra  
        * elflink.c (_bfd_elf_check_kept_section): Test for kept group
        * elflink.c (_bfd_elf_check_kept_section): Test for kept group
        section.  Save result of checks in kept_section.
        section.  Save result of checks in kept_section.
        (_bfd_elf_section_already_linked): Tidy.  Correct comments.
        (_bfd_elf_section_already_linked): Tidy.  Correct comments.
        Ignore all group member sections.  Handle special matching of
        Ignore all group member sections.  Handle special matching of
        single-member groups against linkonce sections via their group
        single-member groups against linkonce sections via their group
        section.  When such a match is found, set kept_section to the
        section.  When such a match is found, set kept_section to the
        group member section rather than to the group.
        group member section rather than to the group.
2006-11-14  Phil Lello  
2006-11-14  Phil Lello  
        * peXXigen.c: Updates for PE/COFF V8.0, and clarification
        * peXXigen.c: Updates for PE/COFF V8.0, and clarification
        (dir_names): Added CLR Runtime Header to dir_names[].
        (dir_names): Added CLR Runtime Header to dir_names[].
        (_bfd_XX_print_private_bfd_data_common): Added EFI_ROM and XBOX
        (_bfd_XX_print_private_bfd_data_common): Added EFI_ROM and XBOX
        subsystem names
        subsystem names
        (_bfd_XXi_swap_aouthdr_in, _bfd_XXi_swap_aouthdr_out)
        (_bfd_XXi_swap_aouthdr_in, _bfd_XXi_swap_aouthdr_out)
        (pe_print_idata, pe_print_edata)
        (pe_print_idata, pe_print_edata)
        (_bfd_XX_bfd_copy_private_bfd_data_common)
        (_bfd_XX_bfd_copy_private_bfd_data_common)
        (_bfd_XXi_final_link_postscript): Use #DEFINEs for index into
        (_bfd_XXi_final_link_postscript): Use #DEFINEs for index into
        DataDirectory.
        DataDirectory.
2006-11-13  Daniel Jacobowitz  
2006-11-13  Daniel Jacobowitz  
        * bfd-in.h (bfd_elf32_arm_process_before_allocation): Update
        * bfd-in.h (bfd_elf32_arm_process_before_allocation): Update
        prototype.
        prototype.
        (bfd_elf32_arm_set_byteswap_code): New prototype.
        (bfd_elf32_arm_set_byteswap_code): New prototype.
        * bfd-in2.h: Regenerate.
        * bfd-in2.h: Regenerate.
        * elf32-arm.c (bfd_elf32_arm_process_before_allocation): Don't take
        * elf32-arm.c (bfd_elf32_arm_process_before_allocation): Don't take
        byteswap_code as an argument.  Revert 2006-11-01 change.
        byteswap_code as an argument.  Revert 2006-11-01 change.
        (bfd_elf32_arm_set_byteswap_code): New.
        (bfd_elf32_arm_set_byteswap_code): New.
        (elf32_arm_size_dynamic_sections): Call
        (elf32_arm_size_dynamic_sections): Call
        bfd_elf32_arm_process_before_allocation.
        bfd_elf32_arm_process_before_allocation.
2006-11-10  Thiemo Seufer  
2006-11-10  Thiemo Seufer  
        * config.bfd (mips*el-sde-elf*, mips*-sde-elf*): Drop ECOFF support
        * config.bfd (mips*el-sde-elf*, mips*-sde-elf*): Drop ECOFF support
        for SDE configs.
        for SDE configs.
2006-11-10  Nick Clifton  
2006-11-10  Nick Clifton  
        * config.bfd: Move previously obsoleted targets to the REMOVED
        * config.bfd: Move previously obsoleted targets to the REMOVED
        list.
        list.
        Add maxq-*-coff to the obsolete list.
        Add maxq-*-coff to the obsolete list.
2006-11-10  Pedro Alves  
2006-11-10  Pedro Alves  
        * pe-arm-wince.c (LOCAL_LABEL_PREFIX): Define as ".".
        * pe-arm-wince.c (LOCAL_LABEL_PREFIX): Define as ".".
        * pei-arm-wince.c (LOCAL_LABEL_PREFIX): Likewise.
        * pei-arm-wince.c (LOCAL_LABEL_PREFIX): Likewise.
        * coff-arm.c (LOCAL_LABEL_PREFIX): Only define if not defined before.
        * coff-arm.c (LOCAL_LABEL_PREFIX): Only define if not defined before.
2006-11-07  Daniel Jacobowitz  
2006-11-07  Daniel Jacobowitz  
        * elf32-arm.c (find_thumb_glue): Add ERROR_MESSAGE argument; set it
        * elf32-arm.c (find_thumb_glue): Add ERROR_MESSAGE argument; set it
        on error.
        on error.
        (find_arm_glue): Likewise.
        (find_arm_glue): Likewise.
        (elf32_thumb_to_arm_stub, elf32_arm_create_thumb_stub)
        (elf32_thumb_to_arm_stub, elf32_arm_create_thumb_stub)
        (elf32_arm_to_thumb_stub, elf32_arm_final_link_relocate): Add
        (elf32_arm_to_thumb_stub, elf32_arm_final_link_relocate): Add
        ERROR_MESSAGE argument and pass it through.
        ERROR_MESSAGE argument and pass it through.
        (elf32_arm_to_thumb_export_stub): Update.
        (elf32_arm_to_thumb_export_stub): Update.
        (elf32_arm_relocate_section): Use ERROR_MESSAGE and reloc_dangerous.
        (elf32_arm_relocate_section): Use ERROR_MESSAGE and reloc_dangerous.
2006-11-07  Alan Modra  
2006-11-07  Alan Modra  
        * elf64-ppc.c (enum _ppc64_sec_type): New.
        * elf64-ppc.c (enum _ppc64_sec_type): New.
        (struct _ppc64_elf_section_data): Move "t_symndx" into opd union,
        (struct _ppc64_elf_section_data): Move "t_symndx" into opd union,
        and rename fields.  Add sec_type and has_14bit_branch.
        and rename fields.  Add sec_type and has_14bit_branch.
        (struct ppc_link_hash_table): Remove has_14bit_branch.
        (struct ppc_link_hash_table): Remove has_14bit_branch.
        (get_opd_info, get_tls_mask, ppc64_elf_edit_opd): Adjust.
        (get_opd_info, get_tls_mask, ppc64_elf_edit_opd): Adjust.
        (ppc64_elf_relocate_section): Likewise.
        (ppc64_elf_relocate_section): Likewise.
        (ppc64_elf_check_relocs): Likewise.  Set per-section has_14bit_branch.
        (ppc64_elf_check_relocs): Likewise.  Set per-section has_14bit_branch.
        (ppc64_elf_size_stubs): Don't set default group size here.
        (ppc64_elf_size_stubs): Don't set default group size here.
        (group_sections): Instead do so here, and group sections using
        (group_sections): Instead do so here, and group sections using
        their individual requirements.
        their individual requirements.
2006-11-07  Alan Modra  
2006-11-07  Alan Modra  
        * elf64-ppc.c (struct ppc64_elf_obj_tdata): Remove "has_dotsym"
        * elf64-ppc.c (struct ppc64_elf_obj_tdata): Remove "has_dotsym"
        and union.
        and union.
        (struct ppc_link_hash_entry): Add "next_dot_sym".
        (struct ppc_link_hash_entry): Add "next_dot_sym".
        (struct ppc_link_hash_table): Add "dot_syms".
        (struct ppc_link_hash_table): Add "dot_syms".
        (link_hash_newfunc): Make list of syms starting with a dot.
        (link_hash_newfunc): Make list of syms starting with a dot.
        (ppc_get_stub_entry, adjust_opd_syms): Adjust.
        (ppc_get_stub_entry, adjust_opd_syms): Adjust.
        (ppc64_elf_add_symbol_hook): Don't set has_dotsym.
        (ppc64_elf_add_symbol_hook): Don't set has_dotsym.
        (struct add_symbol_adjust_data): Delete.
        (struct add_symbol_adjust_data): Delete.
        (add_symbol_adjust): Simplify params and return.
        (add_symbol_adjust): Simplify params and return.
        (ppc64_elf_check_directives): Just process the "dot_syms" lists,
        (ppc64_elf_check_directives): Just process the "dot_syms" lists,
        not all syms.
        not all syms.
2006-11-02  Daniel Jacobowitz  
2006-11-02  Daniel Jacobowitz  
        * libbfd-in.h (_bfd_clear_contents): New prototype.
        * libbfd-in.h (_bfd_clear_contents): New prototype.
        * reloc.c (_bfd_clear_contents): New.
        * reloc.c (_bfd_clear_contents): New.
        * libbfd.h: Regenerated.
        * libbfd.h: Regenerated.
        * elf32-arm.c (elf32_arm_final_link_relocate): Use
        * elf32-arm.c (elf32_arm_final_link_relocate): Use
        _bfd_clear_contents.
        _bfd_clear_contents.
        * elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
        * elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
        * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
        * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
        * elf32-i386.c (elf_i386_relocate_section): Likewise.
        * elf32-i386.c (elf_i386_relocate_section): Likewise.
        * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
        * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
        * elf32-s390.c (elf_s390_relocate_section): Likewise.
        * elf32-s390.c (elf_s390_relocate_section): Likewise.
        * elf32-sh.c (sh_elf_relocate_section): Likewise.
        * elf32-sh.c (sh_elf_relocate_section): Likewise.
        * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
        * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
        * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
        * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
        * elf64-s390.c (elf_s390_relocate_section): Likewise.
        * elf64-s390.c (elf_s390_relocate_section): Likewise.
        * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
        * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
        * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
        * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
        * elfxx-ia64.c (elfNN_ia64_relocate_section): Set value to
        * elfxx-ia64.c (elfNN_ia64_relocate_section): Set value to
        zero for discarded symbols.
        zero for discarded symbols.
        * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
        * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
2006-11-01  Thiemo Seufer  
2006-11-01  Thiemo Seufer  
            David Ung  
            David Ung  
        * elf-bfd.h (local_call_stubs): New member.
        * elf-bfd.h (local_call_stubs): New member.
        * elfxx-mips.c (FN_STUB_P, CALL_STUB_P, CALL_FP_STUB_P): New macros.
        * elfxx-mips.c (FN_STUB_P, CALL_STUB_P, CALL_FP_STUB_P): New macros.
        (mips_elf_calculate_relocation): Handle local mips16 call stubs.
        (mips_elf_calculate_relocation): Handle local mips16 call stubs.
        (mips16_stub_section_p): Rename from mips_elf_stub_section_p, use
        (mips16_stub_section_p): Rename from mips_elf_stub_section_p, use
        the new stub macros.
        the new stub macros.
        (_bfd_mips_elf_check_relocs): Handle call stubs for code which
        (_bfd_mips_elf_check_relocs): Handle call stubs for code which
        mixes mips16 and mips32 functions. Use mips16_stub_section_p. Mark
        mixes mips16 and mips32 functions. Use mips16_stub_section_p. Mark
        used stubs with SEC_KEEP. Use the new stub macros.
        used stubs with SEC_KEEP. Use the new stub macros.
2006-11-01  Alan Modra  
2006-11-01  Alan Modra  
        * elf32-arm.c (bfd_elf32_arm_process_before_allocation): Correct
        * elf32-arm.c (bfd_elf32_arm_process_before_allocation): Correct
        check for PLT usage.
        check for PLT usage.
2006-11-01  Daniel Jacobowitz  
2006-11-01  Daniel Jacobowitz  
        * elfxx-mips.c (mips_elf_merge_gots): Always use maxcnt.
        * elfxx-mips.c (mips_elf_merge_gots): Always use maxcnt.
2006-10-31  Alan Modra  
2006-10-31  Alan Modra  
        * elf.c (elfcore_write_note): Pad note descriptor to 4-byte
        * elf.c (elfcore_write_note): Pad note descriptor to 4-byte
        boundary.  Tidy.  Comment.
        boundary.  Tidy.  Comment.
2006-10-30  H.J. Lu  
2006-10-30  H.J. Lu  
        PR ld/3111
        PR ld/3111
        * elf-bfd.h (elf_obj_tdata): Add symbuf.
        * elf-bfd.h (elf_obj_tdata): Add symbuf.
        (_bfd_elf_section_already_linked): Add struct bfd_link_info *.
        (_bfd_elf_section_already_linked): Add struct bfd_link_info *.
        (_bfd_elf_check_kept_section): Likewise.
        (_bfd_elf_check_kept_section): Likewise.
        (bfd_elf_match_symbols_in_sections): Likewise.
        (bfd_elf_match_symbols_in_sections): Likewise.
        * elf.c (assign_section_numbers): Updated to add
        * elf.c (assign_section_numbers): Updated to add
        struct bfd_link_info *.
        struct bfd_link_info *.
        (bfd_elf_match_symbols_in_sections): Updated. Cache symbol
        (bfd_elf_match_symbols_in_sections): Updated. Cache symbol
        buffer if info->reduce_memory_overheads is false.
        buffer if info->reduce_memory_overheads is false.
        * elflink.c (match_group_member): Updated to add
        * elflink.c (match_group_member): Updated to add
        struct bfd_link_info *.
        struct bfd_link_info *.
        (_bfd_elf_check_kept_section): Likewise.
        (_bfd_elf_check_kept_section): Likewise.
        (elf_link_input_bfd): Likewise.
        (elf_link_input_bfd): Likewise.
        (_bfd_elf_section_already_linked): Likewise.
        (_bfd_elf_section_already_linked): Likewise.
        (bfd_elf_final_link): Free symbol buffer if
        (bfd_elf_final_link): Free symbol buffer if
        info->reduce_memory_overheads is false.
        info->reduce_memory_overheads is false.
        * libbfd-in.h (_bfd_nolink_section_already_linked): Add
        * libbfd-in.h (_bfd_nolink_section_already_linked): Add
        struct bfd_link_info *.
        struct bfd_link_info *.
        (_bfd_generic_section_already_linked): Likewise.
        (_bfd_generic_section_already_linked): Likewise.
        * libbfd.h: Regenerated.
        * libbfd.h: Regenerated.
        * linker.c (bfd_section_already_linked): Add
        * linker.c (bfd_section_already_linked): Add
        struct bfd_link_info *.
        struct bfd_link_info *.
        (_bfd_generic_section_already_linked): Likewise.
        (_bfd_generic_section_already_linked): Likewise.
        * targets.c (bfd_target): Add struct bfd_link_info * to
        * targets.c (bfd_target): Add struct bfd_link_info * to
        _section_already_linked.
        _section_already_linked.
        * bfd-in2.h: Regenerated.
        * bfd-in2.h: Regenerated.
2006-10-30  Alan Modra  
2006-10-30  Alan Modra  
        * bfd.c (bfd_error_type): Add bfd_error_on_input.
        * bfd.c (bfd_error_type): Add bfd_error_on_input.
        (input_bfd, input_error): New static vars.
        (input_bfd, input_error): New static vars.
        (bfd_set_error): Handle bfd_error_on_input.
        (bfd_set_error): Handle bfd_error_on_input.
        (bfd_errmsg): Likewise.
        (bfd_errmsg): Likewise.
        (bfd_perror): Simplify.
        (bfd_perror): Simplify.
        * archive.c (_bfd_write_archive_contents): Report errors on input.
        * archive.c (_bfd_write_archive_contents): Report errors on input.
        * bfd-in2.h: Regenerate.
        * bfd-in2.h: Regenerate.
2006-10-30  Alan Modra  
2006-10-30  Alan Modra  
        * elf.c (elfcore_write_note): Pad to 4-byte boundary.
        * elf.c (elfcore_write_note): Pad to 4-byte boundary.
2006-10-28  Richard Sandiford  
2006-10-28  Richard Sandiford  
        * elf32-mips.c (elf_mips_howto_table_rel): Add R_MIPS_GLOB_DAT.
        * elf32-mips.c (elf_mips_howto_table_rel): Add R_MIPS_GLOB_DAT.
        * elfn32-mips.c (elf_mips_howto_table_rel): Likewise.
        * elfn32-mips.c (elf_mips_howto_table_rel): Likewise.
        (elf_mips_howto_table_rela): Likewise.
        (elf_mips_howto_table_rela): Likewise.
        * elf64-mips.c (mips_elf64_howto_table_rel): Likewise.
        * elf64-mips.c (mips_elf64_howto_table_rel): Likewise.
        (mips_elf64_howto_table_rela): Likewise.
        (mips_elf64_howto_table_rela): Likewise.
2006-10-26  H.J. Lu  
2006-10-26  H.J. Lu  
        * elf.c (_bfd_elf_init_private_section_data): Assert output
        * elf.c (_bfd_elf_init_private_section_data): Assert output
        section ELF type instead of check if it is SHT_NULL.  Copy
        section ELF type instead of check if it is SHT_NULL.  Copy
        OS/PROC specific flags from input section to output section.
        OS/PROC specific flags from input section to output section.
2006-10-27  Alan Modra  
2006-10-27  Alan Modra  
        * section.c (SEC_KEEP): Update comment.
        * section.c (SEC_KEEP): Update comment.
        * bfd-in2.h: Regenerate.
        * bfd-in2.h: Regenerate.
        * elflink.c (bfd_elf_gc_sections): Ignore SEC_EXCLUDE sections.
        * elflink.c (bfd_elf_gc_sections): Ignore SEC_EXCLUDE sections.
        * merge.c (_bfd_merge_sections): Set SEC_KEEP on excluded sections.
        * merge.c (_bfd_merge_sections): Set SEC_KEEP on excluded sections.
        * stabs.c (_bfd_discard_section_stabs): Likewise.
        * stabs.c (_bfd_discard_section_stabs): Likewise.
        (_bfd_link_section_stabs): Likewise.  Simplify abs_section check.
        (_bfd_link_section_stabs): Likewise.  Simplify abs_section check.
2006-10-26  Ben Elliston  
2006-10-26  Ben Elliston  
        * reloc.c (_bfd_relocate_contents): Remove explicit case 0.
        * reloc.c (_bfd_relocate_contents): Remove explicit case 0.
        * elf.c (bfd_section_from_shdr): Remove extraneous breaks.
        * elf.c (bfd_section_from_shdr): Remove extraneous breaks.
        * targets.c (find_target): Remove extraneous break.
        * targets.c (find_target): Remove extraneous break.
2006-10-26  Ben Elliston  
2006-10-26  Ben Elliston  
        * coff-maxq.c (coff_maxq20_reloc): Remove unused variable `howto'.
        * coff-maxq.c (coff_maxq20_reloc): Remove unused variable `howto'.
        (struct maxq_reloc_map): Unused; remove.
        (struct maxq_reloc_map): Unused; remove.
        (maxq_reloc_map): Likewise.
        (maxq_reloc_map): Likewise.
        (maxq_reloc_type_lookup): Remove loop over maxq_reloc_map.
        (maxq_reloc_type_lookup): Remove loop over maxq_reloc_map.
2006-10-26  Ben Elliston  
2006-10-26  Ben Elliston  
        * elf.c (bfd_elf_set_dyn_lib_class): Change second argument type
        * elf.c (bfd_elf_set_dyn_lib_class): Change second argument type
        from int to enum dynamic_lib_link_class lib_class.
        from int to enum dynamic_lib_link_class lib_class.
        * bfd-in.h (bfd_elf_set_dyn_lib_class): Likewise.
        * bfd-in.h (bfd_elf_set_dyn_lib_class): Likewise.
        * bfd-in2.h: Regenerate.
        * bfd-in2.h: Regenerate.
2006-10-25  Alan Modra  
2006-10-25  Alan Modra  
            Trevor Smigiel  
            Trevor Smigiel  
            Yukishige Shibata  
            Yukishige Shibata  
            Nobuhisa Fujinami  
            Nobuhisa Fujinami  
            Takeaki Fukuoka  
            Takeaki Fukuoka  
        * cpu-spu.c: New file.
        * cpu-spu.c: New file.
        * elf32-spu.c: New file.
        * elf32-spu.c: New file.
        * elf32-spu.h: New file.
        * elf32-spu.h: New file.
        * archures.c: Add SPU support.
        * archures.c: Add SPU support.
        * config.bfd: Likewise.
        * config.bfd: Likewise.
        * configure.in: Likewise.
        * configure.in: Likewise.
        * reloc.c: Likewise.
        * reloc.c: Likewise.
        * targets.c: Likewise.
        * targets.c: Likewise.
        * Makefile.am: Likewise.  Run "make dep-am".
        * Makefile.am: Likewise.  Run "make dep-am".
        * libbfd.h: Regenerate.
        * libbfd.h: Regenerate.
        * bfd-in2.h: Regenerate.
        * bfd-in2.h: Regenerate.
        * Makefile.in: Regenerate.
        * Makefile.in: Regenerate.
        * configure: Regenerate.
        * configure: Regenerate.
        * po/SRC-POTFILES.in: Regenerate.
        * po/SRC-POTFILES.in: Regenerate.
2006-10-23  Alan Modra  
2006-10-23  Alan Modra  
        * elf64-ppc.c (ppc64_elf_edit_opd): Clarify comment.
        * elf64-ppc.c (ppc64_elf_edit_opd): Clarify comment.
2006-10-23  Alan Modra  
2006-10-23  Alan Modra  
        * elf32-score.c: Formatting.
        * elf32-score.c: Formatting.
        (elf_backend_omit_section_dynsym): Define.
        (elf_backend_omit_section_dynsym): Define.
        (score_elf_create_dynamic_relocation): Remove code copied from mips.
        (score_elf_create_dynamic_relocation): Remove code copied from mips.
        Don't use section syms in dynamic relocs.  Remove unused param.
        Don't use section syms in dynamic relocs.  Remove unused param.
        (score_elf_final_link_relocate): Remove unused param.
        (score_elf_final_link_relocate): Remove unused param.
2006-10-23  Alan Modra  
2006-10-23  Alan Modra  
        * linker.c (fix_syms): Choose best of previous and next
        * linker.c (fix_syms): Choose best of previous and next
        section based on section flags and vma.
        section based on section flags and vma.
2006-10-21  Kaz Kojima  
2006-10-21  Kaz Kojima  
        * elf32-sh64.c (sh64_elf_merge_symbol_attribute): Do merging
        * elf32-sh64.c (sh64_elf_merge_symbol_attribute): Do merging
        only when the non visibility part of st_other is non-zero.
        only when the non visibility part of st_other is non-zero.
        * elf64-sh64.c (sh64_elf64_merge_symbol_attribute): Likewise.
        * elf64-sh64.c (sh64_elf64_merge_symbol_attribute): Likewise.
2006-10-20  Richard Sandiford  
2006-10-20  Richard Sandiford  
        * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Don't extend
        * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Don't extend
        PT_DYNAMIC on GNU/Linux targets.
        PT_DYNAMIC on GNU/Linux targets.
2006-10-20  Richard Sandiford  
2006-10-20  Richard Sandiford  
        * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Make the
        * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Make the
        size of .rel.dyn reflect the value of DT_RELSZ.
        size of .rel.dyn reflect the value of DT_RELSZ.
2006-10-20  Richard Sandiford  
2006-10-20  Richard Sandiford  
        * elfxx-mips.c (_bfd_mips_elf_additional_program_headers): Allocate
        * elfxx-mips.c (_bfd_mips_elf_additional_program_headers): Allocate
        a PT_NULL header for dynamic objects.
        a PT_NULL header for dynamic objects.
        (_bfd_mips_elf_modify_segment_map): Add it.
        (_bfd_mips_elf_modify_segment_map): Add it.
2006-10-19  Mei Ligang  
2006-10-19  Mei Ligang  
        * elf32-score.c (score_elf_rel_dyn_section): Replace
        * elf32-score.c (score_elf_rel_dyn_section): Replace
        bfd_make_section with bfd_make_section_with_flags.
        bfd_make_section with bfd_make_section_with_flags.
        (_bfd_score_elf_create_dynamic_sections): Ditto.
        (_bfd_score_elf_create_dynamic_sections): Ditto.
        (score_elf_create_got_section): Ditto.
        (score_elf_create_got_section): Ditto.
        (score_elf_final_link_relocate): Delete referrence to
        (score_elf_final_link_relocate): Delete referrence to
        EF_SCORE_HASENTRY.
        EF_SCORE_HASENTRY.
2006-10-19  Richard Sandiford  
2006-10-19  Richard Sandiford  
        * elfxx-mips.c (sort_dynamic_relocs): Sort relocations against the
        * elfxx-mips.c (sort_dynamic_relocs): Sort relocations against the
        same symbol by increasing r_offset.
        same symbol by increasing r_offset.
        (sort_dynamic_relocs_64): Likewise.  Fix comparisons between very
        (sort_dynamic_relocs_64): Likewise.  Fix comparisons between very
        large and very small symbol indexes.
        large and very small symbol indexes.
2006-10-19  Richard Sandiford  
2006-10-19  Richard Sandiford  
        * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Add DT_DEBUG
        * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Add DT_DEBUG
        and DT_MIPS_RLD_MAP tags for position-independent executables.
        and DT_MIPS_RLD_MAP tags for position-independent executables.
        Do not add DT_DEBUG to shared libraries for any MIPS target.
        Do not add DT_DEBUG to shared libraries for any MIPS target.
2006-10-18  H.J. Lu  
2006-10-18  H.J. Lu  
        PR ld/3290
        PR ld/3290
        * elflink.c (elf_link_add_object_symbols): Hide definitions in
        * elflink.c (elf_link_add_object_symbols): Hide definitions in
        debug sections.
        debug sections.
2006-10-19  Alan Modra  
2006-10-19  Alan Modra  
        * elf32-arm.c (bfd_elf32_arm_allocate_interworking_sect): Check,
        * elf32-arm.c (bfd_elf32_arm_allocate_interworking_sect): Check,
        don't set, glue section size.
        don't set, glue section size.
        (record_arm_to_thumb_glue): Set glue section size here.
        (record_arm_to_thumb_glue): Set glue section size here.
        (record_thumb_to_arm_glue): Likewise.
        (record_thumb_to_arm_glue): Likewise.
        (bfd_elf32_arm_add_glue_sections_to_bfd): Formatting.
        (bfd_elf32_arm_add_glue_sections_to_bfd): Formatting.
        (bfd_elf32_arm_process_before_allocation): Ignore exluded sections.
        (bfd_elf32_arm_process_before_allocation): Ignore exluded sections.
2006-10-18  Roy Marples  
2006-10-18  Roy Marples  
        * elf64-sparc.c: Add FreeBSD support.
        * elf64-sparc.c: Add FreeBSD support.
        (elf64_sparc_fbsd_post_process_headers): New function.
        (elf64_sparc_fbsd_post_process_headers): New function.
        * targets.c (_bfd_target_vector): Add bfd_elf64_sparc_freebsd_vec.
        * targets.c (_bfd_target_vector): Add bfd_elf64_sparc_freebsd_vec.
        * config.bfd (sparc64-*-freebsd*): Set targ_defvec to bfd_elf64_sparc_freebsd_vec.
        * config.bfd (sparc64-*-freebsd*): Set targ_defvec to bfd_elf64_sparc_freebsd_vec.
        * configure.in: Add entry for bfd_elf64_sparc_freebsd_vec.
        * configure.in: Add entry for bfd_elf64_sparc_freebsd_vec.
        * configure: Regenerate.
        * configure: Regenerate.
2006-10-17  Mark Shinwell  
2006-10-17  Mark Shinwell  
        * elf32-arm.c (elf32_arm_final_link_relocate): Add support for
        * elf32-arm.c (elf32_arm_final_link_relocate): Add support for
        R_ARM_MOVW_BREL_NC, R_ARM_MOVW_BREL, R_ARM_MOVT_BREL,
        R_ARM_MOVW_BREL_NC, R_ARM_MOVW_BREL, R_ARM_MOVT_BREL,
        R_ARM_THM_MOVW_BREL_NC, R_ARM_THM_MOVW_BREL and
        R_ARM_THM_MOVW_BREL_NC, R_ARM_THM_MOVW_BREL and
        R_ARM_THM_MOVT_BREL relocations.
        R_ARM_THM_MOVT_BREL relocations.
2006-10-17  Mark Shinwell  
2006-10-17  Mark Shinwell  
        * elf32-arm.c (elf32_arm_howto_table_1): Change offset for
        * elf32-arm.c (elf32_arm_howto_table_1): Change offset for
        R_THM_CALL to 25 and remove FIXME comment.
        R_THM_CALL to 25 and remove FIXME comment.
        (using_thumb2): New function.
        (using_thumb2): New function.
        (elf32_arm_final_link_relocate): Cope with Thumb-2 BL encoding.
        (elf32_arm_final_link_relocate): Cope with Thumb-2 BL encoding.
2006-10-17  Mark Shinwell  
2006-10-17  Mark Shinwell  
        * elf32-arm.c (elf32_arm_final_link_relocate): Add cases
        * elf32-arm.c (elf32_arm_final_link_relocate): Add cases
        for R_ARM_ABS32_NOI and R_ARM_REL32_NOI.
        for R_ARM_ABS32_NOI and R_ARM_REL32_NOI.
        (elf32_arm_gc_sweep_hook): Likewise.
        (elf32_arm_gc_sweep_hook): Likewise.
        (elf32_arm_check_relocs): Likewise.
        (elf32_arm_check_relocs): Likewise.
        (allocate_dynrelocs): Likewise.
        (allocate_dynrelocs): Likewise.
2006-10-17  Alan Modra  
2006-10-17  Alan Modra  
        * elf-bfd.h (struct elf_link_hash_table): Reorder.  Add
        * elf-bfd.h (struct elf_link_hash_table): Reorder.  Add
        text_index_section and data_index_section.
        text_index_section and data_index_section.
        (struct elf_backend_data): Add elf_backend_init_index_section.
        (struct elf_backend_data): Add elf_backend_init_index_section.
        (_bfd_elf_init_1_index_section): Declare.
        (_bfd_elf_init_1_index_section): Declare.
        (_bfd_elf_init_2_index_sections): Declare.
        (_bfd_elf_init_2_index_sections): Declare.
        * elfxx-target.h (elf_backend_init_index_section): Define.
        * elfxx-target.h (elf_backend_init_index_section): Define.
        (elfNN_bed): Init new field.
        (elfNN_bed): Init new field.
        * elflink.c (_bfd_elf_link_omit_section_dynsym): Keep first tls
        * elflink.c (_bfd_elf_link_omit_section_dynsym): Keep first tls
        section and text_index_section plus data_index_section.
        section and text_index_section plus data_index_section.
        (_bfd_elf_link_renumber_dynsyms): Clear dynindx on omitted sections.
        (_bfd_elf_link_renumber_dynsyms): Clear dynindx on omitted sections.
        (_bfd_elf_init_1_index_section): New function.
        (_bfd_elf_init_1_index_section): New function.
        (_bfd_elf_init_2_index_sections): New function.
        (_bfd_elf_init_2_index_sections): New function.
        (bfd_elf_size_dynsym_hash_dynstr): Call elf_backend_init_index_section.
        (bfd_elf_size_dynsym_hash_dynstr): Call elf_backend_init_index_section.
        (elf_link_input_bfd): When emitting relocs, use text_index_section
        (elf_link_input_bfd): When emitting relocs, use text_index_section
        and data_index_section for removed sections.
        and data_index_section for removed sections.
        * elf-m10300.c (elf_backend_omit_section_dynsym): Define.
        * elf-m10300.c (elf_backend_omit_section_dynsym): Define.
        * elf32-i386.c: Likewise.
        * elf32-i386.c: Likewise.
        * elf32-m32r.c: Likewise.
        * elf32-m32r.c: Likewise.
        * elf32-sh.c: Likewise.
        * elf32-sh.c: Likewise.
        * elf32-xstormy16.c: Likewise.
        * elf32-xstormy16.c: Likewise.
        * elf32-xtensa.c: Likewise.
        * elf32-xtensa.c: Likewise.
        * elf64-alpha.c: Likewise.
        * elf64-alpha.c: Likewise.
        * elf64-hppa.c: Likewise.
        * elf64-hppa.c: Likewise.
        * elf64-mmix.c: Likewise.
        * elf64-mmix.c: Likewise.
        * elf64-sh64.c: Likewise.
        * elf64-sh64.c: Likewise.
        * elfxx-ia64.c: Likewise.
        * elfxx-ia64.c: Likewise.
        * elf32-arm.c (elf32_arm_final_link_relocate): Use text_index_section
        * elf32-arm.c (elf32_arm_final_link_relocate): Use text_index_section
        and data_index_section sym for relocs against sections with no dynamic
        and data_index_section sym for relocs against sections with no dynamic
        section sym.
        section sym.
        (elf_backend_init_index_section): Define.
        (elf_backend_init_index_section): Define.
        * elf32-cris.c: Similarly.
        * elf32-cris.c: Similarly.
        * elf32-hppa.c: Similarly.
        * elf32-hppa.c: Similarly.
        * elf32-i370.c: Similarly.
        * elf32-i370.c: Similarly.
        * elf32-m68k.c: Similarly.
        * elf32-m68k.c: Similarly.
        * elf32-mips.c: Similarly.
        * elf32-mips.c: Similarly.
        * elf32-ppc.c: Similarly.
        * elf32-ppc.c: Similarly.
        * elf32-s390.c: Similarly.
        * elf32-s390.c: Similarly.
        * elf32-sparc.c: Similarly.
        * elf32-sparc.c: Similarly.
        * elf32-vax.c: Similarly.
        * elf32-vax.c: Similarly.
        * elf64-mips.c: Similarly.
        * elf64-mips.c: Similarly.
        * elf64-ppc.c: Similarly.
        * elf64-ppc.c: Similarly.
        * elf64-s390.c: Similarly.
        * elf64-s390.c: Similarly.
        * elf64-sparc.c: Similarly.
        * elf64-sparc.c: Similarly.
        * elf64-x86-64.c: Similarly.
        * elf64-x86-64.c: Similarly.
        * elfn32-mips.c: Similarly.
        * elfn32-mips.c: Similarly.
        * elfxx-mips.c: Similarly.
        * elfxx-mips.c: Similarly.
        * elfxx-sparc.c: Similarly.
        * elfxx-sparc.c: Similarly.
        * linker.c (fix_syms): Base symbols in removed sections on
        * linker.c (fix_syms): Base symbols in removed sections on
        previous section in preference to using absolute section.
        previous section in preference to using absolute section.
2006-10-16  Andreas Schwab  
2006-10-16  Andreas Schwab  
        * elfxx-ia64.c (addend_compare): Properly compute return value.
        * elfxx-ia64.c (addend_compare): Properly compute return value.
2006-10-15  H.J. Lu  
2006-10-15  H.J. Lu  
        PR ld/3314
        PR ld/3314
        * elf.c (assign_file_positions_for_non_load_sections): Don't
        * elf.c (assign_file_positions_for_non_load_sections): Don't
        page align empty SHF_ALLOC sections.
        page align empty SHF_ALLOC sections.
2006-10-13  Jakub Jelinek  
2006-10-13  Jakub Jelinek  
        * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_sections): Set
        * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_sections): Set
        .plt sh_entsize to 0 if plt header size isn't multiple of
        .plt sh_entsize to 0 if plt header size isn't multiple of
        plt entry size or for 32-bit which adds a nop insn at the
        plt entry size or for 32-bit which adds a nop insn at the
        end of the .plt section.
        end of the .plt section.
2006-10-12  Bob Wilson  
2006-10-12  Bob Wilson  
        * elf32-xtensa.c (elf_xtensa_action_discarded): New.
        * elf32-xtensa.c (elf_xtensa_action_discarded): New.
        (elf_backend_action_discarded): Define.
        (elf_backend_action_discarded): Define.
2006-10-11  Bob Wilson  
2006-10-11  Bob Wilson  
        * elf32-xtensa.c (elf_xtensa_relocate_section): Return after
        * elf32-xtensa.c (elf_xtensa_relocate_section): Return after
        unresolvable relocation error.
        unresolvable relocation error.
        (elf_xtensa_finish_dynamic_symbol): Set value of undefined, weak
        (elf_xtensa_finish_dynamic_symbol): Set value of undefined, weak
        symbols to zero.
        symbols to zero.
2006-10-10  Bob Wilson  
2006-10-10  Bob Wilson  
        * elf32-xtensa.c (elf_xtensa_size_dynamic_sections): Add DT_DEBUG
        * elf32-xtensa.c (elf_xtensa_size_dynamic_sections): Add DT_DEBUG
        for PIE executables.
        for PIE executables.
2006-10-03  Jakub Jelinek  
2006-10-03  Jakub Jelinek  
        * elf-bfd.h (struct eh_cie_fde): Add set_loc pointer.
        * elf-bfd.h (struct eh_cie_fde): Add set_loc pointer.
        * elf-eh-frame.c (skip_cfa_op): Fix handling of DW_CFA_advance_loc.
        * elf-eh-frame.c (skip_cfa_op): Fix handling of DW_CFA_advance_loc.
        Handle DW_CFA_{remember,restore}_state, DW_CFA_GNU_window_save,
        Handle DW_CFA_{remember,restore}_state, DW_CFA_GNU_window_save,
        DW_CFA_val_{offset{,_sf},expression}.
        DW_CFA_val_{offset{,_sf},expression}.
        (skip_non_nops): Record number of DW_CFA_set_loc ops.
        (skip_non_nops): Record number of DW_CFA_set_loc ops.
        (_bfd_elf_discard_section_eh_frame): Require skip_non_nops recognizes
        (_bfd_elf_discard_section_eh_frame): Require skip_non_nops recognizes
        all ops.  If there are any DW_CFA_set_loc ops and they are pcrel
        all ops.  If there are any DW_CFA_set_loc ops and they are pcrel
        or going to be pcrel, compute set_loc array.
        or going to be pcrel, compute set_loc array.
        (_bfd_elf_eh_frame_section_offset): If make_relative, kill relocations
        (_bfd_elf_eh_frame_section_offset): If make_relative, kill relocations
        against DW_CFA_set_loc operands.
        against DW_CFA_set_loc operands.
        (_bfd_elf_write_section_eh_frame): Handle DW_CFA_set_loc adjusting.
        (_bfd_elf_write_section_eh_frame): Handle DW_CFA_set_loc adjusting.
2006-10-02  Daniel Jacobowitz  
2006-10-02  Daniel Jacobowitz  
        * elflink.c (_bfd_elf_merge_symbol): Discard references to TLS
        * elflink.c (_bfd_elf_merge_symbol): Discard references to TLS
        symbols from the --just-syms file.
        symbols from the --just-syms file.
2006-10-01  Alan Modra  
2006-10-01  Alan Modra  
        * elf64-ppc.c (ppc64_elf_build_stubs): Test glink size for
        * elf64-ppc.c (ppc64_elf_build_stubs): Test glink size for
        existence of PLT.
        existence of PLT.
2006-09-29  H.J. Lu  
2006-09-29  H.J. Lu  
        PR ld/3283
        PR ld/3283
        * elf64-x86-64.c (elf64_x86_64_relocate_section): Don't ignore
        * elf64-x86-64.c (elf64_x86_64_relocate_section): Don't ignore
        relocation overflow on branches to undefweaks.
        relocation overflow on branches to undefweaks.
2006-09-29  Alan Modra  
2006-09-29  Alan Modra  
        * po/BLD-POTFILES.in: Regenerate.
        * po/BLD-POTFILES.in: Regenerate.
        * po/SRC-POTFILES.in: Regenerate.
        * po/SRC-POTFILES.in: Regenerate.
2006-09-29  Danny Smith  
2006-09-29  Danny Smith  
        PR 3276
        PR 3276
        * pei-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Enable 16 byte
        * pei-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Enable 16 byte
        alignment for .data$, .rdata$ and .text$ sections so that sse
        alignment for .data$, .rdata$ and .text$ sections so that sse
        and sse2 code will work for linkonce sections too.
        and sse2 code will work for linkonce sections too.
        * pe-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
        * pe-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
2006-09-28  Alan Modra  
2006-09-28  Alan Modra  
        * elflink.c (_bfd_elf_gc_mark_hook): New function.
        * elflink.c (_bfd_elf_gc_mark_hook): New function.
        * elf-bfd.h (_bfd_elf_gc_mark_hook): Declare.
        * elf-bfd.h (_bfd_elf_gc_mark_hook): Declare.
        * elfxx-target.h (elf_backend_gc_mark_hook): Default to above.
        * elfxx-target.h (elf_backend_gc_mark_hook): Default to above.
        * elf-m10300.c (mn10300_elf_gc_mark_hook): Use _bfd_elf_gc_mark_hook.
        * elf-m10300.c (mn10300_elf_gc_mark_hook): Use _bfd_elf_gc_mark_hook.
        * elf32-arm.c (elf32_arm_gc_mark_hook): Likewise.
        * elf32-arm.c (elf32_arm_gc_mark_hook): Likewise.
        * elf32-cris.c (cris_elf_gc_mark_hook): Likewise.
        * elf32-cris.c (cris_elf_gc_mark_hook): Likewise.
        * elf32-hppa.c (elf32_hppa_gc_mark_hook): Likewise.
        * elf32-hppa.c (elf32_hppa_gc_mark_hook): Likewise.
        * elf32-i386.c (elf_i386_gc_mark_hook): Likewise.
        * elf32-i386.c (elf_i386_gc_mark_hook): Likewise.
        * elf32-m32r.c (m32r_elf_gc_mark_hook): Likewise.
        * elf32-m32r.c (m32r_elf_gc_mark_hook): Likewise.
        * elf32-m68k.c (elf_m68k_gc_mark_hook): Likewise.
        * elf32-m68k.c (elf_m68k_gc_mark_hook): Likewise.
        * elf32-mcore.c (mcore_elf_gc_mark_hook): Likewise.
        * elf32-mcore.c (mcore_elf_gc_mark_hook): Likewise.
        * elf32-ppc.c (ppc_elf_gc_mark_hook): Likewise.
        * elf32-ppc.c (ppc_elf_gc_mark_hook): Likewise.
        * elf32-s390.c (elf_s390_gc_mark_hook): Likewise.
        * elf32-s390.c (elf_s390_gc_mark_hook): Likewise.
        * elf32-score.c (_bfd_score_elf_gc_mark_hook): Likewise.
        * elf32-score.c (_bfd_score_elf_gc_mark_hook): Likewise.
        * elf32-sh.c (sh_elf_gc_mark_hook): Likewise.
        * elf32-sh.c (sh_elf_gc_mark_hook): Likewise.
        * elf32-vax.c (elf_vax_gc_mark_hook): Likewise.
        * elf32-vax.c (elf_vax_gc_mark_hook): Likewise.
        * elf32-xtensa.c (elf_xtensa_gc_mark_hook): Likewise.
        * elf32-xtensa.c (elf_xtensa_gc_mark_hook): Likewise.
        * elf64-mmix.c (mmix_elf_gc_mark_hook): Likewise.
        * elf64-mmix.c (mmix_elf_gc_mark_hook): Likewise.
        * elf64-s390.c (elf_s390_gc_mark_hook): Likewise.
        * elf64-s390.c (elf_s390_gc_mark_hook): Likewise.
        * elf64-x86-64.c (elf64_x86_64_gc_mark_hook): Likewise.
        * elf64-x86-64.c (elf64_x86_64_gc_mark_hook): Likewise.
        * elfxx-mips.c (_bfd_mips_elf_gc_mark_hook): Likewise.
        * elfxx-mips.c (_bfd_mips_elf_gc_mark_hook): Likewise.
        * elfxx-sparc.c (_bfd_sparc_elf_gc_mark_hook): Likewise.
        * elfxx-sparc.c (_bfd_sparc_elf_gc_mark_hook): Likewise.
        * elf32-bfin.c (bfin_gc_mark_hook): Likewise.
        * elf32-bfin.c (bfin_gc_mark_hook): Likewise.
        (bfinfdpic_gc_sweep_hook): Delete.
        (bfinfdpic_gc_sweep_hook): Delete.
        (elf_backend_gc_sweep_hook): Don't define for elf32-bfinfdpic.
        (elf_backend_gc_sweep_hook): Don't define for elf32-bfinfdpic.
        * elf32-d10v.c (elf32_d10v_gc_mark_hook): Use _bfd_elf_gc_mark_hook.
        * elf32-d10v.c (elf32_d10v_gc_mark_hook): Use _bfd_elf_gc_mark_hook.
        (elf32_d10v_gc_sweep_hook): Delete.
        (elf32_d10v_gc_sweep_hook): Delete.
        (elf_backend_gc_sweep_hook): Don't define.
        (elf_backend_gc_sweep_hook): Don't define.
        * elf32-fr30.c (fr30_elf_gc_mark_hook): Use _bfd_elf_gc_mark_hook.
        * elf32-fr30.c (fr30_elf_gc_mark_hook): Use _bfd_elf_gc_mark_hook.
        (fr30_elf_gc_sweep_hook): Delete.
        (fr30_elf_gc_sweep_hook): Delete.
        (elf_backend_gc_sweep_hook): Don't define.
        (elf_backend_gc_sweep_hook): Don't define.
        * elf32-frv.c (elf32_frv_gc_mark_hook): Use _bfd_elf_gc_mark_hook.
        * elf32-frv.c (elf32_frv_gc_mark_hook): Use _bfd_elf_gc_mark_hook.
        (elf32_frv_gc_sweep_hook): Delete.
        (elf32_frv_gc_sweep_hook): Delete.
        (elf_backend_gc_sweep_hook): Don't define.
        (elf_backend_gc_sweep_hook): Don't define.
        * elf32-iq2000.c (iq2000_elf_gc_mark_hook): Use _bfd_elf_gc_mark_hook.
        * elf32-iq2000.c (iq2000_elf_gc_mark_hook): Use _bfd_elf_gc_mark_hook.
        (iq2000_elf_gc_sweep_hook): Delete.
        (iq2000_elf_gc_sweep_hook): Delete.
        (elf_backend_gc_sweep_hook): Don't define.
        (elf_backend_gc_sweep_hook): Don't define.
        * elf32-openrisc.c (openrisc_elf_gc_mark_hook): Use
        * elf32-openrisc.c (openrisc_elf_gc_mark_hook): Use
        _bfd_elf_gc_mark_hook.
        _bfd_elf_gc_mark_hook.
        (openrisc_elf_gc_sweep_hook): Delete.
        (openrisc_elf_gc_sweep_hook): Delete.
        (elf_backend_gc_sweep_hook): Don't define.
        (elf_backend_gc_sweep_hook): Don't define.
        * elf32-v850.c (v850_elf_gc_mark_hook): Use _bfd_elf_gc_mark_hook.
        * elf32-v850.c (v850_elf_gc_mark_hook): Use _bfd_elf_gc_mark_hook.
        (v850_elf_gc_sweep_hook): Delete.
        (v850_elf_gc_sweep_hook): Delete.
        (elf_backend_gc_sweep_hook): Don't define.
        (elf_backend_gc_sweep_hook): Don't define.
        * elf32-xstormy16.c (xstormy16_elf_gc_mark_hook): Use
        * elf32-xstormy16.c (xstormy16_elf_gc_mark_hook): Use
        _bfd_elf_gc_mark_hook.
        _bfd_elf_gc_mark_hook.
        (xstormy16_elf_gc_sweep_hook): Delete.
        (xstormy16_elf_gc_sweep_hook): Delete.
        (elf_backend_gc_sweep_hook): Don't define.
        (elf_backend_gc_sweep_hook): Don't define.
        * elf64-sh64.c (sh_elf64_gc_mark_hook): Use _bfd_elf_gc_mark_hook.
        * elf64-sh64.c (sh_elf64_gc_mark_hook): Use _bfd_elf_gc_mark_hook.
        (sh_elf64_gc_sweep_hook): Delete.
        (sh_elf64_gc_sweep_hook): Delete.
        (elf_backend_gc_sweep_hook): Don't define.
        (elf_backend_gc_sweep_hook): Don't define.
        * elf32-avr.c (elf32_avr_gc_mark_hook): Delete.
        * elf32-avr.c (elf32_avr_gc_mark_hook): Delete.
        (elf32_avr_gc_sweep_hook): Delete.
        (elf32_avr_gc_sweep_hook): Delete.
        (elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define.
        (elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define.
        * elf32-cr16c.c (elf32_cr16c_gc_mark_hook): Delete.
        * elf32-cr16c.c (elf32_cr16c_gc_mark_hook): Delete.
        (elf32_cr16c_gc_sweep_hook): Delete.
        (elf32_cr16c_gc_sweep_hook): Delete.
        (elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define.
        (elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define.
        * elf32-crx.c (elf32_crx_gc_mark_hook): Delete.
        * elf32-crx.c (elf32_crx_gc_mark_hook): Delete.
        (elf32_crx_gc_sweep_hook): Delete.
        (elf32_crx_gc_sweep_hook): Delete.
        (elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define.
        (elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define.
        * elf32-h8300.c (elf32_h8_gc_mark_hook): Delete.
        * elf32-h8300.c (elf32_h8_gc_mark_hook): Delete.
        (elf32_h8_gc_sweep_hook): Delete.
        (elf32_h8_gc_sweep_hook): Delete.
        (elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define.
        (elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define.
        * elf32-ip2k.c (ip2k_elf_gc_mark_hook): Delete.
        * elf32-ip2k.c (ip2k_elf_gc_mark_hook): Delete.
        (ip2k_elf_gc_sweep_hook): Delete.
        (ip2k_elf_gc_sweep_hook): Delete.
        (elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define.
        (elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define.
        * elf32-m32c.c (m32c_elf_gc_mark_hook, m32c_elf_gc_sweep_hook): Delete.
        * elf32-m32c.c (m32c_elf_gc_mark_hook, m32c_elf_gc_sweep_hook): Delete.
        (elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define.
        (elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define.
        * elf32-m68hc11.c (elf_backend_gc_mark_hook): Don't define.
        * elf32-m68hc11.c (elf_backend_gc_mark_hook): Don't define.
        (elf_backend_gc_sweep_hook): Don't define.
        (elf_backend_gc_sweep_hook): Don't define.
        * elf32-m68hc12.c (elf_backend_gc_mark_hook): Don't define.
        * elf32-m68hc12.c (elf_backend_gc_mark_hook): Don't define.
        (elf_backend_gc_sweep_hook): Don't define.
        (elf_backend_gc_sweep_hook): Don't define.
        * elf32-m68hc1x.c (elf32_m68hc11_gc_mark_hook): Delete.
        * elf32-m68hc1x.c (elf32_m68hc11_gc_mark_hook): Delete.
        (elf32_m68hc11_gc_sweep_hook): Delete.
        (elf32_m68hc11_gc_sweep_hook): Delete.
        * elf32-m68hc1x.h (elf32_m68hc11_gc_mark_hook): Delete.
        * elf32-m68hc1x.h (elf32_m68hc11_gc_mark_hook): Delete.
        (elf32_m68hc11_gc_sweep_hook): Delete.
        (elf32_m68hc11_gc_sweep_hook): Delete.
        * elf32-msp430.c (elf32_msp430_gc_mark_hook): Delete.
        * elf32-msp430.c (elf32_msp430_gc_mark_hook): Delete.
        (elf32_msp430_gc_sweep_hook): Delete.
        (elf32_msp430_gc_sweep_hook): Delete.
        (elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define.
        (elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define.
        * elf32-mt.c (mt_elf_gc_mark_hook, mt_elf_gc_sweep_hook): Delete.
        * elf32-mt.c (mt_elf_gc_mark_hook, mt_elf_gc_sweep_hook): Delete.
        (elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define.
        (elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define.
2006-09-25 Pedro Alves 
2006-09-25 Pedro Alves 
        * bfd-in.h (CONST_STRNCPY) : Delete.
        * bfd-in.h (CONST_STRNCPY) : Delete.
        (LITSTRCPY) : New.
        (LITSTRCPY) : New.
        (LITMEMCPY) : New.
        (LITMEMCPY) : New.
        * bfd-in2.h : Regenerate.
        * bfd-in2.h : Regenerate.
        * elflink.c  (bfd_elf_gc_sections) : Use LITMEMCPY. Don't manually
        * elflink.c  (bfd_elf_gc_sections) : Use LITMEMCPY. Don't manually
        calculate string lengths.
        calculate string lengths.
        * nlmcode.h (nlm_swap_auxiliary_headers_in) : Use LITMEMCPY.
        * nlmcode.h (nlm_swap_auxiliary_headers_in) : Use LITMEMCPY.
2006-09-26  H.J. Lu  
2006-09-26  H.J. Lu  
        PR ld/3223
        PR ld/3223
        PR ld/3267
        PR ld/3267
        * elf.c (assign_file_positions_for_non_load_sections): Don't
        * elf.c (assign_file_positions_for_non_load_sections): Don't
        warn zero size allocated sections.
        warn zero size allocated sections.
2006-09-27  Alan Modra  
2006-09-27  Alan Modra  
        * elf32-score.c (_bfd_score_elf_relocate_section): Move assignment
        * elf32-score.c (_bfd_score_elf_relocate_section): Move assignment
        to "name" so that compiler realizes it is never uninitialized.
        to "name" so that compiler realizes it is never uninitialized.
        Use bfd_elf_sym_name.
        Use bfd_elf_sym_name.
2006-09-26  H.J. Lu  
2006-09-26  H.J. Lu  
        PR binutils/3262
        PR binutils/3262
        * elf.c (rewrite_elf_program_header): Use bfd_zalloc instead of
        * elf.c (rewrite_elf_program_header): Use bfd_zalloc instead of
        bfd_alloc to allocate segment map.
        bfd_alloc to allocate segment map.
        (copy_elf_program_header): Likewise.
        (copy_elf_program_header): Likewise.
2006-09-26  Mark Shinwell  
2006-09-26  Mark Shinwell  
            Joseph Myers  
            Joseph Myers  
            Ian Lance Taylor  
            Ian Lance Taylor  
            Ben Elliston  
            Ben Elliston  
        * archures.c: Add definition for bfd_mach_arm_iWMMXt2.
        * archures.c: Add definition for bfd_mach_arm_iWMMXt2.
        * cpu-arm.c (processors): Add bfd_mach_arm_iWMMXt2.
        * cpu-arm.c (processors): Add bfd_mach_arm_iWMMXt2.
        (arch_info_struct, bfd_arm_update_notes): Likewise.
        (arch_info_struct, bfd_arm_update_notes): Likewise.
        (architectures): Likewise.
        (architectures): Likewise.
        (bfd_arm_merge_machines): Check for iWMMXt2.
        (bfd_arm_merge_machines): Check for iWMMXt2.
        * bfd-in2.h: Rebuild.
        * bfd-in2.h: Rebuild.
2006-09-24  H.J. Lu  
2006-09-24  H.J. Lu  
        * configure: Regenerated.
        * configure: Regenerated.
2006-09-22  Alan Modra  
2006-09-22  Alan Modra  
        * elfcode.h (elf_swap_symbol_in): Return bfd_boolean.  Don't abort
        * elfcode.h (elf_swap_symbol_in): Return bfd_boolean.  Don't abort
        on error.
        on error.
        * elf-bfd.h (elf_size_info ): Adjust decl.
        * elf-bfd.h (elf_size_info ): Adjust decl.
        (bfd_elf32_swap_symbol_in, bfd_elf64_swap_symbol_in): Likewise.
        (bfd_elf32_swap_symbol_in, bfd_elf64_swap_symbol_in): Likewise.
        * elf.c (bfd_elf_get_elf_syms): Test return of swap_symbol_in,
        * elf.c (bfd_elf_get_elf_syms): Test return of swap_symbol_in,
        and report error.
        and report error.
        * elf32-arm.c (elf32_arm_swap_symbol_in): Return bfd_boolean.
        * elf32-arm.c (elf32_arm_swap_symbol_in): Return bfd_boolean.
2006-09-20  Martin Schwidefsky  
2006-09-20  Martin Schwidefsky  
        * elf32-s390.c (elf_s390_relocate_section): Remove check for code
        * elf32-s390.c (elf_s390_relocate_section): Remove check for code
        section in LD to LE linker relaxation for R_390_TLS_LDO32.
        section in LD to LE linker relaxation for R_390_TLS_LDO32.
        * elf64-s390.c (elf_s390_relocate_section): Likewise for
        * elf64-s390.c (elf_s390_relocate_section): Likewise for
        R_390_TLS_LDO64.
        R_390_TLS_LDO64.
2006-09-20  Kai Tietz  
2006-09-20  Kai Tietz  
        * configure.in: Added new target-vectors x86_64coff_vec,
        * configure.in: Added new target-vectors x86_64coff_vec,
        x86_64pe_vec, and x86_64pei_vec.
        x86_64pe_vec, and x86_64pei_vec.
        * configure: Regenerate.
        * configure: Regenerate.
        * config.bfd: Adjusted x86_64 target architecture detection.
        * config.bfd: Adjusted x86_64 target architecture detection.
        * bfd.c: Add for new target "coff-x86-64"
        * bfd.c: Add for new target "coff-x86-64"
        (bfd_get_sign_extend): Add target vector idents for pe-x86-64. and pei-x86-64.
        (bfd_get_sign_extend): Add target vector idents for pe-x86-64. and pei-x86-64.
        * coff-x86_64.c: Add new file for x86_64 (AMD64) coff support.
        * coff-x86_64.c: Add new file for x86_64 (AMD64) coff support.
        * libpei.h: Adjustments for COFF_WITH_pex64.
        * libpei.h: Adjustments for COFF_WITH_pex64.
        * coffcode.h: Add for new target machine, architecture, signature, and internal
        * coffcode.h: Add for new target machine, architecture, signature, and internal
        signature handler.
        signature handler.
        * Makefile.am: Add new files to target-all and define make-rule for pex64igen.c
        * Makefile.am: Add new files to target-all and define make-rule for pex64igen.c
        * Makefile.in: Regenerate.
        * Makefile.in: Regenerate.
        * pe-x86_64.c: Add for new target "pe-x86-64".
        * pe-x86_64.c: Add for new target "pe-x86-64".
        * pei-x86_64.c: Add for new target "pei-x86-64".
        * pei-x86_64.c: Add for new target "pei-x86-64".
        * peicode.h: Adjusts for new targets.
        * peicode.h: Adjusts for new targets.
        (coff_swap_filehdr_out): Set for this target to
        (coff_swap_filehdr_out): Set for this target to
        _bfd_pex64_only_swap_filehdr_out.
        _bfd_pex64_only_swap_filehdr_out.
        (SIZEOF_IDATA4): Define it as 8 byte size for this target.
        (SIZEOF_IDATA4): Define it as 8 byte size for this target.
        (SIZEOF_IDATA5): Define it as 8 byte size for this target.
        (SIZEOF_IDATA5): Define it as 8 byte size for this target.
        (jump_table jtab): Add for AMD64MAGIC.
        (jump_table jtab): Add for AMD64MAGIC.
        (pe_ILF_build_a_bfd): Adjusts for new size of SIZEOF_IDATA4 and SIZE_IDATA5.
        (pe_ILF_build_a_bfd): Adjusts for new size of SIZEOF_IDATA4 and SIZE_IDATA5.
        (pe_ILF_object_p): Add coff image-file signature to internal
        (pe_ILF_object_p): Add coff image-file signature to internal
        signature translation.
        signature translation.
        * peXXigen.c: Adjust proper include of target coff-header and
        * peXXigen.c: Adjust proper include of target coff-header and
        introduced target specific code
        introduced target specific code
        (COFF_WITH_pex64): New macro for this target.
        (COFF_WITH_pex64): New macro for this target.
        (pe_print_idata): New dumping method for import section of PE+ files.
        (pe_print_idata): New dumping method for import section of PE+ files.
        * targets.c: Add new target vectors declarations for x86_64 coff targets.
        * targets.c: Add new target vectors declarations for x86_64 coff targets.
        * coffcode.h: Support code to support the x86_64 PE magic number.
        * coffcode.h: Support code to support the x86_64 PE magic number.
        * coff-x86_64.c: New file.
        * coff-x86_64.c: New file.
2006-09-17  Hans-Peter Nilsson  
2006-09-17  Hans-Peter Nilsson  
        * elf.c (special_sections_s): Revert last STRING_COMMA_LEN change
        * elf.c (special_sections_s): Revert last STRING_COMMA_LEN change
        for .stabstr entry, explain why.
        for .stabstr entry, explain why.
2006-09-17  Anton Blanchard  
2006-09-17  Anton Blanchard  
            Alan Modra  
            Alan Modra  
        * dwarf2.c (concat_filename): Apply DW_AT_comp_dir if dir table
        * dwarf2.c (concat_filename): Apply DW_AT_comp_dir if dir table
        entry isn't absolute.
        entry isn't absolute.
2006-09-17  Mei Ligang  
2006-09-17  Mei Ligang  
        * cpu-score.c: New file.
        * cpu-score.c: New file.
        * elf32-score.c: New file.
        * elf32-score.c: New file.
        * config.bfd: Add Score target.
        * config.bfd: Add Score target.
        * Makefile.am: Add Score files.
        * Makefile.am: Add Score files.
        * Makefile.in: Regenerate.
        * Makefile.in: Regenerate.
        * archures.c: Add Score architecture.
        * archures.c: Add Score architecture.
        * reloc.c: Add Score relocs.
        * reloc.c: Add Score relocs.
        * targets.c: Add Score target vectors.
        * targets.c: Add Score target vectors.
        * bfd-in2.h: Regenerate.
        * bfd-in2.h: Regenerate.
        * libbfd.h: Regenerate.
        * libbfd.h: Regenerate.
        * configure.in: Add Score target.
        * configure.in: Add Score target.
        * configure: Regenerate.
        * configure: Regenerate.
2006-09-16  Nick Clifton  
2006-09-16  Nick Clifton  
            Pedro Alves  
            Pedro Alves  
        * bfd-in.h (STRING_COMMA_LEN): New macro.  Takes one constant
        * bfd-in.h (STRING_COMMA_LEN): New macro.  Takes one constant
        string as its argument and emits the string followed by a comma
        string as its argument and emits the string followed by a comma
        and then the length of the string.
        and then the length of the string.
        (CONST_STRNEQ): New macro.  Checks to see if a variable string
        (CONST_STRNEQ): New macro.  Checks to see if a variable string
        has a constant string as its initial characters.
        has a constant string as its initial characters.
        (CONST_STRNCPY): New macro.  Copies a constant string to the start
        (CONST_STRNCPY): New macro.  Copies a constant string to the start
        of a variable string.
        of a variable string.
        * bfd-in2.h: Regenerate.
        * bfd-in2.h: Regenerate.
        * archive.c: Make use of the new macros.
        * archive.c: Make use of the new macros.
        * archive64.c: Likewise.
        * archive64.c: Likewise.
        * bfd.c: Likewise.
        * bfd.c: Likewise.
        * coff-ppc.c: Likewise.
        * coff-ppc.c: Likewise.
        * coff-stgo32.c: Likewise.
        * coff-stgo32.c: Likewise.
        * coffcode.h: Likewise.
        * coffcode.h: Likewise.
        * cofflink.c: Likewise.
        * cofflink.c: Likewise.
        * cpu-i960.c: Likewise.
        * cpu-i960.c: Likewise.
        * dwarf2.c: Likewise.
        * dwarf2.c: Likewise.
        * ecoff.c: Likewise.
        * ecoff.c: Likewise.
        * elf-m10300.c: Likewise.
        * elf-m10300.c: Likewise.
        * elf.c: Likewise.
        * elf.c: Likewise.
        * elf32-arm.c: Likewise.
        * elf32-arm.c: Likewise.
        * elf32-bfin.c: Likewise.
        * elf32-bfin.c: Likewise.
        * elf32-cris.c: Likewise.
        * elf32-cris.c: Likewise.
        * elf32-hppa.c: Likewise.
        * elf32-hppa.c: Likewise.
        * elf32-i370.c: Likewise.
        * elf32-i370.c: Likewise.
        * elf32-i386.c: Likewise.
        * elf32-i386.c: Likewise.
        * elf32-iq2000.c: Likewise.
        * elf32-iq2000.c: Likewise.
        * elf32-m32r.c: Likewise.
        * elf32-m32r.c: Likewise.
        * elf32-m68hc11.c: Likewise.
        * elf32-m68hc11.c: Likewise.
        * elf32-m68hc12.c: Likewise.
        * elf32-m68hc12.c: Likewise.
        * elf32-m68k.c: Likewise.
        * elf32-m68k.c: Likewise.
        * elf32-mcore.c: Likewise.
        * elf32-mcore.c: Likewise.
        * elf32-ppc.c: Likewise.
        * elf32-ppc.c: Likewise.
        * elf32-s390.c: Likewise.
        * elf32-s390.c: Likewise.
        * elf32-sh-symbian.c: Likewise.
        * elf32-sh-symbian.c: Likewise.
        * elf32-sh.c: Likewise.
        * elf32-sh.c: Likewise.
        * elf32-sh64.c: Likewise.
        * elf32-sh64.c: Likewise.
        * elf32-v850.c: Likewise.
        * elf32-v850.c: Likewise.
        * elf32-vax.c: Likewise.
        * elf32-vax.c: Likewise.
        * elf32-xtensa.c: Likewise.
        * elf32-xtensa.c: Likewise.
        * elf64-alpha.c: Likewise.
        * elf64-alpha.c: Likewise.
        * elf64-hppa.c: Likewise.
        * elf64-hppa.c: Likewise.
        * elf64-mmix.c: Likewise.
        * elf64-mmix.c: Likewise.
        * elf64-ppc.c: Likewise.
        * elf64-ppc.c: Likewise.
        * elf64-s390.c: Likewise.
        * elf64-s390.c: Likewise.
        * elf64-sh64.c: Likewise.
        * elf64-sh64.c: Likewise.
        * elf64-x86-64.c: Likewise.
        * elf64-x86-64.c: Likewise.
        * elflink.c: Likewise.
        * elflink.c: Likewise.
        * elfxx-ia64.c: Likewise.
        * elfxx-ia64.c: Likewise.
        * elfxx-mips.c: Likewise.
        * elfxx-mips.c: Likewise.
        * elfxx-sparc.c: Likewise.
        * elfxx-sparc.c: Likewise.
        * hpux-core.c: Likewise.
        * hpux-core.c: Likewise.
        * i386linux.c: Likewise.
        * i386linux.c: Likewise.
        * ieee.c: Likewise.
        * ieee.c: Likewise.
        * libpei.h: Likewise.
        * libpei.h: Likewise.
        * linker.c: Likewise.
        * linker.c: Likewise.
        * m68klinux.c: Likewise.
        * m68klinux.c: Likewise.
        * mmo.c: Likewise.
        * mmo.c: Likewise.
        * nlmcode.h: Likewise.
        * nlmcode.h: Likewise.
        * osf-core.c: Likewise.
        * osf-core.c: Likewise.
        * pef.c: Likewise.
        * pef.c: Likewise.
        * som.c: Likewise.
        * som.c: Likewise.
        * sparclinux.c: Likewise.
        * sparclinux.c: Likewise.
        * vms-hdr.c: Likewise.
        * vms-hdr.c: Likewise.
2006-09-14  Alan Modra  
2006-09-14  Alan Modra  
        PR 3181
        PR 3181
        * elf.c (_bfd_elf_copy_private_header_data): Fix group members
        * elf.c (_bfd_elf_copy_private_header_data): Fix group members
        that have had their SHT_GROUP section removed.
        that have had their SHT_GROUP section removed.
2006-09-12  H.J. Lu  
2006-09-12  H.J. Lu  
        PR ld/3197
        PR ld/3197
        * elflink.c (elf_link_output_extsym): Compute bucket only if
        * elflink.c (elf_link_output_extsym): Compute bucket only if
        needed.
        needed.
2006-09-10  H.J. Lu  
2006-09-10  H.J. Lu  
        PR binutils/3186
        PR binutils/3186
        * elf.c (_bfd_elf_make_section_from_shdr): Correct length of
        * elf.c (_bfd_elf_make_section_from_shdr): Correct length of
        "gnu.linkonce.wi.".
        "gnu.linkonce.wi.".
2006-09-08  Vladimir Prus  
2006-09-08  Vladimir Prus  
        * elf32-arm.c (elf32_arm_swap_symbol_out): Remove
        * elf32-arm.c (elf32_arm_swap_symbol_out): Remove
        unconditional setting of low bit for Thumb symbol
        unconditional setting of low bit for Thumb symbol
        mistakenly left behind after check for external
        mistakenly left behind after check for external
        symbols was added.  Fix comment typo.
        symbols was added.  Fix comment typo.
2006-09-07  H.J. Lu  
2006-09-07  H.J. Lu  
        * elf-bfd.h (elf_link_hash_entry): Add a dynamic field.
        * elf-bfd.h (elf_link_hash_entry): Add a dynamic field.
        (bfd_elf_link_mark_dynamic_symbol): New.
        (bfd_elf_link_mark_dynamic_symbol): New.
        (SYMBOLIC_BIND): New.
        (SYMBOLIC_BIND): New.
        * elf32-i386.c (elf_i386_check_relocs): Replace info->symbolic
        * elf32-i386.c (elf_i386_check_relocs): Replace info->symbolic
        with SYMBOLIC_BIND (info, h).
        with SYMBOLIC_BIND (info, h).
        (elf_i386_relocate_section): Likewise.
        (elf_i386_relocate_section): Likewise.
        * elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.
        * elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.
        (elf64_x86_64_relocate_section): Likewise.
        (elf64_x86_64_relocate_section): Likewise.
        * elfxx-ia64.c (elfNN_ia64_check_relocs): Likewise.
        * elfxx-ia64.c (elfNN_ia64_check_relocs): Likewise.
        * elflink.c (bfd_elf_link_mark_dynamic_symbol): New.
        * elflink.c (bfd_elf_link_mark_dynamic_symbol): New.
        (bfd_elf_record_link_assignment): Call
        (bfd_elf_record_link_assignment): Call
        bfd_elf_link_mark_dynamic_symbol on new entry.
        bfd_elf_link_mark_dynamic_symbol on new entry.
        (_bfd_elf_merge_symbol): Likewise.
        (_bfd_elf_merge_symbol): Likewise.
        (_bfd_elf_export_symbol): Return if the symbol isn't exported.
        (_bfd_elf_export_symbol): Return if the symbol isn't exported.
        (_bfd_elf_fix_symbol_flags): Replace info->symbolic with
        (_bfd_elf_fix_symbol_flags): Replace info->symbolic with
        SYMBOLIC_BIND (info, h).
        SYMBOLIC_BIND (info, h).
        (_bfd_elf_dynamic_symbol_p): Likewise.
        (_bfd_elf_dynamic_symbol_p): Likewise.
        (_bfd_elf_symbol_refs_local_p): Likewise.
        (_bfd_elf_symbol_refs_local_p): Likewise.
        (bfd_elf_size_dynamic_sections): Updated.
        (bfd_elf_size_dynamic_sections): Updated.
2006-09-05  Bibo Mao  
2006-09-05  Bibo Mao  
        PR binutils/3171
        PR binutils/3171
        * coffcode.h (coff_write_object_contents): Set the optional
        * coffcode.h (coff_write_object_contents): Set the optional
        header magic number to PE32PMAGIC instead of ZMAGIC for ia64.
        header magic number to PE32PMAGIC instead of ZMAGIC for ia64.
2006-09-04  Mark Shinwell  
2006-09-04  Mark Shinwell  
        * elf32-arm.c (elf32_arm_howto_table_1): Adjust entries for
        * elf32-arm.c (elf32_arm_howto_table_1): Adjust entries for
        R_ARM_THM_ALU_PREL_11_0 and R_ARM_THM_PC12 relocations.
        R_ARM_THM_ALU_PREL_11_0 and R_ARM_THM_PC12 relocations.
        (elf32_arm_final_link_relocate): Handle R_ARM_THM_ALU_PREL_11_0
        (elf32_arm_final_link_relocate): Handle R_ARM_THM_ALU_PREL_11_0
        and R_ARM_THM_PC12 relocations.
        and R_ARM_THM_PC12 relocations.
2006-08-24  Bob Wilson  
2006-08-24  Bob Wilson  
        * elf32-xtensa.c (xtensa_get_property_section_name): Delete.
        * elf32-xtensa.c (xtensa_get_property_section_name): Delete.
        (xtensa_get_property_section): New.
        (xtensa_get_property_section): New.
        (xtensa_read_table_entries): Use xtensa_get_property_section.
        (xtensa_read_table_entries): Use xtensa_get_property_section.
        (relax_property_section, xtensa_get_property_predef_flags): Handle
        (relax_property_section, xtensa_get_property_predef_flags): Handle
        group name suffixes in property section names.
        group name suffixes in property section names.
        (match_section_group): New.
        (match_section_group): New.
2006-08-23  Frediano Ziglio  
2006-08-23  Frediano Ziglio  
        * archive.c (hpux_uid_gid_encode): Fix thinko decrementing "cnt"
        * archive.c (hpux_uid_gid_encode): Fix thinko decrementing "cnt"
        variable.
        variable.
2006-08-22  Daniel Jacobowitz  
2006-08-22  Daniel Jacobowitz  
        * elf32-arm.c (elf32_arm_copy_indirect_symbol): Only copy
        * elf32-arm.c (elf32_arm_copy_indirect_symbol): Only copy
        plt_thumb_refcount from indirect symbols.
        plt_thumb_refcount from indirect symbols.
2006-08-22  Alan Modra  
2006-08-22  Alan Modra  
        * elf32-ppc.c (ppc_elf_relocate_section): Correct GOT and PLT HA
        * elf32-ppc.c (ppc_elf_relocate_section): Correct GOT and PLT HA
        reloc handling.
        reloc handling.
        * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
        * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
2006-08-21  Mark Shinwell  
2006-08-21  Mark Shinwell  
        * elf32-arm.c (elf32_arm_link_hash_table): Correct typo in
        * elf32-arm.c (elf32_arm_link_hash_table): Correct typo in
        comment for target1_is_rel.
        comment for target1_is_rel.
2006-08-21  Pedro Alves  
2006-08-21  Pedro Alves  
        * Makefile.am: Add rules to build pe-arm-wince.lo
        * Makefile.am: Add rules to build pe-arm-wince.lo
        and pei-arm-wince.lo objects.
        and pei-arm-wince.lo objects.
        * Makefile.in: Regenerate.
        * Makefile.in: Regenerate.
        * pe-arm-wince.c: New file.
        * pe-arm-wince.c: New file.
        * pei-arm-wince.c: New file.
        * pei-arm-wince.c: New file.
        * pei-arm.c: Remove ARM_WINCE block.
        * pei-arm.c: Remove ARM_WINCE block.
        * pe-arm.c: Remove ARM_WINCE block. Rename
        * pe-arm.c: Remove ARM_WINCE block. Rename
        bfd_arm_pe_allocate_interworking_sections,
        bfd_arm_pe_allocate_interworking_sections,
        bfd_arm_pe_get_bfd_for_interworking, and
        bfd_arm_pe_get_bfd_for_interworking, and
        bfd_arm_pe_process_before_allocation to
        bfd_arm_pe_process_before_allocation to
        bfd_armpe_allocate_interworking_sections,
        bfd_armpe_allocate_interworking_sections,
        bfd_armpe_get_bfd_for_interworking, and
        bfd_armpe_get_bfd_for_interworking, and
        bfd_armpe_process_before_allocation. Move them before
        bfd_armpe_process_before_allocation. Move them before
        including bfd.h.
        including bfd.h.
        * bfd.c: ARM wince bfd format names were renamed. Adjust.
        * bfd.c: ARM wince bfd format names were renamed. Adjust.
        * coff-arm.c [ARM_WINCE]: Adjust so Windows CE doesn't end up
        * coff-arm.c [ARM_WINCE]: Adjust so Windows CE doesn't end up
        with unexpected/conflicting relocs.
        with unexpected/conflicting relocs.
        * targets.c: The arm-wince-pe target got its own new vector.
        * targets.c: The arm-wince-pe target got its own new vector.
        Adjust.
        Adjust.
        * config.bfd: Likewise.
        * config.bfd: Likewise.
        * configure.in: Likewise.
        * configure.in: Likewise.
        * configure: Regenerate.
        * configure: Regenerate.
2006-08-18  Paul Brook  
2006-08-18  Paul Brook  
        * elf32-arm.c (elf32_arm_link_hash_entry): Add export_glue.
        * elf32-arm.c (elf32_arm_link_hash_entry): Add export_glue.
        (elf32_arm_link_hash_newfunc): Initialize export_glue.
        (elf32_arm_link_hash_newfunc): Initialize export_glue.
        (record_arm_to_thumb_glue): Return stub symbol.
        (record_arm_to_thumb_glue): Return stub symbol.
        (elf32_arm_create_thumb_stub): New function.
        (elf32_arm_create_thumb_stub): New function.
        (elf32_arm_to_thumb_stub): Use it.
        (elf32_arm_to_thumb_stub): Use it.
        (elf32_arm_to_thumb_export_stub): New function.
        (elf32_arm_to_thumb_export_stub): New function.
        (elf32_arm_begin_write_processing): New function.
        (elf32_arm_begin_write_processing): New function.
        (allocate_dynrelocs): Allocate Arm stubs.
        (allocate_dynrelocs): Allocate Arm stubs.
        (elf_backend_begin_write_processing): Define.
        (elf_backend_begin_write_processing): Define.
        (elf32_arm_symbian_begin_write_processing): Remove ATTRIBUTE_UNUSED.
        (elf32_arm_symbian_begin_write_processing): Remove ATTRIBUTE_UNUSED.
        Call elf32_arm_begin_write_processing.
        Call elf32_arm_begin_write_processing.
2006-08-17  Alan Modra  
2006-08-17  Alan Modra  
        * elf64-ppc.c (create_linkage_sections): Align .glink to 8 bytes.
        * elf64-ppc.c (create_linkage_sections): Align .glink to 8 bytes.
        (ppc64_elf_build_stubs): Use new lazy linking stub.
        (ppc64_elf_build_stubs): Use new lazy linking stub.
2006-08-17  Alan Modra  
2006-08-17  Alan Modra  
        * elf64-ppc.c (ppc64_elf_size_stubs): Ignore non-code sections.
        * elf64-ppc.c (ppc64_elf_size_stubs): Ignore non-code sections.
2006-08-16  H.J. Lu  
2006-08-16  H.J. Lu  
        PR ld/3015
        PR ld/3015
        * elf.c (get_program_header_size): Add a PT_GNU_RELRO segment
        * elf.c (get_program_header_size): Add a PT_GNU_RELRO segment
        only if there is a PT_DYNAMIC segment.
        only if there is a PT_DYNAMIC segment.
        (_bfd_elf_map_sections_to_segments): Likewise.
        (_bfd_elf_map_sections_to_segments): Likewise.
        (assign_file_positions_for_load_sections): Set PT_GNU_RELRO
        (assign_file_positions_for_load_sections): Set PT_GNU_RELRO
        segment alignment to 1.
        segment alignment to 1.
2006-08-15  Thiemo Seufer  
2006-08-15  Thiemo Seufer  
            Nigel Stephens  
            Nigel Stephens  
        * elf32-mips.c, elf64-mips.c, elfn32-mips.c
        * elf32-mips.c, elf64-mips.c, elfn32-mips.c
        (elf_backend_merge_symbol_attribute): Define.
        (elf_backend_merge_symbol_attribute): Define.
        * elflink.c (elf_link_add_object_symbols): Merge only the ELF
        * elflink.c (elf_link_add_object_symbols): Merge only the ELF
        visibility flags.
        visibility flags.
        * elfxx-mips.c (_bfd_mips_elf_merge_symbol_attribute): New function.
        * elfxx-mips.c (_bfd_mips_elf_merge_symbol_attribute): New function.
2006-08-15  Thiemo Seufer  
2006-08-15  Thiemo Seufer  
            Nigel Stephens  
            Nigel Stephens  
            David Ung  
            David Ung  
        * config.bfd: Add configurations for mips*el-sde-elf* and
        * config.bfd: Add configurations for mips*el-sde-elf* and
        mips*-sde-elf*.
        mips*-sde-elf*.
2006-08-14  DJ Delorie  
2006-08-14  DJ Delorie  
        * elf-m10300.c (elf32_mn10300_link_hash_entry): Add value.
        * elf-m10300.c (elf32_mn10300_link_hash_entry): Add value.
        (elf32_mn10300_count_hash_table_entries): New.
        (elf32_mn10300_count_hash_table_entries): New.
        (elf32_mn10300_list_hash_table_entries): New.
        (elf32_mn10300_list_hash_table_entries): New.
        (sort_by_value): New.
        (sort_by_value): New.
        (mn10300_elf_relax_section): Don't skip data sections; restrict
        (mn10300_elf_relax_section): Don't skip data sections; restrict
        code-specific tests to code-specific areas so that potential
        code-specific tests to code-specific areas so that potential
        indirect calls can be detected.  Check for multiple local symbols
        indirect calls can be detected.  Check for multiple local symbols
        at the same address and merge their flags.
        at the same address and merge their flags.
        (elf32_mn10300_link_hash_newfunc): Initialize value.
        (elf32_mn10300_link_hash_newfunc): Initialize value.
2006-08-14  Thiemo Seufer  
2006-08-14  Thiemo Seufer  
        * elfxx-mips.c (_bfd_mips_elf_symbol_processing,
        * elfxx-mips.c (_bfd_mips_elf_symbol_processing,
        _bfd_mips_elf_add_symbol_hook): Don't try to place small common TLS
        _bfd_mips_elf_add_symbol_hook): Don't try to place small common TLS
        symbols in .scommon.
        symbols in .scommon.
2006-08-11  Thiemo Seufer  
2006-08-11  Thiemo Seufer  
        * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Set
        * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Set
        sh_entsize only when sgot was already initialized.
        sh_entsize only when sgot was already initialized.
2006-08-08  DJ Delorie  
2006-08-08  DJ Delorie  
        * elf32-sh.c (sh_elf_relax_section): Allow for branches across
        * elf32-sh.c (sh_elf_relax_section): Allow for branches across
        non-moving .align directives.  Preserve any DIR32 offset when
        non-moving .align directives.  Preserve any DIR32 offset when
        converting bsr's to jsr's.
        converting bsr's to jsr's.
2006-08-08  Alan Modra  
2006-08-08  Alan Modra  
        * elf64-ppc.c (ppc64_elf_build_stubs): Clear relbrlt reloc_count
        * elf64-ppc.c (ppc64_elf_build_stubs): Clear relbrlt reloc_count
        after stubs have been built.
        after stubs have been built.
2006-08-07  Nick Clifton  
2006-08-07  Nick Clifton  
        * elf32-sh.c (vxworks_object_p): Only check for vxworks target
        * elf32-sh.c (vxworks_object_p): Only check for vxworks target
        vectors if they are going to be created.
        vectors if they are going to be created.
2006-08-07  Nick Clifton  
2006-08-07  Nick Clifton  
        * configure.in (bfd_elf32_shnbsd_vec): Fix typo.
        * configure.in (bfd_elf32_shnbsd_vec): Fix typo.
        * configure: Regenerate.
        * configure: Regenerate.
2006-08-07  Nick Clifton  
2006-08-07  Nick Clifton  
        * coff-arm.c (coff_arm_rtype_to_howto): Only check for ARM_SECREL
        * coff-arm.c (coff_arm_rtype_to_howto): Only check for ARM_SECREL
        relocation types if the target is ARM_WINCE.
        relocation types if the target is ARM_WINCE.
2006-08-05  Pedro Alves  
2006-08-05  Pedro Alves  
        * bfd.c (bfd_get_sign_extend_vma): Add cases for pe-arm-little
        * bfd.c (bfd_get_sign_extend_vma): Add cases for pe-arm-little
        and pei-arm-little.
        and pei-arm-little.
        * coff-arm.c (coff_arm_rtype_to_howto) [COFF_WITH_PE]: Handle
        * coff-arm.c (coff_arm_rtype_to_howto) [COFF_WITH_PE]: Handle
        ARM_SECREL.
        ARM_SECREL.
        (coff_arm_reloc_type_lookup): Map BFD_RELOC_32_SECREL to
        (coff_arm_reloc_type_lookup): Map BFD_RELOC_32_SECREL to
        ARM_SECREL.
        ARM_SECREL.
        * pe-arm.c [COFF_SECTION_ALIGNMENT_ENTRIES]: Define.
        * pe-arm.c [COFF_SECTION_ALIGNMENT_ENTRIES]: Define.
        * pei-arm.c [TARGET_UNDERSCORE]: Define for ARM_WINCE like in
        * pei-arm.c [TARGET_UNDERSCORE]: Define for ARM_WINCE like in
        pe-arm.c.
        pe-arm.c.
        [COFF_SECTION_ALIGNMENT_ENTRIES]: Define.
        [COFF_SECTION_ALIGNMENT_ENTRIES]: Define.
2006-08-04  Marcelo Tosatti  
2006-08-04  Marcelo Tosatti  
        * elflink.c (elf_gc_sweep): If info.print_gc_sections is true,
        * elflink.c (elf_gc_sweep): If info.print_gc_sections is true,
        list removed sections to stderr.
        list removed sections to stderr.
2006-08-04  Richard Sandiford  
2006-08-04  Richard Sandiford  
            Kazu Hirata  
            Kazu Hirata  
            Phil Edwards  
            Phil Edwards  
            Nathan Sidwell  
            Nathan Sidwell  
        * config.bfd (sh-*-vxworks): Use bfd_elf32_shvxworks_vec and
        * config.bfd (sh-*-vxworks): Use bfd_elf32_shvxworks_vec and
        bfd_elf32_shlvxworks_vec.
        bfd_elf32_shlvxworks_vec.
        * configure.in (bfd_elf32_sh64_vec): Add elf-vxworks.lo.
        * configure.in (bfd_elf32_sh64_vec): Add elf-vxworks.lo.
        (bfd_elf32_sh64l_vec, bfd_elf32_sh64lin_vec): Likewise.
        (bfd_elf32_sh64l_vec, bfd_elf32_sh64lin_vec): Likewise.
        (bfd_elf32_sh64blin_vec, bfd_elf32_sh64lnbsd_vec): Likewise.
        (bfd_elf32_sh64blin_vec, bfd_elf32_sh64lnbsd_vec): Likewise.
        (bfd_elf32_sh64nbsd_vec, bfd_elf32_sh_vec): Likewise.
        (bfd_elf32_sh64nbsd_vec, bfd_elf32_sh_vec): Likewise.
        (bfd_elf32_shblin_vec, bfd_elf32_shl_vec): Likewise.
        (bfd_elf32_shblin_vec, bfd_elf32_shl_vec): Likewise.
        (bfd_elf32_shl_symbian_vec, bfd_elf32_shlin_vec): Likewise.
        (bfd_elf32_shl_symbian_vec, bfd_elf32_shlin_vec): Likewise.
        (bfd_elf32_shlnbsd_vec, bfd_elf32_shnbsd_vec): Likewise.
        (bfd_elf32_shlnbsd_vec, bfd_elf32_shnbsd_vec): Likewise.
        (bfd_elf32_shlvxworks_vec, bfd_elf32_shvxworks_vec): New stanzas.
        (bfd_elf32_shlvxworks_vec, bfd_elf32_shvxworks_vec): New stanzas.
        * configure: Regenerate.
        * configure: Regenerate.
        * Makefile.am: Regenerate dependencies.
        * Makefile.am: Regenerate dependencies.
        * Makefile.in: Regenerate.
        * Makefile.in: Regenerate.
        * elf-vxworks.c (elf_vxworks_gott_symbol_p): New function.
        * elf-vxworks.c (elf_vxworks_gott_symbol_p): New function.
        (elf_vxworks_add_symbol_hook): Use it.
        (elf_vxworks_add_symbol_hook): Use it.
        (elf_vxworks_link_output_symbol_hook): Likewise.  Use the hash
        (elf_vxworks_link_output_symbol_hook): Likewise.  Use the hash
        table entry to check for weak undefined symbols and to obtain
        table entry to check for weak undefined symbols and to obtain
        the original bfd.
        the original bfd.
        (elf_vxworks_emit_relocs): Use target_index instead of this_idx.
        (elf_vxworks_emit_relocs): Use target_index instead of this_idx.
        * elf32-sh-relocs.h: New file, split from elf32-sh.c.
        * elf32-sh-relocs.h: New file, split from elf32-sh.c.
        (R_SH_DIR32): Use SH_PARTIAL32 for the partial_inplace field,
        (R_SH_DIR32): Use SH_PARTIAL32 for the partial_inplace field,
        SH_SRC_MASK32 for the src_mask field, and SH_ELF_RELOC for the
        SH_SRC_MASK32 for the src_mask field, and SH_ELF_RELOC for the
        special_function field.
        special_function field.
        (R_SH_REL32): Use SH_PARTIAL32 and SH_SRC_MASK32 here too.
        (R_SH_REL32): Use SH_PARTIAL32 and SH_SRC_MASK32 here too.
        (R_SH_REL32, R_SH_TLS_GD_32, R_SH_TLS_LD_32): Likewise.
        (R_SH_REL32, R_SH_TLS_GD_32, R_SH_TLS_LD_32): Likewise.
        (R_SH_TLS_LDO_32, R_SH_TLS_IE_32, R_SH_TLS_LE_32): Likewise.
        (R_SH_TLS_LDO_32, R_SH_TLS_IE_32, R_SH_TLS_LE_32): Likewise.
        (R_SH_TLS_DTPMOD32, R_SH_TLS_DTPOFF32, R_SH_TLS_TPOFF32): Likewise.
        (R_SH_TLS_DTPMOD32, R_SH_TLS_DTPOFF32, R_SH_TLS_TPOFF32): Likewise.
        (R_SH_GOT32, R_SH_PLT32, R_SH_COPY, R_SH_GLOB_DAT): Likewise.
        (R_SH_GOT32, R_SH_PLT32, R_SH_COPY, R_SH_GLOB_DAT): Likewise.
        (R_SH_JMP_SLOT, R_SH_RELATIVE, R_SH_GOTOFF, R_SH_GOTPC): Likewise.
        (R_SH_JMP_SLOT, R_SH_RELATIVE, R_SH_GOTOFF, R_SH_GOTPC): Likewise.
        (SH_PARTIAL32, SH_SRC_MASK32, SH_ELF_RELOC): Undefine at end of file.
        (SH_PARTIAL32, SH_SRC_MASK32, SH_ELF_RELOC): Undefine at end of file.
        * elf32-sh.c: Include elf32-vxworks.h.
        * elf32-sh.c: Include elf32-vxworks.h.
        (MINUS_ONE): Define.
        (MINUS_ONE): Define.
        (sh_elf_howto_table): Include elf32-sh-relocs.h with SH_PARTIAL32
        (sh_elf_howto_table): Include elf32-sh-relocs.h with SH_PARTIAL32
        set to TRUE, SH_SRC_MASK32 set to 0xffffffff, and SH_ELF_RELOC set
        set to TRUE, SH_SRC_MASK32 set to 0xffffffff, and SH_ELF_RELOC set
        to sh_elf_reloc.
        to sh_elf_reloc.
        (sh_vxworks_howto_table): New variable.  Include elf32-sh-relocs.h
        (sh_vxworks_howto_table): New variable.  Include elf32-sh-relocs.h
        with SH_PARTIAL32 set to FALSE, SH_SRC_MASK32 set to 0, and
        with SH_PARTIAL32 set to FALSE, SH_SRC_MASK32 set to 0, and
        SH_ELF_RELOC set to bfd_elf_generic_reloc.
        SH_ELF_RELOC set to bfd_elf_generic_reloc.
        (vxworks_object_p, get_howto_table): New functions.
        (vxworks_object_p, get_howto_table): New functions.
        (sh_elf_reloc_type_lookup): Fix typo.  Use get_howto_table.
        (sh_elf_reloc_type_lookup): Fix typo.  Use get_howto_table.
        (sh_elf_info_to_howto): Use get_howto_table.
        (sh_elf_info_to_howto): Use get_howto_table.
        (sh_elf_relax_section): Honor the partial_inplace field of the
        (sh_elf_relax_section): Honor the partial_inplace field of the
        R_SH_DIR32 howto.
        R_SH_DIR32 howto.
        (sh_elf_relax_delete_bytes): Likewise.
        (sh_elf_relax_delete_bytes): Likewise.
        (elf_sh_plt_info): New structure.
        (elf_sh_plt_info): New structure.
        (PLT_ENTRY_SIZE): Replace both definitions with...
        (PLT_ENTRY_SIZE): Replace both definitions with...
        (ELF_PLT_ENTRY_SIZE): ...this new macro, with separate definitions for
        (ELF_PLT_ENTRY_SIZE): ...this new macro, with separate definitions for
        INCLUDE_SHMEDIA and !INCLUDE_SHMEDIA.
        INCLUDE_SHMEDIA and !INCLUDE_SHMEDIA.
        (elf_sh_plt0_entry_be): Update sizes of both definitions accordingly.
        (elf_sh_plt0_entry_be): Update sizes of both definitions accordingly.
        (elf_sh_plt0_entry_le): Likewise.
        (elf_sh_plt0_entry_le): Likewise.
        (elf_sh_plt_entry_be, elf_sh_plt_entry_le): Likewise.
        (elf_sh_plt_entry_be, elf_sh_plt_entry_le): Likewise.
        (elf_sh_pic_plt_entry_be, elf_sh_pic_plt_entry_le): Likewise.
        (elf_sh_pic_plt_entry_be, elf_sh_pic_plt_entry_le): Likewise.
        (elf_sh_plts): New structure, with separate definitions for
        (elf_sh_plts): New structure, with separate definitions for
        INCLUDE_SHMEDIA and !INCLUDE_SHMEDIA.
        INCLUDE_SHMEDIA and !INCLUDE_SHMEDIA.
        (elf_sh_plt0_entry): Delete both definitions.
        (elf_sh_plt0_entry): Delete both definitions.
        (elf_sh_plt_entry, elf_sh_pic_plt_entry): Likewise.
        (elf_sh_plt_entry, elf_sh_pic_plt_entry): Likewise.
        (elf_sh_sizeof_plt, elf_sh_plt_plt0_offset): Likewise.
        (elf_sh_sizeof_plt, elf_sh_plt_plt0_offset): Likewise.
        (elf_sh_plt_temp_offset, elf_sh_plt_symbol_offset): Likewise.
        (elf_sh_plt_temp_offset, elf_sh_plt_symbol_offset): Likewise.
        (elf_sh_plt_reloc_offset): Likewise.
        (elf_sh_plt_reloc_offset): Likewise.
        (movi_shori_putval): Delete in favor of...
        (movi_shori_putval): Delete in favor of...
        (install_plt_field): ...this new function, with separate definitions
        (install_plt_field): ...this new function, with separate definitions
        for INCLUDE_SHMEDIA and !INCLUDE_SHMEDIA.
        for INCLUDE_SHMEDIA and !INCLUDE_SHMEDIA.
        (get_plt_info): New function, with separate definitions
        (get_plt_info): New function, with separate definitions
        for INCLUDE_SHMEDIA and !INCLUDE_SHMEDIA.
        for INCLUDE_SHMEDIA and !INCLUDE_SHMEDIA.
        (elf_sh_plt0_linker_offset, elf_sh_plt0_gotid_offset): Delete.
        (elf_sh_plt0_linker_offset, elf_sh_plt0_gotid_offset): Delete.
        (VXWORKS_PLT_HEADER_SIZE, VXWORKS_PLT_ENTRY_SIZE): New macros.
        (VXWORKS_PLT_HEADER_SIZE, VXWORKS_PLT_ENTRY_SIZE): New macros.
        (vxworks_sh_plt0_entry_be, vxworks_sh_plt0_entry_le): New constants.
        (vxworks_sh_plt0_entry_be, vxworks_sh_plt0_entry_le): New constants.
        (vxworks_sh_plt_entry_be, vxworks_sh_plt_entry_le): Likewise.
        (vxworks_sh_plt_entry_be, vxworks_sh_plt_entry_le): Likewise.
        (vxworks_sh_pic_plt_entry_be, vxworks_sh_pic_plt_entry_le): Likewise.
        (vxworks_sh_pic_plt_entry_be, vxworks_sh_pic_plt_entry_le): Likewise.
        (get_plt_index, get_plt_offset): New functions.
        (get_plt_index, get_plt_offset): New functions.
        (elf_sh_link_hash_table): Add srelplt2, plt_info and vxworks_p fields.
        (elf_sh_link_hash_table): Add srelplt2, plt_info and vxworks_p fields.
        (sh_elf_link_hash_table_create): Initialize them.
        (sh_elf_link_hash_table_create): Initialize them.
        (sh_elf_create_dynamic_sections): Call
        (sh_elf_create_dynamic_sections): Call
        elf_vxworks_create_dynamic_sections for VxWorks.
        elf_vxworks_create_dynamic_sections for VxWorks.
        (allocate_dynrelocs): Use htab->plt_info to get the size of PLT
        (allocate_dynrelocs): Use htab->plt_info to get the size of PLT
        entries.  Allocate relocation entries in .rela.plt.unloaded if
        entries.  Allocate relocation entries in .rela.plt.unloaded if
        generating a VxWorks executable.
        generating a VxWorks executable.
        (sh_elf_always_size_sections): New function.
        (sh_elf_always_size_sections): New function.
        (sh_elf_size_dynamic_sections): Extend .rela.plt handling to
        (sh_elf_size_dynamic_sections): Extend .rela.plt handling to
        .rela.plt.unloaded.
        .rela.plt.unloaded.
        (sh_elf_relocate_section): Use get_howto_table.  Honor
        (sh_elf_relocate_section): Use get_howto_table.  Honor
        partial_inplace when calculating the addend for dynamic
        partial_inplace when calculating the addend for dynamic
        relocations.  Use get_plt_index.
        relocations.  Use get_plt_index.
        (sh_elf_finish_dynamic_symbol): Use get_plt_index, install_plt_field
        (sh_elf_finish_dynamic_symbol): Use get_plt_index, install_plt_field
        and htab->plt_info.  Fill in the bra .plt offset for VxWorks
        and htab->plt_info.  Fill in the bra .plt offset for VxWorks
        executables.  Populate .rela.plt.unloaded.  Do not make
        executables.  Populate .rela.plt.unloaded.  Do not make
        _GLOBAL_OFFSET_TABLE_ absolute on VxWorks.
        _GLOBAL_OFFSET_TABLE_ absolute on VxWorks.
        (sh_elf_finish_dynamic_sections): Use install_plt_field and
        (sh_elf_finish_dynamic_sections): Use install_plt_field and
        htab->plt_info.  Handle cases where there is no special PLT header.
        htab->plt_info.  Handle cases where there is no special PLT header.
        Populate the first relocation in .rela.plt.unloaded and fix up
        Populate the first relocation in .rela.plt.unloaded and fix up
        the remaining entries.
        the remaining entries.
        (sh_elf_plt_sym_val): Use get_plt_info.
        (sh_elf_plt_sym_val): Use get_plt_info.
        (elf_backend_always_size_sections): Define.
        (elf_backend_always_size_sections): Define.
        (TARGET_BIG_SYM, TARGET_BIG_NAME): Override for VxWorks.
        (TARGET_BIG_SYM, TARGET_BIG_NAME): Override for VxWorks.
        (TARGET_LITTLE_SYM, TARGET_BIG_SYM): Likewise.
        (TARGET_LITTLE_SYM, TARGET_BIG_SYM): Likewise.
        (elf32_bed, elf_backend_want_plt_sym): Likewise.
        (elf32_bed, elf_backend_want_plt_sym): Likewise.
        (elf_symbol_leading_char, elf_backend_want_got_underscore): Likewise.
        (elf_symbol_leading_char, elf_backend_want_got_underscore): Likewise.
        (elf_backend_grok_prstatus, elf_backend_grok_psinfo): Likewise.
        (elf_backend_grok_prstatus, elf_backend_grok_psinfo): Likewise.
        (elf_backend_add_symbol_hook): Likewise.
        (elf_backend_add_symbol_hook): Likewise.
        (elf_backend_link_output_symbol_hook): Likewise.
        (elf_backend_link_output_symbol_hook): Likewise.
        (elf_backend_emit_relocs): Likewise.
        (elf_backend_emit_relocs): Likewise.
        (elf_backend_final_write_processing): Likewise.
        (elf_backend_final_write_processing): Likewise.
        (ELF_MAXPAGESIZE, ELF_COMMONPAGESIZE): Likewise.
        (ELF_MAXPAGESIZE, ELF_COMMONPAGESIZE): Likewise.
        * targets.c (bfd_elf32_shlvxworks_vec): Declare.
        * targets.c (bfd_elf32_shlvxworks_vec): Declare.
        (bfd_elf32_shvxworks_vec): Likewise.
        (bfd_elf32_shvxworks_vec): Likewise.
        (_bfd_target_vector): Include bfd_elf32_shlvxworks_vec and
        (_bfd_target_vector): Include bfd_elf32_shlvxworks_vec and
        bfd_elf32_shvxworks_vec.
        bfd_elf32_shvxworks_vec.
2006-08-02  Mark Kettenis  
2006-08-02  Mark Kettenis  
        * configure.in (arm-*-openbsd*): Set COREFILE to netbsd-core.lo.
        * configure.in (arm-*-openbsd*): Set COREFILE to netbsd-core.lo.
        * configure: Regenerate.
        * configure: Regenerate.
2006-08-02  Petr Salinger  
2006-08-02  Petr Salinger  
        PR binutils/2983
        PR binutils/2983
        * elf64-x86-64.c: Add FreeBSD support.
        * elf64-x86-64.c: Add FreeBSD support.
        (elf64_x86_64_fbsd_post_process_headers): New function.
        (elf64_x86_64_fbsd_post_process_headers): New function.
        * targets.c (_bfd_target_vector): Add bfd_elf64_x86_64_freebsd_vec.
        * targets.c (_bfd_target_vector): Add bfd_elf64_x86_64_freebsd_vec.
        * config.bfd (x64_64-*-freebsd*): Add bfd_elf64_x86_64_freebsd_vec
        * config.bfd (x64_64-*-freebsd*): Add bfd_elf64_x86_64_freebsd_vec
        to the targ_selvecs.
        to the targ_selvecs.
        * configure.in: Add entry for bfd_elf64_x86_64_freebsd_vec.
        * configure.in: Add entry for bfd_elf64_x86_64_freebsd_vec.
        * configure: Regenerate.
        * configure: Regenerate.
2006-07-26  Andreas Schwab  
2006-07-26  Andreas Schwab  
        * elfxx-ia64.c (elfNN_ia64_choose_gp): Use rawsize if set.
        * elfxx-ia64.c (elfNN_ia64_choose_gp): Use rawsize if set.
2006-07-26  Alan Modra  
2006-07-26  Alan Modra  
        * elf.c (elf_modify_segment_map): Delete empty PT_LOAD segments.
        * elf.c (elf_modify_segment_map): Delete empty PT_LOAD segments.
        * elf32-xtensa.c (elf_xtensa_modify_segment_map): Delete.
        * elf32-xtensa.c (elf_xtensa_modify_segment_map): Delete.
        (define elf_backend_modify_segment_map): Don't define.
        (define elf_backend_modify_segment_map): Don't define.
2006-07-25  Thiemo Seufer  
2006-07-25  Thiemo Seufer  
        * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Allow
        * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Allow
        linking of objects for compatible machine types.
        linking of objects for compatible machine types.
2006-07-25  Thiemo Seufer  
2006-07-25  Thiemo Seufer  
        * elfxx-mips.c (mips_elf_next_relocation): Tighten check to test
        * elfxx-mips.c (mips_elf_next_relocation): Tighten check to test
        also for same symbol.
        also for same symbol.
2006-07-25  Thiemo Seufer  
2006-07-25  Thiemo Seufer  
        * elfxx-mips.c (mips_elf_calculate_relocation): Remove magic constant.
        * elfxx-mips.c (mips_elf_calculate_relocation): Remove magic constant.
2006-07-24  Michael Wetherell  
2006-07-24  Michael Wetherell  
        * elf.c (bfd_section_from_shdr): Reject unrecognised OS-specific
        * elf.c (bfd_section_from_shdr): Reject unrecognised OS-specific
        sections only if the SHF_OS_NONCONFORMING flag is present.
        sections only if the SHF_OS_NONCONFORMING flag is present.
2006-07-24  Nick Clifton  
2006-07-24  Nick Clifton  
        PR ld/2729
        PR ld/2729
        * peXXigen.c (_bfd_XXi_final_link_postscript): Check for the
        * peXXigen.c (_bfd_XXi_final_link_postscript): Check for the
        existance of output sections before putting their entries into the
        existance of output sections before putting their entries into the
        DataDictionary.
        DataDictionary.
2006-07-20  Thiemo Seufer  
2006-07-20  Thiemo Seufer  
        * elf32-mips.c (mips16_jump_reloc): Remove function.
        * elf32-mips.c (mips16_jump_reloc): Remove function.
        (elf_mips16_howto_table_rel): Use _bfd_mips_elf_generic_reloc
        (elf_mips16_howto_table_rel): Use _bfd_mips_elf_generic_reloc
        instead of mips16_jump_reloc.
        instead of mips16_jump_reloc.
        * elf64_mips.c, wlfn32-mips.c (mips16_jump_reloc): Remove function.
        * elf64_mips.c, wlfn32-mips.c (mips16_jump_reloc): Remove function.
        (elf_mips16_howto_table_rel, elf_mips16_howto_table_rela): Use
        (elf_mips16_howto_table_rel, elf_mips16_howto_table_rela): Use
        _bfd_mips_elf_generic_reloc instead of mips16_jump_reloc.
        _bfd_mips_elf_generic_reloc instead of mips16_jump_reloc.
2006-07-19  Alan Modra  
2006-07-19  Alan Modra  
        * bfd-in.h (enum notice_asneeded_action): Define.
        * bfd-in.h (enum notice_asneeded_action): Define.
        * bfd-in2.h: Regenerate.
        * bfd-in2.h: Regenerate.
        * elflink.c (elf_link_add_object_symbols): Call linker "notice"
        * elflink.c (elf_link_add_object_symbols): Call linker "notice"
        function with NULL name for as-needed handling.
        function with NULL name for as-needed handling.
2006-07-18  Paul Brook  
2006-07-18  Paul Brook  
        * bfd-in2.h: Regenerate.
        * bfd-in2.h: Regenerate.
        * libbfd.h: Regenerate.
        * libbfd.h: Regenerate.
        * reloc.c: Add BFD_RELOC_ARM_T32_ADD_IMM.
        * reloc.c: Add BFD_RELOC_ARM_T32_ADD_IMM.
2006-07-18  Nick Clifton  
2006-07-18  Nick Clifton  
        * elfxx-mips.c (_bfd_mips_elf_common_definition): New function.
        * elfxx-mips.c (_bfd_mips_elf_common_definition): New function.
        Consider SHN_MIPS_ACOMMON and SHN_MIPS_SCOMMON as being common
        Consider SHN_MIPS_ACOMMON and SHN_MIPS_SCOMMON as being common
        sections.
        sections.
        * elfxx-mips.h  (_bfd_mips_elf_common_definition): Prototype.
        * elfxx-mips.h  (_bfd_mips_elf_common_definition): Prototype.
2006-07-14  Jakub Jelinek  
2006-07-14  Jakub Jelinek  
        * elflink.c (bfd_elf_size_dynsym_hash_dynstr): Fix cinfo.shift2 value.
        * elflink.c (bfd_elf_size_dynsym_hash_dynstr): Fix cinfo.shift2 value.
2006-07-14  Mark Kettenis  
2006-07-14  Mark Kettenis  
        * elflink.c (bfd_elf_size_dynsym_hash_dynstr): Move declarations
        * elflink.c (bfd_elf_size_dynsym_hash_dynstr): Move declarations
        to the start of a block.
        to the start of a block.
2006-07-13  Nick Clifton  
2006-07-13  Nick Clifton  
        * coff-sh.c (_bfd_sh_align_load_span): Catch sh_insn_info()
        * coff-sh.c (_bfd_sh_align_load_span): Catch sh_insn_info()
        returning a NULL value.
        returning a NULL value.
2006-07-12  H.J. Lu  
2006-07-12  H.J. Lu  
        PR ld/2884
        PR ld/2884
        * elflink.c (_bfd_elf_merge_symbol): Copy the symbol info from
        * elflink.c (_bfd_elf_merge_symbol): Copy the symbol info from
        the old versioned dynamic definition to the new one with
        the old versioned dynamic definition to the new one with
        non-default visibility.  Hide the symbol if it is hidden or
        non-default visibility.  Hide the symbol if it is hidden or
        internal.
        internal.
2006-07-12  Matthew R. Dempsky  
2006-07-12  Matthew R. Dempsky  
        * cpu-m68k.c (bfd_m68k_compatible): Handle CPU32.
        * cpu-m68k.c (bfd_m68k_compatible): Handle CPU32.
2006-07-10  Jakub Jelinek  
2006-07-10  Jakub Jelinek  
        * elf.c (_bfd_elf_print_private_bfd_data): Handle DT_GNU_HASH.
        * elf.c (_bfd_elf_print_private_bfd_data): Handle DT_GNU_HASH.
        (bfd_section_from_shdr, elf_fake_sections, assign_section_numbers):
        (bfd_section_from_shdr, elf_fake_sections, assign_section_numbers):
        Handle SHT_GNU_HASH.
        Handle SHT_GNU_HASH.
        (special_sections_g): Include .gnu.hash section.
        (special_sections_g): Include .gnu.hash section.
        (bfd_elf_gnu_hash): New function.
        (bfd_elf_gnu_hash): New function.
        * elf-bfd.h (bfd_elf_gnu_hash, _bfd_elf_hash_symbol): New prototypes.
        * elf-bfd.h (bfd_elf_gnu_hash, _bfd_elf_hash_symbol): New prototypes.
        (struct elf_backend_data): Add elf_hash_symbol method.
        (struct elf_backend_data): Add elf_hash_symbol method.
        * elflink.c (_bfd_elf_link_create_dynamic_sections): Create .hash
        * elflink.c (_bfd_elf_link_create_dynamic_sections): Create .hash
        only if info->emit_hash, create .gnu.hash section if
        only if info->emit_hash, create .gnu.hash section if
        info->emit_gnu_hash.
        info->emit_gnu_hash.
        (struct collect_gnu_hash_codes): New type.
        (struct collect_gnu_hash_codes): New type.
        (elf_collect_gnu_hash_codes, elf_renumber_gnu_hash_syms,
        (elf_collect_gnu_hash_codes, elf_renumber_gnu_hash_syms,
        _bfd_elf_hash_symbol): New functions.
        _bfd_elf_hash_symbol): New functions.
        (compute_bucket_count): Don't compute HASHCODES array, instead add
        (compute_bucket_count): Don't compute HASHCODES array, instead add
        that and NSYMS as arguments.  Use bed->s->sizeof_hash_entry
        that and NSYMS as arguments.  Use bed->s->sizeof_hash_entry
        instead of bed->s->arch_size / 8.  Fix .hash size estimation.
        instead of bed->s->arch_size / 8.  Fix .hash size estimation.
        When not optimizing, use the number of hashed symbols rather than
        When not optimizing, use the number of hashed symbols rather than
        dynsymcount.
        dynsymcount.
        (bfd_elf_size_dynamic_sections): Only add DT_HASH if info->emit_hash,
        (bfd_elf_size_dynamic_sections): Only add DT_HASH if info->emit_hash,
        and ADD DT_GNU_HASH if info->emit_gnu_hash.
        and ADD DT_GNU_HASH if info->emit_gnu_hash.
        (bfd_elf_size_dynsym_hash_dynstr): Size .hash only if info->emit_hash,
        (bfd_elf_size_dynsym_hash_dynstr): Size .hash only if info->emit_hash,
        adjust compute_bucket_count caller.  Create and populate .gnu.hash
        adjust compute_bucket_count caller.  Create and populate .gnu.hash
        section if info->emit_gnu_hash.
        section if info->emit_gnu_hash.
        (elf_link_output_extsym): Only populate .hash section if
        (elf_link_output_extsym): Only populate .hash section if
        finfo->hash_sec != NULL.
        finfo->hash_sec != NULL.
        (bfd_elf_final_link): Adjust assertion.  Handle DT_GNU_HASH.
        (bfd_elf_final_link): Adjust assertion.  Handle DT_GNU_HASH.
        * elfxx-target.h (elf_backend_hash_symbol): Define if not yet defined.
        * elfxx-target.h (elf_backend_hash_symbol): Define if not yet defined.
        (elfNN_bed): Add elf_backend_hash_symbol.
        (elfNN_bed): Add elf_backend_hash_symbol.
        * elf64-x86-64.c (elf64_x86_64_hash_symbol): New function.
        * elf64-x86-64.c (elf64_x86_64_hash_symbol): New function.
        (elf_backend_hash_symbol): Define.
        (elf_backend_hash_symbol): Define.
        * elf32-i386.c (elf_i386_hash_symbol): New function.
        * elf32-i386.c (elf_i386_hash_symbol): New function.
        (elf_backend_hash_symbol): Define.
        (elf_backend_hash_symbol): Define.
2006-07-05  Nick Clifton  
2006-07-05  Nick Clifton  
        PR ld/2659
        PR ld/2659
        * cofflink.c (_bfd_coff_link_input_bfd): Fix selection of aux
        * cofflink.c (_bfd_coff_link_input_bfd): Fix selection of aux
        entry when multiple definitions of a symbol are encountered.
        entry when multiple definitions of a symbol are encountered.
2006-06-30  H.J. Lu  
2006-06-30  H.J. Lu  
        * elf32-i386.c (elf_i386_relocate_section): Use xchg %ax,%ax
        * elf32-i386.c (elf_i386_relocate_section): Use xchg %ax,%ax
        instead of 2 nops.
        instead of 2 nops.
        * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
        * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
        (elf64_x86_64_plt0_entry): Use nopl 0(%rax) instead of 4 nops.
        (elf64_x86_64_plt0_entry): Use nopl 0(%rax) instead of 4 nops.
2006-06-29  Jakub Jelinek  
2006-06-29  Jakub Jelinek  
        PR ld/2513
        PR ld/2513
        * elf32-i386.c (GOT_TLS_MASK, GOT_TLS_IE_IE, GOT_TLS_IE_GD,
        * elf32-i386.c (GOT_TLS_MASK, GOT_TLS_IE_IE, GOT_TLS_IE_GD,
        GOT_TLS_IE_MASK, elf_i386_check_relocs, allocate_dynrelocs): Revert
        GOT_TLS_IE_MASK, elf_i386_check_relocs, allocate_dynrelocs): Revert
        2006-04-08 changes.
        2006-04-08 changes.
        (elf_i386_relocate_section): Likewise.  For GD->IE transition
        (elf_i386_relocate_section): Likewise.  For GD->IE transition
        change subl into addl whenever tls_type is GOT_TLS_IE_POS.
        change subl into addl whenever tls_type is GOT_TLS_IE_POS.
2006-06-23  Alan Modra  
2006-06-23  Alan Modra  
        PR ld/2754
        PR ld/2754
        * elf.c (bfd_elf_mkobject): Don't alloc if already done.  Set
        * elf.c (bfd_elf_mkobject): Don't alloc if already done.  Set
        program_header_size to -1.
        program_header_size to -1.
        (_bfd_elf_map_sections_to_segments): Adjust program_header_size check.
        (_bfd_elf_map_sections_to_segments): Adjust program_header_size check.
        (assign_file_positions_for_load_sections ): Likewise.
        (assign_file_positions_for_load_sections ): Likewise.
        (_bfd_elf_sizeof_headers): Use saved program_header_size if
        (_bfd_elf_sizeof_headers): Use saved program_header_size if
        available.
        available.
        * elf32-arm.c (elf32_arm_mkobject): Call bfd_elf_mkobject, don't
        * elf32-arm.c (elf32_arm_mkobject): Call bfd_elf_mkobject, don't
        alloc if already done.
        alloc if already done.
        * elf32-i386.c (elf_i386_mkobject): Likewise.
        * elf32-i386.c (elf_i386_mkobject): Likewise.
        * elf32-ppc.c (ppc_elf_mkobject): Likewise.
        * elf32-ppc.c (ppc_elf_mkobject): Likewise.
        * elf32-s390.c (elf_s390_mkobject): Likewise.
        * elf32-s390.c (elf_s390_mkobject): Likewise.
        * elf32-sh.c (sh_elf_mkobject): Likewise.
        * elf32-sh.c (sh_elf_mkobject): Likewise.
        * elf64-alpha.c (elf64_alpha_mkobject): Likewise.
        * elf64-alpha.c (elf64_alpha_mkobject): Likewise.
        * elf64-ppc.c (ppc64_elf_mkobject): Likewise.
        * elf64-ppc.c (ppc64_elf_mkobject): Likewise.
        * elf64-s390.c (elf_s390_mkobject): Likewise.
        * elf64-s390.c (elf_s390_mkobject): Likewise.
        * elf64-x86-64.c (elf64_x86_64_mkobject): Likewise.
        * elf64-x86-64.c (elf64_x86_64_mkobject): Likewise.
        * elfxx-sparc.c (_bfd_sparc_elf_mkobject): Likewise.
        * elfxx-sparc.c (_bfd_sparc_elf_mkobject): Likewise.
2006-06-20  Jakub Jelinek  
2006-06-20  Jakub Jelinek  
        * elflink.c (elf_link_add_object_symbols): Don't create .tcommon
        * elflink.c (elf_link_add_object_symbols): Don't create .tcommon
        section for relocatable link.
        section for relocatable link.
2006-06-21  Alan Modra  
2006-06-21  Alan Modra  
        * elf-bfd.h (struct elf_backend_data): Add
        * elf-bfd.h (struct elf_backend_data): Add
        elf_backend_modify_program_headers.
        elf_backend_modify_program_headers.
        * elfxx-target.h (elf_backend_modify_program_headers): Define.
        * elfxx-target.h (elf_backend_modify_program_headers): Define.
        (elfNN_bed): Init new field.
        (elfNN_bed): Init new field.
        * elf.c (elf_modify_segment_map): Remove comment.
        * elf.c (elf_modify_segment_map): Remove comment.
        (assign_file_positions_for_load_sections): Only call
        (assign_file_positions_for_load_sections): Only call
        elf_modify_segment_map for objcopy/strip.
        elf_modify_segment_map for objcopy/strip.
        (assign_file_positions_except_relocs): Call
        (assign_file_positions_except_relocs): Call
        elf_backend_modify_program_headers.
        elf_backend_modify_program_headers.
        * elf32-frv.c (elf32_frvfdpic_always_size_sections): Don't make
        * elf32-frv.c (elf32_frvfdpic_always_size_sections): Don't make
        .stack section.
        .stack section.
        (elf32_frvfdpic_modify_segment_map): Delete.
        (elf32_frvfdpic_modify_segment_map): Delete.
        (elf32_frvfdpic_modify_program_headers): New.
        (elf32_frvfdpic_modify_program_headers): New.
        (elf_backend_modify_segment_map): Don't define.
        (elf_backend_modify_segment_map): Don't define.
        (elf_backend_modify_program_headers): Define.
        (elf_backend_modify_program_headers): Define.
        * elf32-bfin.c (elf32_bfinfdpic_always_size_sections): Don't make
        * elf32-bfin.c (elf32_bfinfdpic_always_size_sections): Don't make
        .stack section.
        .stack section.
        (elf32_bfinfdpic_modify_segment_map): Delete.
        (elf32_bfinfdpic_modify_segment_map): Delete.
        (elf32_bfinfdpic_modify_program_headers): New.
        (elf32_bfinfdpic_modify_program_headers): New.
        (elf_backend_modify_segment_map): Don't define.
        (elf_backend_modify_segment_map): Don't define.
        (elf_backend_modify_program_headers): Define.
        (elf_backend_modify_program_headers): Define.
        * elfxx-ia64.c (elfNN_ia64_modify_program_headers): New function.
        * elfxx-ia64.c (elfNN_ia64_modify_program_headers): New function.
        Split out from..
        Split out from..
        (elfNN_ia64_modify_segment_map): ..here.
        (elfNN_ia64_modify_segment_map): ..here.
        (elf_backend_modify_program_headers): Define.
        (elf_backend_modify_program_headers): Define.
2006-06-20  Jakub Jelinek  
2006-06-20  Jakub Jelinek  
        * bfd.c (bfd_record_phdr): Clear p_align and p_align_valid fields.
        * bfd.c (bfd_record_phdr): Clear p_align and p_align_valid fields.
        * elf.c (_bfd_elf_link_hash_table_init): Clear hplt field.
        * elf.c (_bfd_elf_link_hash_table_init): Clear hplt field.
2006-06-20  Alan Modra  
2006-06-20  Alan Modra  
        * elf-bfd.h: Formatting.
        * elf-bfd.h: Formatting.
        (_bfd_elf_map_sections_to_segments): Declare.
        (_bfd_elf_map_sections_to_segments): Declare.
        * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame_hdr): Don't
        * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame_hdr): Don't
        clear program_header_size.
        clear program_header_size.
        * elf.c (get_program_header_size): Move.  Don't use or set saved
        * elf.c (get_program_header_size): Move.  Don't use or set saved
        program_header_size here.
        program_header_size here.
        (elf_modify_segment_map): New function.  Split out from..
        (elf_modify_segment_map): New function.  Split out from..
        (assign_file_positions_for_load_sections): ..here.  Assert
        (assign_file_positions_for_load_sections): ..here.  Assert
        header size is correct.  Remove dead code.
        header size is correct.  Remove dead code.
        (_bfd_elf_map_sections_to_segments): Rename from
        (_bfd_elf_map_sections_to_segments): Rename from
        map_sections_to_segments.  Make global.  Use get_program_header_size
        map_sections_to_segments.  Make global.  Use get_program_header_size
        when we need estimate of header size.  Call elf_modify_segment_map.
        when we need estimate of header size.  Call elf_modify_segment_map.
        Set program_header_size.
        Set program_header_size.
        (print_segment_map): Delete.
        (print_segment_map): Delete.
        (_bfd_elf_sizeof_headers): If segment_map available, get the
        (_bfd_elf_sizeof_headers): If segment_map available, get the
        actual size.
        actual size.
        * elf32-arm.c (elf32_arm_symbian_modify_segment_map): Make safe
        * elf32-arm.c (elf32_arm_symbian_modify_segment_map): Make safe
        for calling more than once.
        for calling more than once.
        * elf32-bfin.c (elf32_bfinfdpic_modify_segment_map): Likewise.
        * elf32-bfin.c (elf32_bfinfdpic_modify_segment_map): Likewise.
        * elf32-frv.c (elf32_frvfdpic_modify_segment_map): Likewise.
        * elf32-frv.c (elf32_frvfdpic_modify_segment_map): Likewise.
        * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Likewise.
        * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Likewise.
        * elf32-i370.c (elf_backend_add_symbol_hook): Delete.
        * elf32-i370.c (elf_backend_add_symbol_hook): Delete.
        (elf_backend_additional_program_headers): Delete.
        (elf_backend_additional_program_headers): Delete.
        (elf_backend_modify_segment_map): Delete.
        (elf_backend_modify_segment_map): Delete.
        * elf64-hppa.c (elf64_hppa_modify_segment_map): Convert to ISO C.
        * elf64-hppa.c (elf64_hppa_modify_segment_map): Convert to ISO C.
        * elfxx-ia64.c (elfNN_ia64_modify_segment_map): Likewise.
        * elfxx-ia64.c (elfNN_ia64_modify_segment_map): Likewise.
        * doc/bfdint.texi: Delete SIZEOF_HEADERS difficulties.
        * doc/bfdint.texi: Delete SIZEOF_HEADERS difficulties.
2006-06-19  Vladimir Prus  
2006-06-19  Vladimir Prus  
        * elf32-arm.c (elf32_arm_swap_symbol_out): Don't set low
        * elf32-arm.c (elf32_arm_swap_symbol_out): Don't set low
        bit for undefined symbols.
        bit for undefined symbols.
2006-06-19  Alan Modra  
2006-06-19  Alan Modra  
        * elf-bfd.h (struct elf_backend_data): Add bfd_link_info pointer
        * elf-bfd.h (struct elf_backend_data): Add bfd_link_info pointer
        parameter.
        parameter.
        (_bfd_elf_sizeof_headers): Replace bfd_boolean param with
        (_bfd_elf_sizeof_headers): Replace bfd_boolean param with
        bfd_link_info pointer.
        bfd_link_info pointer.
        * targets.c (struct bfd_target <_bfd_sizeof_headers>): Likewise.
        * targets.c (struct bfd_target <_bfd_sizeof_headers>): Likewise.
        * bfd.c (bfd_sizeof_headers): Tweak param name.
        * bfd.c (bfd_sizeof_headers): Tweak param name.
        * aout-adobe.c (aout_adobe_sizeof_headers): Adjust.
        * aout-adobe.c (aout_adobe_sizeof_headers): Adjust.
        * aoutx.h (NAME (aout, sizeof_headers)): Adjust.
        * aoutx.h (NAME (aout, sizeof_headers)): Adjust.
        * binary.c (binary_sizeof_headers): Adjust.
        * binary.c (binary_sizeof_headers): Adjust.
        * bout.c (b_out_sizeof_headers): Adjust.
        * bout.c (b_out_sizeof_headers): Adjust.
        * coff-rs6000.c (_bfd_xcoff_sizeof_headers): Adjust.
        * coff-rs6000.c (_bfd_xcoff_sizeof_headers): Adjust.
        * coff64-rs6000.c (xcoff64_sizeof_headers): Adjust.
        * coff64-rs6000.c (xcoff64_sizeof_headers): Adjust.
        * coffgen.c (coff_sizeof_headers): Adjust.
        * coffgen.c (coff_sizeof_headers): Adjust.
        * ecoff.c (_bfd_ecoff_sizeof_headers): Adjust.
        * ecoff.c (_bfd_ecoff_sizeof_headers): Adjust.
        (ecoff_compute_section_file_positions): Adjust.
        (ecoff_compute_section_file_positions): Adjust.
        (_bfd_ecoff_write_object_contents): Adjust.
        (_bfd_ecoff_write_object_contents): Adjust.
        * elf.c (get_program_header_size, _bfd_elf_sizeof_headers): Adjust.
        * elf.c (get_program_header_size, _bfd_elf_sizeof_headers): Adjust.
        * elf32-arm.c (elf32_arm_additional_program_headers): Adjust.
        * elf32-arm.c (elf32_arm_additional_program_headers): Adjust.
        * elf32-i370.c (elf_backend_additional_program_headers): Adjust.
        * elf32-i370.c (elf_backend_additional_program_headers): Adjust.
        * elf32-ppc.c (ppc_elf_additional_program_headers): Adjust.
        * elf32-ppc.c (ppc_elf_additional_program_headers): Adjust.
        * elf64-hppa.c (elf64_hppa_additional_program_headers): Adjust.
        * elf64-hppa.c (elf64_hppa_additional_program_headers): Adjust.
        * elf64-x86-64.c (elf64_x86_64_additional_program_headers): Adjust.
        * elf64-x86-64.c (elf64_x86_64_additional_program_headers): Adjust.
        * elfxx-ia64.c (elfNN_ia64_additional_program_headers): Adjust.
        * elfxx-ia64.c (elfNN_ia64_additional_program_headers): Adjust.
        * elfxx-mips.c (_bfd_mips_elf_additional_program_headers): Adjust.
        * elfxx-mips.c (_bfd_mips_elf_additional_program_headers): Adjust.
        * elfxx-mips.h (_bfd_mips_elf_additional_program_headers): Adjust.
        * elfxx-mips.h (_bfd_mips_elf_additional_program_headers): Adjust.
        * i386msdos.c: Convert to ISO C.
        * i386msdos.c: Convert to ISO C.
        (msdos_sizeof_headers): Adjust.
        (msdos_sizeof_headers): Adjust.
        * i386os9k.c: Convert to ISO C.
        * i386os9k.c: Convert to ISO C.
        (os9k_sizeof_headers): Adjust.
        (os9k_sizeof_headers): Adjust.
        * ieee.c (ieee_sizeof_headers): Adjust.
        * ieee.c (ieee_sizeof_headers): Adjust.
        * ihex.c (ihex_sizeof_headers): Adjust.
        * ihex.c (ihex_sizeof_headers): Adjust.
        * libaout.h (NAME (aout, sizeof_headers)): Adjust.
        * libaout.h (NAME (aout, sizeof_headers)): Adjust.
        * libbfd-in.h (_bfd_nolink_sizeof_headers): Adjust.
        * libbfd-in.h (_bfd_nolink_sizeof_headers): Adjust.
        * libcoff-in.h (coff_sizeof_headers): Adjust.
        * libcoff-in.h (coff_sizeof_headers): Adjust.
        * libecoff.h (_bfd_ecoff_sizeof_headers): Adjust.
        * libecoff.h (_bfd_ecoff_sizeof_headers): Adjust.
        * mach-o.c (bfd_mach_o_sizeof_headers): Adjust.
        * mach-o.c (bfd_mach_o_sizeof_headers): Adjust.
        * mmo.c (mmo_sizeof_headers): Adjust.
        * mmo.c (mmo_sizeof_headers): Adjust.
        * oasys.c (oasys_sizeof_headers): Adjust.
        * oasys.c (oasys_sizeof_headers): Adjust.
        * pdp11.c (NAME (aout, sizeof_headers)): Adjust.
        * pdp11.c (NAME (aout, sizeof_headers)): Adjust.
        * pef.c (bfd_pef_sizeof_headers): Adjust.
        * pef.c (bfd_pef_sizeof_headers): Adjust.
        * ppcboot.c (ppcboot_sizeof_headers): Adjust.
        * ppcboot.c (ppcboot_sizeof_headers): Adjust.
        * som.c (som_sizeof_headers): Adjust.
        * som.c (som_sizeof_headers): Adjust.
        * srec.c (srec_sizeof_headers): Adjust.
        * srec.c (srec_sizeof_headers): Adjust.
        * tekhex.c (tekhex_sizeof_headers): Adjust.
        * tekhex.c (tekhex_sizeof_headers): Adjust.
        * versados.c (versados_sizeof_headers): Adjust.
        * versados.c (versados_sizeof_headers): Adjust.
        * vms.c (vms_sizeof_headers): Adjust.
        * vms.c (vms_sizeof_headers): Adjust.
        * xcoff-target.h (_bfd_xcoff_sizeof_headers): Adjust.
        * xcoff-target.h (_bfd_xcoff_sizeof_headers): Adjust.
        * xsym.c (bfd_sym_sizeof_headers): Adjust.
        * xsym.c (bfd_sym_sizeof_headers): Adjust.
        * xsym.h (bfd_sym_sizeof_headers): Adjust.
        * xsym.h (bfd_sym_sizeof_headers): Adjust.
        * bfd-in2.h: Regenerate.
        * bfd-in2.h: Regenerate.
        * libbfd.h: Regenerate.
        * libbfd.h: Regenerate.
        * libcoff.h: Regenerate.
        * libcoff.h: Regenerate.
2006-06-15  Mark Shinwell  
2006-06-15  Mark Shinwell  
        * bfd-in2.h: Regenerate.
        * bfd-in2.h: Regenerate.
        * elf32-arm.c (R_ARM_ALU_PC_G0_NC, R_ARM_ALU_PC_G0,
        * elf32-arm.c (R_ARM_ALU_PC_G0_NC, R_ARM_ALU_PC_G0,
        R_ARM_ALU_PC_G1_NC, R_ARM_ALU_PC_G1, R_ARM_ALU_PC_G2,
        R_ARM_ALU_PC_G1_NC, R_ARM_ALU_PC_G1, R_ARM_ALU_PC_G2,
        R_ARM_LDR_PC_G1, R_ARM_LDR_PC_G2, R_ARM_LDRS_PC_G0,
        R_ARM_LDR_PC_G1, R_ARM_LDR_PC_G2, R_ARM_LDRS_PC_G0,
        R_ARM_LDRS_PC_G1, R_ARM_LDRS_PC_G2, R_ARM_LDC_PC_G0,
        R_ARM_LDRS_PC_G1, R_ARM_LDRS_PC_G2, R_ARM_LDC_PC_G0,
        R_ARM_LDC_PC_G1, R_ARM_LDC_PC_G2, R_ARM_ALU_SB_G0_NC,
        R_ARM_LDC_PC_G1, R_ARM_LDC_PC_G2, R_ARM_ALU_SB_G0_NC,
        R_ARM_ALU_SB_G0, R_ARM_ALU_SB_G1_NC, R_ARM_ALU_SB_G1,
        R_ARM_ALU_SB_G0, R_ARM_ALU_SB_G1_NC, R_ARM_ALU_SB_G1,
        R_ARM_ALU_SB_G2, R_ARM_LDR_SB_G0, R_ARM_LDR_SB_G1,
        R_ARM_ALU_SB_G2, R_ARM_LDR_SB_G0, R_ARM_LDR_SB_G1,
        R_ARM_LDR_SB_G2, R_ARM_LDRS_SB_G0, R_ARM_LDRS_SB_G1,
        R_ARM_LDR_SB_G2, R_ARM_LDRS_SB_G0, R_ARM_LDRS_SB_G1,
        R_ARM_LDRS_SB_G2, R_ARM_LDC_SB_G0, R_ARM_LDC_SB_G1,
        R_ARM_LDRS_SB_G2, R_ARM_LDC_SB_G0, R_ARM_LDC_SB_G1,
        R_ARM_LDC_SB_G2): New relocation types.
        R_ARM_LDC_SB_G2): New relocation types.
        (R_ARM_PC13): Rename to AAELF name R_ARM_LDR_PC_G0 and
        (R_ARM_PC13): Rename to AAELF name R_ARM_LDR_PC_G0 and
        adjust HOWTO entry to be consistent with R_ARM_LDR_PC_G1
        adjust HOWTO entry to be consistent with R_ARM_LDR_PC_G1
        and friends.
        and friends.
        (elf32_arm_howto_table_3): Delete; contents merged into
        (elf32_arm_howto_table_3): Delete; contents merged into
        elf32_arm_howto_table_2.
        elf32_arm_howto_table_2.
        (elf32_arm_howto_from_type): Adjust correspondingly.
        (elf32_arm_howto_from_type): Adjust correspondingly.
        (elf32_arm_reloc_map): Extend with the above relocations.
        (elf32_arm_reloc_map): Extend with the above relocations.
        (calculate_group_reloc_mask): New function.
        (calculate_group_reloc_mask): New function.
        (identify_add_or_sub): New function.
        (identify_add_or_sub): New function.
        (elf32_arm_final_link_relocate): Support for the above
        (elf32_arm_final_link_relocate): Support for the above
        relocations.
        relocations.
        * reloc.c: Add enumeration entries for BFD_RELOC_ARM_...
        * reloc.c: Add enumeration entries for BFD_RELOC_ARM_...
        codes to correspond to the above relocations.
        codes to correspond to the above relocations.
2006-06-14  Richard Sandiford  
2006-06-14  Richard Sandiford  
        * elf32-m68k.c (elf_m68k_plt_info): New structure.
        * elf32-m68k.c (elf_m68k_plt_info): New structure.
        (elf_m68k_plt0_entry): Add R_68K_PC32-style in-place addends.
        (elf_m68k_plt0_entry): Add R_68K_PC32-style in-place addends.
        (elf_m68k_plt_entry): Likewise.
        (elf_m68k_plt_entry): Likewise.
        (elf_m68k_plt_info): New table.
        (elf_m68k_plt_info): New table.
        (CFV4E_PLT_ENTRY_SIZE): Rename to...
        (CFV4E_PLT_ENTRY_SIZE): Rename to...
        (ISAB_PLT_ENTRY_SIZE): ...this.
        (ISAB_PLT_ENTRY_SIZE): ...this.
        (CFV4E_FLAG): Delete.
        (CFV4E_FLAG): Delete.
        (elf_cfv4e_plt0_entry): Rename to...
        (elf_cfv4e_plt0_entry): Rename to...
        (elf_isab_plt0_entry): ...this.  Adjust comments.  Use (-6,%pc,%d0)
        (elf_isab_plt0_entry): ...this.  Adjust comments.  Use (-6,%pc,%d0)
        for the second instruction too.
        for the second instruction too.
        (elf_cfv4e_plt_entry): Rename to...
        (elf_cfv4e_plt_entry): Rename to...
        (elf_isab_plt_entry): ...this.  Adjust comments and use (-6,%pc,%d0).
        (elf_isab_plt_entry): ...this.  Adjust comments and use (-6,%pc,%d0).
        (elf_isab_plt_info): New table.
        (elf_isab_plt_info): New table.
        (CPU32_FLAG): Delete.
        (CPU32_FLAG): Delete.
        (PLT_CPU32_ENTRY_SIZE): Rename to...
        (PLT_CPU32_ENTRY_SIZE): Rename to...
        (CPU32_PLT_ENTRY_SIZE): ...this.
        (CPU32_PLT_ENTRY_SIZE): ...this.
        (elf_cpu32_plt0_entry): Update bounds accordingly.  Add R_68K_PC32-
        (elf_cpu32_plt0_entry): Update bounds accordingly.  Add R_68K_PC32-
        style in-place addends.
        style in-place addends.
        (elf_cpu32_plt_entry): Likewise.
        (elf_cpu32_plt_entry): Likewise.
        (elf_cpu32_plt_info): New table.
        (elf_cpu32_plt_info): New table.
        (elf_m68k_link_hash_table): Add a plt_info field.
        (elf_m68k_link_hash_table): Add a plt_info field.
        (elf_m68k_link_hash_table_create): Initialize it.
        (elf_m68k_link_hash_table_create): Initialize it.
        (elf_m68k_get_plt_info): New function.
        (elf_m68k_get_plt_info): New function.
        (elf_m68k_always_size_sections): Likewise.
        (elf_m68k_always_size_sections): Likewise.
        (elf_m68k_adjust_dynamic_symbol): Use the plt_info hash table field.
        (elf_m68k_adjust_dynamic_symbol): Use the plt_info hash table field.
        (elf_m68k_install_pc32): New function.
        (elf_m68k_install_pc32): New function.
        (elf_m68k_finish_dynamic_symbol): Factor code using plt_info and
        (elf_m68k_finish_dynamic_symbol): Factor code using plt_info and
        elf_m68k_install_pc32.
        elf_m68k_install_pc32.
        (elf_m68k_finish_dynamic_sections): Likewise.
        (elf_m68k_finish_dynamic_sections): Likewise.
        (elf_m68k_plt_sym_val): Use elf_m68k_get_plt_info.
        (elf_m68k_plt_sym_val): Use elf_m68k_get_plt_info.
        (elf_backend_always_size_sections): Define.
        (elf_backend_always_size_sections): Define.
2006-06-14  Alan Modra  
2006-06-14  Alan Modra  
        * elflink.c (elf_link_add_object_symbols): Save and restore
        * elflink.c (elf_link_add_object_symbols): Save and restore
        struct bfd_hash_table table, size and count fields for
        struct bfd_hash_table table, size and count fields for
        as-needed libs.
        as-needed libs.
2006-06-12  Thiemo Seufer  
2006-06-12  Thiemo Seufer  
        * elf32-mips.c: Expand comment about ABI-mandated pagesize values.
        * elf32-mips.c: Expand comment about ABI-mandated pagesize values.
        (ELF_MAXPAGESIZE, ELF_COMMONPAGESIZE): define in a more obvious way.
        (ELF_MAXPAGESIZE, ELF_COMMONPAGESIZE): define in a more obvious way.
        * elf64-mips.c, elfn32-mips.c (ELF_MAXPAGESIZE): Fix value for IRIX6.
        * elf64-mips.c, elfn32-mips.c (ELF_MAXPAGESIZE): Fix value for IRIX6.
        Delete old comments.
        Delete old comments.
        (ELF_COMMONPAGESIZE): Define in a more obvious way.
        (ELF_COMMONPAGESIZE): Define in a more obvious way.
2006-06-12  Nick Clifton  
2006-06-12  Nick Clifton  
        PR binutils/2735
        PR binutils/2735
        * elflink.c (elf_link_add_object_symbols): Fix the warning message
        * elflink.c (elf_link_add_object_symbols): Fix the warning message
        about mismatched alignments to allow for the case where the common
        about mismatched alignments to allow for the case where the common
        alignment has been deduced from the section alignment.
        alignment has been deduced from the section alignment.
        * bfd.c (_bfd_default_error_handler): Update comment to explain
        * bfd.c (_bfd_default_error_handler): Update comment to explain
        why bfd and asection varargs are out of order.  Explicitly catch
        why bfd and asection varargs are out of order.  Explicitly catch
        and abort on NULL bfd and asection arguments.
        and abort on NULL bfd and asection arguments.
2006-06-11  Richard Sandiford  
2006-06-11  Richard Sandiford  
            Thiemo Seufer  
            Thiemo Seufer  
        * elfxx-mips.c (mips_elf_link_hash_table): Add function_stub_size.
        * elfxx-mips.c (mips_elf_link_hash_table): Add function_stub_size.
        (STUB_ORI): New macro.
        (STUB_ORI): New macro.
        (STUB_LI16U): Fix formatting.
        (STUB_LI16U): Fix formatting.
        (MIPS_FUNCTION_STUB_SIZE): Delete.
        (MIPS_FUNCTION_STUB_SIZE): Delete.
        (MIPS_FUNCTION_STUB_MAX_SIZE): Likewise.
        (MIPS_FUNCTION_STUB_MAX_SIZE): Likewise.
        (MIPS_FUNCTION_STUB_NORMAL_SIZE): New macro.
        (MIPS_FUNCTION_STUB_NORMAL_SIZE): New macro.
        (MIPS_FUNCTION_STUB_BIG_SIZE): Likewise.
        (MIPS_FUNCTION_STUB_BIG_SIZE): Likewise.
        (_bfd_mips_elf_adjust_dynamic_symbol): Use htab->function_stub_size
        (_bfd_mips_elf_adjust_dynamic_symbol): Use htab->function_stub_size
        instead of MIPS_FUNCTION_STUB_SIZE.
        instead of MIPS_FUNCTION_STUB_SIZE.
        (count_section_dynsyms): New function, split out from
        (count_section_dynsyms): New function, split out from
        _bfd_mips_elf_final_link.
        _bfd_mips_elf_final_link.
        (_bfd_mips_elf_always_size_sections): Get a worst-case estimate
        (_bfd_mips_elf_always_size_sections): Get a worst-case estimate
        of the number of dynamic symbols needed and use it to set up
        of the number of dynamic symbols needed and use it to set up
        function_stub_size.  Use function_stub_size rather than
        function_stub_size.  Use function_stub_size rather than
        MIPS_FUNCTION_STUB_SIZE to determine the size of the stub section.
        MIPS_FUNCTION_STUB_SIZE to determine the size of the stub section.
        Use 16-byte stubs for 0x10000 dynamic symbols.
        Use 16-byte stubs for 0x10000 dynamic symbols.
        (_bfd_mips_elf_size_dynamic_sections): Use htab->function_stub_size
        (_bfd_mips_elf_size_dynamic_sections): Use htab->function_stub_size
        instead of MIPS_FUNCTION_STUB_SIZE.  Fix formatting.
        instead of MIPS_FUNCTION_STUB_SIZE.  Fix formatting.
        (_bfd_mips_elf_finish_dynamic_symbol): Likewise.  Change the
        (_bfd_mips_elf_finish_dynamic_symbol): Likewise.  Change the
        size of the stub buffer from MIPS_FUNCTION_STUB_MAX_SIZE to
        size of the stub buffer from MIPS_FUNCTION_STUB_MAX_SIZE to
        MIPS_FUNCTION_STUB_BIG_SIZE.  Tweak the check for unhandled dynindxes.
        MIPS_FUNCTION_STUB_BIG_SIZE.  Tweak the check for unhandled dynindxes.
        Use MIPS_FUNCTION_STUB_BIG_SIZE rather than a hard-coded 20.
        Use MIPS_FUNCTION_STUB_BIG_SIZE rather than a hard-coded 20.
        Use STUB_ORI rather than STUB_LI16U for big stubs.
        Use STUB_ORI rather than STUB_LI16U for big stubs.
        (_bfd_mips_elf_link_hash_table_create): Initialize function_stub_size.
        (_bfd_mips_elf_link_hash_table_create): Initialize function_stub_size.
        (_bfd_mips_elf_final_link): Use count_section_dynsyms.
        (_bfd_mips_elf_final_link): Use count_section_dynsyms.
2006-06-09  David Ung  
2006-06-09  David Ung  
        * bfd/elfxx-mips.c (mips_elf_calculate_relocation): Fix mode for stub
        * bfd/elfxx-mips.c (mips_elf_calculate_relocation): Fix mode for stub
        calling relocations.
        calling relocations.
2006-06-08  David Daney  
2006-06-08  David Daney  
        * elfxx-mips.c (STUB_LI16): Removed.
        * elfxx-mips.c (STUB_LI16): Removed.
        (STUB_LUI): New macro.
        (STUB_LUI): New macro.
        (STUB_LI16U): Ditto.
        (STUB_LI16U): Ditto.
        (STUB_LI16S): Ditto.
        (STUB_LI16S): Ditto.
        (MIPS_FUNCTION_STUB_SIZE): Rewrote to take info parameter.
        (MIPS_FUNCTION_STUB_SIZE): Rewrote to take info parameter.
        (_bfd_mips_elf_adjust_dynamic_symbol): Pass info parameter to
        (_bfd_mips_elf_adjust_dynamic_symbol): Pass info parameter to
        MIPS_FUNCTION_STUB_SIZE.
        MIPS_FUNCTION_STUB_SIZE.
        (_bfd_mips_elf_always_size_sections): Ditto.
        (_bfd_mips_elf_always_size_sections): Ditto.
        (_bfd_mips_elf_size_dynamic_sections): Ditto.
        (_bfd_mips_elf_size_dynamic_sections): Ditto.
        (_bfd_mips_elf_finish_dynamic_sections): Ditto.
        (_bfd_mips_elf_finish_dynamic_sections): Ditto.
        (_bfd_mips_elf_finish_dynamic_symbol): Rewrote stub generation
        (_bfd_mips_elf_finish_dynamic_symbol): Rewrote stub generation
        to allow larger symbol table indexes.
        to allow larger symbol table indexes.
2006-06-07  Joseph S. Myers  
2006-06-07  Joseph S. Myers  
        * po/Make-in (pdf, ps): New dummy targets.
        * po/Make-in (pdf, ps): New dummy targets.
2006-06-06  Alan Modra  
2006-06-06  Alan Modra  
        * hash.c (bfd_hash_lookup): Correct stray line.
        * hash.c (bfd_hash_lookup): Correct stray line.
        * elf.c (_bfd_elf_init_private_section_data): Comment typo.
        * elf.c (_bfd_elf_init_private_section_data): Comment typo.
        (elfcore_grok_nto_status): Use long instead of pid_t.
        (elfcore_grok_nto_status): Use long instead of pid_t.
        (elfcore_grok_nto_regs, elfcore_grok_nto_note): Likewise.
        (elfcore_grok_nto_regs, elfcore_grok_nto_note): Likewise.
2006-06-05  Daniel Jacobowitz  
2006-06-05  Daniel Jacobowitz  
        * po/Make-in (top_builddir): Define.
        * po/Make-in (top_builddir): Define.
2006-06-05  Alan Modra  
2006-06-05  Alan Modra  
        * Makefile.am: Run "make dep-am".
        * Makefile.am: Run "make dep-am".
        * Makefile.in: Regenerate.
        * Makefile.in: Regenerate.
        * config.in: Regenerate.
        * config.in: Regenerate.
2006-06-02  Alan Modra  
2006-06-02  Alan Modra  
            H.J. Lu  
            H.J. Lu  
        PR ld/2723
        PR ld/2723
        * elflink.c (bfd_elf_final_link): Don't output section symbols
        * elflink.c (bfd_elf_final_link): Don't output section symbols
        for special ELF sections.
        for special ELF sections.
2006-06-01  Alan Modra  
2006-06-01  Alan Modra  
        * stabs.c (_bfd_link_section_stabs): Use bfd_make_section*_with_flags
        * stabs.c (_bfd_link_section_stabs): Use bfd_make_section*_with_flags
        instead of bfd_make_section*.
        instead of bfd_make_section*.
        * aix386-core.c: Likewise.
        * aix386-core.c: Likewise.
        * aix5ppc-core.c: Likewise.
        * aix5ppc-core.c: Likewise.
        * aout-adobe.c: Likewise.
        * aout-adobe.c: Likewise.
        * aoutf1.h: Likewise.
        * aoutf1.h: Likewise.
        * binary.c: Likewise.
        * binary.c: Likewise.
        * cisco-core.c: Likewise.
        * cisco-core.c: Likewise.
        * coff-arm.c: Likewise.
        * coff-arm.c: Likewise.
        * coff-h8300.c: Likewise.
        * coff-h8300.c: Likewise.
        * elf.c: Likewise.
        * elf.c: Likewise.
        * elf32-bfin.c: Likewise.
        * elf32-bfin.c: Likewise.
        * elf32-m32c.c: Likewise.
        * elf32-m32c.c: Likewise.
        * hppabsd-core.c: Likewise.
        * hppabsd-core.c: Likewise.
        * hpux-core.c: Likewise.
        * hpux-core.c: Likewise.
        * i386linux.c: Likewise.
        * i386linux.c: Likewise.
        * ieee.c: Likewise.
        * ieee.c: Likewise.
        * ihex.c: Likewise.
        * ihex.c: Likewise.
        * irix-core.c: Likewise.
        * irix-core.c: Likewise.
        * lynx-core.c: Likewise.
        * lynx-core.c: Likewise.
        * m68klinux.c: Likewise.
        * m68klinux.c: Likewise.
        * mach-o.c: Likewise.
        * mach-o.c: Likewise.
        * netbsd-core.c: Likewise.
        * netbsd-core.c: Likewise.
        * nlmcode.h: Likewise.
        * nlmcode.h: Likewise.
        * opncls.c: Likewise.
        * opncls.c: Likewise.
        * osf-core.c: Likewise.
        * osf-core.c: Likewise.
        * peXXigen.c: Likewise.
        * peXXigen.c: Likewise.
        * ppcboot.c: Likewise.
        * ppcboot.c: Likewise.
        * ptrace-core.c: Likewise.
        * ptrace-core.c: Likewise.
        * rs6000-core.c: Likewise.
        * rs6000-core.c: Likewise.
        * sco5-core.c: Likewise.
        * sco5-core.c: Likewise.
        * sparclinux.c: Likewise.
        * sparclinux.c: Likewise.
        * srec.c: Likewise.
        * srec.c: Likewise.
        * sunos.c: Likewise.
        * sunos.c: Likewise.
        * trad-core.c: Likewise.
        * trad-core.c: Likewise.
        * xcofflink.c: Likewise.
        * xcofflink.c: Likewise.
        * xsym.c: Likewise.
        * xsym.c: Likewise.
2006-05-31  Daniel Jacobowitz  
2006-05-31  Daniel Jacobowitz  
        * Makefile.am (INCLUDES): Use @INCINTL@.
        * Makefile.am (INCLUDES): Use @INCINTL@.
        * acinclude.m4: Include new gettext macros.
        * acinclude.m4: Include new gettext macros.
        * configure.in: Use ZW_GNU_GETTEXT_SISTER_DIR and AM_PO_SUBDIRS.
        * configure.in: Use ZW_GNU_GETTEXT_SISTER_DIR and AM_PO_SUBDIRS.
        Manually substitute POFILES and GMOFILES.
        Manually substitute POFILES and GMOFILES.
        * Makefile.in, aclocal.m4, configure, doc/Makefile.in: Regenerated.
        * Makefile.in, aclocal.m4, configure, doc/Makefile.in: Regenerated.
2006-05-30  H.J. Lu  
2006-05-30  H.J. Lu  
        * bfd.c (bfd_emul_get_maxpagesize): New.
        * bfd.c (bfd_emul_get_maxpagesize): New.
        (bfd_elf_set_pagesize): Likewise.
        (bfd_elf_set_pagesize): Likewise.
        (bfd_emul_set_maxpagesize): Likewise.
        (bfd_emul_set_maxpagesize): Likewise.
        (bfd_emul_get_commonpagesize): Likewise.
        (bfd_emul_get_commonpagesize): Likewise.
        (bfd_emul_set_commonpagesize): Likewise.
        (bfd_emul_set_commonpagesize): Likewise.
        * bfd-in2.h: Regenerated.
        * bfd-in2.h: Regenerated.
        * elf-bfd.h (elf_backend_data): Add commonpagesize.
        * elf-bfd.h (elf_backend_data): Add commonpagesize.
        (xvec_get_elf_backend_data): New.
        (xvec_get_elf_backend_data): New.
        (get_elf_backend_data): Use xvec_get_elf_backend_data.
        (get_elf_backend_data): Use xvec_get_elf_backend_data.
        * elf32-arm.c (elf32_arm_vxworks_bed): Remove const.
        * elf32-arm.c (elf32_arm_vxworks_bed): Remove const.
        * elfxx-target.h (elfNN_bed): Likewise.
        * elfxx-target.h (elfNN_bed): Likewise.
        * elf32-arm.c (ELF_COMMONPAGESIZE): Defined.
        * elf32-arm.c (ELF_COMMONPAGESIZE): Defined.
        * elf32-mips.c (ELF_COMMONPAGESIZE): Likewise.
        * elf32-mips.c (ELF_COMMONPAGESIZE): Likewise.
        * elf32-ppc.c (ELF_COMMONPAGESIZE): Likewise.
        * elf32-ppc.c (ELF_COMMONPAGESIZE): Likewise.
        * elf32-sh.c (ELF_COMMONPAGESIZE): Likewise.
        * elf32-sh.c (ELF_COMMONPAGESIZE): Likewise.
        * elf32-sh64.c (ELF_COMMONPAGESIZE): Likewise.
        * elf32-sh64.c (ELF_COMMONPAGESIZE): Likewise.
        * elf32-sparc.c (ELF_COMMONPAGESIZE): Likewise.
        * elf32-sparc.c (ELF_COMMONPAGESIZE): Likewise.
        * elf64-alpha.c (ELF_COMMONPAGESIZE): Likewise.
        * elf64-alpha.c (ELF_COMMONPAGESIZE): Likewise.
        * elf64-ppc.c (ELF_COMMONPAGESIZE): Likewise.
        * elf64-ppc.c (ELF_COMMONPAGESIZE): Likewise.
        * elf64-sparc.c (ELF_COMMONPAGESIZE): Likewise.
        * elf64-sparc.c (ELF_COMMONPAGESIZE): Likewise.
        * elf64-x86-64.c (ELF_COMMONPAGESIZE): Likewise.
        * elf64-x86-64.c (ELF_COMMONPAGESIZE): Likewise.
        * elfn32-mips.c (ELF_COMMONPAGESIZE): Likewise.
        * elfn32-mips.c (ELF_COMMONPAGESIZE): Likewise.
        * elfxx-ia64.c (ELF_COMMONPAGESIZE): Likewise.
        * elfxx-ia64.c (ELF_COMMONPAGESIZE): Likewise.
        * elfxx-target.h (ELF_COMMONPAGESIZE): Define if not defined.
        * elfxx-target.h (ELF_COMMONPAGESIZE): Define if not defined.
        (elfNN_bed): Initialize commonpagesize with ELF_COMMONPAGESIZE.
        (elfNN_bed): Initialize commonpagesize with ELF_COMMONPAGESIZE.
        * targets.c (bfd_find_target): Support NULL abfd.
        * targets.c (bfd_find_target): Support NULL abfd.
2006-05-30  Nick Clifton  
2006-05-30  Nick Clifton  
        * po/es.po: Updated Spanish translation.
        * po/es.po: Updated Spanish translation.
2006-05-27  Alan Modra  
2006-05-27  Alan Modra  
            H.J. Lu  
            H.J. Lu  
        * elf.c (assign_file_positions_for_load_sections): Retrieve
        * elf.c (assign_file_positions_for_load_sections): Retrieve
        maxpagesize from m->p_align if it is valid.  Set p_vaddr,
        maxpagesize from m->p_align if it is valid.  Set p_vaddr,
        p_paddr and p_align earlier.  Revert 2006-05-19 change to p_align.
        p_paddr and p_align earlier.  Revert 2006-05-19 change to p_align.
        (copy_elf_program_header): Copy p_align.  Set p_align_valid.
        (copy_elf_program_header): Copy p_align.  Set p_align_valid.
2006-05-26  H.J. Lu  
2006-05-26  H.J. Lu  
        * elf64-x86-64.c (ELF_MINPAGESIZE): Changed to 0x1000.
        * elf64-x86-64.c (ELF_MINPAGESIZE): Changed to 0x1000.
2006-05-25  H.J. Lu  
2006-05-25  H.J. Lu  
        * elf64-x86-64.c (ELF_MINPAGESIZE): Set to 0x100000.
        * elf64-x86-64.c (ELF_MINPAGESIZE): Set to 0x100000.
2006-05-25  H.J. Lu  
2006-05-25  H.J. Lu  
        * elf64-x86-64.c (ELF_MAXPAGESIZE): Updated to 0x200000.
        * elf64-x86-64.c (ELF_MAXPAGESIZE): Updated to 0x200000.
2006-05-26  Alan Modra  
2006-05-26  Alan Modra  
        * elf.c (sym_is_global): Return a bfd_boolean.
        * elf.c (sym_is_global): Return a bfd_boolean.
        (ignore_section_sym): New function.
        (ignore_section_sym): New function.
        (elf_map_symbols): Use ignore_section_sym to discard some syms.
        (elf_map_symbols): Use ignore_section_sym to discard some syms.
        (_bfd_elf_symbol_from_bfd_symbol): Ensure section belongs to
        (_bfd_elf_symbol_from_bfd_symbol): Ensure section belongs to
        bfd before using elf_section_syms.
        bfd before using elf_section_syms.
2006-05-25  H.J. Lu  
2006-05-25  H.J. Lu  
        * config.bfd: (sh-*-linux*): Treat as 64bit target.
        * config.bfd: (sh-*-linux*): Treat as 64bit target.
        (sh*l*-*-netbsdelf*): Likewise.
        (sh*l*-*-netbsdelf*): Likewise.
        (sh-*-netbsdelf*): Likewise.
        (sh-*-netbsdelf*): Likewise.
        (shl*-*-elf*): Likewise.
        (shl*-*-elf*): Likewise.
        (sh[1234]l*-*-elf*): Likewise.
        (sh[1234]l*-*-elf*): Likewise.
        (sh3el*-*-elf*): Likewise.
        (sh3el*-*-elf*): Likewise.
        (shl*-*-kaos*): Likewise.
        (shl*-*-kaos*): Likewise.
        (sh-*-elf*): Likewise.
        (sh-*-elf*): Likewise.
        (sh[1234]*-elf*): Likewise.
        (sh[1234]*-elf*): Likewise.
        (sh-*-rtems*): Likewise.
        (sh-*-rtems*): Likewise.
        (sh-*-kaos*): Likewise.
        (sh-*-kaos*): Likewise.
2006-05-24  H.J. Lu  
2006-05-24  H.J. Lu  
        PR ld/1485
        PR ld/1485
        * config.bfd: Set want64 to true if 64bit bfd is used.
        * config.bfd: Set want64 to true if 64bit bfd is used.
        (sh-*-linux*): Use targ64_selvecs for 64bit targets.
        (sh-*-linux*): Use targ64_selvecs for 64bit targets.
        (sh*l*-*-netbsdelf*): Likewise.
        (sh*l*-*-netbsdelf*): Likewise.
        (sh-*-netbsdelf*): Likewise.
        (sh-*-netbsdelf*): Likewise.
        (shl*-*-elf*): Likewise.
        (shl*-*-elf*): Likewise.
        (sh[1234]l*-*-elf*): Likewise.
        (sh[1234]l*-*-elf*): Likewise.
        (sh3el*-*-elf*): Likewise.
        (sh3el*-*-elf*): Likewise.
        (shl*-*-kaos*): Likewise.
        (shl*-*-kaos*): Likewise.
        (sh-*-elf*): Likewise.
        (sh-*-elf*): Likewise.
        (sh[1234]*-elf*): Likewise.
        (sh[1234]*-elf*): Likewise.
        (sh-*-rtems*): Likewise.
        (sh-*-rtems*): Likewise.
        (sh-*-kaos*): Likewise.
        (sh-*-kaos*): Likewise.
2006-05-24  Paul Brook  
2006-05-24  Paul Brook  
        * elf-bfd.h (elf_backend_data): Add elf_backend_output_arch_local_syms
        * elf-bfd.h (elf_backend_data): Add elf_backend_output_arch_local_syms
        * elf32-arm.c (output_arch_syminfo): Define.
        * elf32-arm.c (output_arch_syminfo): Define.
        (elf32_arm_ouput_plt_map_sym, elf32_arm_output_plt_map,
        (elf32_arm_ouput_plt_map_sym, elf32_arm_output_plt_map,
        elf32_arm_output_arch_local_syms): New functions.
        elf32_arm_output_arch_local_syms): New functions.
        (elf_backend_output_arch_local_syms): Define.
        (elf_backend_output_arch_local_syms): Define.
        * elflink.c (bfd_elf_final_link): Call
        * elflink.c (bfd_elf_final_link): Call
        elf_backend_output_arch_local_syms.
        elf_backend_output_arch_local_syms.
        * elfxx-target.h (elf_backend_output_arch_local_syms): Provide default
        * elfxx-target.h (elf_backend_output_arch_local_syms): Provide default
        definition.
        definition.
        (elfNN_bed): Add elf_backend_output_arch_local_syms.
        (elfNN_bed): Add elf_backend_output_arch_local_syms.
2006-05-24  Paul Brook  
2006-05-24  Paul Brook  
        * elf32-arm.c (put_arm_insn, put_thumb_insn): New functions.
        * elf32-arm.c (put_arm_insn, put_thumb_insn): New functions.
        (elf32_thumb_to_arm_stub, elf32_arm_to_thumb_stub,
        (elf32_thumb_to_arm_stub, elf32_arm_to_thumb_stub,
        elf32_arm_finish_dynamic_symbol): Use them.
        elf32_arm_finish_dynamic_symbol): Use them.
2006-05-24  Carlos O'Donell  
2006-05-24  Carlos O'Donell  
            Randolph Chung  
            Randolph Chung  
        * elf-hppa.h (reloc_hppa_howto_table): Check bitfield for
        * elf-hppa.h (reloc_hppa_howto_table): Check bitfield for
        TPREL21L/TPREL14R relocations. Handle LTOFF_TP14R relocations.
        TPREL21L/TPREL14R relocations. Handle LTOFF_TP14R relocations.
        Add handling for TLS relocations.
        Add handling for TLS relocations.
        (elf_hpp_reloc_final_type): Handle TLS relocs.
        (elf_hpp_reloc_final_type): Handle TLS relocs.
        * elf32-hppa.c: Add authors for cleanup and TLS support.
        * elf32-hppa.c: Add authors for cleanup and TLS support.
        (hppa_elf_local_got_tls_type, hh_name, eh_name): Define.
        (hppa_elf_local_got_tls_type, hh_name, eh_name): Define.
        (elf32_hppa_link_hash_entry): Add tls_type.
        (elf32_hppa_link_hash_entry): Add tls_type.
        (elf32_hppa_link_hash_table): Add tld_ldm_got.
        (elf32_hppa_link_hash_table): Add tld_ldm_got.
        (hppa_link_has_newfunc): Set tls_type.
        (hppa_link_has_newfunc): Set tls_type.
        (elf32_hppa_link_hash_table_create): Set tls_ldm_got refcount.
        (elf32_hppa_link_hash_table_create): Set tls_ldm_got refcount.
        (hppa_stub_name): Use hh_name macro.
        (hppa_stub_name): Use hh_name macro.
        (elf32_hppa_copy_indirect_symbol): Copy TLS information.
        (elf32_hppa_copy_indirect_symbol): Copy TLS information.
        (elf32_hppa_check_relocs): Call elf32_hppa_optimized_tls_reloc.
        (elf32_hppa_check_relocs): Call elf32_hppa_optimized_tls_reloc.
        Handle TLS relocs.
        Handle TLS relocs.
        (elf32_hppa_gc_sweep_hook): Likewise.
        (elf32_hppa_gc_sweep_hook): Likewise.
        (allocate_dynrelocs): Handle TLS relocs.
        (allocate_dynrelocs): Handle TLS relocs.
        (elf32_hppa_size_dynamic_sections): Count space required by TLS
        (elf32_hppa_size_dynamic_sections): Count space required by TLS
        relocs. Use hh_name macro.
        relocs. Use hh_name macro.
        (dtpoff_base): New function.
        (dtpoff_base): New function.
        (tpoff): Likewise.
        (tpoff): Likewise.
        (elf32_hppa_optimized_tls_reloc): Likewise.
        (elf32_hppa_optimized_tls_reloc): Likewise.
        (final_link_relocate): Handle TLS relocs.
        (final_link_relocate): Handle TLS relocs.
        (elf32_hppa_relocate_section): Handle TLS relocs. Use eh_name
        (elf32_hppa_relocate_section): Handle TLS relocs. Use eh_name
        and hh_name macros.
        and hh_name macros.
        (elf32_hppa_finish_dynamic_symbol): Setup TLS got entries. Use
        (elf32_hppa_finish_dynamic_symbol): Setup TLS got entries. Use
        hh_name and eh_name macros.
        hh_name and eh_name macros.
        (elf32_hppa_reloc_type_clas): Handle TLS relocs.
        (elf32_hppa_reloc_type_clas): Handle TLS relocs.
2006-05-24  Bjoern Haase  
2006-05-24  Bjoern Haase  
        * archures.c: Add bfd_mach_avr6.
        * archures.c: Add bfd_mach_avr6.
        * cpu-avr.c: Likewise.
        * cpu-avr.c: Likewise.
        * reloc.c (BFD_RELOC_AVR_LO8_LDI_GS, BFD_RELOC_AVR_HI8_LDI_GS):
        * reloc.c (BFD_RELOC_AVR_LO8_LDI_GS, BFD_RELOC_AVR_HI8_LDI_GS):
        New relocations.
        New relocations.
        * libbfd.h: Regenerate.
        * libbfd.h: Regenerate.
        * bfd-in2.h:Regenerate.
        * bfd-in2.h:Regenerate.
        * elf32-avr.h: New file.  Protoypes for functions accessed from ld.
        * elf32-avr.h: New file.  Protoypes for functions accessed from ld.
        * elf32-avr.c: Add elf32-avr.h to include list.
        * elf32-avr.c: Add elf32-avr.h to include list.
        (elf32_avr_stub_hash_entry): New function.
        (elf32_avr_stub_hash_entry): New function.
        (elf32_avr_link_hash_table): New struct.
        (elf32_avr_link_hash_table): New struct.
        (avr_link_hash_table): Likewise.
        (avr_link_hash_table): Likewise.
        (avr_stub_hash_entry): Likewise.
        (avr_stub_hash_entry): Likewise.
        (avr_stub_hash_lookup): New function.
        (avr_stub_hash_lookup): New function.
        (stub_hash_newfunc): New function.
        (stub_hash_newfunc): New function.
        (elf32_avr_link_hash_table_create): New function.
        (elf32_avr_link_hash_table_create): New function.
        (elf32_avr_link_hash_table_free): New function.
        (elf32_avr_link_hash_table_free): New function.
        (avr_get_stub_addr): New function.
        (avr_get_stub_addr): New function.
        (debug_relax, debug_stubs): Add new global variables controlling
        (debug_relax, debug_stubs): Add new global variables controlling
        debugging printout to stdout.
        debugging printout to stdout.
        (avr_pc_wrap_around): Change the type to bfd_vma.
        (avr_pc_wrap_around): Change the type to bfd_vma.
        (avr_replace_call_ret_sequences): Add a new variable controling
        (avr_replace_call_ret_sequences): Add a new variable controling
        linkrelax optimizations.
        linkrelax optimizations.
        (avr_stub_is_required_for_16_bit_reloc): New function.
        (avr_stub_is_required_for_16_bit_reloc): New function.
        (avr_final_link_relocate):
        (avr_final_link_relocate):
        Add linker hash table to parameter list. Use stub addr. if necessary.
        Add linker hash table to parameter list. Use stub addr. if necessary.
        (elf32_avr_relocate_section):
        (elf32_avr_relocate_section):
        Add linker hashtable to parameter list of avr_final_link_relocate.
        Add linker hashtable to parameter list of avr_final_link_relocate.
        (bfd_elf_avr_final_write_processing): Add support for bfd_mach_avr6.
        (bfd_elf_avr_final_write_processing): Add support for bfd_mach_avr6.
        (elf32_avr_object_p): Add support for E_AVR_MACH_AVR6.
        (elf32_avr_object_p): Add support for E_AVR_MACH_AVR6.
        (elf32_avr_relax_delete_bytes):
        (elf32_avr_relax_delete_bytes):
        Iterate over all sections of a bfd when adjusting relocs addends.
        Iterate over all sections of a bfd when adjusting relocs addends.
        (elf32_avr_relax_section):
        (elf32_avr_relax_section):
        Evaluate avr_replace_call_ret_sequences and recalculate the size of
        Evaluate avr_replace_call_ret_sequences and recalculate the size of
        stub section.
        stub section.
        (avr_stub_name): New function.
        (avr_stub_name): New function.
        (avr_get_stub_entry): New function.
        (avr_get_stub_entry): New function.
        (avr_add_stub): New function.
        (avr_add_stub): New function.
        (avr_build_one_stub): New function.
        (avr_build_one_stub): New function.
        (avr_size_one_stub): New function.
        (avr_size_one_stub): New function.
        (elf32_avr_setup_params): New function.
        (elf32_avr_setup_params): New function.
        (elf32_avr_setup_section_lists): New function.
        (elf32_avr_setup_section_lists): New function.
        (get_local_syms): New function.
        (get_local_syms): New function.
        (elf32_avr_size_stubs): New function.
        (elf32_avr_size_stubs): New function.
        (bfd_elf32_bfd_link_hash_table_create): New function.
        (bfd_elf32_bfd_link_hash_table_create): New function.
        (bfd_elf32_bfd_link_hash_table_free): New function.
        (bfd_elf32_bfd_link_hash_table_free): New function.
2006-05-23  H.J. Lu  
2006-05-23  H.J. Lu  
        PR ld/2655
        PR ld/2655
        PR ld/2657
        PR ld/2657
        * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Properly
        * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Properly
        update CIE/FDE length.  Don't pad to the section alignment.
        update CIE/FDE length.  Don't pad to the section alignment.
2006-05-23  Jie Zhang  
2006-05-23  Jie Zhang  
        * elf32-bfin.c (bfinfdpic_relocate_section): Clear reloc for
        * elf32-bfin.c (bfinfdpic_relocate_section): Clear reloc for
        deteted entries in .eh_frame section.
        deteted entries in .eh_frame section.
2006-05-23  Jie Zhang  
2006-05-23  Jie Zhang  
        * elf32-bfin.c (bfin_check_relocs): Use __GLOBAL_OFFSET_TABLE_
        * elf32-bfin.c (bfin_check_relocs): Use __GLOBAL_OFFSET_TABLE_
        instead of _GLOBAL_OFFSET_TABLE_.
        instead of _GLOBAL_OFFSET_TABLE_.
        (bfin_relocate_section): Ditto.
        (bfin_relocate_section): Ditto.
        (_bfin_create_got_section): Ditto.
        (_bfin_create_got_section): Ditto.
        (elf32_bfinfdpic_create_dynamic_sections): Use
        (elf32_bfinfdpic_create_dynamic_sections): Use
        __PROCEDURE_LINKAGE_TABLE_ instead of _PROCEDURE_LINKAGE_TABLE_.
        __PROCEDURE_LINKAGE_TABLE_ instead of _PROCEDURE_LINKAGE_TABLE_.
        (bfin_finish_dynamic_symbol): Use __DYNAMIC instead of _DYNAMIC.
        (bfin_finish_dynamic_symbol): Use __DYNAMIC instead of _DYNAMIC.
2006-05-23  Alan Modra  
2006-05-23  Alan Modra  
        * elf64-ppc.c (compare_symbols): Prefer strong dynamic global
        * elf64-ppc.c (compare_symbols): Prefer strong dynamic global
        function syms over other syms.
        function syms over other syms.
2006-05-22  Daniel Jacobowitz  
2006-05-22  Daniel Jacobowitz  
        * elflink.c (_bfd_elf_add_dynamic_entry): Remove DT_TEXTREL
        * elflink.c (_bfd_elf_add_dynamic_entry): Remove DT_TEXTREL
        check.
        check.
        (bfd_elf_final_link): Add a late DT_TEXTREL check.
        (bfd_elf_final_link): Add a late DT_TEXTREL check.
        * elfxx-mips.c (MIPS_ELF_READONLY_SECTION): Define.
        * elfxx-mips.c (MIPS_ELF_READONLY_SECTION): Define.
        (mips_elf_create_dynamic_relocation): Set DF_TEXTREL.
        (mips_elf_create_dynamic_relocation): Set DF_TEXTREL.
        (_bfd_mips_elf_check_relocs): Delete MIPS_READONLY_SECTION.
        (_bfd_mips_elf_check_relocs): Delete MIPS_READONLY_SECTION.
        Use MIPS_ELF_READONLY_SECTION.
        Use MIPS_ELF_READONLY_SECTION.
        (_bfd_mips_elf_size_dynamic_sections): Clear DF_TEXTREL after
        (_bfd_mips_elf_size_dynamic_sections): Clear DF_TEXTREL after
        creating DT_TEXTREL.
        creating DT_TEXTREL.
        (_bfd_mips_elf_finish_dynamic_sections): Clear textrel markers
        (_bfd_mips_elf_finish_dynamic_sections): Clear textrel markers
        if no text relocations were generated.
        if no text relocations were generated.
2006-05-19  H.J. Lu  
2006-05-19  H.J. Lu  
        * elfxx-ia64.c (ELF_MAXPAGESIZE): Fix a typo in comment.
        * elfxx-ia64.c (ELF_MAXPAGESIZE): Fix a typo in comment.
2006-05-19  Alan Modra  
2006-05-19  Alan Modra  
        * elf.c (elf_fake_sections): Formatting.
        * elf.c (elf_fake_sections): Formatting.
        (assign_file_positions_for_load_sections): Only add SEC_ALLOC
        (assign_file_positions_for_load_sections): Only add SEC_ALLOC
        sections to p_memsz.  Remove hack for PT_NOTE sections.  Allow
        sections to p_memsz.  Remove hack for PT_NOTE sections.  Allow
        section alignment to increase p_align for PT_LOAD.
        section alignment to increase p_align for PT_LOAD.
        (assign_file_positions_for_non_load_sections): Remove ARM BPABI
        (assign_file_positions_for_non_load_sections): Remove ARM BPABI
        hack for PT_DYNAMIC.  Instead, set p_filesz for all segments
        hack for PT_DYNAMIC.  Instead, set p_filesz for all segments
        other than PT_LOAD, and PT_NOTE in core.
        other than PT_LOAD, and PT_NOTE in core.
2006-05-17  Alan Modra  
2006-05-17  Alan Modra  
        * elf.c (assign_file_positions_for_segments): Split into..
        * elf.c (assign_file_positions_for_segments): Split into..
        (assign_file_positions_for_load_sections): ..this, and..
        (assign_file_positions_for_load_sections): ..this, and..
        (assign_file_positions_for_non_load_sections): ..this new function,..
        (assign_file_positions_for_non_load_sections): ..this new function,..
        (assign_file_positions_except_relocs): ..writing program headers here.
        (assign_file_positions_except_relocs): ..writing program headers here.
2006-05-17  Alan Modra  
2006-05-17  Alan Modra  
        * elflink.c (elf_gc_sweep): Don't specially keep non-alloc,
        * elflink.c (elf_gc_sweep): Don't specially keep non-alloc,
        non-load sections if they have relocs.
        non-load sections if they have relocs.
2006-05-15  Paul Brook  
2006-05-15  Paul Brook  
        * cpu-arm.c (bfd_is_arm_mapping_symbol_name): Rename ...
        * cpu-arm.c (bfd_is_arm_mapping_symbol_name): Rename ...
        (bfd_is_arm_special_symbol_name): ... to this.  Add type argument.
        (bfd_is_arm_special_symbol_name): ... to this.  Add type argument.
        Check symbol name is of specified type.
        Check symbol name is of specified type.
        * elf32-arm.c (elf32_arm_is_target_special_symbol,
        * elf32-arm.c (elf32_arm_is_target_special_symbol,
        arm_elf_find_function, elf32_arm_output_symbol_hook): Use
        arm_elf_find_function, elf32_arm_output_symbol_hook): Use
        bfd_is_arm_special_symbol_name.
        bfd_is_arm_special_symbol_name.
        * bfd-in.h (BFD_ARM_SPECIAL_SYM_TYPE_MAP,
        * bfd-in.h (BFD_ARM_SPECIAL_SYM_TYPE_MAP,
        BFD_ARM_SPECIAL_SYM_TYPE_TAG, BFD_ARM_SPECIAL_SYM_TYPE_OTHER,
        BFD_ARM_SPECIAL_SYM_TYPE_TAG, BFD_ARM_SPECIAL_SYM_TYPE_OTHER,
        BFD_ARM_SPECIAL_SYM_TYPE_ANY): Define.
        BFD_ARM_SPECIAL_SYM_TYPE_ANY): Define.
        (bfd_is_arm_mapping_symbol_name): Remove prototype.
        (bfd_is_arm_mapping_symbol_name): Remove prototype.
        (bfd_is_arm_special_symbol_name): Add prototype.
        (bfd_is_arm_special_symbol_name): Add prototype.
        * bfd-in2.h: Regenerate.
        * bfd-in2.h: Regenerate.
2006-05-15  David Heine  
2006-05-15  David Heine  
            Bob Wilson  
            Bob Wilson  
        * elf32-xtensa.c (check_loop_aligned): Fix reversed check for
        * elf32-xtensa.c (check_loop_aligned): Fix reversed check for
        undefined opcode.  Clean up assertions.
        undefined opcode.  Clean up assertions.
        (narrow_instruction, widen_instruction): Remove "do_it" parameters.
        (narrow_instruction, widen_instruction): Remove "do_it" parameters.
        Factor most of the code into separate functions....
        Factor most of the code into separate functions....
        (can_narrow_instruction, can_widen_instruction): New.
        (can_narrow_instruction, can_widen_instruction): New.
        (prev_instr_is_a_loop): New.
        (prev_instr_is_a_loop): New.
        (compute_ebb_proposed_actions): Combine error handling code for
        (compute_ebb_proposed_actions): Combine error handling code for
        decode errors.  Replace call to insn_decode_len with inline code.
        decode errors.  Replace call to insn_decode_len with inline code.
        Use can_narrow_instruction and can_widen_instruction.  Handle errors
        Use can_narrow_instruction and can_widen_instruction.  Handle errors
        from call to xtensa_opcode_is_loop.
        from call to xtensa_opcode_is_loop.
        (relax_section): Adjust calls to narrow_instruction and
        (relax_section): Adjust calls to narrow_instruction and
        widen_instruction.
        widen_instruction.
2006-05-15  Alan Modra  
2006-05-15  Alan Modra  
        PR 2658
        PR 2658
        * elf32-ppc.c (ppc_elf_relax_section): Don't segfault on non-pic
        * elf32-ppc.c (ppc_elf_relax_section): Don't segfault on non-pic
        -shared link.
        -shared link.
2006-05-11  Michael Matz  
2006-05-11  Michael Matz  
        * elflink.c (match_group_member): Correctly iterate group
        * elflink.c (match_group_member): Correctly iterate group
        members.
        members.
2006-05-11  Paul Brook  
2006-05-11  Paul Brook  
        * elf32-arm.c (elf32_arm_reloc_map): Add MOVW and MOVT relocs.
        * elf32-arm.c (elf32_arm_reloc_map): Add MOVW and MOVT relocs.
        (elf32_arm_final_link_relocate): Handle MOVW and MOVT relocs.
        (elf32_arm_final_link_relocate): Handle MOVW and MOVT relocs.
        (elf32_arm_gc_sweep_hook, elf32_arm_check_relocs): Ditto.
        (elf32_arm_gc_sweep_hook, elf32_arm_check_relocs): Ditto.
        * reloc.c: Ditto.
        * reloc.c: Ditto.
        * bfd-in2.h: Regenerate.
        * bfd-in2.h: Regenerate.
        * libbfd.h: Regenerate.
        * libbfd.h: Regenerate.
        * libcoff.h: Regenerate.
        * libcoff.h: Regenerate.
2006-05-11  Mike Bland  
2006-05-11  Mike Bland  
        * elf.c (_bfd_elf_init_private_section_data): Don't change
        * elf.c (_bfd_elf_init_private_section_data): Don't change
        section type if already set.
        section type if already set.
2006-05-10  Nick Clifton  
2006-05-10  Nick Clifton  
        PR ld/2607
        PR ld/2607
        * elfcode.h (valid_section_index_p): New function: Checks for a
        * elfcode.h (valid_section_index_p): New function: Checks for a
        valid section index.  Allows indicies in the range SHN_LOPROC to
        valid section index.  Allows indicies in the range SHN_LOPROC to
        SHN_HIOS.
        SHN_HIOS.
        (elf_object_p): Use valid_section_index_p.
        (elf_object_p): Use valid_section_index_p.
2006-05-11  Pedro Alves  
2006-05-11  Pedro Alves  
        * coff-arm.c (ARM_26D, ARM_32, ARM_RVA_32, ARM_SECTION,
        * coff-arm.c (ARM_26D, ARM_32, ARM_RVA_32, ARM_SECTION,
        ARM_SECREL): Mark WinCE versions of these relocs as partial
        ARM_SECREL): Mark WinCE versions of these relocs as partial
        inplace.
        inplace.
        (coff_arm_relocate_section): Adjust addend for WinCE.
        (coff_arm_relocate_section): Adjust addend for WinCE.
2006-05-10  Alan Modra  
2006-05-10  Alan Modra  
        PR 2342
        PR 2342
        * elflink.c (_bfd_elf_default_action_discarded): Revert 2006-02-16.
        * elflink.c (_bfd_elf_default_action_discarded): Revert 2006-02-16.
2006-05-09  Nick Clifton  
2006-05-09  Nick Clifton  
        * coffcode.h (coff_write_relocs): Produce an error message if a an
        * coffcode.h (coff_write_relocs): Produce an error message if a an
        out-of-range symbol index is detected in a reloc.
        out-of-range symbol index is detected in a reloc.
2006-05-09  Ben Elliston  
2006-05-09  Ben Elliston  
        * elf64-ppc.c (ppc64_elf_finish_dynamic_symbol): Remove unused
        * elf64-ppc.c (ppc64_elf_finish_dynamic_symbol): Remove unused
        local variable `dynobj'.
        local variable `dynobj'.
2006-05-05  Bjoern Haase  
2006-05-05  Bjoern Haase  
        * elf32-avr.c (elf32_avr_relax_delete_bytes): Iterate over all
        * elf32-avr.c (elf32_avr_relax_delete_bytes): Iterate over all
        of the bfd's sections for the reloc-addend adjustments.
        of the bfd's sections for the reloc-addend adjustments.
2006-05-05  Martin Schwidefsky  
2006-05-05  Martin Schwidefsky  
        * elf32-s390.c (invalid_tls_insn): Call bfd_set_error.
        * elf32-s390.c (invalid_tls_insn): Call bfd_set_error.
        (elf_s390_relocate_section): Add code to do the GD->LE and
        (elf_s390_relocate_section): Add code to do the GD->LE and
        LD->LE TLS linker optimizations if a brasl instruction is used
        LD->LE TLS linker optimizations if a brasl instruction is used
        for the __tls_get_offset function call.
        for the __tls_get_offset function call.
        * elf64-s390.c (invalid_tls_insn): Call bfd_set_error.
        * elf64-s390.c (invalid_tls_insn): Call bfd_set_error.
2006-05-05  Alan Modra  
2006-05-05  Alan Modra  
        * elf64-ppc.c (ppc64_elf_tls_optimize): Only optimize
        * elf64-ppc.c (ppc64_elf_tls_optimize): Only optimize
        R_PPC64_TPREL64 and R_PPC64_DTPMOD64 relocs when they are in
        R_PPC64_TPREL64 and R_PPC64_DTPMOD64 relocs when they are in
        the .toc and referenced by a TLS code sequence.
        the .toc and referenced by a TLS code sequence.
        (ppc64_elf_edit_toc): Cater for the unlikely situation that
        (ppc64_elf_edit_toc): Cater for the unlikely situation that
        .toc is the first section in a file.
        .toc is the first section in a file.
2006-05-04  Andreas Schwab  
2006-05-04  Andreas Schwab  
        * aoutf1.h (struct external_sparc_core): Declare c_regs as struct
        * aoutf1.h (struct external_sparc_core): Declare c_regs as struct
        regs instead of an array of int.
        regs instead of an array of int.
        (struct external_solaris_bcp_core): Likewise.
        (struct external_solaris_bcp_core): Likewise.
        (swapcore_sun3): Use offsetof instead of computing the offset
        (swapcore_sun3): Use offsetof instead of computing the offset
        manually.
        manually.
        (swapcore_sparc): Likewise.  Simplify reference to c_regs.
        (swapcore_sparc): Likewise.  Simplify reference to c_regs.
        (swapcore_solaris_bcp): Likewise.
        (swapcore_solaris_bcp): Likewise.
2006-05-04  Daniel Jacobowitz  
2006-05-04  Daniel Jacobowitz  
        * elfxx-mips.c (_bfd_mips_elf_hide_symbol): Adjust handling
        * elfxx-mips.c (_bfd_mips_elf_hide_symbol): Adjust handling
        for missing GOTs.
        for missing GOTs.
2006-05-04  Daniel Jacobowitz  
2006-05-04  Daniel Jacobowitz  
        * cpu-arm.c (bfd_is_arm_mapping_symbol_name): Accept more
        * cpu-arm.c (bfd_is_arm_mapping_symbol_name): Accept more
        mapping symbols.
        mapping symbols.
2006-05-04  Ben Elliston  
2006-05-04  Ben Elliston  
        * coff-or32.c (bfd_section_from_shdr): Remove unused local
        * coff-or32.c (bfd_section_from_shdr): Remove unused local
        variable `ptr'.
        variable `ptr'.
        * cofflink.c (process_embedded_commands): Remove unused local
        * cofflink.c (process_embedded_commands): Remove unused local
        variables `had_read' and `had_shared'.
        variables `had_read' and `had_shared'.
        * ecofflink.c (bfd_ecoff_debug_accumulate): Remove unused local
        * ecofflink.c (bfd_ecoff_debug_accumulate): Remove unused local
        variable `fdr_adr'.
        variable `fdr_adr'.
        * ihex.c (ihex_read_section): Remove unused local variable `addr'.
        * ihex.c (ihex_read_section): Remove unused local variable `addr'.
2006-05-03  Alan Modra  
2006-05-03  Alan Modra  
        * libbfd-in.h (_bfd_generic_new_section_hook): Declare.
        * libbfd-in.h (_bfd_generic_new_section_hook): Declare.
        * section.c (bfd_abs_symbol, bfd_com_symbol): Delete.
        * section.c (bfd_abs_symbol, bfd_com_symbol): Delete.
        (bfd_und_symbol, bfd_ind_symbol): Delete.
        (bfd_und_symbol, bfd_ind_symbol): Delete.
        (BFD_FAKE_SECTION): Remove SYM_PTR param, set symbol_ptr_ptr to
        (BFD_FAKE_SECTION): Remove SYM_PTR param, set symbol_ptr_ptr to
        &SEC.symbol.
        &SEC.symbol.
        (STD_SECTION): Adjust.
        (STD_SECTION): Adjust.
        (_bfd_generic_new_section_hook): New function, extracted from..
        (_bfd_generic_new_section_hook): New function, extracted from..
        (bfd_section_init): ..here.
        (bfd_section_init): ..here.
        (bfd_make_section_old_way): Call new_section_hook for abs, com,
        (bfd_make_section_old_way): Call new_section_hook for abs, com,
        und and ind sections.
        und and ind sections.
        * elf.c (_bfd_elf_large_com_section): Adjust.
        * elf.c (_bfd_elf_large_com_section): Adjust.
        * aoutx.h (new_section_hook): Call _bfd_generic_new_section_hook.
        * aoutx.h (new_section_hook): Call _bfd_generic_new_section_hook.
        * pdp11.c (new_section_hook): Likewise.
        * pdp11.c (new_section_hook): Likewise.
        * coffcode.h (coff_new_section_hook): Likewise.
        * coffcode.h (coff_new_section_hook): Likewise.
        * ecoff.c (_bfd_ecoff_new_section_hook): Likewise.
        * ecoff.c (_bfd_ecoff_new_section_hook): Likewise.
        * elf.c (_bfd_elf_new_section_hook): Likewise.
        * elf.c (_bfd_elf_new_section_hook): Likewise.
        * vms.c (vms_new_section_hook): Likwise.
        * vms.c (vms_new_section_hook): Likwise.
        * elf32-arm.c (elf32_arm_new_section_hook): Check used_by_bfd isn't
        * elf32-arm.c (elf32_arm_new_section_hook): Check used_by_bfd isn't
        already set.
        already set.
        * elf32-sh64.c (sh64_elf_new_section_hook): Likewise.
        * elf32-sh64.c (sh64_elf_new_section_hook): Likewise.
        * elf32-xtensa.c (elf_xtensa_new_section_hook): Likewise.
        * elf32-xtensa.c (elf_xtensa_new_section_hook): Likewise.
        * elf64-mmix.c (mmix_elf_new_section_hook): Likewise.
        * elf64-mmix.c (mmix_elf_new_section_hook): Likewise.
        * elf64-ppc.c (ppc64_elf_new_section_hook): Likewise.
        * elf64-ppc.c (ppc64_elf_new_section_hook): Likewise.
        * elfxx-mips.c (_bfd_mips_elf_new_section_hook): Likewise.
        * elfxx-mips.c (_bfd_mips_elf_new_section_hook): Likewise.
        * elfxx-sparc.c (_bfd_sparc_elf_new_section_hook): Likewise.
        * elfxx-sparc.c (_bfd_sparc_elf_new_section_hook): Likewise.
        * ieee.c (ieee_new_section_hook): Likewise.  Call
        * ieee.c (ieee_new_section_hook): Likewise.  Call
        _bfd_generic_new_section_hook too.
        _bfd_generic_new_section_hook too.
        * mmo.c (mmo_new_section_hook): Likewise.
        * mmo.c (mmo_new_section_hook): Likewise.
        * oasys.c (oasys_new_section_hook): Likewise.
        * oasys.c (oasys_new_section_hook): Likewise.
        * som.c (som_new_section_hook): Likewise.
        * som.c (som_new_section_hook): Likewise.
        * coff-w65.c (reloc_processing): Don't use bfd_abs_symbol.
        * coff-w65.c (reloc_processing): Don't use bfd_abs_symbol.
        * bfd-in2.h: Regenerate.
        * bfd-in2.h: Regenerate.
        * libbfd.h: Regenerate.
        * libbfd.h: Regenerate.
2006-05-03  Alan Modra  
2006-05-03  Alan Modra  
        * hash.c (DEFAULT_SIZE): Revert last change.
        * hash.c (DEFAULT_SIZE): Revert last change.
        (higher_prime_number): Correct test for no larger prime.  Don't
        (higher_prime_number): Correct test for no larger prime.  Don't
        abort on error, instead return 0.  Depopulate primes[].
        abort on error, instead return 0.  Depopulate primes[].
        (bfd_hash_lookup): If we overflow size, refuse to grow table.
        (bfd_hash_lookup): If we overflow size, refuse to grow table.
2006-05-02  Paul Brook  
2006-05-02  Paul Brook  
        * elf32-arm.c (elf32_arm_final_link_relocate): Set thumb funciton bit
        * elf32-arm.c (elf32_arm_final_link_relocate): Set thumb funciton bit
        for R_ARM_REL32.
        for R_ARM_REL32.
2006-05-02  Ben Elliston  
2006-05-02  Ben Elliston  
        * archive.c (bfd_generic_archive_p): Remove unused local variable
        * archive.c (bfd_generic_archive_p): Remove unused local variable
        `fail'.
        `fail'.
        * dwarf2.c (decode_line_info): Remove unused local variable
        * dwarf2.c (decode_line_info): Remove unused local variable
        `basic_block'.
        `basic_block'.
        * elfcode.h (elf_slurp_reloc_table_from_section): Remove unused
        * elfcode.h (elf_slurp_reloc_table_from_section): Remove unused
        local variable `s'.
        local variable `s'.
        * tekhex.c (tekhex_write_object_contents): Remove unused local
        * tekhex.c (tekhex_write_object_contents): Remove unused local
        variable `bytes_written'.
        variable `bytes_written'.
        * aout-ns32k.c (MY_swap_std_reloc_out): Remove unused local
        * aout-ns32k.c (MY_swap_std_reloc_out): Remove unused local
        variable `r_addend'.
        variable `r_addend'.
        * elf32-dlx.c (dlx_rtype_to_howto): Remove breaks after returns.
        * elf32-dlx.c (dlx_rtype_to_howto): Remove breaks after returns.
        * elfxx-mips.c (_bfd_elf_mips_mach): Remove breaks after returns.
        * elfxx-mips.c (_bfd_elf_mips_mach): Remove breaks after returns.
        (_bfd_ns32k_relocate_contents): Remove break after return.
        (_bfd_ns32k_relocate_contents): Remove break after return.
        * elf.c (bfd_section_from_shdr): Remove breaks after returns.
        * elf.c (bfd_section_from_shdr): Remove breaks after returns.
2006-05-02  Nick Clifton  
2006-05-02  Nick Clifton  
        * elf32-sh-symbian.c: Rename local define DEBUG to SYMBIAN_DEBUG
        * elf32-sh-symbian.c: Rename local define DEBUG to SYMBIAN_DEBUG
        in order to avoid conflicts with the global DEBUG define.
        in order to avoid conflicts with the global DEBUG define.
2006-05-02  Alan Modra  
2006-05-02  Alan Modra  
        * dwarf2.c: Formatting.
        * dwarf2.c: Formatting.
        * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Simplify
        * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Simplify
        output section check.
        output section check.
        * elf32-i370.c: Warning fixes inside #ifdef DEBUG.
        * elf32-i370.c: Warning fixes inside #ifdef DEBUG.
        * elf32-m32c.c: Similarly.
        * elf32-m32c.c: Similarly.
        * elf32-ppc.c: Similarly.
        * elf32-ppc.c: Similarly.
        * elf32-v850.c: Similarly.
        * elf32-v850.c: Similarly.
        * nlm32-sparc.c: Similarly.
        * nlm32-sparc.c: Similarly.
        * elfcode.h: Similarly.
        * elfcode.h: Similarly.
        (elf_symbol_flags): Delete.
        (elf_symbol_flags): Delete.
        * elflink.c (elf_link_input_bfd): Comment typo.
        * elflink.c (elf_link_input_bfd): Comment typo.
2006-05-01  DJ Delorie  
2006-05-01  DJ Delorie  
        * bfd-in.h (bfd_hash_table): Add count field.
        * bfd-in.h (bfd_hash_table): Add count field.
        * bfd-in2.h: Regenerate.
        * bfd-in2.h: Regenerate.
        * hash.c (higher_prime_number): New.
        * hash.c (higher_prime_number): New.
        (bfd_hash_table_inint_n): Init count field.
        (bfd_hash_table_inint_n): Init count field.
        (bfd_hash_lookup): Grow table as needed.
        (bfd_hash_lookup): Grow table as needed.
2006-04-27  Kaz Kojima  
2006-04-27  Kaz Kojima  
        PR binutils/2584
        PR binutils/2584
        * tekhex.c (getvalue): Change return type to bfd_boolean and
        * tekhex.c (getvalue): Change return type to bfd_boolean and
        add the new parameter.  Return false if the unexpected character
        add the new parameter.  Return false if the unexpected character
        is found.
        is found.
        (getsym): Likewise.
        (getsym): Likewise.
        (first_phase): Change return type to bfd_boolean and return
        (first_phase): Change return type to bfd_boolean and return
        false if the unexpected character is found.  Replace abort
        false if the unexpected character is found.  Replace abort
        with returning false.
        with returning false.
        (pass_over): Change return type to bfd_boolean and the type of
        (pass_over): Change return type to bfd_boolean and the type of
        the second argument to bfd_boolean (*) (bfd *, int, char *).
        the second argument to bfd_boolean (*) (bfd *, int, char *).
        Return false if FUNC returns false.
        Return false if FUNC returns false.
        (tekhex_object_p): Return NULL if pass_over fails.
        (tekhex_object_p): Return NULL if pass_over fails.
2006-04-27  Alan Modra  
2006-04-27  Alan Modra  
        * coff-rs6000.c (xcoff_write_archive_contents_old): Warning fix.
        * coff-rs6000.c (xcoff_write_archive_contents_old): Warning fix.
2006-04-26  H.J. Lu  
2006-04-26  H.J. Lu  
        PR binutils/2593
        PR binutils/2593
        * elf.c (_bfd_elf_new_section_hook): Don't set section ELF type
        * elf.c (_bfd_elf_new_section_hook): Don't set section ELF type
        and flags if its BFD flags have been set.
        and flags if its BFD flags have been set.
        (_bfd_elf_init_private_section_data): Don't copy the output ELF
        (_bfd_elf_init_private_section_data): Don't copy the output ELF
        section type from input if it has been set to something
        section type from input if it has been set to something
        different.
        different.
2006-04-25  H.J. Lu  
2006-04-25  H.J. Lu  
        PR binutils/2467
        PR binutils/2467
        * elf.c (_bfd_elf_close_and_cleanup): Check elf_tdata (abfd)
        * elf.c (_bfd_elf_close_and_cleanup): Check elf_tdata (abfd)
        is NULL first.
        is NULL first.
        * elf32-arm.c (elf32_arm_close_and_cleanup): Check if
        * elf32-arm.c (elf32_arm_close_and_cleanup): Check if
        abfd->sections is NULL.
        abfd->sections is NULL.
        (elf32_arm_bfd_free_cached_info): New.
        (elf32_arm_bfd_free_cached_info): New.
        (bfd_elf32_bfd_free_cached_info): Defined.
        (bfd_elf32_bfd_free_cached_info): Defined.
        * elfxx-target.h (bfd_elfNN_bfd_free_cached_info): Default it
        * elfxx-target.h (bfd_elfNN_bfd_free_cached_info): Default it
        to _bfd_free_cached_info.
        to _bfd_free_cached_info.
        * libbfd-in.h (_bfd_free_cached_info): New.
        * libbfd-in.h (_bfd_free_cached_info): New.
        * libbfd: Regenerated.
        * libbfd: Regenerated.
        * opncls.c (_bfd_delete_bfd): Check if abfd->memory is NULL.
        * opncls.c (_bfd_delete_bfd): Check if abfd->memory is NULL.
        (_bfd_free_cached_info): New.
        (_bfd_free_cached_info): New.
2006-04-21  Alan Modra  
2006-04-21  Alan Modra  
        * elf.c (assign_file_positions_except_relocs): Move code setting
        * elf.c (assign_file_positions_except_relocs): Move code setting
        file position of non-loaded sections..
        file position of non-loaded sections..
        (assign_file_positions_for_segments): ..to here.
        (assign_file_positions_for_segments): ..to here.
2006-04-20  H.J. Lu  
2006-04-20  H.J. Lu  
        PR ld/2537
        PR ld/2537
        * elf.c (bfd_section_from_shdr): Allow sections reserved for
        * elf.c (bfd_section_from_shdr): Allow sections reserved for
        applications. Issue an error on sections we don't know how
        applications. Issue an error on sections we don't know how
        to handle.
        to handle.
2006-04-19  Alan Modra  
2006-04-19  Alan Modra  
        * Makefile.am: Run "make dep-am".
        * Makefile.am: Run "make dep-am".
        * Makefile.in: Regenerate.
        * Makefile.in: Regenerate.
2006-04-19  Alan Modra  
2006-04-19  Alan Modra  
        * warning.m4 (--enable-werror): Format help message.
        * warning.m4 (--enable-werror): Format help message.
        (--enable-build-warnings): Likewise.
        (--enable-build-warnings): Likewise.
        * configure: Regenerate.
        * configure: Regenerate.
2006-04-18  Nick Clifton  
2006-04-18  Nick Clifton  
        PR 2257
        PR 2257
        * elfcode.h (elf_object_p): Allow files with corrupt e_shstrndx
        * elfcode.h (elf_object_p): Allow files with corrupt e_shstrndx
        fields to still be handled as ELF files.
        fields to still be handled as ELF files.
2006-04-16  Daniel Jacobowitz  
2006-04-16  Daniel Jacobowitz  
        * po/SRC-POTFILES.in: Regenerated.
        * po/SRC-POTFILES.in: Regenerated.
2006-04-16  Daniel Jacobowitz  
2006-04-16  Daniel Jacobowitz  
        * configure.in: Update version to 2.17.50.
        * configure.in: Update version to 2.17.50.
        * configure: Regenerated.
        * configure: Regenerated.
2006-04-14  David Heine  
2006-04-14  David Heine  
        * elf32-xtensa.c (build_reloc_opcodes): New.
        * elf32-xtensa.c (build_reloc_opcodes): New.
        (compute_text_actions): Use it to decode opcodes outside inner loop.
        (compute_text_actions): Use it to decode opcodes outside inner loop.
        (check_section_ebb_pcrels_fit): Add "reloc_opcodes" argument, and if
        (check_section_ebb_pcrels_fit): Add "reloc_opcodes" argument, and if
        it is set, use it to get the opcodes for relocations.
        it is set, use it to get the opcodes for relocations.
        (move_shared_literal): Adjust call to check_section_ebb_pcrels_fit.
        (move_shared_literal): Adjust call to check_section_ebb_pcrels_fit.
2006-04-08  H.J. Lu  
2006-04-08  H.J. Lu  
        PR ld/2513
        PR ld/2513
        * elf32-i386.c (GOT_TLS_MASK): New macro for tls_type.
        * elf32-i386.c (GOT_TLS_MASK): New macro for tls_type.
        (GOT_TLS_IE_IE): Likewise.
        (GOT_TLS_IE_IE): Likewise.
        (GOT_TLS_IE_GD): Likewise.
        (GOT_TLS_IE_GD): Likewise.
        (GOT_TLS_IE_MASK): Likewise.
        (GOT_TLS_IE_MASK): Likewise.
        (elf_i386_check_relocs): For global symbols, set GOT_TLS_IE_GD
        (elf_i386_check_relocs): For global symbols, set GOT_TLS_IE_GD
        and GOT_TLS_IE_IE for R_386_TLS_GD and R_386_TLS_IE
        and GOT_TLS_IE_IE for R_386_TLS_GD and R_386_TLS_IE
        respectively.
        respectively.
        (allocate_dynrelocs): If both GOT_TLS_IE_IE and GOT_TLS_IE_GD
        (allocate_dynrelocs): If both GOT_TLS_IE_IE and GOT_TLS_IE_GD
        are set, treat tls_type as GOT_TLS_IE_BOTH.
        are set, treat tls_type as GOT_TLS_IE_BOTH.
        (elf_i386_relocate_section): Likewise.
        (elf_i386_relocate_section): Likewise.
2006-04-07  Randolph Chung  
2006-04-07  Randolph Chung  
        * elf64-hppa.c (elf64_hppa_grok_prstatus): New function.
        * elf64-hppa.c (elf64_hppa_grok_prstatus): New function.
        (elf64_hppa_grok_psinfo): Likewise.
        (elf64_hppa_grok_psinfo): Likewise.
        (elf_backend_grok_pstatus, elf_backend_grok_psinfo): Define.
        (elf_backend_grok_pstatus, elf_backend_grok_psinfo): Define.
2006-04-06  DJ Delorie  
2006-04-06  DJ Delorie  
        * elf32-m32c.c (m32c_elf_relocate_section): Generate a symbol for
        * elf32-m32c.c (m32c_elf_relocate_section): Generate a symbol for
        each plt entry we create.
        each plt entry we create.
2006-04-06  Carlos O'Donell  
2006-04-06  Carlos O'Donell  
        * po/Make-in: Add install-html target.
        * po/Make-in: Add install-html target.
        * Makefile.am: Rename docdir to bfddocdir. Add datarootdir, docdir
        * Makefile.am: Rename docdir to bfddocdir. Add datarootdir, docdir
        htmldir. Add install-html and install-html-recursive targets.
        htmldir. Add install-html and install-html-recursive targets.
        * Makefile.in: Regenerate.
        * Makefile.in: Regenerate.
        * configure.in: AC_SUBST for datarootdir, docdir and htmldir.
        * configure.in: AC_SUBST for datarootdir, docdir and htmldir.
        * configure: Regenerate.
        * configure: Regenerate.
2006-04-06  H.J. Lu  
2006-04-06  H.J. Lu  
        * elfxx-ia64.c (elfNN_ia64_relax_section): Skip unneeded passes
        * elfxx-ia64.c (elfNN_ia64_relax_section): Skip unneeded passes
        with the skip_relax_pass_0 and skip_relax_pass_1 bits in the
        with the skip_relax_pass_0 and skip_relax_pass_1 bits in the
        section structure.
        section structure.
2006-04-05  Bernd Schmidt  
2006-04-05  Bernd Schmidt  
        * elf32-bfin.c (bfinfdpic_relocs_info_hash): Sprinkle casts to
        * elf32-bfin.c (bfinfdpic_relocs_info_hash): Sprinkle casts to
        eliminate warnings.
        eliminate warnings.
2006-04-05  H.J. Lu  
2006-04-05  H.J. Lu  
            James E Wilson  
            James E Wilson  
        PR ld/2442
        PR ld/2442
        * elfxx-ia64.c (elfNN_ia64_dyn_sym_info): Remove next.
        * elfxx-ia64.c (elfNN_ia64_dyn_sym_info): Remove next.
        (elfNN_ia64_local_hash_entry): Add count, sorted_count and
        (elfNN_ia64_local_hash_entry): Add count, sorted_count and
        size.
        size.
        (elfNN_ia64_link_hash_entry): Likewise.
        (elfNN_ia64_link_hash_entry): Likewise.
        (elfNN_ia64_new_elf_hash_entry): Initialize count, sorted_count
        (elfNN_ia64_new_elf_hash_entry): Initialize count, sorted_count
        and size.
        and size.
        (elfNN_ia64_hash_copy_indirect): Updated elfNN_ia64_dyn_sym_info
        (elfNN_ia64_hash_copy_indirect): Updated elfNN_ia64_dyn_sym_info
        processing.
        processing.
        (elfNN_ia64_hash_hide_symbol): Likewise.
        (elfNN_ia64_hash_hide_symbol): Likewise.
        (elfNN_ia64_global_dyn_sym_thunk): Likewise.
        (elfNN_ia64_global_dyn_sym_thunk): Likewise.
        (elfNN_ia64_local_dyn_sym_thunk): Likewise.
        (elfNN_ia64_local_dyn_sym_thunk): Likewise.
        (elfNN_ia64_global_dyn_info_free): New function.
        (elfNN_ia64_global_dyn_info_free): New function.
        (elfNN_ia64_local_dyn_info_free): Likewise.
        (elfNN_ia64_local_dyn_info_free): Likewise.
        (elfNN_ia64_hash_table_free): Free local and global
        (elfNN_ia64_hash_table_free): Free local and global
        elfNN_ia64_dyn_sym_info.
        elfNN_ia64_dyn_sym_info.
        (addend_compare): New function.
        (addend_compare): New function.
        (sort_dyn_sym_info): Likewise.
        (sort_dyn_sym_info): Likewise.
        (get_dyn_sym_info): Updated to use binary search for addend.
        (get_dyn_sym_info): Updated to use binary search for addend.
        (elfNN_ia64_check_relocs): Scan relocations to create dynamic
        (elfNN_ia64_check_relocs): Scan relocations to create dynamic
        relocation arrays first.
        relocation arrays first.
2006-04-05  Bernd Schmidt  
2006-04-05  Bernd Schmidt  
        * elf32-bfin.c (_bfin_create_got_section): Don't generate a _gp
        * elf32-bfin.c (_bfin_create_got_section): Don't generate a _gp
        symbol.
        symbol.
2006-04-05  H.J. Lu  
2006-04-05  H.J. Lu  
        PR ld/2411
        PR ld/2411
        * elflink.c (check_dynsym): New.
        * elflink.c (check_dynsym): New.
        (elf_link_output_extsym): Use it.
        (elf_link_output_extsym): Use it.
        (bfd_elf_final_link): Likewise.
        (bfd_elf_final_link): Likewise.
2006-04-05  H.J. Lu  
2006-04-05  H.J. Lu  
        PR ld/2404
        PR ld/2404
        * elflink.c (_bfd_elf_merge_symbol): Skip the default indirect
        * elflink.c (_bfd_elf_merge_symbol): Skip the default indirect
        symbol from the dynamic definition with the default version if
        symbol from the dynamic definition with the default version if
        its type and the type of existing regular definition mismatch.
        its type and the type of existing regular definition mismatch.
2006-04-05  Richard Sandiford  
2006-04-05  Richard Sandiford  
            Daniel Jacobowitz  
            Daniel Jacobowitz  
        * config.bfd (sparc-*-vxworks*): New stanza.
        * config.bfd (sparc-*-vxworks*): New stanza.
        * configure.in (bfd_elf32_sparc_vxworks_vec): New stanza.
        * configure.in (bfd_elf32_sparc_vxworks_vec): New stanza.
        (bfd_elf32_sparc_vec, bfd_elf64_sparc_vec): Add elf-vxworks.lo.
        (bfd_elf32_sparc_vec, bfd_elf64_sparc_vec): Add elf-vxworks.lo.
        * configure: Regenerate.
        * configure: Regenerate.
        * elf32-sparc.c: Include elf-vxworks.h.
        * elf32-sparc.c: Include elf-vxworks.h.
        (elf32_sparc_vxworks_link_hash_table_create: New.
        (elf32_sparc_vxworks_link_hash_table_create: New.
        (elf32_sparc_vxworks_final_write_processing): New.
        (elf32_sparc_vxworks_final_write_processing): New.
        (TARGET_BIG_SYM): Override for VxWorks.
        (TARGET_BIG_SYM): Override for VxWorks.
        (TARGET_BIG_NAME, ELF_MINPAGESIZE): Likewise.
        (TARGET_BIG_NAME, ELF_MINPAGESIZE): Likewise.
        (bfd_elf32_bfd_link_hash_table_create): Likewise.
        (bfd_elf32_bfd_link_hash_table_create): Likewise.
        (elf_backend_want_got_plt, elf_backend_plt_readonly): Likewise.
        (elf_backend_want_got_plt, elf_backend_plt_readonly): Likewise.
        (elf_backend_got_header_size, elf_backend_add_symbol_hook): Likewise.
        (elf_backend_got_header_size, elf_backend_add_symbol_hook): Likewise.
        (elf_backend_link_output_symbol_hook): Likewise.
        (elf_backend_link_output_symbol_hook): Likewise.
        (elf_backend_emit_relocs): Likewise.
        (elf_backend_emit_relocs): Likewise.
        (elf_backend_final_write_processing, elf32_bed): Likewise.
        (elf_backend_final_write_processing, elf32_bed): Likewise.
        * elfxx-sparc.c: Include libiberty.h and elf-vxworks.h.
        * elfxx-sparc.c: Include libiberty.h and elf-vxworks.h.
        (sparc_vxworks_exec_plt0_entry, sparc_vxworks_exec_plt_entry): New.
        (sparc_vxworks_exec_plt0_entry, sparc_vxworks_exec_plt_entry): New.
        (sparc_vxworks_shared_plt0_entry, sparc_vxworks_shared_plt_entry): New.
        (sparc_vxworks_shared_plt0_entry, sparc_vxworks_shared_plt_entry): New.
        (_bfd_sparc_elf_link_hash_table_create): Don't initialize
        (_bfd_sparc_elf_link_hash_table_create): Don't initialize
        build_plt_entry here.
        build_plt_entry here.
        (create_got_section): Initialize sgotplt for VxWorks.
        (create_got_section): Initialize sgotplt for VxWorks.
        (_bfd_sparc_elf_create_dynamic_sections): Initialize build_plt_entry,
        (_bfd_sparc_elf_create_dynamic_sections): Initialize build_plt_entry,
        plt_header_size and plt_entry_size, with new VxWorks-specific settings.
        plt_header_size and plt_entry_size, with new VxWorks-specific settings.
        Call elf_vxworks_create_dynamic_sections for VxWorks.
        Call elf_vxworks_create_dynamic_sections for VxWorks.
        (allocate_dynrelocs): Use plt_header_size and plt_entry_size.
        (allocate_dynrelocs): Use plt_header_size and plt_entry_size.
        Allocate room for .got.plt and .rela.plt.unloaded entries on VxWorks.
        Allocate room for .got.plt and .rela.plt.unloaded entries on VxWorks.
        (_bfd_sparc_elf_size_dynamic_sections): Don't allocate a nop in .plt
        (_bfd_sparc_elf_size_dynamic_sections): Don't allocate a nop in .plt
        for VxWorks.  Check for the .got.plt section.
        for VxWorks.  Check for the .got.plt section.
        (sparc_vxworks_build_plt_entry): New function.
        (sparc_vxworks_build_plt_entry): New function.
        (_bfd_sparc_elf_finish_dynamic_symbol): Add handling of VxWorks PLTs.
        (_bfd_sparc_elf_finish_dynamic_symbol): Add handling of VxWorks PLTs.
        Don't make _GLOBAL_OFFSET_TABLE_ and _PROCEDURE_LINKAGE_TABLE_
        Don't make _GLOBAL_OFFSET_TABLE_ and _PROCEDURE_LINKAGE_TABLE_
        absolute on VxWorks.
        absolute on VxWorks.
        (sparc32_finish_dyn): Add special handling for DT_RELASZ
        (sparc32_finish_dyn): Add special handling for DT_RELASZ
        and DT_PLTGOT on VxWorks.
        and DT_PLTGOT on VxWorks.
        (sparc_vxworks_finish_exec_plt): New.
        (sparc_vxworks_finish_exec_plt): New.
        (sparc_vxworks_finish_shared_plt): New.
        (sparc_vxworks_finish_shared_plt): New.
        (_bfd_sparc_elf_finish_dynamic_sections): Call them.
        (_bfd_sparc_elf_finish_dynamic_sections): Call them.
        Use plt_header_size and plt_entry_size.
        Use plt_header_size and plt_entry_size.
        * elfxx-sparc.h (_bfd_sparc_elf_link_hash_table): Add is_vxworks,
        * elfxx-sparc.h (_bfd_sparc_elf_link_hash_table): Add is_vxworks,
        srelplt2, sgotplt, plt_header_size and plt_entry_size fields.
        srelplt2, sgotplt, plt_header_size and plt_entry_size fields.
        * Makefile.am (elfxx-sparc.lo): Depend on elf-vxworks.h.
        * Makefile.am (elfxx-sparc.lo): Depend on elf-vxworks.h.
        (elf32-sparc.lo): Likewise.
        (elf32-sparc.lo): Likewise.
        * Makefile.in: Regenerate.
        * Makefile.in: Regenerate.
        * targets.c (bfd_elf32_sparc_vxworks_vec): Declare.
        * targets.c (bfd_elf32_sparc_vxworks_vec): Declare.
        (_bfd_target_vector): Add a pointer to it.
        (_bfd_target_vector): Add a pointer to it.
2006-03-30  Ben Elliston  
2006-03-30  Ben Elliston  
        PR ld/2267
        PR ld/2267
        * elflink.c (elf_fixup_link_order): Ensure `elfsec' is not a
        * elflink.c (elf_fixup_link_order): Ensure `elfsec' is not a
        special section number that exceeds the number of ELF sections
        special section number that exceeds the number of ELF sections
        (eg. SHN_MIPS_SCOMMON).
        (eg. SHN_MIPS_SCOMMON).
2006-03-27  Richard Sandiford  
2006-03-27  Richard Sandiford  
        * elfxx-mips.c (mips_got_entry): Add more commentary.
        * elfxx-mips.c (mips_got_entry): Add more commentary.
        (mips_elf_local_got_index): Use the hash table entry to record
        (mips_elf_local_got_index): Use the hash table entry to record
        the GOT index of forced-local symbols.
        the GOT index of forced-local symbols.
        (mips_elf_initialize_tls_index): Rearrange code.  Store the index
        (mips_elf_initialize_tls_index): Rearrange code.  Store the index
        in either the hash table entry or the mips_got_entry, not both.
        in either the hash table entry or the mips_got_entry, not both.
        Add more commentary.
        Add more commentary.
        (mips_elf_multi_got): Make sure the g->next is nonnull when calling
        (mips_elf_multi_got): Make sure the g->next is nonnull when calling
        mips_elf_initialize_tls_index.
        mips_elf_initialize_tls_index.
2006-03-25  Bernd Schmidt  
2006-03-25  Bernd Schmidt  
        * elf32-bfin.c (bfd_const_reloc, bfd_oper_reloc, bfin_push_reloc,
        * elf32-bfin.c (bfd_const_reloc, bfd_oper_reloc, bfin_push_reloc,
        RELOC_STACK_SIZE, reloc_stack, reloc_stack_tos, is_reloc_stack_empty,
        RELOC_STACK_SIZE, reloc_stack, reloc_stack_tos, is_reloc_stack_empty,
        reloc_stack_push, reloc_stack_pop, reloc_stack_operate,
        reloc_stack_push, reloc_stack_pop, reloc_stack_operate,
        bfin_areloc_howto_table): Delete.  All
        bfin_areloc_howto_table): Delete.  All
        uses deleted as well.
        uses deleted as well.
        (bfin_reloc_map): Delete all stack relocs.
        (bfin_reloc_map): Delete all stack relocs.
        (bfin_info_to_howto, bfin_bfd_reloc_type_lookup,
        (bfin_info_to_howto, bfin_bfd_reloc_type_lookup,
        bfin_reloc_type_lookup): Don't support them.
        bfin_reloc_type_lookup): Don't support them.
        (bfin_relocate_section): Don't try to handle them.
        (bfin_relocate_section): Don't try to handle them.
        * config.bfd (bfin-*-*): Add bfd_elf32_bfinfdpic_vec.
        * config.bfd (bfin-*-*): Add bfd_elf32_bfinfdpic_vec.
        * configure.in: Likewise.
        * configure.in: Likewise.
        * configure: Regenerate.
        * configure: Regenerate.
        * elf32-bfin.c: Include "elf/dwarf2.h" and "hashtab.h".
        * elf32-bfin.c: Include "elf/dwarf2.h" and "hashtab.h".
        (BFIN_RELOC_MAX): Now 0x21.
        (BFIN_RELOC_MAX): Now 0x21.
        (bfin_howto_table, bfin_reloc_map): Add FD-PIC relocs.
        (bfin_howto_table, bfin_reloc_map): Add FD-PIC relocs.
        (bfd_elf32_bfinfdpic_vec): Declare.
        (bfd_elf32_bfinfdpic_vec): Declare.
        (IS_FDPIC): New macro.
        (IS_FDPIC): New macro.
        (struct bfinfdpic_elf_link_hash_table): New struct.
        (struct bfinfdpic_elf_link_hash_table): New struct.
        (bfinfdpic_hash_table, bfinfdpic_got_section,
        (bfinfdpic_hash_table, bfinfdpic_got_section,
        bfinfdpic_gotrel_section, bfinfdpic_gotfixup_section,
        bfinfdpic_gotrel_section, bfinfdpic_gotfixup_section,
        bfinfdpic_plt_setion, bfinfdpic_pltrel_section,
        bfinfdpic_plt_setion, bfinfdpic_pltrel_section,
        bfinfdpic_relocs_info, bfinfdpic_got_initial_offset,
        bfinfdpic_relocs_info, bfinfdpic_got_initial_offset,
        bfinfdpic_plt_initial_offset): Accessor macros for it.
        bfinfdpic_plt_initial_offset): Accessor macros for it.
        (BFINFDPIC_SYM_LOCAL, BFINFDPIC_FUNCDESC_LOCAL): New macros.
        (BFINFDPIC_SYM_LOCAL, BFINFDPIC_FUNCDESC_LOCAL): New macros.
        (struct bfinfdpic_relocs_info): New struct.
        (struct bfinfdpic_relocs_info): New struct.
        (LZPLT_RESOLVER_EXTRA, LZPLT_NORMAL_SIZE, LZPLT_ENTRIES,
        (LZPLT_RESOLVER_EXTRA, LZPLT_NORMAL_SIZE, LZPLT_ENTRIES,
        BFINFDPIC_LZPLT_BLOCK_SIZE, BFINFDPIC_LZPLT_RESOLV_LOC,
        BFINFDPIC_LZPLT_BLOCK_SIZE, BFINFDPIC_LZPLT_RESOLV_LOC,
        DEFAULT_STACK_SIZE): New macros.
        DEFAULT_STACK_SIZE): New macros.
        (bfinfdpic_elf_link_hash_table_create, bfinfdpic_relocs_info_hash,
        (bfinfdpic_elf_link_hash_table_create, bfinfdpic_relocs_info_hash,
        bfinfdpic_relocs_info_eq, bfinfdpics_relocs_info_find,
        bfinfdpic_relocs_info_eq, bfinfdpics_relocs_info_find,
        bfinfdpic_relocs_info_for_global, bfinfdpic_relocs_info_for_local,
        bfinfdpic_relocs_info_for_global, bfinfdpic_relocs_info_for_local,
        bfinfdpic_pic_merge_early_relocs_info, _bfinfdpic_add_dyn_reloc,
        bfinfdpic_pic_merge_early_relocs_info, _bfinfdpic_add_dyn_reloc,
        _bfinfdpic_add_rofixup, _bfinfdpic_osec_to_segment,
        _bfinfdpic_add_rofixup, _bfinfdpic_osec_to_segment,
        _bfinfdpic_osec_readonly_p, bfinfdpic_relocate_section,
        _bfinfdpic_osec_readonly_p, bfinfdpic_relocate_section,
        bfinfdpic_check_relocs, bfinfdpic_gc_sweep_hook,
        bfinfdpic_check_relocs, bfinfdpic_gc_sweep_hook,
        _bfinfdpic_link_omit_section_dynsym, _bfin_create_got_section,
        _bfinfdpic_link_omit_section_dynsym, _bfin_create_got_section,
        elf32_bfinfdpic_create_dynamic_sections, _bfinfdpic_get_fd_entry,
        elf32_bfinfdpic_create_dynamic_sections, _bfinfdpic_get_fd_entry,
        _bfinfdpic_compute_got_alloc_data, _bfinfdpic_get_got_entry,
        _bfinfdpic_compute_got_alloc_data, _bfinfdpic_get_got_entry,
        _bfinfdpic_assign_got_entries, _bfinfdpic_assign_plt_entries,
        _bfinfdpic_assign_got_entries, _bfinfdpic_assign_plt_entries,
        _bfinfdpic_resolve_final_relocs_info,
        _bfinfdpic_resolve_final_relocs_info,
        elf32_bfinfdpic_size_dynamic_sections,
        elf32_bfinfdpic_size_dynamic_sections,
        elf32_bfinfdpic_always_size_sections,
        elf32_bfinfdpic_always_size_sections,
        elf32_bfinfdpic_modify_segment_map,
        elf32_bfinfdpic_modify_segment_map,
        _bfinfdpic_count_got_plt_entries,
        _bfinfdpic_count_got_plt_entries,
        elf32_bfinfdpic_finish_dynamic_sections,
        elf32_bfinfdpic_finish_dynamic_sections,
        elf32_bfinfdpic_adjust_dynamic_symbol,
        elf32_bfinfdpic_adjust_dynamic_symbol,
        elf32_bfinfdpic_finish_dynamic_symbol,
        elf32_bfinfdpic_finish_dynamic_symbol,
        elf32_bfinfdpic_elf_use_relative_eh_frame,
        elf32_bfinfdpic_elf_use_relative_eh_frame,
        elf32_bfinfdpic_elf_encode_eh_address,
        elf32_bfinfdpic_elf_encode_eh_address,
        elf32_bfin_object_p, bfin_elf_copy_private_bfd_data,
        elf32_bfin_object_p, bfin_elf_copy_private_bfd_data,
        elf32_bfinfdpic_copy_private_bfd_data,
        elf32_bfinfdpic_copy_private_bfd_data,
        (struct _bfinfdpic_dynamic_got_info,
        (struct _bfinfdpic_dynamic_got_info,
        struct _bfinfdpic_dynamic_got_plt_info): New structs.
        struct _bfinfdpic_dynamic_got_plt_info): New structs.
        (elf32_bfin_print_private_bfd_data): Print PIC flags.
        (elf32_bfin_print_private_bfd_data): Print PIC flags.
        (elf32_bfin_merge_private_bfd_data): Extend to support FD-PIC.
        (elf32_bfin_merge_private_bfd_data): Extend to support FD-PIC.
        (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME, elf32_bed,
        (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME, elf32_bed,
        elf_backend_got_header_size, bfd_elf32_bfd_link_hash_table_create,
        elf_backend_got_header_size, bfd_elf32_bfd_link_hash_table_create,
        elf_backend_always_size_sectinos, elf_backend_modify_segment_map,
        elf_backend_always_size_sectinos, elf_backend_modify_segment_map,
        bfd_elf32_bfd_copy_private_bfd_data,
        bfd_elf32_bfd_copy_private_bfd_data,
        elf_backend_create_dynamic_sections, elf_backend_adjust_dynamic_symbol,
        elf_backend_create_dynamic_sections, elf_backend_adjust_dynamic_symbol,
        elf_backend_size_dynamic_sections, elf_backend_finish_dynamic_symbol,
        elf_backend_size_dynamic_sections, elf_backend_finish_dynamic_symbol,
        elf_backend_finish_dynamic_sections, elf_backend_relocate_section,
        elf_backend_finish_dynamic_sections, elf_backend_relocate_section,
        elf_backend_can_make_relative_eh_frame, elf_backend_check_relocs,
        elf_backend_can_make_relative_eh_frame, elf_backend_check_relocs,
        elf_backend_can_make_ldsa_relative_eh_frame, elf_backend_may_use_rel_p,
        elf_backend_can_make_ldsa_relative_eh_frame, elf_backend_may_use_rel_p,
        elf_backend_may_use_rela_p, elf_backend_default_use_rela_p,
        elf_backend_may_use_rela_p, elf_backend_default_use_rela_p,
        elf_backend_omit_section_dynsym): Redefine these macros and include
        elf_backend_omit_section_dynsym): Redefine these macros and include
        "elf32-target.h" again to create the elf32-bfinfdpic target.
        "elf32-target.h" again to create the elf32-bfinfdpic target.
        * reloc.c (BFD_RELOC_BFIN_GOT17M4, BFD_RELOC_BFIN_GOTHI,
        * reloc.c (BFD_RELOC_BFIN_GOT17M4, BFD_RELOC_BFIN_GOTHI,
        BFD_RELOC_BFIN_GOTLO, BFD_RELOC_BFIN_FUNCDESC,
        BFD_RELOC_BFIN_GOTLO, BFD_RELOC_BFIN_FUNCDESC,
        BFD_RELOC_BFIN_FUNCDESC_GOT17M4, BFD_RELOC_BFIN_FUNCDESC_GOTHI,
        BFD_RELOC_BFIN_FUNCDESC_GOT17M4, BFD_RELOC_BFIN_FUNCDESC_GOTHI,
        BFD_RELOC_BFIN_FUNCDESC_GOTLO, BFD_RELOC_BFIN_FUNCDESC_VALUE,
        BFD_RELOC_BFIN_FUNCDESC_GOTLO, BFD_RELOC_BFIN_FUNCDESC_VALUE,
        BFD_RELOC_BFIN_FUNCDESC_GOTOFF17M4, BFD_RELOC_BFIN_FUNCDESC_GOTOFFHI,
        BFD_RELOC_BFIN_FUNCDESC_GOTOFF17M4, BFD_RELOC_BFIN_FUNCDESC_GOTOFFHI,
        BFD_RELOC_BFIN_FUNCDESC_GOTOFFLO, BFD_RELOC_BFIN_GOTOFFHI,
        BFD_RELOC_BFIN_FUNCDESC_GOTOFFLO, BFD_RELOC_BFIN_GOTOFFHI,
        BFD_RELOC_BFIN_GOTOFFLO): New.
        BFD_RELOC_BFIN_GOTOFFLO): New.
        * targets.c (bfd_elf32_bfinfdpic_vec): New bfd_target.
        * targets.c (bfd_elf32_bfinfdpic_vec): New bfd_target.
        (_bfd_target_vector): Add it.
        (_bfd_target_vector): Add it.
        * bfd-in2.h: Regenerate.
        * bfd-in2.h: Regenerate.
        * libbfd.h: Regenerate.
        * libbfd.h: Regenerate.
2006-03-25  Richard Sandiford  
2006-03-25  Richard Sandiford  
        * cpu-m68k.c (bfd_m68k_compatible): Treat ISA A+ and ISA B code as
        * cpu-m68k.c (bfd_m68k_compatible): Treat ISA A+ and ISA B code as
        incompatible.  Likewise MAC and EMAC code.
        incompatible.  Likewise MAC and EMAC code.
        * elf32-m68k.c (elf32_m68k_merge_private_bfd_data): Use
        * elf32-m68k.c (elf32_m68k_merge_private_bfd_data): Use
        bfd_get_compatible to set the new bfd architecture.  Rely on it
        bfd_get_compatible to set the new bfd architecture.  Rely on it
        to detect incompatibilities.
        to detect incompatibilities.
2006-03-23  Michael Matz  
2006-03-23  Michael Matz  
        * reloc.c: Add BFD_RELOC_X86_64_GOT64, BFD_RELOC_X86_64_GOTPCREL64,
        * reloc.c: Add BFD_RELOC_X86_64_GOT64, BFD_RELOC_X86_64_GOTPCREL64,
        BFD_RELOC_X86_64_GOTPC64, BFD_RELOC_X86_64_GOTPLT64,
        BFD_RELOC_X86_64_GOTPC64, BFD_RELOC_X86_64_GOTPLT64,
        BFD_RELOC_X86_64_PLTOFF64.
        BFD_RELOC_X86_64_PLTOFF64.
        * bfd-in2.h: Regenerated.
        * bfd-in2.h: Regenerated.
        * libbfd.h: Regenerated.
        * libbfd.h: Regenerated.
        * elf64-x86-64.c (x86_64_elf_howto_table): Correct comment.
        * elf64-x86-64.c (x86_64_elf_howto_table): Correct comment.
        Add howtos for above relocs.
        Add howtos for above relocs.
        (x86_64_reloc_map): Add mappings for new relocs.
        (x86_64_reloc_map): Add mappings for new relocs.
        (elf64_x86_64_check_relocs): R_X86_64_GOT64, R_X86_64_GOTPCREL64,
        (elf64_x86_64_check_relocs): R_X86_64_GOT64, R_X86_64_GOTPCREL64,
        R_X86_64_GOTPLT64 need a got entry.  R_X86_64_GOTPLT64 also a PLT
        R_X86_64_GOTPLT64 need a got entry.  R_X86_64_GOTPLT64 also a PLT
        entry.  R_X86_64_GOTPC64 needs a .got section.  R_X86_64_PLTOFF64
        entry.  R_X86_64_GOTPC64 needs a .got section.  R_X86_64_PLTOFF64
        needs a PLT entry.
        needs a PLT entry.
        (elf64_x86_64_gc_sweep_hook): Reflect changes from
        (elf64_x86_64_gc_sweep_hook): Reflect changes from
        elf64_x86_64_check_relocs for the new relocs.
        elf64_x86_64_check_relocs for the new relocs.
        (elf64_x86_64_relocate_section): Handle new relocs.
        (elf64_x86_64_relocate_section): Handle new relocs.
2006-03-22  Bob Wilson  
2006-03-22  Bob Wilson  
        * elf32-xtensa.c (xtensa_read_table_entries): Remove assertion that
        * elf32-xtensa.c (xtensa_read_table_entries): Remove assertion that
        rel->r_addend is zero.
        rel->r_addend is zero.
2006-03-22  Richard Sandiford  
2006-03-22  Richard Sandiford  
        * elfxx-mips.c (_bfd_mips_vxworks_finish_dynamic_symbol): Fix type
        * elfxx-mips.c (_bfd_mips_vxworks_finish_dynamic_symbol): Fix type
        of "loc".
        of "loc".
2006-03-22  Richard Sandiford  
2006-03-22  Richard Sandiford  
            Daniel Jacobowitz  
            Daniel Jacobowitz  
            Phil Edwards  
            Phil Edwards  
            Zack Weinberg  
            Zack Weinberg  
            Mark Mitchell  
            Mark Mitchell  
            Nathan Sidwell  
            Nathan Sidwell  
        * bfd-in2.h: Regenerate.
        * bfd-in2.h: Regenerate.
        * config.bfd (mips*-*-vxworks*, mips*el-*-vxworks*): New stanzas.
        * config.bfd (mips*-*-vxworks*, mips*el-*-vxworks*): New stanzas.
        * configure.in (bfd_elf32_bigmips_vxworks_vec): New stanza.
        * configure.in (bfd_elf32_bigmips_vxworks_vec): New stanza.
        (bfd_elf32_littlemips_vxworks_vec): Likewise.
        (bfd_elf32_littlemips_vxworks_vec): Likewise.
        (bfd_elf32_bigmips_vec): Add elf-vxworks.lo.
        (bfd_elf32_bigmips_vec): Add elf-vxworks.lo.
        (bfd_elf32_littlemips_vec): Likewise.
        (bfd_elf32_littlemips_vec): Likewise.
        (bfd_elf32_nbigmips_vec): Likewise.
        (bfd_elf32_nbigmips_vec): Likewise.
        (bfd_elf32_nlittlemips_vec): Likewise.
        (bfd_elf32_nlittlemips_vec): Likewise.
        (bfd_elf32_ntradbigmips_vec): Likewise.
        (bfd_elf32_ntradbigmips_vec): Likewise.
        (bfd_elf32_ntradlittlemips_vec): Likewise.
        (bfd_elf32_ntradlittlemips_vec): Likewise.
        (bfd_elf32_tradbigmips_vec): Likewise.
        (bfd_elf32_tradbigmips_vec): Likewise.
        (bfd_elf32_tradlittlemips_vec): Likewise.
        (bfd_elf32_tradlittlemips_vec): Likewise.
        (bfd_elf64_bigmips_vec): Likewise.
        (bfd_elf64_bigmips_vec): Likewise.
        (bfd_elf64_littlemips_vec): Likewise.
        (bfd_elf64_littlemips_vec): Likewise.
        (bfd_elf64_tradbigmips_vec): Likewise.
        (bfd_elf64_tradbigmips_vec): Likewise.
        (bfd_elf64_tradlittlemips_vec): Likewise.
        (bfd_elf64_tradlittlemips_vec): Likewise.
        * elf32-mips.c: Include elf-vxworks.h.
        * elf32-mips.c: Include elf-vxworks.h.
        (mips_info_to_howto_rel): Use elf_backend_mips_rtype_to_howto
        (mips_info_to_howto_rel): Use elf_backend_mips_rtype_to_howto
        instead of calling mips_elf32_rtype_to_howto directly.
        instead of calling mips_elf32_rtype_to_howto directly.
        (mips_vxworks_copy_howto_rela): New reloc howto.
        (mips_vxworks_copy_howto_rela): New reloc howto.
        (mips_vxworks_jump_slot_howto_rela): Likewise.
        (mips_vxworks_jump_slot_howto_rela): Likewise.
        (mips_vxworks_bfd_reloc_type_lookup): New function.
        (mips_vxworks_bfd_reloc_type_lookup): New function.
        (mips_vxworks_rtype_to_howto): Likewise.
        (mips_vxworks_rtype_to_howto): Likewise.
        (mips_vxworks_final_write_processing): Likewise.
        (mips_vxworks_final_write_processing): Likewise.
        (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME): Override for VxWorks.
        (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME): Override for VxWorks.
        (TARGET_BIG_SYM, TARGET_BIG_NAME, elf_bed, ELF_MAXPAGESIZE): Likewise.
        (TARGET_BIG_SYM, TARGET_BIG_NAME, elf_bed, ELF_MAXPAGESIZE): Likewise.
        (elf_backend_want_got_plt): Likewise.
        (elf_backend_want_got_plt): Likewise.
        (elf_backend_want_plt_sym): Likewise.
        (elf_backend_want_plt_sym): Likewise.
        (elf_backend_got_symbol_offset): Likewise.
        (elf_backend_got_symbol_offset): Likewise.
        (elf_backend_want_dynbss): Likewise.
        (elf_backend_want_dynbss): Likewise.
        (elf_backend_may_use_rel_p): Likewise.
        (elf_backend_may_use_rel_p): Likewise.
        (elf_backend_may_use_rela_p): Likewise.
        (elf_backend_may_use_rela_p): Likewise.
        (elf_backend_default_use_rela_p): Likewise.
        (elf_backend_default_use_rela_p): Likewise.
        (elf_backend_got_header_size: Likewise.
        (elf_backend_got_header_size: Likewise.
        (elf_backend_plt_readonly): Likewise.
        (elf_backend_plt_readonly): Likewise.
        (bfd_elf32_bfd_reloc_type_lookup): Likewise.
        (bfd_elf32_bfd_reloc_type_lookup): Likewise.
        (elf_backend_mips_rtype_to_howto): Likewise.
        (elf_backend_mips_rtype_to_howto): Likewise.
        (elf_backend_adjust_dynamic_symbol): Likewise.
        (elf_backend_adjust_dynamic_symbol): Likewise.
        (elf_backend_finish_dynamic_symbol): Likewise.
        (elf_backend_finish_dynamic_symbol): Likewise.
        (bfd_elf32_bfd_link_hash_table_create): Likewise.
        (bfd_elf32_bfd_link_hash_table_create): Likewise.
        (elf_backend_add_symbol_hook): Likewise.
        (elf_backend_add_symbol_hook): Likewise.
        (elf_backend_link_output_symbol_hook): Likewise.
        (elf_backend_link_output_symbol_hook): Likewise.
        (elf_backend_emit_relocs): Likewise.
        (elf_backend_emit_relocs): Likewise.
        (elf_backend_final_write_processing: Likewise.
        (elf_backend_final_write_processing: Likewise.
        (elf_backend_additional_program_headers): Likewise.
        (elf_backend_additional_program_headers): Likewise.
        (elf_backend_modify_segment_map): Likewise.
        (elf_backend_modify_segment_map): Likewise.
        (elf_backend_symbol_processing): Likewise.
        (elf_backend_symbol_processing): Likewise.
        * elfxx-mips.c: Include elf-vxworks.h.
        * elfxx-mips.c: Include elf-vxworks.h.
        (mips_elf_link_hash_entry): Add is_relocation_target and
        (mips_elf_link_hash_entry): Add is_relocation_target and
        is_branch_target fields.
        is_branch_target fields.
        (mips_elf_link_hash_table): Add is_vxworks, srelbss, sdynbss, srelplt,
        (mips_elf_link_hash_table): Add is_vxworks, srelbss, sdynbss, srelplt,
        srelplt2, sgotplt, splt, plt_header_size and plt_entry_size fields.
        srelplt2, sgotplt, splt, plt_header_size and plt_entry_size fields.
        (MIPS_ELF_RELA_SIZE, MIPS_ELF_REL_DYN_NAME): New macros.
        (MIPS_ELF_RELA_SIZE, MIPS_ELF_REL_DYN_NAME): New macros.
        (MIPS_RESERVED_GOTNO): Take a mips_elf_link_hash_table argument.
        (MIPS_RESERVED_GOTNO): Take a mips_elf_link_hash_table argument.
        Return 3 for VxWorks.
        Return 3 for VxWorks.
        (ELF_MIPS_GP_OFFSET): Change the argument from a bfd to a
        (ELF_MIPS_GP_OFFSET): Change the argument from a bfd to a
        mips_elf_link_hash_table.  Return 0 for VxWorks.
        mips_elf_link_hash_table.  Return 0 for VxWorks.
        (MIPS_ELF_GOT_MAX_SIZE): Change the argument from a bfd to a
        (MIPS_ELF_GOT_MAX_SIZE): Change the argument from a bfd to a
        mips_elf_link_hash_table.  Update the call to ELF_MIPS_GP_OFFSET.
        mips_elf_link_hash_table.  Update the call to ELF_MIPS_GP_OFFSET.
        (mips_vxworks_exec_plt0_entry): New variable.
        (mips_vxworks_exec_plt0_entry): New variable.
        (mips_vxworks_exec_plt_entry): Likewise.
        (mips_vxworks_exec_plt_entry): Likewise.
        (mips_vxworks_shared_plt0_entry): Likewise.
        (mips_vxworks_shared_plt0_entry): Likewise.
        (mips_vxworks_shared_plt_entry): Likewise.
        (mips_vxworks_shared_plt_entry): Likewise.
        (mips_elf_link_hash_newfunc): Initialize the new hash_entry fields.
        (mips_elf_link_hash_newfunc): Initialize the new hash_entry fields.
        (mips_elf_rel_dyn_section): Change the bfd argument to a
        (mips_elf_rel_dyn_section): Change the bfd argument to a
        mips_elf_link_hash_table.  Use MIPS_ELF_REL_DYN_NAME to get
        mips_elf_link_hash_table.  Use MIPS_ELF_REL_DYN_NAME to get
        the name of the section.
        the name of the section.
        (mips_elf_initialize_tls_slots): Update the call to
        (mips_elf_initialize_tls_slots): Update the call to
        mips_elf_rel_dyn_section.
        mips_elf_rel_dyn_section.
        (mips_elf_gotplt_index): New function.
        (mips_elf_gotplt_index): New function.
        (mips_elf_local_got_index): Add an input_section argument.
        (mips_elf_local_got_index): Add an input_section argument.
        Update the call to mips_elf_create_local_got_entry.
        Update the call to mips_elf_create_local_got_entry.
        (mips_elf_got_page): Likewise.
        (mips_elf_got_page): Likewise.
        (mips_elf_got16_entry): Likewise.
        (mips_elf_got16_entry): Likewise.
        (mips_elf_create_local_got_entry): Add bfd_link_info and input_section
        (mips_elf_create_local_got_entry): Add bfd_link_info and input_section
        arguments.  Create dynamic relocations for each entry on VxWorks.
        arguments.  Create dynamic relocations for each entry on VxWorks.
        (mips_elf_merge_gots): Update the use of MIPS_ELF_GOT_MAX_SIZE.
        (mips_elf_merge_gots): Update the use of MIPS_ELF_GOT_MAX_SIZE.
        (mips_elf_multi_got): Update the uses of MIPS_ELF_GOT_MAX_SIZE
        (mips_elf_multi_got): Update the uses of MIPS_ELF_GOT_MAX_SIZE
        and MIPS_RESERVED_GOTNO.
        and MIPS_RESERVED_GOTNO.
        (mips_elf_create_got_section): Update the uses of
        (mips_elf_create_got_section): Update the uses of
        MIPS_ELF_GOT_MAX_SIZE.  Create .got.plt on VxWorks.
        MIPS_ELF_GOT_MAX_SIZE.  Create .got.plt on VxWorks.
        (is_gott_symbol): New function.
        (is_gott_symbol): New function.
        (mips_elf_calculate_relocation): Use a dynobj local variable.
        (mips_elf_calculate_relocation): Use a dynobj local variable.
        Update the calls to mips_elf_local_got_index, mips_elf_got16_entry and
        Update the calls to mips_elf_local_got_index, mips_elf_got16_entry and
        mips_elf_got_page_entry.  Set G to the .got.plt entry when calculating
        mips_elf_got_page_entry.  Set G to the .got.plt entry when calculating
        VxWorks R_MIPS_CALL* relocations.  Calculate and use G for all GOT
        VxWorks R_MIPS_CALL* relocations.  Calculate and use G for all GOT
        relocations on VxWorks.  Add dynamic relocations for references
        relocations on VxWorks.  Add dynamic relocations for references
        to the VxWorks __GOTT_BASE__ and __GOTT_INDEX__ symbols.  Don't
        to the VxWorks __GOTT_BASE__ and __GOTT_INDEX__ symbols.  Don't
        create dynamic relocations for R_MIPS_32, R_MIPS_REL32 or R_MIPS_64
        create dynamic relocations for R_MIPS_32, R_MIPS_REL32 or R_MIPS_64
        in VxWorks executables.
        in VxWorks executables.
        (mips_elf_allocate_dynamic_relocations): Add a bfd_link_info argument.
        (mips_elf_allocate_dynamic_relocations): Add a bfd_link_info argument.
        Use MIPS_ELF_RELA_SIZE to calculate the size of a VxWorks entry.
        Use MIPS_ELF_RELA_SIZE to calculate the size of a VxWorks entry.
        Don't allocate a null entry on VxWorks.
        Don't allocate a null entry on VxWorks.
        (mips_elf_create_dynamic_relocation): Update the call to
        (mips_elf_create_dynamic_relocation): Update the call to
        mips_elf_rel_dyn_section.  Use absolute rather than relative
        mips_elf_rel_dyn_section.  Use absolute rather than relative
        relocations for VxWorks, and make them RELA rather than REL.
        relocations for VxWorks, and make them RELA rather than REL.
        (_bfd_mips_elf_create_dynamic_sections): Don't make .dynamic
        (_bfd_mips_elf_create_dynamic_sections): Don't make .dynamic
        read-only on VxWorks.  Update the call to mips_elf_rel_dyn_section.
        read-only on VxWorks.  Update the call to mips_elf_rel_dyn_section.
        Create the .plt, .rela.plt, .dynbss and .rela.bss sections on
        Create the .plt, .rela.plt, .dynbss and .rela.bss sections on
        VxWorks.  Likewise create the _PROCEDURE_LINKAGE_TABLE symbol.
        VxWorks.  Likewise create the _PROCEDURE_LINKAGE_TABLE symbol.
        Call elf_vxworks_create_dynamic_sections for VxWorks and
        Call elf_vxworks_create_dynamic_sections for VxWorks and
        initialize the plt_header_size and plt_entry_size fields.
        initialize the plt_header_size and plt_entry_size fields.
        (_bfd_mips_elf_check_relocs): Don't allow GOT relocations to be
        (_bfd_mips_elf_check_relocs): Don't allow GOT relocations to be
        used in VxWorks executables.  Don't allocate dynamic relocations
        used in VxWorks executables.  Don't allocate dynamic relocations
        for R_MIPS_32, R_MIPS_REL32 or R_MIPS_64 in VxWorks executables.
        for R_MIPS_32, R_MIPS_REL32 or R_MIPS_64 in VxWorks executables.
        Set is_relocation_target for each symbol referenced by a relocation.
        Set is_relocation_target for each symbol referenced by a relocation.
        Allocate .rela.dyn entries for relocations against the special
        Allocate .rela.dyn entries for relocations against the special
        VxWorks __GOTT_BASE__ and __GOTT_INDEX__ symbols.  Create GOT
        VxWorks __GOTT_BASE__ and __GOTT_INDEX__ symbols.  Create GOT
        entries for all VxWorks R_MIPS_GOT16 relocations.  Don't allocate
        entries for all VxWorks R_MIPS_GOT16 relocations.  Don't allocate
        a global GOT entry for symbols mentioned in VxWorks R_MIPS_CALL*,
        a global GOT entry for symbols mentioned in VxWorks R_MIPS_CALL*,
        R_MIPS_32, R_MIPS_REL32 or R_MIPS_64 relocations.  Update the calls
        R_MIPS_32, R_MIPS_REL32 or R_MIPS_64 relocations.  Update the calls
        to mips_elf_rel_dyn_section and mips_elf_allocate_dynamic_relocations.
        to mips_elf_rel_dyn_section and mips_elf_allocate_dynamic_relocations.
        Set is_branch_target for symbols mentioned in R_MIPS_PC16 or R_MIPS_26
        Set is_branch_target for symbols mentioned in R_MIPS_PC16 or R_MIPS_26
        relocations.  Don't set no_fn_stub on VxWorks.
        relocations.  Don't set no_fn_stub on VxWorks.
        (_bfd_mips_elf_adjust_dynamic_symbol): Update the call to
        (_bfd_mips_elf_adjust_dynamic_symbol): Update the call to
        mips_elf_allocate_dynamic_relocations.
        mips_elf_allocate_dynamic_relocations.
        (_bfd_mips_vxworks_adjust_dynamic_symbol): New function.
        (_bfd_mips_vxworks_adjust_dynamic_symbol): New function.
        (_bfd_mips_elf_always_size_sections): Do not allocate GOT page
        (_bfd_mips_elf_always_size_sections): Do not allocate GOT page
        entries for VxWorks, and do not create multiple GOTs.
        entries for VxWorks, and do not create multiple GOTs.
        (_bfd_mips_elf_size_dynamic_sections): Use MIPS_ELF_REL_DYN_NAME.
        (_bfd_mips_elf_size_dynamic_sections): Use MIPS_ELF_REL_DYN_NAME.
        Handle .got specially for VxWorks.  Update the uses of
        Handle .got specially for VxWorks.  Update the uses of
        MIPS_RESERVED_GOTNO and mips_elf_allocate_dynamic_relocations.
        MIPS_RESERVED_GOTNO and mips_elf_allocate_dynamic_relocations.
        Check for sgotplt and splt.  Allocate the .rel(a).dyn contents last,
        Check for sgotplt and splt.  Allocate the .rel(a).dyn contents last,
        once its final size is known.  Set DF_TEXTREL for VxWorks.  Add
        once its final size is known.  Set DF_TEXTREL for VxWorks.  Add
        DT_RELA, DT_RELASZ, DT_RELAENT, DT_PLTREL, DT_PLTRELSZ and DT_JMPREL
        DT_RELA, DT_RELASZ, DT_RELAENT, DT_PLTREL, DT_PLTRELSZ and DT_JMPREL
        tags on VxWorks.  Do not add the MIPS-specific tags for VxWorks.
        tags on VxWorks.  Do not add the MIPS-specific tags for VxWorks.
        (_bfd_mips_vxworks_finish_dynamic_symbol): New function.
        (_bfd_mips_vxworks_finish_dynamic_symbol): New function.
        (mips_vxworks_finish_exec_plt): Likewise.
        (mips_vxworks_finish_exec_plt): Likewise.
        (mips_vxworks_finish_shared_plt): Likewise.
        (mips_vxworks_finish_shared_plt): Likewise.
        (_bfd_mips_elf_finish_dynamic_sections): Remove an unncessary call
        (_bfd_mips_elf_finish_dynamic_sections): Remove an unncessary call
        to mips_elf_rel_dyn_section.  Use a VxWorks-specific value of
        to mips_elf_rel_dyn_section.  Use a VxWorks-specific value of
        DT_PLTGOT.  Handle DT_RELA, DT_RELASZ, DT_RELAENT, DT_PLTREL,
        DT_PLTGOT.  Handle DT_RELA, DT_RELASZ, DT_RELAENT, DT_PLTREL,
        DT_PLTRELSZ and DT_JMPREL.  Update the uses of MIPS_RESERVED_GOTNO
        DT_PLTRELSZ and DT_JMPREL.  Update the uses of MIPS_RESERVED_GOTNO
        and mips_elf_rel_dyn_section.  Use a different GOT header for
        and mips_elf_rel_dyn_section.  Use a different GOT header for
        VxWorks.  Don't sort .rela.dyn on VxWorks.  Finish the PLT on VxWorks.
        VxWorks.  Don't sort .rela.dyn on VxWorks.  Finish the PLT on VxWorks.
        (_bfd_mips_elf_link_hash_table_create): Initialize the new
        (_bfd_mips_elf_link_hash_table_create): Initialize the new
        mips_elf_link_hash_table fields.
        mips_elf_link_hash_table fields.
        (_bfd_mips_vxworks_link_hash_table_create): New function.
        (_bfd_mips_vxworks_link_hash_table_create): New function.
        (_bfd_mips_elf_final_link): Set the GP value to _GLOBAL_OFFSET_TABLE_
        (_bfd_mips_elf_final_link): Set the GP value to _GLOBAL_OFFSET_TABLE_
        on VxWorks.  Update the call to ELF_MIPS_GP_OFFSET.
        on VxWorks.  Update the call to ELF_MIPS_GP_OFFSET.
        * elfxx-mips.h (_bfd_mips_vxworks_adjust_dynamic_symbol): Declare.
        * elfxx-mips.h (_bfd_mips_vxworks_adjust_dynamic_symbol): Declare.
        (_bfd_mips_vxworks_finish_dynamic_symbol): Likewise.
        (_bfd_mips_vxworks_finish_dynamic_symbol): Likewise.
        (_bfd_mips_vxworks_link_hash_table_create): Likewise.
        (_bfd_mips_vxworks_link_hash_table_create): Likewise.
        * libbfd.h: Regenerate.
        * libbfd.h: Regenerate.
        * Makefile.am (elfxx-mips.lo): Depend on elf-vxworks.h.
        * Makefile.am (elfxx-mips.lo): Depend on elf-vxworks.h.
        (elf32-mips.lo): Likewise.
        (elf32-mips.lo): Likewise.
        * Makefile.in: Regenerate.
        * Makefile.in: Regenerate.
        * reloc.c (BFD_RELOC_MIPS_COPY, BFD_RELOC_MIPS_JUMP_SLOT): Declare.
        * reloc.c (BFD_RELOC_MIPS_COPY, BFD_RELOC_MIPS_JUMP_SLOT): Declare.
        * targets.c (bfd_elf32_bigmips_vxworks_vec): Declare.
        * targets.c (bfd_elf32_bigmips_vxworks_vec): Declare.
        (bfd_elf32_littlemips_vxworks_vec): Likewise.
        (bfd_elf32_littlemips_vxworks_vec): Likewise.
        (_bfd_target_vector): Add entries for them.
        (_bfd_target_vector): Add entries for them.
2006-03-19  John David Anglin  
2006-03-19  John David Anglin  
        * elf64-hppa.c (elf64_hppa_special_sections): Change flags for .tbss
        * elf64-hppa.c (elf64_hppa_special_sections): Change flags for .tbss
        section from SHF_PARISC_WEAKORDER to SHF_HP_TLS.
        section from SHF_PARISC_WEAKORDER to SHF_HP_TLS.
        (elf_backend_special_sections): Remove #undef.
        (elf_backend_special_sections): Remove #undef.
2006-03-18  John David Anglin  
2006-03-18  John David Anglin  
        * elf64-hppa.c (allocate_global_data_opd): Don't create an OPD entry
        * elf64-hppa.c (allocate_global_data_opd): Don't create an OPD entry
        for undefined weak symbols.
        for undefined weak symbols.
2006-03-17  Daniel Jacobowitz  
2006-03-17  Daniel Jacobowitz  
        PR ld/2462
        PR ld/2462
        * elflink.c (bfd_elf_final_link): Remove
        * elflink.c (bfd_elf_final_link): Remove
        bed->elf_backend_emit_relocs from emit_relocs.
        bed->elf_backend_emit_relocs from emit_relocs.
2006-03-17  Alexandre Oliva  
2006-03-17  Alexandre Oliva  
        * elf32-ppc.c (ppc_elf_relocate_section): Copy addend from
        * elf32-ppc.c (ppc_elf_relocate_section): Copy addend from
        first relocation to the second when relaxing TLS GD to LE;
        first relocation to the second when relaxing TLS GD to LE;
        zero it out when relaxing to IE.
        zero it out when relaxing to IE.
2006-03-17  Alan Modra  
2006-03-17  Alan Modra  
        PR 2434
        PR 2434
        * elflink.c (elf_link_add_object_symbols): Save and restore
        * elflink.c (elf_link_add_object_symbols): Save and restore
        warning sym's linked sym.
        warning sym's linked sym.
2006-03-16  Alan Modra  
2006-03-16  Alan Modra  
        PR 2434
        PR 2434
        * elflink.c (struct elf_smash_syms_data, elf_smash_syms): Delete.
        * elflink.c (struct elf_smash_syms_data, elf_smash_syms): Delete.
        (elf_link_add_object_symbols): Delete unnecessary locals.  Rename
        (elf_link_add_object_symbols): Delete unnecessary locals.  Rename
        hash_table -> htab.  Formatting.  Save entire symbol table
        hash_table -> htab.  Formatting.  Save entire symbol table
        before loading as-needed syms, and restore afterwards if lib not
        before loading as-needed syms, and restore afterwards if lib not
        needed.  Use bfd_hash_allocate rather than bfd_alloc for sym
        needed.  Use bfd_hash_allocate rather than bfd_alloc for sym
        name.  Free some buffers earlier.
        name.  Free some buffers earlier.
        * bfd-in.h (struct bfd_hash_table): Add entsize.
        * bfd-in.h (struct bfd_hash_table): Add entsize.
        (bfd_hash_table_init, bfd_hash_table_init_n): Adjust prototype.
        (bfd_hash_table_init, bfd_hash_table_init_n): Adjust prototype.
        * elf-bfd.h (_bfd_elf_link_hash_table_init): Likewise
        * elf-bfd.h (_bfd_elf_link_hash_table_init): Likewise
        * hash.c (bfd_hash_table_init_n): Add entsize param, save to
        * hash.c (bfd_hash_table_init_n): Add entsize param, save to
        hash table.
        hash table.
        (bfd_hash_table_init): Add param, adjust calls.
        (bfd_hash_table_init): Add param, adjust calls.
        * aoutx.h: Adjust all hash_table_init functions and calls.
        * aoutx.h: Adjust all hash_table_init functions and calls.
        * bfd.c: Likewise.
        * bfd.c: Likewise.
        * coff-arm.c: Likewise.
        * coff-arm.c: Likewise.
        * coff-h8300.c: Likewise.
        * coff-h8300.c: Likewise.
        * coff-ppc.c: Likewise.
        * coff-ppc.c: Likewise.
        * cofflink.c: Likewise.
        * cofflink.c: Likewise.
        * ecoff.c: Likewise.
        * ecoff.c: Likewise.
        * ecofflink.c: Likewise.
        * ecofflink.c: Likewise.
        * elf-m10300.c: Likewise.
        * elf-m10300.c: Likewise.
        * elf-strtab.c: Likewise.
        * elf-strtab.c: Likewise.
        * elf.c: Likewise.
        * elf.c: Likewise.
        * elf32-arm.c: Likewise.
        * elf32-arm.c: Likewise.
        * elf32-bfin.c: Likewise.
        * elf32-bfin.c: Likewise.
        * elf32-cris.c: Likewise.
        * elf32-cris.c: Likewise.
        * elf32-frv.c: Likewise.
        * elf32-frv.c: Likewise.
        * elf32-hppa.c: Likewise.
        * elf32-hppa.c: Likewise.
        * elf32-i386.c: Likewise.
        * elf32-i386.c: Likewise.
        * elf32-m32r.c: Likewise.
        * elf32-m32r.c: Likewise.
        * elf32-m68hc1x.c: Likewise.
        * elf32-m68hc1x.c: Likewise.
        * elf32-m68k.c: Likewise.
        * elf32-m68k.c: Likewise.
        * elf32-ppc.c: Likewise.
        * elf32-ppc.c: Likewise.
        * elf32-s390.c: Likewise.
        * elf32-s390.c: Likewise.
        * elf32-sh.c: Likewise.
        * elf32-sh.c: Likewise.
        * elf32-vax.c: Likewise.
        * elf32-vax.c: Likewise.
        * elf64-alpha.c: Likewise.
        * elf64-alpha.c: Likewise.
        * elf64-hppa.c: Likewise.
        * elf64-hppa.c: Likewise.
        * elf64-ppc.c: Likewise.
        * elf64-ppc.c: Likewise.
        * elf64-s390.c: Likewise.
        * elf64-s390.c: Likewise.
        * elf64-sh64.c: Likewise.
        * elf64-sh64.c: Likewise.
        * elf64-x86-64.c: Likewise.
        * elf64-x86-64.c: Likewise.
        * elfxx-ia64.c: Likewise.
        * elfxx-ia64.c: Likewise.
        * elfxx-mips.c: Likewise.
        * elfxx-mips.c: Likewise.
        * elfxx-sparc.c: Likewise.
        * elfxx-sparc.c: Likewise.
        * i386linux.c: Likewise.
        * i386linux.c: Likewise.
        * libaout.h: Likewise.
        * libaout.h: Likewise.
        * libbfd-in.h: Likewise.
        * libbfd-in.h: Likewise.
        * libcoff-in.h: Likewise.
        * libcoff-in.h: Likewise.
        * linker.c: Likewise.
        * linker.c: Likewise.
        * m68klinux.c: Likewise.
        * m68klinux.c: Likewise.
        * merge.c: Likewise.
        * merge.c: Likewise.
        * opncls.c: Likewise.
        * opncls.c: Likewise.
        * pdp11.c: Likewise.
        * pdp11.c: Likewise.
        * sparclinux.c: Likewise.
        * sparclinux.c: Likewise.
        * stabs.c: Likewise.
        * stabs.c: Likewise.
        * sunos.c: Likewise.
        * sunos.c: Likewise.
        * vms.c: Likewise.
        * vms.c: Likewise.
        * xcofflink.c: Likewise.
        * xcofflink.c: Likewise.
        * section.c (struct section_hash_entry): Move to..
        * section.c (struct section_hash_entry): Move to..
        * libbfd-in.h: ..here.
        * libbfd-in.h: ..here.
        * Makefile.am: Run "make dep-am"
        * Makefile.am: Run "make dep-am"
        * Makefile.in: Regenerate.
        * Makefile.in: Regenerate.
        * bfd-in2.h: Regenerate.
        * bfd-in2.h: Regenerate.
        * libbfd.h: Regenerate.
        * libbfd.h: Regenerate.
        * libcoff.h: Regenerate.
        * libcoff.h: Regenerate.
2006-03-16  Alan Modra  
2006-03-16  Alan Modra  
        * elf32-ppc.c (ppc_elf_check_relocs): REL24 and REL14 relocs
        * elf32-ppc.c (ppc_elf_check_relocs): REL24 and REL14 relocs
        against __GLOBAL_OFFSET_TABLE__ need never be dynamic.  Tweak
        against __GLOBAL_OFFSET_TABLE__ need never be dynamic.  Tweak
        last change to REL32 relocs so that they are counted as
        last change to REL32 relocs so that they are counted as
        possibly dynamic as per REL24 and REL14.
        possibly dynamic as per REL24 and REL14.
2006-03-16  Alan Modra  
2006-03-16  Alan Modra  
        * elf32-ppc.c (ppc_elf_check_relocs): Don't fall into REL24
        * elf32-ppc.c (ppc_elf_check_relocs): Don't fall into REL24
        checks from REL32.
        checks from REL32.
2006-03-15  Ben Elliston  
2006-03-15  Ben Elliston  
        * elf32-arm.c (elf32_arm_merge_eabi_attributes): Iterate over all
        * elf32-arm.c (elf32_arm_merge_eabi_attributes): Iterate over all
        in_list elements, not just the first.
        in_list elements, not just the first.
2006-03-14  Richard Sandiford  
2006-03-14  Richard Sandiford  
        * elf32-mips.c (mips_elf_adjust_addend): New function, mostly split
        * elf32-mips.c (mips_elf_adjust_addend): New function, mostly split
        out from...
        out from...
        (_bfd_mips_elf_relocate_section): ...here.  Use it to adjust r_addend
        (_bfd_mips_elf_relocate_section): ...here.  Use it to adjust r_addend
        for final links too.
        for final links too.
2006-03-13  Richard Sandiford  
2006-03-13  Richard Sandiford  
        * elfxx-mips.c (mips_elf_create_got_section): Initialize hgot.
        * elfxx-mips.c (mips_elf_create_got_section): Initialize hgot.
2006-03-11  H.J. Lu  
2006-03-11  H.J. Lu  
        PR ld/2443
        PR ld/2443
        * dwarf2.c (concat_filename): Don't issue an error if file is 0.
        * dwarf2.c (concat_filename): Don't issue an error if file is 0.
2006-03-10  Paul Brook  
2006-03-10  Paul Brook  
        * elf32-arm.c (INTERWORK_FLAG): Handle EABIv5.
        * elf32-arm.c (INTERWORK_FLAG): Handle EABIv5.
        (elf32_arm_print_private_bfd_data): Ditto.
        (elf32_arm_print_private_bfd_data): Ditto.
2006-03-09  Paul Brook  
2006-03-09  Paul Brook  
        * cpu-arm.c (bfd_is_arm_mapping_symbol_name): Recognise additional
        * cpu-arm.c (bfd_is_arm_mapping_symbol_name): Recognise additional
        mapping symbols.
        mapping symbols.
2006-03-09  Khem Raj  
2006-03-09  Khem Raj  
        * elf32-arm.c(elf32_arm_finish_dynamic_sections): Use unsigned
        * elf32-arm.c(elf32_arm_finish_dynamic_sections): Use unsigned
        char type.
        char type.
2006-03-08  H.J. Lu  
2006-03-08  H.J. Lu  
        * elfxx-ia64.c (elfNN_ia64_choose_gp): Properly choose gp.
        * elfxx-ia64.c (elfNN_ia64_choose_gp): Properly choose gp.
2006-03-07  Richard Sandiford  
2006-03-07  Richard Sandiford  
            Daniel Jacobowitz  
            Daniel Jacobowitz  
            Zack Weinberg  
            Zack Weinberg  
            Nathan Sidwell  
            Nathan Sidwell  
            Paul Brook  
            Paul Brook  
            Ricardo Anguiano  
            Ricardo Anguiano  
            Phil Edwards  
            Phil Edwards  
        * configure.in (bfd_elf32_bigarm_vec): Include elf-vxworks.lo.
        * configure.in (bfd_elf32_bigarm_vec): Include elf-vxworks.lo.
        (bfd_elf32_bigarm_symbian_vec): Likewise.
        (bfd_elf32_bigarm_symbian_vec): Likewise.
        (bfd_elf32_bigarm_vxworks_vec): Likewise.
        (bfd_elf32_bigarm_vxworks_vec): Likewise.
        (bfd_elf32_littlearm_vec): Likewise.
        (bfd_elf32_littlearm_vec): Likewise.
        (bfd_elf32_littlearm_symbian_vec): Likewise.
        (bfd_elf32_littlearm_symbian_vec): Likewise.
        (bfd_elf32_littlearm_vxworks_vec): Likewise.
        (bfd_elf32_littlearm_vxworks_vec): Likewise.
        * configure: Regenerate.
        * configure: Regenerate.
        * elf32-arm.c: Include libiberty.h and elf-vxworks.h.
        * elf32-arm.c: Include libiberty.h and elf-vxworks.h.
        (RELOC_SECTION, RELOC_SIZE, SWAP_RELOC_IN, SWAP_RELOC_OUT): New macros.
        (RELOC_SECTION, RELOC_SIZE, SWAP_RELOC_IN, SWAP_RELOC_OUT): New macros.
        (elf32_arm_vxworks_bed): Add forward declaration.
        (elf32_arm_vxworks_bed): Add forward declaration.
        (elf32_arm_howto_table_1): Fix the masks for R_ASM_ABS12.
        (elf32_arm_howto_table_1): Fix the masks for R_ASM_ABS12.
        (elf32_arm_vxworks_exec_plt0_entry): New table.
        (elf32_arm_vxworks_exec_plt0_entry): New table.
        (elf32_arm_vxworks_exec_plt_entry): Likewise.
        (elf32_arm_vxworks_exec_plt_entry): Likewise.
        (elf32_arm_vxworks_shared_plt_entry): Likewise.
        (elf32_arm_vxworks_shared_plt_entry): Likewise.
        (elf32_arm_link_hash_table): Add vxworks_p and srelplt2 fields.
        (elf32_arm_link_hash_table): Add vxworks_p and srelplt2 fields.
        (reloc_section_p): New function.
        (reloc_section_p): New function.
        (create_got_section): Use RELOC_SECTION.
        (create_got_section): Use RELOC_SECTION.
        (elf32_arm_create_dynamic_sections): Likewise.  Call
        (elf32_arm_create_dynamic_sections): Likewise.  Call
        elf_vxworks_create_dynamic_sections for VxWorks targets.
        elf_vxworks_create_dynamic_sections for VxWorks targets.
        Choose between the two possible values of plt_header_size
        Choose between the two possible values of plt_header_size
        and plt_entry_size.
        and plt_entry_size.
        (elf32_arm_link_hash_table_create): Initialize vxworks_p and srelplt2.
        (elf32_arm_link_hash_table_create): Initialize vxworks_p and srelplt2.
        (elf32_arm_abs12_reloc): New function.
        (elf32_arm_abs12_reloc): New function.
        (elf32_arm_final_link_relocate): Call it.  Allow the creation of
        (elf32_arm_final_link_relocate): Call it.  Allow the creation of
        dynamic R_ARM_ABS12 relocs on VxWorks.  Use reloc_section_p,
        dynamic R_ARM_ABS12 relocs on VxWorks.  Use reloc_section_p,
        RELOC_SIZE, SWAP_RELOC_OUT and RELOC_SECTION.  Initialize the
        RELOC_SIZE, SWAP_RELOC_OUT and RELOC_SECTION.  Initialize the
        r_addend fields of relocs.  On rela targets, skip any code that
        r_addend fields of relocs.  On rela targets, skip any code that
        adjusts in-place addends.  When using _bfd_link_final_relocate
        adjusts in-place addends.  When using _bfd_link_final_relocate
        to perform a final relocation, pass rel->r_addend as the addend
        to perform a final relocation, pass rel->r_addend as the addend
        argument.
        argument.
        (elf32_arm_merge_private_bfd_data): If one of the bfds is a VxWorks
        (elf32_arm_merge_private_bfd_data): If one of the bfds is a VxWorks
        object, ignore flags that are not standard on VxWorks.
        object, ignore flags that are not standard on VxWorks.
        (elf32_arm_check_relocs): Allow the creation of dynamic R_ARM_ABS12
        (elf32_arm_check_relocs): Allow the creation of dynamic R_ARM_ABS12
        relocs on VxWorks.  Use reloc_section_p.
        relocs on VxWorks.  Use reloc_section_p.
        (elf32_arm_adjust_dynamic_symbol): Use RELOC_SECTION and RELOC_SIZE.
        (elf32_arm_adjust_dynamic_symbol): Use RELOC_SECTION and RELOC_SIZE.
        (allocate_dynrelocs): Use RELOC_SIZE.  Account for the size of
        (allocate_dynrelocs): Use RELOC_SIZE.  Account for the size of
        .rela.plt.unloaded relocs on VxWorks targets.
        .rela.plt.unloaded relocs on VxWorks targets.
        (elf32_arm_size_dynamic_sections): Use RELOC_SIZE.  Check for
        (elf32_arm_size_dynamic_sections): Use RELOC_SIZE.  Check for
        .rela.plt.unloaded as well as .rel(a).plt.  Add DT_RELA* tags
        .rela.plt.unloaded as well as .rel(a).plt.  Add DT_RELA* tags
        instead of DT_REL* tags on RELA targets.
        instead of DT_REL* tags on RELA targets.
        (elf32_arm_finish_dynamic_symbol): Use RELOC_SECTION, RELOC_SIZE
        (elf32_arm_finish_dynamic_symbol): Use RELOC_SECTION, RELOC_SIZE
        and SWAP_RELOC_OUT.  Initialize r_addend fields.  Handle VxWorks
        and SWAP_RELOC_OUT.  Initialize r_addend fields.  Handle VxWorks
        PLT entries.  Do not make _GLOBAL_OFFSET_TABLE_ absolute on VxWorks.
        PLT entries.  Do not make _GLOBAL_OFFSET_TABLE_ absolute on VxWorks.
        (elf32_arm_finish_dynamic_sections): Use RELOC_SECTION, RELOC_SIZE
        (elf32_arm_finish_dynamic_sections): Use RELOC_SECTION, RELOC_SIZE
        and SWAP_RELOC_OUT.  Initialize r_addend fields.  Handle DT_RELASZ
        and SWAP_RELOC_OUT.  Initialize r_addend fields.  Handle DT_RELASZ
        like DT_RELSZ.  Handle the VxWorks form of initial PLT entry.
        like DT_RELSZ.  Handle the VxWorks form of initial PLT entry.
        Correct the .rela.plt.unreloaded symbol indexes.
        Correct the .rela.plt.unreloaded symbol indexes.
        (elf32_arm_output_symbol_hook): Call the VxWorks version of this
        (elf32_arm_output_symbol_hook): Call the VxWorks version of this
        hook on VxWorks targets.
        hook on VxWorks targets.
        (elf32_arm_vxworks_link_hash_table_create): Set vxworks_p to true.
        (elf32_arm_vxworks_link_hash_table_create): Set vxworks_p to true.
        Minor formatting tweak.
        Minor formatting tweak.
        (elf32_arm_vxworks_final_write_processing): New function.
        (elf32_arm_vxworks_final_write_processing): New function.
        (elf_backend_add_symbol_hook): Override for VxWorks and reset
        (elf_backend_add_symbol_hook): Override for VxWorks and reset
        for Symbian.
        for Symbian.
        (elf_backend_final_write_processing): Likewise.
        (elf_backend_final_write_processing): Likewise.
        (elf_backend_emit_relocs): Likewise.
        (elf_backend_emit_relocs): Likewise.
        (elf_backend_want_plt_sym): Likewise.
        (elf_backend_want_plt_sym): Likewise.
        (ELF_MAXPAGESIZE): Likewise.
        (ELF_MAXPAGESIZE): Likewise.
        (elf_backend_may_use_rel_p): Minor formatting tweak.
        (elf_backend_may_use_rel_p): Minor formatting tweak.
        (elf_backend_may_use_rela_p): Likewise.
        (elf_backend_may_use_rela_p): Likewise.
        (elf_backend_default_use_rela_p): Likewise.
        (elf_backend_default_use_rela_p): Likewise.
        (elf_backend_rela_normal): Likewise.
        (elf_backend_rela_normal): Likewise.
        * Makefile.in (elf32-arm.lo): Depend on elf-vxworks.h.
        * Makefile.in (elf32-arm.lo): Depend on elf-vxworks.h.
2006-03-06  Nathan Sidwell  
2006-03-06  Nathan Sidwell  
        * archures.c (bfd_mach_mcf_isa_a_nodiv, bfd_mach_mcf_isa_b_nousp):
        * archures.c (bfd_mach_mcf_isa_a_nodiv, bfd_mach_mcf_isa_b_nousp):
        New.  Adjust other variants.
        New.  Adjust other variants.
        (bfd_default_scan): Update.
        (bfd_default_scan): Update.
        * bfd-in2.h: Rebuilt.
        * bfd-in2.h: Rebuilt.
        * cpu-m68k.c: Adjust.
        * cpu-m68k.c: Adjust.
        (bfd_m68k_compatible): New. Use it for architectures.
        (bfd_m68k_compatible): New. Use it for architectures.
        * elf32-m68k.c (elf32_m68k_object_p): Adjust.
        * elf32-m68k.c (elf32_m68k_object_p): Adjust.
        (elf32_m68k_merge_private_bfd_data): Adjust.  Correct isa-a/b
        (elf32_m68k_merge_private_bfd_data): Adjust.  Correct isa-a/b
        mismatch.
        mismatch.
        (elf32_m68k_print_private_bfd_data): Adjust.
        (elf32_m68k_print_private_bfd_data): Adjust.
        * ieee.c (ieee_write_processor): Adjust.
        * ieee.c (ieee_write_processor): Adjust.
2006-03-06  Alan Modra  
2006-03-06  Alan Modra  
        * dwarf2.c: Formatting.
        * dwarf2.c: Formatting.
        (add_line_info): Remove outer loop.
        (add_line_info): Remove outer loop.
2006-03-05  H.J. Lu  
2006-03-05  H.J. Lu  
            Alan Modra  
            Alan Modra  
        PR binutils/2338
        PR binutils/2338
        * dwarf2.c (loadable_section): New struct.
        * dwarf2.c (loadable_section): New struct.
        (dwarf2_debug): Add loadable_section_count and
        (dwarf2_debug): Add loadable_section_count and
        loadable_sections.
        loadable_sections.
        (new_line_sorts_after): New.
        (new_line_sorts_after): New.
        (add_line_info): Use new_line_sorts_after to compare line
        (add_line_info): Use new_line_sorts_after to compare line
        addresses.
        addresses.
        (check_function_name): Removed.
        (check_function_name): Removed.
        (unset_sections): New.
        (unset_sections): New.
        (place_sections): New.
        (place_sections): New.
        (_bfd_dwarf2_find_nearest_line): Updated. Call place_sections
        (_bfd_dwarf2_find_nearest_line): Updated. Call place_sections
        and unset_sections on relocatable files.
        and unset_sections on relocatable files.
        (_bfd_dwarf2_find_line): Likewise.
        (_bfd_dwarf2_find_line): Likewise.
2006-03-03  Nick Clifton  
2006-03-03  Nick Clifton  
        * cpu-avr.c: Update to ISO-C90 formatting.
        * cpu-avr.c: Update to ISO-C90 formatting.
        * elf32-avr.c: Likewise.
        * elf32-avr.c: Likewise.
2006-03-03  Bjoern Haase  
2006-03-03  Bjoern Haase  
        * elf32-avr.c (avr_reloc_map): Insert BFD_RELOC_AVR_MS8_LDI
        * elf32-avr.c (avr_reloc_map): Insert BFD_RELOC_AVR_MS8_LDI
        and R_AVR_MS8_LDI
        and R_AVR_MS8_LDI
        (bfd_elf_avr_final_write_processing): Set
        (bfd_elf_avr_final_write_processing): Set
        EF_AVR_LINKRELAX_PREPARED in e_flags field.
        EF_AVR_LINKRELAX_PREPARED in e_flags field.
        (elf32_avr_relax_section): New function.
        (elf32_avr_relax_section): New function.
        (elf32_avr_relax_delete_bytes): New function.
        (elf32_avr_relax_delete_bytes): New function.
        (elf32_avr_get_relocated_section_contents): New function.
        (elf32_avr_get_relocated_section_contents): New function.
        (avr_pc_wrap_around): New function.
        (avr_pc_wrap_around): New function.
        (avr_relative_distance_considering_wrap_around): New function.
        (avr_relative_distance_considering_wrap_around): New function.
        (avr_final_link_relocate): Handle negative int8t_t immediate for R_AVR_LDI.
        (avr_final_link_relocate): Handle negative int8t_t immediate for R_AVR_LDI.
        * reloc.c: Add BFD_RELOC_AVR_MS8_LDI and BFD_RELOC_AVR_LDI_NEG
        * reloc.c: Add BFD_RELOC_AVR_MS8_LDI and BFD_RELOC_AVR_LDI_NEG
        * libbfd.h: Regenerate.
        * libbfd.h: Regenerate.
        * bfd-in2.h: Regenerate.
        * bfd-in2.h: Regenerate.
2006-03-02  DJ Delorie  
2006-03-02  DJ Delorie  
        * elf32-m32c.c (m32c_offset_for_reloc): Fix local symbol
        * elf32-m32c.c (m32c_offset_for_reloc): Fix local symbol
        calculations.
        calculations.
2006-03-02  Richard Sandiford  
2006-03-02  Richard Sandiford  
        * elf32-ppc.c (is_ppc_elf_target): Return true if the target is
        * elf32-ppc.c (is_ppc_elf_target): Return true if the target is
        bfd_elf32_powerpc_vxworks_vec.
        bfd_elf32_powerpc_vxworks_vec.
2006-03-02  Nick Clifton  
2006-03-02  Nick Clifton  
        * elf32-m32c.c (m32c_elf_relax_section): Initialise 'gap'.
        * elf32-m32c.c (m32c_elf_relax_section): Initialise 'gap'.
2006-03-02  Richard Sandiford  
2006-03-02  Richard Sandiford  
        * elf32-i386.c (elf_i386_create_dynamic_sections): Use
        * elf32-i386.c (elf_i386_create_dynamic_sections): Use
        elf_vxworks_create_dynamic_sections.
        elf_vxworks_create_dynamic_sections.
        (elf_i386_size_dynamic_sections): Remove VxWorks GOT and PLT
        (elf_i386_size_dynamic_sections): Remove VxWorks GOT and PLT
        symbol handling.
        symbol handling.
        * elf32-ppc.c (ppc_elf_create_dynamic_sections): Use
        * elf32-ppc.c (ppc_elf_create_dynamic_sections): Use
        elf_vxworks_create_dynamic_sections.
        elf_vxworks_create_dynamic_sections.
        (ppc_elf_size_dynamic_sections): Remove VxWorks GOT and PLT
        (ppc_elf_size_dynamic_sections): Remove VxWorks GOT and PLT
        symbol handling.
        symbol handling.
        * elf-vxworks.c (elf_vxworks_create_dynamic_sections): New function.
        * elf-vxworks.c (elf_vxworks_create_dynamic_sections): New function.
        * elf-vxworks.h (elf_vxworks_create_dynamic_sections): Declare.
        * elf-vxworks.h (elf_vxworks_create_dynamic_sections): Declare.
2006-03-02  Richard Sandiford  
2006-03-02  Richard Sandiford  
        * elf32-i386.c (elf_i386_vxworks_link_output_symbol_hook): Delete.
        * elf32-i386.c (elf_i386_vxworks_link_output_symbol_hook): Delete.
        (elf_backend_link_output_symbol_hook): Use
        (elf_backend_link_output_symbol_hook): Use
        elf_vxworks_link_output_symbol_hook instead.
        elf_vxworks_link_output_symbol_hook instead.
        * elf32-ppc.c (elf_i386_vxworks_link_output_symbol_hook): Delete.
        * elf32-ppc.c (elf_i386_vxworks_link_output_symbol_hook): Delete.
        (elf_backend_link_output_symbol_hook): Use
        (elf_backend_link_output_symbol_hook): Use
        elf_vxworks_link_output_symbol_hook instead.
        elf_vxworks_link_output_symbol_hook instead.
        * elf-vxworks.c (elf_vxworks_link_output_symbol_hook): Provide the
        * elf-vxworks.c (elf_vxworks_link_output_symbol_hook): Provide the
        same interface as elf_backend_link_output_symbol_hook.
        same interface as elf_backend_link_output_symbol_hook.
        * elf-vxworks.h (elf_vxworks_link_output_symbol_hook): Update
        * elf-vxworks.h (elf_vxworks_link_output_symbol_hook): Update
        prototype accordingly.
        prototype accordingly.
2006-03-02  Richard Sandiford  
2006-03-02  Richard Sandiford  
        * elf32-ppc.c (ppc_elf_plt_type): New enumeration.
        * elf32-ppc.c (ppc_elf_plt_type): New enumeration.
        (ppc_elf_link_hash_table): Replace old_got and new_got with
        (ppc_elf_link_hash_table): Replace old_got and new_got with
        plt_type and can_use_new_plt.
        plt_type and can_use_new_plt.
        (ppc_elf_create_dynamic_sections): Add SEC_HAS_CONTENTS,
        (ppc_elf_create_dynamic_sections): Add SEC_HAS_CONTENTS,
        SEC_LOAD and SEC_READONLY to the VxWorks .plt flags.
        SEC_LOAD and SEC_READONLY to the VxWorks .plt flags.
        (ppc_elf_check_relocs): Set can_use_new_plt instead of new_plt.
        (ppc_elf_check_relocs): Set can_use_new_plt instead of new_plt.
        Move from plt_type == PLT_UNSET to PLT_OLD instead of setting old_plt.
        Move from plt_type == PLT_UNSET to PLT_OLD instead of setting old_plt.
        (ppc_elf_select_plt_layout): Move from plt_type == PLT_UNSET to
        (ppc_elf_select_plt_layout): Move from plt_type == PLT_UNSET to
        either plt_type == PLT_OLD or plt_type == PLT_NEW.  Assert that
        either plt_type == PLT_OLD or plt_type == PLT_NEW.  Assert that
        this function should not be called for VxWorks targets.
        this function should not be called for VxWorks targets.
        (ppc_elf_tls_setup): Use plt_type instead of old_got.
        (ppc_elf_tls_setup): Use plt_type instead of old_got.
        (allocate_got): Likewise.  Rearrange so that max_before_header
        (allocate_got): Likewise.  Rearrange so that max_before_header
        is only used for PLT_OLD and PLT_NEW.
        is only used for PLT_OLD and PLT_NEW.
        (allocate_dynrelocs): Use plt_type instead of old_got and is_vxworks.
        (allocate_dynrelocs): Use plt_type instead of old_got and is_vxworks.
        (ppc_elf_size_dynamic_sections): Likewise.
        (ppc_elf_size_dynamic_sections): Likewise.
        (ppc_elf_relax_section): Likewise.
        (ppc_elf_relax_section): Likewise.
        (ppc_elf_relocate_section): Likewise.
        (ppc_elf_relocate_section): Likewise.
        (ppc_elf_finish_dynamic_symbol): Likewise.
        (ppc_elf_finish_dynamic_symbol): Likewise.
        (ppc_elf_vxworks_link_hash_table_create): Initialize plt_type.
        (ppc_elf_vxworks_link_hash_table_create): Initialize plt_type.
2006-02-28  Richard Sandiford  
2006-02-28  Richard Sandiford  
        * elf32-i386.c (elf_i386_link_hash_table): Add next_tls_desc_index.
        * elf32-i386.c (elf_i386_link_hash_table): Add next_tls_desc_index.
        (elf_i386_link_hash_table_create): Initialize it.
        (elf_i386_link_hash_table_create): Initialize it.
        (elf_i386_compute_jump_table_size): Use it instead of
        (elf_i386_compute_jump_table_size): Use it instead of
        srelplt->reloc_count.
        srelplt->reloc_count.
        (allocate_dynrelocs): Likewise.
        (allocate_dynrelocs): Likewise.
        (elf_i386_size_dynamic_sections): Likewise.
        (elf_i386_size_dynamic_sections): Likewise.
        (elf_i386_relocate_section): Likewise.
        (elf_i386_relocate_section): Likewise.
2006-02-27  Jakub Jelinek  
2006-02-27  Jakub Jelinek  
        * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Handle S flag.
        * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Handle S flag.
        (_bfd_elf_write_section_eh_frame): Likewise.
        (_bfd_elf_write_section_eh_frame): Likewise.
2006-02-27  Carlos O'Donell  
2006-02-27  Carlos O'Donell  
        * po/Make-in: Add html target.
        * po/Make-in: Add html target.
2006-02-27  Richard Sandiford  
2006-02-27  Richard Sandiford  
        * elf-m10300.c (_bfd_mn10300_elf_finish_dynamic_symbol): Use the
        * elf-m10300.c (_bfd_mn10300_elf_finish_dynamic_symbol): Use the
        cached hgot entry to check for _GLOBAL_OFFSET_TABLE_.
        cached hgot entry to check for _GLOBAL_OFFSET_TABLE_.
        * elf32-arm.c (elf32_arm_finish_dynamic_symbol): Likewise.
        * elf32-arm.c (elf32_arm_finish_dynamic_symbol): Likewise.
        * elf32-bfin.c (bfin_finish_dynamic_symbol): Likewise.
        * elf32-bfin.c (bfin_finish_dynamic_symbol): Likewise.
        * elf32-cris.c (elf_cris_finish_dynamic_symbol): Likewise.
        * elf32-cris.c (elf_cris_finish_dynamic_symbol): Likewise.
        * elf32-hppa.c (elf32_hppa_finish_dynamic_symbol): Likewise.
        * elf32-hppa.c (elf32_hppa_finish_dynamic_symbol): Likewise.
        * elf32-i386.c (elf_i386_finish_dynamic_symbol): Likewise.
        * elf32-i386.c (elf_i386_finish_dynamic_symbol): Likewise.
        * elf32-m32r.c (m32r_elf_finish_dynamic_symbol): Likewise.
        * elf32-m32r.c (m32r_elf_finish_dynamic_symbol): Likewise.
        * elf32-m68k.c (elf_m68k_finish_dynamic_symbol): Likewise.
        * elf32-m68k.c (elf_m68k_finish_dynamic_symbol): Likewise.
        * elf32-sh.c (sh_elf_finish_dynamic_symbol): Likewise.
        * elf32-sh.c (sh_elf_finish_dynamic_symbol): Likewise.
        * elf32-vax.c (elf_vax_finish_dynamic_symbol): Likewise.
        * elf32-vax.c (elf_vax_finish_dynamic_symbol): Likewise.
        * elf32-xtensa.c (elf_xtensa_finish_dynamic_symbol): Likewise.
        * elf32-xtensa.c (elf_xtensa_finish_dynamic_symbol): Likewise.
        * elf64-sh64.c (sh64_elf64_finish_dynamic_symbol): Likewise.
        * elf64-sh64.c (sh64_elf64_finish_dynamic_symbol): Likewise.
        * elf64-x86-64.c (elf64_x86_64_finish_dynamic_symbol): Likewise.
        * elf64-x86-64.c (elf64_x86_64_finish_dynamic_symbol): Likewise.
        * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Likewise.
        * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Likewise.
        * elf32-s390.c (elf_s390_finish_dynamic_symbol): Likewise.  Also use
        * elf32-s390.c (elf_s390_finish_dynamic_symbol): Likewise.  Also use
        the cached hplt entry to check for _PROCEDURE_LINKAGE_TABLE_.
        the cached hplt entry to check for _PROCEDURE_LINKAGE_TABLE_.
        * elf64-alpha.c (elf64_alpha_finish_dynamic_symbol): Likewise.
        * elf64-alpha.c (elf64_alpha_finish_dynamic_symbol): Likewise.
        * elf64-s390.c (elf_s390_finish_dynamic_symbol): Likewise.
        * elf64-s390.c (elf_s390_finish_dynamic_symbol): Likewise.
        * elfxx-ia64.c (elfNN_ia64_finish_dynamic_symbol): Likewise.
        * elfxx-ia64.c (elfNN_ia64_finish_dynamic_symbol): Likewise.
        * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_symbol): Likewise.
        * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_symbol): Likewise.
2006-02-25  Richard Sandiford  
2006-02-25  Richard Sandiford  
        * elf-bfd.h (elf_link_hash_table): Add hplt field.
        * elf-bfd.h (elf_link_hash_table): Add hplt field.
        * elflink.c (_bfd_elf_create_dynamic_sections): Initialize it.
        * elflink.c (_bfd_elf_create_dynamic_sections): Initialize it.
        * elf-m10300.c (_bfd_mn10300_elf_create_got_section): Likewise.
        * elf-m10300.c (_bfd_mn10300_elf_create_got_section): Likewise.
        * elf32-frv.c (_frv_create_got_section): Likewise.
        * elf32-frv.c (_frv_create_got_section): Likewise.
        * elf32-m32r.c (m32r_elf_create_dynamic_sections): Likewise.
        * elf32-m32r.c (m32r_elf_create_dynamic_sections): Likewise.
        * elf32-sh.c (sh_elf_create_dynamic_sections): Likewise.
        * elf32-sh.c (sh_elf_create_dynamic_sections): Likewise.
        * elf64-alpha.c (elf64_alpha_create_dynamic_sections): Likewise.
        * elf64-alpha.c (elf64_alpha_create_dynamic_sections): Likewise.
        * elf64-sh64.c (sh64_elf64_create_dynamic_sections): Likewise.
        * elf64-sh64.c (sh64_elf64_create_dynamic_sections): Likewise.
        * elf32-i386.c (elf_i386_link_hash_table): Remove hgot and hplt.
        * elf32-i386.c (elf_i386_link_hash_table): Remove hgot and hplt.
        (elf_i386_link_hash_table_create): Don't initialize them.
        (elf_i386_link_hash_table_create): Don't initialize them.
        (elf_i386_size_dynamic_sections): Use the generic ELF hplt and
        (elf_i386_size_dynamic_sections): Use the generic ELF hplt and
        hgot fields.
        hgot fields.
        (elf_i386_finish_dynamic_symbol): Likewise.
        (elf_i386_finish_dynamic_symbol): Likewise.
        * elf32-ppc.c (ppc_elf_link_hash_table): Remove hplt.
        * elf32-ppc.c (ppc_elf_link_hash_table): Remove hplt.
        (ppc_elf_size_dynamic_sections): Use the generic ELF hplt fields.
        (ppc_elf_size_dynamic_sections): Use the generic ELF hplt fields.
        (ppc_elf_finish_dynamic_symbol): Likewise.
        (ppc_elf_finish_dynamic_symbol): Likewise.
2006-02-24  DJ Delorie  
2006-02-24  DJ Delorie  
        * elf32-m32c.c (m32c_elf_howto_table): Add relaxation relocs.
        * elf32-m32c.c (m32c_elf_howto_table): Add relaxation relocs.
        (m32c_elf_relocate_section): Don't relocate them.
        (m32c_elf_relocate_section): Don't relocate them.
        (compare_reloc): New.
        (compare_reloc): New.
        (relax_reloc): Remove.
        (relax_reloc): Remove.
        (m32c_offset_for_reloc): New.
        (m32c_offset_for_reloc): New.
        (m16c_addr_encodings): New.
        (m16c_addr_encodings): New.
        (m16c_jmpaddr_encodings): New.
        (m16c_jmpaddr_encodings): New.
        (m32c_addr_encodings): New.
        (m32c_addr_encodings): New.
        (m32c_elf_relax_section): Relax jumps and address displacements.
        (m32c_elf_relax_section): Relax jumps and address displacements.
        (m32c_elf_relax_delete_bytes): Adjust for internal syms.  Fix up
        (m32c_elf_relax_delete_bytes): Adjust for internal syms.  Fix up
        short jumps.
        short jumps.
        * reloc.c: Add m32c relax relocs.
        * reloc.c: Add m32c relax relocs.
        * libbfd.h: Regenerate.
        * libbfd.h: Regenerate.
        * bfd-in2.h: Regenerate.
        * bfd-in2.h: Regenerate.
2006-02-24  H.J. Lu  
2006-02-24  H.J. Lu  
        PR ld/2218
        PR ld/2218
        * elf-bfd.h (elf_backend_data): Add elf_backend_fixup_symbol.
        * elf-bfd.h (elf_backend_data): Add elf_backend_fixup_symbol.
        (_bfd_elf_link_hash_fixup_symbol): New.
        (_bfd_elf_link_hash_fixup_symbol): New.
        * elflink.c (_bfd_elf_link_hash_fixup_symbol): New.
        * elflink.c (_bfd_elf_link_hash_fixup_symbol): New.
        (_bfd_elf_fix_symbol_flags): Call elf_backend_fixup_symbol if
        (_bfd_elf_fix_symbol_flags): Call elf_backend_fixup_symbol if
        it isn't NULL.
        it isn't NULL.
        * elfxx-ia64.c (elf_backend_fixup_symbol): Defined.
        * elfxx-ia64.c (elf_backend_fixup_symbol): Defined.
        * elfxx-target.h (elf_backend_fixup_symbol): New.
        * elfxx-target.h (elf_backend_fixup_symbol): New.
        (elfNN_bed): Initialize elf_backend_fixup_symbol.
        (elfNN_bed): Initialize elf_backend_fixup_symbol.
2006-02-23  H.J. Lu  
2006-02-23  H.J. Lu  
        * cpu-ia64-opc.c (ins_immu5b): New.
        * cpu-ia64-opc.c (ins_immu5b): New.
        (ext_immu5b): Likewise.
        (ext_immu5b): Likewise.
        (elf64_ia64_operands): Add IMMU5b.
        (elf64_ia64_operands): Add IMMU5b.
2006-02-21  Alan Modra  
2006-02-21  Alan Modra  
        PR ld/2218
        PR ld/2218
        * elf32-arm.c (allocate_dynrelocs): Ensure undef weak sym in pie
        * elf32-arm.c (allocate_dynrelocs): Ensure undef weak sym in pie
        is dynamic.
        is dynamic.
        * elf32-hppa.c (allocate_dynrelocs): Likewise.
        * elf32-hppa.c (allocate_dynrelocs): Likewise.
        * elf32-i386.c (allocate_dynrelocs): Likewise.
        * elf32-i386.c (allocate_dynrelocs): Likewise.
        * elf32-s390.c (allocate_dynrelocs): Likewise.
        * elf32-s390.c (allocate_dynrelocs): Likewise.
        * elf32-sh.c (allocate_dynrelocs): Likewise.
        * elf32-sh.c (allocate_dynrelocs): Likewise.
        * elf64-s390.c (allocate_dynrelocs): Likewise.
        * elf64-s390.c (allocate_dynrelocs): Likewise.
        * elf64-x86-64.c (allocate_dynrelocs): Likewise.
        * elf64-x86-64.c (allocate_dynrelocs): Likewise.
        * elf32-m32r.c (allocate_dynrelocs): Likewise.  Discard relocs
        * elf32-m32r.c (allocate_dynrelocs): Likewise.  Discard relocs
        on undef weak with non-default visibility too.
        on undef weak with non-default visibility too.
        * elfxx-sparc.c (allocate_dynrelocs): Ditto.
        * elfxx-sparc.c (allocate_dynrelocs): Ditto.
2006-02-21  Alan Modra  
2006-02-21  Alan Modra  
        * bfd.c: (_bfd_default_error_handler): Don't call abort on
        * bfd.c: (_bfd_default_error_handler): Don't call abort on
        error, instead call _exit.
        error, instead call _exit.
        (_bfd_abort): Call _exit not xexit.
        (_bfd_abort): Call _exit not xexit.
2006-02-17  Kevin Buettner  
2006-02-17  Kevin Buettner  
        * elf32-frv.c (elf32_frv_grok_prstatus, elf32_frv_grok_psinfo):
        * elf32-frv.c (elf32_frv_grok_prstatus, elf32_frv_grok_psinfo):
        New functions.
        New functions.
        * elf_backend_grok_prstatus, elf_backend_grok_psinfo): Define.
        * elf_backend_grok_prstatus, elf_backend_grok_psinfo): Define.
2006-02-17  Shrirang Khisti  
2006-02-17  Shrirang Khisti  
            Anil Paranjape  
            Anil Paranjape  
            Shilin Shakti  
            Shilin Shakti  
        * Makefile.am: Add xc16x related entry
        * Makefile.am: Add xc16x related entry
        * Makefile.in: Regenerate
        * Makefile.in: Regenerate
        * archures.c: Add bfd_xc16x_arch
        * archures.c: Add bfd_xc16x_arch
        * bfd-in2.h: Regenerate
        * bfd-in2.h: Regenerate
        * config.bfd: Add xc16x-*-elf
        * config.bfd: Add xc16x-*-elf
        * configure.in: Add bfd_elf32_xc16x_vec
        * configure.in: Add bfd_elf32_xc16x_vec
        * configure: Regenerate.
        * configure: Regenerate.
        * targets.c: Added xc16x related information
        * targets.c: Added xc16x related information
        * cpu-xc16x.c: New file
        * cpu-xc16x.c: New file
        * reloc.c: Add new relocations specific to xc16x:
        * reloc.c: Add new relocations specific to xc16x:
        BFD_RELOC_XC16X_PAG, BFD_RELOC_XC16X_POF, BFD_RELOC_XC16X_SEG,
        BFD_RELOC_XC16X_PAG, BFD_RELOC_XC16X_POF, BFD_RELOC_XC16X_SEG,
        BFD_RELOC_XC16X_SOF
        BFD_RELOC_XC16X_SOF
        * elf32-xc16x.c: New file.
        * elf32-xc16x.c: New file.
2006-02-17  Alan Modra  
2006-02-17  Alan Modra  
        * elf32-ppc.c (allocate_dynrelocs): Tweak undef weak handling.
        * elf32-ppc.c (allocate_dynrelocs): Tweak undef weak handling.
        * elf64-ppc.c (allocate_dynrelocs): Likewise.
        * elf64-ppc.c (allocate_dynrelocs): Likewise.
2006-02-17  Alan Modra  
2006-02-17  Alan Modra  
        PR ld/2218
        PR ld/2218
        * elf64-ppc.c (allocate_dynrelocs): Ensure undef weak sym is
        * elf64-ppc.c (allocate_dynrelocs): Ensure undef weak sym is
        dynamic.
        dynamic.
        (ppc64_elf_relocate_section): Check output reloc section size.
        (ppc64_elf_relocate_section): Check output reloc section size.
        * elf32-ppc.c (allocate_dynrelocs): Simplify undef weak test.
        * elf32-ppc.c (allocate_dynrelocs): Simplify undef weak test.
2006-02-16  H.J. Lu  
2006-02-16  H.J. Lu  
        PR ld/2322
        PR ld/2322
        * elf.c (get_segment_type): New function.
        * elf.c (get_segment_type): New function.
        (_bfd_elf_print_private_bfd_data): Use it.
        (_bfd_elf_print_private_bfd_data): Use it.
        (print_segment_map): New function.
        (print_segment_map): New function.
        (assign_file_positions_for_segments): Call print_segment_map
        (assign_file_positions_for_segments): Call print_segment_map
        when there are not enough room for program headers.
        when there are not enough room for program headers.
2006-02-16  Nick Hudson  
2006-02-16  Nick Hudson  
        * config.bfd (mips*el-*-netbsd*, mips*-*-netbsd*): Use
        * config.bfd (mips*el-*-netbsd*, mips*-*-netbsd*): Use
        traditional MIPS ELF targets.
        traditional MIPS ELF targets.
2006-02-15  H.J. Lu  
2006-02-15  H.J. Lu  
        PR binutils/2338
        PR binutils/2338
        * dwarf2.c (check_function_name): New function.
        * dwarf2.c (check_function_name): New function.
        (_bfd_dwarf2_find_nearest_line): Use check_function_name to
        (_bfd_dwarf2_find_nearest_line): Use check_function_name to
        check if function is correct.
        check if function is correct.
2006-02-16  Alan Modra  
2006-02-16  Alan Modra  
        * elflink.c (_bfd_elf_default_action_discarded): Return 0 for
        * elflink.c (_bfd_elf_default_action_discarded): Return 0 for
        debug sections.
        debug sections.
        (elf_link_input_bfd): Adjust comments.
        (elf_link_input_bfd): Adjust comments.
2006-02-10  H.J. Lu  
2006-02-10  H.J. Lu  
        * elf.c (copy_private_bfd_data): Minor update.
        * elf.c (copy_private_bfd_data): Minor update.
2006-02-10  H.J. Lu  
2006-02-10  H.J. Lu  
        PR binutils/2258
        PR binutils/2258
        * elf.c (copy_private_bfd_data): Renamed to ...
        * elf.c (copy_private_bfd_data): Renamed to ...
        (rewrite_elf_program_header): This.
        (rewrite_elf_program_header): This.
        (copy_elf_program_header): New function.
        (copy_elf_program_header): New function.
        (copy_private_bfd_data): Likewise.
        (copy_private_bfd_data): Likewise.
2006-02-07  Nathan Sidwell  
2006-02-07  Nathan Sidwell  
        * archures.c (bfd_mach_mcf5200, bfd_mach_mcf5206e,
        * archures.c (bfd_mach_mcf5200, bfd_mach_mcf5206e,
        bfd_mach_mcf5307, bfd_mach_mcf5407, bfd_mach_mcf528x,
        bfd_mach_mcf5307, bfd_mach_mcf5407, bfd_mach_mcf528x,
        bfd_mach_mcfv4e, bfd_mach_mcf521x, bfd_mach_mcf5249,
        bfd_mach_mcfv4e, bfd_mach_mcf521x, bfd_mach_mcf5249,
        bfd_mach_mcf547x, bfd_mach_mcf548x): Remove.
        bfd_mach_mcf547x, bfd_mach_mcf548x): Remove.
        (bfd_mach_mcf_isa_a, bfd_mach_mcf_isa_a_div,
        (bfd_mach_mcf_isa_a, bfd_mach_mcf_isa_a_div,
        bfd_mach_mcf_isa_a_div_mac, bfd_mach_mcf_isa_a_div_emac,
        bfd_mach_mcf_isa_a_div_mac, bfd_mach_mcf_isa_a_div_emac,
        bfd_mach_mcf_isa_aplus, bfd_mach_mcf_isa_aplus_mac,
        bfd_mach_mcf_isa_aplus, bfd_mach_mcf_isa_aplus_mac,
        bfd_mach_mcf_isa_aplus_emac, bfd_mach_mcf_isa_aplus_usp,
        bfd_mach_mcf_isa_aplus_emac, bfd_mach_mcf_isa_aplus_usp,
        bfd_mach_mcf_isa_aplus_usp_mac, bfd_mach_mcf_isa_aplus_usp_emac,
        bfd_mach_mcf_isa_aplus_usp_mac, bfd_mach_mcf_isa_aplus_usp_emac,
        bfd_mach_mcf_isa_b, bfd_mach_mcf_isa_b_mac, bfd_mach_mcf_isa_b_emac,
        bfd_mach_mcf_isa_b, bfd_mach_mcf_isa_b_mac, bfd_mach_mcf_isa_b_emac,
        bfd_mach_mcf_isa_b_usp_float, bfd_mach_mcf_isa_b_usp_float_mac,
        bfd_mach_mcf_isa_b_usp_float, bfd_mach_mcf_isa_b_usp_float_mac,
        bfd_mach_mcf_isa_b_usp_float_emac): New.
        bfd_mach_mcf_isa_b_usp_float_emac): New.
        (bfd_default_scan): Update coldfire mapping.
        (bfd_default_scan): Update coldfire mapping.
        * bfd-in.h (bfd_m68k_mach_to_features,
        * bfd-in.h (bfd_m68k_mach_to_features,
        bfd_m68k_features_to_mach): Declare.
        bfd_m68k_features_to_mach): Declare.
        * bfd-in2.h: Rebuilt.
        * bfd-in2.h: Rebuilt.
        * cpu-m68k.c (arch_info_struct): Add new coldfire machines,
        * cpu-m68k.c (arch_info_struct): Add new coldfire machines,
        adjust legacy names.
        adjust legacy names.
        (m68k_arch_features): New.
        (m68k_arch_features): New.
        (bfd_m68k_mach_to_features,
        (bfd_m68k_mach_to_features,
        bfd_m68k_features_to_mach): Define.
        bfd_m68k_features_to_mach): Define.
        * elf32-m68k.c (elf32_m68k_object_p): New.
        * elf32-m68k.c (elf32_m68k_object_p): New.
        (elf32_m68k_merge_private_bfd_data): Merge the CF EF flags.
        (elf32_m68k_merge_private_bfd_data): Merge the CF EF flags.
        (elf32_m68k_print_private_bfd_data): Print the CF EF flags.
        (elf32_m68k_print_private_bfd_data): Print the CF EF flags.
        (elf_backend_object_p): Define.
        (elf_backend_object_p): Define.
        * ieee.c (ieee_write_processor): Update coldfire machines.
        * ieee.c (ieee_write_processor): Update coldfire machines.
        * libbfd.h: Rebuilt.
        * libbfd.h: Rebuilt.
2006-02-06  Steve Ellcey  
2006-02-06  Steve Ellcey  
        * elfxx-ia64.c (elfNN_ia64_fake_sections): Set SHF_IA_64_HP_TLS
        * elfxx-ia64.c (elfNN_ia64_fake_sections): Set SHF_IA_64_HP_TLS
        if SHF_TLS is set.
        if SHF_TLS is set.
2006-02-05  Arnold Metselaar  
2006-02-05  Arnold Metselaar  
        * coff-z80.c (r_imm24): New howto.
        * coff-z80.c (r_imm24): New howto.
        (rtype2howto): New case R_IMM24.
        (rtype2howto): New case R_IMM24.
        (coff_z80_reloc_type_lookup): New case BFD_RELOC_24.
        (coff_z80_reloc_type_lookup): New case BFD_RELOC_24.
        (extra_case): Use bfd_get_8 for R_IMM8, new case R_IMM24.
        (extra_case): Use bfd_get_8 for R_IMM8, new case R_IMM24.
2006-02-04  Richard Sandiford  
2006-02-04  Richard Sandiford  
        * elfxx-mips.c (mips_elf_initialize_tls_index): If a TLS symbol
        * elfxx-mips.c (mips_elf_initialize_tls_index): If a TLS symbol
        has already been assigned a GOT index, copy that index to the
        has already been assigned a GOT index, copy that index to the
        current hash table entry.
        current hash table entry.
2006-02-01  Eric Botcazou  
2006-02-01  Eric Botcazou  
        * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Reinstate bypass
        * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Reinstate bypass
        for call-to-undefweak reloc overflow.
        for call-to-undefweak reloc overflow.
2006-01-31  Eric Botcazou  
2006-01-31  Eric Botcazou  
        * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Reinstate bypass
        * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Reinstate bypass
        for 32-bit relocs overflow.
        for 32-bit relocs overflow.
2006-01-27  Paul Brook  
2006-01-27  Paul Brook  
        * elf32-arm.c (elf32_arm_get_symbol_type): Allow STT_TLS thumb
        * elf32-arm.c (elf32_arm_get_symbol_type): Allow STT_TLS thumb
        objects.
        objects.
2006-01-18  Alexandre Oliva  
2006-01-18  Alexandre Oliva  
        Introduce TLS descriptors for i386 and x86_64.
        Introduce TLS descriptors for i386 and x86_64.
        * reloc.c (BFD_RELOC_386_TLS_GOTDESC, BFD_RELOC_386_TLS_DESC,
        * reloc.c (BFD_RELOC_386_TLS_GOTDESC, BFD_RELOC_386_TLS_DESC,
        BFD_RELOC_386_TLS_DESC_CALL, BFD_RELOC_X86_64_GOTPC32_TLSDESC,
        BFD_RELOC_386_TLS_DESC_CALL, BFD_RELOC_X86_64_GOTPC32_TLSDESC,
        BFD_RELOC_X86_64_TLSDESC, BFD_RELOC_X86_64_TLSDESC_CALL): New.
        BFD_RELOC_X86_64_TLSDESC, BFD_RELOC_X86_64_TLSDESC_CALL): New.
        * libbfd.h, bfd-in2.h: Rebuilt.
        * libbfd.h, bfd-in2.h: Rebuilt.
        * elf32-i386.c (elf_howto_table): New relocations.
        * elf32-i386.c (elf_howto_table): New relocations.
        (R_386_tls): Adjust.
        (R_386_tls): Adjust.
        (elf_i386_reloc_type_lookup): Map new relocations.
        (elf_i386_reloc_type_lookup): Map new relocations.
        (GOT_TLS_GDESC, GOT_TLS_GD_BOTH_P): New macros.
        (GOT_TLS_GDESC, GOT_TLS_GD_BOTH_P): New macros.
        (GOT_TLS_GD_P, GOT_TLS_GDESC_P, GOT_TLS_GD_ANY_P): New macros.
        (GOT_TLS_GD_P, GOT_TLS_GDESC_P, GOT_TLS_GD_ANY_P): New macros.
        (struct elf_i386_link_hash_entry): Add tlsdesc_got field.
        (struct elf_i386_link_hash_entry): Add tlsdesc_got field.
        (struct elf_i386_obj_tdata): Add local_tlsdesc_gotent field.
        (struct elf_i386_obj_tdata): Add local_tlsdesc_gotent field.
        (elf_i386_local_tlsdesc_gotent): New macro.
        (elf_i386_local_tlsdesc_gotent): New macro.
        (struct elf_i386_link_hash_table): Add sgotplt_jump_table_size.
        (struct elf_i386_link_hash_table): Add sgotplt_jump_table_size.
        (elf_i386_compute_jump_table_size): New macro.
        (elf_i386_compute_jump_table_size): New macro.
        (link_hash_newfunc): Initialize tlsdesc_got.
        (link_hash_newfunc): Initialize tlsdesc_got.
        (elf_i386_link_hash_table_create): Set sgotplt_jump_table_size.
        (elf_i386_link_hash_table_create): Set sgotplt_jump_table_size.
        (elf_i386_tls_transition): Handle R_386_TLS_GOTDESC and
        (elf_i386_tls_transition): Handle R_386_TLS_GOTDESC and
        R_386_TLS_DESC_CALL.
        R_386_TLS_DESC_CALL.
        (elf_i386_check_relocs): Likewise.  Allocate space for
        (elf_i386_check_relocs): Likewise.  Allocate space for
        local_tlsdesc_gotent.
        local_tlsdesc_gotent.
        (elf_i386_gc_sweep_hook): Handle R_386_TLS_GOTDESC and
        (elf_i386_gc_sweep_hook): Handle R_386_TLS_GOTDESC and
        R_386_TLS_DESC_CALL.
        R_386_TLS_DESC_CALL.
        (allocate_dynrelocs): Count function PLT relocations.  Reserve
        (allocate_dynrelocs): Count function PLT relocations.  Reserve
        space for TLS descriptors and relocations.
        space for TLS descriptors and relocations.
        (elf_i386_size_dynamic_sections): Reserve space for TLS
        (elf_i386_size_dynamic_sections): Reserve space for TLS
        descriptors and relocations.  Set up sgotplt_jump_table_size.
        descriptors and relocations.  Set up sgotplt_jump_table_size.
        Don't zero reloc_count in srelplt.
        Don't zero reloc_count in srelplt.
        (elf_i386_always_size_sections): New.  Set up _TLS_MODULE_BASE_.
        (elf_i386_always_size_sections): New.  Set up _TLS_MODULE_BASE_.
        (elf_i386_relocate_section): Handle R_386_TLS_GOTDESC and
        (elf_i386_relocate_section): Handle R_386_TLS_GOTDESC and
        R_386_TLS_DESC_CALL.
        R_386_TLS_DESC_CALL.
        (elf_i386_finish_dynamic_symbol): Use GOT_TLS_GD_ANY_P.
        (elf_i386_finish_dynamic_symbol): Use GOT_TLS_GD_ANY_P.
        (elf_backend_always_size_sections): Define.
        (elf_backend_always_size_sections): Define.
        * elf64-x86-64.c (x86_64_elf_howto): Add R_X86_64_GOTPC32_TLSDESC,
        * elf64-x86-64.c (x86_64_elf_howto): Add R_X86_64_GOTPC32_TLSDESC,
        R_X86_64_TLSDESC, R_X86_64_TLSDESC_CALL.
        R_X86_64_TLSDESC, R_X86_64_TLSDESC_CALL.
        (R_X86_64_standard): Adjust.
        (R_X86_64_standard): Adjust.
        (x86_64_reloc_map): Map new relocs.
        (x86_64_reloc_map): Map new relocs.
        (elf64_x86_64_rtype_to_howto): New, split out of...
        (elf64_x86_64_rtype_to_howto): New, split out of...
        (elf64_x86_64_info_to_howto): ... this function, and...
        (elf64_x86_64_info_to_howto): ... this function, and...
        (elf64_x86_64_reloc_type_lookup): ... use it to map elf_reloc_val.
        (elf64_x86_64_reloc_type_lookup): ... use it to map elf_reloc_val.
        (GOT_TLS_GDESC, GOT_TLS_GD_BOTH_P): New macros.
        (GOT_TLS_GDESC, GOT_TLS_GD_BOTH_P): New macros.
        (GOT_TLS_GD_P, GOT_TLS_GDESC_P, GOT_TLS_GD_ANY_P): New macros.
        (GOT_TLS_GD_P, GOT_TLS_GDESC_P, GOT_TLS_GD_ANY_P): New macros.
        (struct elf64_x86_64_link_hash_entry): Add tlsdesc_got field.
        (struct elf64_x86_64_link_hash_entry): Add tlsdesc_got field.
        (struct elf64_x86_64_obj_tdata): Add local_tlsdesc_gotent field.
        (struct elf64_x86_64_obj_tdata): Add local_tlsdesc_gotent field.
        (elf64_x86_64_local_tlsdesc_gotent): New macro.
        (elf64_x86_64_local_tlsdesc_gotent): New macro.
        (struct elf64_x86_64_link_hash_table): Add tlsdesc_plt,
        (struct elf64_x86_64_link_hash_table): Add tlsdesc_plt,
        tlsdesc_got and sgotplt_jump_table_size fields.
        tlsdesc_got and sgotplt_jump_table_size fields.
        (elf64_x86_64_compute_jump_table_size): New macro.
        (elf64_x86_64_compute_jump_table_size): New macro.
        (link_hash_newfunc): Initialize tlsdesc_got.
        (link_hash_newfunc): Initialize tlsdesc_got.
        (elf64_x86_64_link_hash_table_create): Initialize new fields.
        (elf64_x86_64_link_hash_table_create): Initialize new fields.
        (elf64_x86_64_tls_transition): Handle R_X86_64_GOTPC32_TLSDESC and
        (elf64_x86_64_tls_transition): Handle R_X86_64_GOTPC32_TLSDESC and
        R_X86_64_TLSDESC_CALL.
        R_X86_64_TLSDESC_CALL.
        (elf64_x86_64_check_relocs): Likewise.  Allocate space for
        (elf64_x86_64_check_relocs): Likewise.  Allocate space for
        local_tlsdesc_gotent.
        local_tlsdesc_gotent.
        (elf64_x86_64_gc_sweep_hook): Handle R_X86_64_GOTPC32_TLSDESC and
        (elf64_x86_64_gc_sweep_hook): Handle R_X86_64_GOTPC32_TLSDESC and
        R_X86_64_TLSDESC_CALL.
        R_X86_64_TLSDESC_CALL.
        (allocate_dynrelocs): Count function PLT relocations.  Reserve
        (allocate_dynrelocs): Count function PLT relocations.  Reserve
        space for TLS descriptors and relocations.
        space for TLS descriptors and relocations.
        (elf64_x86_64_size_dynamic_sections): Reserve space for TLS
        (elf64_x86_64_size_dynamic_sections): Reserve space for TLS
        descriptors and relocations.  Set up sgotplt_jump_table_size,
        descriptors and relocations.  Set up sgotplt_jump_table_size,
        tlsdesc_plt and tlsdesc_got.  Make room for them.  Don't zero
        tlsdesc_plt and tlsdesc_got.  Make room for them.  Don't zero
        reloc_count in srelplt.  Add dynamic entries for DT_TLSDESC_PLT
        reloc_count in srelplt.  Add dynamic entries for DT_TLSDESC_PLT
        and DT_TLSDESC_GOT.
        and DT_TLSDESC_GOT.
        (elf64_x86_64_always_size_sections): New.  Set up
        (elf64_x86_64_always_size_sections): New.  Set up
        _TLS_MODULE_BASE_.
        _TLS_MODULE_BASE_.
        (elf64_x86_64_relocate_section): Handle R_386_TLS_GOTDESC and
        (elf64_x86_64_relocate_section): Handle R_386_TLS_GOTDESC and
        R_386_TLS_DESC_CALL.
        R_386_TLS_DESC_CALL.
        (elf64_x86_64_finish_dynamic_symbol): Use GOT_TLS_GD_ANY_P.
        (elf64_x86_64_finish_dynamic_symbol): Use GOT_TLS_GD_ANY_P.
        (elf64_x86_64_finish_dynamic_sections): Set DT_TLSDESC_PLT and
        (elf64_x86_64_finish_dynamic_sections): Set DT_TLSDESC_PLT and
        DT_TLSDESC_GOT.  Set up TLS descriptor lazy resolver PLT entry.
        DT_TLSDESC_GOT.  Set up TLS descriptor lazy resolver PLT entry.
        (elf_backend_always_size_sections): Define.
        (elf_backend_always_size_sections): Define.
2006-01-17  H.J. Lu  
2006-01-17  H.J. Lu  
        PR binutils/2096
        PR binutils/2096
        * dwarf2.c (comp_unit_contains_address): Update comment.
        * dwarf2.c (comp_unit_contains_address): Update comment.
        (_bfd_dwarf2_find_nearest_line): Use section's vma, instead of
        (_bfd_dwarf2_find_nearest_line): Use section's vma, instead of
        lma.  Return TRUE only if both comp_unit_contains_address and
        lma.  Return TRUE only if both comp_unit_contains_address and
        comp_unit_find_nearest_line return TRUE.
        comp_unit_find_nearest_line return TRUE.
        (_bfd_dwarf2_find_line): Use section's vma, instead of lma.
        (_bfd_dwarf2_find_line): Use section's vma, instead of lma.
2006-01-18  Alan Modra  
2006-01-18  Alan Modra  
        * elf-bfd.h (struct elf_backend_data): Add gc_mark_dynamic_ref.
        * elf-bfd.h (struct elf_backend_data): Add gc_mark_dynamic_ref.
        (bfd_elf_gc_mark_dynamic_ref_symbol): Declare.
        (bfd_elf_gc_mark_dynamic_ref_symbol): Declare.
        * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Rename from
        * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Rename from
        elf_gc_mark_dynamic_ref_symbol.  Make global.
        elf_gc_mark_dynamic_ref_symbol.  Make global.
        (bfd_elf_gc_sections): Call bed->gc_mark_dynamic_ref.
        (bfd_elf_gc_sections): Call bed->gc_mark_dynamic_ref.
        * elfxx-target.h (elf_backend_gc_mark_dynamic_ref): Define.
        * elfxx-target.h (elf_backend_gc_mark_dynamic_ref): Define.
        (elfNN_bed): Init new field.
        (elfNN_bed): Init new field.
        * elf64-ppc.c (elf_backend_gc_mark_dynamic_ref): Define.
        * elf64-ppc.c (elf_backend_gc_mark_dynamic_ref): Define.
        (ppc64_elf_gc_mark_dynamic_ref): New function.
        (ppc64_elf_gc_mark_dynamic_ref): New function.
2006-01-17  Alan Modra  
2006-01-17  Alan Modra  
        * elf64-ppc.c (ppc64_elf_gc_mark_hook): Don't hang forever in loop.
        * elf64-ppc.c (ppc64_elf_gc_mark_hook): Don't hang forever in loop.
2006-01-17  Nick Clifton  
2006-01-17  Nick Clifton  
        PR binutils/2159
        PR binutils/2159
        * elf.c (elfcore_write_pstatus): Add ATTRIBUTE_UNUSED to unused
        * elf.c (elfcore_write_pstatus): Add ATTRIBUTE_UNUSED to unused
        parameters.
        parameters.
2006-01-11  Nick Clifton  
2006-01-11  Nick Clifton  
        * elf32-arm.c (elf32_arm_output_symbol_hook): Install new entry
        * elf32-arm.c (elf32_arm_output_symbol_hook): Install new entry
        into the newly (re)allocated map array.
        into the newly (re)allocated map array.
2006-01-09  Alexis Wilke  
2006-01-09  Alexis Wilke  
        * peXXigen.c (tbl): Add comma after "HIGH3ADJ".
        * peXXigen.c (tbl): Add comma after "HIGH3ADJ".
2006-01-01  Jakub Jelinek  
2006-01-01  Jakub Jelinek  
        * elf64-ppc.c (ppc64_elf_action_discarded): Return 0
        * elf64-ppc.c (ppc64_elf_action_discarded): Return 0
        for .toc1 section.
        for .toc1 section.
For older changes see ChangeLog-2005
For older changes see ChangeLog-2005


Local Variables:
Local Variables:
mode: change-log
mode: change-log
left-margin: 8
left-margin: 8
fill-column: 74
fill-column: 74
version-control: never
version-control: never
End:
End:
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.