Commit graph

602 commits

Author SHA1 Message Date
Ian Lance Taylor
90e5f484e5 * ieee.c (ieee_regno_to_genreg): Convert register numbers for m68k
and i960.
	(ieee_genreg_to_regno): Likewise.
1996-02-14 20:13:13 +00:00
Ian Lance Taylor
fe1dc0a656 * ieee.c: Extensive changes to write code to put types in the
global type block when possible, to output ranges for all memory
	occupied by the module, and to improve efficiency.
1996-02-12 19:41:47 +00:00
Ian Lance Taylor
1dcea5a7df * ieee.c (ieee_start_compilation_unit): Clear modified and
modified_alloc fields of info.
1996-02-07 19:20:35 +00:00
Ian Lance Taylor
36fb98bec6 * configure.in: Check for --enable-shared. Substitute new
variables BFDLIB and OPCODES.
	* configure: Rebuild.
	* Makefile.in (BFDLIB): Set to @BFDLIB@.
	(OPCODES): Set to @OPCODES@.
1996-02-07 19:19:22 +00:00
Ian Lance Taylor
ae9120f917 * configure: Regenerate. 1996-02-02 21:50:53 +00:00
Steve Chamberlain
904fe36b83 * configure.in (i[3-6]86-*-win32): Becomes i[3-6]86-*-cygwin32.
(powerpc*-*-cygwin32): New.
	* configure: Regenerated.
1996-02-01 18:08:36 +00:00
Ian Lance Taylor
96c9632119 Wed Jan 31 13:22:03 1996 Richard Henderson <rth@tamu.edu>
* Makefile.in (distclean): Remove $(DEMANGLER_PROG).1.
1996-01-31 18:24:21 +00:00
Ian Lance Taylor
5da470b2bb Based on patches from H J Lu <hjl@zoom.com>:
* objcopy.c (remove_leading_char): New static variable.
	(OPTION_REMOVE_LEADING_CHAR): Define.
	(copy_usage): Mention --remove-leading-char.
	(filter_symbols): If remove_leading_char, and the first character
	of a global symbol matches the symbol leading char of the BFD,
	remove the first character.
	(copy_object): Filter the symbols if remove_leading_char is set.
	(copy_main): Handle --remove-leading-char.
	* binutils.texi, objcopy.1: Document --remove-leading-char.
1996-01-29 22:39:21 +00:00
Ian Lance Taylor
85d4b87066 * binutils.texi (nm): Improve documentation on symbol types.
(objdump): Reference the stabs manual from the discussion of the
	--stabs option.
1996-01-26 16:54:35 +00:00
Raymond Jou
e069197a14 * mpw-make.sed: Add a "stamps" target. 1996-01-25 19:38:14 +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
Ian Lance Taylor
fab21c7850 * ieee.c (ieee_read_cxx_class): Don't multiply voffset by 4.
(struct ieee_write_type): Add name field.
	(struct ieee_type_class): Remove name field.  Change all uses to
	use new name field in type instead.
	(struct ieee_name_type): Likewise.
	(ieee_start_struct_type): Initialize name field of type.
	(ieee_start_class_type): Don't initialize classdef entry of tag.
	(ieee_class_method_var): Don't adjust voffset.
	(ieee_end_class_type): Likewise.
	(ieee_tag_type): Initialize new name field of type.
	(ieee_typdef): Set name after copying in type information.
1996-01-25 00:26:19 +00:00
Ian Lance Taylor
526fed067e * ieee.c (struct ieee_modified_type): Define.
(struct ieee_handle): Add modified and modified_alloc fields.
	(ieee_get_modified_info): New static function.
	(ieee_pointer_type): Cache type index.
	(ieee_const_type): Likewise.
	(ieee_volatile_type): Likewise.
1996-01-24 22:51:32 +00:00
Ian Lance Taylor
76e45938c3 * ieee.c (ieee_define_named_type): When creating a tag for an
anonymous struct, copy the name into memory.
	(ieee_tag_type): Likewise.
	* debug.c (debug_write_type): Only check and set id field for an
	unnamed object.
	(debug_write_class_type): Likewise.
1996-01-24 21:10:55 +00:00
Ian Lance Taylor
2466210755 * ieee.c: Various changes to write out types for functions and
references, and to not write out unnecessary function types.
1996-01-24 19:40:21 +00:00
Ian Lance Taylor
74ae0c978d * ieee.c (struct ieee_var): Remove variable field. Add kind
field, and define some enum constants for it.
	(parse_ieee_ty): Set kind field of variable for 'x' and 'X' types.
	(parse_ieee_atn): Make an indirect slot for an external variable,
	although we otherwise don't record it.  Set kind field rather than
	variable field of pvar.
	(ieee_read_cxx_class): Try to get the type of a static member.
	(ieee_read_reference): Check kind field rather than variable
	field.
1996-01-24 17:08:25 +00:00
Ian Lance Taylor
c5baf5d9af fix ChangeLog entry 1996-01-24 01:27:44 +00:00
Ian Lance Taylor
501be095c9 * debug.h (enum debug_var_kind): Add DEBUG_VAR_ILLEGAL.
(enum debug_parm_kind): Add DEBUG_PARM_ILLEGAL.
	* debug.c (debug_get_parameter_types): Handle DEBUG_KIND_FUNCTION.
1996-01-24 01:26:49 +00:00
David Edelsohn
4e050e3b3e * objdump.c (disassemble_data): Pass fprintf to INIT_DISASSEMBLE_INFO. 1996-01-23 22:56:05 +00:00
Ian Lance Taylor
b96e1ce4f8 * ieee.c: Various changes to write out definitions of C++ classes. 1996-01-23 20:59:46 +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
Ian Lance Taylor
4207b304c9 * ieee.c: Extensive changes to pass a single info argument around
in the reading routines, rather than several arguments.  Add code
	to read C++ debugging records.
1996-01-23 00:35:25 +00:00
Ian Lance Taylor
267e52989e * debug.h (struct debug_write_fns): Remove ellipsis_type. Add int
and boolean parameters to function_type.  Add boolean parameter to
	method_type.
	(debug_make_ellipsis_type): Don't declare.
	(debug_make_function_type): Add debug_type * and boolean
	parameters.  Change all callers.
	(debug_make_method_type): Add boolean parameter.  Change all
	callers.
	(debug_get_parameter_types): Add boolean * parameter.  Change all
	callers.
	(debug_get_target_type): Declare.
	* debug.c (struct debug_function_type): Add fields arg_types and
	varargs.
	(struct debug_method_type): Add field varargs.
	(debug_ellipsis_type, ELLIPSIS_P): Remove.
	(debug_make_ellipsis_type): Remove.
	(debug_make_function_type): Add arg_types and varargs parameters.
	(debug_make_method_type): Add varargs parameter.
	(debug_get_parameter_types): Add pvarargs parameter.
	(debug_get_target_type): New function.
	(debug_write_type): In case DEBUG_KIND_FUNCTION, push argument
	types and pass count to function_type.  In DEBUG_KIND_METHOD, use
	a signed int for the count, don't call ellipsis_type, and pass
	varargs to method_type.
	* stabs.c (struct stab_demangle_info): Add varargs field.
	(stab_demangle_argtypes): Add pvarargs parameter.  Change all
	callers.
	(stab_demangle_args): Likewise.
	(stab_demangle_type): In case 'F', pick up argument types.
	* prdbg.c (pr_ellipsis_type): Remove.
	(pr_function_type): Add argcount and varargs parameters.
	(pr_method_type): Add varargs parameter.
	* ieee.c (ieee_ellipsis_type): Remove.
	(ieee_function_type): Add argcount and varargs parameters.
	(ieee_method_type): Add varargs parameter.  Remove most of
	function body, and just call ieee_function_type.
1996-01-19 19:44:00 +00:00
Ian Lance Taylor
d3023c8f19 * stabs.c: Include "demangle.h". Added several new static
functions not listed below to demangle argument types; they are
	all called via stab_demangle_argtypes.
	(finish_stab): If the kind of an undefined tag is
	DEBUG_KIND_ILLEGAL, use DEBUG_KIND_STRUCT instead.  Warn if there
	are any pending variable.
	(parse_stab): Don't close the function when the block depth goes
	to zero.  Pass value to debug_end_function.
	(parse_stab_string): In case 'T', pass the name to
	parse_stab_type.
	(parse_stab_type): In case 'x', use stab_find_tagged_type.  In
	case '#', handle functions with variable numbers of arguments.
	(parse_stab_struct_type): Add tagname parameter.  Change all
	callers.
	(parse_stab_members): Add tagname and typenums parameters.  Change
	all callers.  If the type of a method is a stub, call
	parse_stab_argtypes to demangle the argument types and get the
	physical name of the function.
	(parse_stab_argtypes): New static function.
	(stab_record_variable): For a DEBUG_GLOBAL or DEBUG_STATIC
	variable, call debug_record_variable immediately.
	(stab_find_tagged_type): New static function.
1996-01-19 18:06:59 +00:00
Kim Knuttila
00d6548424 Changed section orders for alignment purposes 1996-01-18 22:48:53 +00:00
J.T. Conklin
264dac7c64 * srconv.c (wr_du): Set du.stackfrmt to 0.
(wr_un, wr_sc): Emit all sections, even those with 0 size.
1996-01-17 22:27:12 +00:00
J.T. Conklin
9ac5703369 * srconv.c (wr_hd): Space size within segment was being
stored in segment identifier field.
1996-01-17 00:17:13 +00:00
Stan Shebs
dda8716b94 * mpw-config.in (BUILD_NLMCONV, BUILD_SRCONV, SYSINFO_PROG,
BUILD_DLLTOOL): Put definitions for these into makefile when
	configuring, instead of always clearing in mpw-make.sed.
	* mpw-make.sed: Edit out any host_alias or target_alias settings,
	fix pathname to BFD internal include files, remove dependency
	calculation rules.
1996-01-16 20:12:17 +00:00
Michael Meissner
83f4323e5a Add support for SHT_ORDERED and SHF_EXCLUDE 1996-01-11 22:47:04 +00:00
Ian Lance Taylor
f2165194a4 * objcopy.c (filter_symbols): NULL terminate the output symbols.
(copy_object): Allocate space for a possible extra NULL pointer.
1996-01-11 17:34:12 +00:00
Ian Lance Taylor
36302909f2 * debug.c (debug_make_undefined_tagged_type): Make sure we are
given a kind of type we can handle.
	(debug_write_type): Handle undefined enums and structs.
	(debug_write_class_type): Handle undefined classes.
	* prdbg.c (pr_enum_type): Handle an undefined enum.
Also comment changes to debug.h.
1996-01-11 16:47:10 +00:00
Ian Lance Taylor
5207a907b6 * Makefile.in: (ALLOCA, MALLOC): Remove variables.
(ADDL_LIBS): Remove $(MALLOC) from definition.
	* alloca.c, gmalloc.c: Remove.
1996-01-10 20:43:39 +00:00
Ian Lance Taylor
0374a10562 * Makefile.in: Updated dependencies. 1996-01-10 20:33:36 +00:00
Ian Lance Taylor
3d01586485 * ieee.c: Add global function write_ieee_debugging_info and a
bunch of static functions and structs used to write out IEEE
	debugging information.
	* budbg.h (write_ieee_debugging_info): Declare.

	* ieee.c (struct ieee_type): Add pslot field.
	(enum builtin_types): Define.
	(ieee_builtin_type): For a pointer, return a pointer to the named
	type.  Use enum values rather than numbers.
	(ieee_alloc_type): New static function.
	(ieee_read_type_index): Use ieee_alloc_type.
	(parse_ieee_bb): Likewise.
	(parse_ieee_ty): Likewise.  Use ieee_builtin_type for array range,
	rather than making a new integer type.  Store the new type in the
	slot, if there is one.
	(parse_ieee_atn): Treat ATN10 as defining a register variable.
	(ieee_regno_to_genreg): Rename from ieee_regno_to_gen.  Change all
	callers.
	(ieee_genreg_to_regno): New static function.
1996-01-08 23:20:00 +00:00
Ian Lance Taylor
f516798679 * ieee.c: New file with code to read IEEE debugging information.
* budbg.h (parse_ieee): Declare.
	* rddbg.c (read_debugging_info): Handle IEEE flavour files.
	(read_ieee_debugging_info): New static function.
	* Makefile.in: Rebuild dependencies.
	(CFILES): Add ieee.c.
	(OBJDUMP_OBJS): Add ieee.o.
1996-01-04 21:35:04 +00:00
Jeff Law
dcd6706b1a * nm.c ( long_options): Add "--defined-only" option.
(usage): Update for new "--defined-only" option.
        (filter_symbols): Handle "--defined-only".
Part of mentor vm work.
1995-12-30 17:02:06 +00:00
Ian Lance Taylor
428e7fb4c2 * arparse.y: Include "bucomm.h", not <sysdep.h>.
* nlmheader.y: Don't include "sysdep.h".
1995-12-29 21:02:02 +00:00
Ian Lance Taylor
5d0bc3b9df * nm.c (print_symdef_entry): Check return value of
bfd_get_elt_at_index.
1995-12-26 23:20:35 +00:00
Michael Meissner
7920c1d195 Build dlltool if config is powerpc*-*-win* 1995-12-23 16:05:03 +00:00
Steve Chamberlain
445604d7eb * dlltool.c (fill_ordinals): Start from 1 if no other instructions
given.
1995-12-15 15:52:56 +00:00
Ian Lance Taylor
64c4b2ad86 * Makefile.in (clean): Remove $(DEMANGLER_PROG).1. From Ronald
F. Guilmette <rfg@monkeys.com>.
1995-12-12 17:08:17 +00:00
Stan Shebs
f44f761453 * mac-binutils.r: Fix copyright and version strings.
* Makefile.in (version): Remove, no longer used.
1995-12-11 22:35:35 +00:00
Stan Shebs
67e69d7e9e * mpw-make.sed (install, install-only): Edit in Mac-specific
install procedure.
1995-12-01 22:44:24 +00:00
Kim Knuttila
b10f8e5e5c PowerPC changes 1995-12-01 02:08:19 +00:00
David Edelsohn
799de4c4a0 * dlltool.c (fill_ordinals): Don't reference d_export_vec if
there are no exported functions.
1995-11-29 01:25:25 +00:00
Ian Lance Taylor
390ddfdb61 * configure: Regenerate with autoconf 2.7. 1995-11-27 18:06:54 +00:00
Ian Lance Taylor
20dec772cd * dlltool.c (fill_ordinals): Start assigning ordinals at 1.
PR 8500.
1995-11-22 20:47:19 +00:00
Ian Lance Taylor
53e174d692 * Makefile.in (EXPECT): Use $$r, not $${rootme}.
(check): Set r, not rootme.
1995-11-22 18:18:21 +00:00
Ian Lance Taylor
53fb794b31 * configure.in: Use BFD_NEED_DECLARATION.
* acconfig.h: Put NEED_DECLARATION_FPRINTF in @TOP@ section.
	* configure, config.in: Rebuild with autoconf 2.6.
1995-11-21 23:23:10 +00:00
Ken Raeburn
b218076e59 version 2.6 1995-11-16 10:12:33 +00:00
Ian Lance Taylor
6922e654db * dlltool.c: Use FOPEN_* macros rather than "r" or "w". 1995-11-14 23:03:25 +00:00
Ian Lance Taylor
6d93c36004 * dlltool.c (fill_ordinals): Correct memset call. 1995-11-14 22:20:12 +00:00
Stan Shebs
d101d7bf06 * mpw-make.sed (DEMANGLER_PROG): Edit out attempts to do anything
with the man page.
1995-11-12 21:03:38 +00:00
Ian Lance Taylor
ec0cfbaa08 * arsup.c (ar_open): Cast malloc return value. 1995-11-08 16:34:56 +00:00
Kim Knuttila
206dc163b9 Small PPC support changes 1995-11-07 20:47:48 +00:00
Ian Lance Taylor
ae0daa111e * configure.in: Don't treat rs6000-*-lynx* specially.
* configure: Rebuild.
	* config/rslynx: Remove.
	* Makefile.in: Remove @target_makefile_fragment@.
1995-11-07 19:04:29 +00:00
Ian Lance Taylor
28b5eb12a3 * bucomm.h: Include <sys/types.h>.
* ar.c: Don't include <sys/types.h> or <stdio.h>.
	* bucomm.c, dlltool.c, nlmconv.c, objcopy.c, objdump.c: Likewise.
1995-11-06 20:03:01 +00:00
Ian Lance Taylor
0140d7463d * objdump.c: Include <sys/types.h>. 1995-11-03 19:11:41 +00:00
Ian Lance Taylor
293129ca0e Permit user to override DEMANGLER_PROG from command line. From
Manfred Hollstein <manfred@lts.sel.alcatel.de>.
	* Makefile.in ($(DEMANGLER_PROG)): Depend upon
	$(DEMANGLER_PROG).1.
	(install): Don't depend upon $(DEMANGLER_PROG).1.  Only install
	$(DEMANGLER_PROG).1 if $(DEMANGLER_PROG) is not empty.
1995-11-03 17:44:16 +00:00
Ian Lance Taylor
97f264c0e6 Wed Nov 1 15:04:57 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de>
* Makefile.in (syslex.o): add -I$(srcdir) if compiling in a
	separate directory.
1995-11-01 20:06:30 +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
Steve Chamberlain
356c68ff62 Thu Oct 26 10:23:14 1995 steve chamberlain <sac@slash.cygnus.com>
* dlltool.c (no_idata4, no_idata5): New.
	(arm_jtab): Use correct encoding of jump instruction.
	(usage, main, make_head, make_tail): Act on no_idata4, no_idata5.
1995-10-28 08:35:43 +00:00
Stan Shebs
e78d175068 * mpw-make.sed: Edit paths to generated y.tab.[ch] files. 1995-10-25 19:12:25 +00:00
Ian Lance Taylor
8490169d21 * binutils.texi: Change --with-targets to --enable-targets. 1995-10-20 22:42:21 +00:00
Fred Fish
934641476c * Makefile.in: Remove extraneous tab on otherwise empty line,
which confuses many non-GNU versions of "make".
1995-10-20 20:58:45 +00:00
Steve Chamberlain
87b1a0733b Fri Oct 13 11:04:37 1995 steve chamberlain <sac@slash.cygnus.com>
* deflex.l: Allow quoting of IDs.
	* defparse.y (%union): string deleted.
	(command): DESCRIPTION takes ID.
	* dlltool.c (gen_def_file): Quote outgoing name if
	necessary.  Preserve NONAME.
	(gen_lib_file): Run ranlib.
	(workout_prefix): Deleted.
	(main, usage, long_options): Add --as, --ranlib, --ar options.
1995-10-13 18:08:46 +00:00
Steve Chamberlain
f051e1b0af Wed Oct 11 13:36:13 1995 steve chamberlain <sac@slash.cygnus.com>
* dlltool.c (mtable): HOW_ALIGN_LONG, new.
	(d_ord): Deleted.
	(d_low_ord, d_high_ord, d_named_funcs): New.
	(gen_exp_file): Create noname entries correctly.
	(gen_lib_file): Dump exports alphabetically.
	(process_duplicates):  Count nonamed functions.
	(fill_ordinals): Keep track of highest ord too.
	(mangle_defs): Create alphabetically ordered list of names.
1995-10-11 20:40:45 +00:00
Steve Chamberlain
be92df36be Tue Oct 10 09:39:09 1995 steve chamberlain <sac@slash.cygnus.com>
* Makefile.in (TOOL_PROGS): Include DLLTOOL_PROG.
1995-10-10 16:39:35 +00:00
Steve Chamberlain
531f86b422 Mon Oct 9 13:06:31 1995 steve chamberlain <sac@slash.cygnus.com>
* dlltool.c (add_underscore): New.
	(xlate): Use new name.
	(main, usage): Update.
1995-10-09 20:08:13 +00:00
Ken Raeburn
5740d9dfb6 Mon Sep 25 22:49:32 1995 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* nm.c (print_symname): Don't try to demangle an empty name.
* objdump.c (slurp_symtab): Reset symcount if there are no symbols.
(slurp_dynamic_symtab): Likewise, for dynsymcount.
(disassemble_data): Fix memory leak: free sorted_syms when done.
(display_bfd): Likewise, for syms and dynsyms.
(dump_relocs): Don't print header before possibly generating an error message.
(dump_dynamic_relocs): Likewise.

* ar.1, nm.1, objdump.1, size.1, strings.1, strip.1: Fix typos and formatting
bugs.
1995-10-06 20:48:58 +00:00
Ken Raeburn
5d62609f95 * sysinfo.y: Eliminate unused terminals "[" and "]" and unused nonterminal
"name".  One s/r conflict remains.
1995-10-06 18:12:45 +00:00
Ian Lance Taylor
fd9609c3e8 * ar.c (do_quick_append): Comment out.
(replace_members): Add quick argument.
	(main): Don't call do_quick_append.
	(open_inarch): Don't call quick_append to create an empty archive.
	Instead call bfd_openw/bfd_set_format/bfd_close.
1995-10-06 16:02:43 +00:00
Ken Raeburn
4840bb6d59 * bucomm.c: Always include time.h. 1995-10-06 02:21:05 +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
243b35d7a1 * arsup.c (ar_save): Use rename, not unlink/link/unlink. 1995-10-04 02:39:59 +00:00
Ian Lance Taylor
a19f84a79b * strings.c (main): Exit with zero status if no files are given
and standard input is read.
1995-10-02 16:11:07 +00:00
Steve Chamberlain
7e3fa3b249 * dlltool.c: (gen_exp_file): Always emit a .reloc section if relocatable.
(imp_name_lab): New.
	(gen_def_file): New.
	(gen_lib_file): Use imp_name_lab.
	(main): Initialize imp_name_lab.
1995-09-28 22:51:39 +00:00
Ian Lance Taylor
27fca56f98 * configure.in: Call AC_HEADER_SYS_WAIT.
* configure: Rebuild.
	* config.in: Rebuild.
	* dlltool.c: Include "libiberty.h" and "bucomm.h".  Don't include
	<stdio.h>, <stdlib.h>, or <string.h>.  Don't include <wait.h>.
	Include <sys/types.h>.  Use HAVE_SYS_WAIT_H to control whether to
	include <sys/wait.h> or define the wait macros by hand.  Don't
	declare xmalloc.
	(gen_lib_file): Don't assume that sprintf returns the number of
	characters; use strlen instead.
1995-09-25 16:22:43 +00:00
Ian Lance Taylor
8f4670da40 * objdump.c (disassemble_data): Don't use the old BFD based
disassembler interface.  Make info a const pointer.
1995-09-22 21:19:38 +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
4977f3b47e * Makefile.in (maintainer-clean): New target. 1995-09-12 22:23:17 +00:00
Ian Lance Taylor
a9a14e9171 * ar.c (replace_members): Don't call write_archive if nothing
changed.
1995-09-12 19:31:03 +00:00
Ian Lance Taylor
746cffcf6a * objdump.c (disassemble_data): Add casts to avoid gcc warnings. 1995-09-12 16:39:12 +00:00
Ian Lance Taylor
320d4f291f * config.in: Rename from config.h.in.
* configure.in: Call AC_CONFIG_HEADER with config.h:config.in.
	Check for config.h:config.in when creating stamp-h.
	* configure: Rebuild.
	* Makefile.in (stamp-h): Depend upon config.in rather than
	config.h.in.  Set CONFIG_HEADERS to config.h:config.in when
	calling config.status.
1995-09-07 17:12:26 +00:00
Ian Lance Taylor
d698bce4c7 * Makefile.in (distclean): Remove config.h, stamp-h, and
config.log.
1995-09-07 16:52:35 +00:00
Ian Lance Taylor
dee0c69c27 * nm.c (value_format): Initialize based on BFD64 and
BFD_HOST_64BIT_LONG.
	(print_radix): New static variable.
	(set_print_radix): Set print_radix.  Adjust changes to
	value_format.
	(print_value): New static function, to print 64 bit octal and
	decimal values correctly.
	(print_symbol_info_bsd): Check BFD64, not BFD_HOST_64_BIT.  Use
	print_value.
	(print_symbol_info_sysv): Use print_value.
	(print_symbol_info_posix): Likewise.
1995-09-07 16:14:43 +00:00
Ian Lance Taylor
fca4042a3a * Makefile.in (*.o): Remove incorrect dependencies on
$(BFDDIR)/hosts/std-host.h.
1995-09-07 00:35:49 +00:00
Ian Lance Taylor
5ab6ca68fd * configure.in: Rewrite to use autoconf.
* aclocal.m4: New file.
	* configure: New file, built by autoconf.
	* acconfig.h: New file.
	* config.h.in: New file, built by autoheader.
	* Makefile.in: Various changes for new configure script.  Also:
	(PROGS): Remove $(SYSINFO_PROG).
	(ALL_CFLAGS): Remove $(TDEFINES).
	(version.o): Use $(ALL_CFLAGS).
	(cplus-dem.o, dlltool.o, nlmconv.o): Likewise.
	(sysdump.o): Depend upon bucomm.h and config.h.
	(srconv.o, arsup.o, strings.o): Depend upon config.h.
	(filemode.o): Don't depend upon ../bfd/sysdep.h.
	(bucomm.o): Depend upon config.h, not ../bfd/sysdep.h.
	(size.o, objdump.o, nm.o, ar.o, objcopy.o): Likewise.
	(nlmheader.o, nlmconv.o): Likewise.
	(distclean): Don't remove sysdep.h.
	* bucomm.h: Include "ansidecl.h", <stdio.h>, and "config.h".
  	Include "fopen-same.h" or "fopen-bin.h", based on
 	USE_BINARY_FOPEN.  Include <errno.h>, and declare errno if it is
 	not a macro.  Include <unistd.h>, <string.h>, <strings.h>,
 	<stdlib.h>, and <fcntl.h> if they are present.  Declare strchr,
 	strrchr, and strstr if no string header file exists.  Include
	<sys/file.h> if it exists and <fcntl.h> does not.  Define
	O_RDONLY and O_RDWR if necessary.
	* ar.c:  Don't include "sysdep.h".  Do include <sys/types.h> and
	<sys/stat.h>.  Use HAVE_GOOD_UTIME_H rather than POSIX_UTIME.  Use
	HAVE_UTIMES rather than !USE_UTIME.  Don't include <errno.h>, and
	don't declare errno.
	* arsup.c: Don't include <sysdep.h>.
	* bucomm.c: Don't include "sysdep.h".  Include <stdio.h>,
	<sys/types.h>, and <sys/stat.h>.  Include <time.h> if it defines
	time_t.  Define time_t if necessary.
	* coffdump.c: Don't include "sysdep.h".
	* coffgrok.c, filemode.c, nlmconv.c, size.c: Likewise.
	* srconv.c, strings.c: Likewise.
	* nm.c: Don't include "sysdep.h".  Don't try to define HAVE_SBRK.
	* objcopy.c: Don't include "sysdep.h".  Include <sys/types.h> and
	<sys/stat.h>.
	(simple_copy): Use creat rather than assuming that O_CREAT is
	defined.
	* objdump.c: Don't include "sysdep.h".  Use
	NEED_DECLARATION_PRINTF rather than !FPRINTF_ALREADY_DECLARED.
	* sysdump.c: Include "bfd.h" and "bucomm.h".  Don't include
	"sysdep.h" or <stdlib.h>.
	(dump_symbol_info): Rename from symbol_info.  Change all callers.
1995-09-06 00:52:07 +00:00
Ian Lance Taylor
109eb06cce * configure.in (host_makefile_frag): Don't set. Substitute for
@CC@, @CFLAGS@, @HDEFINES@ and @LDFLAGS@ in Makefile.
	* Makefile.in (AR_FLAGS): Set to rc rather than qv.
	(CC): Define as @CC@.
	(CFLAGS): Set to @CFLAGS@.
	(LDFLAGS): Define as @LDFLAGS@.
	(ALL_CFLAGS): Use @HDEFINES@ rather than $(HDEFINES).
1995-09-04 21:14:33 +00:00
Ian Lance Taylor
fe48a154b9 * configure.in: Don't bother to call config.bfd for each target.
Just call it for the default target, and use the shell variable to
	decide whether underscores are used.
1995-09-04 18:32:22 +00:00
Jason Molenda
99ac77549e * configure.in: match i[3-6]86-*-win32, not just i386-*-win32. 1995-09-01 02:24:59 +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
David Edelsohn
4828cdbaca * dlltool.c (run): Add missing 3rd arg to waitpid. 1995-08-31 11:10:32 +00:00
Steve Chamberlain
125a4b5819 * Makefile.in (TOOL_PROGS): Include dlltool if needed. 1995-08-30 18:03:16 +00:00
Steve Chamberlain
f88ebc6861 Tue Aug 29 13:25:21 1995 steve chamberlain <sac@slash.cygnus.com>
* dlltool.c (rva): Deleted.
	(rvaafter, rva_before): Use new assembler pseudo.
	(flush_page, gen_exp_file, gen_lib_file): Use new way of RVAing.
	(gen_exp_file): Don't generate .edata if no need.
	(gen_lib_file): Don't make timestamp.
	(workout_prefix): Fix memory initialization bug.
	(usage): Tidy up, delete many single char options.
	(main): rva option is gone.
1995-08-29 20:29:04 +00:00
Steve Chamberlain
739484a321 * dlltool.c (options): image-base is a synonym for rva. 1995-08-22 01:42:11 +00:00
Steve Chamberlain
2757dc2534 Sun Aug 20 09:59:00 1995 steve chamberlain <sac@slash.cygnus.com>
Modified to generate archives and objects rather than .s files.
	* dlltool.c (run) New function.
 	(gen_exp_file, gen_lib_file): Use run.
	(workout_prefix): New.
	(usage): Document new options.
	(main): Parse new options.
1995-08-20 17:01:27 +00:00
Steve Chamberlain
ee473c97b5 * dlltool.c (gen_exp_file): Fix RVA handling.
(rva_s, rva_n): Delete.
1995-08-16 23:28:18 +00:00
Ian Lance Taylor
06e9cb9271 * nm.c (main): Ignore -e.
PR 6758.
1995-08-11 22:29:41 +00:00
Ken Raeburn
9bae56c52d put version number into doc from makefile 1995-08-10 21:42:57 +00:00
Ian Lance Taylor
5357b554ba * coffgrok.c (do_type): Handle array dimensions the same way gdb
does.
1995-08-10 20:12:11 +00:00
Steve Chamberlain
fb25704277 * dlltool.c (mtable): New fields.
(ASM_RVA_BEFORE, ASM_RVA_AFTER): New.
	(flush_page, gen_lib_file): Use new macros.
1995-08-09 00:12:18 +00:00
Ian Lance Taylor
a59b3dda91 * ar.c (replace_members): For compatibility with existing ar
programs, permit users to add the same file multiple times.
1995-07-31 16:52:02 +00:00
J.T. Conklin
52c06ee494 srconv.c (writeINT): When size == -2, use 2 bytes for the h8300 and 4 bytes
for the	sh.
1995-07-24 23:41:19 +00:00
J.T. Conklin
0ab7604296 * srconv.c (wr_hd): Set afl field to 4 for bfd_arch_sh.
* sysdump.c (fillup): Return size - 1, the last byte is a checksum
and shouldn't be counted.
* sysroff.info (hd): Changed segment identifier from a byte to a 1
bit field.  The sysroff 2.0-01 specification seems to be in error
here.  Reduce width of following "spare" field from 4 to 3 bits.
(rl): Changed order and width of first 4 bitfields to correspond
to sysroff specification.
(dln_head, dln_inside, dln_tail): Removed.
1995-07-24 21:02:03 +00:00
J.T. Conklin
5a25ad782b * sysdump.c (dh): Changed format of output to be 16 hex digits
followed by 16 ascii characters, similar to Emacs' hexl-mode,
to make it easier to read.
1995-07-14 20:47:19 +00:00
J.T. Conklin
19f6aedd53 * srconv.c (wr_tr): Write out handcrafted tr block.
(walk_tree_symbol): Use evallen and evalue instead of
vallen & value because of corresponding changes in
sysroff.info.

* sysdump.c (sysroff_swap_tr_in, sysroff_print_tr_out): New
functions.

* sysroff.info (tr): the tr block is a special case --- a block
without contents --- which can't be handled by generated code.
(den, dpp): only first byte is present for DENend, DPPend.
(dsy): describe a conditional portion of block, rename some fields.
(dps): describe a conditional portion of block.
(dfl): removed.

* sysinfo.y (yyerror): write error message to standard error.
1995-07-13 22:43:48 +00:00
Ian Lance Taylor
c9c49bd961 * Makefile.in (DISTSTUFF): Add arparse.h and sysinfo.h.
(mostlyclean): Remove y.output.
	(clean): Remove sysroff, sysroff.c, sysroff.h, and sysinfo.

	* nlmconv.c (powerpc_mangle_relocs): Cast memset arg to size_t.
	* objcopy.c (copy_object): Likewise.
1995-07-13 17:50:55 +00:00
Ian Lance Taylor
2604db83a6 * nm.c (HAVE_SBRK): Define execpt on amigados and WINDOWS_NT.
(struct size_sym): Define.
	(show_stats): New static variable.
	(long_options): Add undocumented option "stats".
	(main): Print memory stats if requested.
	(sort_bfd, sort_dynamic, sort_x, sort_y): New static variables.
	(numeric_forward): Use minisymbols rather than asymbols.
	(non_numeric_forward): Likewise.
	(size_forward1): Rename from size_forward.  Use minisymbols.
	(size_forward2): New static function.
	(sort_symbols_by_size): Take new arguments dynamic, size, and
	symsizep.  Use minisymbols.  Don't store the size back in the
	symbol; store in a newly allocate struct size_sym array.
	(display_rel_file): Read minisymbols rather than asymbols.  Set
	sort_* variables.  Call print_size_symbols if sorting by size.
	(filter_symbols): Take new arguments dynamic and size.  Use
	minisymbols.
	(print_symbols): Likewise.  Call print_symbol for actual printing.
	(print_size_symbols): New static function.
	(print_symbol): New static function.
PR 5332.
1995-07-13 14:50:08 +00:00
Ian Lance Taylor
e4f35679a9 * objdump.c (dump_section_stabs): Only print each stabs section
once.
	(compare_relocs): Make it clear to gcc that this always returns a
	value.
1995-07-12 14:44:46 +00:00
Ian Lance Taylor
d1a917c56a Wed Jul 12 10:40:23 1995 H.J. Lu <hjl@nynexst.com>
* objcopy.c (simple_copy): Preserve errno on failure.
	(smart_rename): Print error mesage if simple_copy fails.
1995-07-12 14:42:08 +00:00
Ian Lance Taylor
0d84aa0f4b * nm.c (size_forward): Check yf against yn, not xn.
PR 7276.
1995-07-04 21:05:23 +00:00
Ian Lance Taylor
4c8d7e6be1 * objcopy.c (copy_archive): Record all output BFD's, and close
them before unlinking them and removing the temporary directory,
	to avoid NFS problems.
PR 6795.
1995-07-04 20:47:10 +00:00
Ian Lance Taylor
cbd0453da4 Rename truncate to ar_truncate 1995-07-04 20:38:00 +00:00
Ian Lance Taylor
52af6a44ad * ar.c (replace_members): In verbose messages, use 'r' when
replacing a member, and 'a' when adding one.

	* ar.c (truncate): New static variable.
	(normalize): Change return type to const char *.  Add abfd
	argument.  Change all callers.  If truncate, chop the filename to
	abfd->ar_max_namelen.
	(main): For the 'f' modifier, set truncate to true.  Don't change
	quick_append to replace to truncate is true.
	(do_quick_append): If truncate, set BFD_TRADITIONAL_FORMAT.
	(write_archive): Likewise.
	* binutils.texi, ar.1: Document 'f' modifier.
PR 6888.
1995-07-04 20:28:29 +00:00
Ian Lance Taylor
9135e5f83b * objcopy.c (enum strip_action): Define strip_unneeded.
(OPTION_STRIP_UNNEEDED): Define.
	(strip_options): Add "strip-unneeded".
	(copy_options): Likewise.
	(copy_usage): Mention --strip-unneeded.
	(strip_usage): Likewise.
	(is_strip_section): Strip debugging sections if strip_unneeded.
	(filter_symbols): If strip_unneeded, only keep BSF_KEEP symbols.
	(copy_object): If strip_all, discard symbols without checking
	discard_locals.
	(copy_object): Call filter_symbols if strip_unneeded.
	(setup_section): Strip debugging sections if strip_unneeded.
	(copy_section): Likewise.
	(strip_main): Handle OPTION_STRIP_UNNEEDED.
	(copy_main): Likewise.
	* binutils.texi, objcopy.1, strip.1: Document --strip-unneeded.
PR 6684.
1995-07-04 18:52:27 +00:00
Steve Chamberlain
002898399e Mon Jul 3 14:16:47 1995 Steve Chamberlain <sac@slash.cygnus.com>
* configure.in (i386-*-win32): New configuration.
	* dlltool.c (killat, xlate, usage, long_options, main):
	Understand and cope with -k option.
1995-07-03 21:20:26 +00:00
Fred Fish
8190614e91 * ar.c: (extract_file): Change "#if POSIX_UTIME" to
"#ifdef POSIX_UTIME" to match other tests of POSIX_UTIME
	and avoid lossage when POSIX_UTIME is not defined at all.
1995-07-01 19:28:13 +00:00
Steve Chamberlain
6f2d32120e * ar.c: (print_contents.c, extract_file, do_quick_append):
Malloc buffers rather than allocate on stack (so it works
	on NT).
	* deflex.l: Names can have an @ in them.
	* dlltool.c: Loads of stuff. Can now generate .imp files which
	work with NT .dlls.
1995-06-29 00:59:07 +00:00
Ken Raeburn
652970ff68 fix diststuff/realclean handling of info files 1995-06-21 21:48:03 +00:00
Ken Raeburn
65b175c5e6 * objdump.c (compare_relocs): If relocation entries have the same address, keep them in file order. 1995-06-21 21:44:06 +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
Steve Chamberlain
765e60a947 Wed Jun 14 13:27:22 1995 Steve Chamberlain <sac@slash.cygnus.com>
* deflex.l, defparse.y, dlltool.c: New files.
	* Makefile.in, configure.in: Support for them.

Mon Jun 12 11:27:54 1995  Steve Chamberlain  <sac@slash.cygnus.com>

	* sysdump.c: Include sysdep.h
	(main): Open input with FOPEN_RB.  binutils/7137
1995-06-14 20:28:36 +00:00
Michael Meissner
4b6d0f7873 PR 7046: use unsigned compares in looking up items in the sorted symbol list, not signed; Also add --wide to print on wide columns 1995-06-09 21:42:47 +00:00
Ken Raeburn
3bb1b4171a * Makefile.in: Delete lines with lots of #### because four or more indicate a
point for makefile fragment substitution.
1995-05-30 18:28:52 +00:00
Steve Chamberlain
f302a4d978 Wed Apr 26 18:26:21 1995 Steve Chamberlain <sac@slash.cygnus.com>
* srconv.c (main): Add support for -n option which disables
	prescan of common symbols.
	(wr_ob): If reading past the end of a section, fill with zeros.
1995-04-27 01:59:19 +00:00
Ken Raeburn
d3c66665b5 * objdump.c (dump_section_header): Display load address after virtual memory
(run-time) address.
1995-04-26 01:16:41 +00:00
Ian Lance Taylor
fb3f84c773 * strings.c: Include "bfd.h" before other headers. Include
"sysdep.h".
	* bucomm.c (print_arelt_descr): Cast st_uid and st_gid to long,
	and print them with %ld.
1995-03-24 16:49:14 +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
24b39a7e19 x 1995-02-15 05:19:44 +00:00
Ken Raeburn
236857e50c * objdump.c (disassemble_data): Pass section offset, not absolute address, to
bfd_find_nearest_line.

* nlmconv.c (powerpc_mangle_relocs): Don't use const with reloc_howto_type.
1995-02-04 00:11:07 +00:00
Michael Meissner
39e5cbd7ee Add support for PowerPC embedded ABI. 1995-01-26 17:07:03 +00:00
Ian Lance Taylor
958998b7aa gcc -Wall lint.
* coffdump.c (dump_coff_scope): Cast pointer to unsigned long for
	printf.
	* coffgrok.c: Include bucomm.h.  Don't declare xmalloc.
	(push_scope): Declare type of parameter link.
	* size.c: Include libiberty.h.
	* srconv.c: Include bucomm.h.
	(find_base): Declare at top of file.
	(wr_hd): Add default case to architecture switch.
	(wr_dps_start): Declare type of parameter nest.
	(wr_du): Comment out variables used only in commented out blocks.
	(wr_dus): Remove unused variable i.
	(wr_sc): Remove unused variables myinfo, low, and high.
	* strings.c: Include libiberty.h.
	* sysdump.c: Include <ctype.h>.
1995-01-18 17:27:52 +00:00
Ian Lance Taylor
c2efd5a120 * ar.c (main): Ignore 'f' modifier used on HP/UX 9. 1994-12-21 00:15:14 +00:00
Ken Raeburn
63ca9597f0 removed some unreachable code from objcopy 1994-12-14 21:37:00 +00:00
Ian Lance Taylor
277187d793 * nlmconv.c (powerpc_mangle_relocs): Don't switch a reloc to use
the section symbol if the symbol is undefined.
1994-12-09 05:25:00 +00:00
Ken Raeburn
4af19c6151 objcopy.c (add_strip_symbol): Cast return value of xmalloc. 1994-12-08 19:46:25 +00:00
Ian Lance Taylor
29c0d15c01 Thu Nov 17 15:37:19 1994 Mark W. Eichin <eichin@cygnus.com>
* objcopy.c (add_strip_symbol): New function, adds a name to an
	explicit list of symbols to strip.
	(is_strip_symbol): New function, reports whether the name argument
	is in the explicit list.
	(filter_symbols): Check against is_strip_symbol above all.
	(strip_main): Recognize -N option. If used, don't default to
	strip_all.
	(copy_main): Recognize -N option.
	(strip_usage): Document -N and --strip-symbol options.
	(copy_usage): Ditto.
	* objcopy.1, strip.1, binutils.texi: Document -N and
	--strip-symbol options.
1994-11-18 16:00:41 +00:00
Ian Lance Taylor
f618f758e9 * ar.c (main): Don't call do_quick_append if any of the archive
names are longer than 14 characters.
PR 5966.
1994-11-17 23:03:30 +00:00
Ian Lance Taylor
87a15686e4 * objcopy.c (main): Fix is_strip test. From
pirker@eiunix.tuwien.ac.at (Martin Pirker).
1994-11-17 20:12:51 +00:00
Ian Lance Taylor
eb88e5ee98 * objcopy.c (copy_archive): Keep a list of the names of the
temporary files we created.  Close each input BFD after we open
        its successor.
PR 5915.
1994-11-08 18:16:10 +00:00
Ken Raeburn
6f383ce55d Changes from binutils-2.5.2 net release:
* Makefile.in (install-info): Install info files from whatever directory they
were found in.

Patch from DJ Delorie:
* configure.bat: do c++filt -> cxxfilt right

* sysinfo.y: Include system header files early, so any potential declaration of
abort() occurs before its use.

* strings.c (strings_file): Try opening the file in binary mode first.
1994-11-04 00:07:02 +00:00
Ian Lance Taylor
e640e6644d * ar.c (main): Treat ar qs like ar rs. 1994-11-02 20:45:02 +00:00
Ian Lance Taylor
33e0a06df8 * objcopy.c (gap_fill): Explicitly initialize, for clarity.
(pad_to_set, pad_to): New static variables.
	(copy_options): Accept --pad-to.
	(copy_usage): Mention --pad-to.
	(copy_object): Support --pad-to.
	(compare_section_vma): Sort non loadable sections to the front.
	Sort sections with the same VMA by size.
	(copy_main): Handle --pad-to.
	* binutils.texi, objcopy.1: Document --pad-to.
1994-10-25 20:22:32 +00:00
Ian Lance Taylor
596d99ba32 * objcopy.c (gap_fill_set, gap_fill): New static variables.
(copy_options): Accept --gap-fill.
	(copy_usage): Mention --gap-fill.
	(copy_object): Support --gap-fill.
	(get_sections, compare_section_vma): New static functions.
	(copy_main): Handle --gap-fill.
	* binutils.texi, objcopy.1: Document --gap-fill.
1994-10-20 17:58:23 +00:00
Ian Lance Taylor
9b14c27a1e * Makefile.in (check): Add a dummy else clause to the if
statement.
1994-10-19 18:40:45 +00:00
Ian Lance Taylor
67f67ed998 * objcopy.c (copy_object): If the output file format is `binary',
and the start address was not set using --set-start, default the
	start address to zero.  This hack is because the `binary' output
	file format uses the start address to set the virtual address of
	the first byte in the file.
	* binutils.texi, objcopy.1: Add some notes on generating S-records
	and binary files.
1994-10-18 19:20:58 +00:00
Ian Lance Taylor
67932b7d02 * nm.c (print_symdef_entry): Call print_symname to print the
symbol name, so that --demangle works.
1994-10-18 16:03:05 +00:00
Ian Lance Taylor
69b608927d * Makefile.in (mostlyclean): Remove tmpdir. 1994-10-18 15:55:10 +00:00
Ian Lance Taylor
6c7ed0842d * objcopy.c (struct section_list): Add fields used, adjust, val.
(adjust_start, set_start_set, set_start): New static variables.
	(adjust_section_vma, adjust_sections): New static variables.
	(copy_options): Add --adjust-start, --adjust-vma,
	--adjust-section-vma, --adjust-warnings, --no-adjust-warnings,
	--set-start.
	(parse_vma): New static function.
	(copy_usage): Mention new options.
	(copy_object): Handle --set-start and --adjust-start.
	(setup_section): Correct type of last argument to PTR.  Set used
	field if section is removed.  Handle --adjust-vma and
	--adjust-section-vma.
	(copy_section): Correct type of last argument to PTR.
	(mark_symbols_used_in_relocations): Likewise.
	(strip_main): Clear used field when handling -R.
	(copy_main): Handle new options.
	* binutils.texi (objcopy): Document new options.
	* objcopy.1: Document new options.
1994-10-18 15:49:53 +00:00
Ian Lance Taylor
bd5e713033 clobbered somehow by previous checkin 1994-10-14 22:34:50 +00:00
Ian Lance Taylor
5903dfae1f * configure.in (configdirs): Remove definition--testsuite is no
longer configured.
	* Makefile.in (testsuite): Remove target.
	(site.exp): New target.
	(check): Rewrite.
	(clean, distclean): Don't recur into testsuite directory.
1994-10-14 18:57:57 +00:00
J.T. Conklin
b7d9009371 * nlmconv.c (link_inputs): Pass -Ur flag to ld so that the
ctor/dtor tables needed by C++ programs are built.
1994-10-10 20:54:28 +00:00
Jim Wilson
f0eebb5f6a * Makefile.in (srconv.o): Add dependence on sysroff.c. 1994-10-10 01:06:20 +00:00
Ian Lance Taylor
3bbea7af28 * Makefile.in (arparse.c): Don't ignore errors from mv.
(sysinfo.c): Likewise.  Also, depend upon arparse.c, to prevent a
	parallel make from trying to build both arparse.c and sysinfo.c
	simultaneously.
	(nlmheader.c): Similar change.
	(arparse.h): Separate target from arparse.c, so that a parallel
	make does not try to build both at once.  Depend upon arparse.c.
	(sysinfo.h): Similar change.
1994-09-28 19:53:22 +00:00
Ian Lance Taylor
aa39dc49cb * objdump.c (disassemble_data): Pass the reloc buffer to free, not
the pointer used to loop over the relocs.
1994-09-28 17:06:41 +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
4b4e568a4c * ar.c: Call xexit rather than exit.
(output_filename, output_file, output_bfd): New static variables.
	(remove_output): New static function.
	(main): Call xatexit (remove_output).  Call xexit rather than
	returning.
	(extract_file): Set output_filename and output_file while output
	file is open.
	(write_archive): Likewise, but use output_bfd, not output_file.
	* arsup.c: Include libiberty.h.  Call xexit rather than exit.
	* bucomm.c: Likewise.
PR 2474.
1994-09-16 04:03:23 +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
1896790ef9 * nm.c: Include libiberty.h.
(sort_by_size): New static variable.
	(long_options): Add --size-sort.
	(usage): Mention --size-sort.
	(numeric_forward): Make static.  Change from void * to PTR.
	(numeric_reverse): Likewise.
	(non_numeric_forward, non_numeric_reverse): Likewise.
	(sorters): Change declaration from void * to PTR.
	(size_forward, sort_symbol_by_size): New static functions.
	(display_rel_file): Handle sort_by_size.
	(filter_symbols): If sort_by_size, discard absolute and undefined
	symbols.
	* binutils.texi (nm): Document --size-sort.
	* nm.1: Document --size-sort.
PR 3611.
1994-09-14 16:28:41 +00:00
Jeff Law
a0f5033df3 * objcopy.c (copy_main): Initialize input_filename and
output_filename to NULL.
1994-09-14 03:08:55 +00:00
Ian Lance Taylor
5e39c98765 * Makefile.in (version.o): Depend upon Makefile, so that version.o
gets rebuilt when make variable VERSION is changed.
1994-09-13 18:19:24 +00:00
Ian Lance Taylor
02354a0f8d * ar.c: Include libiberty.h.
(inarch): Remove variable.
	(map_over_members): Make static.  Add arch argument, and use it
	instead of inarch.  Change all callers.
	(main): Treat --version as -v.  Accept -t argument.  Accept any
	number of archive arguments.  Catch and use open_inarch return
	value, rather than using inarch.
	(open_inarch): Return newly opened BFD, rather than using inarch.
	(do_quick_append): Make archive_filename const.
	(write_archive): Add iarch argument, and use it instead of inarch.
	Change all callers.
	(delete_members, move_members, replace_members): Likewise.
	(ranlib_only): Don't exit on success.  Catch and use open_inarch
	return value.
	(ranlib_touch): New function.
	* arsup.h (map_over_members): Don't declare.
	(ar_end, ar_extract): Declare.
	(open_inarch): Change return value in declaration to bfd *.
	* arsup.c (map_over_list): Make static. Always pass two arguments
	to function.  Add arch argument, and use it instead of inarch.
	Change all callers.
	(ar_directory_doer): Make static.  Add ignored second argument.
	Change all callers.
	(ar_directory): Use open_inarch return value rather than inarch.
	(ar_addlib_doer): Make static.
	(ar_addlib): Use open_inarch return value rather than inarch.
	(ar_extract): Remove unused local variable abfd.
1994-08-22 21:14:43 +00:00
Ian Lance Taylor
0aca460e7c Add support for removing named sections to objcopy and strip.
* objcopy.c (struct section_list): Define.
	(remove_sections): New static variable.
	(strip_options, copy_options): Add remove-section.
	(copy_usage, strip_usage): Mention -R and --remove-section.
	(setup_section): If section is in remove_sections list, ignore it.
	(copy_section): Likewise.
	(strip_main, copy_main): Handle -R.
	* binutils.texi, objcopy.1, strip.1: Document new options.
1994-08-11 19:00:26 +00:00
Stan Shebs
8ea882c6df * nlmconv.c (powerpc_mangle_relocs): Rename symvalue to sym_value,
so as not to conflict with the symvalue typedef in bfd.h.
1994-08-10 17:24:10 +00:00
Jean Marie Diaz
6d2ec583d0 * nlmheader.y: Per current NetWare docs, accept a revision number
of 0 and treat a revision number greater than 26 as 0.
1994-08-01 23:25:53 +00:00
Ian Lance Taylor
ca6c1a2217 * objdump.c (objdump_print_address): Correct handling of end of
symbols when looking for next symbol with a different value.
1994-07-25 17:01:10 +00:00
Ken Raeburn
d3bba67b52 * nm.c (numeric_forward): Treat undefined symbols as "less than" defined
symbols with zero values.  If numeric values are equal, or both symbols are
undefined, sort alphabetically.  Don't assume that the difference of two
bfd_vma values will truncate to "int" and still have the same sign.
(numeric_reverse): Call numeric_forward and negate the result.
(print_symbol_info_bsd): For undefined symbols, print leading spaces equivalent
to the width of a printed bfd_vma, rather than assuming that 8 will look right.
1994-07-22 20:56:31 +00:00
Ian Lance Taylor
d672b1bf3d * config/mh-alphaosf, config/mh-apollo68v, config/mh-delta88:
Remove; obsolete.
1994-07-21 14:27:45 +00:00
Ian Lance Taylor
81794792b7 * objdump.c (slurp_dynamic_symtab): Try to get the dynamic symbols
even if the bfd is not marked DYNAMIC.  ELF executables are not
	marked DYNAMIC, but do have dynamic symbols.
1994-07-17 02:36:11 +00:00
Steve Chamberlain
4725d7ae1f * coffgrok.c (do_where): Make data with no type 'int'.
(do_define):  Keep info on source file of a symbol.
	* coffgrok.h (coff_symbol): New field.
	* srconv.c (PROGRAM_VERSION): Now 1.3
	(wr_rl): Use external ref number for symbol.
	(wr_dus): Only keep one source file per debug unit.
	(wr_dln): Always emit line numbers for first source file,
	(wr_globals):  Emit globals in the du of their owning source file.
1994-07-15 08:51:49 +00:00
J.T. Conklin
ee5f246092 * nlmheader.y: Null terminate var_hdr->threadName. 1994-07-11 23:06:35 +00:00
Ken Raeburn
a2869e63cd Makefile.in (syslex.o, sysinfo.o): Permit C source files to be in $(srcdir), as
they will be for FSF releases.
1994-07-11 18:22:19 +00:00
Ian Lance Taylor
33315bcabe * objcopy.c: Include libiberty.h.
(copy_file): If output_target is NULL, set it to the target of the
	input file.
1994-07-05 20:17:37 +00:00
David MacKenzie
1f8b3b5746 Change --with-targets to --enable-targets, per GNU coding standards. 1994-06-23 20:08:57 +00:00
Ian Lance Taylor
e1495000e7 * nlmconv.c (powerpc_build_stubs): Don't generate the PowerPC
NetWare custom header; no longer needed.
	(powerpc_mangle_relocs): Convert relocs against the uninitialized
	data section into relocs against the data section.
1994-06-21 21:21:05 +00:00
Ian Lance Taylor
9d11577a58 * configure.in: Set nlmconv_defs to -DNLMCONV_cputype for all the
netware targets.  Write it into Makefile as NLMCONV_DEFS.
	* Makefile.in (nlmconv.o): Pass $(NLMCONV_DEFS) to $(CC).
	* nlmconv.c: Only compile code for specific CPU types if
	NLMCONV_cputype is defined.
1994-06-21 17:50:33 +00:00
Ian Lance Taylor
a18ff4a730 * nlmconv.c (main): Change uses of bfd_abs_section, etc., to use
bfd_abs_section_ptr or bfd_is_abs_section, etc.
	(i386_mangle_relocs, alpha_mangle_relocs): Likewise.
	(powerpc_build_stubs): Likewise.
	* nm.c (filter_symbols, print_symbols): Likewise.
	* objcopy.c (filter_symbols): Likewise.
	(mark_symbols_used_in_relocations): Likewise.
	* objdump.c (remove_useless_symbols, dump_relocs): Likewise.
	* size.c (sysv_internal_printer): Likewise.
1994-06-21 17:20:20 +00:00
Ken Raeburn
1cf8bd3f31 * Makefile.in (MANPAGES): Remove $(DEMANGLER_PROG).
(install): Install it explicitly, from build dir, not srcdir.
1994-06-20 20:44:46 +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
6f88f03122 * configure.in: Set UNDERSCORE in Makefile based on result of
invoking config.bfd with a second argument of ``_''.
	* Makefile.in (underscore.c): Depend upon Makefile.  Don't try to
	run $(CC) and $(NM), just use $(UNDERSCORE).  Create via temporary
	file.
	(demangle.o): Remove target.
	($(NM_PROG)): Don't depend upon demangle.o, and	don't link against
	demangle.o.  It's in libiberty anyhow.
	(cplus-dem.o): Don't depend upon demangle.o.
	* binutils.texi: Mention -n and --no-strip-underscores arguments
	to c++filt.
1994-06-16 21:59:41 +00:00
Ian Lance Taylor
9eb39bca51 * nm.c (long_options): Add --no-demangle to turn off --demangle,
and --no-cplus for Linux compatibility.
	(usage): Mention --no-demangle.
	* binutils.texi: Document --no-demangle.
1994-06-15 16:13:59 +00:00
Ian Lance Taylor
8291be48a9 * nm.c: HOST_64_BIT was renamed to BFD_HOST_64_BIT. 1994-06-10 21:14:49 +00:00
Ian Lance Taylor
90f6517da9 * objcopy.c (copy_archive): Make the temporary directory in the
same directory as the output BFD, since we may not have write
	permission on the current directory.  Set the permissions of the
	new directory to 0700, not 0777.
1994-06-10 19:43:49 +00:00
David Henkel-Wallace
b5775df3dc rs6k lynx changes 1994-06-08 05:05:21 +00:00
Ian Lance Taylor
105da05c1a * objdump.c (display_target_list): Remove unused local ok. 1994-06-03 15:00:55 +00:00
Ken Raeburn
c06e55d99a changes from gas-2.3/binutils-2.4 dist (details in branch log msgs, changelogs) 1994-05-27 16:58:05 +00:00
Ian Lance Taylor
d5e29b6090 Remove sanitization of PowerPC NetWare. 1994-05-20 18:09:48 +00:00
Ian Lance Taylor
1a5b12f719 * bucomm.c: Check ANSI_PROTOTYPES rather than __STDC__. 1994-05-14 03:26:26 +00:00
Jason Molenda
6f9077cdc1 Tue May 10 18:22:06 1994 Jason Molenda (crash@sendai.cygnus.com)
* objcopy.c (copy_section): Set section size correctly if using
        interleave.
1994-05-11 01:28:18 +00:00
Ken Raeburn
5e54009453 syslex.l, objdump.c/config changes 1994-05-05 22:53:04 +00:00
Steve Chamberlain
932315388d lint. 1994-04-29 16:51:18 +00:00
Steve Chamberlain
7bf6856e9c * Makefile.in (syslex, sysinfo): Use CC_FOR_BUILD.
* coffdump.c, coffgroc.c, coffgrog.h, srconv.c, sysdump.c,
	sysroff.info: Major changes.
1994-04-27 18:27:18 +00:00
Stan Shebs
22111f0eb2 Tue Apr 26 18:18:24 1994 Stan Shebs (shebs@andros.cygnus.com)
* objdump.c (print_section_stabs): Indicate the stab header symbol
	more clearly, print numbers of unrecognized stab n_type values.
1994-04-27 01:21:56 +00:00
Ian Lance Taylor
88d8ae09ff * Makefile.in (distclean): Remove $(PROGS) and underscore.c. 1994-04-25 20:15:04 +00:00
Ian Lance Taylor
f645a4bf38 * nlmconv.c (setup_sections): Remove special handling of .reginfo
section.
	(copy_sections): Likewise.
	(alpha_mangle_relocs): Use bfd_ecoff_get_gp_value rather than the
	special ECOFF .reginfo section.
1994-04-22 22:13:23 +00:00
Ian Lance Taylor
45f82cf72a * objcopy.c (copy_object): Call bfd_copy_private_bfd_data after
copying everything else, to let it fiddle with the file in its
	final state.
1994-04-22 20:27:30 +00:00
Ian Lance Taylor
a963bfc888 * objdump.c: Include libiberty.h.
(display_target_list): If a format fails, just go on to the next
	one.  Check return value of bfd_set_format.
	(display_info_table): Likewise.  Don't increment loop variable in
	for loop test, since that skips the first element.
	(display_target_tables): Rewrite loop for clarity.  Ensure that it
	always prints at least one element.
1994-04-22 17:15:27 +00:00
Ian Lance Taylor
162794fe9d * nlmconv.c (main): Use CyGnUsEx rather than CyGnUsSeCs for
sections header.  Rename from cygnus_sections to cygnus_ext.
1994-04-22 15:15:42 +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
dcb210cb09 * nlmconv.c (secsec): New static variable.
(main): Create .nlmsections section in output BFD.  Store
	information about it in sections header.
	(setup_sections): Allocate space in sections header.
	(copy_sections): Copy zero sized sections.  Put information about
	each section in the sections header.
1994-04-21 16:15:00 +00:00
Ian Lance Taylor
a95abbb3ec PowerPC NetWare changes. 1994-04-20 18:49:18 +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
Ian Lance Taylor
9f191108c1 * nm.c (display_archive): Close each archive element after it has
been displayed.
1994-03-29 20:00:09 +00:00
Ian Lance Taylor
934ec70a4e * configure.in: Change error message to refer to bfd/config.bfd
rather than bfd/configure.in.
1994-03-28 18:05:12 +00:00
Jeff Law
77ccab3c95 * More fixes for object formats which allow multiple sections
with the same name:
        * objcopy.c (setup_section): Make a new output section even if
        one already exists with the given name.
        (copy_section): Use isection->output_section rather than trying
        to look the output section up by its (possibly non-unique) name.
1994-03-28 00:25:15 +00:00
Ian Lance Taylor
93e53ea4d9 * objdump.c (objdump_print_address): Make static. Declare with
prototype.  Change vardiff from int to bfd_signed_vma.  Correct
	binary search termination condition.  When looking for same
	section symbol in relocatable file, handle final symbol correctly.
1994-03-21 17:58:39 +00:00
Jeff Law
4e85e79f4f * Makefile.in: Avoid bug in hpux sed. 1994-03-20 23:40:41 +00:00
Jeff Law
fb158b92f9 * objcopy.c: Changes to keep it from stripping symbols used
in output relocations.
        (mark_symbols_used_in_relocations): New function.  Mark symbols
        used in output relocations with BSF_KEEP.
        (filter_symbols): Do not strip symbols marked with BSF_KEEP.
        (copy_object): Reorder actions.  First setup sections, then
        build the output symbol table, then copy the section contents.
1994-03-20 19:27:40 +00:00
Ian Lance Taylor
60e9faebc1 * ar.c (write_archive): Allocate space for the null byte. From
Robert Lipe <robertl@arnet.com>.
1994-03-18 15:55:27 +00:00
Ian Lance Taylor
06459c063e * Makefile.in: Built nm.new and strip.new to avoid problems with
collect when . is in PATH.
	(STRIP_PROG): Change from strip to strip.new.
	(NM_PROG): Change from nm to nm.new.
	(install): Remove the .new when installing.
1994-03-17 21:22:30 +00:00
Jeff Law
1d483829ad * objcopy.c (filter_symbols): Use bfd_is_local_label to determine
if a symbol represents a compiler-generated local label.
	(copy_object): Give the BFD backends a chance to copy any private
	bfd data from the input BFD to the output BFD.
	(setup_section): Give the BFD backends a chance to copy any private
	section data from the input section to the output section.
1994-03-16 07:04:42 +00:00
Jeff Law
c956356797 * objcopy.c (mangle_section): Delete unused function.
(setup_section): Set osection here instead of calling
        mangle section to do it.
1994-03-14 19:36:15 +00:00
Ian Lance Taylor
ad8e3db940 * ar.c (write_archive): Close inarch before unlinking it. 1994-03-14 17:14:08 +00:00
Ian Lance Taylor
4bd7a65f5f * nlmconv.c (main): For PowerPC, call powerpc_build_stubs and
powerpc_resolve_stubs.  Use __GOT0, not __toc_start.  Handle it if
	the start and end symbols are not in the text section.
	(struct powerpc_stub): New struct definition.
	(powerpc_stubs, powerpc_stub_insns): New static variables.
	(powerpc_initial_got_size): New static variable.
	(powerpc_build_stubs): New function.
	(powerpc_resolve_stubs): New function.
	(powerpc_mangle_relocs): Clear extraneous data in .got section.
	Rearrange reloc handling to handle ELF relocs that are not
	partial_inplace.  Resolve PC relative relocs.
1994-03-12 03:26:12 +00:00
Steve Chamberlain
9fdf266ccc * ar.c (move_members): Fix it so that the abi positional modifiers
don't delete all archive members following the insert point.
1994-03-09 21:53:54 +00:00
Steve Chamberlain
e52e2acd51 * coffgrok.[ch]: New files, understand coff objects.
* coffdump.c: Uses coffgrok to dump out the debug info of a coff
	file.
	* sysroff.info: Description of a SYSROFF object file.
	* sysinfo.y, syslex.l: Parse info file, generate a reader, writer,
	header files and a printer.
	* srconv.c: Uses coffgrok.c and sysroff.info to convert a coff
	file to a SYSROFF file.
1994-03-08 21:53:19 +00:00
Ian Lance Taylor
33e61c95a2 Set Emacs local variables to never use version control. 1994-03-08 19:16:31 +00:00
Stan Shebs
6eb243a23d Sat Feb 26 13:35:26 1994 Stan Shebs (shebs@andros.cygnus.com)
* ar.c (do_quick_append): Pad with a genuine character 10,
	rather than whatever '\n' might happen to be.
1994-02-26 21:38:04 +00:00
David MacKenzie
7681bc7b30 * ar.c, bucomm.c, nlmconv.c, nm.c, objcopy.c, objdump.c,
size.c: Use bfd_get_error and bfd_set_error and new error names.
1994-02-17 18:10:18 +00:00
David MacKenzie
704bbd0dc3 * objcopy.c (strip_main, copy_main): Add missing 'break' in switch. 1994-02-11 23:56:49 +00:00
David MacKenzie
5d2f7e30c5 * objcopy.c (filter_bytes): Make MEMHUNK a char *, not PTR, so we
can do arithmetic on it.
1994-02-04 18:47:33 +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
6f9dff07e1 More changes to print ambiguous matches and use the
abstracting macros.
1994-02-03 13:08:29 +00:00
David MacKenzie
0c5dc23cc9 * nlmconv.c (main): Use bfd_get_flavour instead of struct member.
* ar.c (print_contents, extract_file), size.c
	(print_berkeley_format): Use bfd_get_filename and
	bfd_my_archive instead of dereferencing the structs directly.
1994-02-03 01:39:10 +00:00
David MacKenzie
0c62139f90 * ar.c: Use bfd_fatal and bfd_nonfatal instead of bfd_perror and exit.
Indent.  Remove DEFUNs.
1994-02-03 00:42:37 +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
Stan Shebs
0886e098c5 Tue Jan 25 19:40:54 1994 Stan Shebs (shebs@andros.cygnus.com)
* bucomm.c (print_arelt_descr): Change decl of `when' to time_t.
	* objdump.h: Removed.
1994-01-26 03:45:21 +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
David MacKenzie
db2e6adb5b * binutils.texi (objdump): Note some limitations of -h section
address printing.
1994-01-24 21:31:01 +00:00
Stan Shebs
3785367375 Minor MPW compatibility tweaks. 1994-01-23 00:31:14 +00:00
David MacKenzie
eae821453c * objdump.c (list_matching_formats): If the file format is ambiguous,
print the matching names so the user can choose one.
	(display_bfd): Call it.
	(display_file): Call it.
1994-01-22 05:11:40 +00:00
Ian Lance Taylor
722087ec13 * objdump.c (disassemble_data): Support bfd_arch_rs6000. 1994-01-22 00:19:02 +00:00
Stan Shebs
fe2750e101 Mon Jan 17 13:57:25 1994 Stan Shebs (shebs@andros.cygnus.com)
* objdump.c (stab_name): Allocate dynamically.
	(stab_print): Use pointers to strings instead of char arrays.
	(dump_stabs): Change alloc and init of arrays appropriately.
	(dump_stabs_1): Always decide whether to print stab_name or
	the stab's type number, if unnamed.
1994-01-17 22:03:42 +00:00
Ian Lance Taylor
46050fe4d0 * objcopy.c (strip_main, copy_main): Don't clobber the input file
if copy_file fails.
1994-01-14 21:44:44 +00:00
Ian Lance Taylor
1edb7335e6 * nlmconv.c (main): Warn about an attempt to use a shared library
with uninitialized data.
1994-01-14 20:58:43 +00:00
Ian Lance Taylor
e70f2bde6f * nlmconv.c (setup_sections): Make sure that we align the
output_offset of each input section appropriately.
1994-01-14 19:55:42 +00:00
Ian Lance Taylor
02a68547b9 * objdump.c (dump_relocs): Don't crash if section name is NULL. 1994-01-13 22:34:51 +00:00
Ken Raeburn
096aefc040 * bucomm.c (xmalloc, xrealloc): Deleted.
* bucomm.h (xmalloc, xrealloc): Prototypes fixed to correspond to libiberty
versions.
1994-01-09 20:37:30 +00:00
David MacKenzie
eae0423857 * binutils.texi: Add a chapter summarizing the ways to select
aspects of the target for each program.

	* objdump.c (long_options, usage): Add long equivalents for all
	remaining short options that lacked them.
	* binutils.texi objdump.1: Document them.

	* size.c (usage): Tweak usage message.
	* size.1: Add missing `=' in examples.

	* binutils.texi strip.1 objcopy.1 nlmconv.1 objcopy.c nlmconv.c:
	Use "--target=bfdname" as the option to select the BFD target,
	like nm and size already do.
	Reserve "--format=format" for textual output selection options, but
	for now keep old option names as obsolete for backward compatibility.

	* strings.c (main, strings_object_file, usage): Add --target option.
	* binutils.texi strings.1: Document it.
1994-01-06 19:49:06 +00:00
Ian Lance Taylor
9ef23d71b3 Various entries. 1993-12-23 17:29:32 +00:00