X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=bfd%2FChangeLog;h=00f48546171b3de9e658523f29a2988ea2c23496;hb=33c0ec9de7564cdf93754037b2a568dbd848f3c9;hp=01950b4fc0e752bf0386e76a62e38483e627e656;hpb=16583161e14cbe747e78da035790c48951884556;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 01950b4fc0..00f4854617 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,442 @@ +2010-02-09 Alan Modra + + * 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 + + * 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 + + * mach-o.c (bfd_mach_o_canonicalize_one_reloc): Set reloc.r_extern + for non-scattered relocations. + +2010-02-08 Nathan Sidwell + + * 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 + + * 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 + + * elf32-ppc.c (ppc_elf_check_relocs): Remove dead ifunc code. + +2010-02-05 Sterling Augustine + + * elf.c (assign_file_positions_for_load_sections) Update lma of + section if necessary. Fixes Bugzilla 11219. + +2010-02-05 H.J. Lu + + * elf32-i386.c: Remove trailing white spaces. + * elf64-x86-64.c: Likewise. + +2010-02-03 Nick Clifton + + * 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 + + * 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 + + * 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 + + * som.c (som_write_ar_hdr): Define this macro. + +2010-01-30 John David Anglin + + * 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 + + * elf.c (elfcore_grok_lwpstatus): Do not overwrite the core signal + if it has already been set. + +2010-01-27 Tristan Gingold + + * 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 + + 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 + + * 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 + H.J. Lu + + 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 + + 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 + + * 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 + + * 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 + + * 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 + + * dwarf2.c (read_attribute_value): Add DW_FORM_ref_sig8. + +2010-01-19 Daisuke Hatayama + Alan Modra + + * 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 + + * 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 + + 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 + + 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 + + * 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 + + * 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 + + * 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 + + * reloc.c: Add MACH_O_X86_64 relocations. + * bfd-in2.h: Regenerate. + * libbfd.h: Regenerate. + +2010-01-13 Tristan Gingold + + * archive.c (normalize): Use lbasename. + (bfd_bsd_truncate_arname): Ditto. + (bfd_gnu_truncate_arname): Ditto. + +2010-01-12 Tristan Gingold + + * makefile.vms (CFLAGS): Turns warnings into informational messages. + +2010-01-11 Tristan Gingold + + * mach-o.h: Add x86-64 relocation types. + +2010-01-11 Tristan Gingold + + * 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 + + * archive.c (bfd_slurp_armap): Also check for Mach-O sorted armap. + +2010-01-11 Nick Clifton + + * elf32-v850.c (v850_elf_perform_relocation): Fix overflow + handling of R_V850_HI16_S relocation. + +2010-01-11 Alan Modra + + PR 11103 + * dwarf1.c (parse_die): Correct FORM_STRING data pointer increment. + +2010-01-11 Alan Modra + + 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 + + * Makefile.in: Regenerate. + * configure: Regenerate. + +2010-01-08 Tristan Gingold + + * archive.c: Remove bfd_special_undocumented_glue. + +2010-01-08 Alan Modra + + 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 + + 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 + + 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 PR ld/11143