X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=bfd%2FChangeLog;h=14341c480f6cc215b75153a20db77669bdebecd4;hb=e1f000f69cf227b4fefa30a5234cd9a9e68fee40;hp=02f9c05184a362a030196a4d70a52a981d1c44b5;hpb=af47dcbf0d148aba27ced058d6bfb83fd282b5c9;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 02f9c05184..14341c480f 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,353 @@ +2010-06-10 Tristan Gingold + + * 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 + + * targets.c (bfd_target_list): Remove hp/ux compiler work-around + as bfd requires an ANSI-C compiler. + +2010-06-09 Tristan Gingold + + * bfdio.c (bfd_bread): Fix the code to prevent reading past the + end of archive members. + +2010-06-08 Tristan Gingold + + * som.c (som_bfd_free_cached_info): Do not free relocations as + they were allocated with bfd_zalloc. + +2010-06-08 Tristan Gingold + + * vms-lib.c (_bfd_vms_lib_write_archive_contents): Increment + for the first block. + +2010-06-08 Tristan Gingold + + * 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 + + * vms-alpha.c (alpha_vms_bfd_final_link): Fix 64bit constant. + +2010-06-01 Ralf Wildenhues + + * configure: Regenerate. + +2010-06-01 Tristan Gingold + + * 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 + + * 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 + + * 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 + + 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 + + * 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 + + * 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 + + * 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 + Joseph Myers + Andrew Stubbs + + * 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 + + 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 + + * vms-alpha.c (add_symbol_entry): New function extrated from ... + (add_symbol): ... adjusted. + +2010-05-24 Tristan Gingold + + * vms-alpha.c (_bfd_vms_slurp_egsd): Fix indentation. + (alpha_vms_write_exec): Add a comment. + (_bfd_vms_write_egsd): Ditto. + (alpha_vms_convert_symbol): Remove a blank line. + +2010-05-21 Tristan Gingold + + * vms-alpha.c (_bfd_vms_slurp_eihs): Do not create a bfd section + for the GST. + +2010-05-21 Tristan Gingold + + * vms-alpha.c (_bfd_vms_slurp_eisd): Set SEC_HAS_CONTENTS and + SEC_LOAD if isect has data. + (vms_get_symbol_info): Refine the condition for 'T' type. + +2010-05-18 Tristan Gingold + + * vms-alpha.c (_bfd_vms_write_emh): New function. + (_bfd_vms_write_lmn): New function. + (_bfd_vms_write_eeom): Moved. + (hash_string): Likewise. + (_bfd_vms_length_hash_symbol): Likewise. + (_bfd_vms_write_ehdr): Code moved to _bfd_vms_write_emh + and _bfd_vms_write_lmn, and call these functions. + +2010-05-18 Tristan Gingold + + * vms-alpha.c (evax_bfd_print_dst): Handle INCR_LINUM_L. + Add details in the messages. + (evax_bfd_print_image): Change message. + +2010-05-18 H.J. Lu + + PR gas/11600 + * elf.c (_bfd_elf_make_section_from_shdr): Handle SHF_EXCLUDE + (elf_fake_sections): Likewise. + + * elf32-i370.c (i370_elf_section_from_shdr): Don't handle + SHF_EXCLUDE here. + * elf32-ppc.c (ppc_elf_fake_sections): Likewise. + +2010-05-17 Tristan Gingold + + * vms-alpha.c: Include esgps.h and eidc.h. + (_bfd_vms_slurp_egsd): Ignore SPSC and IDC sub-records. + (evax_bfd_print_egsd_flags): New function, extracted from ... + (evax_bfd_print_egsd): ..., calls evax_bfd_print_egsd_flags. Handles + EGSD__C_SPSC and EGSD__C_IDC. + 2010-05-14 Tristan Gingold * vms-alpha.c (alpha_vms_object_p): Accept header size of 0.