bfd/
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index 51f54483fda06db075f07cdfc53dfb2829a94b4e..f834f5213e7521f20443e297c7ea173226391e28 100644 (file)
@@ -1,3 +1,413 @@
+2006-06-20  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf-bfd.h: Formatting.
+       (_bfd_elf_map_sections_to_segments): Declare.
+       * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame_hdr): Don't
+       clear program_header_size.
+       * elf.c (get_program_header_size): Move.  Don't use or set saved
+       program_header_size here.
+       (elf_modify_segment_map): New function.  Split out from..
+       (assign_file_positions_for_load_sections): ..here.  Assert
+       header size is correct.  Remove dead code.
+       (_bfd_elf_map_sections_to_segments): Rename from
+       map_sections_to_segments.  Make global.  Use get_program_header_size
+       when we need estimate of header size.  Call elf_modify_segment_map.
+       Set program_header_size.
+       (print_segment_map): Delete.
+       (_bfd_elf_sizeof_headers): If segment_map available, get the
+       actual size.
+       * elf32-arm.c (elf32_arm_symbian_modify_segment_map): Make safe
+       for calling more than once.
+       * elf32-bfin.c (elf32_bfinfdpic_modify_segment_map): Likewise.
+       * elf32-frv.c (elf32_frvfdpic_modify_segment_map): Likewise.
+       * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Likewise.
+       * elf32-i370.c (elf_backend_add_symbol_hook): Delete.
+       (elf_backend_additional_program_headers): Delete.
+       (elf_backend_modify_segment_map): Delete.
+       * elf64-hppa.c (elf64_hppa_modify_segment_map): Convert to ISO C.
+       * elfxx-ia64.c (elfNN_ia64_modify_segment_map): Likewise.
+       * doc/bfdint.texi: Delete SIZEOF_HEADERS difficulties.
+
+2006-06-19  Vladimir Prus  <vladimir@codesourcery.com>
+
+       * elf32-arm.c (elf32_arm_swap_symbol_out): Don't set low
+       bit for undefined symbols.
+
+2006-06-19  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf-bfd.h (struct elf_backend_data): Add bfd_link_info pointer
+       parameter.
+       (_bfd_elf_sizeof_headers): Replace bfd_boolean param with
+       bfd_link_info pointer.
+       * targets.c (struct bfd_target <_bfd_sizeof_headers>): Likewise.
+       * bfd.c (bfd_sizeof_headers): Tweak param name.
+       * aout-adobe.c (aout_adobe_sizeof_headers): Adjust.
+       * aoutx.h (NAME (aout, sizeof_headers)): Adjust.
+       * binary.c (binary_sizeof_headers): Adjust.
+       * bout.c (b_out_sizeof_headers): Adjust.
+       * coff-rs6000.c (_bfd_xcoff_sizeof_headers): Adjust.
+       * coff64-rs6000.c (xcoff64_sizeof_headers): Adjust.
+       * coffgen.c (coff_sizeof_headers): Adjust.
+       * ecoff.c (_bfd_ecoff_sizeof_headers): Adjust.
+       (ecoff_compute_section_file_positions): Adjust.
+       (_bfd_ecoff_write_object_contents): Adjust.
+       * elf.c (get_program_header_size, _bfd_elf_sizeof_headers): Adjust.
+       * elf32-arm.c (elf32_arm_additional_program_headers): Adjust.
+       * elf32-i370.c (elf_backend_additional_program_headers): Adjust.
+       * elf32-ppc.c (ppc_elf_additional_program_headers): Adjust.
+       * elf64-hppa.c (elf64_hppa_additional_program_headers): Adjust.
+       * elf64-x86-64.c (elf64_x86_64_additional_program_headers): Adjust.
+       * elfxx-ia64.c (elfNN_ia64_additional_program_headers): Adjust.
+       * elfxx-mips.c (_bfd_mips_elf_additional_program_headers): Adjust.
+       * elfxx-mips.h (_bfd_mips_elf_additional_program_headers): Adjust.
+       * i386msdos.c: Convert to ISO C.
+       (msdos_sizeof_headers): Adjust.
+       * i386os9k.c: Convert to ISO C.
+       (os9k_sizeof_headers): Adjust.
+       * ieee.c (ieee_sizeof_headers): Adjust.
+       * ihex.c (ihex_sizeof_headers): Adjust.
+       * libaout.h (NAME (aout, sizeof_headers)): Adjust.
+       * libbfd-in.h (_bfd_nolink_sizeof_headers): Adjust.
+       * libcoff-in.h (coff_sizeof_headers): Adjust.
+       * libecoff.h (_bfd_ecoff_sizeof_headers): Adjust.
+       * mach-o.c (bfd_mach_o_sizeof_headers): Adjust.
+       * mmo.c (mmo_sizeof_headers): Adjust.
+       * oasys.c (oasys_sizeof_headers): Adjust.
+       * pdp11.c (NAME (aout, sizeof_headers)): Adjust.
+       * pef.c (bfd_pef_sizeof_headers): Adjust.
+       * ppcboot.c (ppcboot_sizeof_headers): Adjust.
+       * som.c (som_sizeof_headers): Adjust.
+       * srec.c (srec_sizeof_headers): Adjust.
+       * tekhex.c (tekhex_sizeof_headers): Adjust.
+       * versados.c (versados_sizeof_headers): Adjust.
+       * vms.c (vms_sizeof_headers): Adjust.
+       * xcoff-target.h (_bfd_xcoff_sizeof_headers): Adjust.
+       * xsym.c (bfd_sym_sizeof_headers): Adjust.
+       * xsym.h (bfd_sym_sizeof_headers): Adjust.
+       * bfd-in2.h: Regenerate.
+       * libbfd.h: Regenerate.
+       * libcoff.h: Regenerate.
+
+2006-06-15  Mark Shinwell  <shinwell@codesourcery.com>
+
+       * bfd-in2.h: Regenerate.
+       * elf32-arm.c (R_ARM_ALU_PC_G0_NC, R_ARM_ALU_PC_G0,
+       R_ARM_ALU_PC_G1_NC, R_ARM_ALU_PC_G1, R_ARM_ALU_PC_G2,
+       R_ARM_LDR_PC_G1, R_ARM_LDR_PC_G2, R_ARM_LDRS_PC_G0,
+       R_ARM_LDRS_PC_G1, R_ARM_LDRS_PC_G2, R_ARM_LDC_PC_G0,
+       R_ARM_LDC_PC_G1, R_ARM_LDC_PC_G2, R_ARM_ALU_SB_G0_NC,
+       R_ARM_ALU_SB_G0, R_ARM_ALU_SB_G1_NC, R_ARM_ALU_SB_G1,
+       R_ARM_ALU_SB_G2, R_ARM_LDR_SB_G0, R_ARM_LDR_SB_G1,
+       R_ARM_LDR_SB_G2, R_ARM_LDRS_SB_G0, R_ARM_LDRS_SB_G1,
+       R_ARM_LDRS_SB_G2, R_ARM_LDC_SB_G0, R_ARM_LDC_SB_G1,
+       R_ARM_LDC_SB_G2): New relocation types.
+       (R_ARM_PC13): Rename to AAELF name R_ARM_LDR_PC_G0 and
+       adjust HOWTO entry to be consistent with R_ARM_LDR_PC_G1
+       and friends.
+       (elf32_arm_howto_table_3): Delete; contents merged into
+       elf32_arm_howto_table_2.
+       (elf32_arm_howto_from_type): Adjust correspondingly.
+       (elf32_arm_reloc_map): Extend with the above relocations.
+       (calculate_group_reloc_mask): New function.
+       (identify_add_or_sub): New function.
+       (elf32_arm_final_link_relocate): Support for the above
+       relocations.
+       * reloc.c: Add enumeration entries for BFD_RELOC_ARM_...
+       codes to correspond to the above relocations.
+
+2006-06-14  Richard Sandiford  <richard@codesourcery.com>
+
+       * elf32-m68k.c (elf_m68k_plt_info): New structure.
+       (elf_m68k_plt0_entry): Add R_68K_PC32-style in-place addends.
+       (elf_m68k_plt_entry): Likewise.
+       (elf_m68k_plt_info): New table.
+       (CFV4E_PLT_ENTRY_SIZE): Rename to...
+       (ISAB_PLT_ENTRY_SIZE): ...this.
+       (CFV4E_FLAG): Delete.
+       (elf_cfv4e_plt0_entry): Rename to...
+       (elf_isab_plt0_entry): ...this.  Adjust comments.  Use (-6,%pc,%d0)
+       for the second instruction too.
+       (elf_cfv4e_plt_entry): Rename to...
+       (elf_isab_plt_entry): ...this.  Adjust comments and use (-6,%pc,%d0).
+       (elf_isab_plt_info): New table.
+       (CPU32_FLAG): Delete.
+       (PLT_CPU32_ENTRY_SIZE): Rename to...
+       (CPU32_PLT_ENTRY_SIZE): ...this.
+       (elf_cpu32_plt0_entry): Update bounds accordingly.  Add R_68K_PC32-
+       style in-place addends.
+       (elf_cpu32_plt_entry): Likewise.
+       (elf_cpu32_plt_info): New table.
+       (elf_m68k_link_hash_table): Add a plt_info field.
+       (elf_m68k_link_hash_table_create): Initialize it.
+       (elf_m68k_get_plt_info): New function.
+       (elf_m68k_always_size_sections): Likewise.
+       (elf_m68k_adjust_dynamic_symbol): Use the plt_info hash table field.
+       (elf_m68k_install_pc32): New function.
+       (elf_m68k_finish_dynamic_symbol): Factor code using plt_info and
+       elf_m68k_install_pc32.
+       (elf_m68k_finish_dynamic_sections): Likewise.
+       (elf_m68k_plt_sym_val): Use elf_m68k_get_plt_info.
+       (elf_backend_always_size_sections): Define.
+
+2006-06-14  Alan Modra  <amodra@bigpond.net.au>
+
+       * elflink.c (elf_link_add_object_symbols): Save and restore
+       struct bfd_hash_table table, size and count fields for
+       as-needed libs.
+
+2006-06-12  Thiemo Seufer  <ths@mips.com>
+
+       * elf32-mips.c: Expand comment about ABI-mandated pagesize values.
+       (ELF_MAXPAGESIZE, ELF_COMMONPAGESIZE): define in a more obvious way.
+       * elf64-mips.c, elfn32-mips.c (ELF_MAXPAGESIZE): Fix value for IRIX6.
+       Delete old comments.
+       (ELF_COMMONPAGESIZE): Define in a more obvious way.
+
+2006-06-12  Nick Clifton  <nickc@redhat.com>
+
+       PR binutils/2735
+       * elflink.c (elf_link_add_object_symbols): Fix the warning message
+       about mismatched alignments to allow for the case where the common
+       alignment has been deduced from the section alignment.
+       * bfd.c (_bfd_default_error_handler): Update comment to explain
+       why bfd and asection varargs are out of order.  Explicitly catch
+       and abort on NULL bfd and asection arguments.
+
+2006-06-11  Richard Sandiford  <richard@codesourcery.com>
+           Thiemo Seufer  <ths@mips.com>
+
+       * elfxx-mips.c (mips_elf_link_hash_table): Add function_stub_size.
+       (STUB_ORI): New macro.
+       (STUB_LI16U): Fix formatting.
+       (MIPS_FUNCTION_STUB_SIZE): Delete.
+       (MIPS_FUNCTION_STUB_MAX_SIZE): Likewise.
+       (MIPS_FUNCTION_STUB_NORMAL_SIZE): New macro.
+       (MIPS_FUNCTION_STUB_BIG_SIZE): Likewise.
+       (_bfd_mips_elf_adjust_dynamic_symbol): Use htab->function_stub_size
+       instead of MIPS_FUNCTION_STUB_SIZE.
+       (count_section_dynsyms): New function, split out from
+       _bfd_mips_elf_final_link.
+       (_bfd_mips_elf_always_size_sections): Get a worst-case estimate
+       of the number of dynamic symbols needed and use it to set up
+       function_stub_size.  Use function_stub_size rather than
+       MIPS_FUNCTION_STUB_SIZE to determine the size of the stub section.
+       Use 16-byte stubs for 0x10000 dynamic symbols.
+       (_bfd_mips_elf_size_dynamic_sections): Use htab->function_stub_size
+       instead of MIPS_FUNCTION_STUB_SIZE.  Fix formatting.
+       (_bfd_mips_elf_finish_dynamic_symbol): Likewise.  Change the
+       size of the stub buffer from MIPS_FUNCTION_STUB_MAX_SIZE to
+       MIPS_FUNCTION_STUB_BIG_SIZE.  Tweak the check for unhandled dynindxes.
+       Use MIPS_FUNCTION_STUB_BIG_SIZE rather than a hard-coded 20.
+       Use STUB_ORI rather than STUB_LI16U for big stubs.
+       (_bfd_mips_elf_link_hash_table_create): Initialize function_stub_size.
+       (_bfd_mips_elf_final_link): Use count_section_dynsyms.
+
+2006-06-09  David Ung  <davidu@mips.com>
+
+       * bfd/elfxx-mips.c (mips_elf_calculate_relocation): Fix mode for stub
+       calling relocations.
+
+2006-06-08  David Daney  <ddaney@avtrex.com>
+
+       * elfxx-mips.c (STUB_LI16): Removed.
+       (STUB_LUI): New macro.
+       (STUB_LI16U): Ditto.
+       (STUB_LI16S): Ditto.
+       (MIPS_FUNCTION_STUB_SIZE): Rewrote to take info parameter.
+       (_bfd_mips_elf_adjust_dynamic_symbol): Pass info parameter to
+       MIPS_FUNCTION_STUB_SIZE.
+       (_bfd_mips_elf_always_size_sections): Ditto.
+       (_bfd_mips_elf_size_dynamic_sections): Ditto.
+       (_bfd_mips_elf_finish_dynamic_sections): Ditto.
+       (_bfd_mips_elf_finish_dynamic_symbol): Rewrote stub generation
+       to allow larger symbol table indexes.
+
+2006-06-07  Joseph S. Myers  <joseph@codesourcery.com>
+
+       * po/Make-in (pdf, ps): New dummy targets.
+
+2006-06-06  Alan Modra  <amodra@bigpond.net.au>
+
+       * hash.c (bfd_hash_lookup): Correct stray line.
+
+       * elf.c (_bfd_elf_init_private_section_data): Comment typo.
+       (elfcore_grok_nto_status): Use long instead of pid_t.
+       (elfcore_grok_nto_regs, elfcore_grok_nto_note): Likewise.
+
+2006-06-05  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * po/Make-in (top_builddir): Define.
+
+2006-06-05  Alan Modra  <amodra@bigpond.net.au>
+
+       * Makefile.am: Run "make dep-am".
+       * Makefile.in: Regenerate.
+       * config.in: Regenerate.
+
+2006-06-02  Alan Modra  <amodra@bigpond.net.au>
+           H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/2723
+       * elflink.c (bfd_elf_final_link): Don't output section symbols
+       for special ELF sections.
+
+2006-06-01  Alan Modra  <amodra@bigpond.net.au>
+
+       * stabs.c (_bfd_link_section_stabs): Use bfd_make_section*_with_flags
+       instead of bfd_make_section*.
+       * aix386-core.c: Likewise.
+       * aix5ppc-core.c: Likewise.
+       * aout-adobe.c: Likewise.
+       * aoutf1.h: Likewise.
+       * binary.c: Likewise.
+       * cisco-core.c: Likewise.
+       * coff-arm.c: Likewise.
+       * coff-h8300.c: Likewise.
+       * elf.c: Likewise.
+       * elf32-bfin.c: Likewise.
+       * elf32-m32c.c: Likewise.
+       * hppabsd-core.c: Likewise.
+       * hpux-core.c: Likewise.
+       * i386linux.c: Likewise.
+       * ieee.c: Likewise.
+       * ihex.c: Likewise.
+       * irix-core.c: Likewise.
+       * lynx-core.c: Likewise.
+       * m68klinux.c: Likewise.
+       * mach-o.c: Likewise.
+       * netbsd-core.c: Likewise.
+       * nlmcode.h: Likewise.
+       * opncls.c: Likewise.
+       * osf-core.c: Likewise.
+       * peXXigen.c: Likewise.
+       * ppcboot.c: Likewise.
+       * ptrace-core.c: Likewise.
+       * rs6000-core.c: Likewise.
+       * sco5-core.c: Likewise.
+       * sparclinux.c: Likewise.
+       * srec.c: Likewise.
+       * sunos.c: Likewise.
+       * trad-core.c: Likewise.
+       * xcofflink.c: Likewise.
+       * xsym.c: Likewise.
+
+2006-05-31  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * Makefile.am (INCLUDES): Use @INCINTL@.
+       * acinclude.m4: Include new gettext macros.
+       * configure.in: Use ZW_GNU_GETTEXT_SISTER_DIR and AM_PO_SUBDIRS.
+       Manually substitute POFILES and GMOFILES.
+       * Makefile.in, aclocal.m4, configure, doc/Makefile.in: Regenerated.
+
+2006-05-30  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * bfd.c (bfd_emul_get_maxpagesize): New.
+       (bfd_elf_set_pagesize): Likewise.
+       (bfd_emul_set_maxpagesize): Likewise.
+       (bfd_emul_get_commonpagesize): Likewise.
+       (bfd_emul_set_commonpagesize): Likewise.
+       * bfd-in2.h: Regenerated.
+
+       * elf-bfd.h (elf_backend_data): Add commonpagesize.
+       (xvec_get_elf_backend_data): New.
+       (get_elf_backend_data): Use xvec_get_elf_backend_data.
+
+       * elf32-arm.c (elf32_arm_vxworks_bed): Remove const.
+       * elfxx-target.h (elfNN_bed): Likewise.
+
+       * elf32-arm.c (ELF_COMMONPAGESIZE): Defined.
+       * elf32-mips.c (ELF_COMMONPAGESIZE): Likewise.
+       * elf32-ppc.c (ELF_COMMONPAGESIZE): Likewise.
+       * elf32-sh.c (ELF_COMMONPAGESIZE): Likewise.
+       * elf32-sh64.c (ELF_COMMONPAGESIZE): Likewise.
+       * elf32-sparc.c (ELF_COMMONPAGESIZE): Likewise.
+       * elf64-alpha.c (ELF_COMMONPAGESIZE): Likewise.
+       * elf64-ppc.c (ELF_COMMONPAGESIZE): Likewise.
+       * elf64-sparc.c (ELF_COMMONPAGESIZE): Likewise.
+       * elf64-x86-64.c (ELF_COMMONPAGESIZE): Likewise.
+       * elfn32-mips.c (ELF_COMMONPAGESIZE): Likewise.
+       * elfxx-ia64.c (ELF_COMMONPAGESIZE): Likewise.
+
+       * elfxx-target.h (ELF_COMMONPAGESIZE): Define if not defined.
+       (elfNN_bed): Initialize commonpagesize with ELF_COMMONPAGESIZE.
+
+       * targets.c (bfd_find_target): Support NULL abfd.
+
+2006-05-30  Nick Clifton  <nickc@redhat.com>
+
+       * po/es.po: Updated Spanish translation.
+
+2006-05-27  Alan Modra  <amodra@bigpond.net.au>
+           H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf.c (assign_file_positions_for_load_sections): Retrieve
+       maxpagesize from m->p_align if it is valid.  Set p_vaddr,
+       p_paddr and p_align earlier.  Revert 2006-05-19 change to p_align.
+       (copy_elf_program_header): Copy p_align.  Set p_align_valid.
+
+2006-05-26  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf64-x86-64.c (ELF_MINPAGESIZE): Changed to 0x1000.
+
+2006-05-25  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf64-x86-64.c (ELF_MINPAGESIZE): Set to 0x100000.
+
+2006-05-25  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf64-x86-64.c (ELF_MAXPAGESIZE): Updated to 0x200000.
+
+2006-05-26  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf.c (sym_is_global): Return a bfd_boolean.
+       (ignore_section_sym): New function.
+       (elf_map_symbols): Use ignore_section_sym to discard some syms.
+       (_bfd_elf_symbol_from_bfd_symbol): Ensure section belongs to
+       bfd before using elf_section_syms.
+
+2006-05-25  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config.bfd: (sh-*-linux*): Treat as 64bit target.
+       (sh*l*-*-netbsdelf*): Likewise.
+       (sh-*-netbsdelf*): Likewise.
+       (shl*-*-elf*): Likewise.
+       (sh[1234]l*-*-elf*): Likewise.
+       (sh3el*-*-elf*): Likewise.
+       (shl*-*-kaos*): Likewise.
+       (sh-*-elf*): Likewise.
+       (sh[1234]*-elf*): Likewise.
+       (sh-*-rtems*): Likewise.
+       (sh-*-kaos*): Likewise.
+
+2006-05-24  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/1485
+       * config.bfd: Set want64 to true if 64bit bfd is used.
+       (sh-*-linux*): Use targ64_selvecs for 64bit targets.
+       (sh*l*-*-netbsdelf*): Likewise.
+       (sh-*-netbsdelf*): Likewise.
+       (shl*-*-elf*): Likewise.
+       (sh[1234]l*-*-elf*): Likewise.
+       (sh3el*-*-elf*): Likewise.
+       (shl*-*-kaos*): Likewise.
+       (sh-*-elf*): Likewise.
+       (sh[1234]*-elf*): Likewise.
+       (sh-*-rtems*): Likewise.
+       (sh-*-kaos*): Likewise.
+
+2006-05-24  Paul Brook  <paul@codesourcery.com>
+
+       * elf-bfd.h (elf_backend_data): Add elf_backend_output_arch_local_syms
+       * elf32-arm.c (output_arch_syminfo): Define.
+       (elf32_arm_ouput_plt_map_sym, elf32_arm_output_plt_map,
+       elf32_arm_output_arch_local_syms): New functions.
+       (elf_backend_output_arch_local_syms): Define.
+       * elflink.c (bfd_elf_final_link): Call
+       elf_backend_output_arch_local_syms.
+       * elfxx-target.h (elf_backend_output_arch_local_syms): Provide default
+       definition.
+       (elfNN_bed): Add elf_backend_output_arch_local_syms.
+
 2006-05-24  Paul Brook  <paul@codesourcery.com>
 
        * elf32-arm.c (put_arm_insn, put_thumb_insn): New functions.
This page took 0.029162 seconds and 4 git commands to generate.