Commit Graph

87 Commits

Author SHA1 Message Date
Nathan Sidwell 6f10430691 * objdump.c (struct SFILE): Replace current pointer with pos
offset, rename size to alloc.
	(objdump_sprintf): Avoid unnecessary copies in the common case
	(disassemble_bytes): Keep sfile live throughout the
	function. Adjust usage appropriately.
2004-03-15 12:31:41 +00:00
Jakub Jelinek 68b3b8dc9e * objdump.c (disassemble_bytes): Subtract rel_offset from printed
reloc address.
	(disassemble_section): Set rel_offset to section->vma instead of
	pinfo->buffer_vma.
2003-12-22 10:49:59 +00:00
Kazu Hirata aaad4cf36a * ChangeLog-9197: Fix comment typos.
* coffgrok.c: Likewise.
	* filemode.c: Likewise.
	* objcopy.c: Likewise.
	* objdump.c: Likewise.
	* prdbg.c: Likewise.
	* stabs.c: Likewise.
	* unwind-ia64.c: Likewise.
2003-12-06 00:06:12 +00:00
Alan Modra 3b9ad1cc1f * objdump.c: Wrap long lines, init vars separately from decl.
(disassemble_section): Reset require_sec after call to
	find_symbol_for_address.
2003-11-19 08:21:14 +00:00
Nick Clifton 22a398e190 Add new field to disassemble_info structure: symbol_is_valid() and use it to
skip displaying arm elf mapping symbols in disassembly output.
2003-11-14 15:12:44 +00:00
Alan Modra 0f6cb37fa4 * objdump.c: Revert rev 1.81 commit. 2003-11-11 01:57:04 +00:00
Nick Clifton b2699c8b72 Remove "member" from verbose output of "-dv" in order to conform to POSIX
specification.
2003-11-10 17:28:33 +00:00
Nick Clifton f24ddbddc5 Use consistent error messages for missing files.
Detect directories where an ordinary file is expected.
2003-11-07 12:19:34 +00:00
Kazu Hirata 50c2245bd8 * ChangeLog: Fix typos.
* ChangeLog-9197: Likewise.
	* ChangeLog-9899: Likewise.
	* NEWS: Likewise.
	* ar.c: Fix comment typos.
	* arsup.c: Likewise.
	* coffgrok.c: Likewise.
	* debug.c: Likewise.
	* debug.h: Likewise.
	* dlltool.c: Likewise.
	* ieee.c: Likewise.
	* nm.c: Likewise.
	* objdump.c: Likewise.
	* prdbg.c: Likewise.
	* readelf.c: Likewise.
	* resrc.c: Likewise.
	* sysinfo.y: Likewise.
	* windres.c: Likewise.
2003-10-27 13:20:32 +00:00
Nathan Sidwell 29ca8dc5bb bfd/Changelog:
* libbfd-in.h (_bfd_link_section_stabs): Add string offset
	parameter.
	* cofflink.c (coff_link_add_symbols): Deal with split stab
	sections.
	* elflink.h (elf_link_add_object_symbols): Deal with split stab
	sections.
	* stabs.c (_bfd_link_section_stabs): Add string offset parameter.
	* libbfd.h: Regenerated.
ld/ChangeLog:
	* ldwrite.c (unsplittable_name): New.
	(clone_section): Strip existing numeric suffix. Only truncate names
	for coff targets.
	(split_sections): Use unsplittable_name.
binutils/ChangeLog:
	* objdump.c (read_section_stabs): Just read one section, return
	pointer to it. Add size parameter.
	(print_section_stabs): Add string offset parameter. Adjust.
	(struct stab_section_names): Add string offset member.
	(find_stabs_sections): Correct check for split section suffix,
	adjust read_section_stabs and print_section_stabs calls.
	(dump_stabs_section): Clear string_offset, free string table.
2003-10-07 08:53:42 +00:00
Andrew Cagney 92c2346c02 Index: opcodes/ChangeLog
2003-09-03  Andrew Cagney  <cagney@redhat.com>

	* dis-init.c (init_disassemble_info): New file and function.
	* Makefile.am (CFILES): Add "dis-init.c".
	(libopcodes_la_SOURCES): Add "dis-init.c".
	(dis-init.lo): Specify dependencies.
	* Makefile.in: Regenerate.

Index: include/ChangeLog
2003-08-27  Andrew Cagney  <cagney@redhat.com>

	* dis-asm.h (init_disassemble_info): Declare.
	(INIT_DISASSEMBLE_INFO): Redefine as a call to
	init_disassemble_info.
	(INIT_DISASSEMBLE_INFO_NO_ARCH): Ditto.

Index: binutils/ChangeLog
2003-09-03  Andrew Cagney  <cagney@redhat.com>

	* objdump.c: Refer to init_disassemble_info in comments.
	(disassemble_data): Replace INIT_DISASSEMBLE_INFO with
	init_disassemble_info.
2003-09-03 23:43:18 +00:00
Nick Clifton 155e0d2321 Use bfd_map_over_sections to walk section chain.
Do not dump the contents of an empty section.
2003-09-03 08:26:52 +00:00
Alan Modra d3ba05513b * objcopy.c: Remove unnecessary prototypes and casts.
* objdump.c: Remove unnecessary casts.
	* readelf.c: Convert to C90.  Remove unnecessary prototypes and casts.
	(get_osabi_name): Move so we don't need a forward declaration.
2003-08-05 14:40:54 +00:00
Alan Modra 43ac988152 * objdump.c (include_paths, include_path_count): New vars.
(usage): Describe --include.
	(long_options): Add "include".
	(add_include_path): New function.
	(struct print_file_list): Make filename const.  Add modname.
	(try_print_file_open, update_source_path): New functions.
	(show_line): Use them.
	(main): Handle 'I' option.  Don't check for NULL xrealloc arg.
2003-08-04 14:29:34 +00:00
Alan Modra fd7bb956ee * objdump.c: Remove unnecessary prototypes.
(disassemble_bytes): Add rel_offset parameter.  Simplify reloc skipping
	code, and print relocs when dump_dynamic_reloc_info.
	(disassemble_data): Read and handle dynamic relocs.  Correct reloc
	skip code.  Formatting.
	(dump_bfd): Don't dump dynamic relocs when disassembling.
2003-07-30 03:54:15 +00:00
Nick Clifton 46dca2e0ea Update to Iso C. 2003-07-29 15:40:37 +00:00
Nick Clifton f1e2bc6264 Do not ignore sections without the LOAD flag when disassemble_all is true.
Only print a message about disassembling a section if it contains some data.
2003-07-24 14:06:07 +00:00
Nick Clifton 51cdc6e056 * objdump.c: New command line option --debugging-tags.
* doc/binutils.texi: Document new command line option.
* prdbg.c: Code to print the debug info as tags compatible with ctags.
* budbg.h: Adjust prototype.
* NEWS: Mention new switch
2003-07-22 13:33:32 +00:00
Nick Clifton 31e0f3cd45 * objdump.c (main) :Accept multiple -M switch.
* doc/binutils.texi: Document that multiple -M switches are accepted and that
  a single -M switch can contain comma separated options.
* arm-dis.c (parse_arm_disassembler_option): Do not expect option string to be
  NUL terminated.
  (parse_disassembler_options): Allow options to be space or comma separated.
2003-07-18 11:34:41 +00:00
Nick Clifton 073fbac62c * objdump.c (main): Issue a warning message if multiple -M
switches are used.

	* doc/binutils.texi (objdump): Update documentation about -M
	option.
2003-07-17 17:02:46 +00:00
Alan Modra 1049f94e8e Correct spelling of "relocatable". 2003-06-25 06:40:27 +00:00
H.J. Lu 6e50c90cfe 2003-04-30 H.J. Lu <hjl@gnu.org>
* objdump.c (only): Change it to char **.
	(only_size): New.
	(only_used): New.
	(disassemble_data): Check only as an array.
	(dump_data): Likewise.
	(dump_relocs): Likewise.
	(main): Treat only as an array.
2003-05-01 00:40:41 +00:00
Alexandre Oliva 335a186916 * objdump.c (dump_data): Don't truncate the address to long; make
the width large enough, and uniform for all entries in a section.
2003-04-01 00:32:47 +00:00
Nick Clifton 06d86cf78e Move display_info() function into bucomm.c 2003-03-24 11:28:35 +00:00
Nick Clifton 98a91d6ae2 (disassemble_data): Use disasm_info.fprintf_func not printf for emitting new
lines.
2003-03-17 11:16:51 +00:00
Nick Clifton f0c8c24a69 Fix help messages about demangling styles 2003-02-13 09:53:07 +00:00
Alan Modra b34976b65a s/boolean/bfd_boolean/ s/true/TRUE/ s/false/FALSE/. Simplify
comparisons of bfd_boolean vars with TRUE/FALSE.  Formatting.
2002-11-30 08:39:46 +00:00
Alan Modra 8ab56b6f54 * objdump.c (dump_data): Correct addr_offset for opb != 1. 2002-10-21 02:18:58 +00:00
Alan Modra 6e1a7e9a11 * Makefile.am: Run "make dep-am".
* objdump.c: #include "bfdver.h".
	* version.c: Likewise.
	* Makefile.in: Regenerate.
	* config.in: Regenerate.
	* configure: Regenerate.
	* po/POTFILES.in: Regenerate.
2002-10-14 12:07:58 +00:00
Alan Modra fe0507eba5 * objdump.c (dump_bfd): Restore lines accidentally deleted in
last commit.
2002-08-28 12:32:06 +00:00
Nick Clifton 026df7c5e6 Add TMS320C4x support 2002-08-28 10:38:51 +00:00
Alan Modra a1df01d1e4 * nm.c (display_rel_file): Don't report "no symbols" as an error.
* objdump.c (slurp_symtab): Likewise.
	(slurp_dynamic_symtab): Likewise.
	(dump_symbols): Likewise.  Do print "no symbols" to stdout.
2002-08-26 10:14:15 +00:00
Nick Clifton b5e2a4f34a Replace 'gnu-new-abi' with 'gnu-v3' 2002-08-14 15:12:07 +00:00
Alan Modra a6637ec0ed * budemang.c: New file, "demangle" function.
* budemang.h: New file.
	* addr2line.c (translate_addresses): Use "demangle".
	* nm.c (print_symname): Likewise.
	* objdump.c (objdump_print_symname): Likewise.
	(dump_symbols): Likewise.  Also, don't use bfd_asymbol_name macro
	here since that obfuscates.
	* rdcoff.c: Don't #include demangle.h.
	* Makefile.am (CFILES): Add budemang.c, emul_aix.c,
	emul_vanilla.c.  Remove emul_$(EMULATION).c.  Sort.
	(HFILES): Add budemang.h.  Sort.
	(nm_new_SOURCES, objdump_SOURCES, addr2line_SOURCES): Add budemang.c.
	Run "make dep-am".
	* Makefile.in: Regenerate.
	* po/POTFILES.in: Regenerate.
2002-07-02 04:21:25 +00:00
Alan Modra b1f88ebebf * bucomm.c: Replace CONST with const.
* nm.c: Likewise.
	* objdump.c: Likewise.
2002-06-08 07:38:30 +00:00
Alan Modra 28b18af1b9 * objdump.c: Fix formatting. 2002-06-03 13:02:04 +00:00
Jakub Jelinek 13ae64f3c7 * elf.c (_bfd_elf_make_section_from_shdr): Set SEC_THREAD_LOCAL
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 13:12:53 +00:00
Kazu Hirata 0af11b59ba * filemode.c: Fix formatting.
* ieee.c: Likewise.
	* is-ranlib.c: Likewise.
	* is-strip.c: Likewise.
	* maybe-ranlib.c: Likewise.
	* maybe-strip.c: Likewise.
	* nlmconv.c: Likewise.
	* nm.c: Likewise.
	* not-ranlib.c: Likewise.
	* not-strip.c: Likewise.
	* objcopy.c: Likewise.
	* objdump.c: Likewise.
2002-05-21 19:34:58 +00:00
Thiemo Seufer 21611032e1 * objdump.c (dump_headers): Fix output formatting for ELF32
architectures in a BFD64 enabled toolchain.
	* bfd/bfd.c (bfd_get_arch_size): Remove bfd_set_error call for
	non-ELF targets.
2002-05-21 16:21:18 +00:00
Daniel Jacobowitz d7a283d444 2002-01-29 Daniel Jacobowitz <drow@mvista.com>
* objdump.c: Include "getopt.h" after "bucomm.h" so that
        __GNU_LIBRARY__ will be defined.
        * size.c: Likewise.
2002-01-29 16:46:37 +00:00
Nick Clifton 8b53311e10 Tidy up formatting of --help output. 2002-01-23 16:12:56 +00:00
Thiemo Seufer 65de42c0f9 * addr2line.c (main): Protoype.
* ar.c (main): Protoype.
	* nm.c (main): Protoype.
	* objcopy.c (main): Protoype.
	* objdump.c (main): Protoype.
	* size.c (main): Protoype.
	* strings.c (main): Protoype.
	* gasp.c (main): Protoype.
2001-12-18 08:22:30 +00:00
Alan Modra 6a8c2b0d5e * coffdump.c (PROGRAM_VERSION): Delete.
(main <'V'>): Call print_version.
	* srconv.c: Likewise.
	* sysdump.c: Likewise.
	* version.c (program_version): Remove.
	(print_version): Use BFD_VERSION_STRING.  Just print the current
	year in copyright message.
	* addr2line.c (program_version): Remove unused declaration.
	* objdump.c (display_target_tables): Use BFD_VERSION_STRING in
	place of BFD_VERSION.
	* Makefile.am (Makefile): Depend on bfd/configure.in
	(cplus-dem.o): Depend on Makefile.
	Run "make dep-am"
	* Makefile.in: Regenerate.
2001-10-02 06:02:12 +00:00
Richard Henderson 9e85c2a02f * objdump.c (dump_section_header): Dump SEC_ARCH_BIT_0. 2001-09-28 21:10:41 +00:00
Alan Modra 451dad9c58 * bucomm.c (fatal): Define using VPARAMS, VA_OPEN, VA_FIXEDARG,
VA_CLOSE.
	(non_fatal): Likewise.
	* objdump.c (objdump_sprintf): Likewise.
	* readelf.c (error): Likewise.
	(warn): Likewise.
2001-09-26 01:55:19 +00:00
H.J. Lu 3882b01078 Locale changes from Bruno Haible <haible@clisp.cons.org>. 2001-09-19 05:33:36 +00:00
Alan Modra e59b4dfbd2 * ar.c (print_contents): Cast args of bfd_seek to the right types.
Replace bfd_read call with call to bfd_bread.
	(extract_file): Likewise.

	* objdump.c (dump_section_header): Cast section->filepos to
	unsigned long to suit printf format string.
	* readelf.c (process_section_headers): Similarly for sh_offset.
	(process_unwind): Likewise.
2001-09-18 10:05:55 +00:00
H.J. Lu d8180c76ad 2001-08-10 H.J. Lu <hjl@gnu.org>
* nm.c (print_value): Add one arg, bfd *.
	(print_value): Replace fprintf_vma with bfd_fprintf_vma.
	(print_symbol_info_bsd): Also pass `abfd' to print_value ().
	(print_symbol_info_sysv): Likewise.
	(print_symbol_info_posix): Likewise.

	* objdump.c (dump_section_header): Replace printf_vma with
	bfd_printf_vma.
	(print_section_stabs): Likewise.
	(dump_bfd_header): Likewise.
	(objdump_print_value): Replace sprintf_vma with
	bfd_sprintf_vma.
	(disassemble_bytes): Likewise.
	(dump_reloc_set): Likewise.
2001-08-10 16:43:18 +00:00
Alan Modra 2863d58a18 * readelf.c: Add missing prototypes.
* objdump.c: Likewise.  Format existing prototypes.
2001-08-09 14:46:50 +00:00
John Healy 8f9d9bd9e9 2001-08-03 John Healy <jhealy@redhat.com>
Patch suggested by Frank Eigler <fche@redhat.com>.
        * objdump.c (disassemble_data): Fill in section member of the
        disasm_info structure.
2001-08-03 22:08:44 +00:00