Commit Graph

536 Commits

Author SHA1 Message Date
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 a6afc09071 * objcopy.c (copy_object): Revert yesterday's change.
* binutils.texi, objcopy.1: Remove special mention of --set-start
	and `binary' output format.
1994-10-19 18:11:10 +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 09250cfef7 * binutils-all/objcopy.exp: New file.
* config/default.exp: Initialize OBJCOPY and OBJCOPYFLAGS.
1994-10-18 15:51:03 +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
Ian Lance Taylor 3aba335daf Rewrite testsuite.
* configure.in, Makefile.in: Remove.
	* binutils-all/configure.in, binutils-all/Makefile.in: Remove.
	* binutils-all/bintest.c: Remove.
	* binutils-all/bintest.s: New file.
	* binutils-all/nm.exp, binutils-all/objdump.exp: Rewrite.
	* binutils-all/size.exp: Rewrite.
	* config/default.exp: Load utils-lib.exp.  Set AS and ASFLAGS.
	Don't go up one directory from $base_dir.  Create tmpdir.
	(binutils_run, binutils-assemble): New procedures.
	* config/unix.exp: Remove.
	* config/mt-a29k-udi, config/mt-i386-aout: Remove.
	* config/mt-i960-nindy, config/mt-lynx, config/mt-m68k: Remove.
	* config/mt-mips-ecoff, config/mt-slite: Remove.
	* config/mt-sparc-aout, config/mt-vxworks: Remove.
	* lib/utils-lib.exp (binutil_version): Don't redirect standard
	input when getting version.  Don't unset errorInfo.
	(default_binutils_run): New procedure.
	(default_binutils_assemble): New procedure.
1994-10-14 18:56:29 +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 70605a77d0 * configure.in (configdirs): Change binutils.all to binutils-all. 1994-09-30 03:49:54 +00:00
Ian Lance Taylor 7f23bcab2c * VMS does not permits `.' in directory names. Renamed
binutils.all to binutils-all.
1994-09-29 16:46:53 +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 98e9482ab5 * configure.in: Use mt-m68k for m68k*-*-aout* and m68k*-*-coff*,
not for m68k-*-*.
1994-09-28 17:07:26 +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 28d1b01e43 * objdump.c (dump_section_header): Print the SEC_NEVER_LOAD flag. 1994-09-13 18:18:01 +00:00
Ian Lance Taylor 9b6cf6b6b1 * config/unix.exp: If nm.new does not exist, use [transform nm].
* config/default.exp: Likewise.
1994-09-02 16:55:54 +00:00
Ken Raeburn 1fde209cc1 rewrite sanitize lines so as not to confuse bsd make 1994-08-30 19:45:05 +00:00
Ian Lance Taylor c730978489 * configure.in, binutils.all/configure.in: Change i386 to
i[345]86.
1994-08-24 16:43:54 +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
Bill Cox 334bf283ab * config/mt-mips-ecoff: Add -Tidp.ld option. 1994-07-19 22:25:03 +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