Fri Mar 20 12:07:15 1987  Richard M. Stallman  (rms at prep)

	* COPYING: Clarifications about distribution fees and mixing.
	* main.c (copying_info): Same changes.

Tue Mar 17 17:40:14 1987  Richard M. Stallman  (rms at prep)

	* values.c (unpack_field_as_long): Avoid >>= operator
	since ISI compiler has a bug.

Sat Mar  7 12:19:35 1987  Richard M. Stallman  (rms at prep)

	* GDB version 2.1.

	* values.c (unpack-field-as-long): Tests for endianness were broken.
	* findvar.c (read_var_value):
	Now we initialize the union as an int and test it as a char.

Sun Mar  1 16:16:20 1987  Richard M. Stallman  (rms at prep)

	* main.c (define_command): Command class symbols
	must be cast to int.

Mon Feb 23 02:47:44 1987  Richard M. Stallman  (rms at prep)

	* source.c (list_command): Reword error messages.
	New message for case of first arg not just a line-number
	and no symtab specified by it.

Sun Feb 22 21:15:19 1987  Richard M. Stallman  (rms at prep)

	* dbxread.c (compare_misc_functions):
	Compare the addresses as unsigned numbers.

Sun Feb 22 13:11:45 1987  Richard Mlynarik  (mly at prep)

	* main.c (define_command, document_command):
	Stuff was being unnecessarily malloced (-and- not freed!)

	* main.c (execute_command):
	User-defined commands don't take args.
	Don't confuse empty user command with no command.
	Replace bogus `etext' test with a comparison against
	class_user.

	* main.c (define_command):
	If the command of the specified name is built-in, note that when
	asking whether to redefine it (this is suppressed for class_alias
	-- should it not be?)

	* main.c (define_command):
	If command was previously built-in, don't preserve its
	documentation (otherwise could get error later when trying to free
	the non-malloced text of built-in documentation strings)

Tue Feb 17 16:23:57 1987  Richard Mlynarik  (mly at prep)

	* main.c (echo_command): Don't die if not given any arg.
	* main.c (cd_command):  Echo new cwd if interactive.

Thu Feb 12 11:22:56 1987  Richard M. Stallman  (rms at prep)

	* stack.c (initialize): "bt" now appears in help aliases.

	* Version 2.0 released.

Wed Feb 11 17:45:45 1987  Richard M. Stallman  (rms at prep)

	* m68k-opcode.h: Errors corrected in several instructions
	and reordering done for assembler's sake.

	* m-vax.h (POP_FRAME): End with call to set_current_frame.

Tue Feb 10 15:06:07 1987  Richard M. Stallman  (rms at prep)

	* infrun.c (wait_for_inferior): Set stop_print_frame to 1
	after checking breakpoint condition.

	* infcmd.c (run_stack_dummy): Save many flags.

Thu Feb  5 07:12:20 1987  Richard Mlynarik  (mly at prep)

	* source.c (directory_command):
	Step over `:'

Mon Feb  2 23:40:32 1987  Richard M. Stallman  (rms at prep)

	* infcmd.c (set_environment_command): Fix stupid error
	for case where no "=" appears in the string.

Mon Jan 26 13:46:52 1987  Richard M. Stallman  (rms at prep)

	* printcmd.c (print_frame_args): Round end-of-arg offset
	up rather than down to multiple of int.

Fri Jan 23 15:11:50 1987  Richard M. Stallman  (rms at prep)

	* source.c (directory_command): If dir is not added cause already
	present, print explanation.

	* infrun.c (proceed): Use read_pc (), not stop_pc,
	to get current pc to think about.  stop_pc could have been
	clobbered by call_function.

Fri Jan 23 15:00:55 1987  Richard Mlynarik  (mly at prep)

	* source.c (directory_command):
	If dir is already in source_path, don't append another copy of it.

Thu Jan 22 00:31:03 1987  Richard M. Stallman  (rms at prep)

	* Version 2.0.

	* blockframe.c (get_pc_function_start):
	Understand misc functions.

	* core.c (core_file_command):
	Copy all register contents into the array `registers'
	Save a.out header of executable file in core_aouthdr.
	Print name of executable file that was running, if we know
	where to find it.

	* core.c (exec_file_command):
	Save a.out header in exec_aouthdr and file's mtime
	in exec_mtime.

	* core.c (validate_files): Check that core file's a.out hdr
	matches exec file's.

	* New handling of registers:
	Now all registers are fetched once when the program stops or
	when a core file is selected.  Their contents are kept in
	`registers', an array of bytes.  This is done by
	`fetch_inferior_registers'.  `read_register', etc., just look
	there.  Writing a register works through
	`store_inferior_registers' which writes one or all registers
	from `registers' back to the inferior.

	A register now can have a "raw" data format and a "virtual"
	data format, which may require conversion or even be different sizes.
	The conversion can be different for different registers.
	For example, the 68000 cpu registers need no conversion
	and both raw and virtual size is 4, but the 68881 floating point
	registers have raw size 12 (for extended fmt) and virtual size 8
	(for double).  Macros in the m- file such as REGISTER_BYTES,
	REGISTER_BYTE, REGISTER_{RAW,VIRTUAL}_SIZE, and
	REGISTER_CONVERT_TO_{RAW,VIRTUAL} control these things.

	`read_register' and `write_register' are usable only on registers
	which hold an int and need no conversion (raw fmt = virtual fmt).
	For other registers, `read_register_bytes' is used, or
	`read_relative_register_raw_bytes'.

	* m-sun3.h: Define the 68881 fp registers.
	Know how to recognize insns that save them.
	Make dummy frames save them.

	* core.c (read_register, write_registers): Functions deleted.
	* findvar.c (read_register, write_registers): New functions,
	not the same as the old ones of the same name.

	* findvar.c (supply_register): Function used by
	fetch_inferior_registers, etc., to install the register
	values fetched from the inferior.

	* findvar.c (read_register_bytes, write_register_bytes):
	Read spec'd number of bytes from the byte-array `registers'.

	* findvar.c (read_relative_register_raw_bytes):
	Replaces old function `read_relative_register'; accepts
	address of where to store the contents; # bytes stored is size
	of the specified register in raw format.

	* findvar.c (value_of_register, read_var_value):
	Convert register values and values of register variables
	from raw format to virtual format.

	* findvar.c (locate_var_value): Like `read_var_value' but
	returns value for variable's address.

	* value.h: Add new field VALUE_REGNO to each value.  It holds
	register number to control virtual-to-raw conversion
	for assignments to the value.

	* valops.c (value_assign): Convert data from virtual to raw format
	if value came from a register variable.
	Use read_register_bytes and write_register_bytes.


	* infcmd.c (continue_command): Subtract 1 from arg
	before setting breakpoint's ignore-count.

	* infcmd.c (jump_command): Query if spec'd line is outside
	of the current function.

	* infcmd.c (finish_command): Now finish the selected frame,
	and no arg required.

	* infcmd.c (set_environment_command): Allow space to separate
	varname and value.

	* infcmd.c (registers_info): Print both raw and virtual data
	format if they differ.  Allow register name as arg.
	Ask for a Newline each 16 registers.

	* inflow.c (kill_inferior): call mark_breakpoints_out.
	* inflow.c ({fetch,store}_inferior_registers for Sun):
	Get the fp registers and store them in right places in
	`registers'.
	* inflow.c ({read,write}_inferior_register): Deleted.

	* infrun.c (wait_for_inferior): Single-stepping is not considered
	to have hit a breakpoint unless the pc before the step matches the
	address of the breakpoint.  Necessary on machines where
	breakpoints leave the pc incremented.

	If shell gets SIGSEGV, pass the signal silently to it.

	* m68k-pinsn.c, m68k-opcode.h:
	Add the 68881 instructions.  New operand codes `F', `I', `s'
	and `k' are needed for them.  New place codes `78tcik'.
	NEXTBYTE now skips a word but fetches just a byte.
	Explicit sign-extension removed from NEXTBYTE and NEXTWORD.
	NEXTSINGLE, NEXTDOUBLE, NEXTEXTEND and NEXTPACKED defined.
	Various changes to implement the new operand and place codes.
	print_index changed because displacement-size codes for
	word and long displacement were interchanged.

	* m68k-pinsn.c (convert_{from,to}_68881): Functions added
	to support REGISTER_CONVERT_TO_{RAW,VIRTUAL} on 68000.

	* main.c (main): Move around calls to setjmp.
	* main.c (define_command, document_command):
	Accept a from_tty argument instead of calling input_from_terminal_p.

	* printcmd.c (address_info): Print info on class and address
	of a specified symbol.  For register symbols, gives name of register.

	* printcmd.c (print_command): Remember explicitly whether
	`make_cleanup' was called.

	* printcmd.c (print_frame_args): Know how arg-addresses vary with
	data type on big-endian machines.

	* source.c (directory_command): Detect `:' in arg and reject it.
	Free the old directory-path.  Simplify things like `/.' in
	dirname.

	* source.c (openp): Simplify `./' in specified name.

	* source.c (find_source_lines): Compare source mtime against
	`exec_mtime' and warn if source is newer.

	* source.c (line_info): No arg means use last line listed
	or line following last one this command was used on.
	If from tty, clear out argument so Return is like `i li' without
	arg.

	* stack.c (frame_info): Print addresses registers are saved at.

	* stack.c (return_command): When asking for confirmation, give
	name of function that will be made to return.

	* valops.c (call_function): If function type is
	pointer-to-function, dereference it to compute return type.
	If pointer-to-object, assume function returns int.
	If char, assume that the value's address is the function address
	(because it's a misc functon).  If int, the value itself is the
	function address.

	* dbxread.c (compare_symbols): Sort register symbols
	before all others.

	* eval.c (evaluate_subexp_for_address): New function like
	`evaluate_subexp' but returns a value for the address where
	the subexpression's value would be located.

	* eval.c (evaluate_subexp_for_sizeof): New function like
	`evaluate_subexp' but returns a value for the size of the subexp.

	* eval.c (evaluate_subexp_with_coercion): Like `evaluate_subexp'
	but coerces arrays to pointers (without taking the time to
	read the array contents).

	* eval.c (evaluate_subexp): Use the three new functions above
	when appropriate instead of calling self recursively.

Wed Jan 14 17:00:03 1987  Richard Mlynarik  (mly at prep)

	* core.c (core_file_command):
	Use correct file in calls to perror_with_name

Mon Jan 12 03:34:35 1987  Richard Mlynarik  (mly at prep)

	* breakpoint.c (map_breakpoint_numbers):
	Err if no args not supplied, otherwise would get mpv.

	* main.c (main):
	Command-line arg "-d dir" adds dir to source-file directory
	search-list.

Sun Jan 11 19:19:52 1987  Richard Mlynarik  (mly at prep)

	* symmisc.c (free_all_symtabs):
	Don't call free on 0.

	* core.c (exec_file_command):
	Use correct name in call to perror_with_name.
	Record absolute pathname.
	Don't savestring an arg to concat.

	* dbxread.c (symbol_file_command):
	Record absolute name of pathname opened.
	Print a message if file doesn't have a symbol-table.
	Don't savestring an arg to concat.

	* source.c (openp):
	Add new arg filename_opened, which if non-zero will be set to a
	malloced string of the absolute name of the actual filename opened.

	* breakpoint.c (clear_command):
	If from_tty or cleared more than one breakpoint at location,
	print which bpts were deleted.

	* breakpoint.c (break_command_1, break_command, tbreak_command):
	If from_tty, mention any other breakpoints set at same location.

	* symtab.c (decode_line_1):
	If no symtabs, err mentioning `symbol-file' command rather than
	saying "function foo not defined"

Fri Jan  9 01:25:19 1987 Richard Mlynarik  (mly at prep)

	* main.c (set_prompt_command):
	Add support command "set-prompt"

	* printcmd.c (undisplay_command):
	Fix paren error to make "undisplay <number>" work.

Wed Jan  7 12:06:09 1987  Richard Mlynarik  (mly at prep)

	* main.c (print_gdb_version, gdb_version_info):
	Add command "info version" to report the version
	of gdb for use in bug reports.

	* infcmd.c:
	Ensure inferior_args always points to string starting with a space
	and is never 0.	

	* printcmd.c: (clear_displays, undisplay_command):
	Fix bug in clear_displays which led to looping.
	Make undisplay_command call it instead of wrong-looking code which
	looked at (display->number == 0) instead of (display == 0) to
	determine if it were at the end of the chain.

Mon Dec 15 20:57:06 1986  Richard M. Stallman  (rms at prep)

	* utils.c (query): Don't ignore a second line if given a null line.

	* infrun.c (normal_stop): Print "bug in shell" message
	only for a segmentation fault.

	* main.c (main): Read init file from home directory if any,
	before init file from current directory.

Thu Dec  4 09:05:35 1986  Richard M. Stallman  (rms at prep)

	* source.c (select_source_symtab): Don't ref thru arg if null.

	* m68k.opcode.h: For trap instruction code, use type T.
	* m68k-pinsn.c (print_insn_arg): Recognize new arg-code T
	and print the trap vector properly.

	* m-sun[23].h (FRAME_FIND_SAVED_REGS): Recognize a movl REG,-(sp)
	as a way to save one register.  Recognize clrw -(sp); movw -(sp)
	after saving regs as a way to save the PS register.  Adjust the
	way to find the starting pc of a stack dummy frame for the fact
	that these frames now save the PS.

	* m-sun[23].h (POP_FRAME): Restore PS register if frame saved it.

	* m-sun[23].h (PUSH_DUMMY_FRAME): Push the old PS register.

	* m-sun[23].h (CALL_DUMMY, etc.): Fix erroneous binary code for
	the addl #nnn,sp instruction.  Insert clrw -(sp); movw -(sp)
	to indicate that the PS has been saved.

	* infrun.c (wait_for_inferior): If inferior exits, call
	mark_breakpoints_out so it works to delete breakpoints afterward.

	* infrun.c (normal_stop): After popping a stack dummy frame,
	select the frame that we get to.

	* dbxread.c (process_one_symbol): Store new `depth' field
	in all context_stack elements created.  For N_RBRAC, test
	that depth matches that in the context_stack; if not, error.

	* dbxread.c (all callers of error): Make all error messages
	start "Invalid symbol data: " and end with value of symnum.
	Also change a few aborts to errors.

Mon Dec  1 20:20:37 1986  Richard M. Stallman  (rms at prep)

	* version.c: Version 1.11.

	* breakpoint.c (condition_command): If no condition spec'd,
	print "breakpoint N now unconditional".

	* breakpoint.c (commands_command): Give different error messages
	for cases of args not containing a breakpoint number
	and args containing anything after the breakpoint number.

	* commands.c (lookup_command): Don't store a zero in *p
	if have an undefined subcommand that is not an error.

	* commands.c (lookup_command): For recursive call,
	pass subcommand list properly.  Was passing the address
	of the word containing the list.

	* core.c ({core,exec}_file_name): If no arg, tell user
	what the effect is.

	* dbxread.c (define_symbol): Accept class code 'v'
	for static variable within a function.

	* dbxread.c (read_type): Now allow any plain number or
	pair of numbers in parens, with no code letter.  This means
	define new type same as type with specified number, or define
	it as void if specified number's type is not yet mentioned.

	* m68k-pinsn.c (print_insn_arg): Case of general operand
	in byte insn that happened to be immediate used wrong arg-size.

	* printcmd.c (set_next_address): Set next_address from arg
	and also set value of `$_' from it.

	* printcmd.c (do_examine): Save address in last_examine_address
	and value fetched to examine in last_examine_value.

	* printcmd.c (x_command): Copy last_examine_{address,value}
	into values of `$_' and `$__'.  Change `x' documentation string.

	* source.c (directory_command): Query when no args now says
	what new value it wants use for the path.

	* source.c (list_command): Don't die in cases like `list ,+30'.

	* source.c (line_info): Call `set_next_address' to make `x'
	display the text of the line.  Change `info list' doc string.

Sat Nov 29 07:59:29 1986  Richard M. Stallman  (rms at prep)

	* printcmd.c (undisplay_command): If get no arg,
	rather than crashing, query and then delete undisplay everything.

Fri Nov 28 15:43:52 1986  Richard M. Stallman  (rms at prep)

	* dbxread.c (process_one_symbol): If N_LBRAC sym
	has a greater value that N_RBRAC, ignore the
	N_LBRAC value and give the block zero length.

Tue Nov 25 03:10:12 1986  Richard M. Stallman  (rms at prep)

	* dbxread.c (process_one_symbol): Ignore N_NSYMS symbols
	that appear in Ultrix.

Sat Nov 22 22:49:06 1986  Richard M. Stallman  (rms at prep)

	* version.c: version 1.10.

	* valprint.c (type_print*):
	SHOW < 0 now means abbreviate struct/union members
	or enum values with `...'.  SHOW now decremented on
	each recursion in type_print_base.  Several places
	that used to check !show now check show <= 0.

	* valprint.c (val_print): Pass -1 for SHOW to type_print
	when printing typename inside parens or braces.

	* printcmd.c (print_command): If no value specified to print,
	print the value of $.

	* expression.h, expread.y, eval.c, expprint.c:
	OP_MEMVAL renamed UNOP_MEMVAL
	and now allows any expression, not just an integer address.
	It now has same format as UNOP_CAST and works almost like it.
	Each place that referred to it has been rewritten
	starting with a copy of the code that handles UNOP_CAST.
	Doc for `print' command changed for this.

	* source.c (init_source_path):
	Free and zero out any line_charpos's saved in source symtabs.

	* breakpoint.c (condition_command):
	Parse the condition in the environment of the code where the
	breakpoint is set.  This requires finding the breakpoint
	before parsing, so code is rearranged.

	* dbxread.c (dbx_alloc_type):
	New function given typenums returns the type for those typenums
	or allocates a new, empty type for those typenums and returns it.

	* symtab.c (smash_type_to_{pointer,function}):
	New functions modify an already-allocated type object
	to be a pointer to or function returning some given type.

	* dbxread.c (read_type): Uses dbx_alloc_type in many cases.
	Reading a pointer or function type now works by doing that,
	then reading the value type or type pointed to, then smashing
	it into the type already allocated.  This makes some fwd refs win.
	Likewise for structs and unions.

	* dbxread.c (read_struct_type): Now receives the type object
	as args.  Used to get typenums as args and look up the type
	itself.

	* dbxread.c (symbol_file_command):
	At very end, clear out any type name that `char *' has received.

Thu Nov 20 16:43:53 1986  Richard M. Stallman  (rms at prep)

	* m-sun2.h, m-sun3.h (FIND_FRAME_SAVED_REGS):
	Was incrementing address even for regs not saved.

Sun Nov 16 14:59:07 1986  Richard M. Stallman  (rms at prep)

	* values.c (value_field): Was adding in byte offset
	before calling unpack_field_as_long, which itself
	adds in the offset.  Now pass addr of start of structure.

	* infrun.c (normal_stop): Clean up inferior_pid conditionals:
	just return early if no inferior.

Thu Nov 13 15:45:50 1986  Richard M. Stallman  (rms at prep)

	* dbxread.c (struct header_file): add new field .instance
	to distinguish the various entries for one header file.

	* dbxread.c (process_one_symbol): Use the `value' of
	a N_BINCL or N_EXCL as the instance code for the header file.

	* dbxread.c (add_{new,old}_header_file):
	Accept an instance code as arg and treat it as if it were
	part of the file name for distinguishing and finding entries.

	* dbxread.c (add_new_header_file, read_type):
	Turn off the header_file_prev_index feature with #if 0.

	* values.c (unpack_field_as_long, modify_field):
	Run-time test to distinguish big and little endian machines
	and do shifting accordingly.

Tue Nov 11 00:31:18 1986  Richard M. Stallman  (rms at prep)

	* version.c: version 1.9.

	* breakpoint.c (delete_command):
	Don't query if 2nd arg is zero.

	* breakpoint.c (clear_breakpoints):
	Pass 2nd arg of zero to delete_command.

Sat Nov  8 23:29:19 1986  Richard M. Stallman  (rms at prep)

	* breakpoint.c (delete_command):
	Ask for confirmation when used with no arg (delete all).

Fri Nov  7 11:23:09 1986  Richard M. Stallman  (rms at prep)

	* infrun.c (start_inferior, wait_for_inferior):
	Eliminate `stop_in_shell' which was not being maintained right.
	New variable `running_in_shell' is set to 1 or 0 when the
	expected SIGTRAPs happen, and is simply examined at other times.

	* infrun.c (wait_for_inferior):
	If get SIGSEGV with running_in_shell == 1, it is sh
	allocating memory.  Pass the signal silently to the shell.

	* core.c (exec_file_command):
	data_{start,end} are adjusted unconditionally when an
	exec file is opened, so closing counter-adjustment is
	now unconditional as well.

	* printcmd.c (x_command):
	Don't erase the expression from the calling args
	if cllaed noninteractively (used to be clobbering
	definitions of user-defined commands).

	* source.c (list_command): likewise.

Wed Nov  5 09:41:00 1986  Richard M. Stallman  (rms at prep)

	* Makefile: New variable OBSTACK1 that people can use
	to make obstack.o a dependency of gdb.

	* breakpoint.c (initialize):
	Define new aliases "br", "bre" and "brea" for "break".

Sun Nov  2 21:16:06 1986  Richard Mlynarik  (mly at prep)

	* symmisc.c (read_symsegs):
	Add an extra protection against invalid symbol-file

	* m-vax.h:
	Set KERNEL_U_ADDR and STACK_END_ADDR non-4.2-specifically

Tue Oct 21 13:34:14 1986  Richard Mlynarik  (mly at prep)

	* breakpoints.c (initialize):
	Delet reference to non-existent command "tenable" from doc of "enable"

Tue Oct 14 19:58:27 1986  Richard Mlynarik  (mly at prep)

	* printcmd.c (display_command, undisplay_command):
	* infcmd.c (run_command):
	Call dont_repeat. 


Local Variables:
mode: indented-text
eval: (auto-fill-mode 1)
left-margin: 8
fill-column: 74
version-control: never
End:
