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

Subversion Repositories or1k

[/] [or1k/] [trunk/] [gdb-6.8/] [bfd/] [ChangeLog] - Diff between revs 1739 and 1765

Only display areas with differences | Details | Blame | View Log

Rev 1739 Rev 1765
2008-07-30  Jeremy Bennett  
2008-07-30  Jeremy Bennett  
        * config.bfd: Added or32-*-*-*linux* as a pattern for big-endian
        * config.bfd: Added or32-*-*-*linux* as a pattern for big-endian
        OpenRISC 1000
        OpenRISC 1000
2008-02-26  Alan Modra  
2008-02-26  Alan Modra  
        * elf32-ppc.c (ppc_elf_check_relocs): Set pointer_equality_needed
        * elf32-ppc.c (ppc_elf_check_relocs): Set pointer_equality_needed
        for R_PPC_REL32 syms.  Don't set non_got_ref on branch reloc syms,
        for R_PPC_REL32 syms.  Don't set non_got_ref on branch reloc syms,
        and assume branch relocs are not dynamic when non-shared.
        and assume branch relocs are not dynamic when non-shared.
        (readonly_dynrelocs): New function, split out from..
        (readonly_dynrelocs): New function, split out from..
        (maybe_set_textrel): ..here, renamed from old readonly_dynrelocs.
        (maybe_set_textrel): ..here, renamed from old readonly_dynrelocs.
        (ppc_elf_adjust_dynamic_symbol): For symbols generating plt entries,
        (ppc_elf_adjust_dynamic_symbol): For symbols generating plt entries,
        clear non_got_ref..
        clear non_got_ref..
        (allocate_dynrelocs): ..and don't set u.def for undefined weak.
        (allocate_dynrelocs): ..and don't set u.def for undefined weak.
        Do allow dynamic relocs on undefined symbols.
        Do allow dynamic relocs on undefined symbols.
        (ppc_elf_adjust_dynamic_symbol): Use readonly_dynrelocs.
        (ppc_elf_adjust_dynamic_symbol): Use readonly_dynrelocs.
        (ppc_elf_relocate_section): Mirror dynamic reloc changes in
        (ppc_elf_relocate_section): Mirror dynamic reloc changes in
        check_relocs.
        check_relocs.
        (ppc_elf_finish_dynamic_symbol): Don't give a warning on weak
        (ppc_elf_finish_dynamic_symbol): Don't give a warning on weak
        plt symbols needing pointer_equality_needed.
        plt symbols needing pointer_equality_needed.
2008-02-23  Alan Modra  
2008-02-23  Alan Modra  
        * elf32-ppc.c (ppc_elf_check_relocs): Revert non_got_ref change.
        * elf32-ppc.c (ppc_elf_check_relocs): Revert non_got_ref change.
2008-02-23  Alan Modra  
2008-02-23  Alan Modra  
        * elf32-ppc.c (ppc_elf_copy_indirect_symbol): Copy
        * elf32-ppc.c (ppc_elf_copy_indirect_symbol): Copy
        pointer_equality_needed.
        pointer_equality_needed.
        (ppc_elf_check_relocs): Split out non-branch relocs from others
        (ppc_elf_check_relocs): Split out non-branch relocs from others
        that might emit dynamic relocs.  Set pointer_equality_needed
        that might emit dynamic relocs.  Set pointer_equality_needed
        for their symbols.  Don't set non_got_ref on branch reloc symbols.
        for their symbols.  Don't set non_got_ref on branch reloc symbols.
        (ppc_elf_hash_symbol): New function.
        (ppc_elf_hash_symbol): New function.
        (elf_backend_hash_symbol): Define.
        (elf_backend_hash_symbol): Define.
        (ppc_elf_finish_dynamic_symbol): Handle pointer_equality_needed.
        (ppc_elf_finish_dynamic_symbol): Handle pointer_equality_needed.
        Error if pointer_equality_needed on weak plt symbol.
        Error if pointer_equality_needed on weak plt symbol.
2008-02-22  H.J. Lu  
2008-02-22  H.J. Lu  
        PR ld/5788
        PR ld/5788
        * elflink.c (elf_create_symbuf): Correct buffer size and
        * elflink.c (elf_create_symbuf): Correct buffer size and
        position.
        position.
2008-02-22  Nick Clifton  
2008-02-22  Nick Clifton  
        PR 868
        PR 868
        * dwarf2.c: Revert previous patch.  All of the allocate memory is
        * dwarf2.c: Revert previous patch.  All of the allocate memory is
        on an obstack which will be freed at some other time.
        on an obstack which will be freed at some other time.
2008-02-20  Nick Clifton  
2008-02-20  Nick Clifton  
        PR 868
        PR 868
        * libbfd.c (bfd_realloc_or_free): New function.  Performs like
        * libbfd.c (bfd_realloc_or_free): New function.  Performs like
        bfd_realloc, but if the (re)allocation fails, the pointer is
        bfd_realloc, but if the (re)allocation fails, the pointer is
        freed.
        freed.
        * libbfd-in.h: Prototype.
        * libbfd-in.h: Prototype.
        * libbfd.h: Regenerate.
        * libbfd.h: Regenerate.
        * bfdio.c (bfd_bwrite): Use the new function.
        * bfdio.c (bfd_bwrite): Use the new function.
        (bfd_seek): Likewise.
        (bfd_seek): Likewise.
        * bfdwin.c:(bfd_get_file_window): Likewise.
        * bfdwin.c:(bfd_get_file_window): Likewise.
        * elf-strtab.c (_bfd_elf_strtab_add): Likewise.
        * elf-strtab.c (_bfd_elf_strtab_add): Likewise.
        * elf32-ppc.c (ppc_elf_relax_section): Likewise.
        * elf32-ppc.c (ppc_elf_relax_section): Likewise.
        * elf32-xtensa.c (vsprintf_msg): Likewise.
        * elf32-xtensa.c (vsprintf_msg): Likewise.
        * mach-o.c (bfd_mach_o_core_fetch_environment): Likewise.
        * mach-o.c (bfd_mach_o_core_fetch_environment): Likewise.
        * stabs.c (_bfd_link_seciton_stabs): Likewise.
        * stabs.c (_bfd_link_seciton_stabs): Likewise.
        * vms-misc.c (_bfd_vms_get_record): Likewise.
        * vms-misc.c (_bfd_vms_get_record): Likewise.
        * vms-tir.c (check_section): Likewise.
        * vms-tir.c (check_section): Likewise.
        * vms.c (vms_new_section_hook): Likewise.
        * vms.c (vms_new_section_hook): Likewise.
        * elf32-arm.c (elf32_arm_section_map_add): Check that the
        * elf32-arm.c (elf32_arm_section_map_add): Check that the
        allocation of sec_data->map succeeded before using it.
        allocation of sec_data->map succeeded before using it.
        * elflink.c (elf_link_output_sym): Do not overwrite finfo->
        * elflink.c (elf_link_output_sym): Do not overwrite finfo->
        symshndxbuf until it is known that the reallocation succeeded.
        symshndxbuf until it is known that the reallocation succeeded.
2008-02-20  Diogo de Carvalho Kraemer  
2008-02-20  Diogo de Carvalho Kraemer  
            Nick Clifton  
            Nick Clifton  
        PR 868
        PR 868
        * dwarf2.c (read_abbrevs): Free the abbreviation table if we run
        * dwarf2.c (read_abbrevs): Free the abbreviation table if we run
        out of memory.
        out of memory.
        (decode_line_info): Free the line_info_table before returning a
        (decode_line_info): Free the line_info_table before returning a
        failure result.
        failure result.
        (_bfd_dwarf2_cleanup_debug_info): Free the abbreviation table.
        (_bfd_dwarf2_cleanup_debug_info): Free the abbreviation table.
        Free the line table.  Free the function table.  Free the variable
        Free the line table.  Free the function table.  Free the variable
        table.
        table.
2008-02-17  Mark Kettenis  
2008-02-17  Mark Kettenis  
        * elf.c (swap_out_syms): Avoid preprocessing directive within
        * elf.c (swap_out_syms): Avoid preprocessing directive within
        macro arg.
        macro arg.
2008-02-17  Jan Kratochvil  
2008-02-17  Jan Kratochvil  
        * elf.c (assign_file_positions_for_load_sections): Set the type of
        * elf.c (assign_file_positions_for_load_sections): Set the type of
        PT_NOTE sections to SHT_NOTE.
        PT_NOTE sections to SHT_NOTE.
2008-02-17  Ulrich Weigand  
2008-02-17  Ulrich Weigand  
        * simple.c (bfd_simple_get_relocated_section_contents): Set
        * simple.c (bfd_simple_get_relocated_section_contents): Set
        link_info.output_bfd.
        link_info.output_bfd.
2008-02-16  Nathan Sidwell  
2008-02-16  Nathan Sidwell  
        * dwarf2.c (find_line): Don't trust debug information after an
        * dwarf2.c (find_line): Don't trust debug information after an
        unparseable compilation unit.
        unparseable compilation unit.
2008-02-15  Alan Modra  
2008-02-15  Alan Modra  
        PR 5765
        PR 5765
        * section.c (SEC_LINK_DUPLICATES): Correct.  Renumber following flags.
        * section.c (SEC_LINK_DUPLICATES): Correct.  Renumber following flags.
        * bfd-in2.h: Regenerate.
        * bfd-in2.h: Regenerate.
2008-02-15  Alan Modra  
2008-02-15  Alan Modra  
        * elf-bfd.h (enum elf_object_id): Add HPPA_ELF_TDATA.
        * elf-bfd.h (enum elf_object_id): Add HPPA_ELF_TDATA.
        * elf.c (bfd_elf_allocate_object): Don't check for already allocated
        * elf.c (bfd_elf_allocate_object): Don't check for already allocated
        tdata.
        tdata.
        * elf32-hppa.c (elf32_hppa_mkobject): New function.
        * elf32-hppa.c (elf32_hppa_mkobject): New function.
        (bfd_elf32_mkobject): Define.
        (bfd_elf32_mkobject): Define.
        * elf32-ppc.c (is_ppc_elf_target): Delete.  Replace all uses with..
        * elf32-ppc.c (is_ppc_elf_target): Delete.  Replace all uses with..
        (is_ppc_elf): ..this new macro.
        (is_ppc_elf): ..this new macro.
        * elf64-ppc.c (is_ppc64_elf_target): Delete.  Replace all uses with..
        * elf64-ppc.c (is_ppc64_elf_target): Delete.  Replace all uses with..
        (is_ppc64_elf): ..this new macro.
        (is_ppc64_elf): ..this new macro.
2008-02-15  Alan Modra  
2008-02-15  Alan Modra  
        * elflink.c: Replace all accesses to hash->creator field with
        * elflink.c: Replace all accesses to hash->creator field with
        output_bfd->xvec.
        output_bfd->xvec.
        * cofflink.c: Likewise.
        * cofflink.c: Likewise.
        * coff-h8300.c: Likewise.
        * coff-h8300.c: Likewise.
        * ecoff.c: Likewise.
        * ecoff.c: Likewise.
        * elf32-m68hc1x.c: Likewise.
        * elf32-m68hc1x.c: Likewise.
        * elf32-ppc.c: Likewise.
        * elf32-ppc.c: Likewise.
        * elf64-alpha.c: Likewise.
        * elf64-alpha.c: Likewise.
        * elf64-ppc.c: Likewise.
        * elf64-ppc.c: Likewise.
        * elf64-sparc.c: Likewise.
        * elf64-sparc.c: Likewise.
        * elfxx-mips.c: Likewise.
        * elfxx-mips.c: Likewise.
        * i386linux.c: Likewise.
        * i386linux.c: Likewise.
        * m68klinux.c: Likewise.
        * m68klinux.c: Likewise.
        * sparclinux.c: Likewise.
        * sparclinux.c: Likewise.
        * sunos.c: Likewise.
        * sunos.c: Likewise.
        * xcofflink.c: Likewise.
        * xcofflink.c: Likewise.
        * linker.c: Likewise.
        * linker.c: Likewise.
        (_bfd_link_hash_table_init): Don't store creator.
        (_bfd_link_hash_table_init): Don't store creator.
2008-02-14  Peter Jones  
2008-02-14  Peter Jones  
        * efi-rtdrv-ia32.c: New file.
        * efi-rtdrv-ia32.c: New file.
        * efi-bsdrv-ia32.c: New file.
        * efi-bsdrv-ia32.c: New file.
        * efi-rtdrv-ia64.c: New file.
        * efi-rtdrv-ia64.c: New file.
        * efi-bsdrv-ia64.c: New file.
        * efi-bsdrv-ia64.c: New file.
        * efi-rtdrv-x86_64.c: New file.
        * efi-rtdrv-x86_64.c: New file.
        * efi-bsdrv-x86_64.c: New file.
        * efi-bsdrv-x86_64.c: New file.
        * peicode.h (pe_bfd_object_p): Add support for boot service and
        * peicode.h (pe_bfd_object_p): Add support for boot service and
        runtime service drivers.
        runtime service drivers.
        * libpei.h: Add macros for EFI formats, and rename the efi application
        * libpei.h: Add macros for EFI formats, and rename the efi application
        format macros to disambiguate.
        format macros to disambiguate.
        * targets.c: Add bfd_target _vec externs.
        * targets.c: Add bfd_target _vec externs.
        (_bfd_tar): Add EFI _vec entries.
        (_bfd_tar): Add EFI _vec entries.
        * config.bfd: Add EFI vectors into the selection routines.
        * config.bfd: Add EFI vectors into the selection routines.
        * configure.in: add EFI _vec entries.
        * configure.in: add EFI _vec entries.
        * configure: Regenerate.
        * configure: Regenerate.
        * Makefile.am: Add EFI files.
        * Makefile.am: Add EFI files.
        * Makefile.in: Regenerate.
        * Makefile.in: Regenerate.
2008-02-14  Nathan Sidwell  
2008-02-14  Nathan Sidwell  
        * dwarf1.c (struct dwarf1_debug): Add syms member.
        * dwarf1.c (struct dwarf1_debug): Add syms member.
        (alloc_dwarf1_unit, alloc_dwarf1_func): Check for out of memory.
        (alloc_dwarf1_unit, alloc_dwarf1_func): Check for out of memory.
        (parse_line_table, _bfd_dwarf1_find_nearest_line): Relocate
        (parse_line_table, _bfd_dwarf1_find_nearest_line): Relocate
        section contents, check for out of memory.
        section contents, check for out of memory.
        * dwarf1.c (struct dwarf1_debug): Change data pointers to bfd_byte.
        * dwarf1.c (struct dwarf1_debug): Change data pointers to bfd_byte.
        (parse_die): Change data pointers to bfd_byte.
        (parse_die): Change data pointers to bfd_byte.
        (parse_line_table, parse_functions_in_unit): Likewise.
        (parse_line_table, parse_functions_in_unit): Likewise.
2008-02-14  Alan Modra  
2008-02-14  Alan Modra  
        * elflink.c (compute_bucket_count): Warning fixes.
        * elflink.c (compute_bucket_count): Warning fixes.
2008-02-12  DJ Delorie  
2008-02-12  DJ Delorie  
        * elf32-iq2000.c (iq2000_elf_relocate_section): Adjust addend of
        * elf32-iq2000.c (iq2000_elf_relocate_section): Adjust addend of
        relocation pointing to local symbol in merged section.
        relocation pointing to local symbol in merged section.
        * elf32-iq2000.c (iq2000_elf_relocate_offset16): New.
        * elf32-iq2000.c (iq2000_elf_relocate_offset16): New.
        (iq2000_elf_relocate_section): Call it.
        (iq2000_elf_relocate_section): Call it.
2008-02-12  Nick Clifton  
2008-02-12  Nick Clifton  
        PR ld/5692
        PR ld/5692
        * elf-bfd.h (enum elf_object_id): New enum, used to identify
        * elf-bfd.h (enum elf_object_id): New enum, used to identify
        target specific extensions to the elf_obj_tdata structure.
        target specific extensions to the elf_obj_tdata structure.
        (struct elf_obj_tdata): New field 'object_id'.
        (struct elf_obj_tdata): New field 'object_id'.
        (elf_object_id, elf_program_header_size, elf_symtab_hdr): New
        (elf_object_id, elf_program_header_size, elf_symtab_hdr): New
        macros for accessing fields in the elf_obj_tdata structure.
        macros for accessing fields in the elf_obj_tdata structure.
        (bfd_elf_mkobject): Rename to bfd_elf_make_generic_object.
        (bfd_elf_mkobject): Rename to bfd_elf_make_generic_object.
        (bfd_elf_allocate_object): New function.
        (bfd_elf_allocate_object): New function.
        * elf.c (bfd_elf_mkobject): Rename to bfd_elf_make_generic_object
        * elf.c (bfd_elf_mkobject): Rename to bfd_elf_make_generic_object
        and implement by calling bfd_elf_allocate_object.
        and implement by calling bfd_elf_allocate_object.
        (bfd_elf_allocate_object): New function: Allocates an
        (bfd_elf_allocate_object): New function: Allocates an
        elf_obj_tdata structure, possibly with a target specific
        elf_obj_tdata structure, possibly with a target specific
        extension.
        extension.
        * elfxx-target.h (bfd_elfNN_mkobject): Use
        * elfxx-target.h (bfd_elfNN_mkobject): Use
        bfd_elf_make_generic_object as the default value.
        bfd_elf_make_generic_object as the default value.
        * elf32-arm.c (elf32_arm_obj_tdata): Rename to elf_arm_obj_tdata
        * elf32-arm.c (elf32_arm_obj_tdata): Rename to elf_arm_obj_tdata
        for consistency with other, similar structures.
        for consistency with other, similar structures.
        (is_arm_elf): New macro.  Checks a BFD to make sure that is an ARM
        (is_arm_elf): New macro.  Checks a BFD to make sure that is an ARM
        ELF bfd.
        ELF bfd.
        (elf32_arm_mkobject): Call bfd_elf_allocate_object.
        (elf32_arm_mkobject): Call bfd_elf_allocate_object.
        (bfd_elf32_arm_vfp11_erratum_scan): Use is_arm_elf macro to check
        (bfd_elf32_arm_vfp11_erratum_scan): Use is_arm_elf macro to check
        the bfd being processed.
        the bfd being processed.
        (bfd_elf32_arm_vfp11_fix_veneer_locations): Likewise.
        (bfd_elf32_arm_vfp11_fix_veneer_locations): Likewise.
        (bfd_elf32_arm_set_target_relocs): Likewise.
        (bfd_elf32_arm_set_target_relocs): Likewise.
        (bfd_elf32_arm_final_link_relocate): Likewise.
        (bfd_elf32_arm_final_link_relocate): Likewise.
        (bfd_elf32_arm_copy_private_bfd_data): Likewise.
        (bfd_elf32_arm_copy_private_bfd_data): Likewise.
        (bfd_elf32_arm_merge_eabi_attributes): Likewise.
        (bfd_elf32_arm_merge_eabi_attributes): Likewise.
        (bfd_elf32_arm_merge_private_bfd_data): Likewise.
        (bfd_elf32_arm_merge_private_bfd_data): Likewise.
        (bfd_elf32_arm_check_relocs): Likewise.
        (bfd_elf32_arm_check_relocs): Likewise.
        (bfd_elf32_arm_gc_mark_extra_sections): Likewise.
        (bfd_elf32_arm_gc_mark_extra_sections): Likewise.
        (bfd_elf32_arm_size_dynamic_sections): Likewise.
        (bfd_elf32_arm_size_dynamic_sections): Likewise.
        (bfd_elf32_arm_process_before_allocation): Use elf_symtab_hdr.
        (bfd_elf32_arm_process_before_allocation): Use elf_symtab_hdr.
        (bfd_elf32_arm_init_maps): Likewise.
        (bfd_elf32_arm_init_maps): Likewise.
        (bfd_elf32_arm_final_link_relocate): Likewise.
        (bfd_elf32_arm_final_link_relocate): Likewise.
        (bfd_elf32_arm_relocate_section): Likewise.
        (bfd_elf32_arm_relocate_section): Likewise.
        (bfd_elf32_arm_gc_sweep_hook): Likewise.
        (bfd_elf32_arm_gc_sweep_hook): Likewise.
        (bfd_elf32_arm_check_relocs): Likewise.
        (bfd_elf32_arm_check_relocs): Likewise.
        (bfd_elf32_arm_size_dynamic_sections): Likewise.
        (bfd_elf32_arm_size_dynamic_sections): Likewise.
        * elf32-i386.c (elf_i386_mkobject): Call bfd_elf_allocate_object.
        * elf32-i386.c (elf_i386_mkobject): Call bfd_elf_allocate_object.
        (is_i386_elf): New macro.  Checks a BFD to make sure that is an x86
        (is_i386_elf): New macro.  Checks a BFD to make sure that is an x86
        ELF bfd.
        ELF bfd.
        (elf_i386_check_relocs): Use is_i386_elf macro to check    the bfd
        (elf_i386_check_relocs): Use is_i386_elf macro to check    the bfd
        being processed.
        being processed.
        (elf_i386_size_dynamic_sections): Likewise.
        (elf_i386_size_dynamic_sections): Likewise.
        (elf_i386_relocate_section): Likewise.
        (elf_i386_relocate_section): Likewise.
        (elf_i386_check_relocs): Use elf_symtab_hdr.
        (elf_i386_check_relocs): Use elf_symtab_hdr.
        (elf_i386_gc_sweep_hook): Likewise.
        (elf_i386_gc_sweep_hook): Likewise.
        (elf_i386_size_dynamic_sections): Likewise.
        (elf_i386_size_dynamic_sections): Likewise.
        (elf_i386_relocate_section): Likewise.
        (elf_i386_relocate_section): Likewise.
        * elf32-ppc.c (ppc_elf_mkobject): Call bfd_elf_allocate_object.
        * elf32-ppc.c (ppc_elf_mkobject): Call bfd_elf_allocate_object.
        (elf_create_pointer_linker_section): Use is_ppc_elf_target to
        (elf_create_pointer_linker_section): Use is_ppc_elf_target to
        verify that the bfd before accessing target specific fields.
        verify that the bfd before accessing target specific fields.
        (ppc_elf_check_relocs): Likewise.
        (ppc_elf_check_relocs): Likewise.
        (elf_finish_pointer_linker_section): Likewise.
        (elf_finish_pointer_linker_section): Likewise.
        (elf_create_pointer_linker_section): Use elf_symtab_hdr.
        (elf_create_pointer_linker_section): Use elf_symtab_hdr.
        (ppc_elf_check_relocs): Likewise.
        (ppc_elf_check_relocs): Likewise.
        (ppc_elf_gc_sweep_hook): Likewise.
        (ppc_elf_gc_sweep_hook): Likewise.
        (ppc_elf_tls_optimize): Likewise.
        (ppc_elf_tls_optimize): Likewise.
        (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.
        * elf32-s390.c (struct elf_s390_obj_tdata): Add a comment
        * elf32-s390.c (struct elf_s390_obj_tdata): Add a comment
        reminding programmers to keep this structure in sync with the one
        reminding programmers to keep this structure in sync with the one
        defined in elf64-s390.c.
        defined in elf64-s390.c.
        (elf_s390_mkobject): Call bfd_elf_allocate_object.
        (elf_s390_mkobject): Call bfd_elf_allocate_object.
        (is_s390_elf): New macro.  Checks a BFD to make sure that is an s390
        (is_s390_elf): New macro.  Checks a BFD to make sure that is an s390
        ELF bfd.
        ELF bfd.
        (elf_s390_check_relocs): Use is_s390_elf macro to check    the bfd
        (elf_s390_check_relocs): Use is_s390_elf macro to check    the bfd
        being processed.
        being processed.
        (elf_s390_size_dynamic_sections): Likewise.
        (elf_s390_size_dynamic_sections): Likewise.
        (elf_s390_relocate_section): Likewise.
        (elf_s390_relocate_section): Likewise.
        (elf_s390_check_relocs): Use elf_symtab_hdr.
        (elf_s390_check_relocs): Use elf_symtab_hdr.
        (elf_s390_gc_sweep_hook): Likewise.
        (elf_s390_gc_sweep_hook): Likewise.
        (elf_s390_size_dynamic_sections): Likewise.
        (elf_s390_size_dynamic_sections): Likewise.
        (elf_s390_relocate_section): Likewise.
        (elf_s390_relocate_section): Likewise.
        * elf32-sh.c (sh_elf_mkobject): Call bfd_elf_allocate_object.
        * elf32-sh.c (sh_elf_mkobject): Call bfd_elf_allocate_object.
        (is_sh_elf): New macro.  Checks a BFD to make sure that is an SH
        (is_sh_elf): New macro.  Checks a BFD to make sure that is an SH
        ELF bfd.
        ELF bfd.
        (sh_elf_size_dynamic_sections): Use is_sh_elf macro to check the
        (sh_elf_size_dynamic_sections): Use is_sh_elf macro to check the
        bfd being processed.
        bfd being processed.
        (sh_elf_relocate_section): Likewise.
        (sh_elf_relocate_section): Likewise.
        (sh_elf_check_relocs): Likewise.
        (sh_elf_check_relocs): Likewise.
        (sh_elf_copy_private_data): Likewise.
        (sh_elf_copy_private_data): Likewise.
        (sh_elf_relax_section): Use elf_symtab_hdr.
        (sh_elf_relax_section): Use elf_symtab_hdr.
        (sh_elf_size_dynamic_sections): Likewise.
        (sh_elf_size_dynamic_sections): Likewise.
        (sh_elf_relocate_section): Likewise.
        (sh_elf_relocate_section): Likewise.
        (sh_elf_get_relocated_section_contents): Likewise.
        (sh_elf_get_relocated_section_contents): Likewise.
        (sh_elf_gc_sweep_hook): Likewise.
        (sh_elf_gc_sweep_hook): Likewise.
        (sh_elf_check_relocs): Likewise.
        (sh_elf_check_relocs): Likewise.
        * elf64-alpha.c (elf64_alpha_mkobject): Call bfd_elf_allocate_object.
        * elf64-alpha.c (elf64_alpha_mkobject): Call bfd_elf_allocate_object.
        (is_alpha_elf): New macro.  Checks a BFD to make sure that is an
        (is_alpha_elf): New macro.  Checks a BFD to make sure that is an
        Alpha ELF bfd.
        Alpha ELF bfd.
        (elf64_alpha_create_got_section): Use is_alpha_elf macro to check
        (elf64_alpha_create_got_section): Use is_alpha_elf macro to check
        the bfd being processed.
        the bfd being processed.
        (elf64_alpha_create_dynamic_section): Likewise.
        (elf64_alpha_create_dynamic_section): Likewise.
        (elf64_alpha_check_relocs): Likewise.
        (elf64_alpha_check_relocs): Likewise.
        (elf64_alpha_size_got_sections): Likewise.
        (elf64_alpha_size_got_sections): Likewise.
        (elf64_alpha_relax_section): Likewise.
        (elf64_alpha_relax_section): Likewise.
        (elf64_alpha_relocate_section): Likewise.
        (elf64_alpha_relocate_section): Likewise.
        (elf64_alpha_final_link): Likewise.
        (elf64_alpha_final_link): Likewise.
        (elf64_alpha_check_relocs): Use elf_symtab_hdr.
        (elf64_alpha_check_relocs): Use elf_symtab_hdr.
        (elf64_alpha_relax_section): Likewise.
        (elf64_alpha_relax_section): Likewise.
        (elf64_alpha_relocate_section_r): Likewise.
        (elf64_alpha_relocate_section_r): Likewise.
        (elf64_alpha_relocate_section): Likewise.
        (elf64_alpha_relocate_section): Likewise.
        * elf64-ppc.c (ppc64_elf_mkobject): Call bfd_elf_allocate_object.
        * elf64-ppc.c (ppc64_elf_mkobject): Call bfd_elf_allocate_object.
        (ppc64_elf_check_relocs): Use is_ppc64_elf_target to check the bfd
        (ppc64_elf_check_relocs): Use is_ppc64_elf_target to check the bfd
        being processed.
        being processed.
        (opd_entry_value): Likewise.
        (opd_entry_value): Likewise.
        (allocate_dynrelocs): Likewise.
        (allocate_dynrelocs): Likewise.
        (ppc64_elf_relocate_section): Likewise.
        (ppc64_elf_relocate_section): Likewise.
        (ppc64_elf_check_relocs): Use elf_symtab_hdr.
        (ppc64_elf_check_relocs): Use elf_symtab_hdr.
        (opd_entry_value): Likewise.
        (opd_entry_value): Likewise.
        (ppc64_elf_gc_sweep_hook): Likewise.
        (ppc64_elf_gc_sweep_hook): Likewise.
        (get_sym_h): Likewise.
        (get_sym_h): Likewise.
        (ppc64_elf_edit_opd): Likewise.
        (ppc64_elf_edit_opd): Likewise.
        (ppc64_elf_tls_optimize): Likewise.
        (ppc64_elf_tls_optimize): Likewise.
        (ppc64_elf_edit_toc): Likewise.
        (ppc64_elf_edit_toc): Likewise.
        (ppc64_elf_size_dynamic_sections): Likewise.
        (ppc64_elf_size_dynamic_sections): Likewise.
        (toc_adjusting_stub_needed): Likewise.
        (toc_adjusting_stub_needed): Likewise.
        (ppc64_elf_size_stubs): Likewise.
        (ppc64_elf_size_stubs): Likewise.
        (ppc64_elf_relocate_section): Likewise.
        (ppc64_elf_relocate_section): Likewise.
        * elf64-s390.c (struct elf_s390_obj_tdata): Add a comment
        * elf64-s390.c (struct elf_s390_obj_tdata): Add a comment
        reminding programmers to keep this structure in sync with the one
        reminding programmers to keep this structure in sync with the one
        defined in elf32-s390.c.
        defined in elf32-s390.c.
        (elf_s390_mkobject): Call bfd_elf_allocate_object.
        (elf_s390_mkobject): Call bfd_elf_allocate_object.
        (is_s390_elf): New macro.  Checks a BFD to make sure that is an s390
        (is_s390_elf): New macro.  Checks a BFD to make sure that is an s390
        ELF bfd.
        ELF bfd.
        (elf_s390_check_relocs): Use is_s390_elf macro to check    the bfd
        (elf_s390_check_relocs): Use is_s390_elf macro to check    the bfd
        being processed.
        being processed.
        (elf_s390_size_dynamic_sections): Likewise.
        (elf_s390_size_dynamic_sections): Likewise.
        (elf_s390_relocate_section): Likewise.
        (elf_s390_relocate_section): Likewise.
        (elf_s390_check_relocs): Use elf_symtab_hdr.
        (elf_s390_check_relocs): Use elf_symtab_hdr.
        (elf_s390_gc_sweep_hook): Likewise.
        (elf_s390_gc_sweep_hook): Likewise.
        (elf_s390_size_dynamic_sections): Likewise.
        (elf_s390_size_dynamic_sections): Likewise.
        (elf_s390_relocate_section): Likewise.
        (elf_s390_relocate_section): Likewise.
        * elf64-x86_64.c (elf64_x86_64_mkobject): Call bfd_elf_allocate_object.
        * elf64-x86_64.c (elf64_x86_64_mkobject): Call bfd_elf_allocate_object.
        (is_x86_64_elf): New macro.  Checks a BFD to make sure that is an
        (is_x86_64_elf): New macro.  Checks a BFD to make sure that is an
        x86_64 ELF bfd.
        x86_64 ELF bfd.
        (elf64_x86_64_check_relocs): Use is_x86_64_elf macro to check the bfd
        (elf64_x86_64_check_relocs): Use is_x86_64_elf macro to check the bfd
        being processed.
        being processed.
        (elf64_x86_64_size_dynamic_sections): Likewise.
        (elf64_x86_64_size_dynamic_sections): Likewise.
        (elf64_x86_64_relocate_section): Likewise.
        (elf64_x86_64_relocate_section): Likewise.
        (elf64_x86_64_check_relocs): Use elf_symtab_hdr.
        (elf64_x86_64_check_relocs): Use elf_symtab_hdr.
        (elf64_x86_64_gc_sweep_hook): Likewise.
        (elf64_x86_64_gc_sweep_hook): Likewise.
        (elf64_x86_64_size_dynamic_sections): Likewise.
        (elf64_x86_64_size_dynamic_sections): Likewise.
        (elf64_x86_64_relocate_section): Likewise.
        (elf64_x86_64_relocate_section): Likewise.
        * elfxx-sparc.c (_bfd_sparc_elf_mkobject): Call bfd_elf_allocate_object.
        * elfxx-sparc.c (_bfd_sparc_elf_mkobject): Call bfd_elf_allocate_object.
        (is_sparc_elf): New macro.  Checks a BFD to make sure that is a Sparc
        (is_sparc_elf): New macro.  Checks a BFD to make sure that is a Sparc
        ELF bfd.
        ELF bfd.
        (_bfd_sparc_elf_check_relocs): Use is_sparc_elf macro to check the
        (_bfd_sparc_elf_check_relocs): Use is_sparc_elf macro to check the
        bfd being processed.
        bfd being processed.
        (_bfd_sparc_elf_gc_sweep_hook): Likewise.
        (_bfd_sparc_elf_gc_sweep_hook): Likewise.
        (_bfd_sparc_elf_size_dynamic_sections): Likewise.
        (_bfd_sparc_elf_size_dynamic_sections): Likewise.
        (_bfd_sparc_elf_check_relocs): Use elf_symtab_hdr.
        (_bfd_sparc_elf_check_relocs): Use elf_symtab_hdr.
        (_bfd_sparc_elf_gc_sweep_hook): Likewise.
        (_bfd_sparc_elf_gc_sweep_hook): Likewise.
        (_bfd_sparc_elf_size_dynamic_sections): Likewise.
        (_bfd_sparc_elf_size_dynamic_sections): Likewise.
        (_bfd_sparc_elf_relocate_section): Likewise.
        (_bfd_sparc_elf_relocate_section): Likewise.
2008-02-12  Alan Modra  
2008-02-12  Alan Modra  
        PR 5303, 5755
        PR 5303, 5755
        * arange-set.c: Delete.
        * arange-set.c: Delete.
        * arange-set.h: Delete.
        * arange-set.h: Delete.
        * dwarf2.c: Revert 2007-09-21 changes.
        * dwarf2.c: Revert 2007-09-21 changes.
        * Makefile.am: Likewise.
        * Makefile.am: Likewise.
        * Makefile.in: Regenerate.
        * Makefile.in: Regenerate.
        * po/SRC-POTFILES.in: Regenerate.
        * po/SRC-POTFILES.in: Regenerate.
2008-02-11  Bernd Schmidt  
2008-02-11  Bernd Schmidt  
        * elf32-bfin.c (bfin_relocate_section): Set up dynobj before using it
        * elf32-bfin.c (bfin_relocate_section): Set up dynobj before using it
        if necessary.
        if necessary.
        (elf32_bfin_merge_private_bfd_data): Simplify, and ensure object type
        (elf32_bfin_merge_private_bfd_data): Simplify, and ensure object type
        mismatches are detected.
        mismatches are detected.
        * elf32-bfin.c (bfinfdpic_relocate_section): Take more care not to
        * elf32-bfin.c (bfinfdpic_relocate_section): Take more care not to
        emit invalid relocs or rofixup entries for deleted .eh_frame entries.
        emit invalid relocs or rofixup entries for deleted .eh_frame entries.
2008-02-11  Daniel Jacobowitz  
2008-02-11  Daniel Jacobowitz  
        * cache.c (cache_bread): Set bfd_error_file_truncated if EOF
        * cache.c (cache_bread): Set bfd_error_file_truncated if EOF
        was reached.
        was reached.
        * srec.c (srec_scan): Calculate the checksum.  Complain on mismatch.
        * srec.c (srec_scan): Calculate the checksum.  Complain on mismatch.
2008-02-07  Alan Modra  
2008-02-07  Alan Modra  
        * elf32-spu.c (spu_elf_size_stubs): Revert 2008-01-28 doubling
        * elf32-spu.c (spu_elf_size_stubs): Revert 2008-01-28 doubling
        of _ovly_buf_table size.
        of _ovly_buf_table size.
        (spu_elf_build_stubs): Use low bit of .size as "present" bit.
        (spu_elf_build_stubs): Use low bit of .size as "present" bit.
        Adjust initialisations relating to _ovly_buf_table.
        Adjust initialisations relating to _ovly_buf_table.
2008-02-04  Bob Wilson  
2008-02-04  Bob Wilson  
        * elf32-xtensa (elf_xtensa_relocate_section): After finding an invalid
        * elf32-xtensa (elf_xtensa_relocate_section): After finding an invalid
        relocation, do not continue processing it.  Ignore R_XTENSA_ASM_EXPAND
        relocation, do not continue processing it.  Ignore R_XTENSA_ASM_EXPAND
        relocations against dynamic symbols.
        relocations against dynamic symbols.
        (elf_xtensa_finish_dynamic_sections): Do not fail if there is no
        (elf_xtensa_finish_dynamic_sections): Do not fail if there is no
        .xt.lit section.
        .xt.lit section.
2008-02-04  Kai Tietz  
2008-02-04  Kai Tietz  
            H.J. Lu  
            H.J. Lu  
        PR 5715
        PR 5715
        * warning.m4: Enable -Wno-format by default when using gcc on
        * warning.m4: Enable -Wno-format by default when using gcc on
        mingw.
        mingw.
        * configure: Regenerated.
        * configure: Regenerated.
2008-02-04  Adam Nemet  
2008-02-04  Adam Nemet  
        * archures.c: Update copyright.
        * archures.c: Update copyright.
        (bfd_mach_mips_octeon): New macro.
        (bfd_mach_mips_octeon): New macro.
        * bfd-in2.h: Regenerate.
        * bfd-in2.h: Regenerate.
        * elfxx-mips.c (_bfd_elf_mips_mach): Handle Octeon.
        * elfxx-mips.c (_bfd_elf_mips_mach): Handle Octeon.
        (mips_set_isa_flags): Likewise.
        (mips_set_isa_flags): Likewise.
        (mips_mach_extensions): Add Octeon.
        (mips_mach_extensions): Add Octeon.
        * cpu-mips.c: Update copyright.
        * cpu-mips.c: Update copyright.
        (I_mipsocteon): New enum constant.
        (I_mipsocteon): New enum constant.
        (arch_info_struct): Add Octeon.
        (arch_info_struct): Add Octeon.
2008-02-04  Alan Modra  
2008-02-04  Alan Modra  
        * elf32-spu.c (spu_elf_relocate_section): Correct return type.
        * elf32-spu.c (spu_elf_relocate_section): Correct return type.
        Return error status on unexpected relocation errors.
        Return error status on unexpected relocation errors.
2008-02-04  Alan Modra  
2008-02-04  Alan Modra  
        PR ld/5692
        PR ld/5692
        * elf.c (bfd_elf_get_elf_syms): Revert 2008-01-31.  Instead abort
        * elf.c (bfd_elf_get_elf_syms): Revert 2008-01-31.  Instead abort
        on non-ELF input.
        on non-ELF input.
        * elf32-arm.c (elf32_arm_size_dynamic_sections): Skip glue
        * elf32-arm.c (elf32_arm_size_dynamic_sections): Skip glue
        processing on non-ELF input.
        processing on non-ELF input.
2008-01-31  Marc Gauthier  
2008-01-31  Marc Gauthier  
        * config.bfd (xtensa*-*-*): Recognize processor variants.
        * config.bfd (xtensa*-*-*): Recognize processor variants.
2008-01-31  Nick Clifton  
2008-01-31  Nick Clifton  
        PR ld/5692
        PR ld/5692
        * elf.c (bfd_elf_get_elf_syms): Check the return value of
        * elf.c (bfd_elf_get_elf_syms): Check the return value of
        get_elf_backend_data.
        get_elf_backend_data.
2008-01-28  Fabian Groffen  
2008-01-28  Fabian Groffen  
        * config.bfd (x86_64-*-solaris2): Add support for this target.
        * config.bfd (x86_64-*-solaris2): Add support for this target.
2008-01-28  Alan Modra  
2008-01-28  Alan Modra  
        Rewrite SPU overlay handling code.  Put overlay calls stubs in the
        Rewrite SPU overlay handling code.  Put overlay calls stubs in the
        overlays where possible.  Use a faster call stub, or optionally at
        overlays where possible.  Use a faster call stub, or optionally at
        compile time, a more compact stub.  Double size of _ovly_buf_table
        compile time, a more compact stub.  Double size of _ovly_buf_table
        so that low bit of _ovly_table.buf can be used as a "present" bit.
        so that low bit of _ovly_table.buf can be used as a "present" bit.
        Reserve an extra _ovly_table entry for index zero.
        Reserve an extra _ovly_table entry for index zero.
        * elf32-spu.c: (struct spu_link_hash_table): Delete a number of fields,
        * elf32-spu.c: (struct spu_link_hash_table): Delete a number of fields,
        add new ones.
        add new ones.
        (struct got_entry): New.
        (struct got_entry): New.
        (struct spu_stub_hash_entry): Delete.
        (struct spu_stub_hash_entry): Delete.
        (stub_hash_newfunc, spu_elf_link_hash_table_free): Delete.
        (stub_hash_newfunc, spu_elf_link_hash_table_free): Delete.
        (spu_elf_link_hash_table_create): Adjust for struct changes.
        (spu_elf_link_hash_table_create): Adjust for struct changes.
        (spu_stub_name): Delete.
        (spu_stub_name): Delete.
        (spu_elf_find_overlays): Don't track sections from overlay regions.
        (spu_elf_find_overlays): Don't track sections from overlay regions.
        Instead set ovl_buf number in spu elf section data.  Error if
        Instead set ovl_buf number in spu elf section data.  Error if
        overlays in one region don't start at the same address.  Adjust
        overlays in one region don't start at the same address.  Adjust
        for struct _spu_elf_section_data changes.
        for struct _spu_elf_section_data changes.
        (SIZEOF_STUB1, SIZEOF_STUB2, ILA_79, ILA_78): Delete.
        (SIZEOF_STUB1, SIZEOF_STUB2, ILA_79, ILA_78): Delete.
        (OVL_STUB_SIZE, BRSL, LNOP, ILA): Define.
        (OVL_STUB_SIZE, BRSL, LNOP, ILA): Define.
        (needs_ovl_stub): Adjust for struct _spu_elf_section_data changes.
        (needs_ovl_stub): Adjust for struct _spu_elf_section_data changes.
        (enum _insn_type): New.
        (enum _insn_type): New.
        (count_stub, build_stub): New functions.
        (count_stub, build_stub): New functions.
        (allocate_spuear_stubs): Use count_stub.
        (allocate_spuear_stubs): Use count_stub.
        (build_spuear_stubs): Use build_stub.
        (build_spuear_stubs): Use build_stub.
        (populate_stubs, sort_stubs): Delete.
        (populate_stubs, sort_stubs): Delete.
        (process_stubs): New function.
        (process_stubs): New function.
        (write_one_stub): Delete.
        (write_one_stub): Delete.
        (spu_elf_size_stubs, spu_elf_build_stubs): Rewrite.
        (spu_elf_size_stubs, spu_elf_build_stubs): Rewrite.
        (alloc_stack_info): Adjust for struct _spu_elf_section_data changes.
        (alloc_stack_info): Adjust for struct _spu_elf_section_data changes.
        (maybe_insert_function, check_function_ranges): Likewise.
        (maybe_insert_function, check_function_ranges): Likewise.
        (find_function, pasted_function, build_call_tree): Likewise.
        (find_function, pasted_function, build_call_tree): Likewise.
        (spu_elf_stack_analysis, spu_elf_modify_segment_map): Likewise.
        (spu_elf_stack_analysis, spu_elf_modify_segment_map): Likewise.
        (spu_elf_modify_program_headers): Likewise.
        (spu_elf_modify_program_headers): Likewise.
        (interesting_section): Detect stub sections differently.  Delete
        (interesting_section): Detect stub sections differently.  Delete
        htab param, adjust all callers.
        htab param, adjust all callers.
        (spu_elf_relocate_section): Rewrite stub handling.
        (spu_elf_relocate_section): Rewrite stub handling.
        (spu_elf_output_symbol_hook): Likewise.
        (spu_elf_output_symbol_hook): Likewise.
        (bfd_elf32_bfd_link_hash_table_free): Delete.
        (bfd_elf32_bfd_link_hash_table_free): Delete.
        * elf32-spu.h (struct _spu_elf_section_data): Move input-only and
        * elf32-spu.h (struct _spu_elf_section_data): Move input-only and
        output-only fields into a union.  Add ovl_buf.
        output-only fields into a union.  Add ovl_buf.
        (spu_elf_size_stubs, spu_elf_build_stubs): Update prototypes.
        (spu_elf_size_stubs, spu_elf_build_stubs): Update prototypes.
2008-01-25  DJ Delorie  
2008-01-25  DJ Delorie  
        * elf32-m32c.c (_bfd_m32c_elf_eh_frame_address_size): New.
        * elf32-m32c.c (_bfd_m32c_elf_eh_frame_address_size): New.
2008-01-25  Kai Tietz  
2008-01-25  Kai Tietz  
        * bfd-in.h: Add mingw I64 support.
        * bfd-in.h: Add mingw I64 support.
        * bfd-in2.h: Regenerated.
        * bfd-in2.h: Regenerated.
        * bfd.c: (bfd_get_sign_extend_vma): Add pe-x86-64 and pei-x86-64.
        * bfd.c: (bfd_get_sign_extend_vma): Add pe-x86-64 and pei-x86-64.
2008-01-21  Alan Modra  
2008-01-21  Alan Modra  
        PR 4453
        PR 4453
        * format.c (bfd_check_format_matches): Don't accept archives as
        * format.c (bfd_check_format_matches): Don't accept archives as
        fully matching unless they have a map.
        fully matching unless they have a map.
2008-01-21  Alan Modra  
2008-01-21  Alan Modra  
        * elflink.c (_bfd_elf_link_output_relocs): Correct error return.
        * elflink.c (_bfd_elf_link_output_relocs): Correct error return.
2008-01-21  Alan Modra  
2008-01-21  Alan Modra  
        * ecoff.c (_bfd_ecoff_archive_p): Delete.
        * ecoff.c (_bfd_ecoff_archive_p): Delete.
        * libecoff.h (_bfd_ecoff_archive_p): Delete.
        * libecoff.h (_bfd_ecoff_archive_p): Delete.
        * coff-alpha.c (ecoffalpha_little_vec): Use bfd_generic_archive_p.
        * coff-alpha.c (ecoffalpha_little_vec): Use bfd_generic_archive_p.
        * coff-mips.c (ecoff_little_vec, ecoff_big_vec): Likewise.
        * coff-mips.c (ecoff_little_vec, ecoff_big_vec): Likewise.
        (ecoff_biglittle_vec): Likewise.
        (ecoff_biglittle_vec): Likewise.
2008-01-19  Alan Modra  
2008-01-19  Alan Modra  
        PR 5646
        PR 5646
        * elf64-ppc.c (ppc64_elf_tls_optimize): Ensure htab->tls_get_addr
        * elf64-ppc.c (ppc64_elf_tls_optimize): Ensure htab->tls_get_addr
        non-NULL before dereferencing.
        non-NULL before dereferencing.
2008-01-15  Alan Modra  
2008-01-15  Alan Modra  
        PR 5604
        PR 5604
        * elf-bfd.h (struct elf_backend_data): Add gc_keep.  Remove param
        * elf-bfd.h (struct elf_backend_data): Add gc_keep.  Remove param
        names from others.
        names from others.
        (_bfd_elf_gc_keep): Declare.
        (_bfd_elf_gc_keep): Declare.
        * elfxx-target.h (elf_backend_gc_keep): Define.
        * elfxx-target.h (elf_backend_gc_keep): Define.
        (elfNN_bed): Init new field.
        (elfNN_bed): Init new field.
        * elflink.c (_bfd_elf_gc_keep): New function.
        * elflink.c (_bfd_elf_gc_keep): New function.
        (bfd_elf_gc_sections): Call gc_keep.
        (bfd_elf_gc_sections): Call gc_keep.
        * elf64-ppc.c (elf_backend_gc_keep): Define.
        * elf64-ppc.c (elf_backend_gc_keep): Define.
        (struct _ppc64_elf_section_data): Move .opd related fields to
        (struct _ppc64_elf_section_data): Move .opd related fields to
        a struct so they don't occupy the same storage.  Adjust accesses
        a struct so they don't occupy the same storage.  Adjust accesses
        throughout file.
        throughout file.
        (ppc64_elf_gc_keep): New function, split out from..
        (ppc64_elf_gc_keep): New function, split out from..
        (ppc64_elf_gc_mark_hook): ..here.  Don't call _bfd_elf_gc_mark
        (ppc64_elf_gc_mark_hook): ..here.  Don't call _bfd_elf_gc_mark
        to mark .opd section, just set gc_mark.
        to mark .opd section, just set gc_mark.
        (ppc64_elf_edit_opd): Remove no_opd_opt parm.  Don't set opd->adjust
        (ppc64_elf_edit_opd): Remove no_opd_opt parm.  Don't set opd->adjust
        unless we are changing .opd.  Test non-NULL opd->adjust at all
        unless we are changing .opd.  Test non-NULL opd->adjust at all
        accesses throughout file.
        accesses throughout file.
        * elf64-ppc.h (ppc64_elf_edit_opd): Update prototype.
        * elf64-ppc.h (ppc64_elf_edit_opd): Update prototype.
2008-01-15  Alan Modra  
2008-01-15  Alan Modra  
        * bfd-in.h (BFD_HOST_LONG_LONG): Delete.
        * bfd-in.h (BFD_HOST_LONG_LONG): Delete.
        * bfd-in2.h: Regenerate.
        * bfd-in2.h: Regenerate.
2008-01-11  Tristan Gingold  
2008-01-11  Tristan Gingold  
            Eric Botcazou  
            Eric Botcazou  
        * elf32-ppc.c (ppc_elf_gc_sweep_hook): Exit early if generating a
        * elf32-ppc.c (ppc_elf_gc_sweep_hook): Exit early if generating a
        relocatable.
        relocatable.
        * elf32-arm.c (elf32_arm_gc_sweep_hook): Likewise.
        * elf32-arm.c (elf32_arm_gc_sweep_hook): Likewise.
        * elf32-cris.c (cris_elf_gc_sweep_hook): Likewise.
        * elf32-cris.c (cris_elf_gc_sweep_hook): Likewise.
        * elf32-hppa.c (elf32_hppa_gc_sweep_hook): Likewise.
        * elf32-hppa.c (elf32_hppa_gc_sweep_hook): Likewise.
        * elf32-i386.c (elf_i386_gc_sweep_hook): Likewise.
        * elf32-i386.c (elf_i386_gc_sweep_hook): Likewise.
        * elf32-m32r.c (m32r_elf_gc_sweep_hook): Likewise.
        * elf32-m32r.c (m32r_elf_gc_sweep_hook): Likewise.
        * elf32-m68k.c (elf_m68k_gc_sweep_hook): Likewise.
        * elf32-m68k.c (elf_m68k_gc_sweep_hook): Likewise.
        * elf32-s390.c (elf_s390_gc_sweep_hook): Likewise.
        * elf32-s390.c (elf_s390_gc_sweep_hook): Likewise.
        * elf32-sh.c (sh_elf_gc_sweep_hook): Likewise.
        * elf32-sh.c (sh_elf_gc_sweep_hook): Likewise.
        * elf32-vax.c (elf_vax_gc_sweep_hook): Likewise.
        * elf32-vax.c (elf_vax_gc_sweep_hook): Likewise.
        * elf32-xtensa.c (elf_xtensa_gc_sweep_hook): Likewise.
        * elf32-xtensa.c (elf_xtensa_gc_sweep_hook): Likewise.
        * elf64-x86-64.c (elf64_x86_64_gc_sweep_hook): Likewise.
        * elf64-x86-64.c (elf64_x86_64_gc_sweep_hook): Likewise.
        * elf64-s390.c (elf_s390_gc_sweep_hook): Likewise.
        * elf64-s390.c (elf_s390_gc_sweep_hook): Likewise.
        * elf64-ppc.c (ppc64_elf_gc_sweep_hook): Likewise.
        * elf64-ppc.c (ppc64_elf_gc_sweep_hook): Likewise.
        * elfxx-mips.c (_bfd_mips_elf_gc_sweep_hook): Likewise.
        * elfxx-mips.c (_bfd_mips_elf_gc_sweep_hook): Likewise.
        * elfxx-sparc.c (_bfd_sparc_elf_gc_sweep_hook): Likewise.
        * elfxx-sparc.c (_bfd_sparc_elf_gc_sweep_hook): Likewise.
        * elflink.c (bfd_elf_gc_sections): Do not punt on relocatable output
        * elflink.c (bfd_elf_gc_sections): Do not punt on relocatable output
        or executable output with relocations.
        or executable output with relocations.
2008-01-09  Nick Clifton  
2008-01-09  Nick Clifton  
        PR gas/5552
        PR gas/5552
        * elf32-fr30.c (fr30_elf_howto_table): Set partial_inplace field
        * elf32-fr30.c (fr30_elf_howto_table): Set partial_inplace field
        to FALSE for all relocs.
        to FALSE for all relocs.
2008-01-09  Richard Sandiford  
2008-01-09  Richard Sandiford  
        PR ld/5526
        PR ld/5526
        * elf-bfd.h (eh_cie_fde): Add u.cie.u.full_cie and u.cie.merged
        * elf-bfd.h (eh_cie_fde): Add u.cie.u.full_cie and u.cie.merged
        fields.  Rename u.cie.u.merged to u.cie.u.merged_with.
        fields.  Rename u.cie.u.merged to u.cie.u.merged_with.
        (eh_frame_sec_info): Add a cies field.
        (eh_frame_sec_info): Add a cies field.
        (eh_frame_hdr_info): Add a merge_cies field.
        (eh_frame_hdr_info): Add a merge_cies field.
        * elf-eh-frame.c (cie): Add a reloc_index member to the personality
        * elf-eh-frame.c (cie): Add a reloc_index member to the personality
        union.
        union.
        (_bfd_elf_begin_eh_frame_parsing): Set hdr_info->merge_cies instead
        (_bfd_elf_begin_eh_frame_parsing): Set hdr_info->merge_cies instead
        of hdr_info->cies.
        of hdr_info->cies.
        (_bfd_elf_parse_eh_frame): Remove tmp_cie.  Ccreate an array of
        (_bfd_elf_parse_eh_frame): Remove tmp_cie.  Ccreate an array of
        cie structures in all cases and use it instead of extended_cies.
        cie structures in all cases and use it instead of extended_cies.
        If merging, store the cie array in sec_info->cies and point each
        If merging, store the cie array in sec_info->cies and point each
        CIE's eh_fde_cie at the associated element.  Do not try to
        CIE's eh_fde_cie at the associated element.  Do not try to
        calculate the value of the personality routine here; record the
        calculate the value of the personality routine here; record the
        offset of the relocation instead.  Do not merge CIEs here.
        offset of the relocation instead.  Do not merge CIEs here.
        (_bfd_elf_end_eh_frame_parsing): Do not free hdr_info->cies here...
        (_bfd_elf_end_eh_frame_parsing): Do not free hdr_info->cies here...
        (_bfd_elf_discard_section_eh_frame_hdr): ...do it here instead.
        (_bfd_elf_discard_section_eh_frame_hdr): ...do it here instead.
        (_bfd_elf_gc_mark_fdes): Mark the original (unmerged) CIE.
        (_bfd_elf_gc_mark_fdes): Mark the original (unmerged) CIE.
        (find_merged_cie): New function.
        (find_merged_cie): New function.
        (_bfd_elf_gc_mark_fdes): Use it.  Free sec_info->cies.
        (_bfd_elf_gc_mark_fdes): Use it.  Free sec_info->cies.
2008-01-07  Nick Clifton  
2008-01-07  Nick Clifton  
        PR binutils/5535
        PR binutils/5535
        * vms.c (vms_close_and_cleanup): Check for the presence of a
        * vms.c (vms_close_and_cleanup): Check for the presence of a
        vms_private_data_struct before examining any of its fields.
        vms_private_data_struct before examining any of its fields.
2008-01-07  H.J. Lu  
2008-01-07  H.J. Lu  
        PR ld/5522
        PR ld/5522
        * elflink.c (elf_link_input_bfd): Don't write out a section if
        * elflink.c (elf_link_input_bfd): Don't write out a section if
        its output section is marked with SEC_NEVER_LOAD.
        its output section is marked with SEC_NEVER_LOAD.
For older changes see ChangeLog-2007
For older changes see ChangeLog-2007


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.