Commit Graph

525 Commits

Author SHA1 Message Date
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
9590fa867b * dep-in.sed: Substitute $(BFDDIR) for @BFDDIR@.
* Makefile.in: Rebuild dependencies.
	(dep.sed): Substitute $(BFDDIR) for @BFDDIR@.
1996-04-18 20:03:52 +00:00
Ian Lance Taylor
f32fb3fd1f * rdcoff.c: New file.
* rddbg.c (read_debugging_info): Read COFF symbols if COFF flavour
	and no stabs were found.
	* budbg.h (parse_coff): Declare.
	* Makefile.in: Rebuild dependencies.
	(CFILES): Add rdcoff.c.
	(DEBUG_OBJS): Add rdcoff.o.
1996-04-16 17:53:58 +00:00
David Edelsohn
2afb4d5ddb * nlmconv.c (choose_temp_base{,_try}): Delete, in libiberty now.
(link_inputs): Update call to choose_temp_base.
1996-04-15 22:57:02 +00:00
Ian Lance Taylor
b4cb4ea2ac * configure.in: Permit --enable-shared to specify a list of
directories.
	* configure: Rebuild.
1996-04-08 18:45:08 +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
J.T. Conklin
c31418c180 * nlmconv.1: Changed to be recognized by catman -w on Solaris. 1996-03-29 19:36:44 +00:00
Ian Lance Taylor
16bd15e9af * wrstabs.c (stab_enum_type): Set buf before using it. 1996-03-28 19:25:17 +00:00
Ian Lance Taylor
15731fdc0b * stabs.c (struct stab_handle): Add field abfd.
(start_stab): Add abfd parameter.
	(parse_stab_string): Skip the symbol leading char when searching
	for the value of a global symbol.
	* budbg.h (start_stab): Update declaration.
	* rddbg.c (read_section_stabs_debugging_info): Pass abfd to
	start_stab.
	(read_symbol_stabs_debugging_info): Likewise.
1996-03-22 20:51:47 +00:00
Ian Lance Taylor
f8910eff75 Wed Mar 20 18:08:19 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* objdump.c (disassemble_data): Make sure sym_name is always set.
	(dump_section_header): Always put a space after the section name.
	(dump_bfd_header): Terminate output with newline.
1996-03-20 23:09:56 +00:00
Ian Lance Taylor
5a52c5f8fe * wrstabs.c: New file.
* budbg.h (write_stabs_in_sections_debugging_info): Declare.
	* objcopy.c (write_debugging_info): For COFF or ELF, output stabs
	in sections.
	* Makefile.in: Rebuild dependencies.
	(CFILES): Add wrstabs.c.
	(WRITE_DEBUG_OBJS): New variable.
	($(OBJCOPY_PROG)): Use $(WRITE_DEBUG_OBJS), not $(DEBUG_OBJS).
	($(STRIP_PROG)): Likewise.
1996-03-20 21:51:25 +00:00
Ian Lance Taylor
a912e811fc * configure.in: Add AC_FUNC_VFORK.
* configure, config.in: Rebuild.
	* dlltool.c, nlmconv.c: Include <vfork.h> if HAVE_VFORK_H is
	defined.
1996-03-18 23:52:43 +00:00
Ian Lance Taylor
6ae6090e22 * stabs.c (parse_stab_range_type): A complex type is defined as a
subrange of itself with the high bound zero.
	* ieee.c (ieee_complex_type): Don't crash on sizes of 12 or 16.
1996-03-18 23:06:29 +00:00
Ian Lance Taylor
efda824b08 * ieee.c (ieee_write_undefined_tag): Switch to global_types even
if it is not empty.
	(ieee_tag_type): For an enum, look through info->enums.
1996-03-12 19:33:31 +00:00
Ian Lance Taylor
ea2488ad2e * configure: Rebuild with autoconf 2.8. 1996-03-12 17:22:07 +00:00
Ian Lance Taylor
e1b8810917 * debug.c (debug_type_samep): Don't loop endlessly in
DEBUG_KIND_ENUM case.  From Eric Baur <ecb@nexen.com>.
1996-03-12 17:10:22 +00:00
Ian Lance Taylor
89a8a65d62 * rddbg.c (read_section_stabs_debugging_info): Call save_stab for
each stab entry, call stab_context on an error, and call
	free_saved_stabs before rturning.
	(read_symbol_stabs_debugging_info): Likewise.
	(SAVE_STABS_COUNT): Define.
	(struct saved_stab): Define.
	(saved_stabs, saved_stabs_index): New static variables.
	(save_stab, stab_context, free_saved_stabs): New static functios.
1996-03-11 17:38:16 +00:00
Stan Shebs
ad77e2b8ab * mpw-make.sed: Update to handle shared library support. 1996-02-27 02:13:37 +00:00
Ian Lance Taylor
ce67d0c3ac Sat Feb 24 11:21:49 1996 Alan Modra <alan@spri.levels.unisa.edu.au>:
* Makefile.in ($(OBJDUMP_PROG)): Search $(BFDLIB) before
	$(OPCODES).
1996-02-24 19:22:35 +00:00
Ian Lance Taylor
2724d37edf * configure.in: Don't tamper with LDFLAGS. Call AC_PROG_CC before
configure.host.
	* configure: Rebuild.
1996-02-15 22:12:32 +00:00
Ian Lance Taylor
efa864530f * configure.in: Substitute RPATH_ENVVAR.
* configure: Rebuild.
	* Makefile.in (RPATH_ENVVAR): New variable.
	(check): Use $(RPATH_ENVVAR) rather than LD_LIBRARY_PATH.
1996-02-15 18:57:34 +00:00
Ian Lance Taylor
2a7f07fefa * objcopy.c (smart_rename): Rather than doing chmod then chown, do
chmod without setuid, then chown, then chmod with setuid.
1996-02-15 17:46:49 +00:00
Ian Lance Taylor
f566f73fea Wed Feb 14 16:46:42 1996 Martin Anantharaman <martin@mail.imech.uni-duisburg.de>
* arsup.c (map_over_list): Reindent.  Don't assume that the
	function does not delete the BFD.
	(ar_addlib_doer): Don't set prev->next if prev is NULL.
1996-02-14 21:48:20 +00:00
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