bfd/
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index 0ef88f73682556f9890ed06d3f89cbe74afde206..14341c480f6cc215b75153a20db77669bdebecd4 100644 (file)
@@ -1,3 +1,296 @@
+2010-06-10  Tristan Gingold  <gingold@adacore.com>
+
+       * som.c: Can now be compiled on any host.
+       Include bfd headers instead of system one.
+       (som_compute_checksum): Parameter is now a pointer to a
+       som_external_header structure.  Adjust.
+       (struct section_to_type): Field section is now const.
+       (R_DLT_REL, R_AUX_UNWIND, R_SEC_STMT): Removed conditional
+       definition.
+       (R_LONG_PCREL_MODE, R_N0SEL, R_N1SEL, R_LINETAB): Ditto.
+       (R_LINETAB_ESC, R_LTP_OVERRIDE, R_COMMENT): Ditto.
+       (som_swap_clock_in, som_swap_clock_out): New functions.
+       (som_swap_header_in, som_swap_header_out): Likewise.
+       (som_swap_space_dictionary_in): Likewise.
+       (som_swap_space_dictionary_out): Likewise.
+       (som_swap_subspace_dictionary_in): Likewise.
+       (som_swap_subspace_dictionary_record_out): Likewise.
+       (som_swap_aux_id_in, som_swap_aux_id_out): Likewise.
+       (som_swap_string_auxhdr_out): Likewise.
+       (som_swap_compilation_unit_out): Likewise.
+       (som_swap_exec_auxhdr_in): Likewise.
+       (som_swap_exec_auxhdr_out): Likewise.
+       (som_swap_lst_header_in): Likewise.
+       (som_object_setup): Adjust parameter type using bfd types.
+       (setup_sections): Likewise.  Ditto for object file types.
+       Use intermediate variables for external representation and use the
+       swap functions to convert.
+       (som_object_p): Ditto.  Remove #ifdef/#endif on always defined
+       macros.
+       (som_prep_headers): Likewise.
+       (som_write_symbol_strings): Likewise.
+       (som_begin_writing): Likewise.
+       (som_finish_writing): Likewise.
+       (som_build_and_write_symbol_table): Likewise.
+       (bfd_section_from_som_symbol): Likewise.
+       (som_slurp_symbol_table): Likewise.
+       (som_bfd_print_private_bfd_data): Likewise.
+       (bfd_som_attach_aux_hdr): Likewise.  Clear the padding.
+       (bfd_som_attach_compilation_unit): Likewise.
+       (som_bfd_count_ar_symbols): Likewise.
+       (som_bfd_fill_in_ar_symbols): Likewise.
+       (som_slurp_armap): Likewise.
+       (som_bfd_ar_write_symbol_stuff): Likewise.
+       (som_write_armap): Likewise.  Use _bfd_ar_spacepad instead of
+       sprintf to write header fields.
+       * som.h: Include bfd headers instead of system one.
+       (FILE_HDR_SIZE, AUX_HDR_SIZE): Removed.
+       (struct somdata): Use bfd structures instead of system ones.
+       (struct som_section_data_struct): Likewise.
+       (struct som_subspace_dictionary_record): Removed (now in
+       include/som/internal.h)
+
+2010-06-10  Tristan Gingold  <gingold@adacore.com>
+
+       * targets.c (bfd_target_list): Remove hp/ux compiler work-around
+       as bfd requires an ANSI-C compiler.
+
+2010-06-09 Tristan Gingold  <gingold@adacore.com>
+
+       * bfdio.c (bfd_bread): Fix the code to prevent reading past the
+       end of archive members.
+
+2010-06-08  Tristan Gingold  <gingold@adacore.com>
+
+       * som.c (som_bfd_free_cached_info): Do not free relocations as
+       they were allocated with bfd_zalloc.
+
+2010-06-08  Tristan Gingold  <gingold@adacore.com>
+
+       * vms-lib.c (_bfd_vms_lib_write_archive_contents): Increment
+       for the first block.
+
+2010-06-08  Tristan Gingold  <gingold@adacore.com>
+
+       * vms-lib.c (_bfd_vms_lib_ia64_mkarchive): New function.
+       * libbfd-in.h (_bfd_vms_lib_ia64_mkarchive): Declare.
+       * libbfd.h: Regenerate.
+       * elfxx-ia64.c (bfd_elfNN_write_archive_contents): Redefine for VMS.
+       (bfd_elfNN_mkarchive): Ditto.
+
+2010-06-02  Tristan Gingold  <gingold@adacore.com>
+
+       * vms-alpha.c (alpha_vms_bfd_final_link): Fix 64bit constant.
+
+2010-06-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * configure: Regenerate.
+
+2010-06-01  Tristan Gingold  <gingold@adacore.com>
+
+       * vms-alpha.c (struct vms_private_data_struct): Add
+       transfer_address field.  Remove unused dst_info field.
+       (alpha_vms_write_exec): Use transfer_address.
+       (_bfd_vms_write_egsd): Add a comment about LIB$INITIALIZE.
+       (alpha_vms_bfd_final_link): Set transfer_address.
+
+2010-05-31  Tristan Gingold  <gingold@adacore.com>
+
+       * vms-lib.c (credat_lo, credat_hi): New fields.
+       (vms_read_block): Adjust comments.
+       (vms_write_block): New function.
+       (_bfd_vms_lib_archive_p): Decode majorid once.  Replace some
+       hard-coded values with constants.  Set credat_lo and credat_hi.
+       (_bfd_vms_lib_mkarchive): Add argument kind.
+       Set ver, mhd_size and type according to kind.
+       (_bfd_vms_lib_alpha_mkarchive): New function.
+       (struct lib_index): Renamed from struct vms_index
+       (lib_index_cmp): Renamed from vms_index_cmp.  Adjusted.
+       (get_idxlen): Type of idx argument adjusted.  Add is_elfidx
+       argument and handle it.
+       (vms_write_index): Adjust argument idx.  Handle elf indexes.
+       (_bfd_vms_lib_build_map): Adjust type of arguments modules and res.
+       (_bfd_vms_lib_write_archive_contents): Add is_elfidx variable and
+       use it.  Handle elf indexes.  Set credat.
+       * libbfd-in.h (_bfd_vms_lib_mkarchive): Renamed to ...
+       (_bfd_vms_lib_alpha_mkarchive): ... this.
+       * libbfd.h: Regenerated.
+       * vms-alpha.c (vms_alpha_vec): Adjust after previous renaming.
+
+2010-05-28  Sterling Augustine  <sterling@tensilica.com>
+
+       * elf32-xtensa.c (elf_xtensa_relocate_section): Add a large amount
+       of code to change the bits in the instructions to match the changes
+       in the relocations.  Declare dest_addr and sym_sec to help.
+
+2010-05-28  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       Workaround GCC PR middle-end/4210.
+       * vms-misc.c (vms_time_t_to_vms_time): Use ternary operator for val[2]
+       and val[3].
+
+2010-05-27  Tristan Gingold  <gingold@adacore.com>
+
+       * vms-misc.c: Define __NEW_STARLET.  Remove trailing spaces.
+       (VMS_TIME_FACTOR, VMS_TIME_OFFSET): New macros.
+       (vms_time_to_time_t): Use them instead of local const.
+       (vms_time_t_to_vms_time): New function.
+       (vms_get_time): Likewise.
+       (vms_raw_get_time): Likewise.
+       * vms.h (vms_time_t_to_vms_time): New declaration.
+       (vms_get_time): Likewise.
+       (vms_raw_get_time): Likewise.
+
+2010-05-26  Tristan Gingold  <gingold@adacore.com>
+
+       * vms-alpha.c: Update comments.
+       (alpha_vms_write_exec): Set lnkflags.  Write the GST.
+       (alpha_vms_link_output_symbol): New function.
+       (alpha_vms_bfd_final_link): Generate the VMS symbol table.
+       Set dst_section private field.
+       (alpha_vms_bfd_final_link): Remove code that set dst_section.
+
+2010-05-26  Tristan Gingold  <gingold@adacore.com>
+
+       * bfdio.c: Declare and define _bfd_memory_iovec.
+       (bfd_bread): Move code for BFD_IN_MEMORY...
+       (bfd_bwrite): ... Ditto ...
+       (bfd_tell): ... Ditto ...
+       (bfd_flush): ... Ditto ...
+       (bfd_stat): ... Ditto ...
+       (bfd_seek): ... Ditto ...
+       (bfd_get_size): ... Ditto ...
+       (bfd_mmap): ... Ditto ...
+       (memory_bread): ... to these new functions.
+       (memory_bwrite): Ditto.
+       (memory_btell): Ditto.
+       (memory_bseek): Ditto.
+       (memory_bflush): Ditto.
+       (memory_bstat): Ditto.
+       (memory_bmmap): Ditto.
+       (memory_bclose): New function.
+       * peicode.h (pe_ILF_build_a_bfd): Use BFD_IN_MEMORY.
+       * xcofflink.c (bfd_xcoff_link_generate_rtinit): Ditto.
+       * opncls.c (bfd_close): Do not handle BFD_IN_MEMORY case.
+       (bfd_make_writable): Use _bfd_memory_iovec.
+       * elfcode.h (bfd_from_remote_memory): Use _bfd_memory_iovec.
+       * coff-alpha.c (alpha_ecoff_get_elt_at_filepos): Use
+       _bfd_memory_iovec.
+       (alpha_ecoff_openr_next_archived_file): Use proxy_origin
+       instead of origin.
+       * libbfd.h: Regenerate.
+
+2010-05-25  Daniel Jacobowitz  <dan@codesourcery.com>
+           Joseph Myers  <joseph@codesourcery.com>
+           Andrew Stubbs  <ams@codesourcery.com>
+
+       * config.bfd (sh-*-uclinux* | sh[12]-*-uclinux*): Add
+       bfd_elf32_shl_vec, and FDPIC vectors to targ_selvecs.
+       * configure.in: Handle FDPIC vectors.
+       * elf32-sh-relocs.h: Add FDPIC and movi20 relocations.
+       * elf32-sh.c (DEFAULT_STACK_SIZE): Define.
+       (SYMBOL_FUNCDESC_LOCAL): Define.  Use it instead of
+       SYMBOL_REFERENCES_LOCAL for function descriptors.
+       (fdpic_object_p): New.
+       (sh_reloc_map): Add FDPIC and movi20 relocations.
+       (sh_elf_info_to_howto, sh_elf_relocate_section): Handle new invalid
+       range.
+       (struct elf_sh_plt_info): Add got20 and short_plt.  Update all
+       definitions.
+       (FDPIC_PLT_ENTRY_SIZE, FDPIC_PLT_LAZY_OFFSET): Define.
+       (fdpic_sh_plt_entry_be, fdpic_sh_plt_entry_le, fdpic_sh_plts): New.
+       (FDPIC_SH2A_PLT_ENTRY_SIZE, FDPIC_SH2A_PLT_LAZY_OFFSET): Define.
+       (fdpic_sh2a_plt_entry_be, fdpic_sh2a_plt_entry_le)
+       (fdpic_sh2a_short_plt_be, fdpic_sh2a_short_plt_le, fdpic_sh2a_plts):
+       New.
+       (get_plt_info): Handle FDPIC.
+       (MAX_SHORT_PLT): Define.
+       (get_plt_index, get_plt_offset): Handle short_plt.
+       (union gotref): New.
+       (struct elf_sh_link_hash_entry): Add funcdesc, rename tls_type to
+       got_type and adjust all uses.  Add GOT_FUNCDESC.
+       (struct sh_elf_obj_tdata): Add local_funcdesc.  Rename
+       local_got_tls_type to local_got_type.
+       (sh_elf_local_got_type): Renamed from sh_elf_local_got_tls_type.  All
+       users changed.
+       (sh_elf_local_funcdesc): Define.
+       (struct elf_sh_link_hash_table): Add sfuncdesc, srelfuncdesc, fdpic_p,
+       and srofixup.
+       (sh_elf_link_hash_newfunc): Initialize new fields.
+       (sh_elf_link_hash_table_create): Set fdpic_p.
+       (sh_elf_omit_section_dynsym): New.
+       (create_got_section): Create .got.funcdesc, .rela.got.funcdesc
+       and .rofixup.
+       (allocate_dynrelocs): Allocate local function descriptors and space
+       for R_SH_FUNCDESC-related relocations, and for rofixups.
+       Handle GOT_FUNCDESC.  Create fixups.  Handle GOT entries which
+       require function descriptors.
+       (sh_elf_always_size_sections): Handle PT_GNU_STACK and __stacksize.
+       (sh_elf_modify_program_headers): New.
+       (sh_elf_size_dynamic_sections): Allocate function descriptors for
+       local symbols.  Allocate .got.funcdesc contents.  Allocate rofixups.
+       Handle local GOT entries of type GOT_FUNCDESC.  Create fixups for
+       local GOT entries.  Ensure that FDPIC libraries always have a PLTGOT
+       entry in the .dynamic section.
+       (sh_elf_add_dyn_reloc, sh_elf_got_offset, sh_elf_initialize_funcdesc)
+       (sh_elf_add_rofixup, sh_elf_osec_to_segment)
+       (sh_elf_osec_readonly_p, install_movi20_field): New functions.
+       (sh_elf_relocate_section): Handle new relocations, R_SH_FUNCDESC,
+       R_SH_GOTFUNCDESC and R_SH_GOTOFFFUNCDESC.  Use sh_elf_got_offset
+       and .got.plt throughout to find _GLOBAL_OFFSET_TABLE_.  Add rofixup
+       read-only section warnings.  Handle undefined weak symbols.  Generate
+       fixups for R_SH_DIR32 and GOT entries.  Check for cross-segment
+       relocations and clear EF_SH_PIC.  Handle 20-bit relocations.
+       Always generate R_SH_DIR32 for FDPIC instead of R_SH_RELATIVE.
+       (sh_elf_gc_sweep_hook): Handle R_SH_FUNCDESC, R_SH_GOTOFF20,
+       R_SH_GOTFUNCDESC, R_SH_GOTFUNCDESC20, and R_SH_GOTOFFFUNCDESC.
+       Handle 20-bit relocations.
+       (sh_elf_copy_indirect_symbol): Copy function descriptor reference
+       counts.
+       (sh_elf_check_relocs): Handle new relocations.  Make symbols
+       dynamic for FDPIC relocs.  Account for rofixups.  Error for FDPIC
+       symbol mismatches.  Allocate a GOT for R_SH_DIR32. Allocate fixups
+       for R_SH_DIR32.
+       (sh_elf_copy_private_data): Copy PT_GNU_STACK size.
+       (sh_elf_merge_private_data): Copy initial flags.  Do not clobber
+       non-mach flags.  Set EF_SH_PIC for FDPIC.  Reject FDPIC mismatches.
+       (sh_elf_finish_dynamic_symbol): Do not handle got_funcdesc entries
+       here.  Rename sgot to sgotplt and srel to srelplt.  Handle short_plt,
+       FDPIC descriptors, and got20.  Create R_SH_FUNCDESC_VALUE for FDPIC.
+       Use install_movi20_field.  Rename srel to srelgot.  Always generate
+       R_SH_DIR32 for FDPIC instead of R_SH_RELATIVE.
+       (sh_elf_finish_dynamic_sections): Fill in the GOT pointer in rofixup.
+       Do not fill in reserved GOT entries for FDPIC.  Correct DT_PLTGOT.
+       Rename sgot to sgotplt.  Assert that the right number of rofixups
+       and dynamic relocations were allocated.
+       (sh_elf_use_relative_eh_frame, sh_elf_encode_eh_address): New.
+       (elf_backend_omit_section_dynsym): Use sh_elf_omit_section_dynsym.
+       (elf_backend_can_make_relative_eh_frame)
+       (elf_backend_can_make_lsda_relative_eh_frame)
+       (elf_backend_encode_eh_address): Define.
+       (TARGET_BIG_SYM, TARGET_BIG_NAME, TARGET_LITTLE_SYM)
+       (TARGET_LITTLE_NAME, elf_backend_modify_program_headers, elf32_bed):
+       Redefine for FDPIC vector.
+       * reloc.c: Add SH FDPIC and movi20 relocations.
+       * targets.c (_bfd_target_vector): Add FDPIC vectors.
+       * configure, bfd-in2.h, libbfd.h: Regenerated.
+
+2010-05-25  Jay Krell  <jay.krell@cornell.edu>
+
+       PR ld/11624
+       * archive.c (_bfd_calloc_wrapper): New function.
+       (_bfd_add_bfd_to_archive_cache): Use it.
+
+       * configure.in: Add alpha*-*-*vms* to list of natives.
+       * configure: Regenerate.
+
+       * vms-misc.c: Define globalref if necessary.
+       (vms_convert_to_var_unix_filename): Rename to
+       _bfd_vms_convert_to_var_unix_filename and export.
+       * vms.h: Add prototype for _bfd_vms_convert_to_var_unix_filename.
+       * vms-alpha.c (vms_close_and_cleanup): Update invocation of
+       vms_convert_to_var_unix_filename.
+
 2010-05-24  Tristan Gingold  <gingold@adacore.com>
 
        * vms-alpha.c (add_symbol_entry): New function extrated from ...
This page took 0.050128 seconds and 4 git commands to generate.