diff options
author | K. Richard Pixley <rich@cygnus> | 1991-03-28 16:26:26 +0000 |
---|---|---|
committer | K. Richard Pixley <rich@cygnus> | 1991-03-28 16:26:26 +0000 |
commit | bd5635a1e2b38ee8432fcdaa6456079191375277 (patch) | |
tree | ffc4c35618c4b6af001f38247ed0d1c05c7a35ad /gdb/ChangeLog | |
parent | 5a131cc7f0469e0375872605593e4a9c5d1eaefb (diff) | |
download | gdb-bd5635a1e2b38ee8432fcdaa6456079191375277.zip gdb-bd5635a1e2b38ee8432fcdaa6456079191375277.tar.gz gdb-bd5635a1e2b38ee8432fcdaa6456079191375277.tar.bz2 |
Initial revision
Diffstat (limited to 'gdb/ChangeLog')
-rw-r--r-- | gdb/ChangeLog | 4297 |
1 files changed, 4297 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog new file mode 100644 index 0000000..12ec9cc --- /dev/null +++ b/gdb/ChangeLog @@ -0,0 +1,4297 @@ +Sat Mar 23 10:02:21 1991 John Gilmore (gnu at cygint.cygnus.com) + + Cleanup for release 3.94.2: + + * Makefile.dist: Pull REMOTE_OBS. Fix saber includes for BFD + include files. Roll version to 3.94.2. + + * coffread.c (init_stringtab): Read length into unsigned char + array before swapping; don't assume 32-bit longs. + + * target.c (target_info): Don't bother with get_sym_file, just use + the symfile global variable. + * symtab.h, symfile.c (get_sym_file): Delete it. + + * dbxread.c (dbx_symfile_init): Don't depend on long == 4 bytes. + (define_symbol): Set symbol line number to 0 if not gcc-compiled. + (read_type): Replace one more error() with complain(). + + * mipsread.c (parse_partial_symbols): Replace printf with complain. + + * i960-tdep.c: Fix copyright attribution. + + * config.gdb: Quote all backquotes in doublequotes. You can + quote me on that. BSD 4.4 shell found this one. + + * infptrace.c (throughout): The third argument to ptrace is an + int *, not an int. + + * infrun.c (wait_for_inferior): When program has terminated, we + have to call target_terminal_ours before we pop that target off + the stack (e.g. before a call to target_kill or + target_mourn_inferior). This fixes problem where a program + terminates, then GDB stops for (tty output) and you have to type + "fg" to the shell to resume it. FIXME: This code for what to + do after termination really should be in normal_stop instead. + + * gdbcore.h (read_memory_check): Change declaration; it changed + names months ago. + + * terminal.h: Include <sgtty.h> before <sys/ioctl.h>, since in BSD + 4.4 prereleases, this avoids a bug in their sgtty compatability + support. + * remote.c: Use terminal.h rather than hand-rolling the same. + + * signame.c, signame.h (psignal): Arg is unsigned, not int. + * utils.c (strsave, strstr): Fix arg types. + * valprint.c (val_print): lint + + MIPS symbol table support from Per Bothner: + + * symfile.c (symtab_fns): Remove initializer table that needs to + be hacked for each new symbol file format supported. + (add_symtab_fns): New function, chains symbol table + handlers into the global list. + (symfile_init): Search this list. + * symfile.h: Add next pointer, declare add_symtab_fns. + * coffread.c (_initialize_coffread): Call add_symtab_fns. + * dbxread.c (_initialize_dbxread): Call add_symtab_fns. + + * mipsread.c (psymtab_to_symtab_1): return void instead of (struct + symbol *). Thus, we no longer need the hack to trash + pst->filename. Good, since that hack confused code in symfile.c! + + (reorder_symtabs, destroy_all_symtabs): Removed static + all_symtabs, which was used to qsort symtabs in reorder_symtabs. + Instead, the latter now uses a temporary array (stack-allocated + from an obstack, and then freed). + + (parse_symbol): Added a hack to fix up BLOCK_{START,END} if they + haven't been set in the outermost stBlock of a procedure. This was + a problem with f77 binaries on Ultrix 4.?. + + (new_symtab, new_symbol, new_type): Continue changing code to use + obstacks more and otherwise conform to dbxread internal style. + Made the free_code of symtabs be free_linetable (as in dbxread) + instead of free_contents. This implies memory leaks when reading + a new symbol table, until the conversion is finished. Did change + (struct symbol) and (struct type) to be allocated on the + symbol_obstack. Blocks and blockvectors are among the things + still "leaking." + + * mipsread.c (parse_partial_symbols, parse_fdr): It hasn't been + tested much, but it solved one problem (reported by Meissner), and + cleans up some other things. The problem happened when an + included file contains actual code (functions) and not just + definitions. The mips coff is a little inconvenient there, since + it may cause a procedure to be mapped to the wrong psymtab. + + * mips-tdep.c (heuristic_proc_desc): Minor cleanup. + * mips-xdep.c (fetch_core_registers): Minor cleanup. FIXME, + this will need work for the new core paradigm. + + Opcode patches from the net: + + * mips-opcode.h: fix incorrect disassembly of the mfc1, cfc1, and + ctc1 instructions. Also, the cvt.d.w and cvt.s.w instructions were + missing altogether - they are added here. From Bruce Bauman. + * mips-opcode.h: The low mask for C0 instructions was too small. + From Garrett Lau. I modified the fix to check the entire 32-bit + opcode. + + * ns32k-opcode.h: Fix opcodes for deiw and deid. From Bruce + Bauman. + +Thu Mar 21 12:56:46 1991 John Gilmore (gnu at cygint.cygnus.com) + + Roll in changes from Per Bothner (Tue, 25 Sep 90 11:11:04): + + * dbxread.c (read_type): Pointer subtraction (value_sub in + valarith.c) sometimes failed because the types of the + pointers being subtracted were not identical. + These differed because dbxread.c was allocating pointer types + using dbx_alloc_type+smash_to_pointer_type instead of + lookup_pointer_type. I failed to find a justification for the + former, so I changed it to use the latter. Similarly, I + replaced smash_to_function_type by lookup_function_type, + and smash_to_reference_type by lookup_reference_type. + + * mipsread.c (parse_symbol, upgrade_type, parse_procedure, + _initialize_mipsread): corresponding changes. + + * symtab.c (smash_to_{pointer,reference,function}_type): eliminate. + + * source.c (mod_path): Do tilde_expand on each component of the path, + rather than on the (list of) paths as a whole. + (print_source_lines): Set first_line_listed in addition to + current_source_symtab and current_source_line. If the source was + not findable, after a "dir" command to fix the problem, + a "list" would get the wrong lines. + + While I was there... (gnu): + + * dbxread.c (read_type): Change error to complaint. + +Thu Mar 21 12:56:46 1991 John Gilmore (gnu at cygint.cygnus.com) + + First attempt at detailed understanding of symbol table memory alloc. + + * dbxread.c (dbx_symfile_read): Free our string table if we + aren't the mainline. Free the "info" struct since we're done with + it. + (init_psymbol_list): Free any previously allocated psymbol lists. + (): FIXME: Should realloc-down the psymbol lists when done reading + the main symbol file? + + * symmisc.c (free_symtab): Free fullname field too. + + * xm-hp300hpux.h (USG): #undef then #define so Makefile can -D. + (REGISTER_ADDR): Make result type unsigned int. + + * xconfig/{i386*,hp300hpux,altosgas,altos}: All config files that + define REGEX must also define REGEX1 (its dependency). + +Tue Mar 19 21:28:57 1991 John Gilmore (gnu at cygint.cygnus.com) + + * tconfig/i960: No longer works, points you at vxworks960 or + nindy960. + + * xgdb.c, XGDB-README: Remove file. Users can get the much + better xxgdb. + * Makefile.dist: Remove all trace of xgdb. + + * breakpoint.c (breakpoint_1): Pass demangle arg to + print_address_symbolic. + (clear_breakpoints): Remove unused function. + (breakpoint_re_set_one): Guts of breakpoint_re_set. + (breakpoint_re_set): Use catch_errors to do them all anyway. + + * gdb-int.texinfo (Host versus Target): Add section on what is + a "host" feature versus what is a "target" feature. + + * infcmd.c (path_command, path_info): Handle the PATH variable + (object search path) as conveniently as the source search path. + * environ.c (set_in_environ): Set some vars in GDB's environment, + in addition to the child's. PATH, G960BASE, G960BIN for starters. + * source.c (mod_path): New function, from guts of + directory_command, modifies a path. Used by path_command. + (directory_command): Call it. + * defs.h (strsave): Declare. + + * utils.c (sevenbit_strings): Add new printing option. + (printchar): Use it. + (strsave): Provide this handy helper routine. + (set_width_command): Rename set_screen_width_command. + (_initialize_utils): "set screen-width" => "set width"; + "set screen-height" => "set height"; add sevenbit-strings. + + * infcmd.c (do_registers_info): Print floating point registers + in raw hex as well as float format, regardless of whether it is + a "virtual" convertible register. + * tm-sparc.h (PRINT_REGISTER_HOOK): Print every pair of float + regs as a double, just in case it's being used that way. + * values.c (unpack_long): Comment on array/function coercion. + (unpack_double): Argument is in target byte order now. For + integer arguments, just call unpack_long and float the result. + * m68k-tdep.c: include defs.h for "const" handling. + * remote-nindy.c: Use ieee-float stuff. + (nindy_fetch_registers): Unpack double regs to host double, then + to extended. + (nindy_store_registers): Pack extendeds to host double, flip + around by misusing unpack_double, send as target double. + + * tm-vxworks68.h (FRAME_CHAIN): Handle current frame pointer of + zero, as when stopped at the first instruction of a process. + + * blockframe.c: Fix filename in comment (param.h => tm.h). + * sparc-tdep.c (skip_prologue): More explicit nudging comments. + * tm-68k.h: Fix typos. + +Fri Mar 15 01:09:34 1991 John Gilmore (gnu at cygint.cygnus.com) + + Changes from a bringup on the DEC Vax under Ultrix 4.0. + + * coredep.c (fetch_core_registers): Pass end-address of register + section to register_addr as expected. Don't call supply_register + if we'd just pass it garbage. + + * dbxread.c (read_dbx_symtab): Skip N_NSYMS on Ultrix. + + * exec.c (xfer_memory): Use boolean xfer_fn result, not int. + + * target.c (push_target, target_info): Cast enums to int for < or + > comparison. + + * stack.c (print_frame_info): Identify source file & line + even if we can't print it. + + * xm-vax.h (MISSING_VPRINTF): No longer missing in Ultrix V4.0. + +Sat Mar 9 10:08:20 1991 John Gilmore (gnu at cygint.cygnus.com) + + Clean up IEEE floating point support. + + * ieee-float.h: New file. + * ieee-float.c: Write real routines to convert between host + doubles and various target IEEE extendeds. + * m68k-xdep.c: Eliminate assembler code for extended floats. + * xconfig/{3b1,altos,altosgas,hp300bsd,isi,news,news1000,sun2os3, + sun2os4,sun3,sun3os3,sun3os4}: Eliminate use of m68k-xdep.o. + * tm-i960.h, tm-68k.h (REGISTER_CONVERT_TO_VIRTUAL, + REGISTER_CONVERT_TO_RAW): Use ieee_extended_to_double and + double_to_ieee_extended. + * i960-tdep.c: Define ext_format_i960. + * m68k-tdep.c: Define ext_format_68881. + * sparc-tdep.c: Define ext_format_sparc, though unused. + * Makefile.dist (HFILES): Add ieee-float.h. + * inftarg.c: #include "ieee-float.h" for the REGISTER_CONVERT + macros. + + Obsolete the "coffstrip" program in favor of using BFD's strip. + + * nindy-share/coffstrip.c: Remove file. + * nindy-share/nindy.c (coffstrip): Routine to run bfd_strip. + * Makefile.dist: Remove references to nindy-share/coffstrip.c. + * tconfig/nindy960: Remove reference to coffstrip.o. + + * Makefile.dist: Roll version number to 3.94.1 (not yet final). + +Wed Mar 6 09:56:45 1991 John Gilmore (gnu at cygint.cygnus.com) + + * symfile.h: Add symfile_bfd, common between dbxread and coffread. + * dbxread.c: Remove static symfile_bfd. + * infcmd.c (do_registers_info): Add PRINT_REGISTER_HOOK, though + it is not used yet. + * inftarg.c (child_detach): Pop the child_ops vector if the + detach is successful. + * remote-nindy.c (nindy_create_inferior): Don't push a new + nindy_ops since nindy uses the same one for execution and memory + examination anyway. + * core.c (core_ops): Use child_attach and child_create_inferior + rather than default attach and create_inferior functions. + + Handle floating point registers in core files. + + * sparc-xdep.c (fetch_core_registers): Rewrite for float support. + * sun3-xdep.c (fetch_core_registers): Rewrite for float support. + This version untested since BFD doesn't yet support sun3 core + files. + * hp300hpux-xdep.c: Rewrite fetch_core_registers to new calling + conventions. Fix comments and style. This version has not + been compiled yet, since we have no HP inhouse. + * core.c (get_core_registers): Look for two sections, ".reg" + and ".reg2", and pass both to fetch_core_registers sequentially. + + Revise directory path yet again. + + * source.c (forget_cached_source_info): Not static any more. + (init_source_path): New default source path is "$cdir:$cwd". + (dir_command): Handle variable arguments ($cdir, $cwd). + (source_info): Print "Compilation directory" rather than + "Originally compiled in" to remind people of $cdir. + (openp): If the path contains $cwd, use current directory. + (open_source_file): If compilation directory is known, replace + first $cdir in path with the compilation directory. + (print_source_lines): Even if we can't print the lines, set the + current symtab and line for future commands like "info source" or + "breakpoint". Also, error message now contains the file name, + line number, and file access error message. + (_initialize_source): Fix help text to describe changes. + * main.c (cd_command): Forget cached source info when we chdir. + * utils.c (strstr): Add simple implementation. + +Tue Mar 5 01:41:40 1991 John Gilmore (gnu at fowanton.cygnus.com) + + * coffread.c (read_one_sym, init_linetable, init_stringtab): + Byte-swap COFF symbol tables if necessary when reading them in. + Use complain() to replace error message in one spot. Needs + corresponding change in bfd/coff-code.h to make some symbol + swapping routines non-static. + +Mon Mar 4 00:53:40 1991 John Gilmore (gnu at cygint.cygnus.com) + + Merge changes from Eirik Fuller, for UTek. + + * defs.h (errno): Add declaration. + * altos-xdep.c, arm-xdep.c, convex-xdep.c, gould-xdep.c, + hp300hpux-xdep.c, infrun.c, inflow.c, infptrace.c, i386-tdep.c, + i386-xdep.c, pyr-xdep.c, mips-xdep.c, remote-eb.c, remote-nindy.c, + remote-vx.c, source.c, standalone.c, stuff.c, sun386-xdep.c, + symmetry-tdep.c, symmetry-xdep.c, umax-xdep.c, utils.c: Eliminate + declarations of errno. + + * remote-eb.c: Define B19200 and B38400 as EXTA and EXTB. + + * remote-vx.c: Include <sys/time.h> for UTek; Sun gets it via + <rpc/rpc.h> and <rpc/types.h>. + +Sat Mar 2 15:47:55 1991 John Gilmore (gnu at cygint.cygnus.com) + + * i960-tdep.c (examine_prologue): Add new argument limit, + which stops the scan at the end of the prologue, or at the PC. + This fixes a problem where it walks down into the code for the + user's statements if that code looks like function prologues. + Mark Fox and I have been bouncing this code back and forth, making + small changes to it. Callers changed to match. + +Tue Feb 26 01:47:07 1991 Cygnus John Gilmore (cygnus at yuba) + + Cleanup for gdb-3.94 release final: + + * Makefile.dist: Remove remote-vx.c, remote-nindy.c, and all + the .c files from vx-share and nindy-share, from the various + macros, since they are not found via ALLDEPFILES. + (SFILES): Add tm-i960.h. + (alldeps.mak rule): Break out ALLDEPFILES_MAINDIR and + ALLDEPFILES_SUBDIR. List all the nindy and vxworks subdir files + in the SUBDIR list. + (TAGFILES_MAINDIR): Change ALLDEPFILES to ALLDEPFILES_MAINDIR. + (gdb.tar.Z): Use ALLDEPFILES_SUBDIR as well as SFILES_SUBDIR. + +Mon Feb 25 16:02:35 1991 Cygnus John Gilmore (cygnus at oldman) + + * am29k-tdep.c: Add contribution line. + (examine_prologue): Cache information about function prologues in + the misc-function-vector to avoid lots of references over the + serial line while examining instructions. + + * core.c (core_close): New function made from cleanup_core. + + * core.c, exec.c, inftarg.c, remote-eb.c, remote-nindy.c, + remote-vx.c, remote.c, target.c, target.h, + Update target_ops vector to add attach, close, and load entries. + Use add_syms_addr_command, not add_file_addr_command, for + add_file. Break out close routine from existing code. + + * dbxread.c (really_free_pendings): Don't free pending_blocks; + they are in an obstack. + (read_dbx_symtab): Relocate end_of_text_addr in the psymtab. + Lint. + (define_symbol): Add symbol type parameter; change callers; + pass type parameter to DBX_PARM_SYMBOL_CLASS macro to allow + it to influence the symbol class on the i960. + (define_symbol): Swap LOC_CONST's into target byte order. + + * exec.c (exec_close): New function. + (exec_file_command): Call it. + + * findvar.c (read_relative_register_raw_bytes): Doc byte order, + Fix byte order of frame pointer. + (read_var_value): Result of 0 if var's value can't be found, + e.g. missing FRAME_ARGS_ADDRESS. Byte-swap LOC_CONST and + LOC_LABEL values to target order. Add LOC_LOCAL_ARG. + (locate_var_value): Use read_var_value and use its lazy address + as the location of the var's value. Lint. + + * i960-pinsn.c (next_insn): Add routine from vxgdb for scanning + instructions. + + * i960-tdep.c (arg_address, i960_frame_find_saved_regs): Remove + obsolete Intel versions in favor of vxgdb versions. + (check_host, byteswap, byteswap_val, reorder_val): Eliminate + code dealing with byte order of values, which Intel did in host byte + order rather than gdb-4's target byte order. + (i960_frame_chain_valid): Move to nindy-tdep.c. + (examine_prologue, skip_prologue, frame_find_saved_regs, + frame_args_address, leafproc_return, saved_pc_after_call, + pop_frame): Add vxgdb versions from Mark Fox. + (examine_prologue, frame_struct_result_address): Add code + to deal with the saved value of G13 (struct return address + pointer). + (frame_args_address): Modify Mark's version to prefer the + saved value over the current value in the topmost frame. + Cache result in the frame info to avoid performance hair in + callers. + (print_fault): Add gdb960 code for printing faults. + (_initialize_i960): Actually call check_host. + + * ieee-float.c (ieee_extended_to_double, ieee_double_to_extended): + add stub routines. FIXME, these currently just return zero! + + * infcmd.c (program_info): Use PRINT_RANDOM_SIGNAL. + (attach_command): Call target_attach, not target_open, now. + + * infrun.c (normal_stop): Make global, not static, for vx_attach. + (child_attach): Rename from child_open. + (wait_for_inferior): Use PRINT_RANDOM_SIGNAL. If stop_pc is zero, + don't confuse it with a zero step_resume_break_address. + + * inftarg.c (child_detach): Eliminate inferior_pid test. + (child_files_info): Clean up message a bit. + (child_ops): Use child_attach, not child_open, to attach. + + * mem-break.c: #ifdef out the whole file if BREAKPOINT is not + set (e.g. on VxWorks or NINDY). Move read_memory_nobpt from + findvar.c to here, since it depends on the contents of the + shadow_contents of breakpoints, but keep if #if 0 since it is + never called. + + * nindy-tdep.c: New file, contains nindy_frame_chain_valid, moved + from i960-tdep.c. + + * printcmd.c (address_info): Handle LOC_LOCAL_ARG. Lint. + (ptype_command, display_command): Eliminate have_inferior_p and + have_core_file_p in favor of target_has_stack or + target_has_execution. + (print_frame_args): Handle LOC_LOCAL_ARG. Eliminate duplicate + code for actually finding the values of arguments, though we still + keep track of the maximum stack offset for use in printing unnamed + arguments. Handle missing FRAME_ARGS_ADDRESS. + + * remote-nindy.c (i960_print_fault): Move to i960-tdep.c. + (struct nindy_regs): Define registers passed to/from nindy. + (nindy_fetch_registers, nindy_store-registers): Translate between + nindy and GDB formats for the registers. + (dcache_init): Statically allocate the cache, since it was being + allocated by a malloc that was never freed anyway. + (nindy_create_inferior): Error, not core dump, if no exec file. + (nindy_before_main_loop): Use target_load, not target_add_file. + + * remote-vx.c (net_load): Specify large timeout for load + requests. Allow user to break out with INTERRUPT. + (net_break): Remove useless code, clean up. Change callers. + (parse-args, skip_white_space, find_white_space): Clean up arg + parsing to cope with quoted strings. + (net_wait, net_quit): Never call error, just return status. + (vx_read_register, vx_write_register): Cleanup status checking. + #ifdef the code based on which CPU we are using (960 or 68k), + FIXME, this should be completely general but it isn't yet. + (vx_xfer_memory, vx_resume): Cleanup status checking. + (vx_run_files_info): Improve message. + (vx_load_command): Renamed from vx_add_file_command. Allow load + to be interrupted. + (net_ptrace): Remove unused routine. + (vx_wait): Adopt code from vxgdb960 to cope with broken + connections to target machine and prompt to disconnect. Remove + debug printouts. Map some EVENT_'s to SIGnals. + (add_symbol_stub, vx_open): Print names of object files we found, + and "ok" if we read their symbols OK. Clarify output in general. + (vx_attach, vx_detach, vx_kill): Add these commands. + (vx_convert_from_virtual, vx_convert_to_virtual): Simplify. + (vx_run_ops): Turn off all_mem, to avoid spurious msg in the + "info files" output, and create_inferior, since we already have + an inferior. + + * stack.c (frame_info): Replace Frame_unknown with 0. + (print_frame_arg_vars): Handle LOC_LOCAL_ARG. + (return_command): Pop until the PC matches as well as the FP, + so it works even if the FP is shared with another function, + as in "frameless" or "leaf" procedures. + + * symfile.c (load_command): renamed from add_file_target_command. + (add_syms_addr_command): renamed from add_file_addr_command. + (add_syms_command): Stub to call target_add_syms. + (_initialize_symfile): Change command names and descriptions, + add-file => add-syms, and load from alias to its own command. + + * target.c (kill_or_be_killed, maybe_kill_then_attach, + maybe_kill_then_create_inferior): Default for attempts to start + a process, if one is already running, is to ask about killing + it and retry if yes. + (upstack_create_inferior): #if-0 it, strata obsolete it. + (push_target, unpush_target, pop_target): to_close() a target + before unstacking it. + (target_info): Renamed from target_files_info. + (_initialize_targets): Rename "i files" as "i target", accessible + under both names. + + * target.h: Improve comments about the target_ vectored routines. + + * tm-i960.h: Remove NINDY-specific stuff to tm-nindy960.h. + Convert commenting style to standard GNU style. + (DBX_PARM_SYMBOL_CLASS): allow LOC_LOCAL_ARG's to be recognized. + (SKIP_PROLOGUE): No longer a no-op. + (SAVED_PC_AFTER_CALL): Now handles leaf procedures. + (*_REGNUM): Sort register numbers. + (REGISTER_BYTES, REGISTER_BYTE, REGISTER_RAW_SIZE, + MAX_REGISTER_RAW_SIZE, REGISTER_CONVERTIBLE, + REGISTER_CONVERT_TO_VIRTUAL, REGISTER_CONVERT_TO_RAW): Float regs + are now 10 byte extendeds, not 8 byte doubles. + (FRAME_CHAIN_VALID): Make this config-dependent, since it differs + for nindy versus vxworks targets. FIXME, this should possibly go + in the target vector. + (EXTRA_FRAME_INFO, INIT_EXTRA_FRAME_INFO): Cache both + frame_saved_regs and arg pointer with each frame. + (FRAMELESS_FUNCTION_INVOCATION): New leafproc support. + (FRAME_ARGS_ADDRESS): Use cached result. + (FRAME_ARGS_ADDRESS_CORRECT): New, avoids g14 guessing. + (FRAME_FIND_SAVED_REGS): Change arg to subsidiary fn. + (PRINT_RAMDON_SIGNAL): Call print_fault. + (POP_FRAME): Now works. + + * tm-nindy960.h: Break this off tm-i960.h. NINDY-specific + option parsing and startup; STACK_END_ADDR, FRAME_CHAIN_VALID, + BREAKPOINT, and DECR_PC_AFTER_BREAK are here. + (ADDITIONAL_OPTION_HANDLER): use target_load, not + target_add_file. + + * tm-vxworks960.h: Break this off tm-i960.h. VxGDB specific + startup; DECR_PC_AFTER_BREAK, and FRAME_CHAIN_VALID are here. + + * valarith.c (value_subscripted_rvalue): Avoid handling + floats and doubles specially; it gave alignment errors. Lint. + + * valops.c (value_of_variable, value_of_this): Error if unknown + value. + + * valprint.c (print_floating): Bcopy rather than pointer-deref, + to avoid alignment problems. + (value_print): Handle unknown value address. + (cplus_val_print): Two args are ignored; remove them. Change caller. + (val_print): Use unpack_long rather than pointer-deref. + + * values.c: Lint. + (unpack_long, unpack_double): Use bcopy rather than pointer-deref + to avoid alignment problems. + (value_being_returned): Error if return value unknown. + (set_return_value): Add bogosity warning, FIXME. * + + * TODO: A woman's work is never done. + + * Makefile.dist: Distribute REMOTE_OBS into tconfig files. + Separate INCLUDE_CFLAGS for use with lint. Add LINTFILES. + Add ieee-float.o to OBS. + * tconfig/{nindy960,vxworks68,vxworks960}: Include the desired + REMOTE_OBS remote-interface files in the TDEPFILES and TM_FILE. + * tconfig/i960: FIXME. Half-merge, produce warning if config'd. + + Changes to generalize the VxWorks RPC protocol slightly, to handle + i960 as well as 68000. + + * vx-share/dbgRpcLib.h (VX_SOURCE_STEP): Add. + * vx-share/reg.h: Produce i960 regs #ifdef I80960 + * vx-share/xdr_ptrace.c: Skip FPA registers if 960. + * vx-share/xdr_rdb.h: Add SOURCE_STEP struct and xdr decl. + * vx-share/xdr_rdb.c: Add xdr_SOURCE_STEP routine. + * vx-share/xdr_regs.c: Add xdr_regs, xdr_fp_status, xdr_ext_fp + for i960. Change xdr_vectors to xdr_opaques for 68k registers, + so they will move in target byte order rather than network + byte order (happens to be the same). + +Mon Feb 25 03:41:44 1991 John Gilmore (gnu at cygint.cygnus.com) + + * tm-convex.h (END_OF_TEXT_DEFAULT): Remove #if 0'd block. + +Sun Feb 24 00:55:53 1991 John Gilmore (gnu at cygint.cygnus.com) + + * am29k-pinsn.c, + Add contribution lines to various files, showing where they + came from. + + * breakpoint.c (break_insn, check_break_insn_size, + read_memory_nobpt): Remove to mem-break.c. + + * xm-*.h, param-no-tm.h, tm-29k.h, valprint.c: Change BYTE_ORDER to + HOST_BYTE_ORDER. + + * tm-29k.h (STAB_REG_TO_REGNUM): Warn user if symbol table + entry has bad register number. This change is not + tested in this release, FIXME. + + * frame.h: Eliminate Frame_unknown in favor of a simple zero. + tm-vax.h: Ditto. + + * value.h: Force value's contents field to be aligned to hold + at least a double or a long long (if supported). This avoids + doing bcopy's in and out of the contents field. + + (step_1): Avoid coredump under obscure circumstances when we + have no frame. + + * symtab.h (misc_info): Add field to misc function vector for + any kind of cached information the target code desires. AMD + 29000 uses this to avoid repeating examine_function_prologue's. + + * coffread.c: Lint. Remove static symfile, read_section_header. + core.c (have_core_file_p): Lint: remove. + expprint.c (print_subexp): Lint. + infptrace.c, valops.c, valprint.c: lint. + + Roll in changes from vxgdb-5.0.1: + + * symtab.h: Comment byte order of each address class. Add + LOC_LOCAL_ARG for frame-relative args (960). + expread.y: Use LOC_LOCAL_ARG where LOC_ARG is used. + symtab.c, symmisc.c: ditto. + + * infrun.c (init_wait_for_inferior): Clear stop_signal. + + * remote.c (remote_resume): Error if resume with a signal. + + * symfile.c (prim_record_misc_function): Clear misc_info. + (fill_in_vptr_fieldno): Check stub type of arg. + + * valops.c (value_cast): Avoid looking up names of types whose + name we don't know, to prevent coredump. Sun CC produces typedef + rtx and the name of *rtx is zero... + +Mon Feb 18 21:16:25 1991 John Gilmore (gnu at cygint.cygnus.com) + + Roll in changes from final AMD 29000 port (Tiemann). + + tconfig/am29k: Add COFF_ENCAPSULATE and TARGET=TARGET_AM29K + for ../include/a.out.encap.h. This might not work now that BFD + is separately compiled. Instead, BFD support for encap will have + to translate machine type 29k into the right COFF_MAGIC. + + * infcmd.c: Remove references to inferior_pid that aren't used + in actual ptrace calls; use target_has_execution, etc. + (have_inferior_p): Remove function. + (program_info): Print target info rather than "process number"; + avoid gratuitous messages unless from_tty. + (run_stack_dummy, finish_command): Set proceed_to_finish. + infrun.c: Remove inferior_pid refs. Decl & init proceed_to_finish. + main.c: Lint. Lose have_inferior_p(). + inferior.h (have_inferior_p): Remove, lint. + (proceed_to_finish): Add flag to ask that all regs be saved + by normal_stop, for the few commands that need it, speeding up + serial I/O. Add comments to stop_registers. + + * remote-eb.c: Remove newline from breakpoint message we grep + for. Never time out when running the user program. + + + +Wed Feb 13 15:34:40 1991 John Gilmore (gnu at cygint.cygnus.com) + + Roll in changes from vxgdb-5.0.1: + + * dbxread.c (read_dbx_symtab): If we encounter a "FORTRAN COMMON" + symbol in its raw form, we are processing an unlinked ".o" file. + See if the target environment has assigned it an address, using + target_lookup_symbol (VxWorks does), and enter it into the symtab + that way. + + * tm-vxworks.h (FRAME_CHAIN, FRAME_CHAIN_VALID): Override usual + 68k versions for a simpler version that assumes zero FP at bottom. + Fixes bug of truncated stack reports. + + * target.h (target_lookup_symbol): Define this routine's args + and result, finally. + + * target.c (nosymbol): Default routine for target_lookup_symbol. + (target_default): Default lookup_symbol and call_function too. + (files_info): Only print has_all_memory warning if a non-dummy + target follows. + + * remote-vx.c (vx_read_register, vx_convert_to_virtual, + vx_convert_from_virtual): If target does not have floating point, + zero register "values", and avoid doing cross-net conversions. + (vx_lookup_symbol): Rename net_lookup_symbol, add to vectors. + (vx_open): Rearrange code that attaches to target and reads + symbols for all loaded modules, to work if some of the modules + are not accessible. Add symbol_stub() and add_symbol_stub() + as callbacks from catch_errors(). Allow connect attempt to be + interrupted painlessly with ^C (FIXME, there are still some bugs + if the interrupt happens during symbol reading.). Print + final message with puts_filtered, since symbol messages are + now filtered too. + + Misc cleanup: + + * main.c (catch_errors): Only print errstring if non-null. + (command_loop): Avoid an ioctl per command to test ISATTY. + + * remote-vx.c (net_load): make static; avoid sophomoric msg. + (vx_xfer_memory): Return correct result! + (vx_files_info): Indicate whether target has float or not. + (vx_lookup_symbol): Complain, not error, if target gone. + (vx_open): Print "Connected" msg before disabling immediate-quit. + [FIXME: lookup_symbol and vx_open changes need testing.] + + target.c, remote-eb.c, inftarg.c, am29k-opcode.h, target.h, + tm-29k.h, tmm-vxworks68.h, symfile.c, gdb-int.texinfo: Add + contributor lines and update copyrights to 1991. + + Changes from an attempted H-PUX host port: + + * infptrace.c (PT_ATTACH, PT_DETACH): Handle HP/UX, which + defines PT_ATTACH and PT_DETACH but not PT_KILL. + * remote-eb.c (eb_open): Misplaced endif kills sysv H/PUX. + * remote-vx.c: include <sys/time.h> for HPUX. + * hp300hpux-xdep.c (fetch_core_registers): Rewrite old + "core_file_command" routine to BFD regime. May not work yet. + + Attempted port of "gdb-3.4 Van Jacobson xgdb" to modern gdb. + + * xgdb.c: Replace X10 version with some VJ version. + (FIXME: Its copyright assignment is not on record.) + * xgdb.c: Update include files to X11R4 (Xaw crud). + (xgdb_display_source, create_text_widget): fix call to + get_filename_and_charpos. Rewack source window stuff for X11R4 + (gleaned from include files, and "nm's" of binary libraries, since + I had no doc available). + (append_selection, append_selection_word): Disable with FIXME + since R4 changed interface here. + (create_buttons): Add back the old set of buttons. + (xgdb_create_window): Fix call to XtInitialize (&argc not argc). + + * Makefile.dist (xgdb, xgdb-init.c): Update for X11R4 on Suns. + Roll VERSION to 3.94 (not yet final though). + +Sat Feb 9 09:46:25 1991 John Gilmore (gnu at cygint.cygnus.com) + + * obstack.h (obstack_ptr_grow, obstack_ptr_grow_fast, + obstack_int_grow, obstack_int_grow_fast): Eliminate + cast on left of assignment, which gives MIPS cc fits and is + not Standard C. + + * sparc-pinsn.c (print_insn): Eliminate 'set' test, subsumed by + F_ALIAS. Use printf, not fprintf, when not passing a file + pointer... + (compare_opcodes): Check that identical instructions have + identical opcodes, complain otherwise. + + * sparc-opcode.h (st %fsr): Fix opcode "lose" mask. This + was reported by Roland McGrath. + (unimp): Only match if exactly zero instruction. (Roland) + (branches and traps): Generate all variations of these + instructions with macros, based on a single call that defines + each condition name and its binary representation. + (set): Turn on alias bit, to avoid test in sparc-pinsn.c. + + * valprint.c (val_print_fields): Take, and use, format parameter. + This means that "p/x struct" again prints the elements in the + desired format. Changed callers. + + * stack.c (frame_info): Use filtered output, and indicate wrap + points. Remove kludgy formatting designed to avoid line wrap. + + * utils.c (wrap_here): If the line is already full (because + we had printed a long indent or long wrapped string), do an + immediate newline-and-indent. + + * m68k-pinsn.c (print_insn_arg): Bugfix from + ntmtv!thompson@ames.arc.nasa.gov (Mike Thompson): 'bkpt #0' + instruction is incorrectly disassembled as bkpt #8. + + * dbxread.c (end_psymtab): Bugfix from Peter Schauer + <pesrem@regent.e-technik.tu-muenchen.de>: If you want to set a + breakpoint in a *.y file gdb will say Reading in symbols for *.y... + and then will dump core (sometimes). I traced it back to an + uninitialized symfile_name in psymtab_to_symtab. + (const_vol_complaint): Add quotes to message. + (define_symbol): Only believe line number if gcc_compiled. + Avoid allocating symbol if we will not return it. + + Add target strata support so that newly established targets go + into their right place in the target stack (e.g. a new exec file + doesn't wipe out the ability to access the running process). + + * target.h, core.c, exec.c, inftarg.c, remote-eb.c, + remote-nindy.c, remote-vx.c, remote.c, target.c: Add to_stratum + and initialize it properly in all the targets. + + * target.h: Document strata. Change return type of push_target. + + * target.c (nomemory): new function for dummy memory access. + (tcomplain): Rename complain, now also used in symfile.c. + (push_target): Push targets within strata. New return value shows + whether new target is on top of stack or not. Always keep dummy + target on stack. + (target_files_info): Ignore dummy target. + + * core.c (core_open): Warn user, and skip accessing file, if the + core target is not the topmost target in the stack. + * remote-nindy.c (nindy_create_inferior): Avoid unpush_target, now + already handled. + + * remote-vx.c: Remove vx_prepare_to_store from vxworks memory + target_ops, it doesn't belong there since we have no regs there. + Change name of target from machine => memory to clarify. + +Thu Feb 7 16:32:09 1991 John Gilmore (gnu at spiff.cygnus.com) + + * Freeze version 3.93 for release. + + * Makefile.dist: Handle vx-share and nindy-share subdirs + properly when building gdb.tar.Z. + + * symtab.c: lint; add no_symtab_msg to consolidate the messages + printed in various places, so I could change just one copy. + + * dbxread.c, coffread.c: Change references to bfd->iostream + to cast to FILE *, now that BFD avoids needing types defined + in other header files. + +Tue Feb 5 21:39:35 1991 John Gilmore (gnu at cygint.cygnus.com) + + * command.c, dbxread.c, expprint.c, infcmd.c, infptrace.c, + infrun.c, printcmd.c, remote-nindy.c, source.c, sparc-tdep.c, + sparc-xdep.c, symfile.h, symmisc.c, utils.c, valprint.c: Lint + (actually gcc -Wall). + + * dbxread.c: Remove first_global_sym, last_global_sym, since + they are never referenced. + + * defs.h (baud_rate): Declare. + main.c: Define it, and add the -b option to set it. + + * gdb-int.texinfo: Add text on how to define a new host or target + architecture, prompted by Per Bothner's questions about MIPS + support. + + * gdb.texinfo: Document "complaints". Change doc of -q since + gdb no longer prints the copyright and blurb if you specify a file + name to be debugged (just like Emacs). Add doc for Nindy-specific + command line flags for specifying target serial port and such. + Update copyright to 1991. + + * gdbcore.h: Remove a large mass of now-useless crud, since BFD + has taken over for us the job of ripping up executable files. The + crud caused Per Bothner's port to not compile. + + * infrun.c (normal_stop): Avoid printing "Program exited + normally" if we are in batch mode. This allows a GDB which + executes a program on a target system, to behave like a Unix + command (input from stdin, output to stdout, no extraneous + output). + + * main.c (main): Allow additional machine-dependent command line + options to be specified with the ADDITIONAL_OPTIONS, + ADDITIONAL_OPTION_CASES, ADDITIONAL_OPTION_HELP, and + ADDITIONAL_OPTION_HANDLER macros. Also allow machine-dependent + processing to occur just before the main loop with + BEFORE_MAIN_LOOP_HOOK. + (main): If a "core file" argument is specified, and it is not a + core file, try it as a process ID to attach. + (symbol_completion_function): Attempt to cope with + "show screen-" TAB, not very successfully. This needs more work, + FIXME. + (batch_file): New function, returns whether we are reading + commands from an interactive tty on stdin, or from somewhere else. + Called by normal_stop since it doesn't get from_tty passed down + to it like many commands do. + + * remote-nindy.c: Handle command line options for nindy + connection. + (nindy_before_main_loop): Prompt user for tty name if they + don't specify it before getting to the interactive command loop. + + * tm-i960.c: Add ADDITIONAL_OPTIONS, etc, to handle -O, -brk, + and -r command line options. Also add hook before main loop + to make it easy to specify a tty. + + * TODO: More things to do, one done. + +Mon Feb 4 23:57:39 1991 John Gilmore and Mike Tiemann (at cygint.cygnus.com) + + * dbxread.c: Make complaint() calls pass pointer, not struct. + Add complaints about badly formatted C++ type information + (const/volatile indicator, and parse errors resulting in + error_type). Fix C++ virtual member fn comment. + (read_struct_type): Avoid bumping pointer if we got a parse + error; this prevents our walking beyond the end of a string. + Terminate loop on null char as well as semicolon. + (process_one_symbol): Fix the LBRAC fix so that it uses the + last previous SLINE, FUN, or SO record's PC address. C++ debug + symbols did not have SLINE records in a useful order compared + to the LBRAC records. + (define_symbol): Handle "catch" records. + + * symtab.c (check_stub_type): Added new complain + `stub_noname_complain' and added a consistency check to + keep the debugger from crashing when finishing from an + exception frame. A real fix will be needed later. + +Sat Feb 2 10:43:05 1991 John Gilmore (gnu at cygint.cygnus.com) + + * infcmd.c (attach_command): Make global. + + * Makefile.dist (REMOTE_OBS): Make these compile by default, + but make them easy to comment out. Perhaps later they should + be enabled by what CPU you configure for? FIXME. + (VERSION): Roll to 3.93. + (pinsn.o): Remove rule for obsolete file. + (dbxread.o,coffread.o,mipsread.o): Use ${srcdir} explicitly. + + Run down a problem that manifested by printing the wrong function + name in stack traces of read_ofile_symtab. Turned out that the + problem was the SunOS 4.1.1 (and previous) C compiler outputs + the LBRAC symbol with an address in the *data* segment, which + blew our binary search through the blocks. + + * dbxread.c: Use the complain() facility consistently to bitch + about problems in the symbol file we are reading. + (finish_block): Add code to check the nesting of the blocks; + complain and Procrust them to fit if wrong. + (make_blockvector): Check the order of the blocks, complain + [but don't cope] if wrong. + (process_one_symbol): ifndef SUN_FIXED_LBRAC_BUG, check LBRAC + symbols to be sure their PC value is greater than the last SLINE + (line number) symbol we've seen, complaining and adopting the + SLINE PC value if wrong. + + * symfile.h (struct complaint, complaint_root, complain, + clear_complaints): Add. + * symfile.c (complain, complaint_root, clear_complaints): Add + facility to deal with non-fatal complaints and to regularize their + suppression. + (symbol_file_add): Clear complaint counters to allow new complaints. + (initialize_symfile): Add 'set complaints' and 'show complaints'. + + * dbxread.c (dbx_symfile_read): Remember the address and size + of the string table for the main symbol file, so we won't read it + more than once. + (dbx_psymtab_to_symtab): Fix the check for main symbol file, + to avoid reading the string table yet again. Lint. + (throughout): Improve filtered output, including word wrap. + (read_range_type): Improve Bothner's fix to handle other types too. + + * utils.c: Improve line wrap implementation. Handle unlimited + width by making chars_per_line unsigned. + (puts_filtered): New, easy, function. + + * defs.h (puts_filtered): add. + + * mipsread.c (compare_symbols, sort_symtab): Remove these fns, + call the identical sort_symtab_syms() in symfile.c instead. + + * expread.y: Suggest the `file' command rather than `symbol-file'. + + * command.h (enum var_types): Add zinteger for seroable + unsigned integer. + * command.c (do_setshow_command): Handle var_zinteger. Restructure + nested if's into a switch. + + * breakpoint.c (bpstat_print): If bpstat "print" flag is not set, + we did not stop because of a breakpoint (it must have been for + some other reason, like a "stepi"), so don't print anything. + + * symtab.c: Include <sys/types.h> all the time. Now that BFD + doesn't include <sys/types.h>, old SunOS's require it for + <sys/stat.h>. + +Sat Feb 2 10:39:15 1991 Per Bothner (bothner@cs.wisc.edu) + + A test port of gdb-3.92.6 to the Sony NEWS. + + * Makefile.dist + Don't normally link in remote- or vx stuff. + Some of it doesn't compile, and it wastes space for 99% of the users. + Remove reference to no-longer-used HAVE_VPRINTF. + Fixed BFD_DEP typo to BFD_DIR. + * dbxread.c + Fix cast in arg to bfd_h_getlong. + Make char *prefix be const. + Fix how certain range types are mapped into builtin unsigned int types. + * infrun.c + Remove 2 #includes. They cause errors (on Sony, at least), + and aren't needed (they wern't in earlier versions). + * printcmd.c + print_address_symbolic should never demangle labels + (since it prints *assembler-level* labels). + + [This was superseded by the change to printcmd below.] + + * utils.c + Add some "volatile" return types to avoid warnings. + If MISSING_VPRINTF add vprintf function and not just macro + (since vprintf is used in printcmd.c). + * valprint.c + Unless __GNUC__, use obstack_grow instead of obstack_ptr_grow. + (The latter isn't grokked by some PCC-based compilers.) + + [This change is in abeyance, we prefer to fix obstack_ptr_grow.] + + Make chunk size of dont_print_obstack 32*4 instead of default 4096. + * nindy-share/coffstrip.c + Added some forward declarations (otherwise, gcc complains + about implicit extern redefined as static). + +Sun Jan 20 02:38:19 1991 John Gilmore (gnu at cygint.cygnus.com) + + Changes inspired by Per Bothner: + * printcmd.c (print_address_symbolic): Take additional parameter + specifying whether to demangle. + (print_address): Pass in asm_demangle to control demangling. + (print_address_demangle): New fn, takes explicit arg to control + demangling. + * utils.c: Add new vars demangle and asm_demangle, and let them + be set and shown. + (fputs_demangled): If !demangle, just print the argument. + (fprint_symbol): If !demangle, just print raw symbol. + * valprint.c (val_print): Call print_address_demangle rather than + print_address, to cause demangling to depend on the global + rather than assembler-level demangling setting. + * WHATS.NEW, gdb.texinfo: Document. + + * main.c (show_command): Show all settings if no arg. + (initialize_main): Make "info set" the same as naked "show". + * command.c (cmd_show_list): Handle prefix commands in the + list, and print the name of the setting as well as its English + description and value. + + Allow gdb functions to specify where a line should wrap if it + exceeds the size of a terminal line. Use it to make the output + prettier. + * utils.c (set_screen_width_command): New fn, mallocs a buffer + of the right size when screen width changes. + (set_screensize_command, screensize_info): Remove #if 0'd fns. + (wrap_here): New fn, indicates a point in the output where we + should wrap the line rather than just letting it overflow at a + random place. + (fputs_filtered): Implement wrapping. + (n_spaces): New fn, returns a pointer to N spaces. + (print_spaces_filtered): Use n_spaces. + * defs.h (n_spaces): Declare. + * stack.c (print_frame_info): Wrap with 4-space indent after + fn name and before filename and line number. + * printcmd.c (print_frame_args): Wrap with 4-space indent + before each argument name is printed. + * valprint.c (value_print): Wrap with no indentation before + each repetition. + (val_print_fields): Wrap with indentation relative to nesting + level before each field name. + (val_print): Wrap with nesting indentation before array elements. + * command.c (do_setshow_command): Avoid extra newlines, + wrap with 4-space indent around values printed, end with period. + * WHATS.NEW, gdb.texinfo, gdb-int.texinfo: Document. + + * breakpoint.c (breakpoint_1): Implement addressprint for + "info breakpoints" display. Change file name and line number + format to " at file:nnn" rather than " (file line nnn)". + * gdb.texinfo: Document. + + +Fri Jan 18 07:21:25 1991 John Gilmore (gnu at cygint.cygnus.com) + + Frozen for gdb-3.92.6 release. + + README, WHATS.NEW: Update for 3.92.6 release. + + tconfig/{altos, i386v, i386v32, m88k, umax}: Eliminate + coffread.o from configs since it is now built by default. + tconfig/{3b1, altosgas, arm, convex, hp300bsd, hp300hpux, + i386v-g, i386v32-g, isi, merlin, news, news1000, np1, pn, + pyramid, symmetry, vax, vxworks68}: Eliminate dbxread.o + from configs since it is now built by default. + + Makefile.dist: Update for release 3.92.6. Handle files that + have been moved to ../include, ../getopt, or ../bfd. Add + saber.suppress and tests directory. Add config.status to + the release (it will say "none"). + + coredep.c: Minor formatting fixes. + + These changes were made in early December but only checked in now: + * nindy-share/Onindy.c, nindy-share/coffstrip.c, + nindy-share/nindy.c: lint + * nindy-share/nindy.c (ninStopWhy): Don't byteswap the + register values coming back from the target; we store values + in target byte order everywhere. + +Wed Jan 16 19:01:37 1991 John Gilmore (gnu at cygint.cygnus.com) + + * am29k-opcode.h, am29k-pinsn.c: Add 29050 opcodes. + + * valprint.c (cplus_val_print, val_print_fields): New functions, + which print C++ objects. They conspire to avoid printing a + virtual base class more than once, following all the twists and + turns of C++ virtual base rules. + (val_print): Call the above rather than do it by hand. + + * symfile.c (symbol_file_add): Only reset symfile_mtime for main + symbol file, not for added files like shared libs. This really + needs to be generalized to a timestamp per file. + + * core.c (cleanup_core): Avoid coredump if no core file. + + * config.gdb: Accept -host or -target in place of +host or + +target. + + * coffread.c (find_linenos): Avoid desupported BFD interface + to line numbers. We still read them manually rather than using + BFD's "generic" features. + + * gdbrc.tex, threecol.tex: Add GDB reference card and its + formatting code. + Makefile.dist: Add refcard to OTHERS list for creating tar files. + + * Makefile.dist: Eliminate use of $< in explicit targets. + + * readline/Makefile: Use $< rather than $*.c, which does not + include the VPATH in GNU Make. + + * tconfig/i960-bout, tconfig/i960-coff: These are identical + copies of tconfig/i960, added for global configuration + compatability. All i960 versions can read both coff and b.out. + + * tm-88k.h: Fix multiline macro that lacked \'s. Remove + COFF_FORMAT and COFF_CHECK_X_ZEROES since these are now handled + automaticaly. + + * TODO: Think of more things to do. + +Wed Jan 2 19:09:29 1991 John Gilmore (gnu at spiff.cygnus.com) + + tconfig/{am29k,i960,sun2*,sun3*,sun4*}: Eliminate config + of sdb versus dbx debug symbols. Add kludge for 68881 80-bit to + 64-bit float conversion. + + tconfig/sun4, tconfig/sun3, xconfig/sun4, xconfig/sun3: Make + equivalent to sun?os4 so global config works. + +Wed Jan 2 18:20:51 1991 John Gilmore (gnu at spiff.cygnus.com) + + Fix from Eberhard Mattes <mattes@azu.informatik.uni-stuttgart.de> + + * main.c: Only declare linesize once; declare pagesize not at + all, since it is never used. + (main): Clear newly allocated line before it is used. + +Fri Dec 28 00:13:42 1990 John Gilmore (gnu at cygint) + + Further stabilization for the Intel 960. + + * Makefile.dist: Parameterize the location of the "include" + and "bfd" directories, as well as "getopt". Add symfile.c. + Link in both dbxread and coffread. Fix up "make depend" to + rewack the locations of include, bfd, and getopt in its output. + + * README: Document moving include files, improve some of + the other doc. + + * coffread.c: Move common code out to symfile.c. Change + symbol_file_command style interface to use new *_symfile_init + and *_symfile_read interface under BFD. Use BFD internal + info to locate line table, symbols, etc. + + * core.c (core_fetch_registers): Rename to get_core_registers + to avoid confusion with fetch_core_registers. + (register_addr): Move to coredep.c, which is already machine + dependent. This leaves core.c pretty clean of dependencies. + + * coredep.c (register_addr): Accept this routine from core.c. + + * dbxread.c: Move common code (with coffread.c, etc) into new + symfile.c. Each psymtab now contains a pointer to the + format-dependent function that knows how to read it in. Make + some things static. + (dbx_psymtab_to_symtab): Renamed from psymtab_to_symtab_2. + (process_one_symbol): Add code to complain about a "compiler bug + we muzzle here", if we actually see it. + + * eval.c (evaluate_subexp): Insert missing "break" statements + in code that determines whether a variable is an lvalue in + memory, register, or whatever. I detected this via a compiler + bug in which it *almost* mashed out the whole switch statement. + + * gdb-int.texinfo: Add minor sections on configuring gdb for + release, and about the README file. + + * infcmd.c (registers_info): Fix formatting somewhat. Still + not as pretty as before, but it handles byte swapping. + + * remote-nindy.c: If data cache routines are interrupted while + waiting for the remote end, be sure that any uninitialized cache + blocks are on the free list, not on the valid list! + + * symfile.h: Flesh out this header file with all the various + routines and variables that have been merged in from dbxread.c + coffread.c, and symtab.c to symfile.c. + + * symfile.c: New file, containing code common to dbxread.c, + coffread.c, and some code from symtab.c. All generic code for + reading symbol files should be in here now. + (unrecord_misc_function): Remove unused function. + + * symtab.h: Remove file-reading things to symfile.h. + + * symtab.c: Remove file-reading things to symfile.c. + + * tm-i960.h: Fix FRAME_CHAIN types; define PRINT_RANDOM_SIGNAL + to decode i960 fault types. + + * target.h, remote.c, remote-eb.c, remote-vx.c, remote-nindy.c, + target.c: Change type of the "resume" function from int to void, + since its result was never used. + +Sat Dec 22 02:51:40 1990 John Gilmore (gnu at cygint) + + * main.c: Replace "stupid" with "caution"; you now "set caution + on or off". + + * printcmd.c (print_scalar_formatted): Fix typo in 'g' format + + * infcmd.c (do_registers_info): Call val_print to deal with the + byte order of the registers being printed. FIXME, this makes + the formatting of the output uglier. + + * infcmd.c (wait_for_inferior): If PRINT_RANDOM_SIGNAL is + defined, call it for signals the debugger doesn't itself use. + The i960 uses this for more detailed fault information. + + * remote.c (remote_open): If arg is null, print help rather than + dumping core. + + * sparc-xdep.c (register_valid): Avoid declaring size, since + various modules will think of various sizes depending on the + architecture of their tm-file. FIXME, we need protection against + actually entering one of those modules, which would clobber + storage if not for the target architecture compiled into gdb. + + * stack.c (up_command, down_command): Always print the frame + you arrive at. + (up_silently_command, down_silently_command): New commands + for use in scripts. + + * i960-pinsn.c (reg), i960-tdep.c: Lint. + + * i960-tdep.c (i960_frame_chain_valid): Lookup_symbol now takes + more parameters than it used to. + + * findvar.c (registers): Increase slop to 256 bytes, which should + protect us against even most RISC machines with large register + sets. + (locate_var_value): Move declaration inside related ifdef. + + * remote-nindy.c (): Use TIOCSETN rather than TIOCSETP + throughout, to avoid throwing away buffered input from the board. + (nindy_wait): Supply_register takes addr_of_value, not value. + (i960_print_fault): Renamed from i80960_fault. + (nindy_fetch_registers): Avoid have_regs stuff, just get them. + (nindy_store_registers): Avoid regs_changed stuff, just stuff + them. + (nindy_create_inferior): Don't bother to write PC_REGNUM since + we can set the PC in the call to proceed(). Unpush nindy_ops + before pushing it on top, to avoid message to user. Eliminate + commentary from Unix machines that just misleads here. + (reset_command): Fix error message to suggest target command. + +Wed Dec 19 11:03:56 1990 John Gilmore (gnu at cygint) + + Release 3.92.5 as frozen. + + Stabilize the merged release...with help from lint, Saber C, + gcc -W, etc. + + Everywhere: Add include files needed to declare return types + of functions called. + + * gdb.texinfo: Roland Pesch is documenting gdb, glory be! + + * breakpoint.h: Add undeclared breakpoint functions, and some + functions for display handling since I couldn't think of a better + .h to put them in. + + * breakpoint.c (insert_breakpoints): Make code for disabling + shared library bkpts more likely to work. It's used when we + rerun a program and stop before the shared library has been + mapped in. + (breakpoint_cond_eval, bpstat_stop_status): Pass arg as int, + cast from pointer, so it squeezes through catch_errors. + (bpstat_stop_status): Fix logic broken some time ago. We now + always create a bpstat if the stop address matches a breakpoint, + even if we don't stop there -- just like the old code used to do + before I got my fingers into it (sigh). + (breakpoint_1): Print "ignore count" after "stop only if" + condition, since that's how it actually works. + (mention): Handle watchpoints as well as breakpoints. + (watch_command): use set_raw_breakpoint and mention to do most + of the work (and initialize all the fields!). Only pass one + arg to parse_c_expression, since that's all it takes. + + * command.c (not_just_help_class_command): Rename arg to args + since we ignore "unused argument" warnings on vars named "args". + inflow.c (child_terminal_info): ditto. + infptrace.c (kill_inferior): ditto + main.c (catch_errors, version_info, quit_command, pwd_command, + source_command, dump_me_command, editing_info, + set_history_size_command, set_history, show_history, + set_verbose): ditto + stack.c (locals_info): ditto + target.c (target_files_info): ditto + valprint.c (set_input_radix, set_output_radix): ditto + + * core.c: Remove old variables for handling core and exec file + sections (data_start, data_end, stack_start, stack_end, + reg_stack_start, reg_stack_end, reg_stack_offset, text_start, + text_end, exec_data_start, exec_data_end, text_offset, + exec_data_offset, data_offset, stack_offset). They're + superseded the more general build_section_table and + xfer_memory. + (get_exec_file): Mention the `file' command. + (read_memory_check): Rename to memory_error, and only call it + in the case of an actual error. + (read_memory, write_memory): call memory_error. + (core_fetch_registers): Register section name is ".reg". + + coredep.c: Remove a bunch of crud now that all this file does + is pull the registers out of a core file. + (fetch_core_registers): Rewrite to actually work, I hope. + + dbxread.c: Use a.out.gnu.h, not system a.out, now. + Replace index() with strchr(). Remove all the pre-BFD macro + definitions for accessing the symbol file. + (struct dbx_symfile_info): Encapsulate the information that + dbx_symfile_init needs to pass to dbx_symfile_read in this + struct. + + (dbx_new_init, dbx_symfile_init, dbx_symfile_read, + dbx_symfile_discard): Rearrange symbol file reading to divide + the format-specific part from the format-independent part, + leaving the format-independent part such as file name expansion + and opening in symtab.c. This replaces + partial_symbol_file_open and partial_symbol_file_read. + Symbol_file_read, add_file, add_file_target_command, + add_file_addr_command move to symtab.c. Pass an explicit + "mainline" flag for when reading the main symbol table, rather + than relying on the offset address to be zero or nonzero. + + (dbx_symfile_read): Don't allow void *'s to be printed as + typedefs. + (SWAP_SYMBOL): Use bfd routines to byte-swap the symbols. + (ADD_PSYMBOL_TO_LIST): Make the "function call rather than + macro" debug version really work. + (read_dbx_symtab): Remove unref'd parameter inclink. + Avoid swapping N_SLINE symbols, for speed. + Merge N_TEXT!N_EXT case with the other external symbol + definitions' case. Add comments. + (start_psymtab): Allocate the symfile name in the psymtab on + the psymbol_obstack, rather than using the caller's storage. + (end_psymtab): Only allocate a dependencies list if there are + more than zero. + (psymtab_to_symtab_2): Use BFD when reopening file to read + its symbols for real. + (read_struct_type): Add FIXME comments where it needs work + for C++ bogosity. + (read_huge_number): Add FIXME about overflows. + (read_range_type): Add FIXME about comparing a long to 1<<32. + + * coffread.c: Minor changes to move things closer to the new + regime with symtab.c and dbxread.c Major work is still needed + here. + + * exec.c (exec_file_command): Remove old variables (see core.c + above). + (xfer_memory): If memory transfer is right at the end of a + section, don't lose. + + * findvar.c (get_saved_register): If value is in a real + register, LVAL is lval_register, not lval_memory. + + frame.h: Declare print_sel_frame and record_selected_frame. + + gdb-int.texinfo: New file, for GDB internals documentation. + Very simple, unformatted doc of cleanups is there for now. + + gdbcore.h: Remove obsolete variables that described a.out + section addresses and offsets. (See core.c above.) + Declare fetch_core_registers and registers_fetched. + + getopt.c: Declare char *alloca(); even on SPARC. + + infcmd.c (run_command): Call target_kill rather than + kill_inferior. + (step_command, next_command, stepi_command, nexti_command): + Declare from_tty parameter even though we don't use it. + (run_stack_dummy): argument BUFFER is a char array, not + a pointer to REGISTER_TYPE. + (finish_command): using_struct_return needed a value *, + not a struct symbol *. + + * infptrace.c (child_xfer_memory): To avoid dependency on + where sections are in memory, try PT_WRITE_D and if that fails, + try PT_WRITE_I. Most Unixes don't care which you use. + + * infrun.c (step_resume_break_shadow): Change to array to + match other breakpoint shadow storage. + (clear_proceed_status): Pass address of bpstat to + bpstat_clear, not the bpstat itself. + (child_create_inferior): FIXME comment about if the child + exits. + (start_inferior): Remove old function. + (child_open): Use target_kill rather than kill_inferior. + (wait_for_inferior): Ditto. + (insert_step_breakpoint, remote_step_breakpoint): Use + new step_resume_break_shadow. + + * inftarg.c (child_wait): If all child processes die, + pretend that the one being waited for exited with signal 42. + + * main.c (command_line_input): When scanning for comments, + don't coredump on unclosed quotes. + (quit_command): Use target_kill rther than kill_inferior. + (_initialize_main): Rename class_user from "user" to + "user-defined". + + * printcmd.c (print_command_1): Initialize "fmt" if no format + is specified by the user. + (print_frame_args): Only add to args_printed if we are + actually fetching args from the stack (avoiding undefined + arg_size). + (_initialize_printcmd): Remove bogus \{ from string. + + * remote-eb.c (eb_open): Avoid coredump on no argument. + + * remote-nindy.c: Bring out of Intel environment into new + target environment. Remove all conditional compilation on + I80960. Massive hacking throughout. + (nindy_xfer_inferior_memory): New routine stolen from + infptrace.c. + (nindy_create_inferior): New routine pieced together, probably + not quite working yet. + (nindy_ops): New target_ops struct for nindy. + + * remote-vx.c: Use write_memory rather than target_write_memory + to get error checking. + (vx_add_file_command, vx_open): Use symbol_file_add rather than + add_file. + (vx_create_inferior): Use target_terminal_ours... + + * signame.c (_initialize_signame): Always initialize, since + we need the table for things other than psignal. + + * solib.c (solib_add): Use symbol_file_add, not add_file. + (solib_address): Return boolean result rather than struct + pointer which nobody else knows the type of. + + * sparc-tdep.c, valops.c: Use write_memory rather than + target_write_memory, to get error checking. + + * stack.c (locals_info, catch_info, args_info, + get_selected_block, frame_command, up_command): Use + target_has_stack, rather than have_inferior_p or + have_core_file_p. + + * sun3-xdep.c (fetch_core_registers): Rewrite for new BFD regime. + + * symfile.h: New file, defining the interface between the + generic and object-file-specific symbol reading code. + + * symtab.c: Move generic symbol-reading interface to symtab.c, + from dbxread.c, coffread.c, mipsread.c, etc. Add symtab_fns + table to map BFD targets to symbol-reading modules in GDB. + Change index to strchr. + (lookup_struct_elt_type): Use error() rather than hand-made + simulations thereof. + (lookup_partial_symbol): Speedup slightly when length == 0. + (symbol_file_add): New function. + (symbol_file_command): Call it. + (symfile_open, symfile_init): New function. + (add_file_target_command, add_file_addr_command): moved from + dbxread.c. + + * target.c (target_command): use target_kill. + + * target.h (target_files_info): Don't declare, never called + from outside. + + * tm-sun2.h, tm-sun3.h (STACK_END_ADDR): Use system include + files to determine stack end address. + + * valarith.c (value_x_binop, value_x_unop): Change error message + to be more useful. Pass proper argument to value_struct_elt. + + * valops.c (value_assign): FIXME comment that long long + bitfields will break here. + + * Makefile.dist: Add symfile.h, remote-nindy.c, remote-eb.c. + Update `make saber_gdb' to work better. + + * TODO: A woman's work is never done. + + * cplus-dem.c, environ.c, inferior.h, infrun.c, inftarg.c, + main.c, obstack.c, printcmd.c, remote-eb.c, remote-nindy.c, + remote-vx.c, remote.c, solib.c, source.c, sparc-pinsn.c, + sparc-tdep.c, sparc-xdep.c, symmisc.c, symtab.c, symtab.h + target.c, terminal.h, tm-sparc.h, tm-sunos.h, utils.c, + valops.c, valprint.c, exec.c: Lint. + + +Wed Dec 12 23:44:15 1990 John Gilmore (gnu at cygnus.com) + + Continuing Intel 960 port merge of GDB. + + * Makefile.dist: Merge i960 "nindy-share" files. Rename + malloc.h to gmalloc.h to avoid name conflicts in /usr/include. + Don't ship gdb.dvi in tar file. Link gdb with init.o, not init.c. + Wack over "make depend" so it handles files in subdirectories + vx-share, nindy-share, bfd, and in the current directory. + + * blockframe.c (get_prev_frame_info): Remove fatal error + if stack not defined. + + * core.c (core_open, core_detach): New functions that handle + the old "core-file" command as "target core" and "detach" instead. + (core_file_command): Call them. + (core_xfer_memory): Use common routine xfer_memory. + + * dbxread.c: Include a.out.gnu.h, not system a.out.h. + dbxread now uses bfd for everything but symbol reading itself. + BFD internals are used to drag out the relevant file offsets. + (partial_symbol_file_open): Change args all around for BFD. + + * symtab.c: Rename "value" to "val" everywhere, so we can + #include "value.h". + (symbol_file_command): New command, moved from dbxread.c + and coffread.c. It uses BFD to read the file, then vectors + based on its type, to dbx or coff symbol readers. + * symtab.h: Extern a few vars for symbol_file_command. + + * target.h: Breakpoint takes a char * save area, not a char **. + + * valprint.c (val_print): When unpacking bitfields, offset + the address in gdb of the value, if it is declared with a shorter + type. Remove the last "runtime kludge test" of host byte order. + + * utils.c: Remove old my_bfd_read routine. + + * stack.c (frame_info): Use target_has_stack. Print program counter + register's actual name rather than "pc", since it's called the + "ip" (instruction pointer) on the i960 (sigh). + + * target.c (target_command): Add command for selecting a target + type and calling its open routine. This is used for initiating + communication with a particular target, in a generic way. + + * tm-i960.h: Update for modern gdb. Remove semicolons from + various macros. Handle reading struct return convention, and + error-out attempts to return structs with the "return" command. + Be sure gdb doesn't think we know how to call functions in the + inferior. + + * i960-tdep.c: Rename FRAME_CHAIN_VALID and FRAME_FIND_SAVED_REGS + to i960_xxx in lower case. + (arg_address): Circumvent errors due to LOC_ARG_BLOCK + not being defined yet. + + * remote.c (remote_open): Call start_remote to initialize + wait_for_inferior during open. + (remote_xfer_inferior_memory): Return length written rather + than errno value. + + * remote-vx.c (target_command -> vx_open): Use new generic + target command. + * remote-eb.c, inftarg.c, exec.c: ditto. + + * infrun.c: Fix comments. + (attach_program -> child_open): Use new generic target command. + (wait_for_inferior): Clear saved register values before target_wait, + so target_wait can set some of them if convenient. + + * infptrace.c (fetch_inferior_registers, store_inferior_registers): + Return success indicator, not void. + (child_xfer_memory): Avoid fetching initial word if we'll + overwrite it anyway. + + * infcmd.c (attach_command): Use new generic target open routine. + (_initialize_infcmd): Update doc on attach and detach commands. + (do_registers_info): Merge in a byte-order problem as a FIXME + comment. + + * findvar.c (find_saved_register): Avoid problem in current frame. + (read_relative_register): Ditto. + (write_register): Convert byte order on the way out. + + * exec.c (file_command): Add. + (add_to_section_table, exec_command): Use new bfd_map_over_sections. + (xfer_memory): Common function between core_xfer_memory and + exec_xfer_memory. + (exec_xfer_memory): Use it. + + * pn-opcode.h: Document that a "PN" is a Gould PowerNode. + + * breakpoint.c, breakpoint.h, symtab.h, value.h, frame.h, utils.c, + valops.c, stack.c, target.c, sparc-xdep.c, source.c, printcmd.c, + infcmd.c, i960-pinsn.c, eval.c, defs.h: lint and gcc -Wall. + +Sun Dec 2 16:45:06 1990 John Gilmore (gnu at cygnus.com) + + Merge Intel 960 port of gdb, continuing... + + * dbxread.c (partial_symbol_file_open, partial_symbol_file_read, + symbol_file_command): Pass from_tty arg to hush 'em up. + + * coffread.c (symbol_file_command): Avoid output if from_tty != 1. + Add magic numbers for 960 COFF format. + +Fri Nov 30 09:18:20 1990 John Gilmore (gnu at cygnus.com) + + Merge Intel 960 port of gdb, from Intel "1.2" release. + + CHANGE_LOG entries from their port, which was based on + gdb+-2.8.0: + + Thu Sep 6 11:02:22 PDT 1990 + Remove temp file if download is interrupted. + + Wed Aug 1 09:08:33 PDT 1990 + Now uses binary protocol to talk to NINDY. + Old hex protocol (NINDY 2.13 and older) supported with -O switch. + Times out after 5 seconds when trying to talk to NINDY. + + Tue May 29 12:54:49 PDT 1990 + Added variable baud rate (-b switch). + Source code reorganization. + + Thu Apr 26 11:09:55 PDT 1990 + More cleanup of batch mode; specifically, execute "-s", "-e", and + "-se" switches as soon as they are encountered on the invocation line. + + Fri Apr 20 13:47:15 PDT 1990 + Add -brk switch. + + Thu Apr 19 09:54:28 PDT 1990 + Add 'reset' command. + + Wed Apr 18 09:48:07 PDT 1990 + After opening remote tty, wait for 1 second to go by without input + from it before trying to talk to NINDY (fixes problems with the + Heurikon HK80/V960E). + + Mon Apr 4 16:33:05 PDT 1990 + Some output was not being suppressed in 'batch' mode. + + Thu Mar 22 15:31:11 PST 1990 + Ask user if old symbol table should be deleted when new file is + downloaded. + + Allow user to run a program downloaded before gdb960 was brought up. + + Correct "exec-file" help message for i80960 context. + + Correct bug in calculating user space address: could occasionally + corrupt user program. + + Make sure to zero low-order bits in rip's because of bug in 960CA + A-step part: could cause operation faults when "next"ing across + a function call. + + Correct bug that made it impossible to get source line numbers for + code loaded at addresses higher than 0x7fffffff. + + Wed Jan 10 12:43:22 PST 1990 + Open remote tty for exclusive use. + + Fri Jan 5 12:14:42 PST 1990 + Correct disassembly (CA manual was right after all): + opcode for sysctl is 0x659 + + Mon Oct 23 12:03:04 PDT 1989 + Use G960BASE and G960BIN environment variables to find 'sx' utility. + + Mon Oct 16 14:15:09 PDT 1989 + "sfr0"-"sfr31" should have been named "sf0"-"sf31" + + Mon Oct 2 15:56:31 PDT 1989 + + Added 960CA disassembly support. + + To simplify maintenance: + - eliminated use of symblic links on pinsn.c: use i960-pinsn.c + directly instead. + - eliminated opcode.h: incorporates tables into i960-pinsn.c + - moved 960-specific routines from i960-pinsn.c to i960-md.c + - made disassembly interface identical to that in gdmp960. + + + +Wed Nov 28 21:32:48 1990 John Gilmore (gnu at cygint) + + * target.h: Allow targets to stack. Add target_has_memory, + _registers, etc. Restructure memory access and "info files" + to walk the target stack. + * exec.c, core.c, inftarg.c, remote.c, remote-vx.c, remote-eb.c, + target.c: Change tables to match target.h. + * inflow.c (child_mourn_inferior): pop child_ops. + (generic_mourn_inferior): Use new has_stack flag. + * infptrace.c (child_xfer_memory): New memory regime. + * inftarg.c (child_files_info): New "info files" regime. + * remote-eb.c: New memory regime, new info files. + * remote-vx.c: New memory regime, new info files. Now use + separate targets for VxWorks attachment to machine, and + actually running a process under VxWorks, since one has + stack & execution & regs and the other doesn't. + * remote.c: New memory regime, new info files. + * sparc-xdep.c (fetch_core-registers): New memory regime. + * target.c: New routines and support for stacked targets, + new memory regime, new info files regime. + + + Generalize section handling for an arbitrary number of sections, + including use of the new BFD (binary file) library. + * gdbcore.h: Add struct section_table. + * exec.c (build_section_table): Iterate all sections and + record what gdb needs to know about them. + (exec_command): Use it. + (exec_xfer_memory): Use the table. + (exec_files_info): Print the table. + * core.c (core_file_command, core_xfer_memory, core_files_info): + Likewise. + * source.c (find_source_lines): Use bfd_get_mtime. + * dbxread.c: Quick changes to make it compile with new BFD. + * utils.c (error): Avoid using bfd_error in generic routines. + + * core.c (core_fetch_registers): Get from the ".regs" section of + the BFD core file. + * sparc-xdep.c (fetch_core_registers): Use the .regs info. + + * inferior.h (attach_flag): Export. + * infcmd.c (run_command): use new target_create_inferior. + * infrun.c (child_create_inferior): Don't return result. + * Makefile.dist (VERSION): 3.91.4. + +Fri Nov 23 28:15:38 1990 John Gilmore (gnu at cygint) + + * breakpoint.c (bpstat_num): Handle breakpoints which have + since been deleted, such as temporary breakpoints. + infcmd.c (program_info): ditto. + + * core.c (core_file_command): Display the frame where the core + dump occurred. + + * main.c: lint. + + * remote-vx.c (target_command): Merge in target command from + targ-vx.c. A few other cleanups. + + * TODO, Projects: Lots more stuff to do... + +Fri Nov 23 18:15:38 1990 John Gilmore (gnu at cygint) + + Massive changes to wall off the remote-debugging interface + behind a function vector. The port to handle VxWorks targets + is also part of this. + + All files: Replace references to renamed functions, + remove references to remote_debugging, remove references to + have_include_file, have_core_file in favor of target_has_stack, + target_has_memory, etc. + + * Modularize the breakpoint interface. + breakpoint.h (BREAKPOINT_MAX): New define sets max length of + a breakpoint instruction. + breakpoint.c: struct breakpoint's shadow_contents now sized as + BREAKPOINT_MAX. + (insert_breakpoints): Vector to target to install breakpoints. + (remove_breakpoints): Vector to target here too. + Remove REMOTE_SA_SPARC kludges and other remote_debugging. + sparc-tdep.c (single_step): Use new breakpoint interface for + the single-step breakpoints. + mem-break.c (memory_insert_breakpoint, memory_remove_breakpoint): + New file, contains routines to insert and remove breakpoints by + reading out the old contents and later replacing them. This is + how ptrace breakpoints work, and many remote systems as well. + + * tm-vxworks68.h: New config file, overrides a few things for + Wind River's preferences. + + * target.h: New file, for transfer vector used to talk to the + inferior (child, attached, core, exec, remote, etc). All accesses + to the thing being debugged should come through these vectors. + target.c: New file, routines to handle transfer vector. + (various files): Add transfer vectors XXX_ops for the various + targets and pseudo-targets (core files, etc) we support. + + * breakpoint.c (bpstat_stop_status): Further explorations of + watchpoints and why things don't work all the time. + (bpstat_alloc): New fn to allocate a bpstat and chain it. + + * config.gdb: Only add "source ${srcdir}/.gdbinit" to + the local gdbinit if it doesn't already have it. + + * core.c (core_ops): add and install. + Allow core debugging without exec file. + + * dbxread.c (free_and_init_header_files): Merge two fns. + (end_symtab): Free named symbol table when a new version comes in. + (read_dbx_symtab): Relocate all kinds of symbols with base + address. First step toward handling different text, data, bss + reloc. + (add_file_addr_command): Renamed add_file_command. + (add_file_command): Vector to remote handler. + Add "load" as an alias for "add-file" command. + + * defs.h: Allow "volatile" to be used in non-ANSI; use it for + non-returning functions. + + * exec.c: Add exec_ops, and push it as a target when an exec + file is specified. + + * infcmd.c (run_command): Pass executable file name and arg list + separately when starting an inferior. Permit "run" when no exec + file is specified, for VxWorks. + (detach_command): Move to child_detach in inftarg.c. + + * inftarg.c: New file. Unix-child-specific routines, and the + child_ops structure. + + * inferior.h (registers): Export "registers" as the way for + target dependent register handlers to find gdb's local copy of + the registers. Rename "stop_after_attach" to "stop_soon_quietly" + since it is now used by places that want wait_for_inferior to + handle the grunge but want to see every trap from the inferior. + + * inflow.c (create_inferior): Pull out, and merge into infrun.c. + Eliminate remote_debugging hooks in terminal handling. + + * infrun.c: Replace start_inferior with child_create_inferior. + Move all the hair of Unix shells and ptrace idiosyncracies into + child_create_inferior, so remote handlers don't have to deal. + Remove running_in_shell. Rename stop_after_attach to + stop_soon_quietly, and use it in a few other places where we want + to just call wait_for_inferior and get control back on the first + trap. trap_expected now never takes a value > 1. + (init_wait_for_inferior): Initialize static vars when a new + process is created. + + main.c (gdbinit): Add new hook for .gdbinit file name, let + it be overridden by config files as GDBINIT_FILENAME. + (DEFAULT_PROMPT): Add new hook for overriding (gdb) prompt. + Both of these are used for VxWorks gdb. + + mcheck.c: rename include file "gmalloc.c" to avoid problems + with system include file "malloc.c". + + param-no-tm.h: New include file, same as param.h but does not + include the default "tm.h" file. This is used in files where + the target is known, e.g. remote-eb.c or sparc-xdep.c. + + param.h: Now just a shell that includes tm.h and param-no-tm.h. + + remote-vx.c: New file, VxWorks remote debugging support. Uses + RPC routines that are shared with the target system, in directory + ${srcdir}/vx-share. + + remote.c: Vectorize remote interface. + + source.c: Globalize source_path, and make an alias "l" for "list" + since we now have the "load" command. + + sparc-xdep.c: Use new param-no-tm.h. + + symmisc.c (free_named_symtab): Add new function from Wind River. + However, ifdef it out for now while we think about what it should + really be doing. + + tm-sun3.h, xm-sparc.h, xm-sun3.h, xm-symmetry.h: Move + PREPARE_TO_STORE to + the xm- file, and change its name to CHILD_PREPARE_TO_STORE, since + non-Unix-children handle this with their own code in the target + transfer vector. + + Makefile.dist: Roll version to 3.92.3. Add vx-share stuff to + source and target lists. Add vx-share to default list of include + directories. Add new files to src and target lists: mem-break, + target, inftarg, remote-eb, remote-vx, targ-vx. Be sure the + ${srcdir} versions of munch and createtags are used. + + * valops.c (find_function_addr): Split out of call_function. + (call_function_by_hand): Rename call_function; this function + calls functions in the target by laboriously patching the target + word-by-word with the right stack, args, regs, etc. + + +Mon Nov 5 17:29:10 1990 John Gilmore (gnu at cygint) + + Handle AMD 29000 a bit better. + + * remote-eb.c (readchar): Mask received char log to make it readable. + (remote_start): Pass arguments down to executing program. + Make startaddr unsigned. + infrun.c (start_inferior): Accept args, pass them to + remote_start. + infcmd.c (run_command): Pass args down to start_inferior. + + * tconfig/am29k-aout, tconfig/am29k-coff: New files specifying + the target object file format. + tm-29k.h: Pay heed to COFF_ENCAPSULATE. + + * am29k-pinsn.c (print_insn): Print 0x on hex numbers in disassembly. + am29k-tdep.c (examine_prologue): Better checking of function prefixes. + +Sun Oct 7 18:20:45 1990 John Gilmore (gnu at cygint) + + * Makefile.dist (VERSION): Roll version to 3.91.9 and freeze. + * TODO: We did a few things, we have more to do though. + + * xm-sparc.h (CLEAR_DEFERRED_STORES): Define. + * inflow.c (inferior_died): Clear deferred stores. + + * Debug problems with dummy frames and calls to the inferior. + * tm-sparc.h (PUSH_DUMMY_FRAME, POP_FRAME): Move to sparc-tdep.c. + * sparc-tdep.c (do_restore_insn): Simplify. + (sparc_frame_find_saved_regs): Simplify and fix what we find. + (sparc_push_dummy_frame): Simplify and fix what we push. + (sparc_pop_frame): Slightly more hair here, deciding whether + we are restoring a saved PC or returning to a return address in %i7. + * sparc-xdep.c (read_inferior_registers): Debug if valid reg is read. + + * utils.c (xmalloc, xrealloc): Return type depends on __STDC__. + * symtab.h (xmalloc): ditto, for obstack_chunk_alloc. + * obstack.h (chunkfun): ditto. + * defs.h (xmalloc, xrealloc): ditto + + * utils.c (quit): Grab the terminal from the child if necessary. + + * inflow.c (term_status_command): Rename to term_info, change + to "info terminal". + + * sparc-pinsn.c (print_insn): Disassembly prefers real instructions. + (is_delayed_branch): Speed up. + * sparc-opcode.h: Add ALIAS bit to aliases. Fix up opcode tables. + Still missing some float ops, and needs testing. + + * Support for input and output radixes other than base 10 + * defs.h (input_radix, output_radix): Declare. + * expread.y (yyparse, parse_number): Handle changes of input + radix, and ambiguous names-or-numbers in radixes >10. + * printcmd.c (print_scalar_formatted): Print formatted hex + numbers in varying column widths. + * valprint.c (val_print): Use output_format to print scalar ints. + (set_input_radix, set_output_radix, set_radix): Create. + (set_output_radix): Set output_format from output_radix. + (_initialize_valprint): add `set radix' but leave the others off. + + * main.c (execute_command): Let stupid questions be turned off. + (_initialize_main): Handle "set stupidity", etc. + + * main.c, inflow.c, inferior.h, frame.h, command.c, defs.h, + sparc-pinsn.c, sparc-xdep.c, value.h, valops.c, values.c: Lint. + +Tue Oct 2 11:20:02 1990 John Gilmore (gnu at cygint) + + * TODO, Makefile.dist, ChangeLog: Freeze for 3.91.8 release. + bfd stuff is still screwed up, but with some manual work, it + compiles. + + * breakpoint.c (bpstat_do_actions): Start over if a command + proceeds the inferior, since the inferior will have stopped and + will need to have its new stop-actions taken care of. + + * dbxread.c (read_struct_type): Expression gives Sun3 4.0.3 + compiler fits, simplify it. + + * gdb.texinfo (directory command): Doc new dir command. + source.c (directory_command): "dir" now puts things on the front + of the path, moves dups up front, and handles multiple names + on the command line, inserting each one in order. It also + blows away cached line and full_filename info. + + * stack.c (backtrace_command): Skip "more stack frames follow" + unless interactive. + + * Change #ifndef HAVE_VPRINTF to #define MISSING_VPRINTF in + xm-convex.h, xm-hp300bsd.h, xm-isi.h, xm-merlin.h, xm-news.h, + xm-np1.h, xm-pn.h, xm-pyr.h, xm-symmetry.h, xm-umax.h, xm-vax.h. + The only odd one was Gould NP1, which had defined vprintf to + "printf"!!! + + * Merge Ted Goldstein <tedg@Eng.sun.com>'s changes for epoch. + printcmd.c (print_command_1): Pass 'inspect' flag down as a global + variable, inspect_it. + valprint.c (print_string, val_print): Use the global inspect_it + to indicate whether to print in Epoch style or normal style. + +Mon Oct 1 23:55:26 1990 John Gilmore (gnu at cygint) + + * printcmd.c (call_command): add an alias for the "print" command + which runs expressions and doesn't print the result if void. + (print_command_1): implement it. + + * command.c: Remove #if 0'd code. Initialize all the fields + in add_cmd (). Rename do_nothing_command to + not_just_help_class_command, and make it externally visible. + command.h: add user_commands to struct. + * main.c (define_command): Don't overload c->function with a char + string as well as a function pointer. + + * eval.c (evaluate_subexp): Reinstall tiemann changes to + calling convention of value_struct_elt () that got dropped in + merge. + + * tm-sparc.h (FRAME_FIND_SAVED_REGS): move to sparc-xdep.c. + sparc-tdep.c (sparc_frame_find_saved_regs): ditto. + + * tm-sparc.h (POP_FRAME): replace some constants with defines. + + * sparc-xdep.c (store_inferior_registers): defer stores to regs + until a good time (e.g. when we are about to run the child), + saving ptrace calls. + * infrun.c (proceed): handle DO_DEFERRED_STORES. + * tm-sparc.h: define DO_DEFERRED_STORES. + + * sparc-xdep.c (store_inferior_registers): when storing float + registers, don't store stack regs too. When storing the SP, + however, DO store the stack regs too. This fixes a bug in which + the dummy frame is not recognized when a call_function finishes, + because its frame pointer (in the stack regs) was never + initialized. + (read_inferior_registers): Mark WIM and TBR and FPS and CPS valid + even though we don't know how to read them from an inferior. + valops.c (call_function): Comment about storing SP. + + * infrun.c (save_inferior_status): Save away the original bpstat + chain so it can be restored later. Install the copied version for + use by whoever saved the status. It will be blow away by + restore_inferior_status, and the original chain restored. This is + important for people who have pointers into the original. + + * breakpoint.c, command.h, copying.awk, dbxread.c, defs.h, + findvar.c, frame.h, obstack.h, obstack.c, inflow.c, value.h, + main.c, printcmd.c, sparc-tdep.c, symtab.c, valprint.c: lint + + +Fri Sep 28 20:32:46 1990 John Gilmore (gnu at cygnus.com) + + * Makefile.dist: Roll version to 3.91.8. Add bfd.h and bfdconfig.h + temporarily to the makefile. Add am29k-opcode.h and WHATS.NEW. + Add stuff.c and kdb-start.c to the OTHERS list for tar files. + +Fri Sep 28 19:12:12 1990 John Gilmore (gnu at cygint) + + * Merge Mike Tiemann's multiple inheritance changes from Sun. + Store the baseclasses in a type struct starting from array element + 0 rather than from the unusual array element 1. + + dbxread.c: the above. + (virtual_context): Add + Read new debug information about which virtual function table + a virtual function is from, and store it in fn_field.fcontext. + + symtab.h: Add fcontextt. Fix baseclass indices. Typo in + TYPE_FN_FIELD_STATIC_P. + + symtab.c: the above. + valops.c: the above. Handle pointer casts of object *'s. + (search_struct_method): Add. + (value_struct_elt): First arg is now a pointer to a value, and is + modified on return. + + valprint.c: the above. + values.c (value_virtual_fn_field): Add type arg. Handle + offsetting to the proper object when calling virtual fns. + The above. + (baseclass_addr): Add valuep arg. + + * README: Document the current state of BFD config (missing). + * TODO, ChangeLog, Makefile.dist: Roll version. + * WHATS.NEW: Add summary of changes since 3.5. + +Thu Sep 27 16:23:12 1990 John Gilmore (gnu at cygint) + + * dbxread.c (read_struct_type): Clear bit vectors whenever + we allocate one. + symtab.c (B_CLRALL): define. + + * tm-sparc.h (STORE_RETURN_VALUE): Avoid clobbering types by + using == rather than =. Huh... This fixes the dreaded problem + wherein builtin_type_int becomes TYPE_CODE_FLT. + + * core.c (info_files): Show the inferior pid. + + * config.gdb: Avoid putting "dir" command into .gdbinit. GDB + already knows how to look in the source directory. + + * Remove psymtab hair from many places. Remove duplicated code + for searching symbol tables. Hide psymtabs from most places. + Make it fast to get from a psymtab to its symtab. + + blockframe.c (blockvector_for_pc): Remove psymtab hair. + coffread.c (psymtab_to_symtab): Rename to psymtab_to_symtab2. + mipsread.c (psymtab_to_symtab): Rename to psymtab_to_symtab2. + dbxread.c: export psymtab_to_symtab, make it work if called N times. + (psymtab_to_symtab): Rename to psymtab_to_symtab2. Initialize + new symtab completely. New psymtabs get symtab pointer + initialized to zero. Remove MI warning printf. + symtab.h: Comments. Add psymtab to symtab pointer. + (PSYMTAB_TO_SYMTAB): New macro. + symtab.c: use PSYMTAB_TO_SYMTAB. Add psymtab_to_symtab and export it. + source.c: use PSYMTAB_TO_SYMTAB. Remove symtab version and + compilation fields. + stack.c (backtrace_command): Avoid pre-pass to read symbols, if + verbose is not set. + (print_frame_info): Avoid special-casing symbols that have not yet + been read in. + + * source.c (open_source_file): Quick path if we have already + located the source file by its full name. + + * symtab.c (lookup_symbol): Use find_pc_symtab rather than + find_pc_psymtab. When a name is found in the misc function + vector, search the symbol table for its mangled name, not the + name that the user typed. + + * bfd.h: Fix missing comment terminators, make #endifs match. + + * valarith.c (value_less): Handle unsigned int comparisons. + Add FIXME about pointer compares, which assume host and target + pointers are the same. + + * command.c (do_nothing_command): lint + dbxread.c: lint. Remove sort_syms. Document C++ visibility info, + fix comments on debug symbol format for visibility. Actually set + visibility of symbols. + main.c (echo_command): lint; use <readline/history.h>. + tm-sparc.h (FRAME_FIND_SAVED_REGS): lint + obstack.h (_obstack_blank): Rearrange pointer math to avoid + pointing past end of allocated memory; saber complains. + obstack.h: Declare the external functions that we use. + valarith.h: use <string.h> + solib.c (solib_add): lint. + +Fri Sep 21 17:05:19 1990 John Gilmore (gnu at cygint) + + * main.c (initialize_main): Default info_verbose to off, now that + symbol reading is fast. + (quit_command): Avoid clobbering exec_bfd while quitting. + + * Initial BFD (binary file diddling library) merger: + coffread.c: Change AOUTHDR to struct exe_hdr. + dbxread.c: ditto. + core.c: initialize initialized data at compile time. + (core_file_command): Move from coredep.c, convert to bfd. + (xfer_core_file): Convert to bfd. + exec.c (exec_file_command): use bfd routines. + gdbcore.h: BFD. + mips-tdep.c: Remove exec_file_command and friends. + source.c: bfd. + + * coredep.c: (fetch_core_registers) Convert core_file_command to + fetch_core_registers. + mips-xdep.c, sparc-xdep.c, sun3-xdep.c: ditto. + + * utils.c: (error): Bogus crap, FIXME, to print bfd errors. + (my_bfd_read): More bogosity, which I don't think we call. + (program_name): Remove this atrocity asap! + +Wed Sep 19 13:36:41 1990 John Gilmore (gnu at cygint) + + * From Per Bothner: + values.c: allocate_repeat_value was not clearing the + optimized_out field. + (value_static_field): minor stylistic fix (wrong macro was used). + valops.c (value_struct_elt_for_address): didn't work for C++ + static fields. + + * signame.c (_initialize_signame): Initialize signal names once. + + * breakpoint.h, command.c, copying.awk, defs.h, environ.c, + exec.c, frame.h, infcmd.c, inferior.h, main.c, munch, sun3-xdep.c, + symtab.h, tm-29k.h, valprint.c, value.h, values.c: Lint. + + * remote-eb.c: Support user-settable baud rates on the serial port. + + * tm-sun3.h (PREPARE_TO_STORE): fix typo. + +Fri Sep 14 13:28:29 1990 John Gilmore (gnu at cygint) + + * tconfig/sun3os4: Remove warning about native assembler, + since it also occurs in the xconfig file. + + * findvar.c (registers): Allocate some slop after `registers' + to prevent stray accesses from trashing the next variable. + + * tm-68k.h (REGISTER_BYTES): Allocate the right number of bytes + on the sun-3, by changing the #ifdef from `sun3' (which is not + defined by cc) to `sun'. Symptom was trashed builtin_type_XXX + vars, which happened to follow `registers' in the executable. + + * readline/history.c (history_search): Heed gcc-2's advice + and parenthesize && inside ||). + + * am29k-opcode.h, am29k-pinsn.c, am29k-tdep.c, remote-eb.c, + tm-29k.c: Insert FSF copyright headers. + + * remote-eb.c: Better comments. + + * Makefile.dist: Update to 3.91.6. + * TODO: note PREPARE_TO_STORE problem. + +Thu Sep 13 09:52:33 1990 Jim Kingdon (kingdon at cygint) + + * stack.c (frame_info): Only use FRAME_FIND_SAVED_REGS if defined. + + * remote.c: Wrap the whole file in #if !defined (SPECIAL_REMOTE). + + * infrun.c (wait_for_inferior, at end): Don't set up + prev_* if the inferior no longer exists. + + * inferior.h (CALL_DUMMY_LOCATION): New macro, to replace + CANNOT_EXECUTE_STACK. + valops.c (call_function): Use it. + + * tm-convex.h: Add CALL_DUMMY_LENGTH for use by PC_IN_CALL_DUMMY. + + * inferior.h (PC_IN_CALL_DUMMY): New macro. + infrun.c (wait_for_inferior, 2 places): Use it. + + * values.c (value_being_returned): Only use + EXTRACT_STRUCT_VALUE_ADDRESS if defined. + + * Move PREPARE_TO_STORE from xm-sun3.h to tm-sun3.h to do the + right thing for remote-eb.c. + + * sun3-xdep.c: Remove extraneous call to remote_store_registers. + * sun386-xdep.c, hp300hpux-xdep.c, sparc-xdep.c: Ditto. + + * blockframe.c: Put get_frame_saved_regs inside #if !defined + (FRAME_FIND_SAVED_REGS). + + * findvar.c ({fetch,store}_registers): Check for + REMOTE_{FETCH_STORE}_REGISTER macro. + + * findvar.c (get_saved_register): Add argument lval and + change meaning of argument addr. + findvar.c: Change calls to get_saved_register to reflect + new calling convention. + valops.c (value_assign): Use get_saved_register instead of + find_saved_register. + +Sun Sep 2 12:40:20 1990 Jim Kingdon (kingdon at cygint.cygnus.com) + + * coffread.c (read_one_sym): Make temp_aux an AUXENT, not + an (uninitialized) pointer to one. Use "&" when passing it + to fread. + +Fri Aug 31 22:57:54 1990 Jim Kingdon (kingdon at cygint.cygnus.com) + + * coffread.c (getfilename): Use DGUX x_offset and x_name if + defined. + + * coffread.c (symbol_file_command): Put semicolon after + "int from_tty". + Put safe_to_init_tdesc_context in #if defined (TDESC). + Put #ifdef TDESCs in 1st column for non-ANSI cpp's. + coffread.c: #include <sys/stat.h>. + (read_coff_symtab): Typo: in_source_files -> in_source_file. + Add missing ')' in check for "lc%" and friends. Remove + extraneous '}'. + Declare read_one_sym() at top of file. + (read_file_hdr): Put in extra #ifdefs so MC68MAGIC and + MC68WRMAGIC can have the same value without causing a duplicate + case. + +Thu Sep 13 15:55:36 1990 John Gilmore (gnu at cygint) + + * Allow a Makefile to be built without building the + tm and xm file links that screw up builds in subdirectories. + This is done with `config.gdb none', then you can do things + like `make gdb.tar.Z'. + * tconfig/none: Config file for no target system + * xconfig/none: Config file for no host system + * config.gdb: If no TM or XM files are called out by the + host or target file, don't make links for them. + + * cplus-dem.c: Add documentation. + + * dbxread.c (read_ofile_symtab): Turn a fatal error into a + simple error, so the user's gdb doesn't crash due to some object + file problem (e.g. somebody is rebuilding the file out from under + gdb). + + * printcmd.c (print_address_symbolic): demangle the symbol. + + * Makefile.dist (OTHERS): Remove tdesc-lib because it has + Motorola copyrights in it. Make "make gdb.tar.Z" work. + (alldeps.mak): sort and uniq all results from this; duplicates + hose gdb.tar.Z link building. Remove RCS files from + tconfig and xconfig. Add config files for sun386. Add + a few odd files to OTHERS and HFILES. + +Mon Sep 10 21:20:24 1990 John Gilmore (gnu at cygint) + + * Makefile.dist: Pull solib.c to tconfig/sun?os4. + Roll version number to 3.91.5. Make lint work in bindir. + + * README: Document cross-debugging and new file structure. + + * blockframe.c: Lint. Include "value.h" to declare read_register. + (find_pc_partial_function): remove duplicate line. + + * command.h: Lint. Declare error_no_arg and dont_repeat. + + * tm-news.h: Remove inadvertently duplicated stuff. + + * mipsread.c: Remove cache_pc_function stuff, now done cleanly. + Clean up usage of misc_function_type. Declare some CORE_ADDRs. + + * config.gdb: Allow `config.gdb host target' form. Clean + up previous change that printed bogus messages when you just said + `config.gdb'. + + * core.c: #include "command.h" for lint. + * dbxread.c: lint + * eval.c: lint + * main.c: Remove some casts of enums. Lint. + * source.c: lint + * symtab.c: lint + * symtab.h: lint + * expread.y: lint + * valarith.c: lint + + * printcmd.c (initialize_printcmd): Fix thinko in inspect cmd. + + * sparc-tdep.c (isannulled): Take instruction as parameter, don't + read it from memory. This will allow us to save ptrace calls + eventually. Changed caller single_step too. + + * sparc-xdep.c (fetch_inferior_registers): Avoid reading regs + that we aren't going to use, saving many ptrace calls, especially + when watchpointing or single stepping. Use some #define's for + constants. + (store_inferior_registers): Ditto. + (core_file_command): Use some #define's for constants. + + * tm-sparc.h: Add #define's for some register numbers, so we + can eliminate the use of random constants in sparc-xdep.c. + + * stack.c (frame_command, print_frame_info, up_command, + down_command) Remove frame_changed, since it + causes a bug and doesn't seem to do anything useful. In some + places it was used as a flag, in others as a stack level (?). + + * utils.c: Use MISSING_VPRINTF rather than HAVE_VPRINTF, so the + default is to use the portable (vprintf) version rather than the + kludge version. + * xm-news.h (MISSING_VPRINTF): Add. + + * valprint.c (val_print): Demangle fancy vtbl printouts. Lint. + +Sat Sep 8 00:24:12 1990 John Gilmore (gnu at cygint) + + * Remove stuff that forces -Bstatic linking of gdb, and warnings + about linking debugged programs -Bstatic in the sun?os4 config + files in tconfig and xconfig subdirectories. + + * main.c (main): Remove unreached exit(0) now that we exit + via quit_command(). + + * Create TODO file for online bug list. There are too many + "little" bugs to keep track of on paper. + + * Change Projects file to refer to bug-gdb@cygnus.com + rather than kingdon@ai. + +Fri Sep 7 23:35:15 1990 John Gilmore (gnu at cygint) + + * Makefile.dist (VERSION): 3.91.4 now. + + * symtab.c (init_misc_bunches): Rename from init_misc_functions. + (condense_misc_bunches): Add sanity check that misc_count is + the same as the number of symbols in the bunch. + + * coffread.c: rename init_misc_bunches. Pass an argument + to condense_misc_bunches (a zero). + + * dbxread.c (partial_symbol_file_read): Call init_misc_bunches + every time we are called; don't rely on our caller to do it. + (add_file): Remove call to init_misc_bunches. + + * mipsread.c: Only warn, don't error, if unknown symbol types. + This keeps an old gdb from falling on its face if it sees newly + extended symbol info. Rename init_misc_bunches. + +Fri Sep 7 22:58:15 1990 John Gilmore (gnu at cygint) + + * Merge in changes from Per Bothner for DECstations and other + MIPS stuff. The rest is Bothner speaking: + + The next message is a merger of Alessando Forin's mips port with + mine. I've tried to use my good if biased judgment to get + the best of both. It *does* need testing. + + Some of the changes are general, *not* mips-specific. + + param.h: + Didn't believe in little-endian bit order. + There are still inconsistencies about whether flags + like BITS_BIG_ENDIAN are integer (#if ...) or + boolean (#ifdef ...). I tried to paper over them. + + dbxread.c,coffread.c,mipsread.c,symtab.c,symtab.h: + Moved some misc_function code that was common to + {dbx,coff,mips}read.c to symtab.c. + In the process, I think I cleaned things up a bit. + At the same time, moved obsavestring and obconcat to symtab.c. + + dbxread.c: + Removed obsolete condense_addl_misc_bunches (use + condense_misc_bunches(1) instead). + + exec.c: + Needed to include <sys/dir>, at least on DECstations. + + valops.c, mips-tdep.c, tm-mips.h: + Added PUSH_ARGUMENTS macro to support funny argument-pushing + conventions (when STACK_ALIGN is insufficient). + Needed on mips, where doubles need 8-byte alignment, + but ints only need 4. + + mips-opcode.h: + Removed cruft that was not being used. + Merged in many fixes (most from Frank Yellin, fy@lucid.com). + + mips-pinsn.c: + Print $ before register-names (I think that makes things a little + more consistent). + Never print two instructions, even if one delays. + Removed hex-disassemble set_cmd. (This is not mips-specific, + so I think the argument is whether it is generally worthwhile or not. + I'm inclined to think not, given how easy it is to + convert between radixes in gdb.) + + mipsread.c: + This is basically Alessando's code. + It doesn't use obstacks; I changed it to use obstacks + in a few minor places where using malloc causes a + memory leak. (Probably, more places could/should be changed.) + I added record_misc_function where it was missing. + In symbol_file_command and add_file_command, I tried + to make the code consistent with more recent versions. + Minor sylistic changes in parse_procedure. + Make a .gdbinfo. psuedo-symbol point back to the real + procedure symbol (using the isym field). + + mips-tdep.c: + This is basically from my port, but with a lot of details + and a number of routines merged in from Alessando's version. + I basically used my code "raw" backtrace (use heuristics + from the actual code, rather than symbol table info) - though + the idea is Alessandro's. I feel my code is a little cleaner + here, particularly in being a little more flexible, such as being + able to handle gcc-produced code (which it now can). + It also doesn't do frame caching (which is not useful + more recent gdb versions). + I also used my code for push_/pop_dummy, more or less. + I tried to incorporate AF's code for testing sigtramp + while backtracing; I probably got it wrong. + Added mips_print_register, which tries to scrunch as much + information as possible on a screen... + Removed the skip-prologue set_cmd. As with hex-disassemble (see + under mips-pinsn.c), I don't see anything mips-specific here, + and I don't see it being all that useful anyway. + + tm-mips.h: + Added a $fp psuedo-reg distinct from $fp (nice for gcc). + Use more register names (rather than hard-cases numbers). + +Thu Sep 6 18:33:15 1990 John Gilmore (gnu at cygint) + + * Hack up 3.90.11 changes: + + * Makefile.dist (depend): parameterize $(GCC). + Add solib.c and solib.o. + (readline): Fix vpath for both absolute or relative SRCDIR. + + * blockframe.c: Fix from Schaefer@asc.slb.com for shared libs. + Also, let the part I didn't understand at least compile so + I can test the rest. FIXME. + + * dbxread.c: Fix thinko using strcmp. + (init_psymbol_list): declare static. + (partial_symbol_file_open): Comment cleanups better, avoid + cleaning up the string table since the caller will do that. + Move the stat for mod time into symbol_file_command, temporarily. + (There should be a mod time for each symbol file, eventually, + to control its rereading. FIXME.) + + * infptrace.c (PT_WRITE_D): use same value as PT_WRITE_I for + SunOS, which gives error for shared libs otherwise. (From + Schaefer, probably FIXME needs work for portability.) + + * solib.c: Move #include "param.h" to work. + Lowercase all the Uppercase Letters In the Messages. + (find_solib): Clean up inferior_so_name for debug printouts. + Allow no argument, to mean all shared libraries. + + * symmisc.c: include param.h to get CLEAR_SOLIB. + +Wed Sep 5 18:00:08 1990 John Gilmore (gnu at cygint) + + * Merge in Kingdon's changes from FSF: the diffs from 3.90.9 + to 3.90.11. ChangeLog entries below are from this. + +Wed Jun 13 09:17:39 1990 Jim Kingdon (kingdon at mole.ai.mit.edu) + + * Version 3.90.11. + + * Makefile.dist (HFILES): Add tm-sunos.h. + +Tue Jun 12 16:15:26 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * Version 3.90.10. + + * Makefile.dist (gdb.tar.Z): Change linking of config so it works. + +Thu Jun 7 16:22:27 EDT 1990 Jay Fenlason (hack@ai.mit.edu) + + * sparc-opcode.h Added single-operand version of rett. + +Mon Jun 4 18:12:31 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * m-sparc.h (REG_STRUCT_HAS_ADDR, STRUCT_ARG_SYM_GARBAGE): + Put parens around gcc_p in expansion. + +Thu May 24 15:44:51 1990 Jim Kingdon (kingdon at mole.ai.mit.edu) + + * utils.c (lines_to_list): Return 10 if lines_per_page == 0. + +Wed May 23 16:36:04 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * Changes for Sun shared libraries: + blockframe.c (find_pc_partial_function): If a non-text symbol + is found, set *address = pc - FUNCTION_START_OFFSET. + breakpoint.c (insert_breakpoints) [DISABLE_UNSETTABLE_BREAK]: + Disable breakpoints instead of giving an error. + source.c (select_source_symtab): Initialize cs_pst. + symmisc.c: Call CLEAR_SOLIB if defined. + symtab.h: Make text{low,high} CORE_ADDR not int. + (psymtab): New field addr. + solib.c: New file. + dbxread.c: Move DECLARE_FILE_HEADERS outside functions. + (record_misc_function): Give correct type for N_DATA symbols. + (condense_misc_bunches): do "misc_function_count = j" regardless + of inclink. + Take code which is shared between symbol_file_command and + add_file_command and put it into partial_symbol_file_{open,read}. + Split add_file_command into add_file_command and add_file. + Make psymtab_to_symtab read in the string table if the file + is not symfile. + Two new parameters to read_dbx_symtab and start_psymtab. + tm-sunos.h: New file. + +Tue May 22 17:43:03 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * infcmd.c: Change cont_command to continue_command and "cont" + to "continue". + +Mon May 21 14:41:41 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * breakpoint.c (enable_breakpoint): Get value of watchpoint. + + * defs.h [sparc]: Use <alloca.h> regardless of __GNUC__. + + * values.c (USE_STRUCT_CONVENTION): Check for structures of + size 1,2,4,8 rather than size < 8. + + * dbxread.c (dbx_lookup_type): Do f->length *= 2 as many times + as necessary, not just once. + + * sparc-opcode.h: Add a bunch of new opcodes which Sun as supports. + +Thu May 17 15:04:09 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * {t,x}m-sun386.h, sun386-xdep.c, {x,t}config/sun386 + + * tm-news.h: Add CALL_DUMMY_*. + + * tm-68k.h: Remove duplicate comment at FRAME_FIND_SAVED_REGS. + + * config.gdb: In list_host, list_target, use ${i}, not $i. + +Tue May 15 21:27:12 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * source.c (find_source_lines) [BROKEN_LARGE_ALLOCA]: Use xmalloc. + + * sparc-opcode.h: Change all store floating-point state register + instructions to have the right match & lose fields. + +Sat May 5 12:39:18 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * Makefile.dist: Move -I${srcdir} to GLOBAL_CFLAGS and pass + VPATH to readline. + config.gdb: If srcdir != ., create readline directory and + copy a makefile into it. + + * wait.h, infrun.c: Change WRETCODE to WEXITSTATUS for + consistency with POSIX. + + * breakpoint.c (bpstat_stop_status): Disable watchpoint + when we exit its exp_valid_block. + +Tue Sep 4 11:46:46 1990 John Gilmore (gnu at cygint) + + * Makefile.dist: Bump version to 3.91.3. + + * Clean up handling of breakpoint commands (somewhat). + Prompted by Tiemann bug report "cont 10" doesn't work any more. + + inferior.h: Add breakpoint_proceeded to inferior status struct + and globals; save it and restore it. + (clear_breakpoint_commands): Cleanup, remove old #define. + + infrun.c (clear_proceed_status): Set breakpoint_proceeded. + (save_inferior_status, restore_inferior_status): handle it also. + (proceed): Remove earlier code that set breakpoint_proceeded. + It is now set only in clear_proceed_status. + (clear_proceed_status): Cleanup, use bpstat_clear rather + than clear_breakpoint_commands. No callers need the stop_bpstat + between clear_proceed_status and proceed. + + infcmd.c: Add breakpoint_proceeded definition and comment. + (cont_command, jump_command, signal_command): Move call to + clear_proceed_status right next to call to proceed. + + breakpoint.c (bpstat_do_actions): Avoid clobbering our + caller's argument while running down the chain of breakpoints. + Use new variable "breakpoint_proceeded" to determine when + a command that it executes moves the inferior past the + breakpoint. + (bpstat_clear): Handle NULL argument. + (bpstat_clear_actions): Avoid useless call to + breakpoint_auto_delete. + (delete_breakpoint): Clean up bpstat's that are pointing to + the deleted breakpoint from the stop_bpstat chain. + (breakpoint_auto_delete): Simplify. + + * Clean up handling of EOF, error on stdin, etc. This was + prompted by a network problem that caused gdb to go into an + infinite loop filling up its malloc'd memory. + + main.c (return_to_top_level): Cleanup: call bpstat_clear_actions, + not clear_breakpoints_commands, which is now gone. + (main): If command_loop returns (e.g. from EOF on stdin), do + a quit_command (looping back to command_loop if quit_command + doesn't really quit). + (command_loop): check result from command_line_input and + exit if it returns NULL, rather than passing the NULL to + execute_command. + (gdb_readline): Free malloc'd result space before returning + NULL for EOF. + + * utils.c (query): Handle C-d to mean "yes", just as if the + input was not a terminal. Also avoid infinite loop if EOF + occurs in mid-input-line before newline. This allows + query to be used at EOF on stdin with reasonable results. + + * infrun.c (proceed): Set breakpoint_proceeded. + + * values.c (value_as_long): Avoid infinite recursion for enums. + (_initialize_values): Fix typo in help msg (kingdon). + + * Makefile.dist (RL_LIB): Use RL_LIB_DEP for dependencies, + RL_LIB for linking. This allows -lreadline for linking + and nothing for dependencies, once readline is a real library. + + * config.gdb: Jim Kingdon: give useful error message if the + host or target type is not recognized. + + * defs.h (alloca): SPARC <alloca.h> does not declare alloca, + it just defines it. Dumb, but deal with it. + + * Jim Kingdon suggests: + in xconfig/sun3os4, CFLAGS should be XM_CFLAGS. + +Wed Aug 29 18:03:27 1990 John Gilmore (gnu at cygint) + + * Makefile.dist (VERSION): Bump version # to 3.91.2. + + * Clean up Bothner's changes. + + * blockframe.c (clear_pc_function_cache): New function. + * blockframe.c: remake cache_pc_function_* static. + * dbxread.c (symbol_file_command): remove references to + cache_pc_function_* variables. + * dbxread.c (read_struct_type): Use VOFFSET_STATIC. + * printcmd.c: Avoid kludging a global variable (addressprint) + to avoid printing the address of a string twice. Instead, + pass the format letter 's' down low enough that it can be seen + to avoid this problem. + (print_formatted): Pass format arg to value_print. + (restore_addressprint): Remove function. + (do_examine): Avoid hacking addressprint, cleanups and such. + (print_frame_args): Add a comment to a Bothner change. + * symtab.h: define VOFFSET_STATIC and use it instead of "-1". + * symmisc.c (free_all_symtabs): Call clear_pc_function_cache + to wipe out the values cached in blockframe.c. + * symtab.c (find_method): Add comment saying how big you must + allocate to be "big enough". Per being terse again. + * valprint.c (val_print): Handle format letter "s" to print + strings without addresses. Add comment to vtbl printing code + which casts with wild abandon. Rearrange reference-printing + code so it prints: + @0xaddr: value (print w/addressprint) + value (print w/~addressprint) + @0xaddr (parameter lists w/addressprint) + or nothing (parameter lists w/o addressprint) + +Tue Aug 28 10:47:18 1990 John Gilmore (gnu at cygint) + + * Merge more changes from Per Bothner: + +Gdb's handling of TYPE_CODE_REF was so counter-C++ (and otherwise +annoying) that I tried to improve it. Here are my suggestions. + + These patches all attempt to handle TYPE_CODE_REF (as in C++) better. + + findvar.c: + Do automatic de-reference when taking the address of a reference. + printcmd.c: + Don't deref_ref when printing parameter lists. + valops.c: + More attempts at treating refernences properly. + valprint.c: + In val_print, if deref_ref==0, don't print dangling " = ". + value.h: + Add COERCE_REF macro, which de-references an REF. + + * Merge changes from Per Bothner: + +* Fixed (Sony news)-specific configuration problems. +* Fixed other problems with using vanilla pcc and libc (enum problems; +assumption that vsprintf exists). +* Some major speed-ups (finc_pc_partial_function now caches a match; +parsing avoids duplicate symbol_lookup calls). +* Changed handling of baseclasses (no longer use baseclasses field +of struct type, use the first n_baseclasses fields instead). +* Various minor changes/fixes, most C++-related. + +blockframe.c: +Cache the most previous match from find_pc_partial_function. +(Save both low and high ends of matching function's pc range.) +This speeds up the loop of infrun.c:wait_for_inferior quite +a bit, and makes step/next commands much zippier. +command.c: +Added an enum->int cast (otherwise, some compilers barf). +dbxread.c: +No longer set baseclass offset to 0, since multiple +inheritance now mostly works. +Added a number of casts, to shut up compiler warnings +(after stabs where made enums, not ints). +When discarding a symbol table (in symbol_file_command), +must clear the cache introduced in blockframe.c. +Don't convert $vtbl_ptr_type to vtbl any more. +Get rid of TYPE_BASECLASEES and baseclass_vec (see also symtab.h). +Mask off sign bit emitted by g++ for virtual table offset. +Set voffset to -1 (not 1) for static member functions. +expread.y: +Changed parsing/lexing of names to avoid doing symbol lookup twice +(once when lexing to determine symbol class, once for real). +Now only call symbol_lookup once. Fields of 'this' win especially big. +printcmd.c: +Subpress printing addr twice in the case of 'x/s addr'. +symtab.c: +lookup_basetype_type is no longer used. +Add find_methods as recursive helper function to decode_line_1. +This allows multiple inheritance to work. +Also, once one or more matches has been found, do not look in +base-classes. (Baseclass methods would be overridden, anyway.) +symtab.h: +Removed baseclasses array in struct type. +Instead of using baseclasses[i], use fields[i-1]. +Added virtual_field_bits[i] to indicate if the i'th baseclass is virtual. +Changed sign convention of voffset (previous was inconsistent). +tm-news.h: +Some macros (CALL_DUMMY and relatives) were missing. Put them back. +utils.c: +Used to assume existence of vsprintf. Re-written to not need it +if HAVE_VPRINTF is undefined. +valops.c: +typecmp was too pessimistic. Made it less so. +valprint.c: +Don't print space after address. +If vtable points to a misc symbol (with 0 offset), print it, +since that indicates the actual class of the object. +Changed ype_print_derivation_info to use new inheritance +scheme (without baseclasses vector). +values.c: +In value_primitive_field, fixed some bugs left over from previous set of fixes. +Also, changes needed because TYPE_BASECLASSES were removed. +xm-news.h: +REGISTER_U_ADDR didn't work for PC. Rewrote to use an array. + +Tue Aug 21 20:08:54 1990 John Gilmore (gnu at cygint) + + * source.c: + If there is no path set, and the symbols don't indicate what directory + a file was compiled in, look in the current directory. But either + a path or a known compilation directory will prevent this. + + * dbxread.c: + Three independent bug fixes: + * Remove the #if 0 block that breaks some stuff. + * SunOS 4.1 fixed the promoted-parameter-wrong-addr bug in Sun C; + adapt gdb to either SunOS 4.0.* or 4.1. + * MAX_OF_TYPE and MIN_OF_TYPE thinko. By tedg@sun, I think. + + * symtab.c: + Instantiate the class T when looking for methods in it. (Tiemann@sun) + + * valprint.c: + (type_print) Demangle the name being printed. + (type_print_base) Handle botched demangling without coredump (tiemann). + + * values.c: + (check_stub_method): Document routine. + (tiemann) fix bug for no-arg functions + Avoid clobbering beyond end of malloc'd storage. + Terminate the argument list properly. + +Sat Aug 18 01:29:59 1990 Per Bothner (bothner@cs.wisc.edu) + + * Changes merged by John Gilmore: + +breakpoint.c: + In breakpoint_1, use new print_address_symbolic instead + of find_pc_partial_function. (This forces use of assembler-level + addresses, and avoids misleading non-mangled source-level names.) +cplus-dem.c: + Generalize ansi argument such that -1 means skip arglist totally. + Removed global variable print_ansi_qualifiers (which made + code non-reentrant), in favor of extra explicit arguments + to internal routines. +printcmd.c: + Add new helper function print_address_symbolic. + Use find_pc_misc_function instead of find_pc_partial_function + (since we want assembler-level symbols here). +stack.c: + Print unknown function as just "f (...)", not "f (...) (...)". + Use new fputs_demangled explicitly. +symtab.c: + Fixed a typing violation (problem: value.h cannot be imported + without renaming many variable in this file). + lookup_symbol: If no matching misc_func, look for a C++-mangled name. + decode_line_1: Moved forward some never-reached code. + Made decode_line_2 skip function prologues correctly. +utils.c: + fputs_filtered should not demangle by default. + Add new fputs_demangled to demangle on demand.. +valops.c: + Change value_struct_elt to use value_primitive_field (using recursive + utility function search_struct_field). This allows foo.bar to work + for multiple inheritance (so far only for data fields). + Change check_field in the same way (recursive helper function + to support multiple inheritance). + (Note: there are more of these problems that I haven't fixed. + Any code that says TYPE_BASECLASS (t, 1) is probably wrong.) + value_of_this: 'this' symbol name is now just "this", note "$this". +valprint.c: + Don't print static members. + Avoid printing "members of <type>" if there are none. + Simplified type_print_derivation_info by merging duplicate code. + Remove useless blank lines in type_print_base (ptype command). +value.h: + Added declaration of new routine value_primitive_field. +values.c: + Added value_primitive_field which is generalized version of + value_field that can handle multiple inheritance (non-zero offsets etc). + Re-implemented value_field to call value_primitive_field. + +Fri Aug 17 23:33:44 1990 John Gilmore (gnu at cygint) + + * infcmd.c -- insert else to avoid 'delete env' coredump when you + delete the whole environment. Karl Berry reported the bug. + * source.c - fix openp to avoid //'s in filenames, which + trigger an Emacs bug causing it to not be able to find files + when running gdb in a window. + * dbxread.c - zap the #if 0 that botches the add-file code. + It seems to work a lot better without all the code commented out. + +Fri Jul 20 16:58:46 1990 John Gilmore (gnu at cygnus.com) + + * Merge Tiemann's and Ted Goldstein's changes, detailed below, + into gdb-3.90.9. + +Tue Jul 17 19:34:33 1990 Ted Goldstein (tedg at golem) + + * Makefile - added a ${CFLAGS} to a couple of entries, + added remote-sa.sparc.c + * added remote.sa-sparc.c, a modification of remote.c + which conducts a dialog directly with the SparcStation prom. + * breakpoint.c, infrun.c, sparcdep.c added + remote_insert_breakpoint(), and remote_remove_breakpoint() + to breakpoint.c instead of directly writing breakpoint instructions. + * sparcdep.c on remote_debugging,there is no need + to remove signle step breakpoint instructions. + * main.c added "-epoch" flag and "int epoch_interface" to main.c + global variable + * printcmd.c - epoch interface sends lisp expressions to open up + epoch windows on inspection. + * valprint.c - added arrayprint, and addressprint and made adding + format controls easier + * wait.h added a couple of undef's because we were getting + complaints about WSTOPSIG and WTERMSIG begin redefined. + + +Wed Jul 4 05:27:51 1990 Michael Tiemann (tiemann at masham) + + * symtab.c (decode_line_1): Add support for handling method stubs + in the type information. + +Tue Jul 3 09:39:18 1990 Michael Tiemann (tiemann at masham) + + * values.c (baseclass_addr): Run loop from INDEX+1 to + N_BASECLASSES; otherwise, we can still get into a loop. + @@ This should be restructured to use a cleaner search strategy. + +Sun Jul 1 12:28:51 1990 Michael Tiemann (tiemann at masham) + + * dbxread.c (define_symbol,read_type): Grok GNU C++'s new + abbreviation "Tt" for tags which have the same name as their + typedecls. + +Fri Jun 29 01:03:46 1990 Michael Tiemann (tiemann at masham) + + * symtab.c (list_symbols): add ability to set breakpoints on all + the functions which match a particular regular expression. + +Tue Jun 26 04:26:29 1990 Michael Tiemann (tiemann at masham) + + * cplus-dem.c (cplus_demangle): New parameter ANSI says whether we + should print ANSI qualifiers (such as `const' and `volatile'). + All callers changed to call with ANSI == 1, except from + `check_method_stub', which uses old-style syntax. + + * symseg.h (struct fn_field): Remove unneccessary `args' field. + * symtab.h (TYPE_FN_FIELD_ARGS): Redefined. + + * values.c (check_stub_method): New function. + + * cplus-dem.c (do_type): Handle "long long" (encoded as 'x'). + + * dbxread.c (read_type): Handle new GNU C++ method type stubs. + * valprint (type_print_base): Ditto. + + * symtab.c (gdb_mangle_typename): New function. + +Tue Jun 5 00:18:43 1990 Michael Tiemann (tiemann at gzilla) + + * breakpoint.c (catch_command): New function. Provides a + mechanism to set breakpoints based on catch clauses. + (disable_catch): Similar, but disables breakpoints on catch + clauses. + (delete_catch): Similar, but deleted breakpoints on catch clauses. + +Sun Jun 3 22:54:08 1990 Michael Tiemann (tiemann at gzilla) + + * blockframe.c (blockvector_for_pc): New function. + * blockframe.c (block_for_pc): Changed to call + `blockvector_for_pc' and get the block itself. + + * stack.c (catch_info): New function. Prints info about + exceptions which can be caught in the current frame. + * stack.c (print_frame_label_vars): New function. Similar to + `print_frame_local_vars'. + * stack.c (print_block_frame_labels): Prints out labels that are + defined in this frame. These labels are exceptions that can be + caught. + + * dbxread.c: Updated to handle N_CATCH symtab types. + +Thu May 3 22:10:00 1990 Michael Tiemann (tiemann at teacake) + + * valprint.c (everywhere): TYPE_NAME (TYPE) no longer comes in the + form "struct ..." for GNU C++. Don't flush any part of TYPE_NAME + when printing the type. + +Wed May 2 22:43:04 1990 Michael Tiemann (tiemann at teacake) + + * valprint.c (val_print): Use `baseclass_addr' to access the + baseclasses pointed to via the derived class object at VALADDR. + + * values.c (baseclass_addr): New function. Casts derived pointers + to baseclass pointers taking virtual baseclasses and multiple + inheritance into account. + +Sat May 5 12:39:18 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * Version 3.90.9. + +Fri May 4 12:12:55 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * breakpoint.c (watch_command, bpstat_stop_status): Deal with + exp_valid_block field correctly. + + * infrun.c (wait_for_inferior): When checking "don't even think + about breakpoints" if stop_signal == SIGTRAP && trap_expected, + also check step_resume_breakpoint. + Insert breakpoints and continue (not step) if + step_resume_break_address != NULL, even if another_trap. + If trap_expected and we enter sigtramp, then set up a + step_resume_break. + If trap_expected is set when we hit the step_resume_break, + set another_trap. + When calling resume and trap_expected says tell resume to step + (2 places), also check step_resume_break_address. + + * infrun.c (wait_for_inferior): Don't set + prev_{pc,sp,func_{start,name}} before calling wait (). + Do set them after exiting loop. + Move their declarations outside functions. + (start_inferior): Initialize them. + +Thu May 3 00:15:11 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * infrun.c (wait_for_inferior, after check for trap_expected > 1): + Restore old code which distinguishes between trap_expected and + running_in_shell, just make the latter take any non-TRAP signal, + not just SEGV. + + * values.c (allocate_value): Zero VALUE_OPTIMIZED_OUT flag. + + * Makefile.dist (pinsn.o): Use PINSN_CC to compile. + xconfig/3b1 (CC,PINSN_CC): Define. + + * xconfig/altos, altos-dep.c: Rename altos-dep.c to altos-xdep.c. + + * Version 3.90.8 + + * breakpoint.c (bpstat_stop_status), + infrun.c (wait_for_inferior) [SHIFT_INST_REGS]: New code. + + * param.h, tm-88k.h: Define ADDR_BITS_*. + infcmd.c (jump_command, read_pc), infrun.c (wait_for_inferior), + printcmd.c (do_one_display): Use them. + + * utils.c: Split #ifdef USG into a USG_UTILS and a QUEUE_MISSING. + xm-88k.h: Define USG_UTILS. + +Wed May 2 00:05:33 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * printcmd.c (printf_command) [__INT_VARARGS_H]: New code. + (printf_command): Add from_tty parameter. + + * valprint.c (value_print): Check VALUE_OPTIMIZED_OUT flag. + + * value.h: Add optimized_out field and change lazy field to + char. Add macro VALUE_OPTIMIZED_OUT. + + * i386-pinsn.c: Change from Eirik Fuller to write to stream directly + instead of stuffing things in buffers (oappend, etc). + + * breakpoint.c (bpstat_do_actions): If *BSP is set to NULL by + execute_command, exit both loops. + + * Makefile.dist: Don't set TARGET_ARCH. Add .c.o rule. + +Tue May 1 17:07:23 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * Makefile.dist (RAPP_OBS, rapp), + rgdb.c, rserial.c, rudp.c, serial.c, udp.c, xdep.h, + remote.h: Added. + m68k-xdep.c, coredep.c: Wrap in #if !defined (RDB). + + * valops.c (value_struct_elt), values.c (value_static_field): + Change error messages to remove references to `info methods'. + +Tue Apr 24 10:25:10 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * More 88k changes: + infrun.c (start_inferior): Add START_INFERIOR_HOOK. + infcmd.c [SHIFT_INST_REGS]: New code. + findvar.c (read_relative_register_raw_bytes): Return a value. + infcmd.c (do_registers_info): Check value from + read_relative_register_raw_bytes. + + * command.c (delete_cmd): Free the struct cmd_list_element(s) + we are removing. + +Mon Apr 23 10:42:21 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * More 88k changes: + findvar.c (get_saved_register): New function. + findvar.c: Rewrite code which called find_saved_register to + call get_saved_register instead. + +Sun Apr 22 14:47:51 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * valprint.c (val_print): Change error message printed when + the type has TYPE_FLAG_STUB set. + + * valprint.c (val_print): Check for TYPE_CODE_UNDEF. + + * findvar.c (write_register): Set register_valid (regno). + + * valops.c (call_function): Check for NULL return from block_for_pc. + +Fri Apr 20 11:31:23 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * findvar.c (write_register): Add PREPARE_TO_STORE. + {sun3,sparc,symmetry}-xdep.c (PREPARE_TO_STORE): Add. + infptrace.c, {mips,pyr,symmetry,sun3,arm,hp300hpux}-xdep.c + (store_inferior_registers): Don't call read_register_bytes. + symmetry-xdep.c (store_inferior_registers): + #if 0 out code to fetch registers. + + * values.c (value_as_long): Call COERCE_ARRAY. + + * tm-sun3.h: Include tm-68k.h not m-68k.h + + * sparc-tdep.c (single_step): Set next_pc, npc4 within + if (!one_stepped), not outside it. + + * Changes from Data General for 88k: + * coffread.c (read_file_hdr): Add *88*MAGIC. + * coffread.c (have_symbol_file_p): New function. + * coffread.c [COFF_CHECK_X_ZEROES] [TDESC]: New code. + * coffread.c (read_one_sym): If there is more than one + aux entry, don't give an error message, just ignore the + extra ones. + * coffread.c (process_coff_symbol): Replace clipper with + BELIEVE_PCC_PROMOTION in #ifdef's. + * coffread.c: Define L_LNNO32 if not defined. + (enter_linenos): Use it. + * blockframe.c: Add INIT_FRAME_PC hook and use it in + get_prev_frame_info. + m-m88k.h: Use INIT_{FRAME_PC,EXTRA_FRAME_INFO} to do tdesc stuff. + Use dummy versions of FRAME_CHAIN_*. + * Makefile.dist, xconfig/i386*: Rename M_CLIBS to XM_CLIBS and add + TM_CLIBS and CDEPS. + tdesc/libdc.o: New target. + tdesc.{c,h}, tdesc/*, {t,x}config/m88k: New files. + +Thu Apr 12 15:47:00 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * m68k-opcode.h (bras, bsrs): Use "Bw" not "Bg". + +Tue Apr 10 20:50:25 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * Version 3.90.7. + + * xm-mips.h (BYTE_ORDER): If not defined, make it LITTLE_ENDIAN. + + * mips-xdep.c ({fetch,store}_inferior_registers): Remove variable + offset and just use register_addr (regno, 1). + (core_file_command): Remove variable reg_offset and just use + register_addr (regno, 0). + + * gdbcore.h [COFF_FORMAT]: #undef a_magic before redefining it. + + * infrun.c ("if (trap_expected && stop_signal != SIGTRAP)", near end + of wait_for_inferior): Always pass 0 as first arg to resume. + #if 0 out "SIGSEGV in shell" test right above it (now redundant). + + * i386-pinsn.c (oappend_address): New function. + (oappend): Make it "static void" and declare at top of file. + (OP_J, OP_DIR): Use oappend_address. + +Mon Apr 9 15:22:09 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * mips-xdep.c: Include <mips/inst.h> not "mips/inst.h". + + * wait.h [HAVE_WAIT_STRUCT]: Put #defines in #if !defined so that + it's OK if they are defined in <sys/wait.h>. + + * findvar.c (fetch_registers): Pass "registers", not "®isters", + to remote_fetch_registers. + + * mips-tdep.c (_initialize_mipsdep): Remove hex_disassembler + and re-write skip_prologue to use add_set_cmd. + + * Makefile.dist (alldeps.mak): Don't put \ after the last + filename in each list. + +Sun Apr 8 01:59:19 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * Version 3.90.6. + + * Makefile.dist (alldeps.mak): "XM_FILE" -> "XM_FILE=". + + * valarith.c (value_x_{un,bin}op): use "operator" not "operator " + to match dbxread.c change of 16 Mar 90. + + * valarith.c (value_x_unop): Pass &static_memfuncp, + not static_memfuncp. + + * breakpoint.c: Add watchpoint stuff. + breakpoint.h: Add bpstat_should_step. + infrun.c (proceed, wait_for_inferior): Use it. + breakpoint.h: Add bpstat_print (and rename old bpstat_print + to bpstat_should_print). + infrun.c (normal_stop): Use it. + + * value.h: Add value_free. Declare a few functions. + +Sat Apr 7 21:43:43 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * dbxread.c (read_dbx_symtab): Remove PROFILE_TYPES code and + insert comment suggesting easy shell script equivalents. + + * values.c (unpack_long): Give better error messages for + unrecognized sizes of ints and floats. + +Fri Apr 6 00:32:21 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * dbxread.c, gdbcore.h (IS_OBJECT_FILE): Check for a_drsize + nonzero as well as a_trsize. + + * More places: Use SWAP_TARGET_AND_HOST. + + * valops.c (destructor_name_p): Only skip "struct " if present. + + * main.c (gdb_readline): Return NULL on end of file. + + * sparc-opcode.h: Add jmp 1+2, jmp 1+i, jmp i+1. + + * Makefile.dist: Make expread.tab.c unambiguously be in srcdir. + + * main.c: Split source_command into source_command and + read_command_file. + (main): Accept "-" as arg to +command for stdin. + + * dbxread.c (psymtab_to_symtab): Don't read string table. + (symbol_file_command): Save string table size. + + * Version 3.90.5 + + * symtab.c: Remove declaration of lookup_misc_func. + + * mips-pinsn.c: Add use_hex_p stuff (re-worked from Forin stuff). + + * mips-opcode.h: Add bdelay field. + mips-pinsn.c: Various changes from Forin, I think to make it look + like the MIPS assembler format. + mips-tdep.c, mips-xdep.c, mipsread.c: Various changes from Forin. + + * gdbcore.h: Declare register_addr. + + * gdbcore.h: Include <a.out.h>, before trying to redefine N_TXTADDR + and friends. + various: Don't include both a.out.h and gdbcore.h. + + * Makefile.dist (HFILES): Add param.h + + * utils.c (init_malloc): Moved here from mcheck.c and modified + to use the standard mcheck.c + Makefile.dist: Modify to reflect new mcheck. + +Thu Apr 5 16:38:28 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * valprint.c (val_print, print_hex_chars): Print integers + larger than LONGEST. + + * valarith.c (value_sub): Give error message if attempt to + subtract something of the wrong type from a pointer. + + * breakpoint.c (bpstat_stop_status): Initialize retval to NULL. + + * i386-tdep.c (i386_pop_frame): Change addr to adr. + +Wed Apr 4 05:21:50 1990 Jim Kingdon (kingdon at teenage-mutant) + + * main.c (command_line_input): return NULL on end of file. + (execute_command): If p is NULL, return almost right away. + (read_command_lines): Treat end of file like "end". + + * printcmd.c (print_frame_args): Change it so num is number + of ints of args, not number of args. + + * xm-*.h: Make sure BYTE_ORDER is defined. + Also fix various #includes of old names of things. + + * main.c (command_line_input): Fix comment code of 2 Apr. + + * values.c (value_from_long, unpack_long): SWAP_TARGET_AND_HOST. + various: Replace {BYTES,WORDS}_BIG_ENDIAN with TARGET_BYTE_ORDER. + valarith.c various: SWAP_TARGET_AND_HOST. + dbxread.c (READ_FILE_HEADERS): SWAP_TARGET_AND_HOST. + (SWAP_SYMBOL): New macro. Use it wherever symbuf_idx is incremented. + exec.c (exec_file_command): SWAP_TARGET_AND_HOST. + + * valarith.c (value_subscripted_rvalue): Just bcopy() the + appropriate bytes rather than playing strange games with + value_from_long. + + * param.h (SWAP_TARGET_AND_HOST): New macro. + + * tm-np1.h (V7_REGNUM): Change from 27 to 26. + (REGISTER_VIRTUAL_TYPE): Return correct result for vector regs. + gould-tdep.c: New file. + + * Move reading of register before store from + findvar.c (write_register) to + infptrace.c, *-xdep.c (store_inferior_register). + + * findvar.c (fetch_registers, store_registers): New functions. + write_register{,_bytes}: Use store_registers regardless of + have_inferior_p. + registers_valid: New variable. + (supply_register, read_register, etc.): Use it. + (read_register_gen): New variable. + various: Use read_register_gen rather than read_register_bytes + where appropriate. + *-xdep.c (fetch_inferior_registers): Remove remote_debugging check. + infrun.c (wait_for_inferior, start_inferior): Call registers_changed + not fetch_inferior_registers. + *-xdep.c (fetch_inferior_registers): Call registers_fetched if + not setting registers via supply_register, and if fetching + all registers. + infptrace.c, *-xdep.c (fetch_inferior_registers): Add param, + # of register to fetch (-1 for all). + infptrace.c, hp300hpux-xdep.c (fetch_inferior_registers): + Actually fetch only those registers needed. + value.h: Declare all the extern register functions from findvar.c. + + * coffread.c (read_coff_symtab): Test for specific kinds of GCC + labels (LI%.*, LPB%.*, etc), not just ??%.*. + + * coffread.c (record_misc_function): Use mf_text not mf_unknown. + + * utils.c,defs.h (lines_to_list): New function. + source.c (select_source_symtab, list_command, forward_search_command, + reverse_search_command), stack.c (print_frame_info): + Use it instead of 10. + + * munch: If MUNCH_NM variable exists, use it. + + * main.c (initialize_main): Set rl_readline_name. + main.c: #include readline.h and #undef savestring. + Remove declarations of things declared in readline.h. + + * main.c (gdb_readline): If instream == 0, read from stdin. + + * main.c (main): Only call clearerr if ISATTY. Exit loop if + feof (instream). + + * infcmd.c (detach_command): Set inferior_pid to 0 after + calling remote_close. + + * main.c (main): If exec and sym files are the same, and there + is an error reading execfile, don't try to read sym file. + + * infcmd.c (detach_command) [ATTACH_DETACH]: Don't try to detach + from inferior when remote debugging. + + * source.c (reverse_search_command): Change while test from 1 to + line > 1. + +Tue Apr 3 18:14:14 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * Version 3.90.4. + + * Makefile.dist (gdb.tar.Z): Use -z option to tar rather than + creating gdb.tar and calling compress separately. + + * breakpoint.c (read_memory_nobpt): Do not treat bcopy as if it + returned an "errno" value. + + * various: Make sure gdbcore.h is not included before a.out.h. + + * Makefile.dist (OPCODES): Add mips-opcode.h. + + * config.gdb: Print lists of {hosts,targets} after finding srcdir. + When parsing +{host,target}=, strip off +{host,target}=, not +{x,t}m=. + + * Makefile.dist (gdb.tar): Do {t,x}config not just config. + +Mon Apr 2 02:42:23 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * sparc-opcode.h (inc): Fix incorrect lose field. + + * valarith.c (value_subscripted_rvalue): Use TARGET_BYTE_ORDER, + rather than checking endianness at runtime. + + * main.c (comand_line_input): Accept comments anywhere, not + just at starts of lines. + +Sat Mar 31 21:59:35 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * symtab.c (check_stub_type): Call lookup_symbol with 5 args. + +Fri Mar 30 15:23:52 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * frame.h: #include param.h. + param.h: Protect against multiple inclusion. + + * i386-tdep.c (i386_get_frame_setup): Fix comment about what + opcode 0x55 is. + If 0x81 or 0x83 is followed by something besides 0xec, + put codestream back where it was and return 0. + [USE_MACHINE_REG_H]: Include <machine/reg.h> not <sys/reg.h> + Move include of a.out.h above <sys/user.h>. + (i386_frame_find_saved_regs): Make locals signed. + (i386_frame_find_saved_regs, i386_push_dummy_frame, i386_pop_frame): + Use REGISTER_BYTES, REGISTER_RAW_SIZE, etc. to deal with floating + point registers. + +Wed Mar 28 18:33:40 1990 Jim Kingdon (kingdon at mole.ai.mit.edu) + + * Makefile.dist (OTHERS): Add gdb.dvi. + (gdb.dvi): New rule. + + * breakpoint.c (_initialize_breakpoint): Clean up docstrings so + as not to mention subcommands (e.g. auto-display). + Call add_cmd not add_abbrev_cmd for "disable breakpoint" and + put it in class_alias. + + * breakpoint.c (set_breakpoint_count): New function. + (set_breakpoint, break_command_1): Use it. + + * breakpoint.c (get_number): New function. + (*_command, map_breakpoint_numbers): Use it. + + * infptrace.c (write_inferior_memory): Remove remote_debugging + stuff (is handled in core.c). + (read_inferior_memory): Remove #if 0'd out remote_debugging code. + +Tue Mar 27 16:51:27 1990 Jim Kingdon (kingdon at mole.ai.mit.edu) + + * inferior.h: Include frame.h. + + * findvar.c (write_register): Replace sun4 #ifdef with + check of CANNOT_STORE_REGISTER. + xm-sparc.h: Define CANNOT_STORE_REGISTER. + + * sparc-tdep.c: Remove superfluous declaration of + get_breakpoint_commands. + + * breakpoint.{c,h}: Add bpstat stuff. + bpstat_do_action: Re-work do_breakpoint_commands into this. + main.c (command_loop): Call bpstat_do_action not + do_breakpoint_commands. + inferior.h, infrun.c, breakpoint.c, infcmd.c: + Rework breakpoint_commands and stop_breakpoint + stuff to use bpstat instead. + + * infcmd.c (program_info): "info reg"->"info registers". + + * np1-opcode.h: Renamed from npl-opcode.h. + gould-pinsn.c: Include np1-opcode.h. + Makefile.dist (OPCODES): Change npl-opcode.h to np1-opcode.h + + * coffread.c (read_enum_type): Stop reading when we hit .eos. + +Mon Mar 26 15:52:35 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * Version 3.90.3. + + * breakpoint.c (read_memory_nobpt): New function. + gdbcore.h: Declare read_memory_{nobpt,check}. + mips-tdep.c: Use read_memory_nobpt not breakpoint_shadow_val. + +Fri Mar 23 14:26:38 1990 Jim Kingdon (kingdon at mole.ai.mit.edu) + + * inflow.c (terminal_inferior): Reenable commented out + inferior_thisrun_terminal check. + (terminal_ours_1): If inferior_thisrun_terminal is nonzero, + return immediately. + + * Makefile.dist: Rewrite DEPFILES, M_FILE, etc. stuff to deal + with host & target separation. + + * config/*: Split into xconfig/* and tconfig/*. + *-dep.c: Split into *-xdep.c and *-tdep.c. + + * main.c (main): Always pass two args to xrealloc. + +Thu Mar 22 20:29:25 1990 Jim Kingdon (kingdon at mole.ai.mit.edu) + + * Makefile.dist ({,dist}clean): rm {x,t}m.h not param.h + xgdb.o: Remove obsolete dependency (now in depend). + + * arm-pinsn.c: Include arm-opcode.h not opcode.h. + + * mips-pinsn.c, mips-opcode.h: New files from Bothner (from + release of 24 Jan 90 with mips-opcode.h patch from 1 Feb 90). + + * utils.c (xmalloc): Return NULL on request for 0 bytes. + +Wed Mar 21 13:30:08 1990 Jim Kingdon (kingdon at mole.ai.mit.edu) + + * config.gdb: Re-write machine stuff to deal with host & target. + + * xm-altos.h: Don't define HAVE_WAIT_STRUCT. + + * m-*.h: Split into xm-*.h and tm-*.h. + + * infrun.c (wait_for_inferior): Put #ifdef sony_news code + in regardless of machine. + + * symtab.c (decode_line_1): Add quotes and capitalize error + message "no class, struct, or union named". + + * Makefile.dist (cplus-dem.o): Compile with -Dnounderscore. + + * stack.c (print_frame_info): Use print_symbol to print function name. + + * symtab.c (output_source_filename): Don't print a comma if + we are skipping a filename already printed. + +Tue Mar 20 10:48:54 1990 Jim Kingdon (kingdon at mole.ai.mit.edu) + + * symtab.c (output_source_filename): Don't print a filename + more than once. + + * utils.c (fprint_symbol): New function. + defs.h: Decalare it. + various: Use fprint_symbol to print symbol names. + Makefile.dist (SFILES, OBS): Add cplus-dem.{c,o}. + +Mon Mar 19 17:11:03 1990 Jim Kingdon (kingdon at mole.ai.mit.edu) + + * coffread.c (read_file_hdr): Add MC68K??MAGIC. + + * coffread.c (read_coff_symtab): Ignore swbeg and string label + symbols. + + * coffread.c (read_coff_symtab): Increment num_object_files + in case C_STAT not C_FILE. + New variable in_source_file. Set it in case C_FILE. + Check it in case C_STAT. + + * coffread.c [FUNCTION_EPILOGUE_SIZE]: New code. + m-umax.h (FUNCTION_EPILOGUE_SIZE): Define. + + * config/3b1: New file. + + * config/sun*: Print message warning people to use GAS with GCC. + +Sun Mar 18 02:56:40 1990 Jim Kingdon (kingdon at mole.ai.mit.edu) + + * infcmd.c (run_stack_dummy): Change error message. + + * m-68k.h (REGISTER_VIRTUAL_TYPE): Make pc, fp, sp char *. + + * m-mips.h (LONGEST, BUILTIN_TYPE_LONGEST): Remove. + +Sat Mar 17 21:27:49 1990 Jim Kingdon (kingdon at mole.ai.mit.edu) + + * mips-dep.c: Remove infptrace.c stuff. + + * m-bigmips.h: New file. + m-mips.h [MIPSEB]: Remove *_BIG_ENDIAN stuff. + + * m-sparc.h (FIX_CALL_DUMMY): Do not insert unimp instruction + if function was compiled with gcc. + + * m-mips.h: Remove FIX_CALL_DUMMY_ALIGNED and make FIX_CALL_DUMMY + use new args. + + * valops.c (call_function): New args to FIX_CALL_DUMMY. + m-*.h (FIX_CALL_DUMMY): Take new args. + + * values.c (using_struct_return): New parameter gcc_p. + valops.c (call_function): New variable using_gcc. + valops.c (call_function) [REG_STRUCT_HAS_ADDR]: New code. + + * m-mips.h, mips-dep.c: New files from Forin. + m-mips.h: Replace RETURN_STRUCT_BY_REF with USE_STRUCT_CONVENTION. + +Fri Mar 16 13:17:19 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * Makefile.dist: Add some dependencies of m-*.h files. + (HFILES): Add m-68k.h. + + * dbxread.c (read_struct_type): Put "operator+" not "operator +" + in symtab. + + * core.c: Split read_memory into read_memory_check and read_memory. + breakpoint.c (insert_breakpoints): If can't read memory, + tell user that error was due to seting breakpoints. + +Thu Mar 15 11:47:19 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * infrun.c [COFF_ENCAPSULATE]: Include a.out.encap.h. + + * blockframe.c (FRAMELESS_LOOK_FOR_PROLOGUE): Make it a function. + various m-*.h: Call function not macro. + frame.h: Declare the function. + +Wed Mar 14 02:44:51 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * sparc-dep.c: Include signame.h. + + * sparc-pinsn.c (print_insn): When looking for sethi before + delayed branch, call read_memory_noerr not read_memory. + + * m-isi.h, m-sun3.h, m-news.h, m-hp300bsd.h, m-altos.h, + m-hp300hpux.h, m-sun2.h: Merge machine stuff except inferior + function call stuff into new file m-68k.h. Create m-3b1.h. + +Tue Mar 13 21:34:33 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * inflow.c (new_tty): If can't open tty, print error message + before exiting. + + * blockframe.c: Remove declaration of psymtab_to_symtab. + symtab.h: Declare psymtab_to_symtab. + blockframe.c: Remove declarations of block_for_pc and + find_pc_function_start. + frame.h: Add declarations of block_for_pc and find_pc_function_start. + Remove declaration of nonexistent function find_pc_function. + values.c: include frame.h instead of declaring block_for_pc. + + * Version 3.90.2. + +Mon Mar 12 14:20:06 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * main.c (main): Delete superfluous "e" from long_options. + +Sat Mar 10 15:47:23 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * valprint.c (val_print): Print <%d bit integer> not just + <large integer>. + + * dbxread.c (error_type): Fix loop that finds '\0' so that on + exit, *pp points to the '\0', not the character after. + (read_type): Make sure that places which call read_type and then + try to read more input stop immediately with another error + upon encountering '\0'. + + * dbxread.c (read_range_type): Fix check for large signed + integral type to match comment and reality. Set TYPE_LENGTH based + on n2bits for signed, n3bits for unsigned. + + * infcmd.c (cont_command): Print warning message if we + decide to ignore the argument. + + * gdb.texinfo (attach): @xref{Attach} -> @xref{Remote}. + +Fri Mar 9 16:26:47 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * symtab.h (address_class): Reinstate LOC_EXTERNAL with rewritten + comment. + + * expread.y (yyerror, parse_c_1): Make yyerror take a char * arg. + + * main.c (symbol_completion_function): Don't call error() on + "info jkldskf". + + * m-npl.h (USE_STRUCT_CONVENTION): Change >= to >. + +Thu Mar 8 00:19:01 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * symseg.h: Nuke more symseg references including LOC_EXTERNAL. + Put contents of symseg.h into symtab.h and remove symseg.h. + +Wed Mar 7 18:02:15 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * symtab.h (SYMBOL_LINE): New macro. + symtab.c (decode_line_1): Accept variable as well as function. + Lookup variable/function in selected block if no file specified. + printcmd.c: #if 0 out whereis_command. + + * command.c (do_setshow_command): Call function with additional + argument C. + main.c (set_history_size_command): Take argument C. + (set_verbose): New function to set docstring. + (initialize_main): Put set_verbose in command list. + command.c (lookup_cmd_1): Accept result_list NULL. + + * valprint.c (_initialize_valprint): Change docstring for + "set unionprint" to normal set/show form. + + * command.c (add_show_from_set): Check that docstring starts with + "Set " before assuming it does. + + * main.c (show_history): Call cmd_show_list. + command.{c,h} (cmd_show_list): New function. + command.h: Declare do_setshow_command. + + * command.h (cmd_list_element): New field completer. + main.c (symbol_completion_function): Use it. + symtab.h: Declare make_symbol_completion_list. + command.c (add_cmd): Set completer. + main.c, gdbcmd.h (noop_completer): New function. + infcmd.c: Set completer for environment functions. + + * symtab.c (types_info, _initialize_symtab): #if 0 out. + various: Use fputs_filtered, not fprintf_filtered(%s). + + * valprint.c (type_print_base): Check for integers larger than + LONGEST. + + * sun3-dep.c: Include "signame.h" instead of directly declaring + sys_siglist. + +Tue Mar 6 14:59:34 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * infrun.c (signals_info): Allow argument to be a signal name + as well as an expression. + (handle_command): Check for error from sig_number. + + * main.c (float_handler): Change error message. + + * inflow.c (create_inferior): If getenv ("SHELL") exists, use it + instead of /bin/sh. + + * dbxread.c (read_dbx_symtab, case N_SO): New variable first_symnum. + Pass it to {start,end}_psymtab. + + * dbxread.c (read_ofile_symtab): Increment symbuf_idx and symnum + when calling process_symbol_pair. + + * symtab.c (sources_info, output_source_filename): + Re-write so output_source_filename takes a first parameter + instead of a next one. + + * dbxread.c (read_dbx_symtab, case N_SO): When incrementing + symbuf_idx, increment symnum also. + + * values.c (set_internalvar_component): Use VALUE_CONTENTS, + not VALUE_CONTENTS_RAW. + + * symmisc.c (free_symtab): Don't free filename (now in symbol_obstack). + + * environ.c (init_environ): Copy entire string, including + terminating '\0'. + + * value.h, values.c: Rename value_lazy to value_fetch_lazy. + values.c (value_of_internalvar): Call value_fetch_lazy. + + * dbxread.c (read_huge_number): Return an error on encountering + a large decimal number. + + * dbxread.c (read_huge_number): Reverse sense of overflow test. + + * valprint.c (val_print, case TYPE_CODE_INT): Check for integers + larger than LONGEST. + + * dbxread.c (read_ofile_symtab): When calling process_one_symbol, + call it with desc and value rather than with bufp->n_{desc,value}. + + * defs.h (LONG_MAX): Define. + + * sun3-dep.c: Declare sys_siglist. + + * infptrace.c: Move include of gdbcore.h after a.out.h + + * Makefile.dist (expread.o, mcheck.o): Remove leading "./" not + leading ".". + + * m-hp300hpux.h [!HPUX_VERSION_5]: Define KERNEL_U_ADDR_HPUX. + infptrace.c [KERNEL_U_ADDR_HPUX] [KERNEL_U_ADDR_BSD]: + Set kernel_u_addr using nlist(). + m-hp300bsd.h: Define KERNEL_U_ADDR_BSD. + +Mon Mar 5 16:52:41 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * dbxread.c (read_dbx_symtab): If value of .o symbol is crazy, + don't end psymtab. + + * dbxread.c (read_dbx_symtab): Ignore first of a pair of N_SO + when both appear. + (start_subfile, start_symtab): Extra parameter dirname. + (start_subfile): Use obsavestring, not savestring, for name. + various: Call start_{subfile,symtab} with extra argument. + (end_symtab): Set dirname field in symtab. + (read_ofile_symtab): Call process_symbol_pair on pair of N_SO. + (process_symbol_pair): New function. + symtab.h (symtab): New field dirname. + source.c (open_source_file): New function. + source.c: Use open_source_file instead of openp where appropriate. + + * defs.h (TARGET_CHAR_BIT): Define. + +Sun Mar 4 13:11:48 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * dbxread.c (fill_symbuf): Print error messages nicely. + + * Makefile.dist (SFILES): Put standalone.c at end. + + * Makefile.dist (alldeps.mak): Put out backslash after arm-convert.s. + + * symtab.{c,h} (builtin_type_error): New type. + symseg.h (type_code): Add TYPE_CODE_ERROR. + valprint.c (val_print, type_print_base), + values.c (using_struct_return, set_return_value): + Check for and deal with TYPE_CODE_ERROR. + dbxread.c (error_type): New function + (read_type and subroutines): Call error_type instead of error. + + * dbxread.c (read_huge_number): New function. + (read_range_type): Use read_huge_number and check results + to see if it is a large integral type. + + * symmisc.c: Remove symseg stuff. + + * Gould NP1 changes from (or inspired by) chpmjd@gdr.bath.ac.uk + dbxread.c (read_dbx_symtab) [N_NBSTS]: + Treat this and N_NBLCS like N_LCSYM, etc. + (process_one_symbol) [BLOCK_ADDRESS_ABSOLUTE]: New code. + m-npl.h (USE_STRUCT_CONVENTION): Add. + (IGNORE_SYMBOL): Add 0xa4. + (END_OF_TEXT_DEFAULT): Remove. + (STRING_TABLE_OFFSET): don't add sizeof(int). + [!HAVE_VPRINTF]: Define vprintf to be doprnt, not printf. + (BLOCK_ADDRESS_ABSOLUTE): Define. + (BREAKPOINT): Pad to size of machine word. + (SAVED_PC_AFTER_CALL): Remove ` at start of line (!). + (R2_REGNUM): Define. + (SP_REGNUM, FP_REGNUM): Switch definitions. + (REGISTER_U_ADDR): Use FP_REGNUM in place of SP_REGNUM. + (STORE_STRUCT_RETURN, EXTACT_RETURN_VALUE, STORE_RETURN_VALUE, + call function stuff): + Replace bogus definitions with correct ones for NP1. + (CANNOT_EXECUTE_STACK): Define. + (FRAME_LOCALS_ADDRESS): Don't add 80. + (FRAME_FIND_SAVED_REGS): Also get SP. + gould-pinsn.c (findframe): Move framechain declaration outside #if 0. + infptrace.c (write_inferior_memory): Check addr against text_end + and use PT_WRITE_I or PT_WRITE_D as appropriate. + (store_inferior_registers): Don't try to write registers in + CANNOT_STORE_REGISTER. + m-npl.h (CANNOT_STORE_REGISTER): Define. + npl-opcode.h (lil): 0xf8080000 -> 0xf80b0000. + + * munch: Distinguish between BSD and System V nm by actually + seeing what output from nm looks like. + +Fri Mar 2 13:43:36 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * printcmd.c (print_frame_args): Change highest_offset to point + to next unprinted arg. + + * main.c (main): Print "type help for list of commands" along + with the version. Follow it with a blank line. + +Thu Mar 1 14:49:26 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * valprint.c: Move print_address for function from value_print + to val_print. + +Wed Feb 28 15:06:12 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * Makefile.dist (m-sun4os4.h): Depend on m-sparc.h + + * Makefile.dist (version.c): Depend on Makefile.dist, not Makefile. + + * Makefile.dist: Change MAKEFILES to Makefiles. + + * symtab.h: Declare get_sym_file. + core.c: Include symtab.h. + + * Move signal name stuff from utils.c to signame.c + Move signal name stuff from defs.h to signame.h. + Makefile.dist (SFILES, HFILES, OBS): Add signame.{c,h,o}. + +Mon Feb 26 12:03:12 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * command.c (add_cmd): Don't call savestring on name. + +Sun Feb 25 15:52:18 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * printcmd.c (print_frame_args): Make highest_offset an int. + New variable args_printed. + (print_frame_nameless_args): Remove parameter end and add num + and first. + (print_frame_args): Change call to print_frame_nameless_args. + +Fri Feb 23 21:40:15 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * stack.c (up_command, down_command): + Only print stack frame if from_tty. + +Thu Feb 22 12:01:36 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * expread.y: Inlcude value.h and don't cast return value from + lookup_internalvar. + + * infrun.c: Remove code in #ifdef UMAX_PTRACE. + + * values.c (convenience_info): Print in form "$foo = 5". + Don't print "Debugger convenience variables:" before first one. + + * Makefile.dist: Remove ADD_FILES from CLIBS. + (gdb, kdb, xgdb): Put in ADD_FILES as well as CLIBS. + + * m-pyr.h: #if 0 out call dummy stuff. + Put in POP_FRAME which just calls error(). + valops.c: If CALL_DUMMY is not defined, put in dummy call_function + which just prints an error message. + +Tue Feb 20 22:11:40 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * breakpoint.c (commands_command): Add arg from_tty. + + * main.c (main): Put if (!setjmp (to_top_level)) around calls + to *_command made in response to command line arguments. + +Mon Feb 19 13:58:28 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * main.c (main): Use getopt_long_only. Move one-character options + to long_options. Remove entries which are just unambiguous + abbreviations of other options. + + * command.h: Add types cmd_types and var_types. + Add fields type, var_type, and var to struct cmd_list_element. + command.c (add_set_cmd, add_set_from_show): New functions. + (add_cmd): Set c->var_type. + (add_abbrev_cmd): Call add_cmd instead of duplicating code. + main.c: Add showlist. + Move parse_binary_operation from main.c to command.c. + command.c (do_setshow_command): New function. + gdbcmd.h: New file. + Makefile.dist: Add gdbcmd.h. + many files: Include gdbcmd.h, use add_set_cmd and add_show_from_set. + Replace info * with show * where appropriate. + utils.c (fputs_filtered): Use UINT_MAX in lines_per_page to mean + no paging. + defs.h: Define UINT_MAX. + infcmd.c (run_command): Use execute_command, not set_args_command. + main.c (execute_command): Call do_setshow_command if necessary. + main.c (show_command, show_history): New functions. + main.c (initialize_main): Call add_prefix_cmd + for show and show history. + + * coffread.c (enter_linenos): Print error if + file_offset < linetab_offset. + +Sun Feb 18 15:37:05 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * convex-dep.c (comm_registers_info): Fix typo. ("argc"->"arg"). + +Wed Feb 14 20:45:14 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * config.gdb: Create Makefile with make. + + * Makefile.dist, config.gdb: Move "srcdir=" line from Makefile.dist + to new file Makefile.srcdir. + + * valprint.c: Include <errno.h>. + + * value.h: Declare value_coerce_function. + + * findvar.c: Add missing " after #include "gdbcore.h + + * main.c (main): Re-write command parsing to use getopt. + On "gdb +help" print options with '+' not '-'. + Makefile.dist: Add getopt. + +Tue Feb 13 00:08:27 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * Makefile.dist: Add "srcdir=." + config.gdb: Edit srcdir= rather than adding it to the beginning. + + * pyr-dep.c: Make global_reg_offset, last_frame_offset not static. + Move definition of reg_stack_offset to core.c [REG_STACK_SEGMENT]. + + * config/pyramid: Print message about alloca. + + * breakpoint.c (clear_command): When printing "no breakpoint" + error, only use arg if non-NULL. + + * core.c (read_memory): Rename to read_memory_noerr. + (read_memory): New function which calls read_memory and checks for err. + gdbcore.h: Declare all extern core.c functions. + move myread from core.c to utils.c. + declare it in defs.h. + (read_memory_integer): move from infcmd.c to core.c. + gdbcore.h: Declare it. + Many places: Remove error checking on read_memory, or call + read_memory_noerr instead. Include "gdbcore.h" if calling either. + + * value.h (COERCE_ARRAY): Coerce functions to function pointers. + valops.c (value_coerce_function): New function. + + * core.c, convex-dep.c, arm-dep.c (xfer_core_file): Return EIO + if address out of bounds. + + * m-arm.h, arm-dep.c arm-pinsn.c arm-opcode.h: New files. + dbxread.c, m-convex.h (VARIABLES_INSIDE_BLOCK): Add gcc_p parameter. + Makefile.dist (alldeps.mak): Special case for arm-convert.s. + dbxread.c (define_symbol): Check for local based on it not + being any one of the known deftypes. + values.c (using_struct_return): Use new macro USE_STRUCT_CONVENTION. + + * Makefile.dist, config.gdb: Put in srcdir stuff. + +Mon Feb 12 22:46:16 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * breakpoint.c: Add addr_string and cond_string fields to + struct breakpoint. + (break_command_1): Set them. Use mention (). + (mention): Create with code from break_command_1. + (breakpoint_re_set): New function. + (breakpoint_clear): Remove. + (condition_command): Set cond_string. + (breakpoint_delete): Free cond_string and addr_string. + Declare parse_c_1's type and remove casts to struct expression *. + symmisc.c (free_all_symtabs): Don't call breakpoint_clear. + dbxread.c, coffread.c (reread_symbols): Call breakpoint_re_set, + Include breakpoint.h. + breakpoint.h: New file. + dbxread.c: Move declaration of symmisc.c functions to symtab.h. + +Sun Feb 11 17:29:23 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * symtab.c: Make lookup_block_symtab extern. + symtab.h: Declare it. + valops.c (value_of_this): Use it. + +Fri Feb 9 08:59:37 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * config/hp300hpux: Print message telling people to use gcc. + + * value.h: Declare print_floating. + printcmd.c (print_scalar_formatted, case 'f'): Use print_floating. + valprint.c (val_print, case TYPE_CODE_FLT): Use print_floating. + valprint.c (print_floating): Make this function out of is_nan + and the code which was in val_print. + Put parentheses around high & 0xfffff. + Print sign and fraction for NaN's. + Print 17 digits not 16 for doubles. + (is_nan): Remove. + m-news.h, m-sun3.h: Define IEEE_FLOAT. + + * Rename gld-pinsn.c to gould-pinsn.c. + config/{pn,npl}: Change name of gld-pinsn.c + +Tue Feb 6 00:25:36 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * infptrace.c: Define PT_ATTACH if not defined. + m-hp300hpux.h: Define ATTACH_DETACH. + + * main.c (initialize_main): Change alias class to aliases. + + * dbxread.c: Search and destroy references to symsegs. + Also remove some #if 0'd code. + + * core.c: Remove reread_exec. + dbxread.c (reread_symbols): New function. + dbxread.c (symbol_file_command): Set symfile_mtime. + coffread.c: Same. + infcmd.c (run_command): Call reread_symbols not reread_exec. + + * valprint.c (val_print): When printing string after char *, print + it for "" just like any other string. + + * core.c (reread_exec): New procedure. + infcmd.c (run_command): Call reread_exec. + + * coffread.c (symbol_file_command): Add from_tty. + + * dbxread.c (symbol_file_command): Only ask about loading new + symbol table if from_tty. + +Mon Feb 5 02:25:25 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * inflow.c (inferior_died): Call breakpoint_clear_ignore_counts. + + * Makefile.dist (OBS): Remove dbxread.o and coffread.o. + + * config.gdb: Ignore files ending in '#' in config. + + * stack.c (backtrace_command): Add QUIT to get_prev_frame loops. + +Sat Feb 3 22:25:09 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * Makefile.dist (YACC): Don't use -v. + +Fri Feb 2 19:26:50 1990 Jim Kingdon (kingdon at mole.ai.mit.edu) + + * createtags: Only change .o to .c at end of name. + + * Makefile.dist (alldeps.mak): new target. + (Makefile): add alldeps.mak. + (SOURCES): remove PINSNS. + (TAGFILES: use ALLPARAM. + (gdb.tar): add config/. + + * config.gdb: Check for M_FILE= not #param.h + config/*: Make sure M_FILE= exists with space after M_FILE=. + Makefile.dist (TAGS): Pass M_FILE and DEPFILES. + createtags: Change .o to .c. Remove special tests for dep.c etc. + + * dbxread.c, coffread.c: Don't check COFF_FORMAT and READ_DBX_FORMAT. + Makefile.dist: Move {dbx,coff}read.c from SFILES to ALLDEPFILES. + config/*: add dbxread.o or coffread.o to depfiles. + + * Makefile.dist (depend): Depend on $(SOURCES), not force. + +Thu Feb 1 17:43:54 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * symmisc.c (print_symbol): Print newline after label. + +Wed Jan 31 22:35:38 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * dbxread.c (read_addl_syms): Remove code that checks for + _etext. + Move end_of_text_addr into read_dbx_symtab. + (read_dbx_symtab): #if 0 out code which checks for _etext. + +Tue Jan 30 15:40:19 1990 Jim Kingdon (kingdon at albert.ai.mit.edu) + + * Makefile.dist (gdb.tar): Use readline's "make readline.tar" + instead of having a list of readline files. + + * infrun.c (normal_stop): #if 0 out "you have found a bug in sh". + + * munch (-DSYSV): Check for .text at end of name. + Optionally allow extra underscore before initialize. + Remove space between #! and /bin/sh. + + * m-merlin.h: Put in clarifying comments about SHELL_FILE. + Makefile.dist (install): Execute M_INSTALL. + config/merlin: Define M_INSTALL. + +Mon Jan 29 04:32:09 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * inflow.c: Change all references to signal handlers from + int (*)() to void (*)(). + + * main.c: Declare init_signals before use & make it void. + Declare initialize_all_files. + + * Makefile.dist (config.status): New target. + +Sat Jan 27 00:19:50 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * defs.h (enum command_class): Remove comma after last element. + + * Makefile.dist (gdb.tar.Z): Use compress <foo >bar rather + than deleting gdb.tar.Z before starting. + + * dbxread.c (process_one_symbol): Compare context_stack_depth + with !VARIABLES_INSIDE_BLOCK, not VARIABLES_INSIDE_BLOCK. + + * mcheck.c: Put whole file in #if defined MALLOC_RANGE_CHECK. + + * mcheck.c (checkhdr): Call fatal_dump_core not abort. + + * mcheck.c: Copy from malloc distribution. + + * main.c (main): Call init_malloc (). + + * main.c (initialize_signals): Rename to init_signals. + +Fri Jan 26 00:53:23 1990 Jim Kingdon (kingdon at mole.ai.mit.edu) + + * *dep.c: Make core_file_command return void. + + * gdbcore.h [!KERNEL_U_ADDR]: Declare kernel_u_addr. + infptrace.c [!KERNEL_U_ADDR]: Make it extern. + + * altos-dep.c (NBPG, UPAGES): Wrap #define in #if !defined. + + * m-pn.h (GOULD_PN): Define. + *-pinsn.c: Include actual opcode table not just opcode.h + + * main.c [ALIGN_STACK_ON_STARTUP]: New code. + m-i386.h: Define ALIGN_STACK_ON_STARTUP. + + * m-merlin.h (NO_SIGINTERRUPT, SHELL_FILE): Define. + + * Move code from infptrace [USE_PTRACE_GETREGS] to sun3-dep.c. + m-sun{2,3}.h, m-sparc.h: Define FETCH_INFERIOR_REGISTERS. + + * Makefile.dist, config.gdb, config/*: + Re-write to use machine-dependent makefiles instead of cpp. + + * m-hp300hpux.h: Define FETCH_INFERIOR_REGISTERS. + infptrace.c: Put {fetch,store}_inferior_registers inside + #if !defined FETCH_INFERIOR_REGISTERS. + + * Split execcore.c into exec.c and coredep.c. + Move a bunch of stuff from coredep.c and *dep.c to gdbcore.h. + + * infptrace.c ({fetch,store}_inferior_registers): + Use U_REGS_OFFSET to set offset. + m-umax.h: Define U_REGS_OFFSET. + + * m-umax.h: Define PTRACE_{ATTACH,DETACH}. + + * m-i386.h (N_SET_MAGIC): Define. + m-i386gas.h: add #undef N_SET_MAGIC. + +Thu Jan 25 18:39:45 1990 Jim Kingdon (kingdon at mole.ai.mit.edu) + + * m-hp300bsd.h: Remove KERNEL_U_ADDR. + + * infptrace.c [!KERNEL_U_ADDR]: Get address of kernel u area + at runtime. + + * infptrace.c: Replace numbers with PT_KILL, etc. + (store_inferior_registers): Loop for as many words are in the register. + + * infptrace.c [NO_SINGLE_STEP]: Call single_step(). + + * kill_inferior{,_fast}: Declare as returning void. + + * m-sun3.h (USE_PTRACE_GETREGS): Define. + + * execcore.c: Add IS_OBJECT_FILE & related stuff. + + * infptrace.c: Include <sys/ptrace.h>. + [ATTACH_DETACH] [USE_PTRACE_GETREGS]: New code. + + * Split default-dep.c into infptrace.c and execcore.c. + + * valprint.c [IEEE_FLOAT]: Change void * to char *. + + * breakpoint.c: Change printf_filtered(%s) to fputs_filtered. + +Wed Jan 24 00:35:52 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * dbxread.c (symbol_file_command): When freeing everything, free + the string table too. + + * Makefile.dist (gdb1): add "rm -f gdb1". + + * printcmd.c (print_scalar_formatted): If size is 0, use 'b' + 'h', 'w', or 'g' depending on the type. + + * stack.c (backtrace_command): Read in symbols for frames we'll + print before printing them. + + * valops.c (value_at): Don't print "I/O error" on EIO from + ptrace. Don't print "out of bounds" for any ptrace error + except EIO. + + * valprint.c (type_print_base, case TYPE_CODE_ENUM): + Print "FOO = 5" not "FOO : 5". + + * symtab.{c,h}: Make lookup_misc_func extern. + + * Makefile.dist: Define VERSION in makefile, and generate + version.c automatically. + (gdb.tar): Use gdb-$(VERSION), not dist-gdb. + + * expread.y (yylex): Use lookup_primitive_typename to + cut down on calls to lookup_symbol. + symtab.{c,h} (lookup_primitive_typename): New function. + (lookup_typename): Use it. + + * symtab.{c,h} (check_stub_type): New function. + valprint.c (type_print_base, val_print, type_print_derivation_info), + values.c (allocate_value): Call it. + + * printcmd.c (whereis_command): New function. + symtab.c (lookup_symbol): Add symtab parameter. + various: Pass additional argument to lookup_symbol. + symseg.h (struct symbol): Add line field. + dbxread.c (define_symbol): Set sym->line. + + * dbxread.c (symbol_file_command): Read string table into + malloc'd memory (symfile_string_table) and leave it there. + (psymtab_to_symtab): Use symfile_string_table. + + * utils.c (sig_abbrev): Return NULL if not found. + infrun.c (sig_print_{header,info}): Consolidate duplicated + code from handle_command, signals_info. + (sig_print_info): Just print number if no name from sig_abbrev. + + * Makefile.dist (OTHERS): Add ChangeLog-3.x + + * infrun.c (restore_inferior_status): #if 0 out + "Unable to restore previously selected frame" error message. + + * infrun.c (signals_info, handle_command): Print signal + abbrevs along with numbers. + + * infrun.c (handle_command): Accept symbol signal names. + + * utils.c (sig_{number,abbrev}, init_sig): New functions. + _initialize_utils: Call init_sig for each signal. + defs.h: Declare them. + + * default-dep.c (read_inferior_memory): Check quit_flag in + fetch loop. + + * Changes for lazy fetching (speeds things up for big objects): + value.h (struct value): New field lazy. + VALUE_CONTENTS_RAW, VALUE_LAZY, value_at_lazy: New. + findvar.c (read_var_value): Set lazy instead of fetching. + various: Copy into VALUE_CONTENTS_RAW, not VALUE_CONTENTS. + valops.c: Add value_at_lazy, value_lazy. + various: Call value_at_lazy instead of value_at. + + * symtab.h (LONGEST): Define. + + * m-*.h (LONGEST, BUILTIN_TYPE_LONGEST): Delete (in symtab.h). + + * infrun.c (wait_for_inferior): #if 0 out stop if ABOUT_TO_RETURN + + * version.c: Change version number to 4.0development + +For older changes see ChangeLog-3.x + +Local Variables: +mode: indented-text +left-margin: 8 +fill-column: 74 +version-control: never +End: |