Commit graph

382 commits

Author SHA1 Message Date
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