aboutsummaryrefslogtreecommitdiff
path: root/binutils/readelf.c
AgeCommit message (Collapse)AuthorFilesLines
2002-11-14Handle binaries with corrupt section or segment headersNick Clifton1-4/+13
2002-11-07Revert part of previous patch: Display unknown symbol types in decimal, not hex.Nick Clifton1-1/+1
2002-11-06oops - omitted fix to display unknown symbol type in hex.Nick Clifton1-1/+1
2002-11-06Add hex number to PROCESSOR-specific, OS-specific, and reserved symbol types.Nick Clifton1-9/+9
2002-11-04 * readelf.c (byte_get_little_endian): Comment typo fix.Alan Modra1-8/+45
(print_symbol): Constify "symbol" arg. Don't pass "symbol" to printf as the format string. (dump_relocations): Correct section sym names. (process_section_headers): Clear symtab_shndx_hdr. (read_and_display_attr_value): Don't pass indirect string to printf as the format string. (display_debug_frames): Indicate when zero terminator found. Decode DW_EH_PE_pcrel addresses.
2002-10-09 * readelf.c (display_debug_info): Ignore empty .rela.debug_infoDaniel Jacobowitz1-4/+7
sections. Allow relocations against the absolute symbol. Don't use the value in compunit.cu_abbrev_offset if we found a RELA relocation.
2002-10-012002-09-30 H.J. Lu <hjl@gnu.org>H.J. Lu1-1/+4
* readelf.c (get_machine_flags): Handle E_MIPS_MACH_4120, E_MIPS_MACH_5400 and E_MIPS_MACH_5500.
2002-09-12Handle DW_OP_GNU_push_tls_address.Nick Clifton1-8/+13
Synch up with the gcc's dwarf2.h
2002-08-29Remove redundant reference to E_V850EA_ARCH.Nick Clifton1-3/+0
2002-08-20 * readelf.c (parse_args): Change debug_dump_opt to static.Alan Modra1-1/+1
2002-08-17Revert previous delta - it was bogus.Nick Clifton1-2/+0
2002-08-16Put a newline after display an unknown dynamic type.Nick Clifton1-2/+9
2002-08-15 * readelf.c: Include elf/i370.h.Alan Modra1-0/+8
(dump_relocations): Handle EM_S370. (dynamic_segment_parisc_val): Print \n. (process_dynamic_segment <DT_BIND_NOW>): Here too.
2002-07-30 * readelf.c (OPTION_DEBUG_DUMP): Define.Jakub Jelinek1-2/+87
(options): Use it. (usage): Update help. (parse_args): Handle --debug-dump separately from -w. * doc/binutils.texi (readelf): Update documentation.
2002-07-18Add IP2K supportNick Clifton1-0/+10
2002-07-10 * readelf.c (get_dynamic_type): Handle DT_GNU_PRELINKED,Jakub Jelinek1-1/+107
DT_GNU_CONFLICT* and DT_GNU_LIBLISZ*. (get_section_type_name): Handle SHT_GNU_LIBLIST. (process_dynamic_segment): Handle DT_GNU_CONFLICTSZ, DT_GNU_LIBLISTSZ and DT_GNU_PRELINKED. (process_gnu_liblist): New. (process_file): Call it. * elf/common.h (SHT_GNU_LIBLIST, DT_GNU_PRELINKED, DT_GNU_CONFLICT*, DT_GNU_LIBLIST*): Define.
2002-07-01include/elf:Jason Thorpe1-1/+15
2002-07-01 Matt Thomas <matt@3am-software.com> * Rename EF_* to EF_VAX_*. bfd: 2002-07-01 Matt Thomas <matt@3am-software.com> * elf32-vax.c (elf32_vax_print_private_bfd_data): Change EF_* to EF_VAX_*. binutils: 2002-07-01 Matt Thomas <matt@3am-software.com> * readelf.c: Include "elf/vax.h". (guess_is_rela): Move EM_VAX from unknown to RELA case. (dump_relocations): Handle VAX relocations. (get_machine_flags): Handle VAX machine flags.
2002-06-30 * readelf.c (dump_relocations): Handle 68HC11/68HC12 relocations.Stephane Carrez1-0/+6
2002-06-182002-06-18 Dave Brolley <brolley@redhat.com>Dave Brolley1-0/+7
From Catherine Moore: * readelf.c (elf/frv.h): #include it. (guess_is_rela): Support EM_CYGNUS_FRV. (dump_relocations): Ditto. (get_machine_name): Ditto. * Makefile.am (readelf.o): add dependency on $(INCDIR)/elf/frv.h.
2002-06-18binutils/Jakub Jelinek1-6/+9
* readelf.c (get_file_header): Only read the first section header if e_shoff is non-zero. bfd/ * elfcode.h (elf_object_p): Sanity check eh_shoff == 0 implies e_shnum == 0. Only read the first section header if e_shoff is non-zero. Don't consider e_shstrndx if there are no sections.
2002-06-072002-06-07 H.J. Lu <hjl@gnu.org>H.J. Lu1-9/+47
* readelf.c (DW_CFA_GNU_args_size): Don't define. (DW_CFA_GNU_negative_offset_extended): Likewise. (DW_CFA_GNU_window_save): Likewise. (display_debug_frames): Handle DW_CFA_offset_extended_sf, DW_CFA_def_cfa_sf and DW_CFA_def_cfa_offset_sf.
2002-05-28Add DLX targetNick Clifton1-0/+7
2002-05-27Fix transaltion problems.Nick Clifton1-8/+13
2002-05-23 * elf.c (_bfd_elf_make_section_from_shdr): Set SEC_THREAD_LOCALJakub Jelinek1-7/+19
for symbols from SHF_TLS section. (_bfd_elf_print_private_bfd_data): Add PT_TLS. (elf_fake_sections): Set SHF_TLS for SEC_THREAD_LOCAL sections. (map_sections_to_segments): Build PT_TLS segment if necessary. (assign_file_positions_for_segments): Likewise. (get_program_header_size): Account for PT_TLS segment. (swap_out_syms): Set type of BSF_THREAD_LOCAL symbols and symbols from SEC_THREAD_LOCAL sections to STT_TLS. * reloc.c: Add 386 and IA-64 TLS relocs. * section.c (SEC_THREAD_LOCAL): Define. (SEC_CONSTRUCTOR_TEXT, SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS): Remove. * elflink.h (elf_link_add_object_symbols): Support .tcommon. (size_dynamic_sections): If DF_STATIC_TLS, set DF_FLAGS unconditionally. (struct elf_final_link_info): Add first_tls_sec. (elf_bfd_final_link): Set first_tls_sec. Compute elf_hash_table (info)->tls_segment. (elf_link_output_extsym): Handle STT_TLS symbols. (elf_link_input_bfd): Likewise. * syms.c (BSF_THREAD_LOCAL): Define. * bfd-in2.h: Rebuilt. * libbfd.h: Rebuilt. * elf32-i386.c (elf_i386_tls_transition, dtpoff_base, tpoff, elf_i386_mkobject, elf_i386_object_p): New functions. (elf_howto_table): Add TLS relocs. (elf_i386_reloc_type_lookup): Support TLS relocs. (elf_i386_info_to_howto_rel): Likewise. (struct elf_i386_link_hash_entry): Add tls_type. (struct elf_i386_obj_tdata): New. (elf_i386_hash_entry, elf_i386_tdata, elf_i386_local_got_tls_type): New macros. (struct elf_i386_link_hash_table): Add tls_ldm_got. (link_hash_newfunc): Clear tls_type. (elf_i386_check_relocs): Support TLS relocs. (elf_i386_gc_sweep_hook): Likewise. (allocate_dynrelocs): Likewise. (elf_i386_size_dynamic_sections): Likewise. (elf_i386_relocate_section): Likewise. (elf_i386_finish_dynamic_symbol): Likewise. (bfd_elf32_mkobject, elf_backend_object_p): Define. * elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add tprel_offset, dtpmod_offset, dtprel_offset, tprel_done, dtpmod_done, dtprel_done, want_tprel, want_dtpmod, want_dtprel. (elfNN_ia64_tprel_base, elfNN_ia64_dtprel_base): New functions. (ia64_howto_table): Add TLS relocs, rename R_IA64_LTOFF_TP22 to R_IA64_LTOFF_TPREL22. (elf_code_to_howto_index): Add TLS relocs. (elfNN_ia64_check_relocs): Support TLS relocs. (allocate_global_data_got): Account for TLS .got data. (allocate_dynrel_entries): Account for TLS dynamic relocations. (elfNN_ia64_install_value): Supprt TLS relocs. (set_got_entry): Support TLS relocs. (elfNN_ia64_relocate_section): Likewise. * config/obj-elf.c (elf_common): Renamed from obj_elf_common. (obj_elf_common): Call elf_common. (obj_elf_tls_common): New function. (elf_pseudo_tab): Support .tls_common. (special_sections): Add .tdata and .tbss. (obj_elf_change_section): Set SEC_THREAD_LOCAL for SHF_TLS sections. (obj_elf_parse_section_letters): Support T in section flags (SHF_TLS). (obj_elf_parse_section_letters): Include T in error message. * config/tc-ppc.c (ppc_section_letter): Likewise. * config/tc-alpha.c (alpha_elf_section_letter): Likewise. (tc_gen_reloc): Handle SEC_THREAD_LOCAL the same way as SEC_MERGE. * config/tc-sparc.c (md_apply_fix3): Likewise. * config/tc-i386.c (tc_i386_fix_adjustable): Add TLS relocs. Define them if not BFD_ASSEMBLER. (lex_got): Support @TLSGD, @TLSLDM, @GOTTPOFF, @TPOFF, @DTPOFF and @NTPOFF. (md_apply_fix3): Add TLS relocs. * config/tc-ia64.c (enum reloc_func): Add FUNC_DTP_MODULE, FUNC_DTP_RELATIVE, FUNC_TP_RELATIVE, FUNC_LT_DTP_MODULE, FUNC_LT_DTP_RELATIVE, FUNC_LT_TP_RELATIVE. (pseudo_func): Support @dtpmod(), @dtprel() and @tprel(). (ia64_elf_section_letter): Include T in error message. (md_begin): Support TLS operators. (md_operand): Likewise. (ia64_gen_real_reloc_type): Support TLS relocs. * testsuite/gas/i386/tlspic.s: New file. * testsuite/gas/i386/tlsd.s: New file. * testsuite/gas/i386/tlsnopic.s: New file. * testsuite/gas/i386/tlsd.d: New file. * testsuite/gas/i386/tlsnopic.d: New file. * testsuite/gas/i386/tlspic.d: New file. * testsuite/gas/i386/i386.exp: Add tlsd, tlsnopic and tlspic tests. * testsuite/gas/ia64/tls.s: New file. * testsuite/gas/ia64/tls.d: New file. * testsuite/gas/ia64/ia64.exp: Add tls test. * write.c (adjust_reloc_syms): Don't change symbols in SEC_THREAD_LOCAL sections to STT_SECTION + addend. * elf/common.h (PT_TLS, SHF_TLS, STT_TLS, DF_STATIC_TLS): Define. * elf/ia64.h (R_IA64_LTOFF_TPREL22): Renamed from R_IA64_LTOFF_TP22. * elf/i386.h: Add TLS relocs. * scripttempl/elf.sc: Add .rel{,a}.t{bss,data}, .tdata and .tbss. * ldlang.c (lang_add_section): Set SEC_THREAD_LOCAL for output section if necessary. Handle .tbss. (lang_size_sections): Clear _raw_size for .tbss section (it allocates space in PT_TLS segment only). * ldwrite.c (build_link_order): Build link order for .tbss too. * readelf.c (get_segment_type): Add PT_TLS. (get_elf_section_flags): Add SHF_TLS. (get_dynamic_flags): Optimize. Add DF_STATIC_TLS. (process_dynamic_segment): Use puts instead of printf. (get_symbol_type): Support STT_TLS. * objdump.c (dump_section_header): Remove SEC_CONSTRUCTOR_TEXT, SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS. Add SEC_THREAD_LOCAL.
2002-05-23 * rdcoff.c: Fix formatting.Kazu Hirata1-160/+160
* rddbg.c: Likewise. * readelf.c: Likewise. * rename.c: Likewise. * resbin.c: Likewise. * resrc.c: Likewise. * resres.c: Likewise.
2002-04-252002-04-25 Elena Zannoni <ezannoni@redhat.com>Elena Zannoni1-0/+1
* readelf.c (get_AT_name): Handle DW_AT_GNU_vector.
2002-04-16Remove unused function fetch_location_list.Nick Clifton1-13/+13
Catch corrupt core notes and display a warning message.
2002-03-212002-03-20 Daniel Berlin <dan@dberlin.org>Daniel Berlin1-3/+140
* readelf.c: Add support for displaying dwarf2 location lists. (do_debug_loc, debug_loc_section, debug_loc_size): New. (parse_args): Use 'O' as shorthand for displaying location list section. (process_section_headers): Handle debug_loc as well. (load_debug_loc): New. (free_debug_loc): New. (fetch_location_list): New. (display_debug_loc): New. (display_debug_info): Call load_debug_loc and free_debug_loc. (debug_displays): We can display .debug_loc now, too. (usage): Update usage string. (read_and_display_attr_value): Note location lists, but don't display them inline.
2002-02-21Fix typo.Nick Clifton1-1/+1
2002-02-20Display 2nd and 3rd reloc types for 64-bit MIPS.Nick Clifton1-24/+87
Narrow some fields for 80-char output.
2002-02-13bfd:Jason Thorpe1-0/+2
2002-02-13 Matt Fredette <fredette@netbsd.org> * elf32-m68k.c (elf32_m68k_print_private_bfd_data): Recognize EF_M68000. bintuls: 2002-02-13 Matt Fredette <fredette@netbsd.org> * readelf.c (get_machine_flags): Recognize EF_M68000. gas: 2002-02-13 Matt Fredette <fredette@netbsd.org> * config/tc-m68k.c (md_show_usage): No longer display a hard-coded "68020" for the default CPU, instead display the canonical name of the true, configured default CPU. (m68k_elf_final_processing): Mark objects for sub-68020 CPUs with the new EF_M68000 flag. include/elf: 2002-02-13 Matt Fredette <fredette@netbsd.org> * m68k.h (EF_M68000): Define.
2002-02-12Add DT_PPC64_OPD and DT_PPC64_OPDSZ dynamic tagsAlan Modra1-0/+2
2002-01-31Add support for OpenRISC 32-bit embedded processorNick Clifton1-19/+29
2002-01-23Tidy up formatting of --help output.Nick Clifton1-27/+30
2002-01-17 * readelf.c (get_machine_name): Handle EM_PPC64.Alan Modra1-0/+2
(guess_is_rela): Here too.
2002-01-16 * readelf.c (get_ppc64_dynamic_type): New.Alan Modra1-0/+16
(get_dynamic_type): Call it.
2002-01-09include/elf:Jason Thorpe1-7/+11
* common.h: Update copyright years. (NT_NETBSDCORE_PROCINFO): Define. (NT_NETBSDCORE_FIRSTMACH): Define. bfd: * elf.c: Update copyright years. (elfcore_grok_netbsd_note): Use NT_NETBSDCORE_PROCINFO and NT_NETBSDCORE_FIRSTMACH. Improve a comment. bintuils: * readelf.c (get_netbsd_elfcore_note_type): Use NT_NETBSDCORE_PROCINFO and NT_NETBSDCORE_FIRSTMACH.
2002-01-09* readelf.c: Update copyright years.Jason Thorpe1-4/+83
(get_note_type): Return a const char *. (get_netbsd_elfcore_note_type): New function. (process_note): Use get_netbsd_elfcore_note_type to get the note type string for NetBSD ELF core files.
2002-01-06 * readelf.c (get_ia64_segment_type): Add support for macros.Alan Modra1-0/+7
(get_segment_type): Add support for IA64 specific macros.
2001-12-20When --wide is used, do not truncate symbol names.Nick Clifton1-19/+46
2001-12-18 * readelf.c (get_machine_flags): Recognize header flags for ABI andThiemo Seufer1-22/+43
ASE extensions. More robust code for ISA checking. Ignore empty fields in header flags for GNU extensions.
2001-12-17 Support for more than 64k ELF sections.Alan Modra1-60/+128
include/elf/ChangeLog * external.h (Elf_External_Sym_Shndx): Declare. * internal.h (struct elf_internal_sym <st_shndx>): Make it an unsigned int. * common.h (SHN_BAD): Define. bfd/ChangeLog * configure.in: Bump bfd version. * configure: Regenerate. * elf-bfd.h (elf_size_info <swap_symbol_out>): 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. binutils/ChangeLog * readelf.c (symtab_shndx_hdr): New global. (SECTION_HEADER_INDEX): Define. (SECTION_HEADER_NUM): Define. (SECTION_HEADER): Define. (GET_ELF_SYMBOLS): Pass two params rather than three. (get_32bit_elf_symbols): Take file and section args. Read and use SHT_SYMTAB_SHNDX. (get_64bit_elf_symbols): Likewise. (dump_relocations): Use SECTION_HEADER to index "section_headers". (process_section_headers): Likewise. Use SECTION_HEADER_NUM too. Remember symtab_shdx_hdr. (process_program_headers): Scan from index 1 for segment map. (slurp_ia64_unwind_table): Use SECTION_HEADER to index "section_headers". (process_relocs): Likewise. Also adjust call to GET_ELF_SYMBOLS. (process_unwind): Likewise. (process_version_sections): Likewise. (process_symbol_table): Likewise. (display_debug_info): Likewise. (process_dynamic_segment): Fake up a symtab section for changed GET_ELF_SYMBOLS. (get_symbol_index_type): Check SHN_LOOS before SHN_LORESERVE. (process_program_headers): Kill signed/unsigned warning. (load_debug_str): Likewise. (display_debug_info): Likewise.
2001-12-13 * elf-bfd.h (enum elf_link_info_type): New.Jakub Jelinek1-0/+3
(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. * elf/common.h (PT_GNU_EH_FRAME): Define. * bfdlink.h (struct bfd_link_info): Add eh_frame_hdr field. * emultempl/elf32.em (finish): Supply output_bfd to bfd_elf*_discard_info. (OPTION_EH_FRAME_HDR): Define. (longopts): Add --eh-frame-hdr. (parse_args): Handle it. (list_options): Add --eh-frame-hdr to help. * emultempl/hppaelf.em (finish): Supply output_bfd to bfd_elf*_discard_info. * scripttempl/elf.sc (.eh_frame_hdr): Add. * readelf.c (get_segment_type): Support PT_GNU_EH_FRAME.
2001-12-11 * readelf.c (process_file_header): Print extended e_shnum andAlan Modra1-16/+41
e_shdtrndx values. Set elf_header values for same. (get_32bit_section_headers): Add "num" arg to read "num" headers. (get_64bit_section_headers): Likewise. (process_section_headers): Update calls. (get_file_header): Call get_32bit_section_headers or 64bit variant.
2001-12-08Index: bfd/ChangeLogGeoffrey Keating1-0/+7
2001-12-07 Geoffrey Keating <geoffk@redhat.com> Richard Henderson <rth@redhat.com> Corinna Vinschen <vinschen@redhat.com> * 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. Index: binutils/ChangeLog 2001-12-07 Geoffrey Keating <geoffk@redhat.com> * readelf.c (guess_is_rela): Add support for stormy16. (dump_relocations): Likewise. (get_machine_name): Likewise. Index: gas/ChangeLog 2001-12-07 Geoffrey Keating <geoffk@redhat.com> Richard Henderson <rth@redhat.com> * configure.in: Add support for xstormy16. * configure: Regenerated. * Makefile.am: Add support for xstormy16. * Makefile.in: Regenerated. * config/tc-xstormy16.c: New file. * config/tc-xstormy16.h: New file. Index: gas/testsuite/ChangeLog 2001-12-07 Geoffrey Keating <geoffk@redhat.com> matthew green <mrg@redhat.com> * gas/xstormy16/allinsn.d: New file. * gas/xstormy16/allinsn.exp: New file. * gas/xstormy16/allinsn.s: New file. * gas/xstormy16/allinsn.sh: New file. * gas/xstormy16/gcc.d: New file. * gas/xstormy16/gcc.s: New file. * gas/xstormy16/gcc.sh: New file. * gas/xstormy16/reloc-1.d: New file. * gas/xstormy16/reloc-1.s: New file. * gas/xstormy16/reloc-2.d: New file. * gas/xstormy16/reloc-2.s: New file. Index: ld/ChangeLog 2001-12-07 Geoffrey Keating <geoffk@redhat.com> Richard Henderson <rth@redhat.com> * Makefile.am: Add support for xstormy16. * configure.tgt: Add support for xstormy16. * Makefile.in: Regenerate. * emulparams/elf32xstormy16.sh: New file. * scripttempl/xstormy16.sc: New file. Index: opcodes/ChangeLog 2001-12-07 Geoffrey Keating <geoffk@redhat.com> * Makefile.am: Add support for xstormy16. * Makefile.in: Regenerate. * configure.in: Add support for xstormy16. * configure: Regenerate. * disassemble.c: Add support for xstormy16. * xstormy16-asm.c: New generated file. * xstormy16-desc.c: New generated file. * xstormy16-desc.h: New generated file. * xstormy16-dis.c: New generated file. * xstormy16-ibld.c: New generated file. * xstormy16-opc.c: New generated file. * xstormy16-opc.h: New generated file. Index: include/ChangeLog 2001-12-07 Geoffrey Keating <geoffk@redhat.com> * dis-asm.h (print_insn_xstormy16): Declare. Index: include/elf/ChangeLog 2001-12-07 Geoffrey Keating <geoffk@redhat.com> Richard Henderson <rth@redhat.com> * common.h (EM_XSTORMY16): Define. * xstormy16.h: New file.
2001-12-06Fixes to improve the ability to translate messages in the binutils toolsNick Clifton1-30/+30
2001-11-19Add -ws switch to display contents of .debug_str sectionsNick Clifton1-51/+150
2001-11-15 * readelf.c: Fix warnings without terminating newline.Andreas Schwab1-9/+9
2001-11-13 * readelf.c (read_and_display_attr_value): New function toRichard Henderson1-4/+24
handle DW_FORM_indirect. (read_and_display_attr): Use it.
2001-11-13Index: bfd/ChangeLogGeoffrey Keating1-11/+39
2001-11-11 Geoffrey Keating <geoffk@redhat.com> * dwarf2.c (decode_line_info): Properly deal with unknown standard opcodes. Index: binutils/ChangeLog 2001-11-11 Geoffrey Keating <geoffk@redhat.com> * readelf.c (display_debug_lines): Deal with unknown standard opcodes. Handle DW_LNS_set_prologue_end, DW_LNS_set_epilogue_begin, DW_LNS_set_isa. Index: include/elf/ChangeLog 2001-11-11 Geoffrey Keating <geoffk@redhat.com> * dwarf2.h (dwarf_line_number_ops): Add DWARF 3 opcodes.