old-cross-binutils/bfd/ChangeLog
Alan Modra 0b8bcf0ddb * elf64-ppc.c (allocate_dynrelocs): Remove unused got structs here..
(ppc64_elf_size_dynamic_sections): ..and here..
	(merge_got_entries): ..rather than here.
2010-02-08 14:09:25 +00:00

488 lines
18 KiB
Text
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

2010-02-09 Alan Modra <amodra@gmail.com>
* elf64-ppc.c (allocate_dynrelocs): Remove unused got structs here..
(ppc64_elf_size_dynamic_sections): ..and here..
(merge_got_entries): ..rather than here.
2010-02-09 Alan Modra <amodra@gmail.com>
* elf64-ppc.c (struct ppc_link_hash_table): Add do_multi_toc.
(has_small_toc_reloc): Define.
(ppc64_elf_check_relocs): Set the above flags.
(ppc64_elf_edit_opd): Delete obfd param.
(ppc64_elf_tls_optimize): Likewise.
(ppc64_elf_edit_toc): Likewise.
(ppc64_elf_tls_setup): Likewise. Add no_multi_toc param.
* elf64-ppc.h: Update prototypes.
2010-02-08 Alan Modra <amodra@gmail.com>
* section.c (struct bfd_section): Delete has_tls_reloc,
has_tls_get_addr_call, has_gp_reloc, need_finalize_relax, reloc_done.
Add sec_flg0 thru sec_flg5.
(BFD_FAKE_SECTION): Update for changed flags.
* ecoff.c (bfd_debug_section): Likewise.
* elf32-ppc.c (has_tls_reloc, has_tls_get_addr_call): Define.
* elf64-ppc.c (has_tls_reloc, has_tls_get_addr_call): Define.
(has_toc_reloc, makes_toc_func_call, call_check_in_progress): Update.
* elf32-xtensa.c (reloc_done): Define.
* elfxx-ia64.c (skip_relax_pass_0, skip_relax_pass_1): Update.
* bfd-in2.h: Regenerate.
2010-02-08 Tristan Gingold <gingold@adacore.com>
* mach-o.c (bfd_mach_o_canonicalize_one_reloc): Set reloc.r_extern
for non-scattered relocations.
2010-02-08 Nathan Sidwell <nathan@codesourcery.com>
* elf32-ppc.c (ppc_elf_begin_write_processing): Allow empty
apuinfo sections, only scan input sections once and reuse the
buffer.
2010-02-08 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
* archures.c (bfd_mach_ppc_titan): Define.
* bfd-in2.h: Regenerate.
* cpu-powerpc.c (bfd_powerpc_archs): Add titan entry.
2010-02-08 Alan Modra <amodra@gmail.com>
* elf32-ppc.c (ppc_elf_check_relocs): Remove dead ifunc code.
2010-02-05 Sterling Augustine <sterling@tensilica.com>
* elf.c (assign_file_positions_for_load_sections) Update lma of
section if necessary. Fixes Bugzilla 11219.
2010-02-05 H.J. Lu <hongjiu.lu@intel.com>
* elf32-i386.c: Remove trailing white spaces.
* elf64-x86-64.c: Likewise.
2010-02-03 Nick Clifton <nickc@redhat.com>
* elf-bfd.h (emum elf_object_id): Rename to elf_target_id. Add
entries for other architectures.
(struct elf_link_hash_table): Add hash_table_id field.
(elf_hash_table_id): New accessor macro.
* elflink.c (_bfd_elf_link_hash_table_init): Add target_id
parameter.
* elf-m10300.c (elf32_mn10300_hash_table): Check table id before
returning cast pointer.
(elf32_mn10300_link_hash_table_create): Identify new table as
containing MN10300 extensions.
(mn10300_elf_relax_section): Check pointer returned by
elf32_mn10300_hash_table.
* elf32-arm.c: Likewise, except using ARM extensions.
* elf32-avr.c: Likewise, except using AVR extensions.
* elf32-bfin.c: Likewise, except using BFIN extensions.
* elf32-cris.c: Likewise, except using CRIS extensions.
* elf32-frv.c: Likewise, except using FRV extensions.
* elf32-hppa.c: Likewise, except using HPPA32 extensions.
* elf32-i386.c: Likewise, except using I386 extensions.
* elf32-lm32.c: Likewise, except using LM32 extensions.
* elf32-m32r.c: Likewise, except using M32RM extensions.
* elf32-m68hc11.c: Likewise, except using M68HC11 extensions.
* elf32-m68hc1x.c: Likewise, except using M68HC11 extensions.
* elf32-m68hc1x.h: Likewise, except using M68HC11 extensions.
* elf32-m68k.c: Likewise, except using M68K extensions.
* elf32-microblaze.c: Likewise, except using MICROBLAZE extensions.
* elf32-ppc.c: Likewise, except using PPC32 extensions.
* elf32-s390.c: Likewise, except using S390 extensions.
* elf32-sh.c: Likewise, except using SH extensions.
* elf32-spu.c: Likewise, except using SPU extensions.
* elf32-xtensa.c: Likewise, except using XTENSA extensions.
* elf64-alpha.c: Likewise, except using ALPHA extensions.
* elf64-hppa.c: Likewise, except using HPPA64 extensions.
* elf64-ppc.c: Likewise, except using PPC64 extensions.
* elf64-s390.c: Likewise, except using S390 extensions.
* elf64-x86-64.c: Likewise, except using X86_64 extensions.
* elfxx-ia64.c: Likewise, except using IA64 extensions.
* elfxx-mips.c: Likewise, except using MIPS extensions.
* elfxx-sparc.c: Likewise, except using SPARC extensions.
* elfxx-sparc.h: Likewise, except using SPARC extensions.
* elf32-cr16.c (struct elf32_cr16_link_hash_table): Delete
redundant structure.
(elf32_cr16_hash_table): Delete unused macro.
(elf32_cr16_link_hash_traverse): Delete unused macro.
* elf32-score.c: Likewise.
* elf32-score7.c: Likewise.
* elf32-vax.c: Likewise.
* elf64-sh64.c: Likewise.
2010-02-03 Alan Modra <amodra@gmail.com>
* elf64-ppc.c (struct plt_entry): Move earlier in file.
(struct got_entry): Likewise. Add is_indirect and got.ent fields.
(struct ppc64_elf_obj_tdata): Change tlsld_got to be a struct got_entry.
Update all uses.
(struct ppc_link_hash_table): Add got_reli_size and second_toc_pass.
Remove no_multi_toc.
(update_local_sym_info, ppc64_elf_check_relocs): Clear is_indirect
when allocating a new struct got_entry.
(allocate_got): New function, extracted from..
(allocate_dynrelocs): ..here. Abort on got entry in non-ppc64 bfd.
(ppc64_elf_size_dynamic_sections): Track got relocs allocated in
.reliplt by got_reli_size. Set owner on ppc64_tlsld_got entries.
(ppc64_elf_setup_section_lists): Remove output_bfd param and
no_multi_toc, add add_stub_section and layout_sections_again. Stash
new params in htab. Extract some code to..
(ppc64_elf_start_multitoc_partition): ..here. New function.
(ppc64_elf_next_toc_section): Check for linker script errors. Handle
second pass toc scan.
(merge_got_entries, merge_global_got, reallocate_got): New functions.
(ppc64_elf_reinit_toc): Rename to..
(ppc64_elf_finish_multitoc_partition): ..this.
(ppc64_elf_layout_multitoc): New function.
(ppc64_elf_size_stubs): Delete output_bfd, add_stub_section and
layout_sections_again params.
(ppc64_elf_relocate_section): Handle indirect got entries.
* elf64-ppc.h: Update prototypes. Declare new functions.
2010-02-02 H.J. Lu <hongjiu.lu@intel.com>
* elf-bfd.h (elfcore_write_xstatereg): New.
* elf.c (elfcore_grok_xstatereg): New.
(elfcore_write_xstatereg): Likewise.
(elfcore_grok_note): Handle NT_X86_XSTATE.
(elfcore_write_register_note): Handle .reg-xstate section.
2010-02-01 Tristan Gingold <gingold@adacore.com>
* som.c (som_write_ar_hdr): Define this macro.
2010-01-30 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* elf32-hppa.c (final_link_relocate): Convert R_PARISC_TLS_GD21L,
R_PARISC_TLS_LDM21L and R_PARISC_TLS_IE21L relocations that use the
linkage table pointer to use the global table pointer if not doing
a shared link.
2010-01-29 Joel Brobecker <brobecker@adacore.com>
* elf.c (elfcore_grok_lwpstatus): Do not overwrite the core signal
if it has already been set.
2010-01-27 Tristan Gingold <gingold@adacore.com>
* vms.h: Remove trailing spaces.
(struct hdr_struct): Remove unused hdr_c_cpr field.
(enum file_format_enum): Add comments.
* vms.c (vms_bfd_print_private_bfd_data): New function that
replaces the macro.
Remove trailing spaces.
* vms-misc.c: Improve comments.
(_bfd_vms_get_object_record): Also handle files without pads.
* vms-hdr.c (_bfd_vms_write_dbg): Fix format string.
* vms-gsd.c (struct flagdescstruct): Make name field const.
(gsyflagdesc): Fix typo.
2010-01-27 Alan Modra <amodra@gmail.com>
PR ld/11217
* elf64-ppc.c (struct ppc_link_hash_table): Add toc_bfd, toc_first_sec.
(ppc64_elf_setup_section_lists): Init them.
(ppc64_elf_next_toc_section): Don't partition multi-toc between .got
and .toc on the same input file.
(ppc64_elf_relocate_section): Correct GOT entry offset.
2010-01-26 Tristan Gingold <gingold@adacore.com>
* targets.c (BFD_JUMP_TABLE_ARCHIVE): Add initializer for write_ar_hdr.
(bfd_target): Add _bfd_write_ar_hdr_fn field.
* archive.c (is_bsd44_extended_name): New macro.
(_bfd_generic_read_ar_hdr_mag): Use it. Add extra_size.
(bfd_slurp_armap): Also check for "__.SYMDEF" as a BSD4.4 extended
name.
(_bfd_archive_bsd44_construct_extended_name_table): New function.
(_bfd_generic_write_ar_hdr): Ditto.
(_bfd_bsd44_write_ar_hdr): Ditto.
(_bfd_write_archive_contents): Call _bfd_write_ar_hdr.
(bsd_write_armap): Adjust firstreal computation.
* libbfd-in.h (struct areltdata): Add extra_size field.
(_bfd_generic_write_ar_hdr): Add prototype.
(_bfd_bsd44_write_ar_hdr): Ditto.
(_bfd_write_ar_hdr): Define.
(_bfd_noarchive_write_ar_hdr): Ditto.
(_bfd_archive_bsd_write_ar_hdr): Ditto.
(_bfd_archive_coff_write_ar_hdr): Ditto.
(_bfd_archive_bsd44_slurp_armap): Ditto.
(_bfd_archive_bsd44_slurp_extended_name_table): Ditto.
(_bfd_archive_bsd44_construct_extended_name_table): New prototype.
(_bfd_archive_bsd44_truncate_arname): Ditto.
(_bfd_archive_bsd44_write_armap): Ditto.
(_bfd_archive_bsd44_read_ar_hdr): Ditto.
(_bfd_archive_bsd44_write_ar_hdr): Ditto.
(_bfd_archive_bsd44_openr_next_archived_file): Ditto.
(_bfd_archive_bsd44_get_elt_at_index): Ditto.
(_bfd_archive_bsd44_generic_stat_arch_elt): Ditto.
(_bfd_archive_bsd44_update_armap_timestamp): Ditto.
* libbfd.h: Regenerate.
* oasys.c (oasys_write_ar_hdr): Define.
* libecoff.h (_bfd_ecoff_write_ar_hdr): Define.
* ieee.c (ieee_write_ar_hdr): Define.
* elf64-mips.c (bfd_elf64_archive_write_ar_hdr): Define.
* coff-rs6000.c (rs6000coff_vec): Adjust for write_ar_hdr field.
(bfd_pmac_xcoff_backend_data): Ditto.
* coff64-rs6000.c (rs6000coff64_vec): Ditto.
(bfd_xcoff_aix5_backend_data): Ditto.
* coff-alpha.c (alpha_ecoff_write_ar_hdr): Define.
* aout-target.h (MY_write_ar_hdr): Define it if not defined.
* aout-tic30.c (MY_write_ar_hdr): Ditto.
* mach-o-target.c (TARGET_NAME): Use _bfd_archive_bsd44 archive.
(bfd_mach_o_mkarchive, bfd_mach_o_read_ar_hdr)
(bfd_mach_o_slurp_armap, bfd_mach_o_slurp_extended_name_table)
(bfd_mach_o_construct_extended_name_table)
(bfd_mach_o_truncate_arname, bfd_mach_o_write_armap)
(bfd_mach_o_get_elt_at_index, bfd_mach_o_generic_stat_arch_elt)
(bfd_mach_o_update_armap_timestamp): Moved to mach-o.c
* mach-o.c (bfd_mach_o_mkarchive, bfd_mach_o_read_ar_hdr)
(bfd_mach_o_slurp_armap, bfd_mach_o_slurp_extended_name_table)
(bfd_mach_o_construct_extended_name_table)
(bfd_mach_o_truncate_arname, bfd_mach_o_write_armap)
(bfd_mach_o_get_elt_at_index, bfd_mach_o_generic_stat_arch_elt)
(bfd_mach_o_update_armap_timestamp): Moved from mach-o-target.c
* bfd-in2.h: Regenerate.
2010-01-26 Alan Modra <amodra@gmail.com>
H.J. Lu <hongjiu.lu@intel.com>
PR ld/11218
* elflink.c (elf_link_output_extsym): Do not ignore undefined
symbols with ref_regular set when gc_sections is active.
2010-01-25 Alan Modra <amodra@gmail.com>
PR ld/11217
* elf64-ppc.c (ppc64_elf_tls_optimize): Optimize tls sequences
with relocations against undefined weak symbols.
(ppc64_elf_relocate_section): Don't optimize calls to undefined
weak functions if the symbol is dynamic.
(ppc64_elf_relocate_section): Edit tprel tls sequences.
* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
(_bfd_elf_ppc_at_tprel_transform): New function.
* bfd-in.h (_bfd_elf_ppc_at_tprel_transform): Declare.
* bfd-in2.h: Regenerate.
2010-01-23 Richard Sandiford <r.sandiford@uk.ibm.com>
* coff-rs6000.c (xcoff_howto_table): Change size to 0 and bitsize to 1.
(_bfd_xcoff_reloc_type_lookup): Handle BFD_RELOC_NONE.
* coff64-rs6000.c (xcoff64_howto_table): Change size to 0 and
bitsize to 1.
(xcoff64_reloc_type_lookup): Handle BFD_RELOC_NONE.
2010-01-21 Nick Clifton <nickc@redhat.com>
* elflink.c (elf_link_add_object_symbols): Look up name of
undefined symbol both before and after versioning has been
applied. Do not bother with symbols that are weakly undefined.
2010-01-21 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* elf32-s390.c (elf32_s390_merge_private_bfd_data): New function.
(bfd_elf32_bfd_merge_private_bfd_data): New macro definition.
2010-01-19 Cary Coutant <ccoutant@google.com>
* dwarf2.c (read_attribute_value): Add DW_FORM_ref_sig8.
2010-01-19 Daisuke Hatayama <d.hatayama@jp.fujitsu.com>
Alan Modra <amodra@gmail.com>
* elfcode.h (elf_swap_ehdr_out): Handle e_phnum > 0xffff.
(elf_object_p): Read e_phnum extension.
(elf_write_shdrs_and_ehdr): Write e_phnum extension.
* elfcore.h (elf_core_file_p): Read e_phnum extension. Sanity check
that we can read last program header.
2010-01-19 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
* elf32-arm.c (elf32_arm_howto_table_1): Correct bitsize of
R_ARM_THM_CALL entry.
(elf32_arm_final_link_relocate): Correct calculation of
reloc_signed_max when doing a R_ARM_THM_CALL, R_ARM_THM_XPC22,
or R_ARM_THM_JUMP24 relocation.
2010-01-18 Alan Modra <amodra@gmail.com>
PR 11168
* coffcode.h (coff_compute_section_file_positions): Move Rs6000COFF_C
block past vars in COFF_IMAGE_WITH_PE block. Report error on more
than 32k sections.
2010-01-15 Jan Kratochvil <jan.kratochvil@redhat.com>
Fix compilation warning on gcc-3.4.
* vms-tir.c (start_etir_record, sto_imm): Rename the prototype
parameter index to sec_index according to the function definition.
2010-01-13 Chao-ying Fu <fu@mips.com>
* elfxx-mips.c (JR_TO_B_P): New define to transform JR to B.
It is true for all CPUs.
(jal_reloc_p): New function.
(mips_elf_calculate_relocation): Rename require_jalxp to
cross_mode_jump_p.
Update comment for CROSS_MODE_JUMP_P.
Set up cross_mode_jump_p based on the mode change.
(mips_elf_perform_relocation): Rename require_jalx to cross_mode_jump_p.
Update comment for CROSS_MODE_JUMP_P.
Test cross_mode_jump_p and jal_reloc_p to turn jal to jalx.
Use !cross_mode_jump_p to guard conversion.
Convert "jr t9" to "b", if possible.
(_bfd_mips_elf_relocate_section): Rename require_jalx to
cross_mode_jump_p.
Pass &cross_mode_jump_p to call mips_elf_calculate_relocation.
Pass cross_mode_jump_p to call mips_elf_perform_relocation.
2010-01-13 Nick Clifton <nickc@redhat.com>
* cpu-m32c.c (m32c_scan): New function. Ensures that a scan for
"m32c" returns the m32c arch_info_struct and not the m16c
arch_info_struct.
(arch_info_struct): Use the new scan function.
(bfd_m32c_arch): Likewise.
2010-01-13 Tristan Gingold <gingold@adacore.com>
* config.bfd: Remove duplicated target vector for i386-*-darwin.
Appends new arch instead of overriding.
Use mach_o_x86_64_vec for x86_64-*-darwin.
* configure.in: Add mach_o_x86_64_vec.
* configure: Regenerate.
* targets.c: Declare mach_o_x86_64_vec, add it to _bfd_target_vector.
* Makefile.am (BFD64_BACKENDS): Add mach-o-x86-64.lo
(BFD64_BACKENDS_CFILES): Add mach-o-x86-64.c
* Makefile.in: Regenerate.
* mach-o-x86-64.c: New file.
2010-01-13 Tristan Gingold <gingold@adacore.com>
* reloc.c: Add MACH_O_X86_64 relocations.
* bfd-in2.h: Regenerate.
* libbfd.h: Regenerate.
2010-01-13 Tristan Gingold <gingold@adacore.com>
* archive.c (normalize): Use lbasename.
(bfd_bsd_truncate_arname): Ditto.
(bfd_gnu_truncate_arname): Ditto.
2010-01-12 Tristan Gingold <gingold@adacore.com>
* makefile.vms (CFLAGS): Turns warnings into informational messages.
2010-01-11 Tristan Gingold <gingold@adacore.com>
* mach-o.h: Add x86-64 relocation types.
2010-01-11 Tristan Gingold <gingold@adacore.com>
* mach-o.h (bfd_mach_o_backend_data): Add arch field.
(bfd_mach_o_set_arch_mach): New prototype.
* mach-o.c (bfd_mach_o_mkobject): Define with bfd_mach_o_gen_mkobject.
(bfd_mach_o_set_arch_mach): New function.
(bfd_mach_o_gen_mkobject): New function.
Set TARGET_ARCHITECTURE for the generic back-ends.
* mach-o-target.c (bfd_mach_o_set_arch_mach): Remove define.
Check that TARGET_ARCHITECTURE is defined.
Add TARGET_ARCHITECTURE in TARGET_NAME_BACKEND structure.
* mach-o-i386.c (TARGET_ARCHITECTURE): Define.
2010-01-11 Tristan Gingold <gingold@adacore.com>
* archive.c (bfd_slurp_armap): Also check for Mach-O sorted armap.
2010-01-11 Nick Clifton <nickc@redhat.com>
* elf32-v850.c (v850_elf_perform_relocation): Fix overflow
handling of R_V850_HI16_S relocation.
2010-01-11 Alan Modra <amodra@gmail.com>
PR 11103
* dwarf1.c (parse_die): Correct FORM_STRING data pointer increment.
2010-01-11 Alan Modra <amodra@gmail.com>
PR 6832
* dwarf2.c (struct comp_unit): Add sec_info_ptr.
(find_abstract_instance_name): Use it.
(parse_comp_unit): Set it.
2010-01-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* Makefile.in: Regenerate.
* configure: Regenerate.
2010-01-08 Tristan Gingold <gingold@adacore.com>
* archive.c: Remove bfd_special_undocumented_glue.
2010-01-08 Alan Modra <amodra@gmail.com>
PR ld/11133
* elf32-cr16.c (elf32_cr16_gc_mark_hook): Call _bfd_elf_gc_mark_hook.
* elf32-microblaze.c (microblaze_elf_gc_mark_hook): Likewise.
* elf64-ppc.c (ppc64_elf_gc_mark_hook): Likewise.
2010-01-07 H.J. Lu <hongjiu.lu@intel.com>
PR ld/11138
* elflink.c (elf_link_check_versioned_symbol): Don't abort if
a symbol referenced by DSO is is defined in a non-shared object
and forced local.
2010-01-07 H.J. Lu <hongjiu.lu@intel.com>
PR ld/11133
* elflink.c (_bfd_elf_gc_mark_hook): Check section XXX for
undefined __start_XXX/__stop_XXX in all input files and set
SEC_KEEP.
2010-01-07 H.J. Lu <hongjiu.lu@intel.com>
PR ld/11143
* elflink.c (elf_gc_sweep): Keep SHT_NOTE section.
2010-01-04 Daniel Gutson <dgutson@codesourcery.com>
* bfd.m4 (BFD_HAVE_SYS_PROCFS_TYPE): Define _STRUCTURE_PROC
before including procfs.h.
(BFD_HAVE_SYS_PROCFS_TYPE_MEMBER): Likewise.
* configure.in: Added autoconf probe for the pr_fpreg member.
* configure: Regenerated.
* config.in: Regenerated.
* elf.c: Define _STRUCTURE_PROC before including procfs.h.
2010-01-04 Joel Brobecker <brobecker@adacore.com>
Fix -Wshadow warnings in dwarf2.c (seen on alpha-tru64).
* dwarf2.c (concat_filename): Rename dirname with dir_name
to void shadowing the dirname function.
Rename subdirname with subdir_name to stay consistent with
the new dir_name variable name.
2010-01-04 Edmar Wienskoski <edmar@freescale.com>
* archures.c: Add bfd_mach_ppc_e500mc64.
* bfd-in2.h: Regenerate.
* cpu-powerpc.c (bfd_powerpc_archs): Add entry for
bfd_mach_ppc_e500mc64.
2010-01-01 Joel Brobecker <brobecker@adacore.com>
Fix -Wshadow warnings (seen on ppc-aix)
* xcofflink.c: Replace finfo by flinfo throughout.
For older changes see ChangeLog-2009
Local Variables:
mode: change-log
left-margin: 8
fill-column: 74
version-control: never
End: