Thu Dec 29 01:48:03 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)

	* ld.c, ar.c: Don't define COFF_ENCAPSULATE automatically.
	The recommended Makefile change defines it.

	* ld.c (alloca): If compiling with GCC, use __builtin_alloca.

	* robotussin.c: New reformatted version with all variables renamed.

	* ranlib.c: New file, just runs `ar rs' on each specified file.
	* Makefile: Special hack to tell ranlib where to find GNU ar.
	(LIBS): Recommend -lPW on USG; ld needs it for alloca (if not GCC).

Sat Dec 24 13:59:09 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)

	* ld.c (error): Start with name of program running.
	(main): Set `progname' to that name.
	(digest_symbols): Fix punctuation and spelling in calls to `error'.

Tue Dec 20 21:49:46 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)

	* robotussin.c (INPUT_MAGIC): New macro, has the magic number
	to expect in input files.
	(nounderscore): New macro; as in ld, define it to inhibit
	adding underscore to symbols.

	* Makefile: Don't compile objdump on BSD; N_DATADDR causes trouble.

Tue Dec 20 14:57:38 1988  Pace Willisson  (pace at prep.at.mit.edu)

	* objdump.c: New program like the system 5 'dump' program.
	Documentation will follow...

	* Makefile: Set up CFLAGS for USG systems.  Added target
	libc.a to do robotussin conversion.  Added objdump.

	* libconvert: Wrote shell script to do robotussin conversion.

	* ar.c, ld.c: Don't define COFF_ENCAPSULATE if it is already defined.

	* ld.c: If i386, set a_machtype to M_386.  Use a_flags instead
	of a_encap.  Don't compute coff header if it isn't going to
	get written out.

	* robotussin.c: Define COFF_ENCAPSULATE. Include a.out.encap.h
	instead of a.out.h.  Check magic number of input
	file.  Skip over optional header, if present.  Don't ignore
	symbols with aux entries (they could be function definitions),
	instead, ignore symbols beginning with '.' (.text, etc).
	Don't prepend underscore to externals, since gcc doesn't do
	it now.  Don't run past the end of symbols that are exactly
	eight characters long.  Always write the string table size,
	even if it is empty.  Change relocation types handled from
	R_PCRBYTE, etc, to R_DIR32 and R_PCRLONG (these are the
	only two emitted by the system 5 assembler.)

	* size.c: Include <sys/types.h> so including sys/file.h will
	not get an error on USG systems.  Include fcntl.h on usg systems.

	* strip.c: Move inclusion of file.h to after types.h.  Include
	fcntl.h.  Add defintion of rename.

Fri Dec 16 13:55:11 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)

	* size.c: Delete all ROBOTUSSIN conditionals and contents.
	Change SYSV conditionals to USG.
	COFF_ENCAPSULATE conditionals for headers.
	(do_one_file, read_header): Skip encapsulation headers if any.

	* strip.c: Delete all ROBOTUSSIN conditionals and contents.
	Change SYSV conditionals to USG.
	COFF_ENCAPSULATE conditionals for headers.
	(file_open, read_header): Skip encapsulation headers if any.

	* strip.c: Change most fatal errors to nonfatal.
	(file_open, read_header, read_{file,entry}_symbols):
	Now return 0 for success, -1 for failure.
	Failure means do no more for the current file.
	(modify_relocation): Now just warn if strip a symbol needed
	for relocation, and warn only once per file.
	(error_with_file): New function, replaces most fatal_with_file.
	Print filename first, as in most programs.
	(fatal_with_file): Deleted.
	(rewrite_file_symbols): Use perror_file when system call fails.

Tue Dec 13 17:16:39 1988  Jay Fenlason  (hack at apple-gunkies.ai.mit.edu)

	* ar.c:  Changed pad character after odd-length archive member
	from \0 to \n so archives can be cmp'd with the output from /bin/ar
	Added fix for when ranlib is using ar to insert an __.SYMDEF member

Tue Dec 13 09:09:27 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)

	* ar.c: conditional #includes for USG.
	* COFF_ENCAPSULATE conditionals for headers.
	(extract_member): Don't do fchmod if USG.
	Alternate USG code to set modtimes of extracted members.
	(write_archive): Don't do fsync if USG.
	(make_new_symdefs): Skip encapsulation headers if any.
	[USG] (bcopy, bzero, bcmp): New fns.

	* nm.c: Delete all ROBOTUSSIN conditionals and contents.
	Include types.h.
	Change SYSV conditionals to USG.
	* COFF_ENCAPSULATE conditionals for headers.
	(do_one_file): Skip encapsulation headers if any.
	(read_header): Likewise.

	* ld.c: Delete all ROBOTUSSIN conditionals and contents.
	Change SYSV conditionals to USG.
	Change HEADER_TYPE back to `struct exec'.
	(L_SET): Define it if headers don't.
	* COFF_ENCAPSULATE conditionals for headers.
	(main): Update text_size differently if encapsulating.
	(write_header): Write the encapsulation headers if nec.
	Don't end with padding if encapsulation being done.
	[USG] (bzero, bcopy, getpagesize): New fns.

Tue Dec  6 13:26:56 1988  Randall Smith  (randy at apple-gunkies.ai.mit.edu)

	* ld.c (do_file_warnings): Ignored text relocation entries that
	went through local symbols; any problems with lack of definitions
	etc. with them would have been caught by the compiler.

Mon Dec  5 16:13:22 1988  Jay Fenlason  (hack at sugar-bombs.ai.mit.edu)

	* ar.c (make_new_symdefs): On error, close the input files.

Thu Nov 10 18:15:07 1988  Randall Smith  (randy at apple-gunkies.ai.mit.edu)

	* ld.c: Put declaration of alloca inside an #ifdef so that it
	wouldn't mess up on the sparc.

	* ld.c: Added #define CORE_ADDR for include of symseg.h from gdb
	and took out TARGET == SUN2 for sun2 INITIALIZE_HEADER.

Wed Nov  2 18:43:09 1988  Randall Smith  (randy at gluteus.ai.mit.edu)

	* ld.c: Merged in isi68k port.  This included a kludge for symbols
	starting with _$ (#ifdef DOLLAR_KLUDGE) and addition of the
	STANDARD_SEARCH_DIRS macro to override the default if it's
	defined. 

	* ld.c: Added code for the N_WARNING symbol type.  If a reference
	is found to a symbol in an input .o file which contains an
	N_WARNING symbol, a warning message (the name of the N_WARNING
	symbol) is printed.  This name is treated as a printf format
	string; the name of the symbol referenced (which caused the
	warning) is supplied as a single argument to the print which
	interpets this string.

Tue Nov  1 16:57:00 1988  Randall Smith  (randy at gluteus.ai.mit.edu)

	* ld.c: Added code for Sun 2.

	* ld.c: Modified access to the relocation information to be *much*
	more general; added in sparc support.  This change is a minor
	performance hit; the perform_relocation routine uses about 0.1
	seconds more time on linking gdb than did the original ld.
	(perform_relocation is about 5% of the total time the loader
	spends).  The price of generality.

Thu Aug  4 13:20:50 1988  Randy Smith  (randy at rice-chex.ai.mit.edu)

	* Modified ld.c to print only the first 10 unresolved references
	for each symbol, followed by a message indicating that there are
	more unresolved references that have not been printed (if indeed
	there are).  Made default behaivior upon errors *not* writing any
	output file at all.  Also added the -noinhibit-exec flag to force
	writing of an executable when that was desirable.

Tue Aug  2 12:04:01 1988  Randy Smith  (randy at rice-chex.ai.mit.edu)

	* Modified ld.c to give line numbers wherever possible on
	unreferenced symbols.  Added a new symbol (N_DSLNE) to allow for
	the same mapping of data location to line number as is done for
	text segments by N_SLINE.  Added code to sort the relocation
	entries when it is necessary to output these line numbers.  The
	assumption was made that both N_SLINE and N_DSLNE symbols would
	always be in order by address.

Wed Jul 27 15:13:08 1988  Randy Smith  (randy at rice-chex.ai.mit.edu)

	* Modified ld.c to include a facility for equivalencing two
	symbols (translating one to another).  Modified lib/a.out.h to
	include a definition of this new symbol.  Modified nm.c to
	recognize this symbol and all of the set element and vector
	symbols I had added before.

Thu Jul 21 17:06:10 1988  Randy Smith  (randy at rice-chex.ai.mit.edu)

	* Modified ld.c to printout source file and line numbers for
	unresolved references whenever possible (ie. whenever the input
	file has debugger symbols and the reference is from the text area).

Wed Jul 13 17:21:33 1988  Randy Smith  (randy at frosted-flakes.ai.mit.edu)

	* Modified ld.c and a.out.h to handle new types of symbols; the
	loader can now create "sets" of symbols from entries in its input
	files.  See a.out.h for more info.  Also fixed a bug in ld in
	which references to common areas that we not defined in one pass
	of the loader caused errors on the next.

Sat Jul  2 00:05:44 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)

	* ld.c (symdef_library): Error check was off by one.

Mon May  9 12:53:08 1988  Chris Hanson  (cph at kleph)

	* ar.c (replace_members): After updating map, write out
	`change_map->next' rather than `map', since the latter may be
	null.
