X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=bfd%2FChangeLog;h=4695b895c30b3cba11f9520ee80cb844efd44b8f;hb=a3aa38ee6cb3da7e2759d852e1d4afccd9ca9aa3;hp=6d4a5bb565612f506fcebb9cacfeb3cd81dbe153;hpb=e3c8793a40881c55503b889833d60343ab61584a;p=binutils-gdb.git diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 6d4a5bb5656..4695b895c30 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,654 @@ +2002-01-04 Jakub Jelinek + + * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Don't crash if + CIE at .eh_frame start is removed due to no FDEs referencing it. + +2002-01-04 Jason Thorpe + + * config.bfd (x86_64-*-netbsd*): New target. + * configure.in (x86_64-*-netbsd*): Set COREFILE + to netbsd-core.lo. + * configure: Regenerated. + +2002-01-03 Tom Rix + + * xcofflink.c (_bfd_xcoff_bfd_final_link): Update .pad section ordering + for recent bfd_make_section_anyway change. + +2002-01-03 Nick Clifton + + * elf32-arm.h (elf32_arm_final_link_relocate): Handle + R_ARM_THM_PC11 reloc. + +2002-01-02 Nick Clifton + + * configure.in (LINGUAS): Add ja. + * configure: Regenerate. + * po/ja.po: Import from translation project's web site. + +2002-01-02 Nick Clifton + + * elf32-arm.h (elf32_arm_merge_private_bfd_data): Reformat error + messages to ease translation into other languages. + +2001-12-31 Jakub Jelinek + + * elflink.h (elf_bfd_final_link): Check if dynobj is not NULL + before looking for .eh_frame_hdr section. + * elf-eh-frame.c (_bfd_elf_write_section_eh_frame_hdr): If + .eh_frame_hdr section is being stripped from output, don't do + anything. + +2001-12-27 Tom Rix + + * coff-rs6000.c (xcoff_generate_rtinit): Clean data_buffer alloc/free. + * coff64-rs6000.c (xcoff64_generate_rtinit): Same. + (xcoff_write_archive_contents_big): Rewrite. + (xcoff_write_armap_big): Rewrite. + (xcoff_write_one_armap_big): Delete. + * libxcoff.h : Clean up. + +2001-12-21 Tom Rix + + * xcofflink.c (bfd_xcoff_link_generate_rtinit): New function. + Interface to linker for generation of __rtinit. + * libxcoff.h (struct xcoff_backend_data_rec): Add new ops to xcoff + backend to generate special linker symbol __rtinit. + * coff-rs6000.c (bfd_xcoff_backend_data, bfd_pmac_xcoff_backend_data) + : Add new rtinit ops + * coff64-rs6000.c (bfd_xcoff_aix5_backend_data, + bfd_xcoff_backend_data): Same. + * bfd-in.h: Add bfd_xcoff_link_generate_rtinit. + * bfd-in2.h : Regenerate. + +2001-12-21 Jakub Jelinek + + * elf32-sparc.c (_bfd_sparc_elf_howto_table): Fix dst_mask for + R_SPARC_DISP32. Support R_SPARC_PLT32. + (sparc_reloc_map): Add BFD_RELOC_16_PCREL and BFD_RELOC_SPARC_PLT32. + (elf32_sparc_check_relocs): Handle R_SPARC_PLT32. + (elf32_sparc_relocate_section): Likewise. + * elf64-sparc.c (sparc64_elf_howto_table): Fix dst_mask for + R_SPARC_DISP32. Support R_SPARC_PLT32 and R_SPARC_PLT64. + (sparc_reloc_map): Add BFD_RELOC_16_PCREL, BFD_RELOC_64_PCREL + and BFD_RELOC_SPARC_PLT32. + (sparc64_elf_check_relocs): Handle R_SPARC_PLT32 and R_SPARC_PLT64. + (sparc64_elf_relocate_section): Likewise. + * reloc.c (bfd_reloc_code_type): Add BFD_RELOC_SPARC_PLT32. + * bfd-in2.h, libbfd.h: Rebuilt. + +2001-12-20 Tom Rix + + * coffcode.h (coff_compute_section_file_positions): Add special AIX + loader alignment of text section. + +2001-12-20 Jason Thorpe + + * config.bfd (mips-dec-netbsd*): Delete alias for mips*el-*-netbsd*. + + * config.bfd (arm-*-netbsdelf*): Add target. + * configure.in: Include netbsd-core.lo for native arm-*-netbsd*. + * configure: Regenerate. + +2001-12-20 Alan Modra + + * elfcode.h (elf_slurp_symbol_table): Test elf_elfsections for NULL, + as can happen with a core file, before dereferencing. + +2001-12-19 Michael Snyder + + * elf32-i386.c (elf_i386_grok_psinfo): Fix copy-and-paste error: + target is i386 (not mips), and size of descdata is 124 (not 128). + +2001-12-19 Jakub Jelinek + + * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): If new_size + is 0, temporarily grow it to minimal CIE size. + (_bfd_elf_write_section_eh_frame): If input .eh_frame section would + end up empty, build a fake minimal CIE. + +2001-12-19 Steve Ellcey + + * config.bfd (bfd_elf32_ia64_hpux_big_vec): New vector for + ia64*-*-hpux* target. + (bfd_elf64_ia64_hpux_big_vec): Likewise. + * targets.c: Ditto. + * configure.in: Ditto. + * configure: Regenerate + * elfxx-ia64.c (elfNN_ia64_final_write_processing): Replace use of + alloca with bfd_malloc. + (get_local_sym_hash): Likewise. + (elfNN_hpux_post_process_headers): New function. + #include elfNN-target.h again with values for IA64 HP-UX vector. + +2001-12-18 Michael Snyder + + * elf.c (assign_file_positions_for_segments): Don't sort PT_NOTE + sections of corefiles. Also it makes no sense to sort if count == 1. + +2001-12-18 H.J. Lu + + * elf.c (_bfd_elf_copy_private_bfd_data): Also copy GP. + +2001-12-18 H.J. Lu + + * elf.c (_bfd_elf_copy_private_bfd_data): Update comments. + +2001-12-18 H.J. Lu + + * elf-bfd.h (_bfd_elf_copy_private_bfd_data): New. Prototype. + (_bfd_mips_elf_copy_private_bfd_data): Removed. + + * elf.c (_bfd_elf_copy_private_bfd_data): New. Copy e_flags in + the ELF header. + + * elf32-i370.c (??_elf_copy_private_bfd_data): Removed. + (bfd_elf??_bfd_copy_private_bfd_data): Removed. + * elf32-m32r.c: Likewise. + * elf32-m68k.c: Likewise. + * elf32-mcore.c: Likewise. + * elf32-mips.c: Likewise. + * elf32-ppc.c: Likewise. + * elf32-v850.c: Likewise. + * elf64-ppc.c: Likewise. + * elf64-sparc.c: Likewise. + * elfxx-ia64.c: Likewise. + + * elf64-mips.c (bfd_elf64_bfd_copy_private_bfd_data): Removed. + + * elfxx-target.h (bfd_elfNN_bfd_copy_private_bfd_data): Defined + to _bfd_elf_copy_private_bfd_data. + +2001-12-18 Martin Schwidefsky + + * elf32-s390 (elf_s390_check_relocs): Pass addend to + gc_record_vtentry. + * elf64-s390 (elf_s390_check_relocs): Likewise. + Fix by Andreas Jaeger . + +2001-12-18 Jason Thorpe + + * configure.host: Correctly match all NetBSD/mips + hosts. + +2001-12-18 matthew green + + * config.bfd (m68*-*-netbsdelf*): New target. + (m68*-*-netbsd): Also include bfd_elf32_m68k_vec. + (m68*-*-netbsdaout*): New alias for m68*-*-netbsd. + +2001-12-18 Jakub Jelinek + + * elflink.h (size_dynamic_sections): Skip anonymous version tag. + (elf_link_assign_sym_version): Don't count anonymous version tag. + +2001-12-18 Jakub Jelinek + + * elf-eh-frame.c (struct cie): Add make_lsda_relative. + (struct eh_cie_fde): Add lsda_encoding, lsda_offset, + make_lsda_relative. + (read_value, write_value): New. + (_bfd_elf_discard_section_eh_frame): Inicialize + lsda_encoding, lsda_offset and make_lsda_relative. + (_bfd_elf_eh_frame_section_offset): If make_lsda_relative, + request no dynamic reloc for LSDA field of FDE. + (_bfd_elf_write_section_eh_frame): Handle make_lsda_relative. + If a non-DW_EH_PE_absptr value is 0, don't adjust it by base + or pcrel. Fix address computation for DW_EH_PE_pcrel relocs. + Update LSDA field if LSDA encoding is DW_EH_PE_pcrel, because + . might have changed due to deleted FDE or CIEs. + +2001-12-18 Jakub Jelinek + + * elf-strtab.c (struct elf_strtab_hash_entry): Add u.next. + (last_eq): Remove. + (_bfd_elf_strtab_finalize): Don't use a hash table for last + character chains, instead use an array. + +2001-12-18 Jason Thorpe + + * elf.c (elfcore_netbsd_get_lwpid): New function. + (elfcore_grok_netbsd_procinfo): New function. + (elfcore_grok_netbsd_note): New function. + (elfcore_read_notes): Call elfcore_grok_netbsd_note to process + NetBSD ELF core file notes. + +2001-12-18 Alan Modra + + * elfcode.h (struct bfd_preserve): New. + (elf_object_p): Replace preserved_* vars with instance of above. + Save and restore arch_info pointer rather than arch, mach so that + more cases can be restored. Save and restore new section_tail, + section_htab structure, and init appropriately. Move "rest of + section header" code so that i_shdrp needs no NULL initialisation. + Free old section_htab on success. + * elfcore.h (elf_core_file_p): Likewise. + +2001-12-17 Tom Rix + + * coffcode.h (sec_to_styp_flags): Add STYP_EXCEPT and STYP_TYPCHK for + xcoff. + +2001-12-17 Jakub Jelinek + + * elf-bfd.h (elf_discarded_section): Define. + * elflink.h (elf_link_input_bfd): Use it. + (elf_reloc_symbol_deleted_p): Likewise. + + * elf64-alpha.c (elf64_alpha_relocate_section): Don't warn about + overflows for pc relative relocs against discarded sections. + +2001-12-17 Thiemo Seufer + + * elf32-mips.c (_bfd_mips_elf_relocate_section): Formatting. + * elf64-mips.c: Add most of the fixes and tweaks done in elf32-mips.c + over the last months. Add some code for mips16 handling. + (mips_elf64_check_mips16_stubs): New function. + (mips_elf64_stub_section_p): Likewise. + (mips_elf64_calculate_relocation): Change interface to support mips16. + (mips_elf64_perform_relocation): Likewise. + +2001-12-17 Alan Modra + + Support for more than 64k ELF sections. + * elf-bfd.h (elf_size_info ): Add shndx param. + (bfd_elf32_swap_symbol_in): Likewise. + (bfd_elf32_swap_symbol_out): Likewise. + (bfd_elf64_swap_symbol_in): Likewise. + (bfd_elf64_swap_symbol_out): Likewise. + (elf_reloc_cookie): Add locsym_shndx field. Make locsyms a PTR. + (elf_obj_tdata): Add num_elf_sections, symtab_shndx_hdr and + symtab_shndx_section. + (elf_numsections): Define. + (elf_symtab_shndx): Define. + * elf.c (setup_group): Use elf_numsections rather than header e_shnum. + (bfd_elf_find_section): Likewise. + (bfd_section_from_elf_index): Likewise. + (bfd_section_from_shdr): Likewise. Handle SHT_SYMTAB_SHNDX. + (bfd_section_from_r_symndx): Read symbol shndx extension, and + translate st_shndx for > SHN_HIRESERVE. + (assign_section_numbers): Skip reserved sections. Assign + symtab_shndx_section and elf_numsections. Exclude reserved + sections from e_shnum. Set up symtab_shndx_hdr. + (_bfd_elf_compute_section_file_positions): Handle symtab_shndx_hdr. + (map_sections_to_segments): Don't map eh_frame_hdr unless required. + (assign_file_positions_except_relocs): Use elf_numsections rather + than header e_shnum. Skip reserved sections and symtab_shndx_section. + (prep_headers): Set name for symtab_shndx_hdr. + (_bfd_elf_assign_file_positions_for_relocs): Use elf_numsections. + (_bfd_elf_write_object_contents): Likewise. Skip reserved sections. + (_bfd_elf_section_from_bfd_section): Check bfd_{abs,com,und}_section + first. Use elf_section_data if available. Use elf_numsections. + Start scan at index 1. + (copy_private_bfd_data ): Comment fixes. + (MAP_ONESYMTAB): Define above SHN_HIOS. + (MAP_DYNSYMTAB): Likewise. + (MAP_STRTAB): Likewise. + (MAP_SHSTRTAB): Likewise. + (MAP_SYM_SHNDX): New define. + (_bfd_elf_copy_private_symbol_data): Handle symtab_shndx_section. + (swap_out_syms): Swap out SHT_SYMTAB_SHNDX section too. + * elfcode.h (elf_swap_symbol_in): Add shndx param, and handle shndx + extension. + (elf_swap_symbol_out): Likewise. + (elf_object_p): Set elf_numsections, and use instead of e_shnum. + Initialialise reserved elf_elfsections to point at shdr[0]. Remove + redundant bfd_release calls. + (elf_slurp_symbol_table): Read symbol shndx extension, and use with + elf_swap_symbol_in. Translate st_shndx for > SHN_HIRESERVE too. + * elflink.h (elf_link_is_defined_archive_symbol): Read symbol shndx + extension, and use with elf_swap_symbol_in. + (elf_link_record_local_dynamic_symbol): Likewise. + (elf_link_add_object_symbols): Likewise. Also translate st_shndx + for elf sections > SHN_HIRESERVE. + (NAME(bfd_elf,size_dynamic_sections)): Adjust elf_swap_symbol_out + call. + (struct elf_final_link_info): Add locsym_shndx and symshndxbuf. + (elf_bfd_final_link): Allocate the above, and tidy code allocating + other buffers. Use elf_numsections instead of e_shnum. Adjust + elf_swap_symbol_out calls. + (elf_link_output_sym): Swap out symbol shndx extension too. + (elf_link_flush_output_syms): And flush them to disk. + (elf_link_output_extsym): Use SHN_BAD. Adjust elf_swap_symbol_out + calls. + (elf_gc_mark): Read symbol shndx extension, and use with + elf_swap_symbol_in. + (elf_link_input_bfd): Likewise, Translate st_shndx for elf sections + > SHN_HIRESERVE too. Use SHN_BAD. + (elf_reloc_symbol_deleted_p): Use symbol shndx extensions with + elf_swap_symbol_in. Translate st_shndx > SHN_HIRESERVE too. + (elf_bfd_discard_info): Read symbol shndx extension. Don't attempt + to continue after a bfd error. + * elf-m10200.c (mn10200_elf_relax_section): Only read local syms. + Stash them immediately to symtab_hdr->contents rather than later + in multiple places. Clean up afterwards. Read symbol shndx + extension, and use with swap_symbol_in. Translate SHN_UNDEF, + SHN_ABS, SHN_COMMON and elf sections > SHN_HIRESERVE to bfd + sections too. Remove dead code. + (mn10200_elf_relax_delete_bytes): Use symbol shndx extension + when swapping in symbols. Tidy code adjusting global syms. + Don't swap in global syms. + (mn10200_elf_symbol_address_p): Likewise. Remove extsyms param. + (mn10200_elf_get_relocated_section_contents): Read symbol shndx + extension, and use with swap_symbol_in. Rename "size" -> "amt" + to maximize code in common with other files. Translate st_shndx + for > SHN_HIRESERVE too. Remove dead code. + * elf-m10300.c (mn10300_elf_relax_section): Only read local syms. + Stash them immediately to symtab_hdr->contents rather than later + in multiple places. Clean up afterwards. Read symbol shndx + extension, and use with swap_symbol_in. Remove dead code. + (mn10300_elf_relax_delete_bytes): As for elf-m10200.c. + (mn10300_elf_symbol_address_p): Likewise. + (mn10300_elf_get_relocated_section_contents): Likewise. + * elf32-h8300.c (elf32_h8_relax_section): As for elf-m10300.c. + (elf32_h8_relax_delete_bytes): Likewise. + (elf32_h8_symbol_address_p): Likewise. + (elf32_h8_get_relocated_section_contents): Likewise. + * elf32-hppa.c (elf32_hppa_size_stubs): Read symbol shndx + extension, and use with swap_symbol_in. + * elf64-hppa.c (elf64_hppa_check_relocs): Likewise. + * elf32-i370.c (i370_elf_finish_dynamic_sections): Adjust call to + bfd_elf32_swap_symbol_out. + * elf32-m32r.c (m32r_elf_get_relocated_section_contents): Translate + elf sections > SHN_HIRESERVE too. + * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Only read + local syms. Read symbol shndx extension, and use with swap_symbol_in. + * elf32-mips.c (_bfd_mips_elf_final_write_processing): Use + elf_numsections rather than header e_shnum. + * elf32-sh.c (sh_elf_relax_section): As for elf-m10300.c. + (sh_elf_relax_delete_bytes): Likewise. + (sh_elf_get_relocated_section_contents): Likewise. Only read local + symbols. + * elf32-v850.c (v850_elf_symbol_processing): Use an unsigned int to + hold section index. Use elf_numsections rather than e_shnum. + Rename "index" -> "indx" to avoid shadowing warning. + (v850_elf_add_symbol_hook): Likewise. + * elf64-alpha.c (elf64_alpha_relax_section): Only read local syms. + Read symbol shndx extension, and use with swap_symbol_in. + * elf32-xstormy16.c (xstormy16_elf_relax_section): Likewise. + Translate SHN_COMMON and elf sections > SHN_HIRESERVE too. + * elfxx-ia64.c (elfNN_ia64_relax_section): Likewise. + (elfNN_ia64_aix_add_symbol_hook): Use elf_numsections. + + * elf-m10300.c (mn10300_elf_gc_mark_hook): Remove unnecessary checks + before calling bfd_section_from_elf_index on local syms. + * elf32-arm.h (elf32_arm_gc_mark_hook): Likewise. + * elf32-avr.c (elf32_avr_gc_mark_hook): Likewise. + * elf32-cris.c (cris_elf_gc_mark_hook): Likewise. + * elf32-d10v.c (elf32_d10v_gc_mark_hook): Likewise. + * elf32-fr30.c (fr30_elf_gc_mark_hook): Likewise. + * elf32-hppa.c (elf32_hppa_gc_mark_hook): Likewise. + * elf32-i386.c (elf_i386_gc_mark_hook): Likewise. + * elf32-m32r.c (m32r_elf_gc_mark_hook): Likewise. + * elf32-m68k.c (elf_m68k_gc_mark_hook): Likewise. + * elf32-mcore.c (mcore_elf_gc_mark_hook): Likewise. + * elf32-mips.c (_bfd_mips_elf_gc_mark_hook): Likewise. + * elf32-openrisc.c (openrisc_elf_gc_mark_hook): Likewise. + * elf32-ppc.c (ppc_elf_gc_mark_hook): Likewise. + * elf32-s390.c (elf_s390_gc_mark_hook): Likewise. + * elf32-sh.c (sh_elf_gc_mark_hook): Likewise. + * elf32-sparc.c (elf32_sparc_gc_mark_hook): Likewise. + * elf32-v850.c (v850_elf_gc_mark_hook): Likewise. + * elf32-xstormy16.c (xstormy16_elf_gc_mark_hook): Likewise. + * elf64-mips.c (mips_elf64_gc_mark_hook): Likewise. + * elf64-mmix.c (mmix_elf_gc_mark_hook): Likewise. + * elf64-ppc.c (ppc64_elf_gc_mark_hook): Likewise. + * elf64-s390.c (elf_s390_gc_mark_hook): Likewise. + * elf64-x86-64.c (elf64_x86_64_gc_mark_hook): Likewise. + +2001-12-17 Alan Modra + + Hash bfd sections for fast lookup and create. + * bfd.c (struct _bfd): Add section_htab, section_tail. + * libbfd-in.h (_bfd_delete_bfd): Declare. + (bfd_section_hash_newfunc): Declare. + * opncls.c (_bfd_new_bfd): Free memory on failure. Init + section_htab and section_tail. + (_bfd_delete_bfd): New function. + (bfd_openr): Use it. + (bfd_fdopenr): Likewise. + (bfd_openstreamr): Likewise. + (bfd_openw): Likewise. + (bfd_close): Likewise. + (bfd_close_all_done): Likewise. + (bfd_release): Comment. + * section.c (struct section_hash_entry): New. + (bfd_section_hash_newfunc): New function. + (section_hash_lookup): Define. + (bfd_section_init): New function, split out from + bfd_make_section_anyway. + (bfd_get_section_by_name): Lookup via hash table. + (bfd_get_unique_section_name): Likewise. + (bfd_make_section_old_way): Rewrite to use hash table. + (bfd_make_section_anyway): Likewise. + (bfd_make_section): Likewise. Return NULL for attempts to make + BFD_{ABS,COM,UND,IND}_SECTION_NAME. + (_bfd_strip_section_from_output): Adjust section_tail if needed. + * configure.in: Bump bfd version. + * configure: Regenerate. + * libbfd.h: Regenerate. + * bfd-in2.h: Regenerate. + +2001-12-15 Thiemo Seufer + + * elf64-mips.c (mips_elf64_link_hash_entry): New link hash. + (mips_elf64_high): New Function. + (mips_elf64_higher): Likewise. + (mips_elf64_highest): Likewise. + (mips_elf64_info_to_howto_rel): Likewise. + (mips_elf64_info_to_howto_rela): Likewise. + (mips_elf64_write_rel): Likewise. + (mips_elf64_write_rela): Likewise. + (mips_elf64_link_hash_newfunc): Likewise. + (mips_elf64_hi16_reloc): Likewise. + (mips_elf64_higher_reloc): Likewise. + (mips_elf64_highest_reloc): Likewise. + (mips_elf64_gprel16_reloc): Likewise. + (mips_elf64_gprel16_reloca): Likewise. + (mips_elf64_literal_reloc): Likewise. + (mips_elf64_gprel32_reloc): Likewise. + (mips_elf64_shift6_reloc): Likewise. + (mips_elf64_got16_reloc): Likewise. + (mips_elf64_assign_gp): Likewise. + (mips_elf64_final_gp): Likewise. + (gprel16_with_gp): Likewise. + (mips_elf64_additional_program_headers): Likewise. + (mips_elf64_link_hash_table_create): Likewise. + (mips_elf64_got_offset_from_index): Likewise. + (_mips_elf64_got_info): Likewise. + (mips_elf64_sign_extend): Likewise. + (mips_elf64_overflow_p): Likewise. + (mips_elf64_global_got_index): Likewise. + (mips_elf64_sort_hash_table_f): Likewise. + (mips_elf64_sort_hash_table): Likewise. + (mips_elf64_swap_msym_out): Likewise. + (mips_elf64_create_local_got_entry): Likewise. + (mips_elf64_local_got_index): Likewise. + (mips_elf64_got_page): Likewise. + (mips_elf64_got16_entry): Likewise. + (mips_elf64_local_relocation_p): Likewise. + (mips_elf64_next_relocation): Likewise. + (mips_elf64_create_dynamic_relocation): Likewise. + (mips_elf64_calculate_relocation): Likewise. + (mips_elf64_obtain_contents): Likewise. + (mips_elf64_perform_relocation): Likewise. + (mips_elf64_relocate_section): Likewise. + (mips_elf64_create_dynamic_sections): Likewise. + (mips_elf64_adjust_dynamic_symbol): Likewise. + (mips_elf64_always_size_sections): Likewise. + (mips_elf64_size_dynamic_sections): Likewise. + (mips_elf64_finish_dynamic_symbol): Likewise. + (mips_elf64_finish_dynamic_sections): Likewise. + (mips_elf64_gc_mark_hook): Likewise. + (mips_elf64_gc_sweep_hook): Likewise. + (mips_elf64_create_got_section): Likewise. + (mips_elf64_record_global_got_symbol): Likewise. + (mips_elf64_create_msym_section): Likewise. + (mips_elf64_allocate_dynamic_relocations): Likewise. + (mips_elf64_check_relocs): Likewise. + (mips_elf64_output_extsym): Likewise. + (mips_elf64_swap_gptab_in): Likewise. + (mips_elf64_swap_gptab_out): Likewise. + (gptab_compare): Likewise. + (mips_elf64_final_link): Likewise. + (prev_reloc_addend): Remenber addend of previous parts of a combined + reloc. + (ELF_MIPS_GP_OFFSET): New define. + (STUB_LW,STUB_MOVE,STUB_JALR,STUB_LI16): Likewise. + (MIPS_FUNCTION_STUB_SIZE): Likewise. + (mips_elf64_howto_rel): Fix HOWTO defines. + (mips_elf64_howto_rela): Likewise. + (mips_elf64_swap_reloca_out): Fix signedness. + (mips_elf64_be_swap_reloc_in): Use ELF64* instead of ELF32*. + (mips_elf64_be_swap_reloca_in): Likewise. + (mips_elf64_be_swap_reloc_out): Likewise. Preserve extended type info. + (mips_elf64_be_swap_reloca_out): Likewise. + +2001-12-15 Jakub Jelinek + + * elf-bfd.h (_bfd_elf_maybe_strip_eh_frame_hdr): New prototype. + * elf-eh-frame.c (struct eh_frame_hdr_info): Add strip. + (_bfd_elf_discard_section_eh_frame): Don't create .eh_frame_hdr + sec_info here. Free ehbuf. + (_bfd_elf_discard_section_eh_frame_hdr): Don't size the section + if hdr_info->strip. + (_bfd_elf_maybe_strip_eh_frame_hdr): New. + * elflink.h (size_dynamic_sections): Call it. + +2001-12-14 Alan Modra + + * elflink.h (elf_bfd_discard_info): Fix segfault when dynobj NULL. + +2001-12-13 Jakub Jelinek + + * elf-bfd.h (enum elf_link_info_type): New. + (struct bfd_elf_section_data): Remove stab_info and merge_info + fields, add sec_info and sec_info_type. + (struct elf_obj_tdata): Add eh_frame_hdr field. + (_bfd_elf_discard_section_eh_frame): New prototype. + (_bfd_elf_discard_section_eh_frame_hdr): Likewise. + (_bfd_elf_eh_frame_section_offset): Likewise. + (_bfd_elf_write_section_eh_frame): Likewise. + (_bfd_elf_write_section_eh_frame_hdr): Likewise. + * Makefile.am (BFD32_BACKENDS): Add elf-eh-frame.lo. + (BFD32_BACKENDS_CFILES): Add elf-eh-frame.c. + (elf-eh-frame.lo): New. + * Makefile.in: Rebuilt. + * configure.in (elf): Add elf-eh-frame.lo. + * configure: Rebuilt. + * elf.c (_bfd_elf_print_private_bfd_data): Support PT_GNU_EH_FRAME. + (map_sections_to_segments): Create PT_GNU_EH_FRAME if requested. + (get_program_header_size): Take into account PT_GNU_EH_FRAME + segment. + (_bfd_elf_rela_local_sym): Use sec_info_type and sec_info. + (_bfd_elf_rel_local_sym): Likewise. + (_bfd_elf_section_offset): Likewise. Call + _bfd_elf_eh_frame_section_offset too. + * elfxx-ia64.c (elfNN_ia64_relocate_section): Use sec_info_type and + sec_info. + * elf64-alpha.c (elf64_alpha_relocate_section): Likewise. + * elf-eh-frame.c: New file. + * elflink.h (elf_link_add_object_symbols): Don't optimize SHF_MERGE + .stab sections. Set sec_info_type, use sec_info instead + of merge_info and stab_info. + (elf_link_create_dynamic_sections): Create .eh_frame_hdr section + if --eh-frame-hdr. + (elf_bfd_final_link): Write .eh_frame_hdr section. + (elf_link_sec_merge_syms): Use sec_info_type and sec_info. + (elf_link_input_bfd): Likewise. + Call _bfd_elf_write_section_eh_frame to write .eh_frame sections. + (elf_bfd_discard_info): Add output_bfd argument. + Call _bfd_elf_discard_section_eh_frame and + _bfd_elf_discard_section_eh_frame_hdr. + (elf_section_ignore_discarded_relocs): Use sec_info_type, not section + names. + * bfd-in.h (bfd_elf32_discard_info, bfd_elf64_discard_info): Adjust + prototypes. + * bfd-in2.h (bfd_elf32_discard_info, bfd_elf64_discard_info): Likewise. + +2001-12-12 Richard Henderson + + * syms.c (_bfd_generic_read_minisymbols): Early return for + no symbols. Patch from FreeBSD folk; exact origin unknown. + +2001-12-11 Alan Modra + + * elfcode.h (elf_swap_ehdr_out): Adjust value written for e_shnum + and e_shstrndx if out of range. + (elf_object_p): Read extended values for e_shnum and e_shstrndx + from the first section header. Allocate space in elf_elfsections + for reserved sections and set to NULLs. + (elf_write_shdrs_and_ehdr): Set overflow fields in first section + header. Skip reserved sections in elf_elfsections. Remove + duplicate size calculation. + +2001-12-07 Geoffrey Keating + Richard Henderson + Corinna Vinschen + + * Makefile.am: Add support for xstormy16. + * archures.c: Add support for xstormy16. + * config.bfd: Add support for xstormy16. + * configure.in: Add support for xstormy16. + * reloc.c: Add support for xstormy16. + * targets.c: Add support for xstormy16. + * cpu-xstormy16.c: New file. + * elf32-xstormy16.c: New file. + * Makefile.in: Regenerated. + * bfd-in2.h: Regenerated. + * configure: Regenerated. + * libbfd.h: Regenerated. + +2001-12-07 Nick Clifton + + * elf.c (assign_file_positions_for_segments): Combine sentance + fragments into a single sentance in order to permit better + translation into foreign languages. + +2001-12-07 Jim Blandy + + * elf32-s390.c (elf32_s390_grok_prstatus): New function. + (elf_backend_grok_prstatus): Define. + +2001-12-07 Jakub Jelinek + + * elf32-sparc.c (elf32_sparc_relocate_section): Revert + 2001-09-14 change. + +2001-12-07 Jakub Jelinek + + * elf.c (_bfd_elf_rela_local_sym): Only call + _bfd_merged_section_offset if merge_info is non-NULL. + (_bfd_elf_rel_local_sym, _bfd_elf_section_offset): New. + * elf-bfd.h (_bfd_elf_rel_local_sym, _bfd_elf_section_offset): New + prototypes. + * elf32-arm.h (elf32_arm_final_link_relocate): Use + _bfd_elf_section_offset. + (elf32_arm_relocate_section): Use _bfd_elf_rel_local_sym. + * elf32-i386.c (elf_i386_relocate_section): Use + _bfd_elf_section_offset and _bfd_elf_rel_local_sym. + * elf32-sh.c (sh_elf_relocate_section): Likewise. + * elf32-sparc.c (elf32_sparc_relocate_section): Use + _bfd_elf_section_offset. + * elf32-cris.c (cris_elf_relocate_section): Likewise. + * elf32-hppa.c (elf32_hppa_relocate_section): Likewise. + * elf32-i370.c (i370_elf_relocate_section): Likewise. + * elf32-m68k.c (elf_m68k_relocate_section): Likewise. + * elf32-mips.c (mips_elf_create_dynamic_relocation): Likewise. + * elf32-ppc.c (ppc_elf_relocate_section): Likewise. + * elf32-s390.c (elf_s390_relocate_section): Likewise. + * elf64-alpha.c (elf64_alpha_relocate_section): Likewise. + * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. + * elf64-s390.c (elf_s390_relocate_section): Likewise. + * elf64-sparc.c (sparc64_elf_relocate_section): Likewise. + * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise. + * elfxx-ia64.c (elfNN_ia64_install_dyn_reloc): Likewise. + +2001-12-07 Alan Modra + + * elf32-hppa.c (clobber_millicode_symbols): Don't do anything if + already forced local. + 2001-12-05 Nick Clifton * elf32-arm.h (elf32_arm_merge_private_bfd_data): Combine @@ -122,7 +773,7 @@ * elflink.h (elf_bfd_discard_info): Skip if the input bfd isn't ELF. -Mon Nov 26 12:33:44 2001 Jeffrey A Law (law@cygnus.com) +2001-11-26 Jeffrey A Law (law@cygnus.com) * stabs.c (_bfd_discard_section_stabs): Use PARAMS in function prototypes. @@ -199,7 +850,7 @@ Mon Nov 26 12:33:44 2001 Jeffrey A Law (law@cygnus.com) * section.c (bfd_is_const_section): New macro. Return true if the given seciton is one of the special, constant, sections. - * bfd-in2.h: Regenerate. + * bfd-in2.h: Regenerate. * coffgen.c (coff_count_linenumbers): Use bfd_is_const_section. (coff_write_native_symbol): Use bfd_is_const_section. @@ -286,7 +937,7 @@ Mon Nov 26 12:33:44 2001 Jeffrey A Law (law@cygnus.com) 2001-11-14 Martin Schwidefsky * elf32-s390.c (elf_s390_relocate_section): Use the "unresolved_reloc" - scheme to get rid of an ugly complicated test. + scheme to get rid of an ugly complicated test. * elf64-s390.c (elf_s390_relocate_section): Likewise. 2001-11-14 Andreas Jaeger @@ -344,7 +995,7 @@ Mon Nov 26 12:33:44 2001 Jeffrey A Law (law@cygnus.com) * elf-strtab.c (_bfd_elf_strtab_finalize): Make first variable i size_t. Rename second i to j. -Sat Nov 10 08:56:02 2001 Jeffrey A Law (law@cygnus.com) +2001-11-10 Jeffrey A Law (law@cygnus.com) * binary.c: Include safe-ctype.h after bfd.h and sysdep.h. @@ -2320,7 +2971,7 @@ Sat Nov 10 08:56:02 2001 Jeffrey A Law (law@cygnus.com) * config.bfd : Select 64 bit xcoff for aix4.3 and above. -Wed Aug 29 02:27:36 2001 J"orn Rennecke +2001-08-29 J"orn Rennecke * Makefile.am (elf32-h8300.lo): New target. * config.bfd (h8300*-*-elf): New case. @@ -7964,10 +8615,10 @@ Wed Aug 29 02:27:36 2001 J"orn Rennecke * config.bfd: Add NetBSD/sparc64 support. -Fri Apr 21 13:20:53 2000 Richard Henderson - David Mosberger - Timothy Wall - Jim Wilson +2000-04-21 Richard Henderson + David Mosberger + Timothy Wall + Jim Wilson * Makefile.am (ALL_MACHINES): Add cpu-ia64.lo. (ALL_MACHINES_CFILES): Add cpu-ia64.c. @@ -8010,7 +8661,7 @@ Fri Apr 21 13:20:53 2000 Richard Henderson * dwarf2.c (concat_filename): Avoid string literal concatenation. * ieee.c (ieee_get_symtab): Don't initialise union in struct. -Mon Apr 17 19:14:36 2000 David Mosberger +2000-04-11 David Mosberger * Makefile.am (BFD64_BACKENDS): Mention coff-ia64.lo. (BFD64_BACKENDS_CFILES): Mention coff-ia64.c @@ -8115,7 +8766,7 @@ Mon Apr 17 19:14:36 2000 David Mosberger * coffcode.h (coff_set_arch_mach_hook): Eliminate warning on unitialized variable. -Fri Apr 7 15:56:57 2000 Andrew Cagney +2000-04-07 Andrew Cagney * configure.in (WARN_CFLAGS): Set to -W -Wall by default. Add --enable-build-warnings option. @@ -8150,7 +8801,7 @@ Fri Apr 7 15:56:57 2000 Andrew Cagney and restore it on failure. Release newly allocated tdata on failure. -Fri Apr 7 11:33:47 2000 Jim Wilson +2000-04-07 Jim Wilson * dwarf2.c (struct dwarf2_debug): New field dwarf_line_size. (decode_line_info): Set it. Report error if unit->line_offset is @@ -8195,7 +8846,7 @@ Fri Apr 7 11:33:47 2000 Jim Wilson (elf32_arm_print_private_bfd_data): Only decode EF_xxx flags if the EABI version number is unknown. -Wed Apr 5 22:04:20 2000 J"orn Rennecke +2000-04-05 J"orn Rennecke * reloc.c (_bfd_relocate_contents): Add BFD_RELOC_SH_LOOP_START and BFD_RELOC_SH_LOOP_END. @@ -8240,7 +8891,7 @@ Wed Apr 5 22:04:20 2000 J"orn Rennecke relative relocations for non-loaded sections in shared objects. (elf64_alpha_check_relocs): Similarly. -Mon Apr 3 13:37:15 2000 Hans-Peter Nilsson +2000-04-03 Hans-Peter Nilsson * aoutx.h (NAME(aout,reloc_type_lookup)): Add BFD_RELOC_8 and BFD_RELOC_16 to switch for extended relocs. @@ -8263,7 +8914,7 @@ Mon Apr 3 13:37:15 2000 Hans-Peter Nilsson on some targets. * ihex.c : Ditto. -Wed Mar 30 15:28:00 2000 Donald Lindsay +2000-03-30 Donald Lindsay * elf32-m32r.c (m32r_elf_generic_reloc): new function. All HOWTO references to bfd_elf_generic_reloc, that have @@ -8575,7 +9226,7 @@ Wed Mar 30 15:28:00 2000 Donald Lindsay name of the libtool directory. * Makefile.in: Rebuild. -Fri Feb 25 18:39:26 2000 Rodney Brown (RodneyBrown@pmsc.com) +2000-02-25 Rodney Brown (RodneyBrown@pmsc.com) * som.c (SOM_HOWTO): Define. (som_hppa_howto_table): Use it. @@ -8743,7 +9394,7 @@ Fri Feb 25 18:39:26 2000 Rodney Brown (RodneyBrown@pmsc.com) Rs6kCorData): Use above defines to adapt code to use AIX 4.3's core_dumpx structure. -Thu Feb 17 00:04:48 2000 J"orn Rennecke +2000-02-17 J"orn Rennecke * archures.c (bfd_mach_sh2, bfd_mach_sh_dsp): New macros. (bfd_mach_sh3_dsp): Likewise. @@ -8814,7 +9465,7 @@ Thu Feb 17 00:04:48 2000 J"orn Rennecke SECTION_RELATIVE_ABSOLUTE_SYMBOL_P if defined to determine whether symbol index should be set to -1. -Thu Feb 10 20:07:50 GMT 2000 Toshiyasu Morita (toshi.morita@sega.com) +2000-02-10 Toshiyasu Morita (toshi.morita@sega.com) * coff-sh.c (USES1_REG, USES2_REG, SETS1_REG, SETS2_REG, USESF1_REG, USESF2_REG, SETSF1_REG, SETSF2_REG): New macros.