mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-27 03:51:15 +08:00
1026 lines
36 KiB
Plaintext
1026 lines
36 KiB
Plaintext
Fri Jan 15 05:09:18 1988 Richard Stallman (rms at frosted-flakes)
|
||
|
||
* valprint.c [IEEE_FLOAT]: New function `is_nan' checks
|
||
whether a double is a nan.
|
||
|
||
* printcmd.c (print_formatted) [IEEE_FLOAT]:
|
||
Detect nans and print specially.
|
||
* valprint.c (val_print) [IEEE_FLOAT]: Same thing.
|
||
|
||
* m68k-pinsn.c (convert_{to,from}_68881): Hand-assemble
|
||
all the assembler code.
|
||
|
||
* m-newsinit.h, m-news800.h: Two new files.
|
||
|
||
Thu Jan 7 22:25:16 1988 Richard Stallman (rms at frosted-flakes)
|
||
|
||
* valops.c (value_assign): Don't coerce the arg being stored in.
|
||
Coercion is not right either for an array or for an enum.
|
||
|
||
Tue Jan 5 00:59:29 1988 Richard Stallman (rms at frosted-flakes)
|
||
|
||
* symtab.c (decode_line_1): Don't complain about no symtabs loaded
|
||
until after trying the misc function table.
|
||
|
||
Sat Jan 2 13:16:08 1988 Richard Stallman (rms at frosted-flakes)
|
||
|
||
* stack.c (record_selected_frame): New fn to access
|
||
the selected frame and its level.
|
||
* infcmd.c (run_stack_dummy): Save and restore the selected
|
||
frame and its level.
|
||
|
||
Wed Dec 30 18:44:41 1987 Richard Stallman (rms at frosted-flakes)
|
||
|
||
* valprint.c (type_print_varspec_prefix):
|
||
Treat arrays just like functions.
|
||
* valprint.c (type_print_varspec_{prefix,suffix}):
|
||
When passed_a_ptr is handled, pass 0 for it in the recursive call.
|
||
|
||
Fri Dec 18 10:24:14 1987 Richard Stallman (rms at frosted-flakes)
|
||
|
||
* findvar.c (read_var_value): Share code between values really
|
||
in registers and values in saved registers.
|
||
Register short on a big-endian machine needs a VALUE_OFFSET.
|
||
|
||
* findvar.c (locate_var_value): Offset the address of a
|
||
saved register variable that's shorter than the register.
|
||
|
||
Thu Dec 17 08:26:31 1987 Richard Stallman (rms at lucky-charms)
|
||
|
||
* valprint.c (type_print_base): Print nameless bit fields
|
||
to indicate gaps before bit fields.
|
||
|
||
* source.c (select_source_symtab): Ignore .h files.
|
||
Also, if a function `main' exists, make the default listing line
|
||
the beginning of `main'.
|
||
|
||
* breakpoint.c ({get,set}_breakpoint_commands):
|
||
Commands to examine or set the pending breakpoint-commands.
|
||
|
||
* infcmd.c (run_stack_dummy): Save and restore the breakpoint
|
||
commands around the function call.
|
||
|
||
* stack.c (return_command): Don't query or print if not interactive.
|
||
|
||
* value.h (COERCE_ENUM): New macro: if arg is enum, convert to int.
|
||
* value.h (COERCE_ARRAY): Do that, as well as old job.
|
||
|
||
* valarith.c (value_binop, value_neg, value_lognot):
|
||
Use COERCE_ENUM on the arguments.
|
||
* valops.c (value_arg_coerce): Likewise.
|
||
* valops.c (value_cast): AVOID coercing enums when arrays are.
|
||
|
||
* eval.c (evaluate_subexp): In the BINOP_SUB case,
|
||
use evaluate_subexp_with_coercion.
|
||
|
||
* inflow.c (terminal_ours_1, terminal_inferior):
|
||
Ignore inferior_thisrun_terminal since our terminal
|
||
is the inferior's controlling terminal regardless.
|
||
|
||
* m-sun3.h: Fix assembler syntax for kdb macros.
|
||
|
||
* infcmd.c ({attach,detach}_command): New functions from Dave Taylor.
|
||
* inflow.c (attach, detach): New functions from Dave Taylor.
|
||
* infrun.c (attach_process): New function, middle-level.
|
||
Does all the work of attaching a process, assuming there is no
|
||
inferior yet, except for printing and querying.
|
||
|
||
* infrun.c (clear_proceed_status): Clear `stop_after_attach'.
|
||
* infrun.c (wait_for_inferior): Handle `stop_after_attach'.
|
||
|
||
Sat Dec 12 04:36:39 1987 Richard Stallman (rms at corn-chex)
|
||
|
||
* dbxread.c (end_symtab): The free_code for a symseg got
|
||
from a file should be free_linetable.
|
||
|
||
* dbxread.c: Allocate blockvector, blocks, symbols and symbol names
|
||
from the symbol-obstack, and use free_linetable for all files.
|
||
The typevector is still malloc'd, so put it in the free_ptr
|
||
to get it freed.
|
||
|
||
* symmisc.c (free_symtab): Always free the `free_ptr' if nonzero.
|
||
`free_explicit' therefore now the same as `free_nothing'.
|
||
|
||
* dbxread.c (define_symbol): Handle defn code 'c', used by
|
||
fortran, which defines integer and real constant symbols.
|
||
|
||
* symseg.h: Define LOC_CONST_BYTES for constants longer than a
|
||
word. New `bytes' alternative for the value of a symbol.
|
||
|
||
* symtab.h (SYMBOL_VALUE_BYTES): Macro to access `bytes'.
|
||
|
||
* findvar.c ({read,locate}_var_value): Handle LOC_CONST_BYTES.
|
||
* printcmd.c (address_info): Handle LOC_CONST_BYTES.
|
||
* symmisc.c (print_symbol): Handle LOC_CONST_BYTES.
|
||
|
||
Tue Dec 8 20:26:37 1987 Richard Stallman (rms at frosted-flakes)
|
||
|
||
* symtab.c (find_line_pc_range): Detection of last line in file
|
||
was erroneous.
|
||
|
||
Fri Dec 4 21:52:52 1987 Richard Stallman (rms at frosted-flakes)
|
||
|
||
* dbxread.c (read_range_type): Accept the typenums as argument.
|
||
Use read_type_number to read the subrange-of type.
|
||
A type defined as a subrange of itself is void.
|
||
|
||
Thu Dec 3 12:45:10 1987 Richard Stallman (rms at frosted-flakes)
|
||
|
||
* inflow.c ({fetch,store}_inferior_registers): Support UMAX_PTRACE.
|
||
|
||
* m-umax.h: New file, for Encore machines.
|
||
|
||
* core.c (exec_file_command, etc): Decode COFF files.
|
||
* core.c (core_file_command): Support UMAX_CORE format.
|
||
* core.c (validate_files, exec_file_command):
|
||
Set exec_mtime in exec_file_command so that COFF vs non-COFF
|
||
differences appear all in one place.
|
||
|
||
* coffread.c: New file from Dave Johnson.
|
||
|
||
* core.c (specify_exec_file_hook): New function to specify
|
||
a hook to be called by exec_file_command. Last #ifdef X_WINDOWS gone.
|
||
* xgdb.c (initialize): Specify a hook.
|
||
|
||
* infrun.c, inferior.h: Replace stop_r0 and stop_r1 with an array
|
||
`stop_registers' that will hold ALL the registers.
|
||
* infcmd.c (run_stack_dummy): Get the value from `stop_registers'
|
||
and copy all of that into BUFFER.
|
||
* infcmd.c (finish_command): Specify `stop_registers'
|
||
to `value_being_returned'.
|
||
* values.c (value_being_returned): Use the new EXTRACT... macros.
|
||
* values.c (set_return_value): Use new STORE_RETURN_VALUE macro.
|
||
* valops.c (call_function): Allocate retbuf long enough for all regs.
|
||
* m-*.h: New macros EXTRACT_RETURN_VALUE, STORE_RETURN_VALUE and
|
||
EXTRACT_STRUCT_VALUE_ADDRESS that express machine-dependencies
|
||
in where return values are stored.
|
||
|
||
* valops.c (call_function): Flush default for CALL_DUMMY_START_OFFSET.
|
||
Assume it is defined.
|
||
* m-vax.h: Define CALL_DUMMY_START_OFFSET.
|
||
|
||
* ns32k-pinsn.c (ns32k-localcount): Fix decoding of `enter' insn.
|
||
* ns32k-pinsn.c (n32k_get_enter_addr): New fn used from m-umax.h.
|
||
|
||
* m-*.h: Change INVALID_FLOAT to accept 2nd arg which is length
|
||
of the float.
|
||
* values.c (unpack_double): Pass the 2nd arg.
|
||
* vax-pinsn.c (print_insn_arg): Pass the 2nd arg.
|
||
* infcmd.c (registers_info): Pass the 2nd arg.
|
||
|
||
Wed Nov 25 15:06:55 1987 Richard Stallman (rms at frosted-flakes)
|
||
|
||
* Bug fixes by David Johnson (ddj%cs.brown.edu@relay.cs.net).
|
||
|
||
* symtab.c (list_symbols): Print typedef names, and don't call
|
||
them `static'.
|
||
|
||
* symmisc.c (print_symtabs): Allow immediate quit, and close the
|
||
output file if that happens.
|
||
|
||
* stack.c (frame_command): Declare args `unsigned' so a negative
|
||
number is a frame address, not a level number.
|
||
|
||
* source.c: Check for error-return from calls to `getwd'.
|
||
|
||
* printcmd.c (address_info): Fix error in case of a function name.
|
||
|
||
* inflow.c (create_inferior): Return the inferior pid properly.
|
||
|
||
* inferior.h: Define `inferior_io_terminal'.
|
||
* infrun.c (tty_command): New command to specify inferior_io_terminal.
|
||
* inflow.c (new_tty): Open specified terminal for the inferior.
|
||
* inflow.c (terminal_{ours,inferior}): Do nothing if inferior was
|
||
started with its own terminal.
|
||
* main.c (main): -t switch calls `tty_command'.
|
||
|
||
* expread.y (rule for `block'): `copy_name' was called in wrong
|
||
place and with wrong args.
|
||
|
||
* dbxread.c: Entire file #ifdef READ_DBX_FORMAT.
|
||
* m-*.h: Define READ_DBX_FORMAT.
|
||
|
||
* breakpoint.c (initialize): Error in doc string of `info breakpoints'.
|
||
|
||
Wed Nov 11 12:57:28 1987 Richard Stallman (rms at frosted-flakes)
|
||
|
||
* ns32k-opcode.h, ns32k-pinsn.c: Two new files.
|
||
* m-merlin.h: New file, for one 32000 box.
|
||
|
||
Mon Nov 9 10:31:42 1987 Brian Fox (bfox at sugar-smacks)
|
||
|
||
* eval.c (evaluate_subexp): Made the case of OP_FUNCALL use
|
||
evaluate_subexp_with_coercion, so that array references would
|
||
get converted into pointer references.
|
||
|
||
Mon Nov 9 05:50:24 1987 Richard Stallman (rms at sugar-smacks)
|
||
|
||
* breakpoint.c (ignore_command): Error if no arg.
|
||
|
||
Sat Nov 7 13:57:40 1987 Richard Stallman (rms at frosted-flakes)
|
||
|
||
* main.c (quit_command): Get rid of execfile before the kill_inferior.
|
||
|
||
* xgdb.c: New file, interface to X windows.
|
||
|
||
* main.c (main): Look for flag arguments before
|
||
calling the initialization functions. -nw switch sets
|
||
`inhibit_windows' which xgdb.c looks at.
|
||
* main.c (command_loop): Call the window hook function, if any.
|
||
|
||
* source.c (get_filename_and_charpos): New function
|
||
that interfaces to find_source_lines.
|
||
* source.c (source_line_charpos, source_charpos_line):
|
||
New functions translate source line number to char pos and vice versa.
|
||
|
||
* breakpoint.c (describe_other_breakpoints): New subroutine
|
||
to list all breakpoints at PC in a message about "other
|
||
breakpoints".
|
||
* breakpoint.c (break_command_1): Use describe_other_breakpoints.
|
||
* breakpoint.c (set_breakpoint): Like break_command_1
|
||
but takes arg predecoded into symtab and line.
|
||
|
||
* core.c (exec_file_command): Call xgdb_display_exec_file.
|
||
|
||
* valprint.c (type_print_base): For struct bitfields,
|
||
print the bit size.
|
||
|
||
Thu Aug 20 02:46:47 1987 Richard M. Stallman (rms at prep)
|
||
|
||
* Version 2.4.
|
||
|
||
* m68k-pinsn.c (print_insn_arg): Implement place = '3'.
|
||
|
||
* findvar.c (write_register_bytes): Arg to
|
||
store_inferior_registers should be -1: write all registers.
|
||
|
||
* dbxread.c (symbol_file_command): If no arg,
|
||
just discard all symbols.
|
||
|
||
* core.c (myread): Flush the 4th arg (filename).
|
||
* source.c (find_source_lines): Don't pass 4th arg.
|
||
* symmisc.c (read_symsegs): Ditto.
|
||
|
||
* dbxread.c (process_one_symbol): One call to `define_symbol'
|
||
lacked 3rd arg.
|
||
|
||
* inflow.c (write_inferior_memory): On failure, return the errno value.
|
||
* core.c (write_memory): ditto.
|
||
* breakpoint.c ({insert,remove}_breakpoints): ditto.
|
||
* utils.c (print_sys_errmsg): Like perror_with_name but don't
|
||
signal an error; also, the error code is an arg instead of from
|
||
`errno'.
|
||
* infrun.c : Save the value from insert_breakpoints and pass it to
|
||
print_sys_errmsg.
|
||
|
||
* main.c (input_from_terminal_p): Put in omitted `return'.
|
||
|
||
* Makefile (expread.o): Use $(CC).
|
||
|
||
Sun Jun 7 04:42:51 1987 Richard M. Stallman (rms at prep)
|
||
|
||
* version.c: Version 2.3.
|
||
|
||
* inflow.c (terminal_ours): Save fcntl flags correctly.
|
||
* inflow.c (term_status_command):
|
||
Print the tchars and ltchars structures, byte by byte.
|
||
|
||
Mon May 25 14:37:14 1987 Richard M. Stallman (rms at prep)
|
||
|
||
* version.c: Version 2.2.
|
||
|
||
* breakpoint.c (do_breakpoint_commands):
|
||
Advance breakpoint_commands before executing the command,
|
||
in case command is `cont' and it hits another bpt with commands.
|
||
|
||
Sun May 24 20:45:04 1987 Richard M. Stallman (rms at prep)
|
||
|
||
* value.h: Declare `contents' long and cast its address to char *.
|
||
|
||
* expread.y (prefixify_expression): Don't call alloca among the decls.
|
||
|
||
* printcmd.c (print_variable_value): Flush unused local `space'.
|
||
|
||
* main.c (execute_command): Barf on "user" like other class names.
|
||
|
||
Fri May 22 01:34:37 1987 Richard M. Stallman (rms at prep)
|
||
|
||
* m68k-pinsn.c (fetch_arg): New arg position 'j', for movec.
|
||
(print_insn_arg): New arg syntax 'J', for movec.
|
||
* m68k-opcode.h: movec uses 'Jj'. Everything reformatted.
|
||
bf... and cas... insns were corrected.
|
||
|
||
* inflow.c (create_inferior): Fork and exec with given args and env.
|
||
Call close_exec_file.
|
||
(inferior_died): Record the fact that the inferior no longer exists.
|
||
Call reopen_exec_file.
|
||
|
||
* core.c (close_exec_file): New fn: Close the execchan if it's open.
|
||
(reopen_exec_file): New fn: Reopen execchan if not currently open.
|
||
|
||
* infrun.c (wait_for_inferior): Call inferior_died if it exits.
|
||
|
||
* infcmd.c (run_command): Don't fork and exec; call create_inferior.
|
||
|
||
* findvar.c (read_var_value): For reg var in a convertable reg,
|
||
fetch reg in its own virtual type and then cast to variable's type.
|
||
|
||
* symtab.h: Declare xmalloc to return char *.
|
||
|
||
* dbxread.c (read_dbx_symtab): Record static text syms as
|
||
misc-functions. But if an assembler symbol supplies the address
|
||
for a debugger symbol, don't record it as a misc-function.
|
||
|
||
* utils.c (query): Do clearerr (stdin) frequently in case of C-d.
|
||
|
||
* dbxread.c (process_one_symbol, define_symbol):
|
||
Pass the stab's DESC down to define_symbol.
|
||
DESC = 0 means GCC output: if type is "short", believe it.
|
||
|
||
* dbxread.c (read_enum_type): Don't allocate the type here;
|
||
take it as an argument. (Like read_struct_type.)
|
||
(read_type)): Before call to read_enum_type, allocate the type
|
||
or get the one already allocated.
|
||
|
||
* printcmd.c (print_frame_args): Print a comma before
|
||
every arg except the first.
|
||
|
||
Wed May 13 00:36:00 1987 Richard M. Stallman (rms at prep)
|
||
|
||
* m68k-pinsn.c (convert_{to,from}_68881):
|
||
Hand-assemble the fmoved and fmovex insns.
|
||
|
||
* dbxread.c (define_symbol): For case 'p', a parameter,
|
||
if specified type is short or char, change it to int.
|
||
This is for how PCC handles arguments.
|
||
Define new case 'P' that does what 'p' used to do.
|
||
Maybe GCC will use this.
|
||
|
||
Mon May 4 21:52:44 1987 Richard M. Stallman (rms at prep)
|
||
|
||
* main.c (main): If SET_STACK_LIMIT_HUGE, set the
|
||
run-time stack limit as high as it can go.
|
||
* m-sun3.h, m-vax.h: define SET_STACK_LIMIT_HUGE.
|
||
|
||
Sun May 3 08:46:23 1987 Richard Mlynarik (mly at prep)
|
||
|
||
* command.c, expread.y, findvar.c, infcmd.c, inflow.c, utils.c,
|
||
values.c, defs.h: Various ANSI C compatibility changes
|
||
(fouts@wilbur.arpa <8705010117.AA13112@wilbur.arpa>)
|
||
|
||
* core.c, inflow.c: Fix calls to supply_register.
|
||
* findvar.c (supply_register): Instead of register value as int,
|
||
pass address of buffer in core containing contents in raw form.
|
||
|
||
Sat Apr 18 17:09:42 1987 Richard Mlynarik (mly at prep)
|
||
|
||
* main.c (command_loop):
|
||
Do any cleanups made by a executing a command each time around.
|
||
|
||
* source.c (directory_command):
|
||
make_cleanup (free, dirname), not
|
||
make_cleanup (free_current_contents, &dirname)
|
||
(rlk <8704180416.AA29572@PARIS.MIT.EDU>)
|
||
|
||
Mon Apr 13 20:28:26 1987 Leonard H. Tower Jr. (tower at prep)
|
||
|
||
* gdb.1: fixed typo and italicization errors.
|
||
(<kgk%cs.brown.edu@RELAY.CS.NET> id AA16470;Sun,12 Apr 87 14:30:07 EST)
|
||
|
||
Sat Apr 11 15:41:01 1987 Richard Mlynarik (mly at prep)
|
||
|
||
* dbxread.c (read_dbx_symtab):
|
||
No name for symbol => "" not 0 (avoid referencing memory 0)
|
||
(tower <8704081854.AA00135@buit3.bu.edu>)
|
||
|
||
Mon Mar 30 22:24:07 1987 Leonard H. Tower Jr. (tower at prep)
|
||
|
||
* gdb.1: Unix style manual page pointing at internal gdb
|
||
documentation, and info sub-system in GNU Emacs.
|
||
|
||
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:
|