Commit Graph

87 Commits

Author SHA1 Message Date
Ian Lance Taylor
9793039fc6 Based on patches from Jamie Lokier <jamie@rebellion.co.uk>:
* objdump.c: Include "demangle.h".
	(do_demangle): New static variable.
	(usage): Mention -C/--demangle.
	(long_options): Add "demangle".
	(objdump_print_symname): New static function.
	(objdump_print_addr_with_sym): Use objdump_print_symname.
	(disassemble_bytes): Likewise.
	(dump_reloc_set): Likewise.
	(dump_symbols): Demangle symbol name.
	(main): Handle -C.
	* binutils.texi, objdump.1: Document -C/--demangle.
1997-03-15 21:50:56 +00:00
Ian Lance Taylor
5c59269f50 * objdump.c (usage): Mention --no-show-raw-insn.
(long_options): Add "no-show-raw-insn".
	(disassemble_bytes): Handle --no-show-raw-insn.
	* binutils.texi, objdump.1: Document --no-show-raw-insn.
1997-03-15 20:37:45 +00:00
Ian Lance Taylor
0988ea9f3e Wed Feb 12 12:16:47 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* objdump.c (disassemble_bytes): Make output of raw instructions
	work better for non-standard values of bytes_per_chunk and
	bytes_per_line.

I also fixed the spacing in the last patch.
1997-02-12 17:18:38 +00:00
Martin Hunt
33a795ddf3 Thu Feb 6 14:14:59 1997 Martin M. Hunt <hunt@pizza.cygnus.com>
* objdump.c (disassemble_bytes): Added code to allow some control
 	over the way raw instructions are displayed.
1997-02-06 22:22:37 +00:00
Ian Lance Taylor
8275482ce0 Fri Jan 31 10:33:07 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* objdump.c (disassemble_data): Initialize `aux.require_sec'.
1997-01-31 15:34:12 +00:00
Ian Lance Taylor
0948199a7b tweak last change 1997-01-29 19:08:53 +00:00
Ian Lance Taylor
54f74247cb fix copyrights, add NEWS entry 1997-01-29 19:00:54 +00:00
Ian Lance Taylor
51b8c41677 * objdump.c (objdump_print_value): Add skip_zeroes parameter.
Change all callers.
	(objdump_print_addr_with_sym): Likewise.  Call objdump_print_value
	to print address.
	(objdump_print_addr): New static function.
	(objdump_print_address): Just call objdump_print_addr.
	(disassemble_bytes): Print real address, not function offset.
	Skip a certain number of leading zeroes.

	* objdump.c (disassemble_zeroes): New static variable.
	(usage): Mention --disassemble-zeroes.
	(long_options): Add "disassemble-zeroes".
	(disassemble_bytes): Check disassemble_zeroes.
Changes requested by LSI.
1997-01-29 18:58:04 +00:00
Ian Lance Taylor
b4aabb244e * objdump.c (disassemble_bytes): Don't skip zeroes if the
disassembler has told us that we are in a branch delay slot.
1997-01-28 21:47:52 +00:00
Ian Lance Taylor
7f924d5516 * version.c (print_version): New function.
* bucomm.h (print_version): Declare.
	* ar.c (program_version): Don't declare.
	(do_show_version): Remove.
	(usage): Add help parameter.  Print bug report address.
	(main): Set is_ranlib at start.  Check for --help and --version.
	Call print_version, not do_show_version.
	* nlmconv.c (program_version): Don't declare.
	(main): Call print_version.
	(show_usage): Print bug report address.
	* nm.c (program_version, print_version): Don't declare.
	(usage): Print bug report address.
	(main): Call print_version.
	* objcopy.c (program_version): Don't declare.
	(copy_usage): Print bug report address.
	(strip_usage): Likewise.
	(strip_main): Call print_version.
	(copy_main): Likewise.
	* objdump.c (program_version): Don't declare.
	(usage): Print bug report address.
	(main): Call print_version.
	* size.c (program_version): Don't declare.
	(usage): Print bug report address.
	(main): Call print_version.
	* strings.c (program_version): Don't declare.
	(main): Call print_version.
	(usage): Print bug report address.
	* Makefile.in: Update dependencies.
1996-10-01 19:10:40 +00:00
Stu Grossman
18f39dfa12 * objdump.c (dump_section_stabs): Fix test for stabs sections
ending with numbers.  This fixes a problem with .stab being
	confused with .stab.index.
1996-07-22 15:49:34 +00:00
Ian Lance Taylor
17aa82848e * objdump.c (compare_symbols): Sort symbols whose names start with
`.' after other symbols.  If no other decision can be made, sort
	symbols by name.
1996-04-23 16:58:18 +00:00
Ian Lance Taylor
38d7c0125d * objdump.c (dump_section_header): Print the SEC_LINK_ONCE flag
and the SEC_LINK_DUPLICATES field.
1996-03-29 21:34:34 +00:00
Ian Lance Taylor
7fc01fc90f * objdump.c (stab_name): Remove.
(struct stab_print): Remove.
	(stab_print): Remove.
	(dump_stabs): Don't initialize stab_name.
	(print_section_stabs): Call bfd_get_stab_name rather than using
	the stab_name array.
1996-03-11 17:37:38 +00:00
Michael Meissner
eb684d4827 Fix up warning on SunOS 1996-01-27 20:44:54 +00:00
Ian Lance Taylor
980ef031a0 shorten copyright line 1996-01-25 18:55:00 +00:00
Ian Lance Taylor
1efb2ef007 * objdump.c (dump_headers, dump_section_header): Change objdump -h
output to be simpler and to include section file offsets.
1996-01-25 18:52:59 +00:00
David Edelsohn
4e050e3b3e * objdump.c (disassemble_data): Pass fprintf to INIT_DISASSEMBLE_INFO. 1996-01-23 22:56:05 +00:00
David Edelsohn
38aa863c90 * objdump.c (disassemble_data): Handle unknown endianness. 1996-01-23 17:58:32 +00:00
David Edelsohn
458bbd1f1e Add new option --show-raw-insn.
* objdump.c (show_raw_insn): New global.
	(usage): Update.
	(long_options): Update.
	(disassemble_data): Set disasm_info.flags if --show-raw-insn.

	* objdump.c (disassemble_data): Set new arch,mach,endian fields in
	disasm_info.
1996-01-23 00:50:24 +00:00
Michael Meissner
71897943c4 update copyright 1996-01-11 22:50:52 +00:00
Michael Meissner
83f4323e5a Add support for SHT_ORDERED and SHF_EXCLUDE 1996-01-11 22:47:04 +00:00
Ian Lance Taylor
e1c145993e Implement generic debugging support. Implement a stabs reader and
a generic printer.
	* budbg.h, debug.c, debug.h, prdbg.c, rddbg.c, stabs.c: New files.
	* objdump.c: Include "debug.h" and "budbg.h".
	(dump_debugging): New global variable.
	(usage): Mention --debugging.
	(long_options): Add "debugging".
	(display_bfd): Handle --debugging.
	* Makefile.in (OBJDUMP_OBJS): New variable.
	($(OBJDUMP_PROG)): Use $(OBJDUMP_OBJS).
	* binutils.texi, objdump.1: Document --debugging.
1996-01-02 22:48:58 +00:00
Ian Lance Taylor
0140d7463d * objdump.c: Include <sys/types.h>. 1995-11-03 19:11:41 +00:00
Ian Lance Taylor
c5ba27591a * objdump.c (objdump_print_value): New static function.
(objdump_print_address): Use it.  If we need the right section for
	the symbol, and we can't find it, print an offset from the section
	rather than using a symbol from some other section.
PR 8251.
1995-10-30 19:34:02 +00:00
Ian Lance Taylor
db552bdadc * objdump.c (compare_symbols): Sort gnu_compiled and gcc2_compiled
symbols after other symbols with the same value.  Likewise for
	symbols which look like file names.
	(objdump_print_address): Always chose the first reasonable symbol
	with a given value.
PR 8148.
1995-10-05 21:31:58 +00:00
Ian Lance Taylor
aa21a2a9ec * objdump.c (start_address): New variable.
(stop_address): New variable.
	(usage): Mention --start-address and --stop-address.
	(OPTION_START_ADDRESS, OPTION_STOP_ADDRESS): Define.
	(long_options): Add "start-address" and "stop-address".
	(disassemble_data): Handle start_address and stop_address.
	(dump_data, dump_reloc_set): Likewise.
	(main): Don't set seenflag for -l.  Handle OPTION_START_ADDRESS
	and OPTION_STOP_ADDRESS.
	* objcopy.c (parse_vma): Move to bucomm.c.
	* bucomm.c (parse_vma): New function, moved in from objcopy.c.
	* bucomm.h (parse_vma): Declare.
	* binutils.texi, objdump.1: Document new objdump options.
PR 7983.
1995-09-13 22:38:55 +00:00
Ian Lance Taylor
746cffcf6a * objdump.c (disassemble_data): Add casts to avoid gcc warnings. 1995-09-12 16:39:12 +00:00
Steve Chamberlain
a65619c8fd Thu Aug 31 16:30:22 1995 steve chamberlain <sac@slash.cygnus.com>
* dlltool.c (add_indirect): New.
	(asm_prefix): New
	(gen_exp_file): Timestamp should be 0. Insert prefix when
	needed. New code for indirection.
	(gen_lib_file): Timestamp should be 0. Insert prefix
	when needed.
	(usage): Document --add-indirect.
	(main): Cope with new option.

	* objdump.c (dump_private_headers): New.
	(usage): Document new option.
	(long_option): Add private-headers.
	(dump_bfd_private_header): New.
	(main): Cope with new option.
1995-08-31 23:34:09 +00:00
Steve Chamberlain
13e4db2e3c * dlltool.c: Change names of generated files. .*.s-> -*.s
* objdump.c (dump_section_stabs):  Check for names
	which are supersets of selected names. binutils/7240.
1995-06-20 16:33:28 +00:00
Ian Lance Taylor
be1d162bb4 * bucomm.c (list_supported_targets): New function.
* bucomm.h (list_supported_targets): Declare.
	* ar.c (usage): Call list_supported_targets.
	* nm.c (usage): Likewise.
	* objcopy.c (copy_usage, strip_usage): Likewise.
	* objdump.c (usage): Likewise.
	* size.c (usage): Likewise.
	* strings.c (usage): Likewise.
PR 6345.
1995-03-06 18:49:17 +00:00
Ian Lance Taylor
2d0546410d * objdump.c (objdump_print_address): If we can't find a smaller
symbol in the right section, look for a larger one.
1994-09-16 16:33:18 +00:00
Ian Lance Taylor
8b129785e4 * objdump.c (struct objdump_disasm_info): Add field require_sec.
(objdump_print_address): If aux->require_sec, require that the
	symbol be in aux->sec even if HAS_RELOC is not set.
	(disassemble_data): Set aux.require_sec around the
	objdump_print_address call for the instruction address.
PR 3441.
1994-09-16 15:30:38 +00:00
Ian Lance Taylor
d5464baad0 * objdump.c (disassemble_all): New global variable.
(usage): Document --disassemble-all.
	(long_options): Add disassemble-all as a synonym for -D.
	(compare_symbols): Make pointers const.
	(compare_relocs): New static function.
	(disassemble_data): Rename disassemble to disassemble_fn to avoid
	shadowing.  If dump_reloc_info, print relocs along with
	disassembly.  Skip sections which are not SEC_CODE unless
	disassemble_all or only is set.
	(display_bfd): Don't call dump_relocs if disassemble is set.
	(main): Accept and handle -D.
	* binutils.texi: Document -D/--disassemble-all.
	* objdump.1: Likewise.
PR 5059.
1994-09-16 01:59:30 +00:00
Ian Lance Taylor
e4798f4093 * objdump.c (disassemble_data): Initialize prevline to 0. Make
prev_function non const.  Copy functionname into an malloc buffer
	when setting prev_function, instead of assuming that the string
	will last forever.
1994-09-14 20:21:21 +00:00
Ian Lance Taylor
28d1b01e43 * objdump.c (dump_section_header): Print the SEC_NEVER_LOAD flag. 1994-09-13 18:18:01 +00:00
Ian Lance Taylor
d5671c53d4 * objdump.c: Don't include elf/internal.h.
(bfd_elf_find_section): Don't declare.
	(read_section_stabs): No special handling for ELF.  Always read
	using BFD sections.
1994-06-20 20:31:46 +00:00
Ian Lance Taylor
105da05c1a * objdump.c (display_target_list): Remove unused local ok. 1994-06-03 15:00:55 +00:00
Ian Lance Taylor
de04bcebc0 * objdump.c (_DUMMY_NAME_): Don't define.
(display_target_list): Use tmpnam to get a file name rather than
	using _DUMMY_NAME_.  Unlink it when done.
	(display_info_table): Likewise.
1994-04-22 03:47:57 +00:00
Ian Lance Taylor
ebc9eebab0 * objdump.c: Do an ifdef on __GO32__, not unix. 1994-04-13 14:54:18 +00:00
Ian Lance Taylor
de3b08ac2e Added -D (--dynamic) option to nm and -T (--dynamic-syms) and -R
(--dynamic-reloc) arguments to objdump.
	* nm.c (dynamic): New static variable.
	(long_options): Added "dynamic".
	(usage): Mention -D and --dynamic.
	(main): Add D to getopt string.  Handle -D by setting dynamic.
	(display_rel_file): If dynamic is non-zero, read dynamic symbols
	rather than normal symbols.
	* nm.1: Updated for -D (--dynamic) option.
	* objdump.c (dump_dynamic_symtab): New global variable.
	(dump_dynamic_reloc_info): New global variable.
	(dynsyms, dynsymcount): New global variables.
	(usage): Mention -R, -T, --dynamic-syms and --dynamic-reloc.
	(long_options): Added "dynamic-reloc" and "dynamic-syms".
	(slurp_symtab): If no symbols, return rather than exit.
	(slurp_dynamic_symtab): New function.
	(display_bfd): Handle dump_dynamic_symtab and
	dump_dynamic_reloc_info.
	(dump_symbols): Take new dynamic argument, indicating whether to
	display dynamic symbols.
	(dump_relocs): Move most printing into dump_reloc_set.
	(dump_dynamic_relocs): New function.
	(dump_reloc_set): New function, extracted from dump_relocs.
	(main): Add R and T to getopt string.  Handle -T by setting
	dump_dynamic_symtab and -R by setting dump_dynamic_reloc_info.
	* objdump.1: Updated for -R (--dynamic-reloc) and -T
	(--dynamic-syms) options.
	* binutils.texi: Updated for new nm and objdump options.
1994-04-07 02:04:34 +00:00
Ian Lance Taylor
ae5d2ff573 Update for recent BFD changes to symbol and reloc reading. Rename
all uses of get_symtab_upper_bound to bfd_get_symtab_upper_bound.
	Also:
	* coffgrok.c (symcount): Change to long.
	(do_sections_p1): Check for error return from
	bfd_get_reloc_upper_bound.  Change relcount to long, and check for
	error from bfd_canonicalize_reloc.
	(coff_grok): Change storage to long.  Check for error from
	bfd_get_symtab_upper_bound and bfd_canonicalize_symtab.
	* nlmconv.c (main): Change symcount, newsymalloc, newsymcount, and
	i to long.  Check for error from bfd_get_symtab_upper_bound and
	bfd_canonicalize_symtab.
	(copy_sections): Change reloc_size and reloc_count to long.  Check
	for error from bfd_get_reloc_upper_bound and
	bfd_canonicalize_reloc.
	(mangle_relocs, i386_mangle_relocs, alpha_mangle_relocs): Change
	reloc_count_ptr argument to long *.  Make corresponding changes to
	variables loaded from *reloc_count_ptr.
	* nm.c (display_rel_file): Change storage and symcount to long.
	Check for errors from bfd_get_symtab_upper_bound and
	bfd_canonicalize_symtab.
	* objcopy.c (filter_symbols): Change symcount, src_count and
	dst_count to long.
	(copy_object): Change symcount to long.  Pass another argument to
	fprintf.  Check for errors from bfd_get_symtab_upper_bound and
	bfd_canonicalize_symtab.
	(copy_section): Change relcount to long.  Check for errors from
	bfd_get_reloc_upper_bound and bfd_canonicalize_reloc.
	(mark_symbols_used_in_relocations): Change relcount and i to long.
	Check for errors form bfd_get_reloc_upper_bound and
	bfd_canonicalize_reloc.
	* objdump.c (storage): Remove global variable.
	(symcount): Changed to long.
	(slurp_symtab): New local variable storage.  Check for errors from
	bfd_get_symtab_upper_bound and bfd_canonicalize_symtab.
	(remove_useless_symbols): Change return value and count to long.
	(objdump_print_address): Change min, max, thisplace and i to long.
	(disassemble_data): Change i to long.
	(dump_symbols): Change count to long.
	(dump_relocs): Change relcount to long.  Check for errors from
	bfd_ret_reloc_upper_bound and bfd_canonicalize_reloc.
	(display_info_table): Add casts when passing LONGEST_ARCH for
	printf %* argument.
1994-03-30 22:06:17 +00:00
Ian Lance Taylor
8f197c94e3 * objdump.c (display_file): Close each archive element after it
has been displayed.
1994-03-29 21:34:44 +00:00
David MacKenzie
250e36fe2d * objdump.c (dump_section_stabs, read_section_stabs,
print_section_stabs): Functions broken out of dump_stabs_1.
	Free the stabs and strings when done with them.
1994-02-03 22:21:28 +00:00
David MacKenzie
cef35d4882 * nlmconv.c (main), objcopy.c (copy_file): Print matching formats
if ambiguous match.
	* nm.c (display_file), size.c (display_bfd): Eliminate gotos.
	Print matching formats if there is an ambiguous match.  Use
	bfd_nonfatal instead of hardcoded error message if nothing matches.

	* arsup.c, ar.c, objdump.c: Use bfd_get_filename instead of
	abfd->filename.

	* nm.c (display_archive): New function, from code in display_file.
	(display_rel_file): Renamed from do_one_rel_file.

	* size.c: Indent.
	(display_archive): New function from code in display_file.
	(display_file): Check bfd_close error return.

	* strings.c (strings_object_file): Check bfd_check_format
	error return.

	* strings.c, objdump.c, size.c: Use bfd_nonfatal instead of bfd_perror.

	* bucomm.c: Delete references to exit_handler.  It wasn't set
	anywhere, and now that we're using the libiberty xmalloc, it
	wouldn't always get called before exiting.
	(list_matching_formats): Function moved from objdump.c.
	* bucomm.h: Declare it.

	* objdump.c (disassemble_data): Move some variable decls closer to
	their use.  Add some comments.  Replace a nested block with a
	return.
1994-02-03 00:25:30 +00:00
Stan Shebs
334d6e7603 Mon Jan 31 18:50:41 1994 Stan Shebs (shebs@andros.cygnus.com)
* objdump.c (display_target_list, display_info_table): Check that
	the bfd of the dummy output file is not null.
1994-02-01 02:52:22 +00:00
David MacKenzie
f7b839f7cd * objcopy.c (filter_bytes): New function.
(copy_section): Call it.
	(copy_options, copy_usage, copy_main): Add --byte option to
	activate it.  Appropriate the -b option (which was an undocumented
	synonym for -F) for it, also.  Add --interleave, -i option for
	additional control.
	(setup_section, copy_section, mangle_section): Renamed with no `s'
	on the end.
	* objcopy.1, binutils.texi: Document the new options.

	* objdump.c (display_target_tables, display_target_list):
	New functions broken out of display_info.
	Eliminate some magic constants.  Use more meaningful variable names.
	(dump_bfd_header): New function broken out of display_bfd.
	(dump_section_header): New function broken out of dump_headers.
	(remove_useless_symbols): Don't shadow global variable name with
	parameter.
	(objdump_print_address): Fix backward test.
1994-01-26 22:11:18 +00:00
David MacKenzie
abdcac0f52 * objdump.c (display_file): Remove call to list_matching_formats.
It would never be called.
	(list_matching_formats): Take an arg giving the list of matching
	formats.
	(display_bfd): Pass the arg, and get it filled in by calling
	bfd_check_format_matches instead of bfd_check_format.
	(display_info, display_info_table): target_vector was renamed to
	bfd_target_vector.
1994-01-25 13:27:56 +00:00
David MacKenzie
209e561041 * objdump.c (display_file): Remove call to list_matching_formats.
It would never be called.
	(list_matching_formats): Take an arg giving the list of matching
	formats.
	(display_bfd): Pass the arg, and get it filled in by calling
	bfd_check_format_matches instead of bfd_check_format.

	* binutils.texi (objdump): Note some limitations of -h section
	address printing.
1994-01-24 23:38:03 +00:00
Stan Shebs
3785367375 Minor MPW compatibility tweaks. 1994-01-23 00:31:14 +00:00