diff options
author | John Gilmore <gnu@cygnus> | 1992-01-27 20:32:19 +0000 |
---|---|---|
committer | John Gilmore <gnu@cygnus> | 1992-01-27 20:32:19 +0000 |
commit | fd8db897af06748311633bf387724188b500c748 (patch) | |
tree | 958394776d6b0487d9588fdd1434e2383f3b783f /gdb/ChangeLog-9091 | |
parent | 2213b721f076d1814b1ab6c03ab26e3d44c2cca6 (diff) | |
download | gdb-fd8db897af06748311633bf387724188b500c748.zip gdb-fd8db897af06748311633bf387724188b500c748.tar.gz gdb-fd8db897af06748311633bf387724188b500c748.tar.bz2 |
Split ChangeLog out at Jan 1, 1992.
Diffstat (limited to 'gdb/ChangeLog-9091')
-rw-r--r-- | gdb/ChangeLog-9091 | 8323 |
1 files changed, 8323 insertions, 0 deletions
diff --git a/gdb/ChangeLog-9091 b/gdb/ChangeLog-9091 new file mode 100644 index 0000000..7a347ab --- /dev/null +++ b/gdb/ChangeLog-9091 @@ -0,0 +1,8323 @@ +Mon Dec 30 10:57:02 1991 Per Bothner (bothner at cygnus.com) + + Mainly stuff to improve handling of TYPE_CODE_REF values. + * valops.c (value_addr): If taking the addres of a + TYPE_CODE_REF, just cast the object to the corresponding + TYPE_CODE_PTR. This yields correct C++ semantics, and + preserves the location information, which has the nice effect + that &(&R) given the location containing R. + * values.c (value_copy): Make non-static (used by value_addr). + * eval.c (evaluate_subexp_for_address): Use the default + scheme (with value_addr) for a variable if it has TYPE_CODE_REF. + * valops.c (value_addr), eval.c (evaluate_subexp_for_address, + evaluate_subexp_with_coercion): Factor out some common + expressions into variables, for easier reading. + * findvar.c (locate_var_value): Remove code to handle + TYPE_CODE_REF - it should no longer be needed. + * valops.c (value_assign): Do a COERCE_REF on the + destination operand, for correct C++ semantics. + * valarith.c (value_x_binop): Ditto: De-reference C++ + references in the arguments. + * valops.c: ANSI-fy: bcopy->memcpy, bzero->memset. + +Sat Dec 28 11:30:26 1991 Per Bothner (bothner at cygnus.com) + + * dwarfread.c, coffread.c: Use INIT_CPLUS_SPECIFIC. + * symtab.c (gdb_mangle_name): Recognize and handle + constructors specially. + * symtab.c (check_stub_method): Test for failure from + cplus-demangle by calling error() instead of seg-faulting ... + +Fri Dec 27 22:21:30 1991 Fred Fish (fnf at cygnus.com) + + * defs.h: Add definition of null_cleanup() + + * procfs.c: Many small changes to add base support for a new + "info proc" command (currently only printing of the address + space mapping is implemented) and allow iteration over the + address space mapping, calling an arbitrary function for each + mapping (used for shared library support). + + * solib.c: Change all ifdefs that checked for "sun" to check + for "!SVR4_SHARED_LIBS" instead. Rewrite lookup_base() to + handle locating the debug base address even when not currently + stopped at the dynamic linker entry point. + + * utils.c: Add null_cleanup() as a known function that does + nothing to serve as a base for possibly long cleanup chains + with no specific "first cleanup" to serve as an anchor. + + * xm-sysv4.h: Add define of SVR4_SHARED_LIBS + +Fri Dec 27 10:11:33 1991 Per Bothner (bothner at cygnus.com) + + * arm-opcode.h, m88k-opcode.h, pn-opcode.h, np1-opcode.h, + pyr-opcode.h, tahoe-opcode, vax-opcode.h: Removed - + these are all essentially the same as the versions + in ../include/opcode. The remaining *-opcode.h here + are not quite so obviously the same, and need study. + * arm-pinsn.c, gould-pinsn.c, m88k-pinsn.c, pyr-pinsn.c, + tahoe-pinsn.c, vax-pinsn.c: Change so these include + opcode/FOO.h (actually ../include/opcode/FOO.h) + instead of the recenntly departed opcode-FOO.h files. + * sparc-pinsn.c: Now that we're using the much tighter + opcode table in ../include/opcode/sparc.h, we shouldn't + need to sort the opcodes before dis-assembly. + + * symtab.h, symmisc.c: Make cplus_struct_default be const. + * symtab.h, buildsym.c: Add and use INIT_CPLUS_SPECIFIC macro. + * symmisc.c: Remove unused 'nfields' variable. + * buildsym.h: Add extern decl of unknown_symtype_complaint, + since it used used by partial-stab.h (included two places). + * partial-stab.h: Re-arrange DBXREAD_ONLY #ifdefs so that + we should never hit the default case (until new stab codes + are added). Hence, we can leave the complaint in the + default case in even when DBXREAD_ONLY is off. + * partial_stab.h: Recognize a pair of N_SO stabs (one for the + directory, one for the filename proper) without peeking ahead. + * dbxread.c, mipsread.c: Because of previous change, don't need + ugly CHECK_SECOND_N_SO macro. + * buildsym.h, dbxread.c, mipsread.c: Make next_symbol_text a + macro that invokes a function pointer in next_symbol_text_func. + * mipsread.c: Added comments various places to + explain what is going on. + * mipsread.c (parse_symbol): Support the new (SGI-specific?) + symbol types stStruct, stUnion, and stEnum. + Also, some fixes in the code for dealing with tags. + * mipsread.c: Change handling of startup_file_start and _end + - now just use the textlow and texhigh of a psymtab + to check if we've found the startup-file. + * mipsread.c: Replace s_idx by global cur_sdx in many places. + This is so mips_next_symbol_text can get at it. + +Thu Dec 26 19:52:01 1991 Fred Fish (fnf at cygnus.com) + + * dbxread.c, symmisc.c: Move add_psymbol_to_plist() from + dbxread.c to symmisc and change name to add_psymbol_to_list. + Ditto for add_psymbol_addr_to_plist(). Also expand their + body to not use ADD_PSYMBOL_VT_TO_LIST. + + * dwarfread.c: Remove add_psymbol_to_list() and convert usages + to the ADD_PSYMBOL_TO_LIST macro. + + * ieee-float.c: Change "#ifdef DEBUG" to "#ifdef IEEE_DEBUG" + to avoid collision with the DEBUG for ADD_PSYMBOL_VT_TO_LIST. + + * partial-stab.h, symfile.h: Move definitions of the macros + ADD_PSYMBOL_TO_LIST and ADD_PSYMBOL_ADDR_TO_LIST from + partial-stab.h to symfile.h. They aren't stab specific. + Change ADD_PSYMBOL_VT_TO_LIST to use memcpy rather than strncpy. + +Tue Dec 24 11:38:08 1991 John Gilmore (gnu at cygnus.com) + + * Makefile.in: Roll VERSION to 4.3.2. + +Mon Dec 23 13:54:35 1991 Per Bothner (bothner at cygnus.com) + + * m68k-opcode.h, mips-opcode.h, sparc-opcode.h: Deleted. + * m68k-pinsn.c, mips-pinsn.c, sparc-pinsn.c: + Include <opcode/FOO.h> instead of <FOO-opcode.h>. + + * symtab.h, symtab.c, coffread.c, dwarfread.c, symmisc.c, + dbxread.c: The TYPE_CPLUS_SPECIFIC structure is now only + allocated when it is needed. Until it is needed, it points + to a shared statically allocated structure. + + * buildsym.h, buildsym.c, dbxread.c: Remove the kludgy code + in read_ofile_symtab to recognize two initial N_SO stabs, + and let process_on_symbol handle it. This is cleaner, more + efficient, and lets mipsread.c share the same code. + + * symfile.h, partial-stab.h: Move ADD_PSYMBOL_VT_TO_LIST + and related macros to here ... + * dbxread.c: ... from here. + * symmisc.c: Move the "overflow" handling from + ADD_PSYMBOL_VT_TO_LIST macro into new function extend_psymbol_list. + * dwarfread.c: Re-write add_psymbol_to_list to use + ADD_PSYMBOL_VT_TO_LIST macro. + + * mipsread.c: Extend mipsread.c to handle stabs-style symbols + encapsulated in ecoff symbols. This enable full g++ debugging. + * partial-stab.h: Move the code for pre-scanning symbols + and building psymtabs to an include file, out from dbxread.c. + This way, the same code can also be used by mipsread.c. + * dbxread.c, buildsym.h: Various changes to allow some functions + to be used by mipsread.c (also some arguable stylistic changes). + + * tm-mips.h: Define BLOCK_ADDRESS_ABSOLUTE, at least for now, + since mips-tfile puts relocatable addresses into LBRAC/RBRAC + stabs. + + * mipsread.c: Replace code to handle ambiguous tag blocks. + Instead of allocating a TYPE_CODE_UNDEF, guess (by looking + at types and offsets) if a tag is a struct, union, or enum. + Still patch it later if we find out for sure. + * mipsread.c: In various ways, replace Forin's + ideo-syncratic code by code that fits better with the + rest of gdb, for both stabs-based and ecoff-based symtabs. + E.g. use end_psymtab; don't do extra passes over FDR table to + pre-partition global data; don't use external symbols to + create static/global symbols (just put them in the + misc_vector); use ADD_PSYMBOL_TO_LIST macro; don't + sort psymtabs or symtabs; use obstacks more. + + * symtab.c, mipsread.c, dbxread.c, buildsym.c: + ANSIfy: Replace bcopy by memcpy, bzero by memset. + +Sun Dec 22 19:31:04 1991 Fred Fish (fnf at cygnus.com) + + * solib.c (locate_base): Fix uninitialized variable that was + causing return of random value to callee. + + * config/mh-amix, config/mh-i386v4: Change to find alloca by + compiling and linking alloca.c, even when it is not strictly + required. Also arrange to link with -ltermlib rather than + -ltermcap. + + * Makefile.in: Move TERMCAP definition to prior to inclusion + of host makefile fragments so it can be overridden. + +Fri Dec 20 16:33:39 1991 John Gilmore (gnu at cygnus.com) + + * xcoffread.c (read_symbol_lineno): Logic error in incrementing + symbol table entry number. (From Metin Ozisik.) + +Fri Dec 20 11:36:38 1991 Fred Fish (fnf at cygnus.com) + + * config/mh-i386v4: Change XM_CLIBS to "-lc /usr/ucblib/libucb.a" + so compiles with native compilers (without builtin alloca) can + pick up the version from the bsd emulation library. However, we + search the standard C library first so we don't pick up lots of + other broken stuff from libucb.a, that we *don't* want. + + * configure.in, tm-amix.h, tm-i386v4.h, xm-amix.h, xm-i386v4.h: + Change svr4 references to sysv4. + + * source.c: Move declaration of external function index to + front of file so it is in scope for all references. + + * utils.c (error, fatal): Make definitions consistent with + defs.h declarations (declared as "volatile void"). + +Fri Dec 20 10:55:36 1991 John Gilmore (gnu at cygnus.com) + + * rs6k-opcode.h: Bugfix sfe and stbrx. By Al Kossow. + +Wed Dec 18 17:09:06 1991 Stu Grossman (grossman at cygnus.com) + + * command.h, defs.h, eval.h, expression.h, remote-sa.sparc.c, + sparc-tdep.c, symtab.h, target.h, value.h, vx-share/ptrace.h, + vx-share/xdr_ptrace.h, vx-share/xdr_rdb.h: ANSIfy enums. + +Mon Dec 16 12:31:46 1991 Fred Fish (fnf at cygnus.com) + + * config/mt-amix, config/mt-i386v4: Add solib.o to TDEPFILES + for these SVR4 systems. + + * symfile.c (symbol_file_add): When verbose is set, print + the names of files from which symbols are being loaded, as + when from_tty is true. + + * solib.c: Completely reorganized (rewritten) to support + SVR4 shared libraries in a manner very close to the original + SunOS implementation. This support is expected to change and + become more general at some future time. The SVR4 version + does not yet work for attached processes, for example. + + * dwarfread.c: Arrange in dwarf_build_psymtabs() for the + relocation address to be valid whether or not symbols are + being read from a shared library or an executable. Use the + relocation address recorded in the psymtab when reading + full symbol tables (in read_ofile_symtab). Ensure that the + relocated address ranges are recorded in partial symtabs. + + * elfread.c: Add new function elf_interpreter() to return the + string from the ELF ".interp" section. This is the interpreter + that the kernel tries to run and feed the executable to. + Expand arguments to record_misc_function to include a type arg. + Modify elf_symtab_read() to supply the type arg, and to do symbol + relocations for symbols read in from shared libraries. + + * procfs.c: Add new functions proc_base_address() and + proc_address_to_fd(), used by shared library support. + + * tm-svr4.h: Add macros to support SVR4 shared libraries. + Definitions for SOLIB_ADD, SOLIB_CREATE_INFERIOR_HOOK, + CLEAR_SOLIB, and DISABLE_UNSETTABLE_BREAK. + +Fri Dec 13 20:11:26 1991 John Gilmore (gnu at cygnus.com) + + * infrun.c, remote-eb.c, remote-nindy.c, remote-vx.c: Remove + unused START_INFERIOR_HOOK. + + * remote-eb.c: Change timeout to 24 seconds (*10 fits in byte) + to account for slow loading from floppies. + (eb_create_inferior): New fn, from eb_start and + nindy_create_inferior. + (eb_close): Only use log_file if nonzero. + (eb_xfer_inferior_memory): If not writing, then read! + (eb_read_inferior_memory, eb_write_inferior_memory): Return length. + (eb_kill): A new no-op. + (eb_mourn_inferior): Remove breakpoints, then generically weep. + +Fri Dec 13 16:09:23 1991 Fred Fish (fnf at cygnus.com) + + * breakpoint.c, findvar.c, infrun.c, putenv.c, stack.c: Fix + miscellaneous comparisons of integer with NULL that elicit + compiler warnings about comparison of integer with pointer, when + NULL is ((void *) 0) rather than just a bare 0. + +Wed Dec 11 13:02:58 1991 John Gilmore (gnu at cygnus.com) + + * breakpoint.c (breakpoint_re_set_one): Disable each breakpoint + while we reset it, in case of problems. Print breakpoint number + in error messages. + + * buildsym.c (read_struct_type): Avoid sun3 compiler bug with + foo[--n]. + + * source.c (find_source_lines): If getting file mod time fails, + don't warn. + + * target.c (target_xfer_memory): If errno is set, return it, + rather than EIO. + +Tue Dec 10 04:07:22 1991 K. Richard Pixley (rich at rtl.cygnus.com) + + * Makefile.in: infodir belongs in datadir. + +Sun Dec 8 21:13:33 1991 Michael Tiemann (tiemann at sphagnum.cygnus.com) + + * symtab.h (struct fn_field): Add new fields `is_private', + `is_protected', `is_stub', making room by reducing the size of + `voffset'. + (struct fn_fieldlist): Delete the fields `private_fn_field_bits' + and `protected_fn_field_bits'. + (TYPE_FN_{PRIVATE,PROTECTED}_BITS): Deleted. + (SET_TYPE_FN_{PRIVATE,PROTECTED}): Deleted. + (TYPE_FN_{PRIVATE,PROTECTED}): Deleted. + (TYPE_FN_FIELD_{STUB,PRIVATE,PROTECTED}): New macros. + * valops.c, valprint.c, symtab.c: All callers updated. + + * buildsym.c (read_struct_type): Delete the `visibility' field + from `struct next_fnfield', and rework code so that visibility + info is stored into the fn_field directly. Also, hacked to set + TYPE_FN_FIELD_STUB for both static and normal member functions. + +Sat Dec 7 18:13:11 1991 Fred Fish (fnf at cygnus.com) + + * i386-tdep.c: Fix a problem on i386 systems where buffered code + stream access was failing to take into account the minimum size + granularity of the code section. For now, the buffering is simply + disabled. There is a similar problem in the i386 disassember code + that has not yet been fixed (FIXME). + + * gmalloc.c: Use macros to hide some of the ugly casting required + in the previously applied fix for pointers with high bits set. + +Sat Dec 7 16:49:35 1991 John Gilmore (gnu at cygnus.com) + + * Makefile.in: Roll VERSION to 4.3.1. + +Sat Dec 7 04:12:35 1991 John Gilmore (gnu at cygnus.com) + + GDB-4.3 release! + + * Makefile.in: Roll VERSION to 4.3 + * README, TODO, WHATS.NEW, depend: Update. + + * inflow.c (terminal_inferior): Avoid error msg if attached. + + * gmalloc.c: Fix bug that causes malloc & free to + fail on systems where pointers have the high bit set (0x800efcf0 + for example). The problem is that the difference between two + pointers is a signed integer, so the computation + + (char *) 0x800efcf0 - (char *) 0 + + yields a negative value. The sign of the result of the modulus + operator is machine dependent for negative operands, thus it is + possible for it to end up negative. From Fred Fish. + +Sat Dec 7 00:00:15 1991 K. Richard Pixley (rich at rtl.cygnus.com) + + * Makefile.in: install using INSTALL_PROGRAM and INSTALL_DATA. + added clean-info. added some standards.text support and made it + look like our other Makefiles. + + * configure.in: mark this directory target dependent. configure + now runs entirely in objdir so make existence tests and + references against ${srcdir}. + +Fri Dec 6 08:30:36 1991 Fred Fish (fnf at cygnus.com) + + * dwarfread.c (enum_type, struct_type): Fixes for opaque and + anonymous enumerations, structures, and unions. Now passes all + the current gdb test suite tests. + +Thu Dec 5 22:46:13 1991 K. Richard Pixley (rich at rtl.cygnus.com) + + * Makefile.in: idestdir and ddestdir go away. Added copyrights + and shift gpl to v2. Added ChangeLog if it didn't exist. docdir + and mandir now keyed off datadir by default. + +Thu Dec 5 21:53:21 1991 John Gilmore (gnu at cygnus.com) + + * symtab.c (decode_line_1): If SKIP_PROLOGUE leaves us in + mid-line, be more careful about possibly advancing to the next line. + +Thu Dec 5 18:59:51 1991 Michael Tiemann (tiemann at cygnus.com) + + * cplus-dem.c (cplus_demangle): Call `string_need' when + null-terminating a partially-computed string. + +Thu Dec 5 18:19:43 1991 Fred Fish (fnf at cygnus.com) + + * dwarfread.c (enum_type): Build a correct TYPE_NAME, add a + symbol to the symbol table for each member of the enum. + + * dwarfread.c (struct_type): Build a correct TYPE_NAME. + + * dwarfread.c (add_enum_psymbol): New function to extract enum + member names and add them to the partial symbol table while + building partial symbol tables. + +Thu Dec 5 17:31:05 1991 John Gilmore (gnu at cygnus.com) + + * symtab.c (check_stub_method): Must allocate two extra argument + slots (one for `this', one for arglist terminator). + +Thu Dec 5 10:51:05 1991 Fred Fish (fnf at cygnus.com) + + * inflow.c (child_terminal_info): Supply missing '"' character. + + * buildsym.c (define_symbol): Supply missing parenthesis. + +Thu Dec 5 03:34:21 1991 John Gilmore (gnu at cygnus.com) + + * coredep.c (fetch_core_registers): Fencepost error. Fixed by + Jay Lepreau <lepreau@cs.utah.edu>. + + * inflow.c: Remember whether GDB has a terminal. Avoid switching + terminals back and forth if we don't have one. + + * c-exp.y (parse_number): Zero is not an unsigned int constant! + * dbxread.c (read_dbx_symtab): Enum type numbers can be in (1,2) form. + + Improve type parsing. + * buildsym.c (define_symbol, read_range_type): Add + long_kludge_name that passes the names of range types being + defined, down to where we must choose between 'int' and 'long' + variants. This fails on Sun C anyway since the compiler itself is + confused between int and long. + (read_array_type, cleanup_undefined_types): Correct the size of + array type whose element-type size isn't immediately known. + + Early preparation to blow away many builtin types, building them + on the fly as needed. Don't compare types to builtin types with + ==; examine the relevant fields instead. + * coffread.c (process_coff_symbol: C_ARG, C_REGPARM): Avoid ==. + * buildsym.c (define_symbol, case 'p'): Avoid ==. + * valops.c (value_arg_coerce): Avoid ==. Don't assume host and + target types are the same. + * valprint.c (val_print): I finally understand arrays, remove FIXME. + + * symmisc.c (printpsyms_command): Reduce redundancy, and put all + addresses in GDB itself into parens for easy cleanup and diffing. + +Wed Dec 4 21:05:30 1991 Fred Fish (fnf at cygnus.com) + + * dwarfread (enum_type): Arrange for the order of enumeration + members to match the source code order; not the order in the + Dwarf information, which is explicitly reverse order. + +Wed Dec 4 18:24:39 1991 John Gilmore (gnu at cygnus.com) + + * main.c (input_from_terminal_p): Check whether GDB has a + terminal at all. + (initialize_main): Revise doc for `set editing'. + +Wed Dec 4 15:36:39 1991 Fred Fish (fnf at cygnus.com) + + * dwarfread.c (struct_type): Handle structures and unions which + contain DIE's other than just member dies. + +Wed Dec 4 01:59:05 1991 John Gilmore (gnu at cygnus.com) + + * symfile.c (reread_symbols): Avoid kludging mtime_set, now that + BFD is fixed. + +Tue Dec 3 17:24:57 1991 John Gilmore (gnu at cygnus.com) + + * Makefile.in: VERSION 4.2.96. + + * main.c (initialize_main): Revise command descriptions. + * command.c (show_user): `info user' -> `show user'. + * symtab.c (_initialize_symtab): Typo in `info types' desc. + + * coffread.c (coff_symfile_read): Avoid select_source_symtab, + since it is not needed and can cause errors when examining ".o"s. + (read_coff_symtab, decode_base_type): Use complain, not printf. + Print symbol name, not its number. + Remove "#if defined(clipper) #define BELIEVE_PCC_PROMOTION", which + someday should go in a clipper target config file. + + * symfile.c (compact_misc_function_vector): Handle empty vector. + (complain, clear_complaints, syms_from_objfile): Fix complaint + formatting. + * xcoffexec.c: Change syms_from_objfile caller. + + * sparc-xdep.c: Force tm-file as tm-sparc.h, to make it compile + when configured for cross debugging. FIXME, this needs a more + general solution. + +Mon Dec 2 11:04:05 1991 Per Bothner (bothner at cygnus.com) + + * mips-tdep.c (init_extra_frame_info): Float register + 'i' has gdb-internal number 'FP0+i', not '32+i'. + * mipsread.c (new_symbol): Translate g++ special + symbol "$t" to "this". + +Sat Nov 30 21:29:55 1991 Steve Chamberlain (sac at cygnus.com) + Changes due to include file renaming: + + * xcoffread.c: internalcoff.h ->coff/internal.c, + coff-rs6000.h ->coff/rs6000.h + * mipsread.c: coff-mips.h ->coff/mips.h + * elfread.c: elf-common.h ->elf/common.h + elf-external.h ->elf/external.h, + elf-internal.h ->elf/internal.h + * dwarfread.c dwarf.h ->elf/dwarf.h + * dbxread.c: aout64.h ->aout/aout64.h + stab.gnu.h ->aout/stab_gnu.h + + * coffread.c: internalcoff.h ->coff/internal.h + * buildsym.c: stab.gnu.h ->aout/stab_gnu.h + * depend Updated to take the above into account. + +Fri Nov 29 16:59:25 1991 Fred Fish (fnf at cygnus.com) + + * configure.in: Add SVR4 i386 configurations. + + * config/mh-i386v4, config/mt-i386v4, tm-i386v4.h, xm-i386v4.h: + New files for i386/SVR4. + + * tm-i386v.h: Allow START_INFERIOR_TRAPS_EXPECTED and + DECR_PC_AFTER_BREAK to be predefined by files including + tm-i386v.h. + + * i386-tdep.c: Add supply_gregset(), fill_gregset(), + supply_fpregset(), and fill_fpregset() functions, which are + target dependent support functions for the SVR4 /proc register + interface. + + * dwarfread.c (enum_type, struct_type): Expand recognized + compiler generated tags to include symbols beginning with '.' as + well as '~'. + + * symtab.c (sources_info): Change simple printf of error message + to call to error(). + +Fri Nov 29 16:04:21 1991 Roland H. Pesch (pesch at cygnus.com) + + * doc/gdb.texinfo: remove leading comments that survived M4 but + described its role in the doc; add one more font to colophon; + strengthen disclaimer about unsupported configs. + +Wed Nov 27 01:23:41 1991 John Gilmore (gnu at cygnus.com) + + Fix bugs in C++ debugging. + + * symtab.h: target_type is not used in record types. + Eliminate TYPE_MAIN_VARIANT and TYPE_NEXT_VARIANT. Eliminate + lookup_method_type. Add TYPE_TYPE_SPECIFIC macro. + + * symtab.c (lookup_member_type): Don't chain them up, just + allocate one in symbol_obstack when we need one. + (allocate_stub_method): Build stub in symbol_obstack. + (check_stub_method): Move here from values.c. Don't deallocate + stub; overwrite it. + (lookup_method_type): Gone now. + + * buildsym.c: Handle g++ v1 stabs a little bit better. + Change some C++ parsing error()s to complain()ts. + * buildsym.c, findvar.c, printcmd.c, symtab.c: Make unions and + structs have the same representation and work the same as far as + C++ is concerned. + * buildsym.c, symtab.c, values.c: Remove all references to + TYPE_MAIN_VARIANT and TYPE_NEXT_VARIANT. + + * valops.c: Improve comments and indentation. Only call + check_stub_method when the stub flag is on. + * valprint.c: Fix or mark minor bugs and unportabilities. + + * coffread.c (anonymous unions): Allocate a cplus structure. + + * mipsread.c: Eliminate "template" types. Build new, real + types whenever we need them. Allocate cplus structures as needed. + Bulletproof the type parsing a bit more. Mark storage leaks. + (parse_type): Copy TYPE_TYPE_SPECIFIC when copying a real type + on top of a partial type. + +Fri Nov 22 16:39:57 1991 John Gilmore (gnu at cygnus.com) + + * inflow.c (terminal_inferior): Check the results of ioctl's, and + print a message if any of them fail. + (terminal_ours_1): Store result of ioctl's for debugging, but + don't print (the terminal isn't ours...). + + * tm-tahoe.h (FRAME_ARGS_ADDRESS): No need to offset from frame + pointer. + + * m2-exp.y (MAX, MIN): Rename to MAX_FUNC, MIN_FUNC to avoid + conflicts with system header files. + +Fri Nov 22 08:27:40 1991 John Gilmore (gnu at cygnus.com) + + * Roll VERSION to 4.2.95. + + * buildsym.c, coredep.c, mem-break.c, xcoffread.c: Put <stdio.h> + first, before defs.h. + * config/mh-i386sco: Override compiler to gcc, print warning. + * configure.in: Handle i386-none-aout rather than i386-aout-none. + * infptrace.c, language.h, utils.c: Lint. + * m2-exp.y: #undef MAX and MIN in case system includes set them. + * xm-tahoe.h: Set HOST_BYTE_ORDER. Include system versions of + {BIG,LITTLE}_ENDIAN and the INT_MAX family first, to avoid + redefinition warnings. + * defs.h: Reorder things so that the xm-file gets first crack + at #define's, followed by defs.h and then the tm-file. + * Makefile.in: Remove spaces after 'ignore exit code' - flags. + Late-model BSD 'make's don't cope with them. + +Thu Nov 21 23:48:56 1991 John Gilmore (gnu at cygnus.com) + + * Makefile.in: Roll new files into various lists. + +Thu Nov 21 18:26:11 1991 Fred Fish (fnf at cygnus.com) + + * dwarfread.c (struct_type): Must initialize the c++ specific + portion of union types as well as struct types, since gdb attempts + to reference the c++ specific info for both types. + +Thu Nov 21 10:23:52 1991 John Gilmore (gnu at cygnus.com) + + * Makefile.in: Roll VERSION to 4.2.90. + + * defs.h: Incorporate param.h into defs.h. All users changed. + * param-no-tm.h: Change users to define TM_FILE_OVERRIDE instead. + * param.h, param-no-tm.h: Removed. + * Update copyrights in all changed files. + * dbxread.c, dwarfread.c, inflow.c, infrun.c, m2-exp.y, putenv.c, + solib.c, symtab.h, tm-umax.h, valprint.c: Lint. + * tm-convex.h, tm-hp300hpux.h, tm-merlin.h, tm-sparc.h, + xm-merlin.h: Avoid host include files in target descriptions. + * getpagesize.h: Removed, libiberty copes now. + * Makefile.in: Remove getpagesize.h, param.h, param-no-tm.h. + + * exec.c (exec_files_info): If `verbose' is set, show file offset + as well. + + * main.c: Use getcwd rather than getwd. + * standalone.c: Fake getcwd rather than getwd. + * xm-*.h: Remove fake values of MAXPATHLEN. + + * xcoffexec.c: Add /* */ to #if 0'd thing to help ANSI. + +Wed Nov 20 18:35:56 1991 John Gilmore (gnu at cygnus.com) + + * Remove gdb/hp-include. Support for HP a.out oddities should be + in BFD, not in GDB. Move gdb/hp-include/a.out.h to include/a.out.hp.h. + + * infptrace.c, tm-sun386.h: Cashier <a.out.gnu.h>, remove refs. + + * configure.in, xconfig, tconfig, Makefile.in, doc/gdbint.texinfo: + Makefile fragments for various hosts and targets now come from + gdb/config/mh-* and gdb/config/mt-*. This is for consistency with + other config setups. + + * rs6000-pinsn.c, rs6k-opcode.h: Clean up. + * rs6k-opcode.def: Delete. + +Wed Nov 20 05:04:40 1991 Fred Fish (fnf at cygnus.com) + + * dwarfread.c: Recognize obsolete form of AT_element_list + attribute still used by at least one AT&T compiler, and possibly + more. + +Tue Nov 19 07:53:55 1991 Fred Fish (fnf at cygnus.com) + + * dwarfread.c (enum_type, struct_type): Ignore names invented by + helpful compilers for anonymous structs, unions, and enums. + + * c-exp.y, m2-exp.y: Add defines for yymaxdepth, yy_yys, and + yy_yyv, so multiple parsers produced by SVR4 versions of yacc + can coexist in the same executable without collision. + + * symtab.h: Add declaration for lookup_template_type() to kill + compiler warnings about conversions from int to pointer. + +Mon Nov 18 17:45:18 1991 Fred Fish (fnf at cygnus.com) + + * procfs.c: Move inclusion of defs.h to before param.h, as in + all the other source files that include both. This is required + to supply some typedefs that are used in files included by param.h. + + * m68k-tdep.c (m68k_skip_prologue): Add generic m68k support for + skipping function prologues, ala the other cpu families (i386, + mips, m88k, etc). Add the ability to skip movm and fmovm + instructions in the prologues. Still needs support for profile + (-p compiled) prologue sequences (FIXME). + + * tm-68k.h: Change SKIP_PROLOGUE macro to use the new generic + m68k prologue skipping function by default. + + * tm-altos.h, tm-isi.h: Continue to use the old definition of + SKIP_PROLOGUE. + +Mon Nov 18 15:12:45 1991 John Gilmore (gnu at cygnus.com) + + * Makefile.in: Remove tdesc stuff, and extra blanks before colons. + * blockframe.c: Remove tdesc-related code. Default + FRAME_CHAIN_COMBINE. + * infrun.c: Remove tdesc-related code. + * m88k-tdep.c (frame_chain_combine, init_frame_pc): Remove copies + of defaultable things. + * tm-m88k.h: New file, common to all Moto 88k target configs. + Derived from tm-delta88.h. + * tm-delta88.h: Use it. + * xm-m88k.h: Common file for 88K hosts. Remove obsolete stuff. + * xm-delta88.h: Use it. + * tm-*.h: Remove FRAME_CHAIN_COMBINE macros, since all are + default. + * coffread.c: Remove tdesc stuff. + * tconfig/delta88, tconfig/m88k: Remove tdesc stuff. + * xconfig/m88k: Rename tm-88k.h to tm-m88k.h. + +Mon Nov 18 13:51:37 1991 Per Bothner (bothner at cygnus.com) + + * source.c (open_source_file): If openp fails, try again + using just the base (non-directory) part of the filename. + This solves various annoying problems, such as when the + source was compiled with an absolute pathname - and the + source files have moved. Or if the source was compiled + using a relative pathname, it can be more convenient + to just specific the source directory to the dir command. + +Mon Nov 18 00:04:41 1991 Fred Fish (fnf at cygnus.com) + + * cplus-dem.c (munge_function_name): Add missing third arg to + instance of call to do_type(). + + * dwarfread.c: Changes to match new dwarf.h. Remove + AT_deriv_list, AT_loclist, AT_incomplete, AT_const_data, + and AT_is_external. + +Sun Nov 17 16:20:53 1991 Michael Tiemann (tiemann at rtl.cygnus.com) + + * symtab.h (struct type): Moved C++-specific fields into new type + `struct cplus_struct_type'. Now takes 10% less memory. Many + macros changed. + * symtab.c (init_type): Don't set fields belonging to + TYPE_CPLUS_SPECIFIC unless TYPE is TYPE_CODE_STRUCT. + * buildsym.c (read_type): Allocate TYPE_CPLUS_SPECIFIC for + TYPE_CODE_STRUCT. + (read_struct_type): Ditto. Also, add comments about how we can + deduce TYPE_VPTR_FIELDNO from inheritance info and fieldname info. + * coffread.c (decode_base_type): Allocate TYPE_CPLUS_SPECIFIC for + TYPE_CODE_STRUCT. + (read_struct_type): Ditto. + * dwarfread.c (struct_type): Ditto. + + * symtab.c (read_range_type): Don't set TYPE_MAIN_VARIANT. + (lookup_pointer_type): Don't use or set TYPE_MAIN_VARIANT. + (lookup_reference_type): Ditto. + + * cplus-dem.c: Many changes made to handle decoding of + ANSI-mangled names. + * symtab.c (gdb_mangle_name): Mangle/demangle ANSI-mangled names + as well. + +Fri Nov 15 17:57:59 1991 Stu Grossman (grossman at cygnus.com) + + * mipsread.c (parse_partial_symbols): patch to keep DEC C + compiler from making gdb bomb out. Thanks to Ed Santiago! + +Thu Nov 14 19:27:30 1991 Fred Fish (fnf at cygnus.com) + + * symfile.c: Add function compact_misc_function_vector() to + remove duplicate misc function vector entries. See comments + in source for why this is necessary/desirable. + + * dwarfread.c: Add misc function type parameter to internal + record_misc_function(). Remove calls to init_misc_bunches() + and condense_misc_bunches(), these are now done in elfread.c. + + * elfread.c: Add support for reading bfd canonical symbol tables + and generating misc function vector entries for global and + absolute symbols. Do calls to init_misc_bunches() and + condense_misc_bunches() where they will enclose all calls to + record_misc_function(), including those in dwarfread.c. + +Thu Nov 14 17:02:11 1991 Roland H. Pesch (pesch at cygnus.com) + + * doc/Makefile.in: new targets gdb.me, gdb.ms, gdb.mm + (roffable documentation). + * doc/gdb.texinfo: embedded hints (as comments) for better + texi2roff conversion. + +Thu Nov 14 13:18:25 1991 John Gilmore (gnu at cygnus.com) + + * m88k-tdep.c (examine_prologue): Deal with OR instructions + that shuffle parameters into other regs. + * symtab.c (decode_line_1): Fix bug introduced in Per's change + of Nov 12th. + +Wed Nov 13 19:51:11 1991 Steve Chamberlain (sac at cygnus.com) + + * Makefile.in, xconfig/delta88 made it install a sysV manual page; + gdb.z into the right place. + +Wed Nov 13 16:45:13 1991 John Gilmore (gnu at cygnus.com) + + Motorola 88000 port without tears, I mean without tdescs. + + * m88k-tdep.c: Blow away all tdesc stuff. + Provide functions for all the frame-related macros in + tm-delta88.h. Adopt i960-style EXTRA_FRAME_INFO. + (examine_prologue, frame_find_saved_regs, skip_prologue): borrow + from i960-tdep.c and adapt to the function prologues on the 88k. + (read_next_frame_reg): Borrow from mips-tdep.c. + FIXME: frame_locals_address should go away. + + * tm-delta88.h: Dump all the tdesc stuff. + Macros for all frame-related stuff call fns of same name. + Remove duplicated definitions. FP_REGNUM becomes same as + SP_REGNUM. + + * xm-88k.h: Eliminate lots of library dependencies, now handled + in libiberty. Eliminate KDB nonsupport. + + * doc/gdbint.texinfo: Add rudiments on frames. FIXME, add more. + + + * stack.c (frame_info): Mark frameless functions. + Print locals address (FIXME, remove if same). + * blockframe.c: Comment changes, FIXME after. + * coffread.c: Even without TDESC, need to zap "@" symbols. + Don't register for wierd format names; change the names in BFD. + + * alloca.c, language.c, tdesc.c: Lint. + * tdesc.c, tdesc-lib: FIXME: remove these. + +Tue Nov 12 19:30:22 1991 John Gilmore (gnu at cygnus.com) + + * Makefile.in: Add tdesc library support. Fixups to lint, + copying.c rules. + +Tue Nov 12 13:43:26 1991 Per Bothner (bothner at cygnus.com) + + * symtab.c (decode_line_1): Remove spurious call to operator_chars. + + Allow setting breakpoints on C++ destructors. + * valops.c (destructor_name_p): Don't check TYPE_HAS_DESTRUCTOR, + since it lies. Rely on callers to catch missing destructors. + * symtab.c (decode_line_1): For example (see above), here. + * buildsym.c, symtab.h: Remove TYPE_FLAGS_HAS{CON,DE}STRUCTOR + flags since they are no longer used. + + Fixes to support C++ methods with functional parameters. + * c-exp.y (func_mod rule): Allow (and ignore) list of parameter + types in a function type. + * eval.c (parse_and_eval_type), value.h: New function, + parse_and_eval_type, is based on old code from check_stub_method. + But don't actually evaluate the cast, since that calls + value_cast(), whcih may fail. Just extract the type + from the parsed expression. + * values.c (check_stub_method): While looping through the + arguments, adjust depth *after* parameter has been handled. + Replace call and setup of parse_and_eval with new function + parse_and_eval_type. + +Tue Nov 12 09:40:07 1991 Fred Fish (fnf at cygnus.com) + + * utils.c, rem-multi.shar: Remove fixed arg count version of + concat(). + + * altos-xdep.c, arm-xdep.c, coffread.c, command.c, convex-xdep.c, + core.c, dwarfread.c, gould-xdep.c, infcmd.c, language.c, + m88k-xdep.c, main.c, printcmd.c, pyr-xdep.c, source.c, + sun386-xdep.c, symm-xdep.c, umax-xdep.c, values.c, xcoffread.c: + Change all instances of use of fixed args concat() to variable + args concat() now located in libiberty. + +Tue Nov 12 07:23:46 1991 John Gilmore (gnu at cygnus.com) + + * Makefile.in: Add xcoffread.c, xcoffexec.c. + * xcoffread.c: New file for handling AIX mangled-coff files. + * xconfig/rs6000, tconfig/rs6000: New files. + * buildsym.c: Add hooks for xcoffread.c. + * rs6000-pinsn.c, rs6000-tdep.c, rs6000-xdep.c, tm-rs6000.h, + xm-rs6000.h, rs6k-opcode.def, rs6k-opcode.h: New files. + * xcoffexec.c: New file for handling AIX shared libraries. + +Mon Nov 11 19:14:31 1991 Fred Fish (fnf at cygnus.com) + + * core.c: Minor rewording of message to user containing name of + (and possibly arguments to) the program that generated a core + file. + + * elfread.c: Remove the register_addr() stub now that it is no + longer needed. + + * procfs.c: Move misplaced #endif for ATTACH_DETACH. Add new + fetch_core_registers() function for core file support. + +Sat Nov 9 13:37:57 1991 Fred Fish (fnf at cygnus.com) + + * dwarfread.c (dwarf_psymtab_to_symtab): Remove leftover call + to do_cleanups() which resulted from a previous change. + + * elfread.c: Re-enable compilation of register_addr() stub + whenever it is not supplied by coredep.c + +Sat Nov 9 00:40:32 1991 John Gilmore (gnu at cygnus.com) + + Add tracking of object files (that contain symbols) to gdb. + This includes a "struct objfile" that owns symtabs and psymtabs + that were read in from that binary file. + + * symfile.h: Add struct objfile. Add pointer to the objfile + into the struct sym_fns. + Replace global `symfile' and `symfile_mtime' with + `symfile_objfile'. Add global object_files chain. + + * symfile.c: Move param.h above symtab.h. + (sort_misc_function_vector): Add. + (syms_from_objfile): Was syms_from_bfd. + (symfile_open): Now returns objfile. + (allocate_objfile): New. + (free_objfile): New, replacing free_all_.*symtabs. + (symfile_init): Takes objfile arg, puts it in sym_fns result. + (reread_symbols): Searches whole chain of objfiles. + (allocate_symtab): Takes objfile as new parameter, chains them. + Handle INIT_EXTRA_SYMTAB_INFO. + (free_all_psymtabs, free_all_symtabs): Move here from symmisc.c. + + * dbxread.c: Make more errors into complaints. + (push_subfile, pop_subfile): Move to buildsym.c. + (dbx_symfile_read, dbx_symfile_init, fill_symbuf, read_dbx_symtab, + start_psymtab, psymtab_to_symtab_1, read_ofile_symtab, + dbx_psymtab_to_symtab, ): Use bfd ops, don't use file descriptor. + Pass objfile. Change callers. + (fill_symbuf, SWAP_SYMBOL): Take bfd as arg. + (read_dbx_symtab): Just wipe out new symbols, not all, on error. + (end_psymtab): Blow away psymtab if empty. + (process_symbol_pair): Swallow into read_ofile_symtab. + (process_one_symbol): Use push_context and pop_context. + (virtual_context): Delete #if 0'd obsolete stuff. + + * buildsym.c (end_symtab): Pass objfile. + (dbx_lookup_type): Handle null typevector. + (dbx_alloc_type): Check file number, not sym number, for -1. + (find_symbol_in_list): Add for xcoffread. + (start_symtab): Default typevector is empty. Keep reusing same + context_stack. + (end_symtab): Take objfile argument and pass it to + allocate_symtab. Don't make a symtab if no blocks or symbols. + Handle empty typevector. + (push_context): New function for context stack nesting. + (read_type): Mark FIXME where we need to reintroduce type smashing. + + * buildsym.h (pop_context): Macro, paired with push_context. + (subfile_stack): Move here from dbxread.c. + + * coffread.c (end_symtab, read_coff_symtab): Take and use objfile arg. + (read_coff_symtab): Cleanup by freeing objfile, not all symtabs. + + * mipsread.c (read_mips_symtab, parse_partial_symbols, parse_fdr, + new_psymtab, new_symtab): Take and use objfile arg. + + * dwarfread.c (scan_compilation_units, start_psymtab, + process_dies, end_symtab, dwarf_build_psymtabs, + read_lexical_block_scope, read_func_scope, read_file_scope): Take + and use objfile argument. + (psymtab_to_symtab_1, read_ofile_symtab): Don't take or use file + descriptor. Use BFD internal functions instead. + (end_symtab): Call global allocate_symtab. + + * elfread.c, target.c: Minor changes to accommodate objfiles. + * symtab.h: partial_symbol_table has no symfile_name member now. + (fn_fieldlists voffset): avoid non-int bitfield. + (struct symtab): Add objfile * and objfile_chain * of symtabs. + (struct partial_symtab): Add objfile * and objfile_chain * of + psymtabs. Remove symfile_name. + + * symmisc.c: Lose free_all_symtabs, free_all_psymtabs. + (printsyms_command): Rename from print_symtabs. Add selective + listing if 2nd argument given. Print objfile info. + (printpsyms_command): Rename from print_partial_symtabs. Ditto all. + (printobjfiles_command): New; prints objfiles lists, and checks + for consistency of symtab, psymtab, and objfile lists. + + * symfile.h, symfile.c, symtab.h: Lint + +Fri Nov 8 23:38:48 1991 John Gilmore (gnu at cygnus.com) + + * command.c: Include param.h. + * defs.h (warning_setup, warning): Declare. + * expprint.c (print_subexp, UNOP_MEMVAL case): Lint. + * inflow.c (new_tty): Use USE_O_NOCTTY #define. + * language.c, printcmd.c (print_scalar_formatted), signame.c, + stack.c: lint. + +Thu Nov 7 18:26:15 1991 Steve Chamberlain (sac at rtl.cygnus.com) + + * Makefile.in: link with libiberty after libreadline, since + readline might want something in libiberty. + * m88k-xdep.c: Fixed the register offsets in the ptrace_user + struct for BCS 88k machines. + * xm-m88k.h: don't define USIZE if already defined. + * configure.in: Added delta88 target. + +Thu Nov 7 04:51:19 1991 John Gilmore (gnu at cygnus.com) + + * am29k-pinsn.c, am29k-opcode.h: Fix decoding of mtacc, dmac, fmac. + + * tm-*.h: Remove READ_DBX_FORMAT, COFF_FORMAT, and + READ_MIPS_FORMAT, which have been unused since BFD. Still + remaining is COFF_NO_LONG_FILE_NAMES. + * tm-sun3.h, tm-altos.h: Remove detritus accidentally left from + function calling code moved to m68k-tdep.c. + +Wed Nov 6 17:21:59 1991 John Gilmore (gnu at cygnus.com) + + * coffread.c: Eliminate c_nsyms in favor of c_naux. + Complain if no auxents on .bf and .ef FCN symbols, and assume + lots of line numbers. + (init_linenos, enter_linenos): Use a sentinel at the end of the + read-in linenos, to make for a fast, safe loop-end test. + +Wed Nov 6 02:54:08 1991 Steve Chamberlain (sac at cygnus.com) + + * coffread.c (read_coff_symtab): coffread used to rely on the + x_sym.x_misc.x_lnsz.x_lnno field giving the # of linnos in a + function. Two of the formats I'm using (29k and 88k) don't seem to + set it. Ths patch to fcn_last_line and (enter_linenos) is an + attempt to use the actual size of the linno table in the file to set + the number of linenos to process. + +Tue Nov 5 22:47:46 1991 Steve Chamberlain (sac at cygnus.com) + + * Makefile.in: put a - infront of the mv y.tab.c c-exp.tab.c and + mv y.tab.c m2-exp.tab.c, so that if bison is used, and the files + are created in place, so the mv fails, then the make continues. + +Tue Nov 5 16:47:47 1991 Per Bothner (bothner at cygnus.com) + + Add C++ as a separate language. + * defs.h (enum language): Add language_cplus. + * dwarfread.c (end_symtab): Support language_cplus. + * c-exp.y: Add new struct language_defn cplus_language_defn. + Don't set c to be the default language (see main.c). + * c-exp.y (yylex): Only look for field of this if + language is C++. (First difference from C!) + * language.c: Add case branches for C++ (currently, all + the same as C). Also, add c++ to "usage" note for "set lang". + * valprint.c (typedef_print). Add case branches for C++. + * main.c (main): New way to set initial language: Look at + file extension of psymtab containing main(). (Same as we + do for symtabs, but avoid loading the symtab yet.) + * symtab.c: New routine find_main_psymtab(), used by main() + to set initial language. + * symfile.c (allocate_symtab): Move code for mapping file + extensions-> languages to new deduce_language_from_filename(). + + Fix a C++ problem when looking for methods in super-classes. + There was confusion between base and derived types. + * valops.c (value_fn_field): Change function interface. + * values.c: Use new value_fn_field interface. + +Mon Nov 4 10:49:33 1991 Per Bothner (bothner at cygnus.com) + + * infrun.c: Fixed typo in comment. + * utils.c: All the v*fprintf emulation is now in libiberty, + so we can get rid of some junk. + * xm-sun3os4.h, xm-sun4os4.h, xconfig/decstation, xconfig/i386sco, + xconfig/sun3os4, xconfig/sun4os4: Don`t need HAVE_STRSTR any more. + * m68k-pinsn.c (print_insn_arg): Support BB/BW/BL + type operands, as used by branch instructions. + * gmalloc.c: Fix prototype of memcpy. + * elfread.c: Comment out register_addr, since it conflicts + with the one in coredep.c. + * buildsym.h: Remove extern declarations of two functions + that are really static in buildsym.c. + * tm-mips.h: Add symbolic names for more registers. + * mips-xdep.c (store_inferior_registers): Use new register names. + * xm-mips.h: Simplify REGISTER_U_ADDR, since it is now + only used for core files, not ptrace. Therefore, + the KERNEL_U_ADDR hack is no longer needed. + The mapping to ptrace number is now in in mips-xdep.c. + * mips-xdep.c: Define REGISTER_PTRACE_ADDR (using the + mapping from the old REGISTER_U_ADDR), and use it + in {fetch,store}_inferior_registers. + * mipsread.c: Rename #include ecoff.h to new name coff-mips.h. + * mips-tdep.c (mips_push_dummy_frame, mips_pop_frame): + Save/restore FP regs correctly (?). + * dbxread.c: Remove duplicate define_symbol and type_synonym_name + (these had been previously moved to buildsym.c). + Hence, define_symbol becomes extern instead of static. + * buildsym.c (read_struct_type): Comment out bogus handling + of C++ operator methods. Minor hacking of reading of class + contexts. Make define_symbol non-static, so dbxread.c can call it. + +Fri Nov 1 11:05:47 1991 John Gilmore (gnu at cygnus.com) + + * mipsread.c (read_mips_symtab, read_the_mips_symtab): Use real + filename with error messages. + * stack.c (frame_select_command): Rename to select_frame_command + to avoid "fr" and "fra" having nonunique completions. + * symfile.c (sort_symtab_syms): Ignore sort of zero symtab *. + (symfile_init): Print file format name when unable to handle it. + (free_named_symtabs): Use BLOCKVECTOR rather than obsolete BLOCKLIST. + * symmisc.c (free_symtab): Only free linetable if nonzero. + * symtab.h: Remove obsolete BLOCKLIST macros. + +Thu Oct 31 18:12:43 1991 Stu Grossman (grossman at cygnus.com) + + * infrun.c (wait_for_inferior): another stepi/nexti fix. Ensure + that stop_step is 1 at bottom of main loop. I don't know why this + needs to be done, but it helps me sleep better at night. + +Sun Oct 27 18:18:39 1991 Stu Grossman (grossman at cygnus.com) + + * main.c (initialize_history): Read history after reading all + init files. + +Sun Oct 27 14:09:25 1991 John Gilmore (gnu at cygnus.com) + + * buildsym.c: Break out initial malloc sizes. + (record_line): Record directly in a subfile. Alloc on demand. + (compare_line_numbers): Add from xcoffread.c. + (end_symtab): New params say whether to sort pendings and + linetable. Patch block stabs if defined. Shrink linetable before + allocating the symtab. + * buildsym.h: Delete line_vector* and prev_line_number. Add + global_stabs and file_stabs for xcoffread. + * dbxread.c (start_subfile): Move to buildsym. Change above calls. + * symtab.h: LINETABLE(symtab) can now be null. Zap LINELIST. + * symmisc.c, symtab.c: Cope with null LINETABLEs. + + * blockframe.c: Pass fromleaf to INIT_EXTRA_FRAME_INFO. + * tm-29k.h, tm-88k.h, tm-i960.h, tm-irix3.h, tm-mips.h, tm-pyr.h, + tm-sparc.h: Accept fromleaf parameter. + * c-exp.y (yyerror): Pass error message if given. + * configure.in: Add rs6000 host and target. + * inflow.c (new_tty): O_NOCTTY kludge for RS/6000. + * symfile.h (entry_point): Add. + +Sat Oct 26 00:16:32 1991 John Gilmore (gnu at cygus.com) + + * buildsym.c: New file. Breaks out symbol-table-building routines + from dbxread.c, so they can be shared with xcoffread.c. + * buildsym.h: New file. Declarations for buildsym.c users. + * dbxread.c: Remove large chunks into buildsym.c. + * Makefile.in: Add buildsym.c and buildsym.h. + + * symfile.c (syms_from_bfd): New routine. + (add_symbol_file): Call it to do the real work. + (syms_from_bfd): Initialize entry_point before calling symfile_init. + * symtab.h, symfile.c, coffread.c, mipsread.c, dwarfread.c: + Avoid declaring or setting entry_point (symfile.h & symfile.c cope). + +Fri Oct 25 10:58:16 1991 Mark Eichin (eichin at cygnus.com) + + * cplus-dem.c (cplus-demangle): added support for templates, static + data, and the new (correct) mangling for destructors. + + * dwarfread.c: (dwarfwarn): created a varargs version of + dwarfwarn, for non __STDC__ compilers. + + * c-exp.y: (yylex): added match for "template" token. + (typebase): added TEMPLATE name '<' type '>' clause, for explicit + specification of template types. + + * symtab.c: (lookup_template_type): new function for finding + templates in symbol table. + (type_name_no_tag): changed to explicitly check for s/u/e at the + beginning of the symbol - if it is a template, none of these will + be there (but the name will still contain spaces.) + +Fri Oct 25 18:59:32 1991 Per Bothner (bothner at cygnus.com) + + Various fixes to improve g++ debugging. + * symtab.h: Add is_const and is_volatile flags for each method. + These are bit fields - take their space from voffset, + which shrinks to 30 bits. Since voffset is now a bitfield, + make it unsigned for portability. This changes its interpretation + slightly: Static methods now have voffset 1 instead of -1, + and virtual offsets start at 2, not 1. + * symtab.c: Renamed gdb_mangle_typename to gdb_mangle_name, + since it now returns an entire magled method name, not just + the type part. This avoids some duplication. + It also allows us to correctly mangle const and volatile + methods (using the new is_const and is_volatile bit fields + mentioned above). + * valprint.c (type_print_base), values.c (check_stub_method): + Simplify by using new gdb_mangle_name. + * values.c (value_headof): Fix to correctly handle single + inheritance (actually two fixes, either of which suffices). + * dbxread.c (read_struct_type): Handle const and volatile + method specifiers. + * dbxread.c (read_struct_type): Yet one more place where + we must handle '\\' continuations. + * valprint.c (vtbl_ptr_name): Add final '\0'. + +Fri Oct 25 16:06:38 1991 Stu Grossman (grossman at cygnus.com) + + * tm-sparc.h, tm-68k.h (EXTRACT_RETURN_VALUE): fix output of + short return values for sparc and 68k. Patch from Paul Eggert. + + * coffread.c, coredep.c, i386-xdep.c: install patches for + SysV/386 3.2 from Mauro DePalma. + +Fri Oct 25 02:02:13 1991 John Gilmore (gnu at cygnus.com) + + * core.c (core_file_info), exec.c (exec_file_info): Print file + type. Use printf_filtered. + + * valops.c (value_fetch_lazy): Avoid 0-length fetches. + +Thu Oct 24 23:06:40 1991 Fred Fish (fnf at cygnus.com) + + * dwarfread.c: Add casts to remove compiler warnings. + + * tm-3b1.h, tm-68k.h, tm-altos.h, tm-amix.h, tm-hp300bsd.h, + tm-hp300hpux.h, tm-isi.h, tm-news.h, tm-pn.h, tm-sun2.h, + tm-sun3.h: Remove locally duplicated code for calling functions + in the inferior. The only differences were in the specific trap + vectors used and whether or not an fpu was present. These are + now handled by appropriate definitions of BPT_VECTOR and + HAVE_68881 respectively. Other minor obvious cleanups. + + * valops.c: Correct a minor misspelling. + + * utils.c: Remove local BSD/USG hacks that are now in libiberty. + + * dwarfread.c: Remove prototype for dwarfwarn. Does not work + with <varargs.h>. + +Thu Oct 24 09:33:44 1991 John Gilmore (gnu at cygnus.com) + + * stack.c (frame_command): Always print. Use new + frame_select_command to select a frame without printing. + + * dwarfread.c: Use <varargs.h>, since <stdarg.h> is not portable. + +Thu Oct 24 01:32:51 1991 Fred Fish (fnf at cygnus.com) + + * dwarfread.c: New file for DWARF debugging format support. + + * elfread.c: New file for ELF object file format support. + + * procfs.c: New file for SVR4 /proc (process file system) support. + + * tm-amix.h, xm-amix.h, tconfig/amix, xconfig/amix: New files for + Amiga UNIX support. + + * xm-svr4.h, tm-svr4.h: New files for SVR4 support. + + * xm-m68k.h: New file for host machines with m68k cpu. + + * Makefile.in: Add elfread.c and dwarfread.c to SFILES_MAINDIR. + Add elfread.o and dwarfread.o to OBS. + + * symfile.h: Add "elf" to list of supported formats in comment. + + * c-exp.y, defs.h, symtab.h, valprint.c: Add three new builtin + types to gdb, builtin_type_long_double, builtin_type_complex, and + builtin_type_double_complex. Add and use new TARGET_SHORT_BIT, + TARGET_INT_BIT, TARGET_LONG_BIT, TARGET_FLOAT_BIT, + TARGET_DOUBLE_BIT, TARGET_LONG_DOUBLE_BIT, TARGET_COMPLEX_BIT, and + TARGET_DOUBLE_COMPLEX_BIT, as the sizes in bits of the indicated + types on the target machine (ala the existing TARGET_LONG_LONG_BIT). + + * infrun.c: When using SVR4 /proc interface instead of ptrace(), + call proc_set_exec_trap() to setup child to stop at first instruction. + + * inftarg.c: When using SVR4 /proc interface, call proc_wait() + rather than wait(). + + * m68k-tdep.c: Add new routines supply_gregset(), fill_gregset(), + supply_fpregset(), and fill_fpregset(), which are machine + dependent support routines for SVR4 /proc interface. + + * utils.c: Add warning_setup() and warning(). Warning() behaves + the same as error() except that it returns normally rather than + jumping back to command level. Modules that don't want to call + warning() for some reason, but want to produce their own warnings, + can call warning_setup() to ensure compatibility with the way + warning() and error() deal with the terminal. + + * symtab.c: Make internal errors produce more useful messages. + + * tm-68k.h: Move code that is duplicated in almost every single + m68k based machine's configuration files to this common file. + Duplications in the configuration files still need to be removed + (FIXME). + + * infrun.c (child_create_inferior): System V versions must call + setpgrp() with no arguments, to comply with prototyping typically + in <unistd.h>. + + * munch: Add support for SVR4 style nm output. + + * dbxread.c, mipsread.c symmisc.c, symtab.c: Remove the object + file specific fields from the partial symbol table structure and + replace them with a pointer to private data for each different + flavor of object file reader to initialize appropriately. + +Wed Oct 23 09:38:20 1991 John Gilmore (gnu at cygnus.com) + + * xconfig/sun[34]os4: Add note about strstr botch on sunos4.0.3c + and previous. + + * mipsread.c (fixup_undef_type): New function. If a struct / + union / enum is defined in a header file but nowhere else used, + (by typedefing, pointer referencing or declaration) the mipsread code + builds the complete tree for the structure but leaves its code as + TYPE_CODE_UNDEF as it doesn't know what kind of aggregate it is. + Guess its type based on the details of the members. + +Tue Oct 22 18:04:32 1991 Stu Grossman (grossman at cygnus.com) + + * infrun.c (wait_for_inferior): Check return value from + find_pc_line. + +Mon Oct 21 17:47:03 1991 Stu Grossman (grossman at cygnus.com) + + * infrun.c (wait_for_inferior): fix stepi/nexti that was broken + by my last edit to this routine. + +Mon Oct 21 14:27:43 1991 John Gilmore (gnu at cygnus.com) + + * tm-sun3.h (FIX_CALL_DUMMY): problem with cross debugging. + FIX_CALL_DUMMY does unaligned accesses and/or forgets to byte swap + the values before putting them into the dummy code. (From Peter + Schauer) + +Mon Oct 21 10:04:39 1991 Steve Chamberlain (steve at rtl.cygnus.com) + + * configure.in: added ebmon target. + +Wed Oct 16 22:49:58 1991 John Gilmore (gnu at cygnus.com) + + GDB-4.2 release! + + * Makefile.in: Roll VERSION to 4.2. + * README, TODO, WHATS.NEW: Update. + + * core.c (core_open): Improve error message for bad file. + Pass .reg virtual memory address to fetch_core_registers to help + it find the registers in the core-file header. + * coredep.c (fetch_core_registers): Take new argument, use it, + and pass it to register_addr to locate the block of registers. + * xm-mips.h: Update KERNEL_U_ADDR for new scheme. Cleanup a bit. + + * dbxread.c (read_dbx_symtab, process_one_symbol): Handle + Sequent N_FN_SEQ like everybody else's N_FN. + + * main.c: Circumvent SCO cc bug with #if !!defined(USG). + * tm-i386v.h: #endif guck. + * xconfig/i386*: Remove -Dgetpagesize()=4096 kludge. + * xconfig/i386sco: Add HAVE_STRSTR to avoid ANSI bdeath. + * xconfig/tahoe: Add REGEX, which seems to be missing. + + * coredep.c: Add <sys/types.h> for SCOnix. + * dbxread.c (read_dbx_symntab): Avoid coredump on malformed file. + * printcmd.c (print_formatted): Flush output before disassembly. + +Tue Oct 15 20:12:32 1991 Roland H. Pesch (pesch at fowanton.cygnus.com) + + * doc/refcard.tex (sec "Working Files"): consistent metavars and + other improvements, due to comments by François Pinard + (pinard@iro.umontreal.ca) + + * doc/gdb.texinfo (appendix "Installing GDB"): changes in + configure, and improvenets related to Pinard's refcard comments + +Tue Oct 15 08:45:12 1991 John Gilmore (gnu at cygnus.com) + + Changes from Fred Fish: + * tm-68k.h (FPI_REGNUM): Add. + * infrun.c (child_create_inferior): flush stdout and stderr + before forking. + * configure.in: Handle amigados, amix hosts and targets. + * inflow.c: Handle TIOCGLTC_BROKEN for Amiga. + + From Andreas Schwab: + * values.c (show_convenience): Use printf_filtered. + * main.c (define_command): Check result of lookup_command for + exact match. + (echo_command): Use printf_filtered, and force output out. + + * dbxread.c (read_enum_type): Avoid Modula-2 kludge that breaks C + programs. + * i387-tdep.c (double_to_i387): Fix typo for double_to_ieee_extended. + * utils.c (_initialize_utils): If !ISATTY, don't paginate. + * configure.in, tconfig/decstation, xconfig/decstation: Rename + dec3100 to decstation. + +Mon Oct 14 13:37:50 1991 Roland H. Pesch (pesch at cygnus.com) + + * doc/gdb.texinfo: Catch up to changes recorded here in ChangeLog + (nodes Continuing and Stepping; Memory; Targets) clarifications + due to Larry Breed + +Fri Oct 11 23:27:06 1991 John Gilmore (gnu at cygnus.com) + + * tm-{irix3,mips,nindy960,pn,symmetry,vx960}.h: Move + REGISTER_U_ADDR to corresponding xm- file. Sugg. by Peter Schauer. + + * symmisc.c (print_partial_symtabs): Add printpsyms debug cmd. + + * m68k-tdep.c (m68k_push_dummy_frame, m68k_pop_frame): Add + generic routines for calling inferior functions. + + * blockframe.c (inside_main_scope, inside_entry_scope): New. + + * copying.awk: Filter formfeeds out of copying & warrantee. + Make them available as `show copying' and `show warrantee' also. + * main.c (print_gnu_advertisement): Advt `show' commands. + +Thu Oct 10 17:25:47 1991 John Gilmore (gnu at cygnus.com) + + * mach386-xdep.c: Even when cross-compiling, leave in the + core-file reading code. + * core.c (get_core_registers): Avoid coredump if no .reg section. + +Wed Oct 9 17:03:34 1991 John Gilmore (gnu at cygnus.com) + + * mipsread.c, coffread.c: initialise TYPE_VPTR_FIELDNO to -1. + This avoids coredumps under `set print object on' in value_headof + (called erroneously by value_from_vtable_info) for `p &struct' + or `p *struct'. From Peter Schauer. + +Mon Oct 7 00:06:52 1991 John Gilmore (gnu at cygnus.com) + + * Makefile.in: Roll version to 4.1.2. + * dbxread.c: Use aout64.h, not a.out.gnu.h. Get external symbol entry + size from BFD (but, FIXME, we don't yet read external nlists's and + convert them to internal nlists's before handling them -- we still + assume they have the same size and alignment.) Use SET_NAMESTRING + everywhere useful. + * exec.c (exec_file_command): Move dead coff-encapsulation code + to BFD. + * m88k-tdep.c, m88k-xdep.c: Remove encap test and #inc <a.out.h>. + +Fri Oct 4 22:30:06 1991 John Gilmore (gnu at cygnus.com) + + * configure.in, tm-i386v.h, xm-i386v.h: Intel 386 Mach host port. + * xm-i386mach.h, mach386-xdep.c, xconfig/i386mach: New files. + +Fri Oct 4 17:04:31 1991 Per Bothner (bothner at cygnus.com) + + More patches from Peter Schauer <pes@regent.e-technik.tu-muenchen.de>: + * mips-xdep.c (store_inferior_registers): Don't try to + write the (pseudo) FP. + * mipsread.c (parse_partial_symbols): Improved algorithm for + setting pst->texthigh. + +Fri Oct 4 16:47:32 1991 Roland H. Pesch (pesch at cygnus.com) + + * doc/Makefile: make TEXINPUTS include . everywhere + +Fri Oct 4 00:35:56 1991 John Gilmore (gnu at cygnus.com) + + * coffread.c, dbxread.c, symfile.c, symmisc.c, symtab.h: Remove + vestiges of typevectors, which were for symsegs and are no longer + used. (From a question by Eliot Dresselhaus + <dresselh@RFT30.nas.nasa.gov>). + +Thu Oct 3 09:33:26 1991 John Gilmore (gnu at cygnus.com) + + * dbxread.c, coffread.c: static-ize functions that were + gratuitiously external. (From Fred Fish.) + + * c-exp.y: sym->class to SYMBOL_CLASS (sym). + + * dbxread.c (dbx_lookup_type): Keep doubling size of typevector + until it is large enough. + + * dbxread.c (read_type): Handle error case slightly better. + Make complaint message not C++-specific. + +Wed Oct 2 17:21:07 1991 Stu Grossman (grossman at cygnus.com) + + * infrun.c (wait_for_inferior): Fix step/next so that you only + stop at the beginning of a new line. This fixes various problems + with for loops, nested if-else's and switch statements. + +Tue Oct 1 06:33:55 1991 John Gilmore (gnu at cygnus.com) + + * symtab.c (lookup_symtab_1, lookup_symbol): "fatal" errors + between symtabs and psymtabs become ordinary error()s. + + * dbxread.c (read_dbx_symtab): Relocate end_of_text_addr + properly, making "end pc" correct in shared lib psymtabs. + (From Guy Harris <guy@auspex.com>.) + +Mon Sep 30 13:15:31 1991 John Gilmore (gnu at cygnus.com) + + * dbxread.c: Enable, but soften, const_vol_complaint. + (read_dbx_symtab): N_STSYM and N_LCSYM define static vars. + Ditto Gould N_NBSTS and N_NBLCS. Also, all types in the psymtab + should be file-scope, not global. + (read_struct_type): Remove ancient multiple-inheritance warning. + (read_range_type): Check base type, complain & patch if undefined. + * stack.c (frame_info): Demangle the function name in `info stack'. + (From Peter Schauer) + +Sat Sep 28 10:02:33 1991 John Gilmore (gnu at cygnus.com) + + * eval.c (evaluate_subexp_for_address): Don't use + TYPE_POINTER_TYPE directly (it might be zero if this type has + never had a pointer created before); use lookup_pointer_type. + * symtab.c (lookup_method_type): Arguments were swapped in all + callers, so fix it here. I'm amazed this worked at all! + +Fri Sep 27 18:09:31 1991 John Gilmore (gnu at cygnus.com) + + * c-exp.y, m2-exp.y: Define more yysymbols that happen to be + "bss" rather than "data" symbols, but which still conflict. + * m2-exp.y: Lint. + + * coffread.c (coff_symfile_read): Use xmalloc, not malloc. + * core.c (core_files_info): Shorten output. + * exec.c (exec_files_info): Ditto. + (build_section_table): Ignore zero-length sections. + * language.c, printcmd.c: Lint. + * language.h (get_frame_language): Declare. + * saber.suppress: update. + * stack.c (find_relative_frame): Remove complex code that was + #if 0'd, stick with simple code. Lint. + * saber.suppress: Update a bit. + * symfile.c (add_symbol_file_command): Add "?" to question. + * utils.c (parse_escape): Avoid \a due to bdead compilers. + * value.h: Declare typedef_print. + + * valprint.c (val_print, type_print_base): TYPE_CODE_RANGE less + kludgey. + + * nindy-tdep.c (nindy_frame_chain_valid): Use lookup_misc_func. + (Reported by Mark Peek <mark@imagen.com>.) + + * solib.c (solib_map_sections): Relocate all sections, even + though only the text section's size is tracked. Mark ld_text + for eventual elimination as we generalize to N sections. + + * infrun.c (wait_for_inferior): Don't check if the PC is in a + call_dummy if we were stopped by a random signal that is being + passed to the program. This produced wierd results when calling + functions in the inferior and signals (e.g. SIGALRM) were in use. + +Tue Sep 24 18:05:30 1991 John Gilmore (gnu at cygnus.com) + + * infrun.c (IN_SIGTRAMP): Not parenthesized properly. + Bugfix from Paul Eggert <eggert@twinsun.com>. + * tm-ultra3.h (IN_SIGTRAMP): Ditto. + * valprint.c (print_floating): Print 9 digits for IEEE floats. + From Paul Eggert. + +Mon Sep 23 15:50:07 1991 John Gilmore (gnu at cygnus.com) + + * Makefile.in: Roll VERSION to 4.1.1. + * source.c (line_info): Peter Schauer fixes a bug I introduced in + hex conversion. + +Fri Sep 20 16:10:52 1991 John Gilmore (gnu at cygnus.com) + + GDB-4.1 release! + + * Makefile.in (VERSION): Set to 4.1. + * language.c (set_language_command): Print useful help message, + and restore the language string after giving help. + * valprint.c (typedef_print): Print typedef in C or M2. + * symtab.c (list_symbols): Use it. + * main.c (main): Avoid any output before (gdb) prompt when -q. + * language.c (set_language_command): Handle errors by restoring + the language string to its current state (fix from A. Beers). + * doc/gdbint.texinfo: Roll in information from README. Rearrange + "how to install" and "how to print the doc" stuff so it drops + easier into README. + * configure.in: Rename rtpc CPU to romp to match config.sub. + * README, WHATS.NEW, TODO: Update for gdb-4.1. + +Fri Sep 20 17:39:14 1991 Roland H. Pesch (pesch at cygnus.com) + + * doc/gdb.texinfo: Updates from ChangeLog. set/show write, + autoloading shared libs, copyright etc on GDB startup, clean up $_ + and $__ index refs, set/show listsize and related updates to list + cmd. New host/target configs. + +Fri Sep 20 15:46:00 1991 Roland H. Pesch (pesch at cygnus.com) + + * doc/Makefile: generate aux version-no file doc/gdbVN.m4 + from main Makefile.in version definition + doc/gdb.texinfo: use version recorded in doc/gdbVN.m4 for current + GDB version no refs + Makefile.in (setup-to-dist): generate doc/gdbVN.m4 + + * doc/gdb.texinfo: merge new language-switching and lang-specific + doc by Andrew Beers + +Fri Sep 20 15:00:57 1991 Per Bothner (bothner at cygnus.com) + + * mcheck.c: Add __ONEFILE kludge to allow compilation by non-ANSI + compilers (which may lack stddef.h). + +Fri Sep 20 13:29:42 1991 John Gilmore (gnu at cygnus.com) + + * dbxread.c (read_dbx_symtab, process_one_symbol): N_FN and + N_WARNING are the same except for the N_EXT bit, so just use their + values alone, rather than OR-ing them with N_EXT. + +Fri Sep 20 12:27:55 1991 Stu Grossman (grossman at cygnus.com) + + * mipsread.c (parse_lines): Deal with negative extended line + offsets correctly. + + * c-exp.y, m2-exp.y: #define yyerrflag and yynerrs to avoid + global symbol conflicts. + +Fri Sep 20 02:28:15 1991 John Gilmore (gnu at cygnus.com) + + * .gdbinit: Move 'set complaints' to top, so it runs even in + case we aren't debugging GDB. + * language.c (_initialize_language): Fix type check and range + check documentation strings. + * utils.c (!HAVE_VPRINTF): Define vfprintf as a function, so + language.c can use it. (Though language.c should really not be + handling warnings/errors the way it does, FIXME.) + * symtab.c (lookup_primitive_type): const lint. + + Bugfix from Peter Schauer: + * source.c (lines_to_list): Make signed, to avoid comparison + going unsigned and complaining that -3 is too high for 21 lines. + * stack.c (lines_to_list): Ditto. + +Thu Sep 19 23:33:41 1991 John Gilmore (gnu at cygnus.com) + + * Makefile.in (HFILES): Add minimon.h. + (VERSION): Roll version number to 4.0.95. + (gdb.tar.Z, make-proto-gdb.dir, setup-to-dist, gdb-XXX.tar.Z): + New rules for building distributions. Normal distribution + is built by doing `make -f Makefile.in gdb.tar.Z' in the directory + one level up from here; it calls make-proto-gdb.dir to build a + directory `proto-gdb' which is an image of the release. The old + `gdb.tar.Z' rule still works too. + * config.sub, configure: Roll in latest from .. + +Thu Sep 19 17:41:24 1991 Roland H. Pesch (pesch at cygnus.com) + + * doc/gdbint.texinfo: Reorder contents; reorganize new-host, + new-target, and new-config chapters; fix minor typos; come closer + to usual GNU markup conventions for @file @samp @code @var. + +Thu Sep 19 17:04:12 1991 Per Bothner (bothner at cygnus.com) + + Patches from Peter Schauer <pes@regent.e-technik.tu-muenchen.de>: + * mipsread.c (parse_partial_symbols): Enter the name of all + structs/unions... into the psymtab so we can access them if the + symtab is not read in. + * mips-tdep.c: Remove some unneeded #includes. + * xconfig/dec3100: Add HAVE_STRSTR. + +Thu Sep 19 15:14:23 1991 John Gilmore (gnu at cygnus.com) + + * Makefile.in: Circumvent Sun Make bug on *-exp.tab.o. + * c-exp.y, m2-exp.y: Lint. + * m2-exp.y: Avoid using yytname[] which is a Bison-ism. + * valprint.c (val_print_fields): Check for stub type. + * mipsread.c (_initialize_mipsread): Avoid using + builtin_type_void at initialize time. + (mipscoff_symfile_read): use it now. + +Wed Sep 18 15:55:51 1991 John Gilmore (gnu at cygnus.com) + + Merge multiple-language support, and partial Modula-2 support, + from Andrew Beers <beers@cs.buffalo.edu>. + + * i387-tdep.c: New file, consolidates most 80387 support, + and eliminates host dependency on double<->extended conversions. + * i386-xdep.c, symm-xdep.c: Remove most 387 support. + * xconfig/i386{sco,v,v-g,v32,v32-g}: Now need i387-tdep.o. + + * symfile.c (allocate_symtab): New fn, consolidates the work + of allocating and initializing a new struct symtab. Set the + language of the symtab based on its filename extension. + * symfile.h: Declare it. + * mipsread.c (new_symtab): Use it. Minor formatting changes. + * dbxread.c (end_symtab): Use it. + + * mipsread.c (parse_symbol, case stParam and stProc): Add #if 0'd + code for saving types of parameters with each function definition. + * dbxread.c (define_symbol, function and parameter cases): Ditto. + (read_dbx_symtab, case N_DEFD): Ignore. + (read_enum_type): Recognize FALSE/TRUE enum as Modula-2 BOOLEAN. + (read_range_type): Rename MAX_OF_TYPE to MAX_OF_C_TYPE, etc. + #if 0 out its uses, though, since they set a dead value. + * coffread.c (end_symtab): Use allocate_symtab. + (process_coff_symbol): #if 0'd for functions and params as above. + (read_enum_type): Recognize Modula-2 BOOLEAN. + * symtab.c (add_param_to_type): #if 0'd function to add a + parameter type to a function type's field list. + + * defs.h (local_hex_format, local_hex_string, *_custom): Add. + * i386-xdep.c, pyr-tdep.c, pyr-xdep.c, remote-vx.c, solib.c, + source.c, symfile.c, dbxread.c, breakpoint.c, core.c, exec.c, + i387-tdep.c, infcmd.c, mips-tdep.c, stack.c, printcmd.c: Output + hex with local_hex_string for Modula-2 support. + + * breakpoint.c (breakpoint_cond_eval): Use new value_true to test + breakpoint condition language-independently. + + * parse.c: New file with the common code remains of expread.y. + * parser-defs.h: New file with common declarations from expread.y. + * c-exp.y: New file with the C parser from expread.y, and other + language-specific information. + * m2-exp.y: New file with the Modula-2 parser and etc. + * expread.y, expread.tab.c: Remove. + * breakpoint.c, eval.c, printcmd.c, expression.h: Use + parse_expression and parse_exp_1 rather than parse_c_expression + and parse_c_1. + + * symtab.h (enum languages): Move to defs.h. + (enum type_code): Add TYPE_CODE_CHAR and TYPE_CODE_BOOL. + Declare Modula-2 builtin types. + Add MAX_OF_TYPE and MIN_OF_TYPE macros. + + * symtab.c (_initialize_symtab): Remove builtin type + definition and initialization to *-exp.y. + (lookup_primitive_typename): Use language-dependent vector. + (lookup_typename): Fix bug, make it work if primitive typename. + (lookup_unsigned_typename): Call above. + (create_array_type): Set up range type for array index. + (list_symbols): Call typedef_print to print typedefs. + + * values.c (unpack_long, value_from_longest): Handle + TYPE_CODE_BOOL and TYPE_CODE_CHAR. + + * expression.h (enum exp_opcode): Add Modula-2 specific opcodes. + * expprint.c: Look up expression opcodes in language-specific + table, based on expression's language. Handle some Modula-2 + specific opcodes. + + * stack.c (frame_info): Print language of stack frame. + (select_frame): Also select language, if in auto-mode. + (get_frame_language): New subroutine. + * main.c (execute_command): Warn as language changes automatically. + + * printcmd.c (ptype_command): Parse types using the language + parser, both for language-independence, and so that scopes can + be specified. + + * language.h, language.c: New files for language-specific macros, + declarations, and definitions. + + Misc fixes: + + * main.c (main): If error() is called during early + initialization, print its message and then exit(1) from GDB. + + * valprint.c (type_print_base): Avoid printing garbage for ints + of unusual sizes. + (_initialize_valprint): Warn about host/target size assumption; + improve long long support slightly. + + * convex-tdep.c (comm_registers_info): Avoid parsing decimal and + hex -- let parse_and_eval_address do it. + + * doc/gdbint.texinfo (Languages): Doc how to add a language. + + * Makefile.in: Cope with new files and removed files. + +Tue Sep 17 08:37:41 1991 John Gilmore (gnu at cygint.cygnus.com) + + Add Andrew Beers' changes for Modula-2 support. His ChangeLog + entries are enclosed herein. Not all of these changes + have been merged into the master GDB sources -- check the + ChangeLog above here for the merge log. + +Mon Jun 3 17:05:45 EDT 1991 + + m2-exp.y Created. Tested outside of GDB for a few days. Proper + operators were added, C specific operators and tokens + removed. yylex() revamped to some extent. Still things + missing from the grammar, such as sets. + Tested for two weeks in GDB v3.5. + +Tue Jun 11 17:23:48 EDT 1991 + + m2-exp.y Added boolean constants TRUE and FALSE to the grammar + so they are built-in. Sort of a hack. + +Fri Jun 14 12:53:51 EDT 1991 + + m2-exp.y Added range checking for numeric constants. Any numeric + constant is assumed to be of builtin type INTEGER unless: + (1) it is octal or hexadecimal, in which case it is a + CARDINAL; (2) it is too big to fit into an INTEGER, in + which case it is a CARDINAL. + eval.c Added simple range checking for +, -, and * on integers. + Doesn't work very well for *, since 6 * 1,000,000,000 = + 1,705,032,704, which fails the simple test of result >= + first_operand, no matter in what order the operands are. + +Tue Jun 18 14:11:30 EDT 1991 + + Broke the parser into parts, one containing the C grammar and the other + containing code to be shared by all of the grammars. + + The following files no longer exist: + + expread.y + expread.tab.c + + The following files were added: + + c-exp.y (The C grammar) + m2-exp.y (The Modula-2 grammar) + parser-code.c (Code that is shared by the above grammar) + parser-code.h + parser-defs.h + + Makefile.dist Changed to reflect the above dependencies. NOTE: It is + now necessary to use the Bison compiler compiler, since it + will generate function/variable prefixes other than yy. + +Tue Jun 18 16:47:49 EDT 1991 + + symtab.[ch] Added the external variable working_lang, than holds the + value of the current working language. + Added the ennumerated type language_mode, with the values + language_auto and language_manual, the former meaning that + GDB sets working_lang as needed, and the latter meaning + that the value of working_lang is totally under user + control. + symtab.[ch] Added the Modula-2 pervasive types INTEGER, CARDINAL, + REAL, BOOLEAN and CHAR. Also added the type codes + TYPE_CODE_BOOL and TYPE_CODE_CHAR. + utils.c Added set_language_command and show_language_command to + implement the GDB support commands "set language" and + "show language". + expression.h A number of identifiers were added to the type exp_opcode + to facilitate Modula-2 builtin functions, integer + division, and array indexing. + +Wed Jun 19 13:25:58 EDT 1991 + + language.h Added the macro STRICT_TYPE, which evaluates to non-zero + if the language specified by working_lang requires the use + of strict typing of expressions. Eventually, even this + will be able to be changed by the user. + Added the macro RANGE_CHECK, which evaluates to non-zero + if the language specified by working_lang requires the + checking of a value against the domain of its type. + Eventually, even this will be able to be changed by the + user. + language.[ch] Predicates involving types (simple_type, ordered_type, + same_type, integral_type, numeric_type, character_type, + boolean_type, float_type) are added. These predicates are + based on the current value of working_lang, and are handy + in type-checking. + +Wed Jun 19 15:39:34 EDT 1991 + + eval.c Added the function type_array_rank which computes the rank + of an array type. + valarith.c Added the funtion value_bool, which when given a integer + value.h value (ie. struct value *) as an argument, it returns a + boolean value (ie. struct value *) true if that integer + is non-zero, and a boolean value false otherwise. + valprint.c Added cases for TYPE_CODE_BOOL, so Modula-2 BOOLEAN values + will print out properly. + +Wed Jun 19 16:36:34 EDT 1991 + + valops.c Added the function value_capitalize, which returns it + value.h argument capitalized if its argument is a lowercase + letter, or the argument unchanged if its argument is not a + letter. + valarith.c Added the function range_check_p, which returns non-zero + value.h if its value argument is between the integral bounds upper + and lower. + Added the function range_check_enum_p, which makes sure + that its value argument is a valid member of the domain of + its type argument. + Added the function range_check_range_p, which makes sure + its value argument lies between the upper and lower bounds + of its type argument, which must be a ranged type. + Added the function check_array_index, which range and type + checks an index of an array. + Added the function value_multi_subscript, which computes + array[idx1,idx2...idxN], given a value array and an array + of values representing indicies. + values.c Changed value_from_long to work with TYPE_CODE_CHAR and + unpack_long to work with TYPE_CODE_BOOL and + TYPE_CODE_CHAR. + +Wed Jun 19 18:04:08 EDT 1991 + + symtab.c Stored pervasive types in a structure and make + lookup_pervasive_type() a lookup function that was based + on working_lang. If lookup_pervasive_type() returned + non-zero, then that value was returned (a fix, since + before it simply wouldn't return the pervasive type.) + language.h Added the macro CAST_IS_CONVERSION, which evaluates to + non-zero if the language specified by working_lang means + "conversion" when it says "cast". + valops.c Added the function value_real_cast(), which performs a + value.h *cast*, not a *conversion*, which is what value_cast() + does when it can. In particular, + value_cast(<float_type>,4) = 4.0, while + value_real_cast(<float_type>,4) = some mess. + eval.c Modula-2 builtin functions implemented: ABS, CAP, CHR, + parser-code.c FLOAT, HIGH, MAX, MIN, ODD, ORD, TRUNC, and VAL. + expression.h Added macros MAX_OF_TYPE and MIN_OF_TYPE to work with MAX + and MIN on integral types. *NOTE*: These are currently + hardcoded to work only if there are 8 bits per storage + unit. FIXME. + eval.c Made logical functions call value_bool to return a + properly typed boolean value, based on working_lang. + +Thu Jun 20 11:55:27 EDT 1991 + + valprint.c Types now print out in a Modula-2 fashion. This works for + the cases when the type is printed out step-by-step, that + is, it doesn't work when the name of a structured type + (which includes the keyword "struct", etc.) is simply + displayed. + FIXME: Perhaps this is bad. Parts of it seem to kludgey, + since type specifications in C and Modula-2 are very + different. The C printing of a type is very recursive, + whereas in Modula-2 it is generally very simple. C has + type prefixes and suffixes, which have no real analogue in + Modula-2. Maybe type_print() should call a language + specific type printer. This is also advantageous if we + compile GDB to exclude some of the languages. We'll just + leave those functions out. + +Thu Jun 20 16:57:10 EDT 1991 + + dbxread.c When reading the complete symbol table in (via + psymtab_to_symtab()), the number and types of function + arguments are added to a function type. define_symbol() + calls add_param_to_type() to accomplish this. + Assumption: when we come across a function definition + (N_FUN symbol with an 'f' or 'F' in the name), its + arguments will appear before another function definition. + When a function is found, a pointer to its type is placed + in the global in_function_type. Changes that + add_param_to_type() makes are to this global. + valprint.c The type of a function now includes (for Modula-2) the + types of its parameters. + eval.c Type checking and a check for the proper number of + arguments is now done for function calls. Not sure of the + impact this has on C++ member function yet. + +Thu Jun 20 19:58:48 EDT 1991 + + valprint.c Rewrote the type printer. Broke it into two language + specific parts, adding the functions type_print_m2() and + type_print_m2_1(). + An unfortunate consequence is this: if you debugging a C + program in Modula-2 mode (why?), info types does not work + well with regular expressions, since the types are printed + out in Modula-2 terminology, but stored in C terminology. + language.[ch] Added the functions new_type_last(), type_keyword(), and + type_sep() to aid in the printing of typedefs. + symtab.c Made the printing of typedefs as language independent as + possible through calls to new_type_last(), type_keyword(), + and type_sep(). + +Fri Jun 21 11:50:26 EDT 1991 + + dbxread.c Check all incoming ennumerated types. If it looks like + Modula-2's BOOLEAN type, then change the type_code of the + type to TYPE_CODE_BOOL so we can process it as a boolean + variable. + valprint.c Replaced some of the 0x%x with calls to sprintf and + hexformat() in val_print(). + language.[ch] Added the function hex_to_string(), which converts its + integral argument to a hexadecimal number (format is + language based) and returns the result as a string. + +Mon Jun 24 12:25:07 EDT 1991 + + valprint.c Some functions call type_print_1() directly, instead of + value.h using type_print(), so they can specify where (column) to + print things. Since type_print() takes care of language + dependence, that needs to be called first. Added a + parameter depth to type_print() (so it is now like + type_print_1). Changed type_print to type_print_at, and + made type_print a macro that passes a depth argument of + zero. + symmisc.c Changed all calls to type_print_1 to calls to + type_print_at. + Makefile.dist Made it possible to build GDB for a specific set of + depend languages. Do this by passing a definition for the macro + LANGS to make. LANGS should be a string containing a + space-separated list of language names (ie. LANGS="c m2"). + The default is to build all languages. Note that grammar + files must follow the naming convention of <lang>-exp.y. + gdb.lang This holds the current value of the LANGS macro. It is + examined every time make is called, and is updated if + necessary. + eval.c Added #ifdef _LANG_<lang> to these files. + expread.c Still need to add them to dbxread.c and coffread.c. + main.c + source.c + symtab.c + utils.c + valarith.c + valprint.c + +Mon Jun 24 16:33:11 EDT 1991 + + language.[ch] Added the functions hexformat_pre() and + hex_to_string_pre(), which take a prefix argument to + include in the format string. Thus, hexformat_pre("08") will + return "0x08x" (if the working language is language_c). + Made hexformat() and hex_to_string() calls to the above + with "" as the prefix argument. + + am29k-pinsn.c, arm-pinsn.c, breakpoint.c, convex-tdep.c, exec.c, core.c, + dbxread.c, i386-pinsn.c, i386-stub.c, i386-xdep.c, i960-pinsn.c, + infcmd.c, inflow.c, m68k-pinsn.c, m68k-stub.c, m88k-pinsn.c, + mips-pinsn.c, mips-tdep.c, ns32k-pinsn.c, printcmd.c, pyr-pinsn.c, + pyr-tdep.c, pyr-xdep.c, remote-vx.c, remote.c, solib.c, source.c, + stack.c, sun386-xdep.c, symfile.c, symm-xdep.c, symmisc.c, tahoe-pinsn.c, + valprint.c, vax-pinsn.c + + Changed all occurences of 0x%[0-9]*l*x in printf format strings to + calls to hexformat() and hex_to_string(). Format strings without + the leading "0x" were ignored. + + depend Updated to take the above into account. + + +Tue Jun 25 15:27:18 EDT 1991 + + symtab.h Added the types range_mode_t, range_check_t, type_mode_t, + and type_check_t to keep track of the current state of + range and type checking. + main.c Added the variables range_mode, range_check, type_mode, + and type_check to record the current state of range and + type checking. Added initialization code to main(). + language.h Changed the macros STRICT_TYPE and RANGE_CHECK to examine + the above variables. + + +Tue Jun 25 17:57:08 EDT 1991 + + dbxread.c process_one_symbol() updates the variable (enum language) + source_lang based on the extension of the filename + contained in the N_SO sybmol that started this symtab. + When end_symtab() is called, the value of source_lang is + put into the language field. + stack.c select_frame() sets working_lang (and possibly type_check + and range_check) to the language field of the symtab + associated with the frame that is selected if working_mode + is language_auto. If working_mode is language_manual, a + warning is printed and working_lang is not set. + language.c Added the function set_type_range(), which sets the value of + type_check and range_check (if their modes call for + automatic setting) based on the current value of + working_lang. A non-zero argument will cause the current + settings to be output. + + +Wed Jun 26 14:51:40 EDT 1991 + + eval.c Added range checks on assignment. + m2-exp.y Added the grammar for sets to the language. Currently, + these do not do anything except print an error message. + +Wed Jun 26 17:01:04 EDT 1991 + + m2-exp.y Added the ability for parse_number() to parse negative + numbers. A global flag is set upon encountering a unary + minus. This was done to make, for example, 1 parse as a + CARDINAL, and not as an integer, per Wirth's examples in + Programming in Modula-2 ed.4. + valprint.c Added support for "set radix 2" by then setting + output_format to 't'. + eval.c Implemented range checking on subrange types. Added calls + to range_check_range_p for BINOP_ASSIGN and BINOP_VAL. + Implemented MIN and MAX for ennumerated types. The + minimum value of an ennumerated type is defined by Wirth + as the first identifier, and the maximum as the last. + m2-exp.y Made octal numbers ending with "B" be characters and those + ending with "C" be numbers, per Wirth's book. (p. 34) + +Thu Jun 27 14:11:52 EDT 1991 + + stack.c select_frame() now only sets working_lang, it does not + notify the user. If working_mode is language_manual, then + a warning is issued once. + main.c At the end of each call to execute_command(), working_lang + is checked against the local static (enum language) + current. If they differ and working_mode is + language_auto, the new settings of language, type and + range checking are printed out. + stack.c Modified frame_info() to include the language of the + current frame in the output of "info frame". + language.[ch] Added the function language_str() which returns the name + of the current language. + +Fri Jun 28 15:33:14 EDT 1991 + + m2-exp.y Added the built-in procedures INC, INCL, DEC, and DECL to + the language. INCL and DECL currently cause an error, + since sets are not implemented yet. INC and DEC are + implemented as PREINCREMENT/PREDECREMENT with one + argument, and as ASSIGN_MODIFY with two arguments. + eval.c Added type checking to the above cases. + value.h Added not_lval_constant to the lval_type ennumerated type. + not_lval_constant means that the value is a constant + value; that is 3 or 'a' or TRUE, not as in a constant + identifier. This is used to help coerce numbers such as 3 + to either signed or unsigned numbers. + valops.c Added the function value_coerce_constants() which coerces + constant integers as following: if one is a constant and + the other is not, the constant's type is set to the type + of the other argument. If both are constants and one is + signed, the other is converted to a signed constant. + +Sat Jun 29 17:26:29 EDT 1991 + + valarith.c Added a better range checker. It now checks range + (successfully) on integral operations [+-] (signed and + unsigned) for any C sized type. Still does not work well + for multiplication.) + int_in_size() returns an integer that is coerced to fit into + specified number of bytes. + +Mon Jul 1 13:04:14 EDT 1991 + + language.[ch] Added the function binop_result_type(), which returns the + builtin (struct type *) type that would be the result of a + binop on the two values V1 and V2. + +Wed Jul 3 19:22:53 EDT 1991 + + source.c Extended source_info() to include the source language in + the output from "info source". + +Fri Jul 5 13:48:52 EDT 1991 + + utils.c Moved the support functions for the GDB set/show commands + dealing with language into language.c. + language.c Added the function language_info(), which displays info + about the current working language, type and range check + settings. Called via the GDB command "info language". + Added an initialization routine _initialize_language(), + that sets defaults for the language, type and range + variables and sets up the new GDB commands. + main.c Language setup moved to language.c. + depend Rebuilt. + +Mon Jul 8 10:10:22 EDT 1991 + + valarith.c Debugged the range checker for arithmetic. Still does not + work for multiplication very well. + +Mon Jul 8 12:40:37 EDT 1991 + + language.[ch] Added the function value_true() which returns non-zero if + its argument represents a boolean true value. + breakpoint.c Changed breakpoint_cond_eval() to call value_true() to + check the truth of an expression. + +Thu Jul 11 12:51:34 EDT 1991 + + language.[ch] Added the predicate structured_type(), which returns + non-zero if the argument is a structured type. + Added the predicate pointer_type(), which returns non-zero + if the argument is a pointer type. + eval.c Added the ability to do addition and substraction on + pointers and integers. This case simply bypasses the + type checker. + +Thu Jul 11 14:41:42 EDT 1991 + + include/stab.def + Added the symbol N_DEFD (0x4a) which is a definition + module dependency that is used by the GNU Modula-2 + compiler and the linker. It is not important to GDB, + except that [dbx|coff|mips]read.c should ignore these + symbols. + +Fri Jul 12 16:07:00 EDT 1991 + + valprint.c Changed the TYPE_LENGTH(type) >= 0 to TYPE_LENGTH(type) > + 0 in val_print(). Also added statements to the else part + to coerce type (argument to val_print) to a pointer type + if it is an "array of unspecified length". + valops.c Added the function value_m2_string(), which returns a + (value) value which is a constant string, whose type is + (ARRAY [0..n] OF CHAR). The length field of the type + structure is set to zero, so it will be interpreted as an + "array of unspecified length". + stack.c Moved the language/frame mismatch check to + main.c:execute_command(). + main.c The working language is recorded each time + execute_command() is executed. If working lang has + changed during its execution, then the new + language/type/range info is printed out for the user. If + the working language does not match the language of the + frame, a warning is issued. + +Sat Jul 13 16:16:39 EDT 1991 + + eval.c Moved all the type-checking stuff for operators to + language.[ch] language.c. This is so we can keep language-specific + stuff (like for what type operators are defined) in + language.c. + language.[ch] Added the function binop_type_check(), which checks to see + if its two (value) arguments are type-compatible with its + opcode argument. The opcode should represent an operation + involving an operator. Also added the macro function + unop_type_check, which calls binop_type_check with a + NULL second argument. + expprint.c Added Modula-2 operators to the op_print_tab, so info + expression.h break works correctly. Also added "op_string", which + returns the string corresponding to the (enum exp_opcode) + opcode that is its argument. + + +Sat Jul 13 18:26:18 EDT 1991 + + coffread.c Added code to record the type of function arguments with + each paricular function. Code is very similar to that + added to dbxread.c. + dbxread.c Moved add_param_to_type() to symtab.c + symtab.[ch] Added function add_param_to_type() from dbxread.c + + *** NOTE: The above additions have not been tested. + +Mon Jul 15 12:50:47 EDT 1991 + + langauge.[ch] Added the functions type_error and range_error, which work + like error() except if the type/range mode is set to + *_mode_warn, then they do not do a return_to_top_level(), + but merely print a warning. + Also changed [set|show]_[type|range]_command() to support + the new "warn" feature. + +Thu Jul 18 17:50:54 EDT 1991 + + mipsread.c Added code to record the type of function arguments with + each particular function. Code is very similar to that + added to dbxread.c. + + *** NOTE: The above additions have not been tested. + +Fri Jul 19 11:19:10 EDT 1991 + + defs.h Added macros MAX_OF_SIZE, MIN_OF_SIZE, UMAX_OF_SIZE, and + UMIN_OF_SIZE, which when given a size of a numeric type, + return the maximum and minimum value it can hold. UMAX... + and UMIN... return the result for unsigned types. + symtab.h Added the macros MAX_OF_TYPE and MIN_OF_TYPE to operate on + struct types. They call above macros. + dbxread.c Renamed the MAX and MIN_OF_TYPE macros to ..._OF_CTYPE to + avoid a name conlict with the above. + c-exp.y Added range checking on numeric constants in + parse_number() for completeness. + valarith.c Made binop_user_defined_p() and unop_user_defined_p() + return 0 if working_lang is not language_c. + +Thu Aug 8 14:17:22 EDT 1991 + + main.c + printcmd.c + breakpoint.c Documentation strings of some commands changed to + eliminate the references to the C language where + appropriate. + +Tue Aug 13 15:48:03 EDT 1991 + + m2-exp.y Added qualified identifiers to the grammar. The semantics + are slightly different from those of the GDB operator :: + c-exp.y + m2-exp.y Added a rule to each grammar of the form: start ::= exp | + type_exp, where type_exp is any valid type expression. + expression.h + eval.c Added the opcode OP_TYPE, and an error case in eval.c. + printcmd.c Modified ptype_command() so it actually parses the input + (necessary for type expressions with scope qualifiers). + Added the function ptype_eval() which expects an + expression composed of one OP_TYPE element. + *.[ch] Replaced all occurences of parse_c_expression with + parse_expression + *.[ch] Replaced all occurences of parse_c_1 with parse_exp_1 + +[End of ChangeLog entries from Andrew Beers for Modula-2 support.] + +Mon Sep 16 17:19:46 1991 John Gilmore (gnu at cygnus.com) + + Small fixes from Peter Schauer: + + * infrun.c (child_attach): Lint. + * solib.c (find_solib): Handle shared libs version 2. + + Small fixes from David Wood: + + * xm-ultra3.h (SYS_SIGLIST_MISSING): Typo. + + Small fixes: + + * remote-vx.c: Move <stdio.h> to top, for FILE. Fix from + John S <basrai%kanga.dnet@c3po.sm-alc.af.mil>. + + * utils.c (wrap_here): Avoid wrap action of fputs_filtered if + chars_per_line is at maximum (user typed `set width 0'). Fix + from Andreas Schwab <schwab@ls5.informatik.uni-dortmund.de>. + +Tue Sep 17 17:31:04 1991 Stu Grossman (grossman at cygnus.com) + + * coredep.c: include ptrace.h where necessary. + * mipsread.c(parse_lines): fix unsigned char problem that was + messing up line numbers on SGI's and possibly other MIPS based + platforms. + * infrun.c (child_create_inferior): use better test to check + return val from setpgrp(). + * tm-irix3.h, xm-irix3.h, tconfig/irix3, xconfig/irix3: add these + for sgi/irix support. + +Wed Sep 18 04:33:31 1991 Per Bothner (bothner at cygnus.com) + + * mipsread.c (parse_symbol): Put non-static procedures + in the global block. + +Fri Sep 13 00:14:52 1991 John Gilmore (gnu at cygnus.com) + + Patch together `text_start' and `text_end' for 29K port. + + * exec.c (exec_command): If NEED_TEXT_START_END, define the + variables and set them based on the exec file. + * am29k-tdep.c: declare text_start. + * valops.c (call_function_by_hand): declare text_end. + + * inferior.h: Eliminate CANNOT_EXECUTE_STACK in favor of + defining CALL_DUMMY_LOCATION as BEFORE_TEXT_END. This is + because machines that do this will also have to know to + set NEED_TEXT_START_END. Besides, it was a redundant way to + say the same thing. + * tm-29k.h, tm-convex.h, tm-np1.h: Eliminate + CANNOT_EXECUTE_STACK, define CALL_DUMMY_LOCATION and + NEED_TEXT_START_END. + +Thu Sep 12 00:22:24 1991 John Gilmore (gnu at cygint.cygnus.com) + + AMD 29000 changes from David Wood <wood@david.ultra.nyu.edu>: + + * Makefile.in (CLIBS): Put XM_CLIBS and TM_CLIBS at end. + Pass MUNCH_DEFINE to munch whenever we run it. + * am29k-pinsn.c (print_insn): Handle NOP specially. Avoid %#x + format string; use 0x%x instead. + * am29k-tdep.c: Use DUMMY_SAVE_GREGS and RETURN_REGNUM. + * ultra-xdep.c, xm-ultra.h: New files for Ultracomputer host system. + * xm-rtbsd.h: New host support for RT/PC running BSD Unix. + * inflow.c: Handle `short' process group IDs. + * infptrace.c (fetch_register): Support CANNOT_FETCH_REGISTER, + and check for ptrace errors. + * coffread.c (SDB_REG_TO_REGNUM): Define if not already. + (coff_symfile_init): Initialize text_bfd_scnum. + (read_coff_symtab): Use it to find the text [and absolute?] sections. + * ../config.sub: Add vendor nyu and os "sym[1-9]*". + * configure.in: Add hosts rtpc-*-* and a29k-*-*. + Merge target arm case with other "easy" cases. Add target + cases a29k-*-none (rehack of am29k), a29k-*-kern (remote to + Ultracomputer kernel), and a29k-*-sym1 (ultracomputer OS's user + process). + * minimon.h, remote-adapt.c, remote-mm.c: Add. + * munch: Cope with RT/PC putting fns in data segment. + Restore ability to override `nm' by specifying MUNCH_NM. + * xconfig/rtbsd, xconfig/ultra3: New host systems. + * tconfig/a29k: Rename from tconfig/am29k. Add remote-mm + and remote-adapt. Remove encapsulated coff #define's (the + support should go in BFD, and gdb shouldn't know or care). + * tconfig/a29k-kern: Same, but for remote kernel debugging. + * tconfig/ultra3: For debugging user processes on Ultra3/Sym1. + * tm-29k.h: Update BADMAG (though it should go away). + Allow the register definitions to be overridden in another + tm-file. Fix SR_REGNUM. Add a mess of _REGNUM's. Separate + RETURN_REGNUM from GR96_REGNUM and DUMMY_SAVE_GREGS from + DUMMY_SAVE_GR96, for handling kernel calling conventions + that use GR64+ rather than GR96+. + * tm-ultra3.h: New file, for use on Ultra3 Unix as well as for + remote debugging of Ultra3 kernel. Includes tm-29k.h and + overrides various things. + + * remote-mm.c (mm_attach, mm_wait): Handle attach like + child_attach does, making a clean stop in the newly attached + program. + * remote-eb.c: Lint. + + * coffread.c: Make coffread independent of any particular + variant of COFF. Avoid #include-ing any particular one except + internalcoff.h. BFD now passes key values for symbol reading + as part of its coff_data structure (LINESZ, SYMESZ, AUXESZ, + and the symbol masks and shifts); use them. + Remove obsolete end_of_text_addr. + + * exec.c: Remove unused include files. + +Wed Sep 11 19:38:44 1991 John Gilmore (gnu at cygint.cygnus.com) + + * Makefile.in (documentation targets): Pass $(M4). + Bugfix from eggert@twinsun.com (Paul Eggert). + + * stack.c (down_silently_command): Check for stack existence. + +Tue Sep 10 23:08:29 1991 John Gilmore (gnu at cygint.cygnus.com) + + * Makefile.in (VERSION): Update to 4.0.3. + +Tue Sep 10 09:19:29 1991 John Gilmore (gnu at cygint.cygnus.com) + + * core.c (core_file_command): Print frame at coredump with + its level number, by calling print_stack_frame. + * frame.h: Add selected_frame_level, print_stack_frame. + * frame.h, stack.c: Remove print_sel_frame, print_selected_frame. + * convex-tdep.c, convex-xdep.c, infcmd.c, inflow.c, infrun.c: + Change print_sel_frame and print_selected_frame callers to + print_stack_frame. + + * dbxread.c (read_ofile_symtab): Avoid empty else clause. + * symfile.c (free_named_symtabs): Ditto. + * main.c (main): wrap_here needs an arg. + * solib.c (find_solib): Avoid memory access if _DYNAMIC is zero. + (solib_add): Avoid noise. + (solib_create_inferior_hook): Lint. + (sharedlibrary_command): Move dont_repeat to here. + * utils.c (error): Call wrap_here to force buffered output. + + Small patches from Peter Schauer: + + * coffread.c (start_symtab): Free any existing line_vector before + malloc-ing new one. + (read_coff_symtab): Ditto for type_vector. + + * source.c (lines_to_list): New variable, replacing function. + (all uses): Use as variable. + (_initialize_source): Add 'set listsize' and 'show listsize'. + * utils.c (lines_to_list): Remove function. + * stack.c (print_frame_info): Use as variable. + * defs.h (lines_to_list): Remove declaration. + +Mon Sep 9 13:45:57 1991 John Gilmore (gnu at cygint.cygnus.com) + + * breakpoint.c (insert_breakpoints): Restore warning about + the program might be running in another process, but only for + systems with this brain death (#ifdef ONE_PROCESS_WRITETEXT). + * xm-hp300bsd.h, xm-mips.h, xm-vax.h: Define it. + + * utils.c (error): if error_pre_print is set, print the string + first. + * main.c (main, print_gnu_advertisement, print_gdb_version): + Reformat legalese so it always prints, but acts as an "I'm here" + message while symbols are being read. If any errors occur, + print a few newlines to set off the message and start it at the + left margin. Remove mention of "help" command, and don't yak + about symbol reading. + (catch_errors): Error string is now printed first in case of + error, not last. + * command.c (undef_cmd_error, lookup_cmd): On undefined command, + suggest the "help" command. + + * Makefile.in (VERSION): Set to 4.0.2. + +Thu Sep 5 23:49:48 1991 John Gilmore (gnu at cygint.cygnus.com) + + * .gdbinit: Remove useless "rr" command. Set complaints + to 1 for people debugging gdb. + + * breakpoint.c, remote-vx.c: Reword strings printed by + catch_errors callers. + +Wed Sep 4 11:07:50 1991 John Gilmore (gnu at cygint.cygnus.com) + + * WHATS.NEW: "history write -> history save". Doc "write on/off". + (Fix from kenc@viewlogic.com.) + + Fix some infrastructure to be able to cope with host and target + machines with different sized basic types (ints, ptrs, etc). + (Idea from pierre@la.tce.com (Pierre Willard).) + + * values.c (value_from_longest): Rename from value_from_long. + Handle pointer types as well as integers, so that targets with + different pointer sizes from the host can be accomodated. + * breakpoint.c, convex-tdep.c, eval.c, expprint.c, printcmd.c, + valarith.c, valops.c, valprint.c, value.h, values.c: Rename + uses of value_from_long to value_from_longest. + * eval.c, findvar.c, printcmd.c, valarith.c, valops.c: Pass + the correct pointer type to value_from_long{est}. + + * doc/gdb.texinfo ($_, $__): Describe types of these variables. + + * remote-vx.c: Remove obsolete code for calling functions via + vxworks kludge interface (it referenced value_from_long). + + * valops.c (value_string): Find malloc with lookup_misc_func, not + raw search. + +Tue Sep 3 18:37:46 1991 John Gilmore (gnu at cygint.cygnus.com) + + Make writing to files work properly. (Fixes to BFD are also needed.) + + * core.c (core_open): Open file ourselves, read or r/w, depending on + write_files. Use bfd_fdopenr. + * gdbcore.h (write_files): New variable. + * exec.c (write_files): Define variable, add set&show for it. + (exec_file_command): Use write_files to open for read or r/write. + + Make shared library reading happen automatically. These changes + are mostly from Peter Schauer <pes@regent.e-technik.tu-muenchen.de>. + + * inferior.h (stop_soon_quietly): Add to exported variables. + * infrun.c (child_create_inferior): call solib hook, if defined. + (child_attach): call solib hook, if defined. + * solib.c: Include inferior.h. Add from_tty to so_list as kludge. + (find_solib): Use lookup_misc_func rather than hand-rolled. + (symbol_add_stub): New stub for catch_errors. + (solib_add): Avoid output if !from_tty. Catch errors rather + than just calling symbol_file_add and bombing. + (solib_create_inferior_hook): Interface with the target process + to let it read and alloc shared libs, then figure out what it did. + + * core.c (validate_files): Fix typo, soften warning. + (Fix from Hiroto Kagotani <kagotani@cs.titech.ac.jp>.) + + * utils.c (fputs_demangled): Avoid duplicate printing if + demangling is off. (Fix from J.T. Conklin <jtc@cayenne.com>.) + + * infrun.c (proceed): Cast -1 to (CORE_ADDR) before comparing. + (Fix from pierre@la.tce.com (Pierre Willard).) + + * main.c (catch_errors): Change argument to a char * from an int, + since a char * can point to a struct full of glop, but an int + is not guaranteed to be able to hold a pointer. + * breakpoint.c (breakpoint_cond_eval, bpstat_stop_status, + breakpoint_re_set_one, breakpoint_re_set): Adapt. + * core.c (core_open, solib_add_stub): Adapt. + * remote-vx.c (symbol_stub, add_symbol_stub, callers): Adapt. + +Wed Aug 28 18:18:05 1991 John Gilmore (gnu at cygint.cygnus.com) + + * Makefile.in: Update VERSION to 4.0.1. Evade GNU Make bug + by adding .NOEXPORT target. + +Fri Aug 23 17:14:25 1991 John Gilmore (gnu at cygint.cygnus.com) + + * GDB-4.0 release! + * Update README. + * Makefile.in (VERSION): Roll to 4.0. + (gdb.tar.Z): Make refcard.ps as well, for shipment. + +Fri Aug 23 14:07:09 1991 Roland H. Pesch (pesch at cygint.cygnus.com) + + * doc/gdb.texinfo: minor rewordings, crossref to ptype from print, + more on printsyms. + + * doc/Makefile, Makefile.in: generate "gdb-all.texi" rather than + "gdb-all.texinfo" + + * doc/rdl-apps.texi: renamed from rdl-apps.texinfo + + * Makefile.in, doc/Makefile, doc/.Sanitize, doc/gdb.texinfo: + reflect above name change + + * WHATS.NEW: correct pointer to refcard. + + * doc/gdb.texinfo: update New Features, Installing + + * doc/gdbint.texinfo: add short description of configure +template + +Fri Aug 23 11:46:08 1991 Roland H. Pesch (pesch at cygint.cygnus.com) + + * doc/gdb.texinfo: update, fix bugs in "Installing" appendix + +Fri Aug 23 01:02:00 1991 John Gilmore (gnu at cygint.cygnus.com) + + * Makefile.in: Add config.sub, make doc/rdl-apps.texinfo for + tar file, add dependencies for referenced doc files. + +Thu Aug 22 22:17:06 1991 Stu Grossman (grossman at cygint.cygnus.com) + + * coffread.c, symfile.c, stack.c: saberized. + +Thu Aug 22 16:20:27 1991 Roland H. Pesch (pesch at cygint.cygnus.com) + + * doc/refcard.tex: permuted Essential Commands sec + + * doc/gdb.texinfo: new C++ chapter; revised installation appendix; + new doc for + set/show symbol-reloading + default set complaints 0 + info all-registers + RET-repeat disabled after prompted long displays + processID (attach) interpretation of 2nd GDB cmdline arg + +Thu Aug 22 14:05:47 1991 Stu Grossman (grossman at cygint.cygnus.com) + + * expread.y, coffread.c, dbxread.c, target.c, mem-break.c, + cplus-dem.c, values.c, valprint.c, symfile.c, remote.c, + breakpoint.c, main.c: lint. + +Thu Aug 22 02:02:26 1991 John Gilmore (gnu at cygint.cygnus.com) + + Install new configuration scheme for GDB and friends. + + * config.sub: Translate ordinary names to three-part names. + * configure: Use three-part names internally. + * configure.in: Translate three-part names to filenames. + + * README, WHATS.NEW: Update for gdb-4.0. + * Makefile.in: Roll VERSION to 3.99. + +Wed Aug 21 18:21:09 1991 John Gilmore (gnu at cygint.cygnus.com) + + * infptrace.c (KERNEL_U_ADDR_BSD): Include a.out.gnu.h. + * i960-tdep.c, m68k-tdep.c, sparc-tdep.c, tm-i960.h, + tm-m68k.h, remote-nindy.c: Change ext_format_XXX structs + to single structures rather than arrays; when passing + their address, use &. This avoids trouble with bdead compilers. + * mcheck.c: Don't include <stdlib.h>; just declare "void abort();" + instead. This avoids portability headaches. + * mips-tdep.c (mips_do_registers_info): Only print FP regs if + asked to. + * source.c (open_source_file): Avoid ANSI const bdeath by + skipping declaration and then casting result value. + * tm-hp300bsd.h: Clarify comment. + * utils.c (strstr): Result is const char *; ANSI bdeath. + * xm-hp300bsd.h: Define HOST_BYTE_ORDER. Redefine INT_MIN, + since system include file defines it differently from "defs.h", + though the two are equivalent for our purposes. + * tconfig/hp300bsd: Add m68k-tdep.o. + +Tue Aug 20 16:01:11 1991 John Gilmore (gnu at cygint.cygnus.com) + + * tconfig/sun*4: Remove warnings about system assembler. + +Mon Aug 19 13:44:46 1991 John Gilmore (gnu at cygint.cygnus.com) + + * mcheck.c: Avoid warning about undeclared abort fn. + * tm-sparc.h (PC_ADJUST): Avoid calling error() from this; + it causes recursive calls to error() when used in cleanups. + To do so requires that we make it a function, so we do. + * sparc-tdep.c (sparc_pc_adjust): New implem of PC_ADJUST. + * utils.c (do_cleanups): Remove the current cleanup from the + chain *before* calling it, in case error() is called from it. + The result won't be pretty, but won't be an infinite loop either. + +Mon Aug 19 00:41:04 1991 Michael Tiemann (tiemann at cygint.cygnus.com) + + * dbxread.c (read_struct_type): Grok anon structs for C++. + (vb_name, vptr_name): Null terminate these strings. + +Fri Aug 16 08:31:03 1991 John Gilmore (gnu at cygint.cygnus.com) + + Minor bug fixes from BSD Net2 gdb: + + * blockframe.c (get_prev_frame_info): If FRAME_CHAIN_COMBINE + returns 0, there is no previous frame. + * breakpoint.c (commands_command): If !from_tty, don't call + input_from_terminal_p(). + * dbxread.c (record_misc_function): Speed up slightly. + (compare_psymbols): Ditto. + * infcmd.c (do_registers_info): Take a second argument to + determine whether to print float registers. "info registers" + does not do so anymore. "info all-registers" does, now. + * mips-tdep.c, pyr-tdep.c (xxx_do_registers_info): Take second + arg and ignore it. + * tm-mips.h, tm-pyr.h (DO_REGISTERS_INFO): Pass second arg. + * inflow.c (initialize_inflow): Set tflags_ours correctly. + + Other fixes: + + * breakpoint.c (bpstat_do_actions): Use a cleanup to restore + executing_breakpoint_commands if we are interrupted by error. + * coffread.c (init_lineno): Avoid problem with zero-sized linetab + versus malloc/free. From: john@labtam.labtam.oz.au (John Carey). + * core.c (solib_add_stub, core_open): Call SOLIB_ADD inside a + catch_errors() so we can setup the frame regardless of whether + the shared libs work. + * ieee-float.c (double_to_ieee_extended): Get exponent from + right place in little-endian systems. From John Carey. + +Thu Aug 15 18:43:57 1991 John Gilmore (gnu at cygint.cygnus.com) + + * main.c: Remove unused terminating_signals and catch_termination(). + (long_options): Terminate with a zero element. + [Bugfix from Atsuo Kawaguchi <atsuo@hark86.harl.hitachi.co.jp>.] + (gdb_readline): Make call-compatible with readline. + (init_signals): Improve comments re vfork vs. signal. + + * utils.c (prompt_for_continue): Use new gdb_readline(). + If we prompt for continuation, we don't let CR repeat the previous + command, once we get back to a prompt. It's too easy to keep + hitting CR, expecting "--more--" prompts, and have some long + command start repeating on you. + +Tue Aug 13 16:17:56 1991 John Gilmore (gnu at cygint.cygnus.com) + + * blockframe.c (frameless_look_for_prologue): Speed up by + calling SKIP_PROLOGUE_FRAMELESS_P if it's defined. + * tm-sparc.h (SKIP_PROLOGUE, SKIP_PROLOGUE_FRAMELESS_P): + Define two variants, one faster. + * sparc-tdep.c (sparc_frame_chain): Use target_read_memory + and return zero, rather than giving an error. + (setup_arbitrary_frame): Initialize the PC in the new frame. + (skip_prologue): Add a second arg saying whether we're just + checking for a frameless function or not. + + * core.c (core_open, core_close, core_xfer_memory): Move + section table pointers and bfd* into the target_ops. + (core_open): Allow errors in shared lib reading, etc. + (core_files_info): Describe shared library sections. + + * exec.c (exec_open, exec_close, exec_xfer_memory, xfer_memory, + exec_files_info, set_section_command): Move section table + pointers and bfd* into the target_ops. + (add_to_section_table): Add BFD to section table. + + * target.c (target_xfer_memory, target_info): Pass target to + xfer_memory and target_info functions. + * target.h: '' + + * gdbcore.h: Move struct section_table. + * target.h: New home of struct section_table. + + * solib.c (solib_add): New argument is the target_ops whose + section list is to be added to, if any. Reallocate the + sections in that target to add any that come from shared libs. + (throughout) so_sections renamed to sections. + (solib_xfer_memory): Deleted. + * tm-sunos.h (SOLIB_ADD): Add target argument. + (SOLIB_XFER_MEMORY): Delete. + + * core.c, exec.c, inftarg.c, remote-eb.c, remote-nindy.c, + remote-vx.c, remote.c, target.c, target.h: Remove add_syms vector + from target_ops. It's the same on all targets. Add two section + pointers to target_ops. + + * stack.c (find_relative_frame): Dump ancient algorithm for + "down", just use handy "next" pointers. + (frame_command): Don't error if there is no stack; let user + set one. + + * inflow.c (new_tty_prefork, new_tty): New prefork routine + modifies static state in the parent process; new_tty itself + runs in the child and modifies the child's file descriptors + to match the saved static state. + * infrun.c (child_create_inferior): Call new_tty_prefork, + fork, then new_tty. + + * infptrace.c (child_xfer_memory): Add ignored target arg. + * remote-eb.c (eb_xfer_inferior_memory): '' + * remote-nindy.c (nindy_xfer_inferior_memory): '' + * remote-vx.c (vx_xfer_memory): '' + * remote.c (remote_xfer_memory): ''. Rename from + remote_xfer_inferior_memory. + + * main.c (main): Only try to attach "corefile" argument if + it starts with a digit. + + * symfile.c (symbol_reloading): New "set/show" variable. + (symbol_file_add): Shorten message about symbol reading. + (add_symbol_file_command): Merge with add_syms_addr_command, + since this should work on all targets now. + (stop_whining): Default to zero, to shut up complaints + about bad symbol tables on many systems. + (free_named_symtabs): Just exit unless symbol_reloading. + + * xm-sun3os4.h, xm-sun4os4.h: Define BROKEN_LARGE_ALLOCA, + and add comment explaining shared library screw. + + * source.c: #if defined => #ifdef. + +Thu Aug 8 12:23:19 1991 John Gilmore (gnu at cygint.cygnus.com) + + * doc/gdbint.texinfo: Improve doc on porting to new OS's. + +Tue Aug 6 17:16:15 1991 Roland H. Pesch (pesch at cygint.cygnus.com) + + * doc/rdl-apps.texinfo: provide default readline-appendix finder + (doc/Makefile knows how to make one for local config) + + * Makefile.in: use doc/Makefile for doc targets + + * doc/Makefile: GDB documentation now has its own Makefile + doc/refcard.tex: renamed from "gdbrc.tex" + doc/.Sanitize: add Makefile; recognize renamed refcard.tex + doc/gdbint.texinfo: add markup in "Cleanups" chapter + + +Fri Aug 2 00:13:06 1991 John Gilmore (gnu at cygint.cygnus.com) + + * values.c (baseclass_addr): When reading target memory, use the + length of the basetype, not the upper type. We've only malloc'd + enough space for the basetype, leading to errors in free(). + + * expprint.c (print_subexp): Print UNOP_MEMVAL of an OP_LONG that + ends up as a function specially, since we know the actual type of + the pointed-to address. This (somewhat) fixes display of + expressions that include misc_function_vector names. Try `cond 1 + !strcmp("a","b")' then `i b'. + + * infrun.c: Move DO_DEFERRED_STORES from proceed() to resume(). + The child can be proceeded from inside wait_for_inferior in + evaluating breakpoint conditions, and DO_DEFERRED_STORES was + getting skipped in that case. + + * expprint.c (print_subexp): Use filtered output, since the + subroutines we call use it, otherwise the output is horribly + mangled, since output of wrappable stuff comes out late. + + * Makefile.in: Bump VERSION to 3.98.1 + + * infrun.c (child_create_process): Use execlp to find the + shell to exec our target program. This requires some fiddling + with `environ' since there is no execlpe(). + +Thu Aug 1 15:35:17 1991 Roland H. Pesch (pesch at fowanton.cygnus.com) + + * Makefile.in, doc/gdbrc.tex, doc/rc-* (new files): + Minor rearrangement of refcard permits two new make targets-- + gdbrc.dvi DVI output for refcard, using CM fonts + gdbrc.ps PostScript refcard, using PS fonts + +Wed Jul 31 16:46:21 1991 John Gilmore (gnu at cygint.cygnus.com) + + * GDB-3.98 release. + + * TODO, Projects, WHATS.NEW, README: Update for gdb-3.98. + * Makefile.in (gdb-all.texinfo): Avoid touching file if M4 dies. + +Wed Jul 31 16:35:58 1991 Roland H. Pesch (pesch at cygint.cygnus.com) + + * doc/gdb.texinfo: last changes for release. + Minor typo and formatting fixes; incorporated most fixes remaining from + filed mail commenting on earlier drafts. + + Added warnings: pipes don't work in run command; + conditions are converse of assertions; + step over fn without debug info goes to next fn; + vars may have "wrong" values near fn entrance, exit + + Added example from Kingston on printing repeated nonadjacent values + + Added explicit mention that in Emacs gdb mode C-c and C-z are like + shell mode for signals + + Renamed "Stepping and Continuing" to "Continuing and Stepping" so it + doesn't sound so much like its parent "Stopping and Continuing"; also + moved entries on continue to top of section, so they don't get lost. + + Improved installation directions in appendix, added manual formatting + instructions + +Tue Jul 30 17:26:39 1991 John Gilmore (gnu at cygint.cygnus.com) + + * configure.in: Remove xm.h and tm.h even if we aren't linking + new ones, so "./configure sun4; ./configure none" does the right + thing. Assume that alldeps.mak and depend are already built in + srcdir, and avoid running "make" (particularly "make depend", + which involves "gcc") from inside configure. Build Makefile + directly rather than building Makefile.conf first. + * configure: Regenerate with above changes. + * Makefile.in: Use $(BISON) to find bison. Roll VERSION + to 3.98. Revise gdb.tar.Z procedure to produce a file + called gdb-$(VERSION).tar.Z but which unpacks into a + directory called "gdb". Move non-source files out of + $(SFILES_SUBDIR). Pretty up alldeps.mak with comments. + (depend): Don't try to do "gcc expread.y". + (expread.o): Update dependencies by hand. + +Mon Jul 29 15:21:09 1991 Roland H. Pesch (pesch at cygint.cygnus.com) + + * doc/gdb.texinfo: + Fixed a variety of small typos that prevented info from formatting + cleanly; altered too-long heading for GPL Appendix, as discussed + w/RMS; Changed date on cover to July 91. + +Fri Jul 26 13:20:02 1991 Roland H. Pesch (pesch at cygint.cygnus.com) + + * doc/gdb.texinfo: + (1) Applied some fixes due to comments from Larry Breed (easier ones + through chapsec 5.2) + (2) Eliminated use of @footnote---had my doubts about it anyways, and + it's broken in latest texinfo + (3) Introduced *some* use of [] for optional arguments, where + explanation is not simpler by listing cmd w arg and cmd w/out arg + separately. Still not using @deffn. + (4) Dropped in GPL-2. NOTE: one of GPL-2 or texinfo is broken; a + couple of headings are too long. Need patches to texinfo or revision + to GPL-2. + + * Partial update to README (which still needs work for this + release!): (1) use of configure corrected for new script, + (2) "make gdb.dvi" and "make gdb.info" mentioned. + +Wed Jul 24 06:44:02 1991 John Gilmore (gnu at cygint.cygnus.com) + + * symtab.c (lookup_symbol): Don't complain right off about + no debug symbols; use the misc function vector first. + (list_symbols): Use misc function vector to find symbols + that don't have debug info, and print them. + (find_pc_symtab): Temporarily avoid fatal() when psymtab + PC range doesn't match symtab PC range, as it does on the + MIPS because our symtab reading isn't perfect. + + * dbxread.c (dbx_symfile_read): Make warning about + "no debug symbols" slightly nicer. + + * source.c (select_source_symtab): If "main" symbol exists, + but decode_line_spec can't find line info, don't just return + a zero; try other source symtabs or give an error. + + * mipsread.c (parse_partial_symbols): Sort the psymtabs by + their low addresses first, then rip through fixing high addrs. + + * ns32k-opcode.h (sfsr): Bugfix from Rune Nerg}rd, + <runene@ifi.uio.no>. + (NS32K_SVC_IMMED_OPERANDS): Reverse the #ifndef. + +Tue Jul 23 18:52:43 1991 Roland H. Pesch (pesch at cygint.cygnus.com) + + * Minor, mostly mechanical, cleanup of doc subdir for clean + makeinfo'ing and TeXing; also ensured gdb-all.texinfo (post-m4) + and gdb.info (post- texinfo2 makeinfo) generated for distribution. + +Sun Jul 21 03:54:52 1991 John Gilmore (gnu at cygint.cygnus.com) + + Mostly MIPS and general symbol-reading fixups. + + * doc/gdbint.texinfo: Add documentation on symbol-reading + interface. + + * mipsread.c: Remove kludges around #include "ecoff.h". + Remove redefinitions of a_magic, etc, no longer used. + (parse_symbol, ): Convert "Internal:" printfs to complain()ts. + Fix global overview comments to match symfile.c protocol. + (mipscoff_new_init): Eliminate cur_hdr if we have one. + (mipscoff_symfile_read): Eliminate unused code. Avoid + sorting all the symtabs, when all we have read here is psymtabs. + The symtabs are sorted as they are created anyway. Tell + condense_misc_bunches whether we're mainline. + (psymtab_to_symtab_1): Pass filename when recursing, to make + stack trace more informative. + (parse_partial_symbols): Assume cur_hdr as argument. + (read_mips_symtab): Don't clobber cur_hdr, so it can be freed. + Pass cur_hdr implicitly to parse_partial_symbols. Avoid checking + the TYPE_NAME of char *, since that's done in symfile.c. + (free_numargs, parse_symbol, add_symbol, add_block, + shrink_linetable): Declare these fns void. + (upgrade_type): Convert tree of if's to switch. Clean up + bogus "off == 0" handling with a complaint. Avoid setting + field bitpos and bitsize of array with lower and upper bounds. + Check specified bitsize of elements against their actual type's + bitsize, and complain if different. Complain about unknown + type qualifiers. + (parse_fdr): Don't assume sizeof(char *) == sizeof (struct *). + (psymtab_to_symtab_1): Print names of subsidiary files that + are being read in. FIXME, we read far too many files. This code + is not the problem, the problem is in parse_fdr where the psymtabs + are set up. + (cross_ref): Result should indicate that we used one aux entry + normally, or two if we encountered a "next" entry. This used + to leave the caller pointing at the wrong aux entry. + (add_symbol): If overflowed cur_block, reallocate it larger, + chase all pointers to it, and complain(), rather than clobber memory. + (shrink_block): Use xrealloc rather than xmalloc-and-copy. + (new_field): Only allocate one field initially, not two. + Pull ++ out of macro argument. Simplify. + (_initialize_mipsread): Avoid initialization of importd + global_psymbols and static_psymbols. + + * symfile.c (psymtab_to_symtab): Depend on XXX_psymtab_to_symtab + to properly set pst->symtab; avoid searching for it. + (symfile_fns): Improve comments, add a FIXME. + * dbxread.c: Update comments to reflect symfile protocol. + (read_ofile_symtab, end_symtab): Return the symtab. + (psymtab_to_symtab_1): Set pst->symtab. + + * coffread.c (coff_symfile_read): tell condense_misc_bunches + whether we're mainline. + + * symfile.h (sym_fns): Remove unused sym_discard member. + * coffread.c, mipsread.c, dbxread.c: Remove XXX_symfile_discard. + + * mtrace.c (mtrace): Take effect if mallwatch is set, even if + the environment variable is not. + * infcmd.c (finish_command): Use filtered printfs. + * cplus-dem.c: Add struct tags to a few unnamed structs. + * valops.c (value_coerce_array): Improve comments. + * valprint.c (type_print_varspec_suffix): Print array size only + if greater than zero. + * m88k-tdep.c: Shift some lines left by one space, that had + apparently been trashed at some point. + * TODO: More things to do, a few got done. + +Thu Jul 18 22:46:05 1991 John Gilmore (gnu at cygint.cygnus.com) + + * symtab.h (LOC_EXTERNAL): Eliminate in favor of LOC_STATIC. + (ldsymoff, ldsymlen, globals_offset, statics_offset): Improve + comments. + * dbxread.c (read_dbx_symtab): LOC_EXTERNAL -> LOC_STATIC. + * expread.y, findvar.c, symmisc.c: Ditto. + * printcmd.c (address_info): Update printed forms of LOC_ + symbols. Elim LOC_EXTERNAL. + (print_frame_args): Keep track of param stack offsets before + re-looking up to find the local register param is kept in. + + * mipsread.c: Use <symconst.h> and <sym.h> rather than <syms.h>. + Further integration of mipsread into gdb. Eliminate unused + routines, duplicate declarations. Handle static symbols in + psymtabs as well as external symbols. When reading symtabs, + insert symbols into the correct block (global, static, or a local + block). + (read_mips_symtab, parse_partial_symbols): Don't pass useless + "incremental" arg. + (mipscoff_symfile_read): Don't call select_source_symtab. + (parse_symbol): Use SYMBOL_VALUE_ADDRESS where appropriate, + rather than SYMBOL_VALUE. + (parse_external): Comment clobbering of top_stack. + (parse_partial_symbols): Update comments. Allocate and parse + static symbols as well as external symbols. FIXME, enum values + are not handled in this pass, but should be. Inline new_psymbol. + Use SYMBOL_VALUE_ADDRESS. + (psymtab_to_symtab_1): Read symbols into global static block + by default (until enter some function's local block context). + (sort_blocks): Clean up STATIC_BLOCK as well as GLOBAL_BLOCK. + (destroy_all_symtabs, new_psymbol): Eliminate, unused. + + * source.c (select_source_symtab): Select a source symtab + from either the symtabs or, failing that, the psymtabs. + (list_command): Update error message. + (forward_search_command, reverse_search_command): Use getc, not + fgetc, for speed. FIXME, add comment about buffers that die if + overrun by long line. + + * values.c (unpack_field_as_long, modify_field): Avoid shifting + by an entire word, which is not portable, if we have a 32-bit + field. (Code in dbxread.c already turns such bitfields, if + aligned, into ordinary ints, but fixing this will help for other + symbol formats and for future changes.) + * core.c (core_open): Handle ANSI const brain death. + * utils.c (vprintf): Fix varargs typo. + +Sun Jul 14 00:42:53 1991 John Gilmore (gnu at cygint.cygnus.com) + + * findvar.c (find_var_value): Handle &function better. + * TODO: Document work needed on &fn and &array. + * printcmd.c (print_address_symbolic): New arg is the prefix + to print if a name is printed. + (print_address_demangle): Honor "set print address" now. + Use new arg above to improve spacing of output. + * valprint.c (val_print): When printing function pointers, + print symbolic form too. + * breakpoint.c (breakpoint_1): Use new print_address_symbolic. + +Mon Jul 8 19:02:46 1991 John Gilmore (gnu at cygint.cygnus.com) + + * core.c (memory_error): Reword error msg to mislead less. + + * mips-pinsn.c (print_insn_arg 'd'): Print $ with reg name. + + * mipsread.c (read_mips_symtab, read_the_mips_symtab, + parse_partial_symbols): Use newer BFD internals (external_filehdr + and external_aouthdr), byte-swap the fields that we care about + before using them, and make the file header data local to + read_the_mips_symtab rather than global. + +Sat Jul 6 01:34:15 1991 John Gilmore (gnu at cygint.cygnus.com) + + * ns32k-opcode.h (movmw, movmd): Fix opcodes. Bug fix + from Rune Nerg}rd <runene@ifi.uio.no> on 5 Jul 1991. + + * main.c (command_line_input): Flush stdout and stderr + before every call to readline. This reportedly fixes a bug + that comes up in Sys V running emacs-gdb and/or xxgdb, + when stdin/out are pipes or sockets. + +Thu Jul 4 14:47:06 1991 John Gilmore (gnu at cygint.cygnus.com) + + * configure.in, Makefile.in: Avoid rebuilding "depend" as much. + Avoid declaring Makefile dependencies, because GNU Make stupidly + tries to update it if we do. + + * coffread.c: Revise for minor changes to bfd internal coff + indexes. + + * configure: If -template= is given a relative path, make it + absolute before recurring in subdirectories. + + * configure, configure.in, Makefile.in: Install "configure" script + as replacement for config.gdb. + * config.gdb, Makefile.dist, Makefile.sdir: Remove + * README: Update for configure, mostly. FIXME. + + * Add dec3100 as equivalent to littlemips. Indicate in all host & + target config files that they are for the host. When the lines + get copied into the Makefile, this makes it more obvious what's + up. + +Mon Jun 24 23:49:07 1991 John Gilmore (gnu at cygint.cygnus.com) + + * sparc-opcode.h (trap opcodes): Avoid leading spaces or + tabs, which end up in the disassembler output inadvertently. + +Wed May 29 23:01:03 1991 John Gilmore (gnu at cygint.cygnus.com) + + Make it compile cleanly in an ANSI GCC2 environment. + + * blockframe.c: <stdio.h> + * cplus-dem.c: free takes a void *, ifdef __STDC__ + * dbxread.c (read_huge_number): avoid gcc2 bug hoisting calc of + LONG_MAX/radix. + * defs.h (alloca): Avoid doing anything if alloca already def'd. + * stddef.h, stdlib.h: Remove these files. + * symtab.c: Avoid declaring qsort, close. + * symfile.c: Avoid declaring close. + * utils.c (vprintf): Declare "ap" arg as proper va_alist. + * sparc-tdep.c: Avoid including lots of Sun-host-specific files. + + Assorted other changes. + * dbxread.c: include "libaout.h", not "liba.out.h". + * printcmd.c (print_frame_args): Set recurse properly for + indentation of struct and array parameters. + * valops.c (value_cast): Allow cast to void. + * infrun.c (resume): If NO_SINGLE_STEP, call machine dependent + single_step() in a target-independent fashion. + * sparc-tdep.c (single_step): Don't call ptrace ourselves, just + set up to be ready to continue. This makes us target independent. + * infptrace.c (child_resume): Remove call to single_step; now + can single step a SPARC target of any kind. + +Wed May 22 18:18:24 1991 Roland H. Pesch (pesch at fowanton.cygnus.com) + + * Makefile.dist, doc/gdb.texinfo, doc/*-m4.texinfo: split up GDB + docn into separate sections---basically chapters, plus two loose + pieces that can be configured to go in different places. This + allows GNU m4 to preprocess the manual without coredumping. + + * Makefile.dist: tell TeX where to find texinfo. + +Mon May 20 12:15:04 1991 Roland H. Pesch (pesch at fowanton.cygnus.com) + + * Makefile.dist, doc/gdb.texinfo: respectively create, and use, + the new target "rdl-apps.texinfo" which captures the Makefile + variable that records where to find the Readline libraries. + +Sun May 19 05:36:59 1991 John Gilmore (gnu at cygint.cygnus.com) + + * tahoe-pinsn.c: #include "tahoe-opcode.h", not "opcode.h". + * tm-tahoe.h (FIX_CALL_DUMMY): Ignore more parameters. + * defs.h (const, volatile): Only define if not already defined. + * Makefile.dist (gdb.tar.Z): Create doc subdir w/out CVS/RCS crud. + + * README: Update for release 3.95. + * config.gdb: Don't create readline dir in subdir builds. + * main.c: Include with "..." form for non-system include files, + so "gcc -MM" for "make depend" works. + Include readline files with "...h" rather than <readline/...h>. + * mipsread.c: Include "ecoff.h" rather than "intel-coff.h". + + * coffread.c: Undo minor damage done by Rich Pixley. Use + different internal and external representations of COFF + data structures. Use new BFD routines for swapping them in and + out. + * symfile.c (free_named_symtabs): Avoid freeing file names that + are null or empty. Old i960 tools seem to produce files that + claim to have empty names, causing each successive file read + to blow away the previous one. + * sparc-xdep.c (deferred_stores): Repair minor damage by Rich. + Move deferred_stores to top of file, but don't separate its + #define's from its variable. Add commentary. + * Makefile.dist: Fix Rich damage; undo "configure" changes in + favor of keeping the (working) config.gdb. Move readline + library up a notch. + +Fri May 17 12:49:56 1991 Per Bothner (via gnu at cygint.cygnus.com) + + * dbxread.c (read_struct_type): Try to handle g++ version 1 MI + debug info. + * infptrace.c (fetch_registers): no result, since now void. + * tconfig/news: target depends on m68k-tdep too. + +Fri May 17 14:40:14 1991 Roland H. Pesch (pesch at fowanton.cygnus.com) + + * Makefile.dist: added readline/inc-*.texinfo to dependencies for + gdb.dvi target + + * readline/inc-history.texinfo, readline/inc-readline.texinfo: + applied various small fixes due to or inspired by RMS comments + + * doc/gdb.texinfo: finished using all RMS comments, save those for + appendices on readline and cmd history (which are in other source + files) + +Thu May 16 18:06:05 1991 Roland H. Pesch (pesch at fowanton.cygnus.com) + + * doc/gdb.texinfo: (1) Updated w/ref to RMS comments through + chapter 9; (2) documented 'break' command's menu mode for + overloaded names, in response to hgs problem report C++ p-31 + +Wed May 15 11:02:48 1991 Roland H. Pesch (pesch at fowanton.cygnus.com) + + * doc/gdb.texinfo: (1) better introductory example; (2) more + consistent use of @code, @samp, @file, @kbd throughout; small + cleanups to first three nodes; (3) new "Contributors" node; + (4) Appendix, Renamed Commands; (5) divert specialized startup + instructions to "Targets" chapter for generic manuals, while + leaving them up front for manuals specific to specialized + environments; (6) apply fixes from RMS comments through chapter 4. + + * pretex.m4: modify explanatory text slightly (and redefine + "regexp") to keep GNU m4 from complaining. (It still crashes + later, but one step at a time...) + +Wed May 15 10:32:12 1991 John Gilmore (gnu at cygint.cygnus.com) + + * readline/readline.c (update_line): Avoid dereferencing a pointer + before comparing it to its bounds. Saber caught this. + (init_terminal_io): Don't set BC from the "pc=" termcap variable, + and only set PC if tgetstr returned non-null. Saber caught this. + +Tue May 14 16:29:53 PDT 1991 Roland Pesch (pesch at cygint.cygnus.com) + + * Makefile.dist: put gdb.dvi stuff (updated to use M4 preprocessor + stuff for config manual) here where it counts; updated + to use new subdir structure (gdb/doc/). + + * Makefile: generated from above via + config.gdb none + before checkin + + * gdbint.texinfo: added instructions on generating gdb.info* files + locally for release. These are ordinary info + files, formatted from gdb.texinfo (via gdb-all.texinfo, see + Makefile)---but due to use of texinfo 2, can't count on makeinfo + to generate these, so we distribute them already formatted. + + * gdb.texinfo: included full Info node and menu crud (as generated + by C-u M-x texinfo-master-menu using the texinfo-2 elisp code). + + * Makefile: updated "gdb.dvi" target to use M4 preprocessor; + put in comments-for-future gdb.info target (one day makeinfo will + work again). + +Tue May 14 13:51:36 PDT 1991 Roland Pesch (pesch at cygint.cygnus.com) + + * gdb.texinfo: Updated to include new or old undocumented + commands, at least the following (perhaps some others I forgot to + record): info f, info float, info path, info program, info s, info + set, info source, info terminal, info types, info user, set/show + print object. + Also covered all recent GDB command renames for v4. + +Mon May 13 14:57:46 1991 John Gilmore (gnu at cygint.cygnus.com) + + * mipsread.c: Rather than keeping count of how many symtabs + and psymtabs we have, for sorting purposes, count them when + we need to sort. This fixes bug in rereading of symbol tables. + +Fri May 10 15:43:33 PDT 1991 Roland Pesch (pesch at cygint.cygnus.com) + + * infcmd.c: renamed "info path" to "show paths" + * gdbrc.tex: documented above. + +Wed May 8 04:51:11 1991 John Gilmore (gnu at cygint.cygnus.com) + + * remote.c: Fix comments. + * utils.c (error): Force out any pending wrap output. + +Sat May 4 11:11:07 1991 John Gilmore (gnu at cygint.cygnus.com) + + * Makefile.dist: Roll VERSION to 3.95. + Fix up "saber_gdb" to work again. + * saber.suppress: Update. + + * coffread.c, exec.c, infptrace.c, inftarg.c, remote.c, solib.c, + symtab.h, target.c, target.h: Lint. + * core.c: setup and select frame after reading shared libs, + else reading shared libs will clobber them. Lint. + * utils.c (error): Force out any buffered wrap text. + +Fri May 3 22:01:56 1991 John Gilmore (gnu at cygint.cygnus.com) + + * remote.c: Remove decls of memory_insert_breakpoint + and memory_remove_breakpoint, no longer used. (Suggestion of + Jan Norden). + + * Makefile.dist: use ${subdir} in paths of BFD and LIBIBERTY, + to make it easier to interface to "configure"'d libraries. + +Fri May 3 13:10:01 PDT 1991 Roland Pesch (pesch at fowanton.cygnus.com) + + * valprint.c: introduce "set p", "set pr", "show p" and "show pr" as + aliases for set/show print. + +Thu May 2 11:22:02 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * coffread.c (coff_sym_fns) [TDESC]: Make the type be m88kbcs. + + * m88k-tdep.c (IEEE_isNAN): New function. + + * infrun.c, m88k-tdep.c, m88k-xdep.c: Change + initialize_{tdesc,dcontext} to init_{tdesc,dcontext}. + + * infrun.c [TDESC]: Add a bunch of crud. + + * xm-88k.h [__GNUC__]: Don't define memset. + + * m88k-xdep.c: #if 0 out push_breakpoint. + + * tm-88k.h: Define GET_SAVED_REGISTER. + + * tm-88k.h: Define DGUX. + + * m88k-opcode.h (UEXT, SEXT, MAKE): Put parentheses around arguments. + + * m88k-pinsn.c (sprint_address): Declare at top of file. + + * m88k-xdep.c: #if 0 out core_file_command. + + * values.c ({unpack_,value_as_}pointer): Just call + {unpack_,value_as_}long (for now anyway). + + * m88k-tdep.c (get_saved_register): Make get_reg a dc_word_t (*)(). + (psr_register): Change return type to dc_word_t. + + * m88k-tdep.c (tdesc_read_function): Comment out call to ptrace. + + * m88k-tdep.c (get_saved_register): Add lvalp parameter. + + * gdbcore.h (write_memory): Don't prototype it. + + * tm-88k.h, m88k-tdep.c: Make stack_error, stack_jmp global. + m88k-xdep.c: Don't mention stack_error. + + * {x,t}config/m88k ({X,T}DEPFILES): Add missing files. + + * mtrace.c: Don't typedef things like size_t, just #define them. + + * coffread.c [TDESC]: #if 0 out references to coffsyn. + + * symtab.h (struct symtab): Include EXTRA_SYMTAB_INFO. + tm-88k.h: Define EXTRA_SYMTAB_INFO. + + * coffread.c [TDESC]: Include "tdesc.h" and make tdesc_handle + dc_dcontext_t not int. + + * coffread.c [TDESC]: Use system include files not <intel-coff.h>. + + * coffread.c [TDESC]: Move setting of debug_info from + coff_symfile_read to find_linenos and make it work with BFD. + + * cplus-dem.c [__STDC__]: Make x{m,re}alloc return void*. + + * signame.c: Cast const char* to char* when assigning to sys_siglist. + + * utils.c (strsave): Make arg const char* not char*. + + * infrun.c (wait_for_inferior) [SHIFT_INSN_REGS]: Use + bpstat_explains_signal (stop_bpstat) not stop_breakpoint. + + * tm-88k.h (START_INFERIOR_HOOK): Make tdesc_handle a dc_handle_t. + + * tm-88k.h (EXTRACT_RETURN_VALUE): Use char * not void *. + + * findvar.c (read_var_value, case LOC_CONST_BYTES): Put the address + in a char *, not a CORE_ADDR. Use SYMBOL_VALUE_BYTES. + + * tm-88k.h (INIT_EXTRA_FRAME_INFO): Use fci not prev (fci is + prev except from create_new_frame). Make next_frame a + local variable. + Declare get_prev_context. + {x,t}m-88k.h: Enclose USG and BCS defines in #if !defined. + m88k-{opcode.h,pinsn.c,xdep.c,tdep.c}: New files (same contents as + before; they had just been left out of the distribution for a long + time). + +Thu May 2 17:53:56 1991 John Gilmore (gnu at cygint.cygnus.com) + + Mips bringup and general cleanup + + * cplus-dem.c: Move CPLUS_MARKER define to after defs.h. + * infptrace.c (PT_WRITE_D, PT_READ_D): Use correct values. + (This still doesn't seem to make MIPS bkpts work.) + * mipsread.c: Remove dup "Reading symbol data..." msg. + (symbol_file_command, add_file_command): Remove, obsol. + * printcmd.c (ptype_command): Say "an enum" rather than "a enum". + Wrap output appropriately. + * stack.c (locals_info, catch_info, args_info): Check + selected_frame rather than target_has_stack or coredumping. + * valprint.c (type_print_varspec_suffix): Wrap "ptype" output of + enums appropriately. + +Wed May 1 14:10:22 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * signame.c: Include defs.h and param.h. + + * cplus-dem.c: Include defs.h and param.h. + Makefile.dist: Don't hack in the "param.h". + param.h: Don't include defs.h. + + * expread.y: Use a union to deal with the fact that type_stack + can have both ints and enum type_pieces in it. + ({push,pop}_type_int): New functions. + +Tue Apr 30 13:18:58 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * cplus-dem.c (cplus_mangle_opname): Don't call error. + values.c (check_stub_method): Call error if NULL return from + cplus_mangle_opname. + + * blockframe.c, breakpoint.c, core.c, command.c, findvar.c, + eval.c, expprint.c, infcmd.c, infrun.c, main.c, printcmd.c, + remote.c, source.c, stack.c, dbxread.c, coffread.c, symfile.h, + symfile.c, utils.c, valarith.c, values.c, valops.c, tm-68k.h, + target.c, inftarg.c, ieee-float.c, environ.c, defs.h, + command.h, inferior.h, gdbcore.h, symtab.h, expression.h, + symtab.c, cplus-dem.c, value.h, expread.y, valprint.c, + copying.awk, solib.c, inflow.c, symmisc.c + : Lint. Use read_memory not read_memory_integer on CORE_ADDR's. + Use {value_as,unpack}_pointer (added to values.c) + not {value_as,unpack}_long on CORE_ADDR's. + Use longest_to_int (added to defs.h) instead of cast to int. + Remove from_tty arg to mod_path. + Put symfile_bfd in {coff,dbx}read.c not symfile.h. + Use OP_NULL instead of 0 where dummy enum exp_opcode needed. + + * tm-sparc.h: Remove GET_RWINDOW_REG. + (FRAME_CHAIN): Call sparc_frame_chain. + sparc-tdep.c (sparc_frame_chain): New function. + tm-sparc.h (EXTRACT_STRUCT_VALUE_ADDRESS): call + sparc_extract_struct_value_address (added to sparc-tdep.c). + + * xm-sun386.h: Don't define SET_STACK_LIMIT_HUGE. + +Tue Apr 30 13:13:33 1991 Michael Tiemann (tiemann at cygint.cygnus.com) + + * valprint.c (type_print_base): If the type being printed is a + struct containing undefined types, print "<undefine type>" + as the type instead of crashing. + * values.c (value_headof): Get the vtable pointer taking + TYPE_VPTR_BASETYPE into account. + * symtab.c, symtab.h, dbxread.c: Fix various whitespace splotches. + +Mon Apr 29 13:22:51 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * Move BROKEN_LARGE_ALLOCA from tm-sun386.h to xm-sun386.h. + + * sun386-xdep.c [!GDB_TARGET_IS_SUN386]: Just provide empty + functions which don't do anything. + tm-sun386.h: Define GDB_TARGET_IS_SUN386. + + * Makefile.dist: Add comment about tm-sun3os4.h: tm-sun3.h, etc. + + * sun3-xdep.c, tm-sun3.h, tm-68k.h: Change TARGET_SUN3 to + GDB_TARGET_IS_SUN3. + + * infrun.c: Don't include sys/user.h and friends (wrong for + cross-debugging and not necessary anymore (see IN_SIGTRAMP in + xm-vax.h)). + [SET_STACK_LIMIT_HUGE]: Include <sys/{resource,time}.h>. + xm-tahoe.h: Don't define _DIRENT_. + + * xm-tahoe.h: Remove USE_OLD_TTY (not needed now that terminal.h + includes sgtty.h before sys/ioctl.h). + +Sun Apr 28 22:04:47 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * param-no-tm.h: Make BITS_BIG_ENDIAN defined to 0/1, not defined + or not defined. Don't define it based on TARGET_BYTE_ORDER if + it's already defined (in the tm.h file). + mips-opcode.h (BIT_FIELDS_*), + values.c (modify_field, unpack_field_as_long): + Use #if BITS_BIG_ENDIAN not #ifdef BITS_BIG_ENDIAN. + {x,t}m-tahoe.h, tahoe-pinsn.c, tahoe-opcode.h: New files. + +Fri Apr 26 12:02:06 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * tm-sparc.h: Add comments about gcc version 2 and structure passing. + + * xconfig/i386v{,32}{,-g}: Add XM_CFLAGS=-Dgetpagesize()=4096. + gmalloc.c: #if 0 out !HAVE_GETPAGESIZE code. + + * expread.y (abs_decl): Accept '&' and '&' abs_decl. + + * symtab.c, symtab.h: Have a builtin_type_{,unsigned_}long_long + regardless of LONG_LONG. + defs.h (TARGET_LONG_LONG_BIT): New macro. + expread.y (typebase): Add {unsigned,} long long {,int}. + +Thu Apr 25 12:31:22 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * valops.c (typecmp): If t2 == 0, return 1. + +Wed Apr 24 09:45:17 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + Changes from Tiemann: + * cplus-dem.c (optable): Add "nw", "dl", "compound". + (cplus_mangle_opname): New function. + (do_type): Add case 'Q'. + * values.c (check_stub_method): Do lookup_method_type and stuff + rather than smash_to_method_type. + symtab.c, symtab.h (allocate_stub_method): New function. + dbxread.c (read_type): If we get "##", don't lookup_function_type + and start clobbering it; allocate_stub_method instead. + * printcmd.c (x_command): Dereference references. + * valprint.c (type_print_varspec_prefix, case TYPE_CODE_METHOD): + Don't print " " type_print_base (...) "::" if !passed_a_ptr. + * dbxread.c (read_struct_type): Put "op$" instead of "operator" + in the symbol table. + * values.c (check_stub_method): Deal with operator names. + * valprint.c (cplus_val_print): Check for error in baseclass_addr. + * values.c: Move declaration of cplus_demangle to top of file. + * values.c (baseclass_addr): If can't read memory, set *ERRP + rather than calling error(). + * value.h: Remove redundant declaration of value_static_field. + * values.c (value_static_field): Recursively check all baseclasses. + Return NULL if not found. + * values.c, value.h: New functions value_{headof,from_vtable_info}. + * valprint.c (val_print): Print out first element of vtbl + specially. + * valprint.c: Move print controls to top and add objectprint. + Add command "set print object on/off". + * valprint.c (value_print, is_vtbl_member): Put things in local + variables rather than continually doing VALUE_TYPE (val), etc. + * valops.c (value_struct_elt_for_address): Call check_stub_method. + * valops.c (value_struct_elt): Remove found, arg1_as_ptr. + * valops.c (search_struct_method): Give error if j > 0 && args == 0. + * valops.c (search_struct_field): New argument looking_for_baseclass. + Give error if value_static_field or value_primitive_field + return NULL. + valops.c (various): Call search_struct_field with extra parameter. + * symtab.c (decode_line_1): Deal with operators specified as + "operator" <optional whitespace> <symbols for operator>. + (operator_chars): Help do it. + * symtab.c (lookup_struct_elt_type): Call check_stub_type. + Take additional argument noerr. + Don't dump core if TYPE_FIELD_NAME is NULL. + Check the baseclasses recursively. + * symfile.c (fill_in_vptr_fieldno): Don't call check_stub_type. + Return void not int. (also declarations in symfile.h and value.h). + Deal with multiple inheritance. + * printcmd.c (print_command_1): Add if (objectprint) code. + * expread.y (variable): Allow for destructor with foo::~name. + * eval.c (evaluate_subexp, case UNOP_LOGNOT): If following opcode + is OP_SCOPE, give an error. + * eval.c (evaluate_subexp): Pass third arg to lookup_struct_elt_type. + * eval.c (evaluate_subexp), values.c (value_virtual_fn_field): + Don't bother to do anything with + return value from fill_in_vptr_fieldno. + * eval.c (evaluate_subexp): If value_static_field returns NULL, + give an error. + * dbxread.c (read_struct_type): Set fcontext to 0 for normal member + function. + * dbxread.c (read_struct_type): Initialize name to 0. + * dbxread.c (read_ofile_symtab, N_CATCH): Add offset to bufp->n_value. + * dbxread.c (dbx_create_type): Zero TYPE_VPTR_BASETYPE. + (read_struct_type): Don't bother to set TYPE_VTPR_{BASETYPE,FIELDNO} + if it's just going to be {0,1}. + + * dbxread.c (virtual_context): Use TYPE_BASECLASS starting at 0 + (yes, it's #if 0, but just in case...). + + * vax-opcode.h, expread.y, expprint.c, cplus-dem.c: Declare some + things "const". + + * i386-stub.c: New file. + + * WHATS.NEW: Remove mention of readline and more paging (in 3.5). + Try to keep command names up to date with renaming. + + * gmalloc.c [!HAVE_GETPAGESIZE]: Try to figure out the pagesize. + + * infun.c (resume, resume_cleanups): New functions. + (wait_for_inferior, proceed, child_create_inferior): Use resume + not target_resume. + + * remote.c (getpkt): Don't set immediate_quit. + + * blockframe.c, frame.h (reinit_frame_cache): New function. + solib.c (solib_add), symfile.c ({,add_}symbol_file_command): + Use it. + +Tue Apr 23 10:38:41 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * symtab.c (lookup_symbol): Add 3 more of those loops through + the symtabs which we all know and love: (1) Look in the + STATIC_BLOCK for mangled symbols right after we check the blocks, + (2, 3) Look in the STATIC_BLOCK for all the symtabs and psymtabs + at the end. + + * main.c (cd_command): Call dont_repeat. + + * dbxread.c (read_struct_type): If const/volatile character is + missing, don't complain, just continue. + + * dbxread.c (read_struct_type): Only try to read the fcontext if + it is there. Also change "error_type " to "return error_type ". + values.c (value_virtual_fn_field): If there is no fcontext, + then do things the way GDB 3.x did. + valops.c (search_struct_method): Add type to value_virtual_fn_field + arguments. + + * dbxread.c (read_struct_type): Fix typo: *pp != '\0' -> **pp != '\0'. + +Mon Apr 22 00:02:43 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * printcmd.c (print_scalar_formatted): Add 't' for binary. + + * dbxread.c (end_psymtab): Initialize pst->symtab. + + * core.c (core_open): Call ADD_SOLIB. + + * tm-sparc.h: Include <sun4/reg.h> not <machine/reg.h>. + sparc-tdep.c: Don't include <machine/reg.h>. + + * sun3-xdep.c [!TARGET_SUN3]: Just provide empty functions which + don't do anything. + + * core.c (core_open): Add make_cleanup (unpush_target, &core_ops). + + * Shared library/corefile changes from Peter Schauer: + core.c (core_close): Call CLEAR_SOLIB. + (core_open): Remove comment about "should deal with shared lib". + (core_xfer_memory): If we can't xfer the usual way, try the + shared libraries. + solib.c (so_list): New fields so_bfd and so_sections{,_end}. + (find_solib): Use solib_map_sections to get ld_text. + (solib_map_sections, solib_xfer_memory): New functions. + (clear_solib): Free so_sections and close so_bfd. + tm-sunos.h: Add solib_xfer_memory, solib_add. + + * sparc-tdep.c (skip_prologue): Don't skip anything unless there + is a "save" instruction in there somewhere. + + * symfile.c (symbol_file_add): Add comment. + solib.c (solib_add): Don't malloc name passed to symbol_file_add. + + * exec.c (build_section_table): If *start isn't NULL, free it. + + * stack.c (parse_frame_specification): Error if NULL selected_frame. + infcmd.c (finish_command): Error if NULL selected_frame. + inflow.c (kill_command): Deal with NULL selected_frame. + stack.c (record_selected_frame): Set *FRAMEP to NULL if there + is no selected frame. + infrun.c (restore_inferior_status): Add comment. + findvar.c (read_var_value): Check for NULL frame where we need + a frame. + breakpoint.c (get_catch_sals): Check for NULL selected_frame. + + * breakpoint.c (bpstat_print): Try all elements on the bpstat + chain before giving up with an internal error. + +Sun Apr 21 21:43:10 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * value.h, values.c (value_{,free_to_}mark): New functions. + breakpoint.c (bpstat_stop_status): Use them. + + * tm-i386v{,-g}.h: Remove N_SET_MAGIC define. + +Sat Apr 20 21:42:47 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * i386-tdep.c: Remove unnecessary #includes. + + * symtab.c (various): Change error return of find_line_common to -1. + + * coffread.c (find_linenos): Use LINESZ not sizeof (struct lineno). + + * coffread.c (end_symtab): Initialize language, dirname, and + fullname fields. + +Fri Apr 19 18:18:31 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * mips-tdep.c (mips_frame_chain): Don't chain if saved_pc == 0. + + * stddef.h (size_t): Let either _SIZE_T or _SIZE_T_ guard it. + + * mipsread.c (parse_symbol): Set startup_file_{start,end} if + entry_point is in current file. + + * findvar.c (read_register_gen): Add "target byte-order" comment. + +Wed Apr 17 17:09:48 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * i386-tdep.c (i386_get_frame_setup): Use SWAP_TARGET_AND_HOST + before returning locals or slocals. + + * i386-tdep.c (i386_follow_jump): Do not add data16 to pos in + call to codestream_seek; add one to pos if (and only if) + we are dealing with a jump with data16 == 1 (i.e. 0x66, 0xe9). + +Mon Apr 15 12:04:32 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * valops.c (call_function_by_hand): Put dummy1 in target order + before FIX_CALL_DUMMY. + + * tm-i386v.h (FIX_CALL_DUMMY): Don't depend on host byte order. + +Sun Apr 14 11:55:19 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * valops.c (push_word): Add SWAP_TARGET_AND_HOST. + + * remote.c (remote_open): Send '+' before calling putpkt(). + + * tm-i386v.h (REGISTER_VIRTUAL_TYPE): Return pointer to void, + not int, for pc, fp, and sp. + + * remote.c (remote_open): Call start_remote after putpkt("?"); + infrun.c (start_remote): Also call wait_for_inferior & normal_stop. + +Sat Apr 13 22:11:42 1991 Jim Kingdon (kingdon at spiff.cygnus.com) + + * exec.c: Include <ctype.h>. + + * sun3-xdep.c (fetch_core_registers): Add #ifdef FP0_REGNUM. + +Fri Apr 19 09:36:50 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * tm-68k.h (NUM_REGS): Conditionalize on TARGET_SUN3 not sun. + tm-sun3.h: Define TARGET_SUN3. + + * utils.c: Use CPLUS_MARKER not '$'. + + * cplus-dem.c: Use CPLUS_MARKER not '$'. If CPLUS_MARKER isn't + defined, define it to '$'. + + * arm-opcode.h: New file (same contents as before; it had + just been left out of the distribution for a long time). + + * tm-68k.h: Put declaration of ext_format_68881 outside the macros. + + * main.c: New HAVE_SIGSETMASK #ifdefs. + + * coffread.c (read_coff_symtab): Check for "LF%" with all the + other L*% things. + + * coffread.c (SDB_TYPE): New macro. + various: Use it instead of checking against T_NULL. + + * Makefile.dist (cplus-dem.o): Hack in an #include "param.h" + before we compile it. + defs.h: Protect against multiple inclusion. + param.h: Include defs.h. + signame.c: Change #ifdef SYS_SIGLIST_MISSING to #if. + param-no-tm.h: Define SYS_SIGLIST_MISSING from USG. + +Thu Apr 18 19:49:10 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * i386-pinsn.c (OP_E): Change %d to 0x%x for consistency. + + * putenv.c: New file + Makefile.dist: Add it to $(OBS). + + * mipsread.c [!CMUCS]: #include <syms.h>. + + * mips-xdep.c (fetch_core_registers): #if 0 out the whole function. + + * Move read_memory_nobpt from mem-break.c to breakpoint.c. + +Mon Apr 15 21:45:35 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * utils.c (_initialize_utils): Rename "set demangle" to + "set print demangle", "set asm-demangle" to "set print + asm-demangle" and "set sevenbit-strings" to "set print + sevenbit-strings". + + * main.c (initialize_main): Rename "set history write" to + "set history save". + + * main.c (initialize_main): Rename "set caution" to + "set confirm". + + * values.c (_initialize_values): Remove "info history" alias + for (what is now) "show values". + + * infcmd.c, gdbcmd.h: Add unsetlist. + infcmd.c: Add unset_command. + (_initialize_infcmd): Add "unset" and use it for "unset env". + + * breakpoint.c (_initialize_breakpoint): Remove "unset". + + * valprint.c: Add "set/show print", {set,show}_print. + Rename "set addressprint" to "set print address". + Rename "set arrayprint" to "set print array". + Rename "set array-max" to "set print elements". + Rename "set prettyprint" to "set print pretty". + Rename "set unionprint" to "set print union". + Rename "set vtblprint" to "set print vtbl". + + * main.c: Rename version_info to show_version. + (_initialize_main): Rename "info version" to "show version". + + * values.c: Rename value_history_info to show_values. + (_initialize_values): Rename "info values" to "show values". + +Sun Apr 14 23:08:34 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * inftarg.c (child_open), remote-vx{,.68}.c (vx_proc_open): + New function to give correct error message. + +Thu Apr 11 17:19:41 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * target.h: Add to_doc and target_preopen. + target.c: Add target_preopen and target_command. + Remove target_info. + (add_target): Call add_cmd and mess with targetlist->doc. + core.c, exec.c, remote-eb.c, remote-nindy.c, remote-vx.c, + remote-vx.68.c, inftarg.c, remote.c: Add doc field to target struct. + Call target_preopen from open routine. + + * main.c: Rename editing_info to show_commands. + (_initialize_main): Rename "info editing" to "show commands". + + * source.c: Rename directories_info to show_directories. + (_initialize_values): Rename "info directories" to "show directories". + + * values.c: Rename convenience_info to show_convenience. + (_initialize_values): Rename "info convenience" to "show convenience". + + * copying.awk (_initialize_copying): Rename "info copying" to + "show copying" and "info warranty" to "show warranty". + Rename {copying,warranty}_info to show_{copying,warranty}. + + * symfile.c: Rename add_syms_command to add_symbol_file_command. + (_initialize_symfile, add_syms_addr_command): + Rename add-syms to add-symbol-file. + +Thu Apr 18 18:08:30 1991 John Gilmore (gnu at cygint.cygnus.com) + + * symfile.h (free_named_symtabs): Rename from free_named_symtab. + * symfile.c (clear_symtab_users_once, cashier_psymtab, + free_named_symtabs): Move these routines from symmisc.c. + * symmisc.c (same): same. + (free_symtab): Make non-static. + * symtab.h (free_symtab): Declare as exported void fn now. + * dbxread.c (end_symtab, end_psymtab): Change comments. + (initialize_dbxread): Call dbx_new_init() in case the first + command is add-symbols. + * target.c (dummy_target): Permit add_syms_addr_command. + +Sat Apr 13 14:46:07 1991 John Gilmore (gnu at cygint.cygnus.com) + + Permit symbols to be superseded when new symbol files have + been read in, particularly for VxWorks. + + * dbxread.c (read_dbx_symtab): Allow N_SOL to cleanly take us back + to the main file, as well as to include files. Also, put global + functions into the global psymtab, to make "i fun" work. + (end_psymtab): Free named symtabs and psymtabs for a file, once a + new psymtab for it has been read. + * coffread.c (end_psymtab): Free named symtabs and psymtabs for + a file, once a new symtab has been read for it. + * mipsread.c: FIXME. We need to do the same for MIPS, but it + looks harder to determine the top-level block before it's been + queued to the psymtab list. + + * symfile.c (symbol_file_add): Use filtered printing and wrap it. + If we have wiped out any old symbol tables, clean up at end of + symbol reading. + (symbol_file_command): Don't reference symfile_fns if it's zero. + + * symtab.h (GLOBAL_BLOCK, STATIC_BLOCK, FIRST_LOCAL_BLOCK): New + defines for the blocks of a blockvector that contain global and + file-static symbols and the first of the smaller scope contours. + * symtab.c (lookup_symbol, find_pc_symtab, find_pc_line, + decode_line_1, make_symbol_completion_list): Use the above. + * coffread.c (end_symtab, patch_opaque_types): Ditto. + * dbxread.c (end_symtab): Ditto. + * expread.y (block): Ditto. + * mipsread.c (throughout): Ditto. + * symmisc.c (free_named_symtabs): Ditto. + + * symtab.c (list_symbols): Process the first symbol of the + static psymbols list. + (types_info): Restore this function from its untimely #if 0. + It's not perfect, but it is better than nothing. + (_initialize_symtab): Restore "info types". + +Thu Apr 11 05:23:19 1991 John Gilmore (gnu at cygint.cygnus.com) + + * m68k-stub.c: Remote stub for 680x0's, created from + rem-m68k.shar (which is removed). + * nindy-share/{Makefile,Onindy.c,blout.h,env.h,nindy.c,ttyflush.c}: + Remove RCS log stuff now that we use CVS and it blows our diffs. + +Wed Apr 10 14:18:06 1991 John Gilmore (gnu at cygint.cygnus.com) + + * symmisc.c (free_named_symtab): Make it work, in its current + kludgy fashion. Change result to indicate if we blew away bkpts. + * dbxread.c (end_symtab): Accumulate result from + free_named_symtab and print warning if we blew user's state. + * symfile.h: free_named_symtab now returns an int. + +Mon Apr 8 23:57:43 1991 John Gilmore (gnu at cygint.cygnus.com) + + * dbxread.c (dbx_symfile_read): Initialize psymbol list if this + is the first symbol read, even if not mainline. + (dbx_psymtab_to_symtab): symfile might be zero, cope. + * exec.c (exec_ops): Add_syms_addr is valid in our tvec. + (set_section_command): New command ("section xxx yyy" -- should + be renamed to "set section xxx yyy" FIXME) which sets the + base address of a section of the exec file, overriding the + virtual address that BFD reports. + +Fri Apr 5 17:14:39 1991 John Gilmore (gnu at cygint.cygnus.com) + + * exec.c: Add add_syms_addr_command to exec_ops, so you can + load symbols at any address while examining an exec file. + +Thu Apr 4 10:09:35 1991 John Gilmore (gnu at cygint.cygnus.com) + + * tm-i386v.h (FLOAT_INFO): Don't define it, since the code + for printing the float info is host-dependent, not + target-dependent. FIXME. + * i386-pinsn.c: Move #includes to top, remove useless ones. + * i386-tdep.c: Don't bother including <.../reg.h> since we + don't use it (and it doesn't exist on host systems). + + * ieee-float.c (ieee_extended_to_double): Convert NaN to Inf. + Convert negative numbers properly. + (ieee_test): Make numbers really random; fix format arg. + + * infcmd.c (attach_command, detach_command): Don't repeat on CR. + * core.c (core_detach): Unpush core_ops, which might not be on + top. We used to just pop the top, which broke things. Don't + need dont_repeat() any more. + (core_file_command): Psst! Don't repeat it. + * remote-nindy.c (nindy_detach): Don't need dont_repeat() now. + * expprint.c (print_subexp): Avoid switch fallthru on + BINOP_ASSIGN_MODIFY, so we can print += and such. + * frame.h: Fix typo. + * inflow.c (kill_command): After killing inferior, print our + current frame in the core file, if we have one. + (generic_mourn_inferior): When inferior dies, either select + the current frame (in the new target, e.g. core file), or + set both the current and selected frames to NULL. + + Changes from Peter Schauer. + + * infptrace.c: Avoid <sys/ptrace.h> on USG. + + * Make all file names fit in 14 characters (sigh and damn!): + mv hp300hpux-xdep.c hp300ux-xdep.c + mv symmetry-xdep.c symm-xdep.c + mv symmetry-tdep.c symm-tdep.c + mv convex-opcode.h convx-opcode.h + mv tm-vxworks960.h tm-vx960.h + mv tm-vxworks68.h tm-vx68.h + mv Makefile.srcdir Makefile.sdir + mv gdb-int.texinfo gdbint.texinfo + mv remote-sa.m68k.shar rem-m68k.shar + mv remote-multi.shar rem-multi.shar + * Makefile.dist, README, config.gdb, convex-pinsn.c, + tconfig/symmetry, tconfig/vxworks960, tconfig/vxworks68, + xconfig/hp300hpux, xconfig/symmetry: Change names to shorter + names. + + * command.c (user_info_1, user_info): New command for listing + the user-defined commands. + +Wed Apr 3 15:00:26 1991 John Gilmore (gnu at cygint.cygnus.com) + + * dbxread.c (really_free_pendings): Clear file_symbols + and global_symbols after freeing them; otherwise, running + this function twice (if it appears twice on the cleanup + chain), we try to free things twice. + + * dbxread.c (read_dbx_symtab): Calculate end_of_text_addr + based on text_addr (the address of text in core), not on addr (the + offset between text in the .o file and in core). This change + is from Peter Schauer. + + * main.c: Define ALL_CLEANUPS as a cast of zero. + (return_to_top_level): Use it. + (main): Do all cleanups after each command run as part + of the gdb startup sequence. Also do all cleanups before + entering the command loop, and every time we exit the command + loop and reenter. Before, the cleanups from the startup sequence + were being left undone until the first error! + (command_loop): Rename do_nothing cleanup to command_loop_marker + so we can see it easily when examining the cleanup chain. + (init_signals): Add another do_nothing for signal handling. + (quit_command): Only try to kill target if it has execution. + Problems in the target stack got us into a state where + inferior_pid was nonzero but none of the targets had execution. + In this state you couldn't exit gdb. + + * dbxread.c: Two changes from Peter Schauer. + (echo_command): Fflush output after an echo command. + (show_history): Pass all args to cmd_show_list. + + * utils.c (init_malloc): Call mtrace to turn on tracing + if the environment variable MALLOC_TRACE is set to a file name. + * mtrace.c: Add source file which provides a log of every malloc, + free, and realloc to a trace file. + * mtrace.awk: Add source file which analyzes the trace file. + * Makefile.dist (GNU_MALLOC, MALLOCSRC): Add mtrace.{c,o,awk}. + (VERSION): Roll to 3.94.3. + + * breakpoint.c (breakpoint_1): Add a space to "i watch" output. + (check_duplicates): Don't bother with watchpoints. + (set_raw_breakpoint): Comment about danger of this routine. + (watch_command): Parse and eval all args before calling + set_raw_breakpoint. + + * solib.c (find_solib): Avoid error in referencing memory to + see if any more shared libraries have been added. This is + particularly useful if the target has terminated. Bug reported + by Peter Schauer. + + Changes from Peter Schauer <pesrem@regent.e-technik.tu-muenchen.de> + in bringing up 3.94.2 on the Sun-3. + + * Makefile.dist: Include CFLAGS in rule for cplus-dem.o. + * breakpoint.c (enable_breakpoint): Check for valid watchpoint + expression (in scope) before reenabling watchpoint. + * signame.c (init_sigs): Add missing declaration of i, fix + sys_siglist declaration. + * source.c (list_command): Fixed range computation to use + lines_to_list (). + * stack.c (backtrace_command): Do not allow command if target has + no stack, print informative error message. + * target.c (target_command): Do not write into command line + because this fails if the target command is used in a user defined + command. [This change was enhanced by gnu to support any- + unique-prefix matching on target names.] + * valops.c (value_struct_elt): Avoid infinite loop on an + erroneous attempt to print the member of function (try p main.p). + +Mon Apr 1 17:05:45 1991 John Gilmore (gnu at cygint.cygnus.com) + + * expread.y (name_no_typename): Avoid reduce/reduce errors + caused by ambiguity in handling NAME_OR_INT and NAME_OR_UINT. + Since the GDB parser really doesn't use name_no_typename in a + name-only context, the parser can't tell the diff between + names and numbers here. Avoid allowing a name_no_typename + to be a NAME_OR_*INT to resolve the conflict. + +Sun Mar 31 20:12:07 1991 John Gilmore (gnu at cygint.cygnus.com) + + Bugfixes from Mark Fox (markf@wrs.com) (test=testField.c): + + * valprint.c (val_print_fields): bitfield printing didn't handle + byte order. Indirect through a few more fns to cope. + + * values.c (modify_field): also cope with byte order. + +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: |