7123df0e80
against __GLOBAL_OFFSET_TABLE__ need never be dynamic. Tweak last change to REL32 relocs so that they are counted as possibly dynamic as per REL24 and REL14.
633 lines
24 KiB
Plaintext
633 lines
24 KiB
Plaintext
2006-03-16 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf32-ppc.c (ppc_elf_check_relocs): REL24 and REL14 relocs
|
||
against __GLOBAL_OFFSET_TABLE__ need never be dynamic. Tweak
|
||
last change to REL32 relocs so that they are counted as
|
||
possibly dynamic as per REL24 and REL14.
|
||
|
||
2006-03-16 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf32-ppc.c (ppc_elf_check_relocs): Don't fall into REL24
|
||
checks from REL32.
|
||
|
||
2006-03-15 Ben Elliston <bje@au.ibm.com>
|
||
|
||
* elf32-arm.c (elf32_arm_merge_eabi_attributes): Iterate over all
|
||
in_list elements, not just the first.
|
||
|
||
2006-03-14 Richard Sandiford <richard@codesourcery.com>
|
||
|
||
* elf32-mips.c (mips_elf_adjust_addend): New function, mostly split
|
||
out from...
|
||
(_bfd_mips_elf_relocate_section): ...here. Use it to adjust r_addend
|
||
for final links too.
|
||
|
||
2006-03-13 Richard Sandiford <richard@codesourcery.com>
|
||
|
||
* elfxx-mips.c (mips_elf_create_got_section): Initialize hgot.
|
||
|
||
2006-03-11 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR ld/2443
|
||
* dwarf2.c (concat_filename): Don't issue an error if file is
|
||
0.
|
||
|
||
2006-03-10 Paul Brook <paul@codesourcery.com>
|
||
|
||
* elf32-arm.c (INTERWORK_FLAG): Handle EABIv5.
|
||
(elf32_arm_print_private_bfd_data): Ditto.
|
||
|
||
2006-03-09 Paul Brook <paul@codesourcery.com>
|
||
|
||
* cpu-arm.c (bfd_is_arm_mapping_symbol_name): Recognise additional
|
||
mapping symbols.
|
||
|
||
2006-03-09 Khem Raj <khem@mvista.com>
|
||
|
||
* elf32-arm.c(elf32_arm_finish_dynamic_sections): Use unsigned
|
||
char type.
|
||
|
||
2006-03-08 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* elfxx-ia64.c (elfNN_ia64_choose_gp): Properly choose gp.
|
||
|
||
2006-03-07 Richard Sandiford <richard@codesourcery.com>
|
||
Daniel Jacobowitz <dan@codesourcery.com>
|
||
Zack Weinberg <zack@codesourcery.com>
|
||
Nathan Sidwell <nathan@codesourcery.com>
|
||
Paul Brook <paul@codesourcery.com>
|
||
Ricardo Anguiano <anguiano@codesourcery.com>
|
||
Phil Edwards <phil@codesourcery.com>
|
||
|
||
* configure.in (bfd_elf32_bigarm_vec): Include elf-vxworks.lo.
|
||
(bfd_elf32_bigarm_symbian_vec): Likewise.
|
||
(bfd_elf32_bigarm_vxworks_vec): Likewise.
|
||
(bfd_elf32_littlearm_vec): Likewise.
|
||
(bfd_elf32_littlearm_symbian_vec): Likewise.
|
||
(bfd_elf32_littlearm_vxworks_vec): Likewise.
|
||
* configure: Regenerate.
|
||
* elf32-arm.c: Include libiberty.h and elf-vxworks.h.
|
||
(RELOC_SECTION, RELOC_SIZE, SWAP_RELOC_IN, SWAP_RELOC_OUT): New macros.
|
||
(elf32_arm_vxworks_bed): Add forward declaration.
|
||
(elf32_arm_howto_table_1): Fix the masks for R_ASM_ABS12.
|
||
(elf32_arm_vxworks_exec_plt0_entry): New table.
|
||
(elf32_arm_vxworks_exec_plt_entry): Likewise.
|
||
(elf32_arm_vxworks_shared_plt_entry): Likewise.
|
||
(elf32_arm_link_hash_table): Add vxworks_p and srelplt2 fields.
|
||
(reloc_section_p): New function.
|
||
(create_got_section): Use RELOC_SECTION.
|
||
(elf32_arm_create_dynamic_sections): Likewise. Call
|
||
elf_vxworks_create_dynamic_sections for VxWorks targets.
|
||
Choose between the two possible values of plt_header_size
|
||
and plt_entry_size.
|
||
(elf32_arm_link_hash_table_create): Initialize vxworks_p and srelplt2.
|
||
(elf32_arm_abs12_reloc): New function.
|
||
(elf32_arm_final_link_relocate): Call it. Allow the creation of
|
||
dynamic R_ARM_ABS12 relocs on VxWorks. Use reloc_section_p,
|
||
RELOC_SIZE, SWAP_RELOC_OUT and RELOC_SECTION. Initialize the
|
||
r_addend fields of relocs. On rela targets, skip any code that
|
||
adjusts in-place addends. When using _bfd_link_final_relocate
|
||
to perform a final relocation, pass rel->r_addend as the addend
|
||
argument.
|
||
(elf32_arm_merge_private_bfd_data): If one of the bfds is a VxWorks
|
||
object, ignore flags that are not standard on VxWorks.
|
||
(elf32_arm_check_relocs): Allow the creation of dynamic R_ARM_ABS12
|
||
relocs on VxWorks. Use reloc_section_p.
|
||
(elf32_arm_adjust_dynamic_symbol): Use RELOC_SECTION and RELOC_SIZE.
|
||
(allocate_dynrelocs): Use RELOC_SIZE. Account for the size of
|
||
.rela.plt.unloaded relocs on VxWorks targets.
|
||
(elf32_arm_size_dynamic_sections): Use RELOC_SIZE. Check for
|
||
.rela.plt.unloaded as well as .rel(a).plt. Add DT_RELA* tags
|
||
instead of DT_REL* tags on RELA targets.
|
||
(elf32_arm_finish_dynamic_symbol): Use RELOC_SECTION, RELOC_SIZE
|
||
and SWAP_RELOC_OUT. Initialize r_addend fields. Handle VxWorks
|
||
PLT entries. Do not make _GLOBAL_OFFSET_TABLE_ absolute on VxWorks.
|
||
(elf32_arm_finish_dynamic_sections): Use RELOC_SECTION, RELOC_SIZE
|
||
and SWAP_RELOC_OUT. Initialize r_addend fields. Handle DT_RELASZ
|
||
like DT_RELSZ. Handle the VxWorks form of initial PLT entry.
|
||
Correct the .rela.plt.unreloaded symbol indexes.
|
||
(elf32_arm_output_symbol_hook): Call the VxWorks version of this
|
||
hook on VxWorks targets.
|
||
(elf32_arm_vxworks_link_hash_table_create): Set vxworks_p to true.
|
||
Minor formatting tweak.
|
||
(elf32_arm_vxworks_final_write_processing): New function.
|
||
(elf_backend_add_symbol_hook): Override for VxWorks and reset
|
||
for Symbian.
|
||
(elf_backend_final_write_processing): Likewise.
|
||
(elf_backend_emit_relocs): Likewise.
|
||
(elf_backend_want_plt_sym): Likewise.
|
||
(ELF_MAXPAGESIZE): Likewise.
|
||
(elf_backend_may_use_rel_p): Minor formatting tweak.
|
||
(elf_backend_may_use_rela_p): Likewise.
|
||
(elf_backend_default_use_rela_p): Likewise.
|
||
(elf_backend_rela_normal): Likewise.
|
||
* Makefile.in (elf32-arm.lo): Depend on elf-vxworks.h.
|
||
|
||
2006-03-06 Nathan Sidwell <nathan@codesourcery.com>
|
||
|
||
* archures.c (bfd_mach_mcf_isa_a_nodiv, bfd_mach_mcf_isa_b_nousp):
|
||
New. Adjust other variants.
|
||
(bfd_default_scan): Update.
|
||
* bfd-in2.h: Rebuilt.
|
||
* cpu-m68k.c: Adjust.
|
||
(bfd_m68k_compatible): New. Use it for architectures.
|
||
* elf32-m68k.c (elf32_m68k_object_p): Adjust.
|
||
(elf32_m68k_merge_private_bfd_data): Adjust. Correct isa-a/b
|
||
mismatch.
|
||
(elf32_m68k_print_private_bfd_data): Adjust.
|
||
* ieee.c (ieee_write_processor): Adjust.
|
||
|
||
2006-03-06 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* dwarf2.c: Formatting.
|
||
(add_line_info): Remove outer loop.
|
||
|
||
2006-03-05 H.J. Lu <hongjiu.lu@intel.com>
|
||
Alan Modra <amodra@bigpond.net.au>
|
||
|
||
PR binutils/2338
|
||
* dwarf2.c (loadable_section): New struct.
|
||
(dwarf2_debug): Add loadable_section_count and
|
||
loadable_sections.
|
||
(new_line_sorts_after): New.
|
||
(add_line_info): Use new_line_sorts_after to compare line
|
||
addresses.
|
||
(check_function_name): Removed.
|
||
(unset_sections): New.
|
||
(place_sections): New.
|
||
(_bfd_dwarf2_find_nearest_line): Updated. Call place_sections
|
||
and unset_sections on relocatable files.
|
||
(_bfd_dwarf2_find_line): Likewise.
|
||
|
||
2006-03-03 Nick Clifton <nickc@redhat.com>
|
||
|
||
* cpu-avr.c: Update to ISO-C90 formatting.
|
||
* elf32-avr.c: Likewise.
|
||
|
||
2006-03-03 Bjoern Haase <bjoern.m.haase@web.de>
|
||
|
||
* elf32-avr.c (avr_reloc_map): Insert BFD_RELOC_AVR_MS8_LDI
|
||
and R_AVR_MS8_LDI
|
||
(bfd_elf_avr_final_write_processing): Set
|
||
EF_AVR_LINKRELAX_PREPARED in e_flags field.
|
||
(elf32_avr_relax_section): New function.
|
||
(elf32_avr_relax_delete_bytes): New function.
|
||
(elf32_avr_get_relocated_section_contents): New function.
|
||
(avr_pc_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.
|
||
* reloc.c: Add BFD_RELOC_AVR_MS8_LDI and BFD_RELOC_AVR_LDI_NEG
|
||
* libbfd.h: Regenerate.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2006-03-02 DJ Delorie <dj@redhat.com>
|
||
|
||
* elf32-m32c.c (m32c_offset_for_reloc): Fix local symbol
|
||
calculations.
|
||
|
||
2006-03-02 Richard Sandiford <richard@codesourcery.com>
|
||
|
||
* elf32-ppc.c (is_ppc_elf_target): Return true if the target is
|
||
bfd_elf32_powerpc_vxworks_vec.
|
||
|
||
2006-03-02 Nick Clifton <nickc@redhat.com>
|
||
|
||
* elf32-m32c.c (m32c_elf_relax_section): Initialise 'gap'.
|
||
|
||
2006-03-02 Richard Sandiford <richard@codesourcery.com>
|
||
|
||
* elf32-i386.c (elf_i386_create_dynamic_sections): Use
|
||
elf_vxworks_create_dynamic_sections.
|
||
(elf_i386_size_dynamic_sections): Remove VxWorks GOT and PLT
|
||
symbol handling.
|
||
* elf32-ppc.c (ppc_elf_create_dynamic_sections): Use
|
||
elf_vxworks_create_dynamic_sections.
|
||
(ppc_elf_size_dynamic_sections): Remove VxWorks GOT and PLT
|
||
symbol handling.
|
||
* elf-vxworks.c (elf_vxworks_create_dynamic_sections): New function.
|
||
* elf-vxworks.h (elf_vxworks_create_dynamic_sections): Declare.
|
||
|
||
2006-03-02 Richard Sandiford <richard@codesourcery.com>
|
||
|
||
* elf32-i386.c (elf_i386_vxworks_link_output_symbol_hook): Delete.
|
||
(elf_backend_link_output_symbol_hook): Use
|
||
elf_vxworks_link_output_symbol_hook instead.
|
||
* elf32-ppc.c (elf_i386_vxworks_link_output_symbol_hook): Delete.
|
||
(elf_backend_link_output_symbol_hook): Use
|
||
elf_vxworks_link_output_symbol_hook instead.
|
||
* elf-vxworks.c (elf_vxworks_link_output_symbol_hook): Provide the
|
||
same interface as elf_backend_link_output_symbol_hook.
|
||
* elf-vxworks.h (elf_vxworks_link_output_symbol_hook): Update
|
||
prototype accordingly.
|
||
|
||
2006-03-02 Richard Sandiford <richard@codesourcery.com>
|
||
|
||
* elf32-ppc.c (ppc_elf_plt_type): New enumeration.
|
||
(ppc_elf_link_hash_table): Replace old_got and new_got with
|
||
plt_type and can_use_new_plt.
|
||
(ppc_elf_create_dynamic_sections): Add SEC_HAS_CONTENTS,
|
||
SEC_LOAD and SEC_READONLY to the VxWorks .plt flags.
|
||
(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.
|
||
(ppc_elf_select_plt_layout): Move from plt_type == PLT_UNSET to
|
||
either plt_type == PLT_OLD or plt_type == PLT_NEW. Assert that
|
||
this function should not be called for VxWorks targets.
|
||
(ppc_elf_tls_setup): Use plt_type instead of old_got.
|
||
(allocate_got): Likewise. Rearrange so that max_before_header
|
||
is only used for PLT_OLD and PLT_NEW.
|
||
(allocate_dynrelocs): Use plt_type instead of old_got and is_vxworks.
|
||
(ppc_elf_size_dynamic_sections): Likewise.
|
||
(ppc_elf_relax_section): Likewise.
|
||
(ppc_elf_relocate_section): Likewise.
|
||
(ppc_elf_finish_dynamic_symbol): Likewise.
|
||
(ppc_elf_vxworks_link_hash_table_create): Initialize plt_type.
|
||
|
||
2006-02-28 Richard Sandiford <richard@codesourcery.com>
|
||
|
||
* elf32-i386.c (elf_i386_link_hash_table): Add next_tls_desc_index.
|
||
(elf_i386_link_hash_table_create): Initialize it.
|
||
(elf_i386_compute_jump_table_size): Use it instead of
|
||
srelplt->reloc_count.
|
||
(allocate_dynrelocs): Likewise.
|
||
(elf_i386_size_dynamic_sections): Likewise.
|
||
(elf_i386_relocate_section): Likewise.
|
||
|
||
2006-02-27 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Handle S flag.
|
||
(_bfd_elf_write_section_eh_frame): Likewise.
|
||
|
||
2006-02-27 Carlos O'Donell <carlos@codesourcery.com>
|
||
|
||
* po/Make-in: Add html target.
|
||
|
||
2006-02-27 Richard Sandiford <richard@codesourcery.com>
|
||
|
||
* elf-m10300.c (_bfd_mn10300_elf_finish_dynamic_symbol): Use the
|
||
cached hgot entry to check for _GLOBAL_OFFSET_TABLE_.
|
||
* elf32-arm.c (elf32_arm_finish_dynamic_symbol): Likewise.
|
||
* elf32-bfin.c (bfin_finish_dynamic_symbol): Likewise.
|
||
* elf32-cris.c (elf_cris_finish_dynamic_symbol): Likewise.
|
||
* elf32-hppa.c (elf32_hppa_finish_dynamic_symbol): Likewise.
|
||
* elf32-i386.c (elf_i386_finish_dynamic_symbol): Likewise.
|
||
* elf32-m32r.c (m32r_elf_finish_dynamic_symbol): Likewise.
|
||
* elf32-m68k.c (elf_m68k_finish_dynamic_symbol): Likewise.
|
||
* elf32-sh.c (sh_elf_finish_dynamic_symbol): Likewise.
|
||
* elf32-vax.c (elf_vax_finish_dynamic_symbol): Likewise.
|
||
* elf32-xtensa.c (elf_xtensa_finish_dynamic_symbol): Likewise.
|
||
* elf64-sh64.c (sh64_elf64_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.
|
||
* elf32-s390.c (elf_s390_finish_dynamic_symbol): Likewise. Also use
|
||
the cached hplt entry to check for _PROCEDURE_LINKAGE_TABLE_.
|
||
* elf64-alpha.c (elf64_alpha_finish_dynamic_symbol): Likewise.
|
||
* elf64-s390.c (elf_s390_finish_dynamic_symbol): Likewise.
|
||
* elfxx-ia64.c (elfNN_ia64_finish_dynamic_symbol): Likewise.
|
||
* elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_symbol): Likewise.
|
||
|
||
2006-02-25 Richard Sandiford <richard@codesourcery.com>
|
||
|
||
* elf-bfd.h (elf_link_hash_table): Add hplt field.
|
||
* elflink.c (_bfd_elf_create_dynamic_sections): Initialize it.
|
||
* elf-m10300.c (_bfd_mn10300_elf_create_got_section): Likewise.
|
||
* elf32-frv.c (_frv_create_got_section): Likewise.
|
||
* elf32-m32r.c (m32r_elf_create_dynamic_sections): Likewise.
|
||
* elf32-sh.c (sh_elf_create_dynamic_sections): Likewise.
|
||
* elf64-alpha.c (elf64_alpha_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.
|
||
(elf_i386_link_hash_table_create): Don't initialize them.
|
||
(elf_i386_size_dynamic_sections): Use the generic ELF hplt and
|
||
hgot fields.
|
||
(elf_i386_finish_dynamic_symbol): Likewise.
|
||
* elf32-ppc.c (ppc_elf_link_hash_table): Remove hplt.
|
||
(ppc_elf_size_dynamic_sections): Use the generic ELF hplt fields.
|
||
(ppc_elf_finish_dynamic_symbol): Likewise.
|
||
|
||
2006-02-24 DJ Delorie <dj@redhat.com>
|
||
|
||
* elf32-m32c.c (m32c_elf_howto_table): Add relaxation relocs.
|
||
(m32c_elf_relocate_section): Don't relocate them.
|
||
(compare_reloc): New.
|
||
(relax_reloc): Remove.
|
||
(m32c_offset_for_reloc): New.
|
||
(m16c_addr_encodings): New.
|
||
(m16c_jmpaddr_encodings): New.
|
||
(m32c_addr_encodings): New.
|
||
(m32c_elf_relax_section): Relax jumps and address displacements.
|
||
(m32c_elf_relax_delete_bytes): Adjust for internal syms. Fix up
|
||
short jumps.
|
||
|
||
* reloc.c: Add m32c relax relocs.
|
||
* libbfd.h: Regenerate.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2006-02-24 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR ld/2218
|
||
* elf-bfd.h (elf_backend_data): Add elf_backend_fixup_symbol.
|
||
(_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
|
||
it isn't NULL.
|
||
|
||
* elfxx-ia64.c (elf_backend_fixup_symbol): Defined.
|
||
|
||
* elfxx-target.h (elf_backend_fixup_symbol): New.
|
||
(elfNN_bed): Initialize elf_backend_fixup_symbol.
|
||
|
||
2006-02-23 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* cpu-ia64-opc.c (ins_immu5b): New.
|
||
(ext_immu5b): Likewise.
|
||
(elf64_ia64_operands): Add IMMU5b.
|
||
|
||
2006-02-21 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
PR ld/2218
|
||
* elf32-arm.c (allocate_dynrelocs): Ensure undef weak sym in pie
|
||
is dynamic.
|
||
* elf32-hppa.c (allocate_dynrelocs): Likewise.
|
||
* elf32-i386.c (allocate_dynrelocs): Likewise.
|
||
* elf32-s390.c (allocate_dynrelocs): Likewise.
|
||
* elf32-sh.c (allocate_dynrelocs): Likewise.
|
||
* elf64-s390.c (allocate_dynrelocs): Likewise.
|
||
* elf64-x86-64.c (allocate_dynrelocs): Likewise.
|
||
* elf32-m32r.c (allocate_dynrelocs): Likewise. Discard relocs
|
||
on undef weak with non-default visibility too.
|
||
* elfxx-sparc.c (allocate_dynrelocs): Ditto.
|
||
|
||
2006-02-21 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* bfd.c: (_bfd_default_error_handler): Don't call abort on
|
||
error, instead call _exit.
|
||
(_bfd_abort): Call _exit not xexit.
|
||
|
||
2006-02-17 Kevin Buettner <kevinb@redhat.com>
|
||
|
||
* elf32-frv.c (elf32_frv_grok_prstatus, elf32_frv_grok_psinfo):
|
||
New functions.
|
||
* elf_backend_grok_prstatus, elf_backend_grok_psinfo): Define.
|
||
|
||
2006-02-17 Shrirang Khisti <shrirangk@kpitcummins.com>
|
||
Anil Paranjape <anilp1@kpitcummins.com>
|
||
Shilin Shakti <shilins@kpitcummins.com>
|
||
|
||
* Makefile.am: Add xc16x related entry
|
||
* Makefile.in: Regenerate
|
||
* archures.c: Add bfd_xc16x_arch
|
||
* bfd-in2.h: Regenerate
|
||
* config.bfd: Add xc16x-*-elf
|
||
* configure.in: Add bfd_elf32_xc16x_vec
|
||
* configure: Regenerate.
|
||
* targets.c: Added xc16x related information
|
||
* cpu-xc16x.c: New file
|
||
* reloc.c: Add new relocations specific to xc16x:
|
||
BFD_RELOC_XC16X_PAG, BFD_RELOC_XC16X_POF, BFD_RELOC_XC16X_SEG,
|
||
BFD_RELOC_XC16X_SOF
|
||
* elf32-xc16x.c: New file.
|
||
|
||
2006-02-17 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf32-ppc.c (allocate_dynrelocs): Tweak undef weak handling.
|
||
* elf64-ppc.c (allocate_dynrelocs): Likewise.
|
||
|
||
2006-02-17 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
PR ld/2218
|
||
* elf64-ppc.c (allocate_dynrelocs): Ensure undef weak sym is
|
||
dynamic.
|
||
(ppc64_elf_relocate_section): Check output reloc section size.
|
||
* elf32-ppc.c (allocate_dynrelocs): Simplify undef weak test.
|
||
|
||
2006-02-16 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR ld/2322
|
||
* elf.c (get_segment_type): New function.
|
||
(_bfd_elf_print_private_bfd_data): Use it.
|
||
(print_segment_map): New function.
|
||
(assign_file_positions_for_segments): Call print_segment_map
|
||
when there are not enough room for program headers.
|
||
|
||
2006-02-16 Nick Hudson <nick.hudson@dsl.pipex.com>
|
||
|
||
* config.bfd (mips*el-*-netbsd*, mips*-*-netbsd*): Use
|
||
traditional MIPS ELF targets.
|
||
|
||
2006-02-15 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR binutils/2338
|
||
* dwarf2.c (check_function_name): New function.
|
||
(_bfd_dwarf2_find_nearest_line): Use check_function_name to
|
||
check if function is correct.
|
||
|
||
2006-02-16 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elflink.c (_bfd_elf_default_action_discarded): Return 0 for
|
||
debug sections.
|
||
(elf_link_input_bfd): Adjust comments.
|
||
|
||
2006-02-10 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* elf.c (copy_private_bfd_data): Minor update.
|
||
|
||
2006-02-10 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR binutils/2258
|
||
* elf.c (copy_private_bfd_data): Renamed to ...
|
||
(rewrite_elf_program_header): This.
|
||
(copy_elf_program_header): New function.
|
||
(copy_private_bfd_data): Likewise.
|
||
|
||
2006-02-07 Nathan Sidwell <nathan@codesourcery.com>
|
||
|
||
* archures.c (bfd_mach_mcf5200, bfd_mach_mcf5206e,
|
||
bfd_mach_mcf5307, bfd_mach_mcf5407, bfd_mach_mcf528x,
|
||
bfd_mach_mcfv4e, bfd_mach_mcf521x, bfd_mach_mcf5249,
|
||
bfd_mach_mcf547x, bfd_mach_mcf548x): Remove.
|
||
(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_aplus, bfd_mach_mcf_isa_aplus_mac,
|
||
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_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_emac): New.
|
||
(bfd_default_scan): Update coldfire mapping.
|
||
* bfd-in.h (bfd_m68k_mach_to_features,
|
||
bfd_m68k_features_to_mach): Declare.
|
||
* bfd-in2.h: Rebuilt.
|
||
* cpu-m68k.c (arch_info_struct): Add new coldfire machines,
|
||
adjust legacy names.
|
||
(m68k_arch_features): New.
|
||
(bfd_m68k_mach_to_features,
|
||
bfd_m68k_features_to_mach): Define.
|
||
* elf32-m68k.c (elf32_m68k_object_p): New.
|
||
(elf32_m68k_merge_private_bfd_data): Merge the CF EF flags.
|
||
(elf32_m68k_print_private_bfd_data): Print the CF EF flags.
|
||
(elf_backend_object_p): Define.
|
||
* ieee.c (ieee_write_processor): Update coldfire machines.
|
||
* libbfd.h: Rebuilt.
|
||
|
||
2006-02-06 Steve Ellcey <sje@cup.hp.com>
|
||
|
||
* elfxx-ia64.c (elfNN_ia64_fake_sections): Set SHF_IA_64_HP_TLS
|
||
if SHF_TLS is set.
|
||
|
||
2006-02-05 Arnold Metselaar <arnold.metselaar@planet.nl>
|
||
|
||
* coff-z80.c (r_imm24): New howto.
|
||
(rtype2howto): New case R_IMM24.
|
||
(coff_z80_reloc_type_lookup): New case BFD_RELOC_24.
|
||
(extra_case): Use bfd_get_8 for R_IMM8, new case R_IMM24.
|
||
|
||
2006-02-04 Richard Sandiford <richard@codesourcery.com>
|
||
|
||
* elfxx-mips.c (mips_elf_initialize_tls_index): If a TLS symbol
|
||
has already been assigned a GOT index, copy that index to the
|
||
current hash table entry.
|
||
|
||
2006-02-01 Eric Botcazou <ebotcazou@libertysurf.fr>
|
||
|
||
* elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Reinstate bypass
|
||
for call-to-undefweak reloc overflow.
|
||
|
||
2006-01-31 Eric Botcazou <ebotcazou@libertysurf.fr>
|
||
|
||
* elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Reinstate bypass
|
||
for 32-bit relocs overflow.
|
||
|
||
2006-01-27 Paul Brook <paul@codesourcery.com>
|
||
|
||
* elf32-arm.c (elf32_arm_get_symbol_type): Allow STT_TLS thumb
|
||
objects.
|
||
|
||
2006-01-18 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
Introduce TLS descriptors for i386 and x86_64.
|
||
* 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_X86_64_TLSDESC, BFD_RELOC_X86_64_TLSDESC_CALL): New.
|
||
* libbfd.h, bfd-in2.h: Rebuilt.
|
||
* elf32-i386.c (elf_howto_table): New relocations.
|
||
(R_386_tls): Adjust.
|
||
(elf_i386_reloc_type_lookup): Map new relocations.
|
||
(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.
|
||
(struct elf_i386_link_hash_entry): Add tlsdesc_got field.
|
||
(struct elf_i386_obj_tdata): Add local_tlsdesc_gotent field.
|
||
(elf_i386_local_tlsdesc_gotent): New macro.
|
||
(struct elf_i386_link_hash_table): Add sgotplt_jump_table_size.
|
||
(elf_i386_compute_jump_table_size): New macro.
|
||
(link_hash_newfunc): Initialize tlsdesc_got.
|
||
(elf_i386_link_hash_table_create): Set sgotplt_jump_table_size.
|
||
(elf_i386_tls_transition): Handle R_386_TLS_GOTDESC and
|
||
R_386_TLS_DESC_CALL.
|
||
(elf_i386_check_relocs): Likewise. Allocate space for
|
||
local_tlsdesc_gotent.
|
||
(elf_i386_gc_sweep_hook): Handle R_386_TLS_GOTDESC and
|
||
R_386_TLS_DESC_CALL.
|
||
(allocate_dynrelocs): Count function PLT relocations. Reserve
|
||
space for TLS descriptors and relocations.
|
||
(elf_i386_size_dynamic_sections): Reserve space for TLS
|
||
descriptors and relocations. Set up sgotplt_jump_table_size.
|
||
Don't zero reloc_count in srelplt.
|
||
(elf_i386_always_size_sections): New. Set up _TLS_MODULE_BASE_.
|
||
(elf_i386_relocate_section): Handle R_386_TLS_GOTDESC and
|
||
R_386_TLS_DESC_CALL.
|
||
(elf_i386_finish_dynamic_symbol): Use GOT_TLS_GD_ANY_P.
|
||
(elf_backend_always_size_sections): Define.
|
||
* 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_standard): Adjust.
|
||
(x86_64_reloc_map): Map new relocs.
|
||
(elf64_x86_64_rtype_to_howto): New, split out of...
|
||
(elf64_x86_64_info_to_howto): ... this function, and...
|
||
(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_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_obj_tdata): Add local_tlsdesc_gotent field.
|
||
(elf64_x86_64_local_tlsdesc_gotent): New macro.
|
||
(struct elf64_x86_64_link_hash_table): Add tlsdesc_plt,
|
||
tlsdesc_got and sgotplt_jump_table_size fields.
|
||
(elf64_x86_64_compute_jump_table_size): New macro.
|
||
(link_hash_newfunc): Initialize tlsdesc_got.
|
||
(elf64_x86_64_link_hash_table_create): Initialize new fields.
|
||
(elf64_x86_64_tls_transition): Handle R_X86_64_GOTPC32_TLSDESC and
|
||
R_X86_64_TLSDESC_CALL.
|
||
(elf64_x86_64_check_relocs): Likewise. Allocate space for
|
||
local_tlsdesc_gotent.
|
||
(elf64_x86_64_gc_sweep_hook): Handle R_X86_64_GOTPC32_TLSDESC and
|
||
R_X86_64_TLSDESC_CALL.
|
||
(allocate_dynrelocs): Count function PLT relocations. Reserve
|
||
space for TLS descriptors and relocations.
|
||
(elf64_x86_64_size_dynamic_sections): Reserve space for TLS
|
||
descriptors and relocations. Set up sgotplt_jump_table_size,
|
||
tlsdesc_plt and tlsdesc_got. Make room for them. Don't zero
|
||
reloc_count in srelplt. Add dynamic entries for DT_TLSDESC_PLT
|
||
and DT_TLSDESC_GOT.
|
||
(elf64_x86_64_always_size_sections): New. Set up
|
||
_TLS_MODULE_BASE_.
|
||
(elf64_x86_64_relocate_section): Handle R_386_TLS_GOTDESC and
|
||
R_386_TLS_DESC_CALL.
|
||
(elf64_x86_64_finish_dynamic_symbol): Use GOT_TLS_GD_ANY_P.
|
||
(elf64_x86_64_finish_dynamic_sections): Set DT_TLSDESC_PLT and
|
||
DT_TLSDESC_GOT. Set up TLS descriptor lazy resolver PLT entry.
|
||
(elf_backend_always_size_sections): Define.
|
||
|
||
2006-01-17 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR binutils/2096
|
||
* dwarf2.c (comp_unit_contains_address): Update comment.
|
||
(_bfd_dwarf2_find_nearest_line): Use section's vma, instead of
|
||
lma. Return TRUE only if both comp_unit_contains_address and
|
||
comp_unit_find_nearest_line return TRUE.
|
||
(_bfd_dwarf2_find_line): Use section's vma, instead of lma.
|
||
|
||
2006-01-18 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf-bfd.h (struct elf_backend_data): Add gc_mark_dynamic_ref.
|
||
(bfd_elf_gc_mark_dynamic_ref_symbol): Declare.
|
||
* elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Rename from
|
||
elf_gc_mark_dynamic_ref_symbol. Make global.
|
||
(bfd_elf_gc_sections): Call bed->gc_mark_dynamic_ref.
|
||
* elfxx-target.h (elf_backend_gc_mark_dynamic_ref): Define.
|
||
(elfNN_bed): Init new field.
|
||
* elf64-ppc.c (elf_backend_gc_mark_dynamic_ref): Define.
|
||
(ppc64_elf_gc_mark_dynamic_ref): New function.
|
||
|
||
2006-01-17 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (ppc64_elf_gc_mark_hook): Don't hang forever in loop.
|
||
|
||
2006-01-17 Nick Clifton <nickc@redhat.com>
|
||
|
||
PR binutils/2159
|
||
* elf.c (elfcore_write_pstatus): Add ATTRIBUTE_UNUSED to unused
|
||
parameters.
|
||
|
||
2006-01-11 Nick Clifton <nickc@redhat.com>
|
||
|
||
* elf32-arm.c (elf32_arm_output_symbol_hook): Install new entry
|
||
into the newly (re)allocated map array.
|
||
|
||
2006-01-09 Alexis Wilke <alexis_wilke@yahoo.com>
|
||
|
||
* peXXigen.c (tbl): Add comma after "HIGH3ADJ".
|
||
|
||
2006-01-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* elf64-ppc.c (ppc64_elf_action_discarded): Return 0
|
||
for .toc1 section.
|
||
|
||
For older changes see ChangeLog-2005
|
||
|
||
Local Variables:
|
||
mode: change-log
|
||
left-margin: 8
|
||
fill-column: 74
|
||
version-control: never
|
||
End:
|