Thu Dec 31 11:06:38 1992 Fred Fish (fnf@cygnus.com) * Makefile.in (BISON): Add comment that when bison is used, it must include the "-y" option. * c-exp.y, m2-exp.y (yyrule, yyname, yyss, yyssp, yyvs, yyvsp): Remove defines to remap non-yacc symbols, thus backing out of previous recent changes. Standard policy is that non-yacc parser generators get fixed, rather than adding bug workarounds in gdb for each new one that pops up. Expand comment to note this. * c-exp.y, m2-exp.y (YYDEBUG): Revert back to disabled by default. Thu Dec 31 09:03:02 1992 Stu Grossman (grossman at cygnus.com) * partial-stab.h (near N_BINCL): Remove redundant code in N_BINCL case. Use code in N_SOL. * paread.c: New file that contains all HPPA/HPUX symbol reading code. * dbxread.c: Remove almost all HPPA/HPUX symbol reading code. * (dbx_symfile_init): Use sizeof(long) instead of 4. * (dbx_symfile_offsets): Make static. * (pastab_build_psymtabs): New interface routine for paread to send stabs into dbxread. * gdb-stabs.h: Remove gobs of HPPA cruft. Wed Dec 30 19:47:13 1992 Fred Fish (fnf@cygnus.com) * c-exp.y, m2-exp.y (yyrule, yyname): Remap like other yy* names for byacc. * ch-exp.y (yyrule, yyname): Remap like other yy* names for byacc. * c-exp.y, m2-exp.y (yyreds, yytoks): Remap like other yy* names. * c-exp.y, m2-exp.y (YYDEBUG): Define if MAINTENANCE_CMDS is defined and YYDEBUG is not already defined. * c-exp.y (strncmp): Replace throughout with STREQN, missed them during the previous replacements. * printcmd.c (_initialize_printcmd): Update internal documentation for "set" command to note that the assignment syntax is language dependent. * ch-exp.y (yyreds, yytoks): Remap like other yy* names. * ch-exp.y (YYDEBUG): Define if MAINTENANCE_CMDS is defined and YYDEBUG is not already defined. * ch-exp.y (GDB_REGNAME, GDB_LAST, GDB_VARIABLE, GDB_ASSIGNMENT, single_assignment_action): New terminals and nonterminal for gdb extensions to chill expression grammer. * ch-exp.y (match_dollar_tokens): Lexer routine to match all tokens that start with '$' (register names, convenience vars, etc). * ch-exp.y (tokentab2): Add GDB_ASSIGNMENT. * ch-exp.y (yylex): Call match_dollar_tokens. Mon Dec 28 15:00:01 1992 Stu Grossman (grossman at cygnus.com) * hppah-tdep.c (skip_trampoline_code): Use new macros for accessing minimal symbol data. * infcmd.c (read_pc): Use #ifdef, not #if. * symfile.c (syms_from_objfile): Add CONST to decl for targets. * tm-hppa.h (FIX_CALL_DUMMY): Use new macros for accessing minimal symbol data. * hppah-tdep.c (frame_saved_pc): Use better test for outermost frame. Use find_return_regnum to find the caller. * (find_unwind_entry): New routine to locate stack frame info associated with a procedure. This looks in the $UNWIND_START$ section in the SOM file. * (find_return_regnum): New routine. Uses find_unwind_entry() to figure out where the caller's return address is stored. * (find_proc_framesize): New routine. Uses find_unwind_entry() to figure out the frame size for a procedure. * (saved_pc_after_call): New routine, moved from tm-hppa.h. * (init_extra_frame_info): New routine. Corrects PC and FP for outermost frame if necessary. * (frame_chain): New routine, moved from tm-hppa.h. * (skip_trampoline_code): Handle computed function calls (ie: calls from $$dyncall). * (unwind_command): Temporary support function to allow user to control/observe aspects of the unwind (stack frame) info. * infcmd.c (read_pc): (Temporary), put a hack in to see if the PC was in a system call, if so, then read the PC from r31. * tm-hppah.h (SKIP_TRAMPOLINE_CODE, IN_SOLIB_TRAMPOLINE): Deal with extra arg for skip_trampoline_code(). * (INIT_EXTRA_FRAME_INFO): Define to point at subr (see above). * (FRAME_CHAIN, FRAME_CHAIN_VALID): Turn into real subroutines. * tm-hppa.h (SAVED_PC_AFTER_CALL): Turn into real subroutine. Sun Dec 27 17:34:15 1992 Fred Fish (fnf@cygnus.com) * dbxread.c (dbx_symfile_init, elfstab_build_psymtabs): Call new bfd_get_size() and verify that string table is no larger than the file that is supposed to contain it. * symfile.c (syms_from_objfile): Only complain about configured NAMES_HAVE_UNDERSCORE differences between gdb and bfd if the current target is the default BFD target. Sat Dec 26 20:51:41 1992 Fred Fish (fnf@cygnus.com) * solib.c (BKPT_AT_MAIN): Change to BKPT_AT_SYMBOL. * solib.c (bkpt_names): New array of symbol names to try to use for the "mapping complete" breakpoint. Configurable define SOLIB_BKPT_NAME is first one to try. * solib.c (find_solib): Test debug_base for nonzero rather than just greater than zero. * solib.c (enable_break): Use bkpt_names to look up address at which to set "mapping complete" breakpoint. Tue Dec 22 20:33:38 1992 Fred Fish (fnf@cygnus.com) * defs.h (STRCMP, STREQ, STREQN): New macros. * defs.h (demangle_and_match): Remove prototype. * dwarfread.c (STREQ, STREQN): Remove macros, replaced with STREQ and STREQN defined in defs.h. * dwarfread.c (set_cu_language): For completely unknown languages, try to deduce the language from the filename. Retain behavior that for known languages we don't know how to handle, we use language_unknown. * dwarfread.c (enum_type, symthesize_typedef): Initialize language and demangled name fields in symbol. * dwarfread.c, mipsread.c, partial-stab.h: For all usages of ADD_PSYMBOL_TO_LIST, add language and objfile parameters. * dwarfread.c (new_symbol): Attempt to demangle C++ symbol names and cache the results in SYMBOL_DEMANGLED_NAME for the symbol. * elfread.c (STREQ): Remove macro, use STREQ defined in defs.h. Replace usages throughout. * elfread.c (demangle.h): Include. * elfread.c (record_minimal_symbol): Remove prototype and function. * gdbtypes.h, symtab.h (B_SET, B_CLR, B_TST, B_TYPE, B_BYTES, B_CLRALL): Moved from symtab.h to gdbtypes.h. * infcmd.c (jump_command): Remove code to demangle name and add it to a cleanup list. Now just use SYMBOL_DEMANGLED_NAME. * minsyms.c (demangle.h): Include. * minsyms.c (lookup_minimal_symbol): Indent comment to match code. * minsyms.c (install_minimal_symbols): Attempt to demangle symbol names as C++ names, and cache them in SYMBOL_DEMANGLED_NAME. * mipsread.c (psymtab_language): Add static variable. * stabsread.c (demangle.h): Include. * stabsread.c (define_symbol): Attempt to demangle C++ symbol names and cache them in the SYMBOL_DEMANGLED_NAME field. * stack.c (return_command): Remove explicit demangling of name and use of cleanups. Just use SYMBOL_DEMANGLED_NAME. * symfile.c (demangle.h): Include. * symfile.c (add_psymbol_to_list, add_psymbol_addr_to_list): Fix to match macros in symfile.h and allow them to be compiled if INLINE_ADD_PSYMBOL is not true. * symfile.h (INLINE_ADD_PSYMBOL): Default to true if not set. * symfile.h (ADD_PSYMBOL_*): Add language and objfile parameters. Add code to demangle and cache C++ symbol names. Use macro form if INLINE_ADD_PSYMBOL is true, otherwise use C function form. * symmisc.c (add_psymbol_to_list, add_psymbol_addr_to_list): Remove, also defined in symfile.c, which we already fixed. * symtab.c (expensive_mangler): Remove prototype and function. * symtab.c (find_methods): Remove physnames parameter and fix prototype to match. * symtab.c (completion_list_add_symbol): Name changed to completion_list_add_name. * symtab.c (COMPLETION_LIST_ADD_SYMBOL): New macro, adds both the normal symbol name and the cached C++ demangled name. * symtab.c (lookup_demangled_partial_symbol, lookup_demangled_block_symbol): Remove prototypes and functions. * symtab.c (lookup_symbol): Remove use of expensive_mangler, use lookup_block_symbol instead of lookup_demangled_block_symbol. Remove code to try demangling names and matching them. * symtab.c (lookup_partial_symbol, lookup_block_symbol): Fix to try matching the cached demangled name if no match is found using the regular symbol name. * symtab.c (find_methods): Remove unused physnames array. * symtab.c (name_match, NAME_MATCH): Remove function and macro, replaced with SYMBOL_MATCHES_REGEXP from symtab.h. * symtab.c (completion_list_add_symbol): Rewrite to use cached C++ demangled symbol names. * symtab.h: Much reformatting of structures and such to add whitespace to make them more readable, and make them more consistent with other gdb structure definitions. * symtab.h (general_symbol_info): New struct containing fields common to all symbols. * symtab.h (SYMBOL_LANGUAGE, SYMBOL_DEMANGLED_NAME, SYMBOL_SOURCE_NAME, SYMBOL_LINKAGE_NAME, SYMBOL_MATCHES_NAME, SYMBOL_MATCHES_REGEXP, MSYMBOL_INFO, MSYMBOL_TYPE): New macros. * symtab. (struct minimal_symbol, struct partial_symbol, struct symbol): Use general_symbol_info struct. * utils.c (demangle_and_match): Remove, no longer used. * valops.c (demangle.h): Include. * xcoffexec.c (eq): Remove macro, replace usages with STREQ. * blockframe.c, breakpoint.c, c-exp.y, c-valprint.c, dbxread.c, infcmd.c, m2-exp.y, minsyms.c, objfiles.h, solib.c, stack.c, symmisc.c, symtab.c, valops.c: Replace references to minimal symbol fields with appropriate macros. * breakpoint.c, buildsym.c, c-exp.y, c-typeprint.c, c-valprint.c, coffread.c, command.c, convex-tdep.c, cp-valprint.c, dbxread.c, demangle.c, elfread.c, energize.c, environ.c, exec.c, gdbtypes.c, i960-tdep.c, infrun.c, infrun-hacked.c, language.c, main.c, minsyms.c, mipsread.c, partial-stab.h, remote-es1800.c, remote-nindy.c, remote-udi.c, rs6000-tdep.c, solib.c, source.c, sparc-pinsn.c, stabsread.c, standalone.c, state.c, stuff.c, symfile.c, symmisc.c, symtab.c, symtab.h, tm-sysv4.h, tm-ultra3.h, values.c, xcoffexec.c, xcoffread.c: Replace strcmp and strncmp usages with STREQ, STREQN, or STRCMP as appropriate. * breakpoint.c, buildsym.c, c-typeprint.c, expprint.c, findvar.c, mipsread.c, printcmd.c, source.c, stabsread.c, stack.c, symmisc.c, tm-29k.h, valops.c, values.c: Replace SYMBOL_NAME references with SYMBOL_SOURCE_NAME or SYMBOL_LINKAGE_NAME as appropriate. * buildsym.c (start_subfile, patch_subfile_names): Default the source language to what can be deduced from the filename. * buildsym.c (end_symtab): Update the source language in the allocated symtab to match what we have been using. * buildsym.h (struct subfile): Add a language field. * c-typeprint.c (c_print_type): Remove code to do explicit demangling. * dbxread.c (psymtab_language): Add static variable. * dbxread.c (start_psymtab): Initialize psymtab_language using deduce_language_from_filename. Mon Dec 21 22:24:33 1992 Fred Fish (fnf@cygnus.com) * valprint.c (val_print): Reorganize comment and add note about dependency on target byte ordering. * ch-exp.y (value_array_slice): Fix typo. * ch-valprint.c (chill_val_print): Remove C'ism that arrays of byte sized ints are assumed to be char strings and printed with string syntax. In chill, arrays of chars and arrays of bytes/ubytes are distinquishable, and printed appropriately. Mon Dec 21 18:02:35 1992 Stu Grossman (grossman at cygnus.com) * tm-hppah.h: #define NEED_TEXT_START_END for target memory read/write routines for HPUX. * hppa-pinsn.c (print_insn): Improve handling of be and ble branch targets to compute target address using const from previous instruction if necessary. * Add `Q' operator to print out bit position field various instructions. * hppah-nat.c: #include sys/param.h, and sys/user.h. General cleanups, use new code from Utah. * (store_inferior_registers): Update to new code from Utah. * (initialize_kernel_u_addr): Re-enable decl of struct user u. * (fetch_register): Clear out priv level when reading PCs. * hppah-tdep.c: Get rid of gobs of KERNELDEBUG stuff. * Remove decl of errno, #include wait.h and target.h. * (frame_saved_pc): Check `flags' pseudo-register to see if we were inside of a kernel call. If so, then PC is in a different register. Also, mask out bottom two bits of all PCs so as not to confuse higher level code. * (push_dummy_frame): Create from #define in tm-hppa.h. * (find_dummy_frame_regs): Update from Utah. * (hp_pop_frame): Create from #define in tm-hppa.h. * (hp_restore_pc_queue): New, from Utah. * (hp_push_arguments): Big fixes from Utah. * (pa_do_registers_info, pa_print_registers): Only print out fp regs upon request. * (skip_trampoline_code): New routine to deal with stubs that live in nowhereland between callers and callees. * i860-tdep.c: Remove decl of attach_flag. * infrun.c (wait_for_inferior): Add new macro INSTRUCTION_NULLIFIED, which can tell if the instruction pointed at by PC will be nullified. If so, then step the target once more so as to avoid confusing the user. * (just before step_over_function:): Use stop_func_start, not stop_pc when checking for the existance of line number info. stop_func_start will reflect the proper address of the target routine, not of the stub that we may be traversing to get there. * tm-hppa.h: define SKIP_TRAMPOLINE_CODE and IN_SOLIB_TRAMPOLINE to deal with the stubs that PA compilers sometimes stick between callers and callees. Also, define FLAGS_REGNUM for access to the `flags' pseudo-reg. * (REGISTER_CONVERT_TO_VIRTUAL, REGISTER_CONVERT_TO_RAW): Use memcpy, not bcopy. * (CANNOT_STORE_REGISTER): New from Utah. Says that we can't write gr0, PC regs, and PSW! * (FRAME_FIND_SAVED_REGS): Bug fixes from Utah. * (PUSH_DUMMY_FRAME, POP_FRAME): Make into real routines in hppah-nat.c. * (CALL_DUMMY, FIX_CALL_DUMMY): Fixes from Utah. * Define struct unwind_table_entry. * valops.c (call_function_by_hand): Add another arg to FIX_CALL_DUMMY (under #ifdef GDB_TARGET_IS_HPPA). Why is this necessary? Mon Dec 21 02:17:57 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) * remote-vx.c: remove include of "symfile.h", replace it with "complaints.h" Fri Dec 18 10:32:25 1992 Fred Fish (fnf@cygnus.com) * Makefile.in (VERSION): Bump to 4.7.4. * Makefile.in (SFILES_MAINDIR): Add typeprint.c, c-typeprint.c, m2-typeprint.c, c-valprint.c cp-valprint.c m2-valprint.c. * Makefile.in (HFILES): Add valprint.h. * Makefile.in (OBS): Add typeprint.o, c-typeprint.o, m2-typeprint.o, c-valprint.o, cp-valprint.o m2-valprint.o. * typeprint.c, typeprint.h: New files for language independent type printing functions. * c-typeprint.c, m2-typeprint.c: New files for language dependent type printing functions and definitions. * valprint.h: New include file for language independent value printing definitions. * c-valprint.c, cp-valprint.c, m2-valprint.c: New files for language dependent value printing functions. * c-exp.y (production ptype): Add range_type variable and use new create_range_type function. * c-exp.y (tokentab2, tokentab3), c-lang.c (c_op_print_tab), infcmd.c (path_var_name), language.c (unk_op_print_tab), m2-lang.c (m2_op_print_tab): Change from ANSI-obsolescent "const static" to ANSI-conformant "static const". * c-exp.y (c_create_fundamental_type): Remove unused nbytes. * c-exp.y (c_language_defn, cplus_language_defn): Add c_print_type, and c_val_print. * c-lang.h (c_print_type, c_val_print): Add prototypes. * coffread.c (decode_type): Add range_type variable and call to new create_range_type function. * complaints.c (complain): Remove unused val variable. * complaints.c (_initialize_complaints): Make it void. * convex-tdep.c (value_of_trapped_internalvar): Add range_type variable and call new create_range_type function. * defs.h (enum val_prettyprint): Move enum from value.h to here so we can avoid having to include value.h just for prototypes that need the enum (thanks ANSI). * dwarfread.c (struct_type): Local anonymous_size variable is only used if !BITS_BIG_ENDIAN. * dwarfread.c (decode_subscript_data_item): Add rangetype variable and call new create_range_type function. * elfread.c (elf_symfile_read): Remove unused dbx and text_sect variables. * eval.c (evaluate_subexp): Remove unused local variable name and the statement with no side effects that initializes it. * expprint.c (print_subexp): Change local_printstr to LA_PRINT_STRING. * gdbtypes.c (create_range_type): New function that creates a range type using code fragments from object file readers as an example of what has to be initialized. * gdbtypes.c (create_array_type): Removed index_type, low_bound, and high_bound parameters, replaced with a single range_type parameter. Change function body to use passed in range_type rather than handcrafting one. * gdbtypes.h (create_range_type): Add prototype. * gdbtypes.h (create_array_type): Change prototype parameters. * infrun.c (normal_stop): Remove unused local variables tem and c. * infrun.c (hook_stop_stub): Return 0 rather than random value. * language.c (unk_lang_print_type, unk_lang_val_print): Add stub functions that call error if called. * language.c (unknown_language_defn, auto_language_defn, local_language_defn): Add initializers unk_lang_print_type and unk_lang_val_print. * language.h (struct language_defn): Reformat for larger comments, add la_print_type and la_val_print members. Add LA_PRINT_TYPE and LA_VAL_PRINT macros. Change local_printchar to LA_PRINT_CHAR and local_printstr to LA_PRINT_STRING. * m2-lang.c (m2_create_fundamental_type): Remove unused local variable nbytes. * m2-lang.c (m2_language_defn): Add initializers m2_print_type and m2_val_print. * m2-lang.h (m2_print_type, m2_val_print): Add prototypes. * main.c (execute_command): Remove unused local variable cmdlines. * main.c (echo_command), stabsread.c (read_type), printcmd.c (clear_displays), symmisc.c (block_depth), values.c (clear_value_history): Make testing of truth value of assignment result explicit. * mipsread.c (upgrade_type): Update FIXME to include future use of create_range_type. * printcmd.c (ptype_command, ptype_eval, whatis_command, whatis_exp, maintenance_print_type): Move prototypes and functions to new typeprint.c. * printcmd.c (_initialize_printcmd): Move add_com calls for ptype_command and whatis_command to new typeprint.c. * ser-bsd.c (serial_open): Remove unused variable sgttyb. * source.c (find_source_lines): Local variable c only used when LSEEK_NOT_LINEAR is defined. * stabsread.c (read_array_type): Use new create_range_type function. * stabsread.c (read_range_type): Add new index_type variable and call new create_range_type function rather than handcrafting range types. * symmisc.c (type_print_1): Change usages to LA_PRINT_TYPE. * symtab.c (typedef_print usages): Use c_typedef_print, renamed. * symtab.c (type_print_base usages): Use c_type_print_base. * symtab.c (type_print_varspec_prefix usages): Use c_type_print_varspec_prefix. * symtab.c (type_print_method_args usages): Use cp_type_print_method_args. * valprint.c: Completely ripped apart and the fragments used to create c-valprint.c, cp-valprint.c, m2-valprint.c, and valprint.h. Remaining stuff is language independent. * value.h (struct fn_field): Forward declare for prototypes. * value.h (type_print_1): Remove prototype. * value.h (enum val_prettyprint): Moved to defs.h. * value.h (typedef_print): Prototype renamed to c_typedef_print. * value.h (baseclass_offset): Add prototype. * Makefile.in (SFILES_MAINDIR): Add ch-typeprint.c, ch-valprint.c. * Makefile.in (OBS): Add ch-typeprint.o, ch-valprint.o. * ch-typeprint.c: New file for language dependent type printing. * ch-valprint.c: New file for language dependent value printing. * ch-exp.y (parse_number): Remove prototype and stub function. * ch-exp.y (decode_integer_literal): Removed unused digits and temp variables. * ch-exp.y (convert_float): Completely ifdef out for now. * ch-exp.y (tokentab2, tokentab3, tokentab4, tokentab5), ch-lang.c (chill_op_print_tab): Change from ANSI-obsolescent "const static" to ANSI-conformant "static const". * ch-exp.y (yylex): Add unhandled storage class enumeration literals to switch statement for completeness. * ch-lang.c (chill_create_fundamental_types): Remove unused nbytes variable. Change dummy type to 2 bytes to match int. Handle FT_VOID types gratuituously added to chill DWARF by compiler. Change FT_CHAR case to generate an TYPE_CODE_CHAR type rather than a one byte TYPE_CODE_INT type. * ch-lang.c (chill_language_defn): Add chill_print_type and chill_val_print. * ch-lang.h (chill_print_type, chill_val_print): Add prototypes. Thu Dec 17 00:44:57 1992 John Gilmore (gnu@cygnus.com) Eliminate uses of NAMES_HAVE_UNDERSCORE, using bfd_get_symbol_leading_char instead. * coffread.c (EXTERNAL_NAME): New macro for removing possible leading character from names. (read_coff_symtab): Use BFD's FILE *, don't open a second one. (process_coff_symbol, coff_read_struct_type, coff_read_enum_type): Replace NAMES_HAVE_UNDERSCORE with EXTERNAL_NAME. * kdb-start.c (main): Remove NAMES_HAVE_UNDERSCORE. * minsyms.c (install_minimal_symbols): Replace NAMES_HAVE_UNDERSCORE. Remove SOME_NAMES_HAVE_DOT support (apparently unused). * partial-stab.h: Replace NAMES_HAVE_UNDERSCORE. * solib.c: Replace NAMES_HAVE_UNDERSCORE. * stabsread.h: Remove NAMES_HAVE_UNDERSCORE and HASH_OFFSET. * symfile.c (syms_from_objfile): Insert debugging check to test NAMES_HAVE_UNDERSCORE setting against the BFD support. * doc/gdbint.texinfo (Host Conditionals): Remove NAMES_HAVE_UNDERSCORE, SOME_NAMES_HAVE_DOT, document MEM_FNS_DECLARED. (Target Conditionals): Remove all of the above. * xm-rs6000.h (MEM_FNS_DECLARED): Update comments. * coffread.c (read_coff_symtab, C_BLOCK): Use complain() rather than error() for .bb/.eb. Bug found by Eddie Fung, . Tue Dec 15 10:05:56 1992 Ian Lance Taylor (ian@cygnus.com) * coffread.c (decode_type): catch negative tagndx fields generated by SCO 3.2v4 cc. * exec.c: comment out string following #endif. * configure.in (i[34]86-*-sco3.2v4*): use host i386sco4. * xm-i386sco.h: include and , required by . * config/i386sco4.mh: new file; like i386sco.mh, but don't require gcc, and define const to empty to avoid SCO 3.2v4 cc bug. Tue Dec 15 04:14:24 1992 Fred Fish (fnf@cygnus.com) * complaints.c: New file, code moved from utils.c. * complaints.c (complain): Made into a varargs function. * complaints.h: New file, code moved from symfile.h. * Makefile.in (SFILES_MAINDIR): Add complaints.c. * Makefile.in (HFILES): Add complaints.h. * Makefile.in (OBS): Add complaints.o. * symfile.c (complaint_root, stop_whining, complaint_series, complain, clear_complaints, add_show_from_set for stop_whining): Moved to complaints.c. * symfile.h (struct complaint, complaint_root decl, complain prototype, clear_complaints prototype): Moved to complaints.h. * buildsym.c, coffread.c, dbxread.c, dwarfread.c, elfread.c, gdbtypes.c, mipsread.c, stbsread.c, symfile.c: Include complaints.h. Remove casts from arguments to complain(), which is now a varargs function, and remove unnecessary placeholder zero args. * defs.h (begin_line): Add prototype. * defs.h (vprintf_filtered): Add prototype. * dwarfread.c (varargs.h): Remove, no longer needed. * dwarfread.c (dwarfwarn): Remove prototype and function. * dwarfread.c (complaints): Define a bunch of complaints. * dwarfread.c (SQUAWK): Remove macro defs, convert all usages to standard complain() calls. * utils.c (begin_line): New function that ensures that whatever gets filter-printed next starts on its own line. * utils.c (vprintf_filtered): New func, like vfprintf_filtered, but to stdout (calls vfprintf_filtered internally). Tue Dec 15 02:01:00 1992 John Gilmore (gnu@cygnus.com) * remote.c: Avoid printf_filtered line limit. Suggested by Robert R. Henry, . * infcmd.c (environment_info): Ditto, for Don Allen . * main.c (main): Accept --silent as well as --quiet. Change +help to --help. Suggested by Karl Berry, . * doc/gdbint.texinfo: SWAP_HOST_AND_TARGET => SWAP_TARGET_AND_HOST. Noticed by Andy Jackson, . Mon Dec 14 23:28:15 1992 John Gilmore (gnu@cygnus.com) * tm-nindy960.h, remote-nindy.c: Lint. Mon Dec 14 18:48:52 1992 Fred Fish (fnf@cygnus.com) * gdbtypes.c (create_array_type): Complete rewrite. Now requires a optional type to decorate as an array type, the type of the index, and the bounds of the array. Records this additional info in the array type for use with languages with nonzero array bounds. * gdbtypes.h (enum type_code): Update comment for TYPE_CODE_ARRAY to note that arrays may have bounds. * gdbtypes.h (create_array_type): Update prototype. * c-exp.y (ptype production): Adjust for new create_array_type calling conventions. * coffread.c (decode_type): Call create_array_type rather than handcrafting array types. * convex-tdep.c (value_type): Remove, now use create_array_type. * convex-tdep.c (value_of_trapped_internalvar): Convert calls to vector_type into calls to create_array_type. * dwarfread.c (decode_subscr_data): Name changed to decode_subscript_data_item throughout. * dwarfread.c (decode_subscript_data_item): Rewrite to use create_array_type. Now records index type and range as well. * dwarfread.c (dwarf_read_array_type): Rewrite as part of change to use create_array_type. * dwarfread.c (read_subroutine_type): Test existing user defined types before decorating them, to ensure they are blank, and complain about it if they are not. * dwarfread.c (decode_fund_type): For unrecognized types, always return some valid type (type integer). If the unrecognized type cannot be an implementation defined type, complain as well. * m88k-tdep.c (pushed_size): Update comment for TYPE_CODE_ARRAY. * m88k-tdep.c (store_param): Update comment for TYPE_CODE_ARRAY. * mipsread.c (upgrade_type): Add FIXME comment that code to handcraft arrays should be replaced with call to create_array_type. * stabsread.c (read_array_type): Replace code to handcraft array types with call to create_array_type. * valprint.c (type_print_varspec_prefix): Minor formatting change, join lines that don't need to be split. Mon Dec 14 17:18:42 1992 Stu Grossman (grossman at cygnus.com) * convex-xdep.c, hppab-nat.c, infptrace.c: Remove decl for attach_flag, it now lives in inferior.h. * hppa-pinsn.c: Reformat opcode tables. Add function prototypes. Make most functions static. * hppah-nat.c: General cleanups, remove BSD specific code (since that all lives in hppab-nat.c). * hppah-tdep.c (frame_chain_valid), tm-hppa.h (FRAME_CHAIN): Change sense of test against inside_entry_file(). This fix is from U. of Utah. * tm-hppa.h (PUSH_DUMMY_FRAME, POP_FRAME): Use char * for 2nd arg to read/write_register_bytes(). * gdbtypes.h: Remove const from decl for cplus_struct_default to work around PA-GAS assembler bug. Also, add trailing */ to some comments. * gdbtypes.c: Remove const from decl for cplus_struct_default. Same reason as above. Wed Dec 9 19:53:25 1992 John Gilmore (gnu@cygnus.com) * mipsread.c (parse_symbol): When checking whether a structured type is an enum, check qualifiers of its first member, as well as the base type of the member. Bug found and fixed by John M. Farrell, . * vx-share/{reg.h,xdr_regs.h,xdr_regs.c}: Remove, unused. * remote-vx.c: Don't include vx-share/reg.h. * vx-share/ptrace.h: Reproduce from scratch. * config/{vxworks68,vxworks960}: Don't include xdr_regs.o. * Makefile.in: Remove references to removed files, and to removed 29k-share directories. Tue Dec 8 13:30:58 1992 Fred Fish (fnf@cygnus.com) * c-lang.c (_initialize_c_language): Name changed from _initialize_c_exp. * m2-lang.c (_initialize_m2_language): Name changed from _initialize_m2_exp. * m2-lang.c (_initialize_m2_language): Change malloc to xmalloc since it is no longer inside m2-exp.y, where it was remapped by Makefile. * c-exp.y, m2-exp.y: Migrate code that has nothing to do with expression parsing into c-lang.c and m2-lang.c respectively. * c-lang.c, m2-lang.c: New files, code migrated from c-exp.y and m2-exp.y respectively. * c-lang.h, m2-lang.h: New files, internal interfaces between c-* and m2-* files respectively. * Makefile.in (SFILES_MAINDIR): Add c-lang.c, m2-lang.c. * Makefile.in (HFILES): Add c-lang.h, m2-lang.h. * Makefile.in (OBS): Add c-lang.o, m2-lang.o. * expression.h (struct block): Forward declaration for prototypes. * language.h (struct objfile): Forward declaration for prototypes. * Makefile.in (SFILES_MAINDIR): Add ch-lang.c. * Makefile.in (HFILES): Add ch-lang.h. * Makefile.in (OBS): Add ch-lang.o. * ch-exp.y: Migrate code that has nothing to do with expression parsing into ch-lang.c. * ch-lang.c: New file, code migrated from c-exp.y. * ch-lang.h: New file, internal interface between ch-* files. * ch-lang.c (_initialize_chill_language): Name changed from _initialize_chill_exp. Changes for Amiga Unix from rhealey@ub.d.umn.edu. * config/amix.mh (NAT_FILE): Add, set to nm-sysv4.h. * config/amix.mh (NATDEPFILES): Add. * config/amix.mh (XDEPFILES): Move procfs.o and fork-child.o to NATDEPFILES. * dwarfread.c (decode_subscr_data): Remove spurious test that accepted only integer subscript types. We don't do anything with the type at the moment anyway. Fri Dec 4 06:56:56 1992 Fred Fish (fnf@cygnus.com) * ch-exp.y (match_character_literal): Fix case where no match at all is found. * ch-exp.y (chill_create_fundamental_type): Chill uses fixed width types. For example, "INT" is always 2 bytes regardless of the values of any TARGET_*_BIT macros. So use explicit numeric sizes for the types. Thu Dec 3 12:00:06 1992 Fred Fish (fnf@cygnus.com) * c-exp.y (c_create_fundamental_type): New function to create language specific fundamental types for C. * m2-exp.y (m2_create_fundamental_type): New function to create language specific fundamental types for Modula 2. * c-exp.y (c_language_defn, cplus_language_defn): Add c_create_fundamental_type to language struct initializers. * m2-exp.y (m2_language_defn): Add m2_create_fundamental_type to language struct initializers. * dwarfread.c (expression.h, language.h): Include. * dwarfread.c (ftypes): New array to hold fundamental types for current compilation unit. * dwarfread.c (cu_language_defn): New pointer to language struct for language of current compilation unit. * dwarfread.c (dwarf_fundamental_type): New function to create/lookup fundamental types. * dwarfread.c (set_cu_language): Initialize cu_language_defn. * dwarfread.c (throughout): Replace lookup_fundamental_type with dwarf_fundamental_type. * dwarfread.c (read_file_scope): Zero out ftypes for each new compilation unit (may be different language or different objfile). * gdbtypes.c (lookup_fundamental_type): Move actual type creations into language specific fundamental type creation functions and call via create_fundamental_type. Add comment about this function being obsolescent. * gdbtypes.h (FT_BYTE, FT_UNSIGNED_BYTE): New types, true byte sized signed and unsigned integers. * gdbtypes.h (FT_NUM_MEMBERS): Increment, new types added. * language.c (language_def): New function to lookup a language struct given it's enumeration. * language.h (struct language_defn): Add la_fund_type, a pointer to a function that creates fundamental types for this language. * language.h (create_fundamental_type): New macro to create fundamental types based on the current language. * language.h (language_def): Add prototype. * language.c (unk_lang_create_fundamental_type): New function for initializing language structs, calls error if called. * language.c (unk_language_defn, auto_language_defn, local_language_defn): Use unk_lang_create_fundamental_type. ch-exp.y (chill_create_fundamental_type): New function. ch-exp.y (chill_language_defn): Add chill_create_fundamental_type. ch-exp.y (_initialize_chill_exp): BOOL types are only one byte. Tue Dec 1 17:07:31 1992 Fred Fish (fnf@cygnus.com) * dwarfread.c (CHILL_PRODUCER): Add producer string for GNU chill. * dwarfread.c (handle_producer): Test CHILL_PRODUCER as well as GCC_PRODUCER and GPLUS_PRODUCER. Mon Nov 30 18:46:58 1992 Stu Grossman (grossman at cygnus.com) * remote-udi.c (udi_wait): Don't stop if TIP says that remote is still running. Mon Nov 30 12:00:25 1992 Fred Fish (fnf@cygnus.com) * tm-sun4sol2.h: Add CPLUS_MARKER. Solaris 2.0 requires '.' rather than '$'. This particular piece of braindamage is spreading like ooze. It's now infected libiberty, deja-gnu, gdb, and gcc. * values.c (baseclass_addr): Use CPLUS_MARKER rather than hardwired '$' character. Sun Nov 29 15:22:42 1992 Fred Fish (fnf@cygnus.com) (Changes to break incredibly ugly, unmaintainable 750 line read_struct_type function up into managable pieces.) * Makefile.in (VERSION): Bump to 4.7.3. * stabsread.c (struct field_info): Local struct definition. * stabsread.c (read_member_functions, read_struct_fields, read_baseclasses, read_tilde_fields, attach_fn_fields_to_type, attach_fields_to_type, read_cpp_abbrev): Prototypes and new functions from fragmented read_struct_type. * stabsread.c (stabs_general_complaint): Catchall complaint. * stabsread.c (STABS_CONTINUE): Macro'ize cretinous stabs symbol name continuation code. Use macro throughout. * stabsread.c (various places): Replace add-one-to-pointer with pointer increment. * stabsread.c (read_type): Retain function local copy of type descriptor. Rearrange code calling read_struct_type() to match new conventions. * stabsread.c (define_symbol): For the sake of dbx, gcc emits a single blank as the name of nameless enumerations. Recognize this special case and set nameless flag. * ch-exp.y (GENERAL_PROCEDURE_NAME, LOCATION_NAME): New terminal tokens. * ch-exp.y (access_name): New non-terminal token and production. * ch-exp.y (general_procedure_name): Now a terminal token. * ch-exp.y (location): Expand production. * ch-exp.y (match_simple_name_string): New function. * ch-exp.y (yylex): Call match_simple_name_string and return GENERAL_PROCEDURE_NAME or LOCATION_NAME as appropriate. Wed Nov 25 07:17:13 1992 Fred Fish (fnf@cygnus.com) * munch: Backslash escape vertical bar characters inside grep patterns since they have special meaning for some greps. * parse.c (write_exp_string): Complete rewrite to store string contants as a leading explicit length, followed by the string data, followed by a trailing explicit length. * eval.c (evaluate_subexp), expprint.c (print_subexp), parse.c (length_of_subexp), parse.c (prefixify_subexp): Use recorded explicit length of strings in expression elements, rather than strlen. Adjust code to skip over strings stored in expression elements, and code to access strings, to account for new leading explicit size expression element. * parse.c (length_of_subexp): Test for minimum endpos of 1, not 0, to avoid negative expression element indices. * valops.c (search_struct_method): Minor whitespace change. Mon Nov 23 11:14:15 1992 Fred Fish (fnf@cygnus.com) * c-exp.y (yylex): Add tempbuf, tempbufindex, and tempbufsize, which together maintain a dynamically expandable static buffer for the lexer to use when translating C strings to their internal form (other future uses possible). Fix parsing of C style strings to do the normal C style input conversions of escaped character sequences. * valops.c (value_string): Remove translation of escaped character sequences, now done in C expression parser. * language.h (PRINT_LITERAL_FORM): New macro that takes character and decides if it should be printed in literal form or some other form, based on it's ASCII value and setting of sevenbit_strings. * {c-exp.y, m2-exp.y} (emit_char): Use new PRINT_LITERAL_FORM macro, change indentation style. * ch-exp.y (chill_printchar): Use new PRINT_LITERAL_FORM macro. * ch-exp.y (chill_printstr): First cut at real function instead of error stub. Sun Nov 22 16:21:41 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) * nindy-share/stop.h: fixed bogus comment-end in copyright message * i960-pinsn.c: fixed two calls of fputs_filtered that had 3 arguments Fri Nov 20 21:35:57 1992 Fred Fish (fnf@cygnus.com) * defs.h (sevenbit_strings): Add declaration. * defs.h (printchar): Replace with gdb_printchar. * language.h (language_defn): Add new function pointers la_printchar and la_printstr, to do language dependent printing of characters and strings. * language.h (local_printchar, local_printstr): New macros to call language dependent functions pointed to by la_printchar and la_printstr respectively. * c-exp.y (emit_char, c_printchar, c_printstr): New language dependent functions for printing characters and strings. * c-exp.y (c_language_defn, cplus_language_defn): Add c_printchar and c_printstr. * command.c (do_setshow_command): Rename printchar use to gdb_printchar. * expprint.c (print_subexp): Replace C style string output with call to local_printstr. * language.c (unk_lang_printchar, unk_lang_printstr): New stubs, currently errors. * language.c (unknown_language_defn, auto_language_defn, local_language_defn): Add unk_lang_printchar and unk_lang_printstr. * m2-exp.y (emit_char, m2_printchar, m2_printstr): New language dependent functions to print characters and strings. * m2-exp.y (m2_language_defn): Add m2_printchar and m2_printstr. * utils.c (printchar): Renamed to gdb_printchar. * valprint.c (print_string): Remove prototype, function moved to c-exp.y, where it becomes c_printstr. * valprint.c (print_max): Made global for reference from the language dependent printing routines in *-exp.y. * valprint.c (repeat_count_threshold): New variable with function of old REPEAT_COUNT_THREHOLD define, but now settable by user. Change all references to old macro to references to new variable. * valprint.c (value_print, val_print): Replace calls to print_string with calls to local_printstr. * valprint.c (val_print): Replace C style character printing with call to local_printchar. * valprint.c (val_print): Add case for TYPE_CODE_CHAR. * valprint.c (_initialize_valprint): Add add_show_from_set call for setting up repeat_count_threshold as print variable. * ch-exp.y (decode_integer_value): New function. * ch-exp.y (decode_integer_literal): Use decode_integer_value. * ch-exp.y (chill_printchar, chill_printstr): New language dependent functions for printing characters and strings. * ch-exp.y (chill_language_defn): Add chill_printchar and chill_printstr. Thu Nov 19 21:22:21 1992 John Gilmore (gnu@cygnus.com) * main.c (main): Print GDB version number in gdb -help; doc pid arg. Suggested by Marty Leisner, . (print_gdb_version): New arg is stdout or stderr. Callers changed. Wed Nov 18 15:05:45 1992 Ian Lance Taylor (ian@cygnus.com) * remote-vx.c (vx_kill): just warn if we can't contact the board, and assume the process has been killed. Wed Nov 18 14:39:57 1992 Stu Grossman (grossman at cygnus.com) * remote-udi.c (udi_open): Reset vars so that user can re-run programs without leaving GDB. * (many routines): Slightly improve error handling. * (download): Zero out BSS by longs instead of bytes to avoid timeouts in real hardware. * 29k-share/udi/udip2soc.c (UDIDisconnect, UDIKill): Indicate that connection is no longer in use after shutdown() of socket. This keeps GDB from dying of a SIGPIPE when you issue multiple `target udi' commands. Wed Nov 18 14:27:47 1992 Fred Fish (fnf@cygnus.com) * language.h (language_format_info): New structure to bundle local formatting information. * language.h (language_defn): Replace individual format info with language_format_info structs. * language.h (local_*_format, local_*_format_prefix, local_*_format_specifier, local_*_format_suffix): New macros for binary/octal/decimal/hex formats to access info elements. * c-exp.y (c_language_defn): Update for new format handling. * m2-exp.y (m2_language_defn): Update for new format handling. * dbxread.c (language.h): Include for partial-stab.h use. * mipsread.c (expression.h, language.h): Include for partial-stab.h use. * defs.h (local_hex_format, local_hex_format_custom, local_hex_string, local_hex_string_custom): Move to language.h. * language.c (local_hex_format_custom, local_hex_string, local_hex_string_custom, local_octal_format_custom): Use new format handling. * language.c (unknown_language_defn, auto_language_defn, local_language_defn): Update for new format handling. * printcmd.c (print_scalar_formatted): Use new macros to access decimal and binary format info for printing. * c-exp.y (chill_language_defn): Update for new format handling. * ch-exp.y (CHARACTER_LITERAL): Add support to yylex. * ch-exp.y (decode_integer_literal): Add function * ch-exp.y (match_integer_literal): Use decode_integer_literal. * ch-exp.y (builtin_type_chill_char): Add definition. * gdbtypes.h (builtin_type_chill_char): Add declaration. Tue Nov 17 11:17:06 1992 Ian Lance Taylor (ian@cygnus.com) * tm-rs6000.h (BELIEVE_PCC_PROMOTION): Define, since AIX cc gets it right. (aix_framedata): added nosavedpc field. (SAVED_PC_AFTER_CALL): Don't try to optimize; just call read_register. (FRAMELESS_FUNCTION_INVOCATION): Pass second argument of 0. (FRAME_SAVED_PC): If PC not saved, use SAVED_PC_AFTER_CALL. * rs6000-tdep.c (skip_prologue): Handle gcc generated stfd instructions as function_frame_info does. Expand special case of st r31,-4(r1) to be st r31,NUM(r1), since gcc can generate offsets other than -4. (pop_frame): Add 4 rather than sizeof (int) to avoid host dependence. (function_frame_info): Set frameless if the function has no frame, and set nosavedpc if the PC was not saved. Handle gcc generated stfd 31,-4(31); st 31, -12(31) correctly. (frameless_function_invocation): New second argument pcsaved; if 0 return whether the function has a frame, if 1 return whether the function saved PC. (frame_initial_stack_address): Correct typo: cache registers for callee_fi, not for fi, (avoids reading garbage memory locations). Mon Nov 16 15:58:07 1992 Stu Grossman (grossman at cygnus.com) * infrun.c (wait_for_inferior (just before step_over_function label)): Change test for stepping into subroutine to check for the presence of line number info. This makes stuff compiled with -g1 cause GDB to not lose control when stepping. * symtab.c (find_pc_line): Improve code per gnu's suggestions. Improve comments as well. Sun Nov 15 09:22:09 1992 Fred Fish (fnf@cygnus.com) * Makefile.in (VERSION): Bump to 4.7.2 * symtab.c (find_pc_symtab): Fix return of random value to caller. * Makefile.in (c-exp.tab.c, m2-exp.tab.c): Add dependency on Makefile since it contains sed patterns used in generation. Add sed pattern to also delete #include of any malloc.h. * c-exp.y, expr.c, expression.h, language.c, m2-exp.y, parser-defs.h, valarith.c, valops.c, value.h: Remap macros and function names to conform to K&R terminology with respect to logical and bitwise operators: UNOP_ZEROP => UNOP_LOGICAL_NOT UNOP_LOGNOT => UNOP_COMPLEMENT BINOP_LOGAND => BINOP_BITWISE_AND BINOP_LOGXOR => BINOP_BITWISE_XOR BINOP_LOGIOR => BINOP_BITWISE_IOR BINOP_AND => BINOP_LOGICAL_AND BINOP_OR => BINOP_LOGICAL_OR PREC_OR => PREC_LOGICAL_OR PREC_AND => PREC_LOGICAL_AND PREC_LOGIOR => PREC_BITWISE_IOR PREC_LOGXOR => PREC_BITWISE_XOR PREC_LOGAND => PREC_BITWISE_AND value_zerop() => value_logical_not() value_lognot() => value_complement() * c-exp.y (c_op_print_tab): Add explicit empty terminator. * m2-exp.y (m2_op_print_tab): Add explicit empty terminator. * i387-tdep.c (sys/dir.h): Remove, appears to be unnecessary and is nonexistant in some SVR4 based systems. * language.c (DEFAULT_ALLOCSIZE): Change from 3 => 4. * m2-exp.y (number_sign, modblock): Make static, #ifdef out unused modblock. * m2-exp.y (ANDAND): Rename to LOGICAL_AND. * source.c (source_info): Fix minor nits, print "1 line" rather than "1 lines", and "language is ". * valarith.c (value_binop): Handle TYPE_CODE_BOOL as well as TYPE_CODE_INT and TYPE_CODE_FLOAT. * valprint.c (val_print): Print TYPE_CODE_BOOL type values as "TRUE" or "FALSE". * values.c (value_from_longest): Handle TYPE_CODE_BOOL. * ch-exp.y: New expression parser, for GNU-Chill. * defs.h (enum language): Add language_chill. * dwarfread.c (set_cu_language): Add LANG_CHILL case and make LANG_MODULA2 a recognized language. * gdbtypes.h (enum_typecode): Note TYPE_CODE_BOOL used for Chill as well as Modula-2. * gdbtypes.y (builtin_type_chill_bool, builtin_type_chill_long, builtin_type_chill_ulong, builtin_type_chill_real): Add. * language.c (set_language_command): Add chill. * language.c (binop_result_type, integral_type, character_type, boolean_type, structured_type, value_true, binop_type_check): Add language_chill cases. * language.h (_LANG_chill): Define. * symfile.c (deduce_language_from_filename): Recognize the filename extensions ".chill", ".c186", and ".c286" for Chill. * valprint.c (typedef_print): Add case for language_chill. * Makefile.in (SFILES_MAINDIR): Add ch-exp.y. * Makefile.in (YYFILES): Add ch-exp.tab.c. * Makefile.in (YYOBJ): Add ch-exp.tab.o. * Makefile.in (saber_gdb): Add unload of ch-exp.y and load of ch-exp.tab.c. * Makefile.in (distclean): Add target ch-exp.tab.c. * Makefile.in (realclean): Add rm of ch-exp.tab.c. * Makefile.in (ch-exp.tab.o, ch-exp.tab.c): New targets. * eval.c (evaluate_subexp): Add OP_BOOL case. * expprint.c (print_subexp): Add OP_BOOL case. Fri Nov 13 20:36:28 1992 John Gilmore (gnu@cygnus.com) * infcmd.c (set_environment_command): Avoid skipping first char of env value if an '=' appears in it. Bug report and fix by Mark Jungerman, . Fri Nov 13 20:24:10 1992 Stu Grossman (grossman at cygnus.com) * infcmd.c (step_over_calls): Improve comments. * symtab.c (find_pc_psymtab): Clean up a bit. * (find_pc_symtab): Fix comments, clean up code. * (find_pc_line): General cleanups, efficiency improvements. Also, don't return garbage when some line info exists, but there was no good match. Thu Nov 5 23:04:38 1992 Rob Ryan (rr2b@andrew.cmu.edu) * xcoffexec.c (vmap_symtab): fixed a bug where if a object has no member, and the stat pointer passed to vmap_symtab was NULL, the wrong vmap entries would be modified. Fixes behavior where attempting to load symbols for a module with no member would mess up already read in symbols. Wed Nov 11 17:09:17 1992 Stu Grossman (grossman at cygnus.com) * Makefile.in: Remove dependancies for 29k-share/dfe/yank.o and 29k-share/dfe/mini2udi.o. * config/a29k-udi.mt: Remove yank.o and mini2udi.o. * alldeps.mak, depend: Update to deal with removal of aforementioned files. * remote-udi.c: Major cleanups. Clean up udi_open and drop requirement for useless 'program' argument. Clean up udi_create_inferior, and udi_load to call common download() routine. Create download routine to load remote hosts directly (with the help of BFD) so that we don't need yank.c and mini2udi.c. Fix udi_detach to call UDIDisconnect with the right arguments. Clean up udi_resume, don't assign tip_error twice. Clean up udi_wait, straighten out status codes. Make udi_kill really work. Fri Nov 6 10:26:01 1992 Steve Chamberlain (sac@thepub.cygnus.com) * c-exp.y: separated host/target idea of integer type size, removed redundant parse rules. (YYSTYPE): added typed_val, removed UINT and CHAR rules. (parse_number): work out the targetwise type of a number based upon it's size and qualifiers. (yylex): chars are now treated the same way as ints. * source.c (indentify_source_line): don't core dump if wanted line is larger than number of lines in source. (can happen when coff gets confused about #included source). Fri Nov 6 03:00:39 1992 John Gilmore (gnu@cygnus.com) Fix problems noticed by Allan Steel, , when debugging a program with 100 shared libraries. * solib.c (solib_map_sections): Always close the BFD we open. Free all malloc'd storage we allocate, too, including error cases. (struct so_list): Remove unused so_bfd member. (clear_solib): Don't bother closing so_bfd. * symfile.c (symfile_bfd_open): Mark newly opened BFD as cacheable. `So many symbol files, so little file descriptors.' Fri Nov 6 00:14:38 1992 John Gilmore (gnu@cygnus.com) * m68k-stub.c: Remove ansidecl.h and the few uses of it. Stubs should stand alone as much as possible. * source.c (show_directories): Avoid printf_filtered length prob pointed out by Jonathan Stone. * i960-pinsn.c (MEM_MAX, MEM_SIZ): Set upper limit properly to avoid accesses beyond end of table. Fix by Lee W. Cooprider, . Thu Nov 5 17:33:08 1992 Fred Fish (fnf@cygnus.com) * {ser-bsd.c, ser-termios.c} (serial_close): Pass address of struct, not struct itself. * serial.h (serial_restore): Fix prototype, takes pointer not struct. Thu Nov 5 17:12:42 1992 Stu Grossman (grossman at cygnus.com) * Makefile.in (depend): Add nm.h to the list of things to fixup. * depend: Redo, to fixup nm.h problems with *-tab.c files. Thu Nov 5 00:19:51 1992 John Gilmore (gnu@cygnus.com) * i386-stub.c: Remove ansidecl.h and the few uses of it. Stubs should stand alone as much as possible. * README: Add remote-es1800.c and remote-st2000.c to table. * go32-nat.c: Remove, there is no native go32 support. * go32-xdep.c: Remove unused fork, fvork, wait, execlp, kill_inferior. Wed Nov 4 15:27:31 1992 Stu Grossman (grossman at cygnus.com) * inflow.c (pass_signal, set_sigint_trap, clear_sigint_trap): Add new routines to deal with sending SIGINTs to attached processes when the user interrupts the controlling GDB. * inftarg.c (child_wait), procfs.c (procfs_wait): Add calls to the aforementioned routines when waiting for the attached process. * elfread.c, mipsread.c: Include . * i386-stub.c: Include "ansidecl.h" to deal with prototypes. * serial.h: Add prototype for serial_restore(). Wed Nov 4 11:13:25 1992 Ian Lance Taylor (ian@cygnus.com) * minsyms.c (lookup_minimal_symbol_by_pc): subtract 1, not 2, from minimal_symbol_count, because the NULL symbol is not included in the count. This prevented this function from finding the last symbol in the table. Tue Nov 3 11:29:17 1992 Ian Lance Taylor (ian@cygnus.com) * dbxread.c (process_one_symbol): if not defined (BLOCK_ADDRESS_FUNCTION_RELATIVE), set function_start_offset at the start of the function, not just after N_FUN. Fri Oct 30 16:33:02 1992 Fred Fish (fnf@cygnus.com) * Makefile.in (c-exp.tab.c, m2-exp.tab.c): Add sed patterns to remap all malloc's to xmalloc's and all realloc's to xrealloc's. * c-exp.y, m2-exp.y: Add comment about how malloc/realloc are remapped to xmalloc/xrealloc, use only malloc/realloc in grammer file. Remove preprocessor defines that previously did remapping. Fri Oct 30 00:58:18 1992 John Gilmore (gnu@cygnus.com) * infcmd.c (run_command): Avoid long calls to printf_filtered. Bug fix courtesy of Alexander Klaiber. Tue Oct 27 17:08:45 1992 K. Richard Pixley (rich@cygnus.com) hp300 native support (hp300hpux untested). * hp300ux-xdep.c: removed. * xm-hp300bsd.h (REGISTER_U_ADDR): removed. * xm-hp300hpux.h: updated copyright. (ATTACH_DETACH, FETCH_INFERIOR_REGISTERS): removed. * nm-hp300bsd.h, nm-hp300hpux.h, hp300ux-nat.c: new files. * Makefile.in (HFILES): added nm-hp300bsd.h and nm-hp300hpux.h. * config/hp300bsd.mh (XDEPFILES): removed infptrace.o inftarg.o fork-child.o coredep.o corelow.o. (NAT_FILE, NATDEPFILES): new macros. * config/hp300bsd.mt (TDEPFILES): removed exec.o. * config/hp300hpux.mh (XDEPFILES): removed infptrace.o inftarg.o fork-child.o. (NAT_FILE, NATDEPFILES): new macros. * config/hp300hpux.mt (TDEPFILES): removed exec.o. Vax ultrix native support. * nm-vax.h: new file. * Makefile.in (HFILES): added nm-vax.h. * config/vaxult.mh (XDEPFILES): infptrace.o inftarg.o fork-child.o coredep.o corelow.o removed. (NAT_FILE, NATDEPFILES): new macros. * xm-vax.h: updated copyright. (REGISTER_U_ADDR): removed. Apollo native support (untested). * Makefile.in (HFILES): added nm-apollo68[bv].h. * a68v-nat.c, nm-apollo68[bv].h: new files. * xm-apollo68[bv].h (FETCH_INFERIOR_REGISTERS): removed. * xm-apollo68b.h (PTRACE_IN_WRONG_PLACE): removed. * a68v-xdep.c: removed. * config/apollo68[bv].mh (XDEPFILES): removed infptrace.o inftarg.o fork-child.o a68v-xdep.o. (NAT_FILE, NATDEPFILES): new macros. * defs.h: include nm.h. * coredep.c, infptrace.c, procfs.c, rs6000-nat.c, sparc-nat.c, sparc-tdep.c, : do not include nm.h. * doc/gdbint.texinfo: nm.h now included in defs.h. Fri Oct 23 04:47:17 1992 Stu Grossman (grossman at cygnus.com) * Makefile.in (VERSION): 4.7.1 post release! * config/hppahpux.mh (NATDEPFILES): Add hppah-nat.o. Fri Oct 23 00:48:08 1992 John Gilmore (gnu@cygnus.com) * Makefile.in (VERSION): gdb-4.7 release. * README: Update for gdb-4.7. Thu Oct 22 11:24:18 1992 Stu Grossman (grossman at cygnus.com) * sparc-tdep.c: include nm.h (for now) so that we get USE_PROC_FS when necessary. * alldeps.mak, depend: Update. Thu Oct 22 03:14:36 1992 John Gilmore (gnu@cygnus.com) * partial-stab.h ('f', 'F'): Don't reference pst->textlow if pst is null. * tm-sun4sol2.h (PROLOGUE_FIRSTLINE_OVERLAP): Remove -- it causes problems in setting breakpoint in the right place in functions with `float' args which are passed as doubles. * xm-vaxbsd.h (MEM_FNS_DECLARED): Avoid erroneous redecl's. * config/rs6000.mh (NATDEPFILES): Add corelow.o. Thu Oct 22 01:01:24 1992 Stu Grossman (grossman at cygnus.com) * Makefile.in (HFILES): Add nm-i386sco.h. * dwarfread.c: include for SCO. * infptrace.c: Don't include ptrace.h under SCO. * config/i386sco.mh: Use -D_POSIX_SOURCE instead of -posix for gcc. * config/i386v.mt: Add exec.o to TDEPFILES. Wed Oct 21 19:08:20 1992 Stu Grossman (grossman at cygnus.com) * i386v-nat.c: Remove space from front of #endif. * irix4-nat.c: Remove externs of registers[], include inferior.h instead. * mips-nat.c: Explicitly initialize zerobuf to 0! * mips-tdep.c (init_extra_frame_info): Undo John's last change. Always setup fci->frame, even if it's non-zero. Too many places depend upon this behavior (and I have to get a release out the door)! * mipsread.c (parse_partial_symbols, psymtab_to_symtab_1): Set processing_gcc_compilation if we find the embedded stabs marker. This fixes several bugs with finding the location of short or char function parameters passed on the stack. Wed Oct 21 17:46:07 1992 K. Richard Pixley (rich@sendai.cygnus.com) Native support for sun4sol2. * xm-sysv4.h (USE_PROC_FS, ATTACH_DETACH): removed to nm-sysv4.h. * nm-sysv4.h: new file. * Makefile.in (HFILES): added nm-sysv4.h. * config/sun4sol2.mh (XDEPFILES): removed procfs.o fork-child.o. (NAT_FILE, NATDEPFILES): new macros. * config/sun4sol2.mt (TDEPFILES): removed exec.o and solib.o. Wed Oct 21 03:51:01 1992 John Gilmore (gnu@cygnus.com) * coredep.c: Include "nm.h" to get REGISTER_U_ADDR. * doc/gdbint.texinfo: Improve REGISTER_U_ADDR and USE_PROC_FS doc. * Makefile.in (VERSION): Tick to 4.6.9. Tue Oct 20 23:27:56 1992 John Gilmore (gnu@cygnus.com) * mipsread.c (UNSAFE_DATA_ADDR): Remove MIPS-host-specific definition, replace with portable one. * remote-nindy.c: Lint. (nindy_wait): Return type is int, result is inferior_pid. * symmisc.c (dump_psymtab): Only print section_offsets if set. (initialize_symmisc): Remove empty function. * tm-spc-noun.h, tm-sun4os4.h, tm-sun4sol2.h (STACK_END_ADDRESS): Remove obsolete, misspelled macro. * doc/gdbint.texinfo: Document obsolete STACK_END_ADDR. (all @node commands): Use new form to avoid nitpicking errors. * doc/gdbint.texinfo: Document host/native/target split. Wed Oct 21 00:14:34 1992 Stu Grossman (grossman at cygnus.com) * mips-nat.c (zerobuf): Get rid of const to avoid gcc warnings. * xm-mips.h (offsetof): Don't define this if __STDC__. Tue Oct 20 21:32:18 1992 K. Richard Pixley (rich@sendai.cygnus.com) umax native support (untested). * config/umax.mh (XDEPFILES): removed infptrace.o inftarg.o fork-child.o. (NAT_FILE, NATDEPFILES): new macros. * config/umax.mt (TDEPFILES): removed exec.o. * xm-umax.h (U_REGS_OFFSET, ATTACH_DETACH, REGISTER_U_ADDR): removed to nm-umax.h. * nm-umax.h: new file. * Makefile.in (HFILES): added nm-umax.h. hppa native support (untested). * config/hppahpux.mh, config/hppabsd.mh (XDEPFILES): now empty. (NAT_FILE, NATDEPFILES): new macros. * config/hppabsd.mt (TDEPFILES): removed exec.o and hppab-core.o. * config/hppahpux.mt (TDEPFILES): removed exec.o. * xm-hppa[bh].h (REGISTER_U_ADDR, U_REGS_OFFSET): removed. * nm-hppa[bh].h, hppa[bh]-nat.c: new files. * hppa[bh]-xdep.c: removed. * hppa[bh]h-tdep.c: do not include ptrace.h. * Makefile.in (HFILES): added nm-hppa[bh].h. * doc/gdbint.texinfo: add PUSH_DUMMY_FRAME, POP_FRAME. Tue Oct 20 00:01:46 1992 Stu Grossman (grossman at cygnus.com) * mips-nat.c: Straighten out include files. Work around conflicting defs of JB_xxx syms in and for Ultrix-4.2. Mon Oct 19 15:09:57 1992 Stu Grossman (grossman at cygnus.com) * mips-nat.c (fetch_core_registers, register_addr): Copy from coredep.c, but zero out FP_REGNUM & ZERO_REGNUM so that stack backtraces from core files work. * config/decstation.mh, config/irix3.mh: Remove coredep.o. Functions are now defined in mips-nat.c. * tm-irix3.h: Put MIPS_EFI_SYMBOL_NAME in here too. * remote-hms.c: Disable all uses of serial_nextbaudrate and serial_default_name(). * remote-hms.c, ser-go32.c, serial.h: Change from serial_timedreadchar() to new serial_readchar(). * Makefile.in (HFILES): Fixup list of nm-*.h files. Add missing ones. Mon Oct 19 12:45:23 1992 Per Bothner (bothner@cygnus.com) * c-exp.y: Moved handling of 'const' and 'volatile' from to . This removes 2 conflicts. Sun Oct 18 00:36:30 1992 Fred Fish (fnf@cygnus.com) * breakpoint.c (breakpoint_re_set_one): Don't delete watchpoints from breakpoint table when reseting breakpoints. Sat Oct 17 00:59:23 1992 Fred Fish (fnf@cygnus.com) Native support cleanup and corefile fixes for i386 SVR4 systems. * i386-tdep.c (supply_gregset, fill_gregset, supply_fpregset, fill_fpregset): Moved to i386v4-nat.c * i386v4-nat.c, nm-i386v4.h, : New files. * i386sol2.mh, i386v4.mh, ncr3000.mh (NAT_FILE): Use nm-i386v4.h. * i386sol2.mh, i386v4.mh, ncr3000.mh (NATDEPFILES): Add corelow.o, change i386v-nat.o to i386v4-nat.o. Fri Oct 16 13:06:08 1992 K. Richard Pixley (rich@sendai.cygnus.com) Miscellaneous 386 configs updated. * config/i386aout.mt (TDEPFILES): removed exec.o. * config/i386sol2.mh, config/ncr3000.mh, config/i386v4.mh (XDEPFILES): removed procfs.o fork-child.o i386-xdep.o. (NAT_FILE, NATDEPFILES): new macros. * config/i386aout.mt, config/i386sol2.mt, config/ncr3000.mt, config/i386v4.mt (TDEPFILES): removed exec.o. * config/i386v32.mh (XDEPFILES): removed infptrace.o inftarg.o fork-child.o coredep.o corelow.o i386-xdep.o i387-tdep.o. (NAT_FILE, NATDEPFILES): new macros. * config/i386sco.mh (XDEPFILES): removed infptrace.o inftarg.o fork-child.o coredep.o corelow.o i386-xdep.o. (NAT_FILE, NATDEPFILES): new macros. Native support cleanup for i386bsd (untested). * config/i386bsd.mt (NATDEPFILES): exec.o removed. * config/i386bsd.mh (NATDEPFILES): added exec.o * tm-i386bsd.h (FLOAT_INFO): removed. * nm-i386bsd.h (FLOAT_INFO): added. Native support for i386v (untested). * config/i386v.mh (XDEPFILES): removed infptrace.o inftarg.o fork-child.o coredep.o corelow.o i386-xdep.o i387-tdep.o. (NAT_FILE, NATDEPFILES): new macros. * config/i386v.mt (TDEPFILES): removed exec.o, added i387-tdep.o. * i386-xdep.c: removed. * Makefile.in (HFILES): added nm-i386v.h * i386v-nat.c, nm-i386v.h: new file. * xm-i386v.h: (REGISTER_U_ADDR, i386_register_u_addr): removed to nm-i386v.h. * tm-i386v.h (FLOAT_INFO): removed. Native support for linux (untested). * config/linux.mh (XDEPFILES): removed infptrace.o inftarg.o fork-child.o coredep.o corelow.o i387-tdep.o i386-xdep.o. (NAT_FILE, NATDEPFILES): new macros. * config/linux.mt (TDEPFILES): removed exec.o, added i387-tdep.o. * Makefile.in (HFILES): added nm-linux.h. * nm-linux.h: new file. * xm-linux.h: updated copyright. cleaned up formatting. (ATTACH_DETACH, U_REGS_OFFSET): removed to nm-linux.h. Native support for sun386 (untested). * config/sun386.mh (XDEPFILES): removed infptrace.o inftarg.o fork-child.o sun386-xdep.o. (NAT_FILE, NATDEPFILES): new macros. * config/sun386.mt (TDEPFILES): removed exec.o. * Makefile.in (HFILES): added nm-sun386.h. * sun386-nat.c, nm-sun386.h: new file. * sun386-xdep.c: removed. * xm-sun386.h: updated comment and copyright. (ATTACH_DETACH, FETCH_INFERIOR_REGISTERS): removed to nm-sun386.h. Native support for i386mach (untested). * config/i386mach.mh (XDEPFILES): removed infptrace.o inftarg.o fork-child.o mach386-xdep.o. (NAT_FILE, NATDEPFILES): new macros. * Makefile.in (HFILES): added nm-i386mach.h. * nm-i386mach.h, i386mach-nat.c: new files. * mach386-xdep.c: removed. * xm-i386mach.h: updated copyright. (ATTACH_DETACH, FETCH_INFERIOR_REGISTERS): removed to nm-i386mach.h. Native separation for go32 (untested). * config/go32.mh (NAT_FILE, NATDEPFILES): new macros. * go32-nat.c: new file. * go32-xdep.c (call_ptrace, child_resume, fetch_inferior_registers, store_inferior_registers, child_xfer_memory, fetch_core_registers): removed to go32-nat.c. Native support for m88k (untested). * Makefile.in (HFILES): added nm-m88k.h * xm-delta88.h, xm-m88k.h (REGISTER_U_ADDR, FETCH_INFERIOR_REGISTERS): removed. * config/m88k.mh, config/delta88.mh (XDEPFILES): infptrace.o inftarg.o fork-child.o m88k-xdep.o removed to NATDEPFILES. (NAT_FILE, NATDEPFILES): new macros. * config/m88k.mt, config/delta88.mt (TDEPFILES): removed exec.o. * m88k-nat.c, nm-m88k.h, nm-delta88.h: new files.o. * m88k-xdep.c: removed. Fri Oct 16 04:16:30 1992 John Gilmore (gnu@cygnus.com) * i386b-nat.c: Comment changes. * nm-i386bsd.h, xm-i386bsd.h: Split native dependent pieces out into new nm-file. * config/i386bsd.mh (NAT_FILE): Point to new nm-file. Fri Oct 16 03:34:01 1992 John Gilmore (gnu@cygnus.com) Avoid longjmp()-catching compilation errors in cross-ports. * doc/gdbint.texinfo: Update GET_LONGJMP_TARGET, L_SET doc. * irix4-nat.c, mips-nat.c (JB_ELEMENT_SIZE, get_longjmp_target): Move from mips-tdep.c and tm-{irix3,mips}.h. * mips-nat.c: Remove a bunch of code that was ifdef'd out of native MIPS ports. * nm-irix3.h, nm-mips.h (GET_LONGJMP_TARGET): Move from tm-irix3.h and tm-mips.h. * ultra3-nat.c (register_addr): Move from ultra3-xdep.c. (fetch_core_registers): Fix bfd_seek arguments. Fri Oct 16 03:02:28 1992 John Gilmore (gnu@cygnus.com) Make core files work again (add back the `core' target). * config/decstation.mh, news.mh, sun2os3.mh, sun2os4.mh (NATDEPFILES): Add corelow.o. * config/delta88.mt, m88k.mt (TDEPFILES): Remove coredep.o, it's native dependent. * config/3b1.mh, bigmips.mh, hp300bsd.mh, hppabsd.mh, hppahpux.mh, i386sco.mh, i386v.mh, i386v32.mh, irix3.mh, isi.mh, linux.mh, littlemips.mh, merlin.mh, news1000.mh, pn.mh, rtbsd.mh, tahoe.mh, vaxbsd.mh, vaxult.mh (XDEPFILES): Add corelow.o whenever coredep.o appears. FIXME, these should be moved to NATDEPFILES for native use only. Thu Oct 15 21:53:53 1992 K. Richard Pixley (rich@sendai.cygnus.com) Ultra3 host/target/native split. (untested). * ultra3-xdep.c: updated copyright. Do not include sys/ptrace.h. (fetch_register, fetch_inferior_registers, store_inferior_registers, fetch_core_registers): removed to ultra3-nat.c. * xm-ultra3.h (FETCH_INFERIOR_REGISTERS, U_REGS_OFFSET): removed to nm-ultra3.h. * Makefile.in (HFILES): added nm-ultra3.h. * nm-ultra3.h, ultra3-nat.c: new files for native support. * config/ultra3.mh (XDEPFILES): removed infptrace.o inftarg.o fork-child.o. (NAT_FILE, NATDEPFILES): new macros for native support. * config/ultra3.mt (TDEPFILES): exec.o removed. * xm-vaxult.h: add MEM_FNS_DECLARED. Thu Oct 15 02:59:30 1992 John Gilmore (gnu@cygnus.com) * Makefile.in (VERSION): Roll to 4.6.8. (OBS): Put version.o first, so Makefile rebuild happens early. * command.h: Publicize prototype for not_just_help_class_command. * command.c: Remove proto. * maint.c: Mark "mt" as an abbrev, to avoid duplicated help output. Move "maint info" from class info to class maintenance, and improve text. * infrun.c: Move "stop" to class_obscure, and give it a function so it will not be seen as a global help topic. FIXME, it should be possible to set these attributes independently. * core.c (core_command): Make nicer error message for no core support. Lint around file_ptr's (bfd's off_t's) and bfd_seek. * dbxread.c (read_dbx_symtab): Use L_SET as bfd_seek arg. (elfstab_build_psymtabs): staboffset and stabstroffset args are file_ptr's. * dwarfread.c (struct dwfinfo): Convert dbfoff, lnfoff to file_ptr. (scan_compilation_units): Punt unused filename arg. dbfoff, lnoffset, and curlnoffset are file_ptr's now. (dwarf_build_psymtabs): Drop desc and filename args; use objfile. dbfoff and lnoffset are file_ptr's now. (read_ofile_symtab): foffset is now file_ptr. Use L_SET in bfd_seek. * elfread.c (struct elfinfo): dboffset and lnoffset are file_ptr's. (elf_symfile_read): Skip desc and filename args to dwarf_build_psymtabs. Pass file_ptr's to elfstab_build_psymtabs. * gdb-stabs.h: Use file_ptr rather than off_t. * mipsread.c (fixup_symtab): f_ptr is a file_ptr. Re-enable compile-time debug check that someone turned off as "unused". (read_the_mips_symtab): st_filptr is a file_ptr. Fix bfd_seek call. * symfile.h: Update dwarf_build_psymtabs and elfstab_build_psymtabs prototypes. * xcoffread.c (init_stringtab, init_lineno, xcoff_symfile_read): Use file_ptr offsets. bfd_seeks use L_SET. Thu Oct 15 01:27:32 1992 Stu Grossman (grossman at cygnus.com) * mips-tdep.c, mipsread.c, tm-mips.h: Get rid of ".gdbinfo." symbol. #define MIPS_EFI_SYMBOL_NAME instead. Use different value so that demangler won't be invoked. This greatly speeds up stepping. * mips-tdep.c (mips_pop_frame): Rewrite handling of linked_proc_info so that it properly deallocates the appropriate item after it is done with it instead of before. * Don't pass bogus frame pointer to create_new_frame(). Just leave it as zero so that lower level code will figure out the correct value. Wed Oct 14 18:56:28 1992 K. Richard Pixley (rich@sendai.cygnus.com) Sony News native support. * Makefile.in (HFILES): added nm-news.h. * nm-news.h: new file. * config/news.mh (XDEPFILES): removed infptrace.o inftarg.o fork-child.o coredep.o to NATDEPFILES. (NAT_FILE, NATDEPFILES): new macros for native support. * config/news.mt (TDEPFILES): removed exec.o. * remote-vx.c: remove redundant include of sys/time.h. * infrun.c: include ctype.h. Otherwise some machines result in undefined for isdigit. Tue Oct 13 01:27:14 1992 John Gilmore (gnu@cygnus.com) * configure.in: Convert m68k entries to m68* entries to handle all the various m68xxx hosts and targets. * config/news1000.mt: No longer needed, same as news.mt. Fri Oct 9 18:54:37 1992 K. Richard Pixley (rich@sendai.cygnus.com) * config/sun3os[34].mh (NATDEPFILES): remove duplicate inftarg.o. Fri Oct 9 14:20:08 1992 Stu Grossman (grossman at cygnus.com) * Makefile.in (HFILES): Add all nm-irix3.h, nm-irix4.h, nm-sun2.h, nm-mips.h. * config/irix3.mh (NATDEPFILES): nat-mips.o => mips-nat.o. * Makefile.in (alldeps.mak): Add = sign after NATDEPFILES. * config/bigmips.mh config/littlemips.mh: Remove mips-xdep.o. Fri Oct 9 08:41:11 1992 Ian Lance Taylor (ian@cygnus.com) * xm-hppah.h: if __STDC__ is not defined, define HPPA_COMPILER_BUG. symtab.c (decode_line_1): avoid a bug in the HP9000/700 native compiler; see the comment in the file. Fri Oct 9 04:43:43 1992 John Gilmore (gnu@cygnus.com) First cut at support for all BSD variants on 386. * tm-i386bsd.h, xm-i386bsd.h: New config files. * i386b-nat.c: New native support file. * configure.in: Add host and target for i[34]86-*-bsd*. * config/i386bsd.mh, config/i386bsd.mt: New config files. Fri Oct 9 00:31:33 1992 K. Richard Pixley (rich@sendai.cygnus.com) Sun2 native support (untested). * xm-sun2.h (ATTACH_DETACH, FETCH_INFERIOR_REGISTERS, REGISTER_U_ADDR): removed to nm-sun2.h. * nm-sun2.h: new file. * config/sun2os[34].mh (XDEPFILES): infptrace.o inftarg.o fork-child.o sun3-xdep.o removed. (NAT_FILE, NATDEPFILES): new macros. Mips native support. Decstation and iris4 have been tested. Iris3 has not. * mips-tdep.c (supply_gregset, fill_gregset, supply_fpregset, fill_fpregset): removed to irix4-nat.c * mips-xdep.c: removed. * irix4-nat.c, mips-nat.c, nm-irix3.h, nm-irix4.h, nm-mips.h: new files. * procfs.c: include nm.h. * xm-irix3.h (U_REGS_OFFSET, FETCH_INFERIOR_REGISTERS): removed. * xm-irix4.h: bump copyright. (U_REGS_OFFSET, FETCH_INFERIOR_REGISTERS, USE_PROC_FS, PROC_NAME_FMT): removed. * xm-mips.h (FETCH_INFERIOR_REGISTERS): removed. * config/irix4.mh (XDEPFILES): removed procfs.o fork-child.o. (NAT_FILE, NATDEPFILES): new macros for native support. (CC): supply default compiler switches. * config/irix3.mh (XDEPFILES): removed infptrace.o inftarg.o fork-child.o coredep.o. (NAT_FILE, NATDEPFILES): new macros for native support. Note that irix3 is untested. * config/decstation.mh (XDEPFILES): removed infptrace.o inftarg.o fork-child.o mips-xdep.o coredep.o. (NAT_FILE, NATDEPFILES): new macros for native support. Thu Oct 8 23:50:51 1992 K. Richard Pixley (rich@sendai.cygnus.com) * config/rs6000.mh (XDEPFILES): removed fork-child.o. (NATDEPFILES): added fork-child.o * config/sun3os3.mh (XDEPFILES): removed fork-child.o. (NATDEPFILES): added fork-child.o * config/sun3os4.mh (XDEPFILES): removed fork-child.o. (NATDEPFILES): added fork-child.o Thu Oct 8 23:19:25 1992 John Gilmore (gnu@cygnus.com) * infcmd.c (path_info): Avoid 250-char limit on printf_filtered, by using puts_filtered instead. Fri Oct 9 00:28:25 1992 Ken Raeburn (raeburn@cambridge.cygnus.com) * remote-nindy.c (nindy_load): Replacement version from Steve Chamberlain, doesn't require forking to run "strip" or "sx". Thu Oct 8 18:27:35 1992 Stu Grossman (grossman at cygnus.com) * Makefile.in (HFILES): Add nm-*.h files. Thu Oct 8 16:27:45 1992 K. Richard Pixley (rich@sendai.cygnus.com) * config/sun4os4.mh (XDEPFILES): fork-child.o removed. (NATDEPFILES): added fork-child.o. * doc/gdbint.texinfo: document a few more macros, create new section for native macros. Thu Oct 8 13:52:46 1992 Stu Grossman (grossman at cygnus.com) * Makefile.in alldeps.mak depend: Rip out 29k/udi pending resolution of copyright issues. Wed Oct 7 20:08:53 1992 Stu Grossman (grossman at cygnus.com) * Makefile.in (setup-to-dist): Remove -norecursion so that doc subdir gets configured. Wed Oct 7 12:24:01 1992 Ken Raeburn (raeburn@cygnus.com) * Makefile.in (nindy.o): Define "STRIP" as pathname of strip program. * nindy-share/nindy.c (coffstrip): Use that pathname, instead of searching for a "bfd_strip" program. Also, fixed up arguments passed to that program. * tm-nindy960.h (ADDITIONAL_OPTIONS): Use "-ser" rather than "-r", which is now used for something else. Rewrite description of associated parameters to match how gdb does it now. (ADDITIONAL_OPTION_HELP): Fix message accordingly. * m68k-pinsn.c (print_insn_arg): Handle new "`" operand type. Tue Oct 6 14:47:11 1992 K. Richard Pixley (rich@sendai.cygnus.com) NOTICE_SIGNAL_HANDLING_CHANGE macro added to the target vector as to_notice_signals. * inferior.h (proc_signal_handling_change): prototype removed. * infrun.c (NOTICE_SIGNAL_HANDLING_CHANGE): default removed. (handle_command): now calls target_notice_signals. * procfs.c (proc_signal_handling_change): renamed to procfs_notice_signals. Now static. Add prototype. All callers changed. * target.h (struct target_ops): new field, to_notice_signals. (target_notice_signals): new macro to cover new field. * target.c (cleanup_target): default to_notice_signals to ignore. * corelow.c (core_ops), exec.c (exec_ops), inftarg.c (child_ops), procfs.c (procfs_ops), remote-adapt.c (adapt-ops), remote-eb.c (eb_ops), remote-es1800.c (es1800_ops, es1800_child_ops), remote-hms.c (hms_ops), remote-mm.c (mm_ops), remote-nindy.c (nindy_ops), remote-st2000.c (st2000_ops), remote-udi.c (udi_ops), remote-vx.c (vx_ops, vx_run_ops), remote.c (remote_ops), target.c (dummy_target), xcoffexec.c (exec_ops): added static initializer for to_notice_signals. * xm-irix4.h, xm-sysv4.h (NOTICE_SIGNAL_HANDLING_CHANGE): removed. Tue Oct 6 12:13:08 1992 John Gilmore (gnu@cygnus.com) * main.c (define_command): Add forgotten initializer. Tue Oct 6 02:23:17 1992 John Gilmore (gnu@cygnus.com) * language.c, language.h: Move saved_language out to global expected_language. Set expected_language when user expectation changes. * language.c (language_info): Don't print type/range checking gub. * main.c (main): Set expected language. (execute_command): Check against expected language. * symfile.c (set_initial_language): Set expected language. * configure.in, config/i386sol2.{mh,mt}: Preliminary Solaris-x86 conf. Fri Sep 4 00:34:30 1992 Per Bothner (bothner@rtl.cygnus.com) A bunch of changes mostly to improve debugging of C++ programs. Specifically, the calling of inferiors methods is improved. * value.h: New macros METHOD_PTR_IS_VIRTUAL, METHOD_PTR_FROM_VOFFSET, METHOD_PTR_TO_VOFFSET to partially hide the implementation details of pointer-to-method objects. How to tell if the pointer points to a virtual method is still very dependent on the particular compiler, but this should make it easier to find the places to change. * eval.c (evaluate_subexp [case OP_FUNCALL]), valprint.c (val_print [case TYPE_CODE_PTR]): Use the new METHOD_PTR_* macros, instead of a hard-wired-in code that incorrectly assumed a no-longerused representation of pointer-to-method values. And otherwise fix the relevant bit-rotted code. * valprint.c (type_print_base [case TYPE_CODE_STRUCT]): If there are both fields and methods, put a space between. * stabsread.c (read_struct_type): Fix bug in handling of GNU C++ anonymous type (indicated by CPLUS_MARKER followed by '_'). (It used to prematurely exit the loop reading in the fields, so it would think it should start reading methods while still in the fields. This could crash gdb given a gcc that can emit nested type information.) * valops.c (search_struct_method): Pass 'this' value by reference instead of by value. This provides a more consistent interface through a recursive search where the "bottom" functions may need to adjust offsets (due to multiple inheritance). * valops.c, value.h, values.c: Pass extra parameters to value_fn_field and value_virtual_fn_field so we can correctly adjust offset for multiple inheritance. * eval.c (evaluate_subexp [case OP_FUNCALL]): Simplify virtual function calls by using value_virtual_fn_field(). * values.c: New function baseclass_offset, derived from baseclass_addr (which perhaps can be made obsolete?). It returns an offset rather than an address. This is a cleaner interface since it doesn't mess around allocating new values. * valops.c (search_struct_method): Use baseclass_offset rather than baseclass_addr. Mon Oct 5 16:02:04 1992 Stu Grossman (grossman at cygnus.com) * Makefile.in: Re-install 29K/UDI stuff. * remote-udi.c (udi_resume): Clean up. * (udi_wait): Rewrite, leave out bugs. * Add debugging code to print out all register fetches and stores. * Straighten out target_ops. * tm-29k.h (DUMMY_FRAME_RSIZE): Pad out to doubleword. Mon Oct 5 09:46:44 1992 Ian Lance Taylor (ian@cygnus.com) * remote-udi.c (udi_create_inferior): run with no arguments should not pass the program name as an argument, since the UDI code already handles that. (udi_load): get the symbols from prog_name, not arg_string (the load command should really use arg_string as the program name, not prog_name, but at least the run command works now). * munch: HP9000/300 nm puts an extra space between T and symbol name. * config/irix4.mh: added -lsun to XM_CLIBS to get RPC functions needed for vxworks targets. Fri Oct 2 22:04:42 1992 John Gilmore (gnu@cygnus.com) * am29k-tdep.c (_initialize_29k): Make it possible for the user to set and query the address where function calls into the inferior write a small scratch routine. `set call_scratch_address' * inferior.h (PC_IN_CALL_DUMMY): Fix fencepost error. * remote.c (remote_prepare_to_store): Only fetch regs if they are not already cached validly. Thu Oct 1 14:36:42 1992 K. Richard Pixley (rich@sendai.cygnus.com) Rs6000 native support. * infptrace.c: remove #ifdef USG from around include ptrace.h. machines without this header should not be compiling this file. * nm-rs6000.h, rs6000-nat.c: new files for native support. * rs6000-tdep.c: do not include sys/ptrace.h or sys/reg.h. * rs6000-xdep.c: removed. all code now in rs6000-nat.c. * xm-rs6000.h: do not include ptrace.h. (ATTACH_DETACH, FETCH_INFERIOR_REGISTERS): moved to nm-rs6000.h. * config/rs6000.mh (XDEPFILES): removed rs6000-xdep.o. infptrace.o and inftarg.o move to NATDEPFIES. (NAT_FILE, NATDEPFILES): new macro for native support. Sun3 native support. * config/sun3os3.mh, config/sun3os4.mh (NAT_FILE, NATDEPFILES): new macros for native support. (XDEPFILES): moved infptrace.o and inftarg.o to NATDEPFILES, removed sun3-xdep.o. * xm-sun3.h (ATTACH_DETACH, FETCH_INFERIOR_REGISTERS): moved to nm-sun3.h. * sun3-xdep.c: removed. All code is now in sun3-nat.c. * sun3-nat.c, nm-sun3.h: new files for native support. Thu Oct 1 10:30:54 1992 Fred Fish (fnf@cygnus.com) * dwarfread.c (dbsize): New variable to hold size of dwarf info. * dwarfread.c (dwarf_build_psymtabs): Rename dbsize parameter to dbfsize and use it to initialize new local file scope dbsize. * dwarfread.c (read_ofile_symtab): Initialize dbsize and use it. * dwarfread.c (basicdieinfo): Use dbsize to check for oversize DIEs as well as the current check for undersize DIEs. This helps to gracefully detect and reject corrupted DIE information. Thu Oct 1 01:57:56 1992 John Gilmore (gnu@cygnus.com) Add `command hooks' and a hook for inferior program stopping. * command.h (struct cmd_list_element): Remove unused `aux' field. Add new `hook', `hookee', and `cmd_pointer' fields. * command.c (add_cmd): Initialize new fields, elim old. (add_alias_cmd): Clone new fields. (delete_cmd): Un-hook hookee if we're deleting hook. (help_cmd): Tell user the command is hooked, if it is. (lookup_cmd_1): Abbreviations return the original command instead of themselves, so that hooks on the original cmd will be run. * defs.h (enum command_class): Add class_pseudo and comments. * gdbcmd.h (execute_user_command): Add prototype. * infrun.c (normal_stop): If the stop command is hooked, run the hook whenever we stop. (hook_stop_stub): Stub for catch_errors. (_initialize_infrun): Set up pseudo "stop" command. * main.c (execute_user_command): Code extracted from execute_command. (execute_command): If hooked, run the hook before the command. (define_command): If defining a new hook, check the command it is hooking, and warn if none. Install the hook. * source.c (_initialize_source): "l" is an abbrev for "list". * doc/gdb.texinfo: Document command hooks. * Makefile.in (VERSION): Roll to 4.6.7. * config/sun4os4.mh: Remove dup inftarg.o from NATDEPFILES. * infrun.c (breakpoints_inserted): Make it static again. * tm-symmetry.h (FLOAT_INFO): #if 0 it for cross-ptrace abuse. Wed Sep 30 15:33:22 1992 K. Richard Pixley (rich@sendai.cygnus.com) Native file renaming. * nat-sparc.c -> sparc-nat.c * nat-sun4os4.h -> nm-sun4os4.h * nat-trash.h -> nm-trash.h * config/sun4os4.mh: track file renaming. * configure.in: link to nm.h rather than nat.h. * infptrace.c: include nm.h rather than nat.h. Tue Sep 29 14:35:00 1992 K. Richard Pixley (rich@sendai.cygnus.com) Host/target/native split for sun4. * Makefile.in (TSOBS): removed corelow.o. * infptrace.c: included nat.h. * nat-trash.h: temporary header file. This should be removed once all hosts have the native/host/target split. * configure.in: add a symlink from nat-trash.h to nat.h if no other nat file exists for this configuration. * sparc-tdep.c: no longer include sys/ptrace.h. * sparc-xdep.c: removed. contents have been moved to nat-sparc.c. * xm-sparc.h (ATTACH_DETACH, FETCH_INFERIOR_REGISTERS): moved to nat-sun4os4.h. * nat-sparc.c, nat-sun4os4.h: new files for sun4 native support. * config/sun4os4.mh (XDEPFILES): moved infptrace.o and inftarg.o to NATDEPFILES. removed sparc-xdep.o. (NATDEPFILES, NAT_FILE): new macros for native support. Break the direct connection from core_file_command to any particular type of core file support. * target.h (find_core_target): new prototype. * target.c (find_core_target): new function. Walks the target list looking for the core target. * core.c (core_file_command): replace calls to core_detach and core_open with find_core_target and direct calls. Tue Sep 29 10:19:00 1992 Ian Lance Taylor (ian@cygnus.com) * xm-hp300hpux.h: define MEM_FNS_DECLARED; include for infptrace.c. config/hp300hpux.mh: ALLOCA1 was not defined. Mon Sep 28 22:03:41 1992 Stu Grossman (grossman at cygnus.com) * breakpoint.c, exec.c, language.c, main.c, printcmd.c, symfile.c, target.c, valprint.c: Use unfiltered forms of f/printf, et. al. until we can figure out a better way to do paging. Sat Sep 26 02:07:31 1992 John Gilmore (gnu@cygnus.com) * findvar.c (supply_register): Add CLEAN_UP_REGISTER_VALUE hook. * tm-hppa.h (CLEAN_UP_REGISTER_VALUE): Use it. * hppa-coredep.c: Remove, now that we use the hook. * config/hppab.mh, config/hppah.mh: Use standard coredep.o. * hppab-xdep.c, hppah-xdep.c: Remove custom code, use hook. * dbxread.c, partial-stab.h: Replace all #ifdef hp9000s800's with GDB_TARGET_IS_HPPA's. This is a SERIOUS KLUDGE. The code needs to all be ripped out and reimplemented right (see elfread.c). * tm-hppa.h (GDB_TARGET_IS_HPPA): Define. Rename all HPPA files to fit into unique DOS filenames: * *hppabsd* => *hppab* * *hppahpux* => *hppah* Sat Sep 26 00:25:15 1992 John Gilmore (gnu@cygnus.com) Make the /proc support a target-struct in its own right. * Makefile.in: Remove inftarg.[co], since it is now included via config/*.mh files. * config/*.mh: Add inftarg.o and fork-child.o to all *.mh that reference infptrace.o. Add fork-child.o to all *.mh that reference procfs.o. * inferior.h (proc_wait, inferior_proc_init, proc_set_exec_trap): No longer global functions. (fork_inferior): New global function from fork-child.c. * inftarg.c (child_wait): Remove USE_PROC_FS conditional. (ptrace_me, ptrace_him): New stub functions for fork_inferior(). (child_create_inferior): Moved to fork-child.c as fork_inferior. (child_create_inferior): New tiny function that calls fork_inferior. * fork-child.c: New file, containing fork_inferior, which is built from slight mods to inftarg.c's child_create_inferior. * procfs.c (procfs_ops): Add target vector. (attach): Rename as static do_attach. (procfs_create_inferior): New tiny function that calls fork_inferior. (child_xfer_memory): Rename to static procfs_xfer_memory. (store_inferior_registers): Rename to static procfs_store_registers. (inferior_proc_init): Rename to static procfs_init_inferior. (procfs_attach, procfs_detach, procfs_prepare_to_store, procfs_files_info, procfs_open, procfs_mourn_inferior, procfs_can_run): Slightly mangled copies of the corresponding child_XXX routines from inftarg.c. (proc_wait): Renamed to static procfs_wait. (child_resume): Rename to static procfs_resume. (fetch_inferior_registers): Rename to static procfs_fetch_registers. (initialize_proc_fs): Rename to initialize_procfs. Set up procfs_ops, too. * putenv.c: index -> strchr. * regex.c: Always rename bcopy to memcpy, etc. FIXME: Eventually do the renames rather than use #define's. * sparc-tdep.c (deferred_stores): Moved from sparc-xdep.c. Fix bcopy->memcpy. * sparc-xdep.c: Move deferred_stores to target dependent. * xm-irix4.h, xm-sysv4.h (CREATE_INFERIOR_HOOK): No longer needed. Fri Sep 25 21:59:27 1992 John Gilmore (gnu@cygnus.com) Split non-target-dependent code out of target_attach routines. * target.h: Comments on target_attach args and results. * infcmd.c (attach_command): Check for existing execution, call target_attach, set up terminal status and wait_for_inferior, wait for the attach status, and do normal_stop. * inftarg.c (child_attach): Remove target independent stuff. * remote-adapt.c (adapt_attach): Ditto. * remote-mm.c (mm_attach): Ditto. * remote-udi.c (udi_attach): Ditto. * remote-vx.c (vx_attach): Ditto. Cleanup. * remote-hms.c (hms_attach): Remove completely, it was useless. * remote-mm.c, remote-hms.c, remote-udi.c, remote-adapt.c: Remove commented-out start_remote calls. * remote-hms.c, remote-adapt.c, remote-mm.c, remote-udi.c: Remove DENTER and DEXIT macros and their calls. Use a real debugger -- like gdb -- to see what functions are being called when. * utils.c (strcmp_iw): Make nonstatic, for lint. Fri Sep 25 18:48:20 1992 John Gilmore (gnu@cygnus.com) * infrun.c, inftarg.c, inferior.h: Comment and lint cleanups. Fri Sep 25 15:13:44 1992 Stu Grossman (grossman at cygnus.com) * tm-sparc.h, dbxread.c (read_ofile_symtab): Install Jim Wilson's fix to differentiate between gcc1 & gcc2 compiled files so that we can debug calls that pass structs as args correctly. * symmisc.c (dump_symtab): If block was compiled with gcc, say so, and what version. * remote.c (remote_wait): Make regs be char to avoid picayune ANSI compiler warnings. * energize.h: Move all external struct decls to inside of __STDC__, add prototype for energize_shell_wait(). * energize.c (getpty): Clean up, make us really get a controlling terminal. * (energize_initialize): Disable SIGIO prior to setting up for I/O interrupts. Move setsid(), et. al. to getpty(). * (energize_shell_wait): New routine to wait for things started via the shell command, uses wait() instead of /dev/proc. * Also, add prototype for execute_command_1(). Fri Sep 25 12:09:33 1992 K. Richard Pixley (rich@sendai.cygnus.com) * inftarg.c (child_create_inferior, child_attach, child_mourn_inferior): collect unix child process stratum functions which live below the target vector into this file to facilitate host/target/native split. Also, make them static. * inflow.c (child_mourn_inferior): removed. * infrun.c (child_create_inferior, child_attach): removed. (resume): becomes global so that functions below the target vector can find it. * inferior.h (resume): add prototype. (child_mourn_inferior, child_create_inferior, child_attach): remove prototypes. * xcoffexec.c (exec_ops): child_attach and child_create_inferior replaced with find_default_attach and find_default_create_inferior. Fri Sep 25 10:21:04 1992 Ken Raeburn (raeburn@rtl.cygnus.com) * i960-pinsn.c: Use _filtered routines for printing, so symbolic addresses don't get displayed in the wrong positions. Fri Sep 25 09:52:47 1992 K. Richard Pixley (rich@sendai.cygnus.com) Separate core functions along target vector in preparation for native support. Functions above vector now live in core.c. Those below in corelow.c. * core.c (solib_add_stub, core_close, core_open, core_detach, get_core_registers, core_files_info, core_ops): moved to corelow.c (_initialize_core): removed addition of core_ops target. * corelow.c: new file. (solib_add_stub, core_close, core_open, core_detach, get_core_registers, core_files_info, core_ops): moved from core.c (_initialize_corelow): new function. * gdbcore.h (core_open, core_detach): added prototypes. (core_ops): add forward declaration. * Makefile.in (SFILES_MAINDIR): add core.c (OBS): add core.o (TSOBS): change core.o to corelow.o Wed Sep 23 11:14:53 1992 Stu Grossman (grossman at cygnus.com) * m68k-tdep.c (m68k_saved_pc_after_call): Use 'GDB_TARGET_IS_SUN3' instead of 'sun' predefined symbol so that trap analysis code is enabled only when the TARGET is a sun3. Tue Sep 22 17:13:19 1992 Ken Raeburn (raeburn@cambridge.cygnus.com) * tm-i960.h (ext_format_i960): Add top-level declaration. (REGISTER_CONVERT_TO_{VIRTUAL,RAW}): Don't declare it in nested blocks, else Sun4 compiler complains. Tue Sep 22 00:43:51 1992 John Gilmore (gnu@cygnus.com) * mips-pinsn.c (print_insn_arg, case 'B'): Disassemble `break' instruction's argument. Patch from jonathan@cs.stanford.edu (Jonathan Stone). Mon Sep 21 18:16:30 1992 K. Richard Pixley (rich@sendai.cygnus.com) Break the thread of control that implies that a unix child process will be the default target. * target.c (find_default_run_target, find_default_attach, find_default_create_inferior, return_zero): new functions. (cleanup_target): Make return_zero the default for to_can_run. * exec.c (exec_ops), core.c (core_ops): Replace child_attach and child_create_inferior references with find_default_XXX instead. * target.h (struct target_ops): new field, to_can_run. (find_default_attach, find_default_create_inferior): new prototypes. (target_can_run): new macro. * Also added a zero (default) to_can_run element to all static struct target_ops initializations throughout GDB, except: * inftarg.c (child_ops): Use new child_can_run() to enable child runs. * infrun.c (child_create_inferior): Clean up error handling when no exec file is specified. (child_attach): Don't require exec file. Mon Sep 21 19:43:13 1992 John Gilmore and K. Richard Pixley (gnu@cygnus.com) Remove kill_inferior_fast, in favor of target_kill, which goes through the target vector. * inferior.h (kill_inferior_fast): remove declaration. * main.c (disconnect): call quit_cover using catch_errors rather than calling kill_inferior_fast directly. New way goes through the target vector, handles attached processes, and writes command history if appropriate. (quit_cover): new function, wrapper for quit_command. * convex-xdep.c, go32-xdep.c, hppabsd-xdep.c, hppahpux-xdep.c, infptrace.c, procfs.c: Removed all instances of kill_inferior_fast, inlining them into the local kill_inferior when needed. Mon Sep 21 19:23:05 1992 John Gilmore (gnu@cygnus.com) * infrun.c (_initialize_infrun): Alias `i handle' == `i signals'. * stabsread.c (read_struct_type): Simplify complicated expression for dumb DECstation compiler. Mon Sep 21 14:54:35 1992 Ian Lance Taylor (ian@cygnus.com) * m68k-pinsn (print_insn_arg, fetch_arg): added support for operands to memory management instructions, from WRS. Sep 20 08:42:12 1992 Fred Fish (fnf@cygnus.com) * main.c (main): Back out previous language setting changes. Replace with simple default to C before processing any init files. There MUST be a language set, even in the absence of init files or executables, or expression parsing fails. Sat Sep 19 09:52:26 1992 Fred Fish (fnf@cygnus.com) * main.c (main): Move code that sets initial language to symfile.c. Fixup places where command files are processed to be consistent in setting a default language if none has been previously set. * symfile.c (set_initial_language): Add code moved from main() that sets an initial default language when a new symbol file is read. * symfile.c (symbol_file_command): Call set_initial_language. * symtab.c (find_main_psymtab): Add FIXME comment. Wed Sep 16 22:31:55 1992 K. Richard Pixley (rich@sendai.cygnus.com) * breakpoint.c, sparc-tdep.c: comment changes. * configure.in: removed target_dependent line. * remote-mm.c (mm_attach): change printf to error to prevent fallthrough bug. * remote-udi.c (udi_attach): change printf to error to prevent fallthrough bug. * rs6000-tdep.c (push_dummy_frame, pop_dummy_frame): replace calls to {fetch|store}_inferior_registers with calls to target_{fetch|store}_registers, for remote-target independence. Sat Sep 19 04:23:54 1992 John Gilmore (gnu@cygnus.com) * Makefile.in: Fix bug I introduced in merging Rich's change. * infrun.c (child_create_inferior): Use proceed() rather than doing all the same stuff by hand. Thu Sep 17 17:35:37 1992 K. Richard Pixley (rich@sendai.cygnus.com) * Makefile.in, configure.in: add support for files used only when configured native, that is, when host = target. Wed Sep 16 23:03:23 1992 K. Richard Pixley (rich@sendai.cygnus.com) * tm-sparc.h, xm-sparc.h: externs and macros relating to deferred stores are target dependent and were moved from xm to tm. Sat Sep 19 03:14:37 1992 John Gilmore (gnu@cygnus.com) * Makefile.in (gdb-all.texi): Build in objdir, not $srcdir. * config/decstation.mh: Add MMALLOC_LIB and MMALLOC_DISABLE overrides, to avoid problem in xdr_bytes with malloc(0) => 0. Wed Sep 16 20:04:54 1992 K. Richard Pixley (rich@sendai.cygnus.com) * target.h (struct target_ops): removed to_convert_to_virtual and to_convert_from_virtual elements. Initializations removed from all static initializations. (target_convert_to_virtual, target_convert_from_virtual): removed. (host_convert_to_virtual, host_convert_from_virtual): Removed forward declarations. * target.c (cleanup_target): removed default assignments for to_convert_to_virtual and to_convert_from_virtual. * inftarg.c (host_convert_to_virtual, host_convert_from_virtual): removed. * findvar.c (value_of_register, value_from_register): target_convert_to_virtual inlined. * infcmd.c (do_registers_info): target_convert_to_virtual inlined. * valops.c (value_assign): target_convert_from_virtual inlined. Fri Sep 18 02:07:39 1992 John Gilmore (gnu@cygnus.com) * main.c (gdb_readline): Avoid printf_filtered, which sets char position wrong if used for the prompt. * utils.c (puts_filtered): Comment: NOT a puts() replacement! Support for accessing arbitrary MIPS stack frames in memory. * blockframe.c (get_prev_frame_info): If INIT_FRAME_PC_FIRST is set, run it before INIT_EXTRA_FRAME_INFO. * stack.c (frame_info): If PRINT_EXTRA_FRAME_INFO defined, call it. * mips-tdep.c (init_extra_frame_info): Only clobber the `frame' (FP) value in the frame_info struct if it is zero (as from top of execution stack). (setup_arbitrary_frame): Implement FRAME_SPECIFICATION_DYADIC. * mips-xdep.c (fetch_inferior_registers): ZERO_REGNUM always comes back as zero. So does FP_REGNUM, as a trigger for init_extra_frame_info. * tm-mips.h (INIT_FRAME_PC_FIRST): Kludge, FIXME, defined to get the program counter set before INIT_EXTRA_FRAME_INFO is run. (INIT_FRAME_PC): Defined to null. (PRINT_EXTRA_FRAME_INFO): print frame pointer location via symtab. (FRAME_SPECIFICATION_DYADIC): Ask for two args in frame command. Briefly explain MIPS stacks in GDB. Thu Sep 17 03:49:59 1992 John Gilmore (gnu@cygnus.com) * copying.awk, copying.c (show_copying_command, show_warranty_command): Rename from copying_info, warranty_info, to match command function conventions. * utils.c (prompt_for_continue): Reinitialize more-counts before printing anything, and again afterward. Fix comments. (vfprintf_filtered): Eliminate static buffer; use auto buffer, or alloca() if needed. * rs6000-xdep.c: Use correct conditional (IBM6000_TARGET) to detect native versus cross-host. Wed Sep 16 21:57:14 1992 Stu Grossman (grossman at cygnus.com) * m68k-tdep.c (sun3_saved_pc_after_call): Only do trap check for Suns. Rename to m68k_saved_pc_after_call. * tm-68k-noun.h, tm-sun3.h (SAVED_PC_AFTER_CALL): Use m68k_saved... instead of sun3_saved... Wed Sep 16 17:00:07 1992 John Gilmore (gnu@cygnus.com) * Makefile.in (update-depend, update-alldeps): Split out of setup-to-dist, for convenience in rebuilding the depend and alldeps.mak files. (assorted): Update to catch straggler files when building gdb.tar.Z. Tue Sep 15 01:18:50 1992 John Gilmore (gnu@cygnus.com) Preliminary cleanup for splitting host/native/target. * infptrace.c (child_resume): Don't deal with NO_SINGLE_STEP here; it is dealt with at a gdb-target-independent level. * rs6000-tdep.c (single_step): Don't call ptrace, we are a high toned routine. Fix return type to void. * tm-rs6000.h (AIX_BUGGY_PTRACE_CALL): Zap, we think we fixed it. Rich and I believe the "real problem" was that both single_step and target_resume were issuing PT_CONTINUE calls. This would cause the second PT_CONTINUE to sometimes fail because the process was already running. * infptrace.c (child_resume): Remove AIX_BUGGY_PTRACE_CALL kludge. Mon Sep 14 19:20:43 1992 Stu Grossman (grossman at cygnus.com) * energize.c (pty_to_kernel): Must check for EAGAIN as termination condition. (full_filename): Don't prepend dirname if filename begins with /. (breakpoint_notify, kernel_dispatch): Deal with DynamicLoad messages properly!! (getpty (NCR)): Lotsa bug fixes... (kernel_dispatch (case StopRType)): Use kill() instead of killpg() so we can deal with losing systems... (wait_for_events): Work around NCR select() lossage. It doesn't zero out readfds when select() returns zero. (energize_initialize): Use I_SETSIG to get SIGIO interrupts. Use getcwd() instead of getwd() (NCR getwd() seg faults). (energize_wait): Use sigaction() for NCR. Their version of signal() is unreliable by default. * procfs.c (proc_wait): Call print_sys_errmsg() if we get an error from PIOCSWSTOP. * breakpoint.c, core.c, exec.c, language.c, main.c, printcmd.c, symfile.c, target.c, valprint.c: Use _filtered form of *printf. defs.h, utils.c: Make vfprintf_filtered global. * energize.c (send_location): New routine to consolidate all places where we must notify kernel of where the given pc is. (cplus_demangle): Put single-quotes around demangled names. (energize_call_command): Call send_location() after doing up, down, and frame commands. Fri Sep 11 18:28:28 1992 Roland H. Pesch (pesch@fowanton.cygnus.com) * doc/gdb.texinfo, doc/gdbinv-m.m4.in, doc/gdbinv-s.m4.in: first pass at doc for two new remote targets---29K using UDI, and Tandem ST2000 using STDBUG. * doc/all.m4, doc/none.m4: new m4 switch, _ST2000__ * doc/all.m4: turn on H8/300 stuff for generic manual * doc/gdbinv-s.m4.in: remove text on special procedures to continue after explicit call to breakpoint() in serial stubs. Fri Sep 11 01:34:25 1992 John Gilmore (gnu@sphagnum.cygnus.com) * mipsread.c: Clean up some white space. (parse_symbol): Handle stEnd of stFile. (parse_partial_symbols): Remove old #if 0'd code. Handle stLocal. * mips-xdep.c (REGISTER_PTRACE_ADDR, fetch_inferior_registers, store_inferior_registers): Replace unexplained numbers with manifest constants from a DECstation header file. * xm-mips.h (KERNEL_U_ADDR): Get from . (REGISTER_U_ADDR): Fix up for Ultrix 4.2. * tm-tahoe.h, xm-tahoe.h (KERNEL_U_ADDR): Move macro to xm-tahoe.h. * stack.c (_initialize_stack): "dow" should be a valid abbreviation for "down". Suggested by Richard Stallman. Thu Sep 10 15:26:07 1992 Ken Raeburn (raeburn@cambridge.cygnus.com) * remote-vx.c: Rename realloc for inclusion of rpc/rpc.h, to avoid redeclaration bug on SunOS 4. Wed Sep 9 17:36:53 1992 John Gilmore (gnu@cygnus.com) * i386-stub.c, sparc-stub.c (getpacket): Actually check checksums. * m68k-stub.c: Remove a few extraneous ANSI-isms. * remote-nindy.c (nindy_prepare_to_store): Only fetch regs if they aren't already there. * remote-vx.c (vx_prepare_to_store): Ditto. * xcoffread.c: Surround forward struct defns with #ifdef __STDC__. Wed Sep 9 16:50:22 1992 John Gilmore (gnu@cygnus.com) Removed a large number of changes inserted by Per Bothner for C++ support. These will go back in when they've been examined. Tue Sep 8 21:05:18 1992 Stu Grossman (grossman at cygnus.com) * serial.h: Fix prototye for serial_raw(). * ser-bsd.c, ser-termios.c: Fix args for serial_open() & serial_write() to match prototypes. * remote-st2000.c (get_reg_name): Make *p be const. Tue Sep 8 17:24:52 1992 Ken Raeburn (raeburn@cambridge.cygnus.com) * remote-nindy.c (nindy_fetch_registers): Make return type void, to agree with target structure field type. (nindy_store_registers): Ditto. * Makefile (OPCODES): New var, pointing to opcodes library. (CLIBS, CDEPS): Include it. (saber_gdb): Load opcodes library. Tue Sep 8 15:22:06 1992 Stu Grossman (grossman at cygnus.com) * a68v-xdep.c (store_inferior_registers): declare as void. * infptrace.c: HP/Apollos have ptrace.h in the wrong place. * remote-st2000.c: Massive changes to use new serial package. Also added 'connect' command to transparantly connect to serial port. * ser-termios.c: Big cleanup, use nicer coding conventions. * ser-bsd.c: New module, serial stuff for BSD systems. * serial.h: Define struct ttystate properly using HAVE_TERMIO. * xm-apollo68b.h: #define PTRACE_IN_WRONG_PLACE... Fri Sep 4 18:53:57 1992 Roland H. Pesch (pesch@fowanton.cygnus.com) * doc/gdb.texinfo: fix shameful error of agreement reported by jimb@occs.cs.oberlin.edu (Jim Blandy) * doc/gdb.texinfo: remove old partial discussion of remote serial protocol (via serial debug stubs) * doc/gdbinv-m.m4.in, doc/gdbinv-s.m4.in: new section discussing use of serial debug stubs Fri Sep 4 00:34:30 1992 Per Bothner (bothner@rtl.cygnus.com) * symfile.h: Declaration of set_demangling_style() moved here from demangle.h (which is now in ../include). * i386-xdep.c: Update comment. Thu Sep 3 13:44:46 1992 K. Richard Pixley (rich@sendai.cygnus.com) * symtab.c (completion_list_add_symbol): restructured to optimize for time. First clip names that cannot match. Then clip any names we've already considered. Drop a redundant strncpy. Drop a redundant malloc and associated free for demangled names. Thu Sep 3 09:17:05 1992 Stu Grossman (grossman at cygnus.com) * a68v-xdep.c (store_inferior_registers): Define as type void. * configure.in: Add host m68k-apollo*-bsd*. * demangle.c (struct demanglers): Use enum instead of constant value to keep braindamaged HP/Apollo compiler happy. Wed Sep 2 20:45:31 1992 Per Bothner (bothner@rtl.cygnus.com) * utils.c (strcmp_iw): Add a hack to allow "FOO(ARGS)" to match "FOO". This allows 'break Foo' to work when Foo is a mangled C++ function. (See comment before function.) Wed Sep 2 13:45:27 1992 John Gilmore (gnu@cygnus.com) * config/rs6000.mh (MH_CFLAGS): Circumvent IBM bug, for files in vx-share/*.c. * xm-rs6000.h (fd_set): Circumvent the rs6000.mh circumvention, for normal GDB source files. * Makefile.in (VERSION): Roll to 4.6.6. * tm-vx68.h, tm-es1800.h: Use tm-68k.h rather than tm-sun3.h. * tm-sun3.h: Remove STACK_END_ADDR, no longer used. * tm-sun3os4.h: Update comments. * xm-delta88.h: Remove STACK_END_ADDR. Wed Sep 2 01:18:31 1992 John Gilmore (gnu@cygnus.com) * Makefile.in (VERSION): Roll to 4.6.5. * infrun.c: Lint for recent `handle' changes. * ser-termios.c, ser-go32.c: Remove DEFUN crap, clean up. * serial.h (EXFUN): Remove all uses, convert to PARAMS. * config/sun4os4.mh: Include ser-termios.o. FIXME, all .mh files should include a ser-XXX.o module. * dbxread.c (elfstab_build_psymtabs): Remove DEFUN crap. * defs.h, i960-pinsn.c, remote-hms.c: Replace CONST with simple const. * configure.in: Map unrecognized sun 68k's, sun sparcs, into known suns in configure.in, rather than mapping them to unique config files that happen to duplicate other config files. * config/sun3.{mh,mt}: Remove (use identical sun3os4.*). * config/sun4.{mh,mt}: Remove (use identical sun4os4.*). Wed Sep 2 00:10:43 1992 John Gilmore (gnu@cygnus.com) * configure.in (*-*-sunos*): Use trailing * to match all sub-variants of SunOS, e.g. sunos4* to match sunos4.1.1. (sparc-*-sunos3): Remove host & target. Sunos3 never shipped in production on Sun-4. ({a29k,i[34]86,i960}-*-elf): Add targets, equivalent to coff. (m68k-*-{aout,coff,elf}): Add targets, w/new config and tm files. (sparc-*-{aout,coff,elf}): Add targets, w/new config and tm files. * config/m68k-un.mt, config/m68k-noun.mt, config/sparc-un.mt, config/sparc-noun.mt: New target configs for embedded. * config/sun4os3.{mh,mt}: Remove, never existed in production. * tm-68k-un.h, tm-68k-noun.h, tm-spc-un.h, tm-spc-noun.h: New target definitions for embedded with and without underlines on identifiers. * tm-sparc.h, tm-sun2.h, tm-sun3.h: Delete NAMES_HAVE_UNDERSCORE: not a parameter of the CPU, but of the development environment. * tm-es1800.h, tm-sunos.h, tm-vx68.h: Add NAMES_HAVE_UNDERSCORE. Tue Sep 1 17:31:45 1992 John Gilmore (gnu@cygnus.com) * breakpoint.c (breakpoint_re_set): Avoid setting source symtab (which involves reading in main's symtab) if we have no breakpoints. Mon Aug 31 13:47:45 1992 Fred Fish (fnf@cygnus.com) * dwarfread.c (cu_language): New local variable to record language for current compilation unit being processed. * dwarfread.c (set_cu_language): New local function to decode and record language for current compilation unit being processed. * dwarfread.c (synthesize_typedef): Add local function to synthesize a typedef for C++ classes, structs, unions, and enumerations. * dwarfread.c (read_structure_scope): Synthesize typedefs for C++ classes, structs and unions. * dwarfread.c (read_enumeration): Synthesize typedefs for C++ enumerations. * dwarfread.c (read_file_scope): Call set_cu_language to record language for current compilation unit. After symtab is built, save this recorded language. * dwarfread.c (process_dies, add_partial_symbol, struct_type, scan_partial_symbols, new_symbol): Recognize TAG_class_type. * dwarfread.c (add_partial_symbol): Synthesize partial symbol typedefs for C++ classes, structs, unions, and enumerations. * dwarfread.c (scan_compilation_units): Call set_cu_language to record language for current compilation unit. * dwarfread.c (scan_partial_symbols): Call add_enum_psymbol here for TAG_enumeration_types, rather than in add_partial_symbol. * dwarfread.c (add_partial_symbol): Combine TAG_enumeration_type case with class, struct, and union type cases, now that they are the same. Remove tests for non-NULL name attributes, now done by callers. * gdbtypes.h (TYPE_CODE_CLASS): Add type for C++ classes, but treat as alias for TYPE_CODE_STRUCT for now. Sun Aug 30 21:32:17 1992 Ian Lance Taylor (ian@cygnus.com) * Makefile.in: map "gdb" through program_transform_name when installing. Sun Aug 30 21:18:51 1992 Fred Fish (fnf@cygnus.com) * {i386-tdep.c, m68k-tdep.c, mips-tdep.c, sparc-tdep.c} (supply_gregset, fill_gregset, supply_fpregset, fill_fpregset): Use "regi" for local indexing through register numbers, reserving "regno" for the name of a specific register passed as an input parameter. Fix bug propagated through all versions that sometimes used regno as an index when it should have been regi, thus using -1 as an index in some cases. Sun Aug 30 18:15:17 1992 Per Bothner (bothner@rtl.cygnus.com) * cplus-dem.c, demangle.h: Moved to ../libiberty and ../include, respectively, so same demangler can be used by other programs. * Makefile.in: Remove demangler stuff. * Makefile.in (depend): Pass -I../readline (needed for main.c). * demangle.c (_initialize_demangler): Tell demangler which CPLUS_MARKER to assume. Fri Aug 28 13:13:33 1992 John Gilmore (gnu@cygnus.com) RS/6000 portability changes (for hosting cross-debuggers). * breakpoint.c (fixup_breakpoints): Re-kludge to IBM6000_TARGET. * buildsym.c, rs6000-xdep.c, rs6000-tdep.c, tm-rs6000.h, xcoffexec.c, xcoffread.c: Rename aixcoff to xcoff everywhere. * printcmd.c (print_frame_args): Remove an RS/6000 dependency. * stabsread.c (define_symbol): Remove RS/6000 dependencies. * tm-rs6000.h (ATTACH_DETACH): Remove: host-dependent. (PTRACE_ATTACH, PTRACE_DETACH): Remove: host-dep. (NO_SINGLE_STEP): Add, target-dependent. (loadinfotextindex): Lowercase, remove "aix_". * xm-rs6000.h: Add for infptrace.c. (NO_SINGLE_STEP): Remove, target-dependent. * xcoffexec.c (vmap_symtab): Cleanup #if 0'd code. * xcoffread.c: Only build file if RS/6000 native GDB. (build_function_symbol): Remove #if 0'd code. * rs6000-tdep.c: Cleanup. Add static fn protos. Use CORE_ADDR for addresses throughout. Make void fns void. (pop_dummy_frame): Add FIXME about bogosity of design here. (rs6000_struct_return_address): Ditto. (frameless_function_invocation, frame_get_cache_fsr, frame_initial_stack_address, xcoff_relocate_symtab, xcoff_init_loadinfo, free_loadinfo, xcoff_add_toc_to_loadinfo, add_text_to_loadinfo, find_toc_address): Move from xdep file. Use CORE_ADDRs. Change identifiers to lowercase. * rs6000-xdep.c: Make whole file conditional on native RS/6000, supplying dummy routines if non-native. Add prototype for static exec_one_dummy_insn. Move a mess of functions to rs6000-tdep.c (as above). Remove #if 0'd code. * config/rs6000.mh (XDEPFILES): Move xcoffexec.o to target side. (XM_CLIBS): Add -lm to circumvent AIX 3.2 libc ldexp bug. * config/rs6000.mt (TDEPFILES): Adopt xcoffexec.o. * gdbtypes.h (TYPE_ALLOC): Parenthesize result to avoid problems for callers. * vx-share/README, nindy-share/README: New files describing how these directories' code is shared, and with whom. Thu Aug 27 20:04:56 1992 John Gilmore (gnu@cygnus.com) * configure.in (target configurations): Reformat into table. Remove unsupp. Amigados host and target. Ditto Mach 386 target. * tm-altosgas.h, tm-i386v-g.h: Remove ancient coff encap configs. * config/{altosgas.mt, i386v-g.mt, i386v32-g.mt}: Ditto. * config/{i386sco.mt,i386v32.mt}: Remove; identical to i386v.mt. * config/{go32.mt,i960.mt}: Remove; they only printed error msgs. * config/nindy960.mt: Remove useless MT_CFLAGS setting. * config/i386aout.mt: Use tm-i386v.h, not tm-i386v-g.h. * Makefile.in (config-check): Add command to check whether configure.in is consistent with config/*. Wed Aug 26 21:10:52 1992 John Gilmore (gnu@cygnus.com) * configure.in (host configurations): Reformat nested cases into easy-to-maintain table. (m68k-altos-*, i386v*): We don't care whether coff encap is used. config/{altosgas.mh, i386v-g.mh, i386v32-g.mh}: Remove. Wed Aug 26 16:02:01 1992 Fred Fish (fnf@cygnus.com) * cplus-dem.c: Reorder args to most local functions to make them follow the consistent pattern of struct work_stuff pointer first, followed by pointer into string being demangled, followed by pointer to the string where the result is being stored, followed by other args. Also generally replace most variables of name "type" with "mangled" for consistency. They all pointed to the same string but half were one name and half the other. * cplus-dem.c (LONGERNAMES): Remove #ifndef's. * cplus-dem.c (demangle_qualified): Rewrite to clean up and allow use whenever a qualified name is being demangled. * cplus-dem.c (do_type): Qualified names are treated similarly to fundamental types, not as modifiers of fundamental types. Mon Aug 24 20:44:38 1992 Stu Grossman (grossman at cygnus.com) * configure.in: Add sparclite as a target. * sparc-stub.c (handle_exception): Flush instruction cache just before returning to the user. (hexToInt): Fix overzealous cleanup. Mon Aug 24 11:57:13 1992 Fred Fish (fnf@cygnus.com) * infrun.c (handle_command): Rewrite to allow multiple signal numbers, signal number ranges, and to recognize "all" to mean all signals except those used by the debugger. * infrun.c (SET_SIGS, UNSET_SIGS): Macros used in handle_command to set or reset actions for specific signals. Sun Aug 23 17:10:07 1992 Fred Fish (fnf@cygnus.com) * coffread.c (decode_type): Call alloc_type to alloc new types. * stabsread.c (read_array_type, read_range_type, define_symbol): Call alloc_type to alloc new types. * stabsread.c (define_symbol): Move dbl_valu symbol field data from type_obstack to symbol_obstack. * stabsread.c (define_symbol): Move typedef_sym from type_obstack to symbol_obstack. * gdbtypes.h (TYPE_ALLOC): New macro to allocate space for data associated with a type, using the same mechanism as was used to allocate space for the type structure itself. * coffread.c (patch_type, coff_read_struct_type, coff_read_enum_type): Use TYPE_ALLOC. * dwarfread.c (struct_type): Use TYPE_ALLOC. * gdbtypes.c (create_array_type, check_stub_method, allocate_cplus_struct_type): Use TYPE_ALLOC. * mipsread.c (parse_symbol, parse_type): Use TYPE_ALLOC. * stabsread.c (read_struct_type, read_array_type, read_enum_type, read_range_type): Use TYPE_ALLOC. Sun Aug 23 11:04:08 1992 Fred Fish (fnf@cygnus.com) * breakpoint.c (breakpoint_re_set): Select a default source symtab if one is not currently selected. * utils.c (query): Call wrap_here before building the output query string, to turn off wrapping and flush any buffered output. Otherwise our query may end up in the wrap buffer and never be seen by the user. * eval.c (evaluate_subexp): Report error when attempting to evaluate subscript for types without a target type, rather than dumping core by using the NULL pointer. * symfile.c (symbol_file_command): Forget current_source_symtab and current_source_line when discarding symbol table. Sat Aug 22 22:33:20 1992 John Gilmore (gnu@cygnus.com) Bug fixes from Andrew Heybey . * tm-mips.h (REGISTER_VIRTUAL_TYPE): Float regs are float type. * mips-tdep.c (mips_print_register): Alloc enough space for two regs. Fri Aug 21 15:17:03 1992 Stu Grossman (grossman at cygnus.com) * remote.c (remote_open): Fix baud rate setting to make -b flag work. (remote_wait): Change 'T' message parser to deal with new improved format which allows stub to send an arbitrary bunch of registers. * sparc-stub.c: General cleanups. (trap_low, handle_exception): make all this re-entrant by storing all state on the stack. Clean up memory error trapping. (computeSignal, set_debug_traps): make it all table driven. Make a start at a baud rate setting command. Wed Aug 19 10:23:27 1992 Ian Lance Taylor (ian@cygnus.com) * m68k-pinsn.c: handle new operand type 'r', introduced for cas2. * remote-vx.c: redefine malloc to avoid buggy declaration on RS/6000 . xm-rs6000.h: include to define fd_set for on RS/6000. Tue Aug 18 14:48:24 1992 Ian Lance Taylor (ian@cygnus.com) * Makefile.in: added FLAGS_TO_PASS variable, and passed it to recursive invocations of make. Always create installation directories. Mon Aug 17 18:29:58 1992 Per Bothner (bothner@rtl.cygnus.com) * m68k-pinsn.c: Minor fix in style of output (don't use range to indicate floating point control registers). Sat Aug 15 02:58:03 1992 John Gilmore (gnu@cygnus.com) * m68k-pinsn.c: Surround extended support with #ifdef HAVE_68881. * infcmd.c (registers_info): Handle multiple register names. Changes inspired by Roland McGrath. Sat Aug 15 02:28:52 1992 Stu Grossman (grossman at cygnus.com) * sparc-stub.c: New file. Mix it with your SPARClite application, and it will speak GDB remote protocol! * remote.c (remote_wait): Change 'T' (expedited reply) message to deal with arbitrary registers. Needed for sparc-stub. Fri Aug 14 12:11:25 1992 Fred Fish (fnf@cygnus.com) * cplus-dem.c (cplus_markers): Add table for gnu style and use throughout, in place of compile time constant CPLUS_MARKER. * cplus-dem.c (ARM_VTABLE_STRING, ARM_VTABLE_STRLEN): Add. * cplus-dem.c (cfront_special): New function, as suggested by pfieland@stratus.com. * cplus-dem.c (forget_types): New function. * cplus-dem.c (cplus_demangle): Call gnu_special, moved from demangle_prefix(). * cplus-dem.c (mop_up): Call forget_types(). * cplus-dem.c (AUTO_DEMANGLING, GNU_DEMANGLING, LUCID_DEMANGLING): Use throughout, instead of checking current_demangling_style. * cplus-dem.c (demangle_signature): When finding an explicit start of function args, forget all remembered types for lucid/cfront style demangling. * cplus-dem.c (demangle_prefix): In a sequence of two or more underbar characters, use last pair as the delimiter. Hoist gnu_special() call up to cplus_demangle(). Call cfront_special() when appropriate. * cplus-dem.c (cplus_special): Fix virtual table name demangling for inherited classes. * cplus-dem.c (demangle_args): Document quirks of numbered references to previously seen types. * dbxread.c (read_ofile_symtab, process_one_symbol): Use AUTO_DEMANGLING rather than explicitly checking current_demangling_style. * demangle.h: Add some comments. * demangle.h (AUTO_DEMANGLING, GNU_DEMANGLING, LUCID_DEMANGLING, CFRONT_DEMANGLING): New macros. * dwarfread.c (LCC_PRODUCER): Remove trailing space, which is not found in the actual producer string produced by lcc. * dwarfread.c (handle_producer): Use AUTO_DEMANGLING rather than explicitly checking current_demangling_style. Thu Aug 13 11:54:46 1992 John Gilmore (gnu at cygnus.com) * breakpoint.c (enable_longjmp_breakpoint, disable_longjmp_breakpoint, set_longjmp_resume_breakpoint): Check for duplicate breakpoints at the same address. Bug report and preliminary fix from Dave Morrison, . Wed Aug 12 11:14:58 1992 Fred Fish (fnf@cygnus.com) * buildsym.c (end_symtab): Document that end_symtab can return NULL under non-error conditions. * dwarfread.c (read_file_scope): Guard against dereferencing NULL returned from end_symtab for empty compilation units. Tue Aug 11 02:49:39 1992 John Gilmore (gnu at cygnus.com) * am29k-tdep.c: Lint from DECstation compiler. * mem-break.c: Restore test of BREAKPOINT size that Fred removed. As the man page says, "Sometimes you just can't get lint to shut up". That doesn't mean you should blow away the code it won't shut up about. * mips-xdep.c: Revise stubbing-out of code until Rich cleans it up over the next few weeks. Make mips x 29k build. * tm-29k.h (CALL_DUMMY): Make it work on cross-endian hosts. (FIX_CALL_DUMMY): Comment in the patching of the breakpoint, but leave it as a comment because the breakpoint instruction is not easily accessible at this moment (it's static, and if we define one here, it goes into every file compiled). Mon Aug 10 22:27:19 1992 Fred Fish (fnf@cygnus.com) * Makefile.in (VERSION): Bump to 4.6.3. * dwarfread.c (scan_partial_symbols): Skip over DIE's within function scopes when building partial symbol tables. * objfiles.c (open_existing_mapped_file): Make it clear in warning message that out of date mapped files are ignored. * symtab.c (lookup_symtab_1, lookup_symbol): Print compilation unit source file name in error message. Sat Aug 8 23:12:22 1992 Fred Fish (fnf@cygnus.com) * dwarfread.c (struct dieinfo): Add has_at_byte_size. * dwarfread.c (struct_type): In absence of AT_byte_size for bitfield, use size of object of member's type for the size of the anonymous object containing the bit field. * dwarfread.c (completedieinfo): Set has_at_byte_size when an AT_byte_size attribute is seen. * mipsread.c (psymtab_to_symtab_1): Fix misspelled cast to union aux_ext (was aux_ent). * i386-pinsn.c (print_insn): Cast 2'nd arg to read_memory from unsigned char* to char*, for Lucid compiler. * i386-tdep.c (codestream_fill): Fix cast of 2'nd arg to read_memory to be correct type (from unsigned char* to char*). * valprint.c (type_print_derivation_info): Minor tweak to placement of commas in derived class printing. * xcoffread.c (builtin_type): Fix misspelling in fatal message. Fri Aug 7 11:18:23 1992 Steve Chamberlain (sac@thepub.cygnus.com) * xm-go32.h: Define LSEEK_NOT_LINEAR * source.c (find_source_lines): if LSEEK_NOT_LINEAR is defined then work out the lseek positions of newlines by running through the file and `tell'ing. This makes source file listing work on OS's where the relationship between physical position in file and canonical position is indeterminate, eg VMS and DOS. Thu Aug 6 10:56:01 1992 Fred Fish (fnf@cygnus.com) * stabsread.c: Ensure that all members of all allocated structures are initialized to known state to avoid hard to find bugs with gdb using fields containing random data. * buildsym.c (start_subfile): Compact dirname initialization. * buildsym.c (patch_subfile_names): New function. * buildsym.c (end_symtab): Make copy of dirname on symbol obstack. * buildsym.c (end_symtab): Free all malloc'd subfile fields. * buildsym.h (patch_subfile_names): Add prototype. * dbxread.c (process_one_symbol): Call patch_subfile_names. Wed Aug 5 01:42:40 1992 John Gilmore (gnu at cygnus.com) * remote-udi.c: Update comments. * remote.c (getpkt): Only force retransmission ten times; after that, assume bug in target code, and handle pkt anyway. Mon Aug 3 17:06:20 1992 Stu Grossman (grossman at cygnus.com) * configure.in: Add support for apollo 68k under BSD environment. * xm-apollo68b.h: New file to support above. Mon Aug 3 00:25:56 1992 Fred Fish (fnf@cygnus.com) * configure.in: Recognize i486 host cpu. * valprint.c (type_print_derivation_info): Print derivation info in same form as class declarations in source. * valprint.c (type_print_varspec_suffix): Split arg printing code out to type_print_args function. Sat Aug 1 13:32:58 1992 Fred Fish (fnf@cygnus.com) * dwarfread.c (struct dieinfo): Remove obsolete at_visibility, at_import, at_frame_base. * dwarfread.c (completedieinfo): Remove cases for obsolete AT_visibility, AT_import, and AT_frame_base attributes. * breakpoint.h (BREAKPOINT_MAX): Increase from 10 to 16 for i860, which can keep up to 4 shadow breakpoints. * tm-stratus.h (USG): Define. * tm-stratus.h (TARGET_BYTE_ORDER): Define to BIG_ENDIAN. * xm-stratus.h (HOST_BYTE_ORDER): Define to BIG_ENDIAN. * xm-stratus.h (xm-sysv4.h): Include, name changed from xm-svr4.h. * xm-stratus.h (NO_JOB_CONTROL): Remove define. * config/stratus.mt (TDEPFILES): Include files available from stratus that are not yet in release pending receipt of paperwork at FSF. * buildsym.c (finish_block): Minor code format change. * gdbtypes.h (struct field): Add to comments. * gdbtypes.h (virtual_field_bits): Add to comments. * objfiles.c (allocate_objfile): Change obstack interface to match FSF merging efforts. Mon Jul 27 21:14:44 1992 Fred Fish (fnf@cygnus.com) * Makefile.in (VERSION): Bump to 4.6.2. * Makefile.in (SFILES_MAINDIR): Add stabsread.c * Makefile.in (OBS): Add stabsread.o * Makefile.in (stabsread.o): Add build rule. * stabsread.c, stabsread.h: New files. * buildsym.c: Split out stabs specific support to stabsread.c. * buildsym.h: Split out stabs specific support to stabsread.h. * dbxread.c (stabsread.h): Include * dbxread.c (dbx_new_init): Call stabsread_new_init. * dbxread.c (dbx_psymtab_to_symtab_1): Call stabsread_init. * dbxread.c (read_ofile_symtab): Call end_stabs. * dbxread.c (process_one_symbol): Call end_stabs and start_stabs. * dbxread.c (elfstab_build_psymtabs): Call stabsread_new_init. * dwarfread.c (psymtab_to_symtab_1): Call buildsym_init, add really_free_pendings to cleanups. * elfread.c (elf_new_init): Call stabsread_new_init. * gdbtypes.c: Small changes to maintenance commands. * mipsread.c (stabsread.h): Include. * mipsread.c (psymtab_to_symtab_1): Call end_stabs. * xcoffread.c (stabsread.h): Include. * xcoffread.c (global_stabs): Remove redundant def. * xcoffread.c (read_xcoff_symtab): Call start_stabs and end_stabs. Wed Jul 22 21:39:33 1992 Fred Fish (fnf@cygnus.com) * lmode_inferior_valid, lmode_ours_valid: New static vars. * inflow.c (terminal_init_inferior, terminal_inferior, terminal_ours_1, initialize_inflow): Record and use state of lmode_inferior_valid and lmode_ours_valid. Wed Jul 22 04:23:03 1992 D. V. Henkel-Wallace (gumby@cygnus.com) * es1800.c: use FREAD|FWRITE rather than _FREAD|_FWRITE. include on USG. (from sef). * depend: es1800 dependency needed here. Mon Jul 20 21:09:53 1992 Fred Fish (fnf@cygnus.com) * buildsym.c (read_struct_type): Initialize structs allocated with alloca, to avoid using random values from stack later on. * defs.h (fprintf_filtered): Add prototype. * gdbtypes.c (check_stub_method): Fix misleading comments. * gdbtypes.c (print_arg_types, dump_fn_fieldlists): New maint support functions. * gdbtypes.c (print_cplus_stuff, recursive_dump_type): Many small changes to maint support functions. * gdbtypes.h (cplus_struct_type): Reorganize member ordering for some fields and expand comments. * objfiles.c (allocate_objfile): Use new obstack_alloc_arg macro and track change to obstack_full_begin macro. * utils.c (fprintfi_filtered): New function. * valprint.c (type_print_base): Fixup field printing to not print extraneous lines and not print bogus "no data fields" messages for C++ classes with no data members. Also use new fprintfi_filtered function. Mon Jul 20 11:25:18 1992 D. V. Henkel-Wallace (gumby@cygnus.com) * configure.in: es1800 ok for 68000 too. Sat Jul 18 15:48:58 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) * configure.in: echo error messages to stderr, not stdout Fri Jul 17 17:07:24 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) * configure.in: recognize hppa* instead of hppa Fri Jul 17 16:52:04 1992 Stu Grossman (grossman at cygnus.com) * energize.c: Second cut at DynamicLoad message handling. * energize.c: Relativize pathnames in #include statements. * (kernel_dispatch): Better error messages for unknown protocol messages. * (kernel_dispatch): First cut at DynamicLoad message handling. * Makefile.in: Remove -I../readline from all compilations, include a special case for main.o instead. Fri Jul 17 10:14:56 1992 Fred Fish (fnf@cygnus.com) * eval.c (evaluate_subexp): Ask lookup_struct_elt_type to call error if it fails to find a member type, rather than return NULL and trigger a coredump. * symtab.c (lookup_symbol, lookup_demangled_block_symbol, lookup_demangled_partial_symbol,): Ask demangle_and_match to match on complete demanglings, including argument lists for member functions, rather than just accepting the first demangling that matches the class and function name. * dwarfread.c (read_file_scope): Pass contents of AT_comp_dir to start_symtab as the directory name. * dwarfread.c (completedieinfo): Strip off any leading hostname portion of the AT_comp_dir attribute string. Gdb doesn't know what to do with them (FIXME). Thu Jul 16 13:37:09 1992 Stu Grossman (grossman at cygnus.com) * breakpoint.c (commands_command): Simplify code a bit, remove unnecessary fflush(). * Makefile.in (OTHERS): Add gcc.patch. * partial-stab.h (N_SO): Fix handling of redundant SOs (again...) Thu Jul 16 12:07:40 1992 Fred Fish (fnf@cygnus.com) * dwarfread.c (LCC_PRODUCER): Change to match current NCR lcc producer string. Thu Jul 16 11:40:55 1992 Stu Grossman (grossman at cygnus.com) * WHATS.NEW renamed to NEWS. Wed Jul 15 11:37:31 1992 Fred Fish (fnf@cygnus.com) * dbxread.c, dwarfread.c: Re-enable experimental code to automatically select demangling style. * demangle.c (DEFAULT_DEMANGLING_STYLE): Rename from simply DEMANGLING_STYLE, to make more descriptive. Revert back to "auto" as default. Comment use. * Makefile.in (DEMANGLING_STYLE, DEMANGLE_OPTS): Remove. * Makefile.in (${DEMANGLER}.o) Remove target and special compilation rule. Tue Jul 14 23:05:14 1992 Fred Fish (fnf@cygnus.com) * Makefile.in (VERSION): Bump to 4.6.1 (post-release versions). Tue Jul 14 19:26:54 1992 Stu Grossman (grossman at cygnus.com) * Makefile.in, demangle.c: Change default demangling style to gnu. * Makefile.in: Update version to 4.6 !!! * README, WHATS.NEW: Update for 4.6. Tue Jul 14 16:59:46 1992 Ken Raeburn (raeburn@cygnus.com) * i960-tdep.c (frame_args_address): If arg pointer can't be found, use frame address. * buildsym.c (read_struct_type): Don't die on TYPE_CODE_UNDEF nodes as base classes. Tue Jul 14 00:12:30 1992 Stu Grossman (grossman at cygnus.com) * alldeps.mak, depend: Update. * xcoffread.c: Add decl for section_offset to keep prototype happy. * Makefile.in (VERSION): 4.5.9. * xm-hp300bsd.h: Add decl for strdup(). * mips-tdep.c (heuristic_proc_desc): Fill in proc start addr in PDR. Cleanup a few things, fix compilation warnings. Mon Jul 13 19:06:54 1992 Fred Fish (fnf@cygnus.com) * Makefile.in (DEMANGLING_STYLE): New define to set default demangling style for C++. Defaults to "auto". * Makefile.in (DEMANGLE_OPTS): Use DEMANGLING_STYLE. * Makefile.in (SFILES_MAINDIR): Add demangle.c * Makefile.in (OBS): Add demangle.o * cplus-dem.c (GNU_DEMANGLING, ARM_DEMANGLING, LUCID_DEMANGLING): Remove compile time decisions about demangling style and replace with runtime decisions using current_demangling_style. * cplus-dem.c (main): Expand code included during building of standalone demangler to recognize demangling style options. * dbxread.c (demangle.h): Include. * dbxread.c (read_ofile_symtab, process_one_symbol): Set GNU C++ demangling style if processing g++ code and current demangling style is auto (Note: this feature currently disabled.) * demangle.c: New file, generic demangling control. * demangle.h (demangling_styles): New enumeration to select one of several demangling styles. Also define string names for each style. * demangle.h (set_demangling_style): Add prototype. * dwarfread.c (demangle.h): Include. * dwarfread.c (GPLUS_PRODUCER, LCC_PRODUCER, CFRONT_PRODUCER): New producer string prefixes to recognize. * dwarfread.c (handle_producer): Consolidate actions for specific producers. Set demangling style based on producer string if current style is auto. (Note: this feature currently disabled.) * config/ncr3000.mt (DEMANGLE_OPTS): Remove. Sat Jul 11 18:23:58 1992 John Gilmore (gnu at cygnus.com) * config/sun4sol2.mh: Remove -xs flag, default INSTALL to cp. Fri Jul 10 13:58:34 1992 Per Bothner (bothner@rtl.cygnus.com) * gdbtypes.c, gdbtypes.h: New function lookup_signed_typename. * c-exp.y: Call lookup_signed_typename() after seeing "signed". This handles "signed char" correctly. * c-exp.y: Recognize (but ignore) 'const' and 'volatile' keywords before a type specifier. Fri Jul 10 10:19:52 1992 Fred Fish (fnf@cygnus.com) * command.c (lookup_cmd_1): Clarify descriptive comments. * gdbcmd.h (maintenanceprintlist): Add declaration. * main.c (maintenanceprintlist): Add definition. * main.c (gdb_completer_command_word_break_characters): Add. * main.c (symbol_completion_function): Switch completer word break character sets dynamically, based on whether completion is being done on commands or on something else. * main.c (initialize_cmd_lists): Init maintenanceprintlist. * maint.c: Include demangle.h. * maint.c (maintenance_demangle): New function. * maint.c (maintenance_print_command): New function. * maint.c (_initialize_maint_cmds): Reorganize some commands under new maintenance print subcommand. Thu Jul 9 19:05:27 1992 Per Bothner (bothner@rtl.cygnus.com) * gdbtypes.c (lookup_struct_elt_type): If the input type is TYPE_CODE_PTR or TYPE_CODE_REF, dereference it to get the target type. Otherwise, 'whatis this.field' wouldn't work, which would be inconsistent, since 'print this.field' works. * buildsym.c (read_struct_type, read_enum_type): Clear TYPE_FLAG_STUB flag. * buildsym.c (cleanup_undefined_types): Don't rely on a flawed "Reasonable test to see if" a type has been defined since it was referred to; now we can just see if the TYPE_FLAG_STUB flag has been cleared. * valprint.c (print_type_base): Emit public/protected/private labels for methods as well as fields. Also, indent these labels 2 spaces instead of 4, for a more conventional "look". * symtab.c (gdb_mangle_name): Undo Fred's change, unless GCC_MANGLE_BUG is defined. Also, handle destructors specially. * gcc.patch: New file. Contains patch for gcc (so people with gdb-2.2.x won't have to wait for a new gcc release). Thu Jul 9 18:44:26 1992 Ken Raeburn (raeburn@cygnus.com) * i960-pinsn.c (mem): Variables reg[123] should point to CONST. (print_addr): Call print_address to show symbolic version as well. * remote-vx.c (vx_kill): Don't look for arguments; they aren't being passed. (vx_read_register): Declare inferior_fp_regs. Delete code for copying "inferior_registers" around; the values are already in var "registers". Use correct size for register set. * remote-vx.c (vx_write_register): Don't try writing FP regs; the target doesn't support it. (vx_read_register): Don't try reading them either. * tm-i960.h (IP_REGNUM): Move to end of non-FP list, since the VxWorks back end reads them in one contiguous set except for this one. (register_names): Change "pc" to "pcw" to avoid confusion printing "$pc". * tm-vx960.h (PC_REGNUM): Use RIP_REGNUM, since that's where we find the PC under VxWorks. Wed Jul 8 21:34:30 1992 Fred Fish (fnf@cygnus.com) * dwarfread.c (alloc_utype, decode_subscr_data): Call alloc_type to create new blank types, instead of handcrafting them. * defs.h (printfi_filtered): Add prototype. * utils.c (printfi_filtered): New function. * gdbtypes.c (recursive_dump_type): Use printfi_filtered to to simplify the code. Other cleanups. * gdbtypes.c (check_stub_method): Demangle using DMGL_ANSI. * gdbtypes.h (struct cplus_struct_type): Add comments describing use of various fields. * gdbtypes.c (print_bit_vector, print_cplus_stuff): New functions. * c-exp.y (%token): Add CLASS as a token for C++, add grammar production that currently treats it exactly the same as STRUCT. * c-exp.y (yylex): Recognize "class" as token CLASS. * symtab.c (gdb_mangle_name): Rewrite to match current g++ stabs. * symtab.c (decode_line_1): Fix to pass quoted args on down to general symbol handling code. Call cplus_mangle_opname with DMGL_ANSI. * symtab.c (decode_line_2): Print demangled function names in breakpoint menus, instead of just file and line number. * symtab.c (name_match): Call cplus_demangle with DMGL_ANSI. * valprint.c (type_print_base): Print "class" for C++ classes, rather than "struct". Print section labels for public, protected and private members of C++ classes. * values.c: Include demangle.h. * values.c (value_headof): Call cplus_demangle with DMGL_ANSI. Wed Jul 8 17:23:07 1992 Stu Grossman (grossman at cygnus.com) * Makefile.in (VERSION): Update to 4.5.8. Wed Jul 8 00:11:02 1992 Stu Grossman (grossman at cygnus.com) * dbxread.c (dbx_symfile_init): Init stab_section_info to NULL to prevent crashes when examining cross-targets. * dbxread.c (process_one_symbol): Include directory name when calling start_subfile for SOL & BINCL symbols. This allows gdb to find include files, and yacc/lex sources when the cwd doesn't match that in which the object was compiled. * objfiles.h (ALL_MSYMBOLS): Don't seg fault when there are no msymbols. * symtab.c (lookup_symtab_1): Rewrite. It now handles include files. Tue Jul 7 09:00:42 1992 Fred Fish (fnf@cygnus.com) * maint.c (maintenance_command, maintenance_info_command): Install with allow_unknown as 0 and call help_list to show list of possibilities when no subcommand is specified. Tue Jul 7 00:20:29 1992 Fred Fish (fnf@cygnus.com) * configure.in: Add m68k-ericsson-*. * remote-es1800.c, tm-es1800.h, config/es1800.mt: New files. Sun Jul 5 17:17:16 1992 Fred Fish (fnf@cygnus.com) * maint.c: New file. * Makefile.in (SFILES_MAINDIR): Add new file maint.c. * Makefile.in (OBS): Add new file maint.o. * defs.h (command_class): Add class_maintenance. * defs.h (MAINTENANCE_CMDS): Default to including maintenance commands. Allow for them (and other nonessential parts of gdb) to be selectively left out under special circumstances. * gdbtypes.c (recursive_dump_type): New function; supports maintenance print-type command. * gdbtypes.h (recursive_dump_type, maintenance_print_type): Add prototypes. * main.c (maintenancelist, maintenanceinfolist): Add maintenance command lists. * main.c (initialize_cmd_lists): Eliminate unnecessary casts on initializers. Add initializations for setprintlist, showprintlist, setchecklist, showchecklist, maintenancelist, and maintenanceinfolist. * printcmd.c (maintenance_print_type): New maintenance cmd. * valprint.c (setprintlist, showprintlist): Move to main.c, as implied by comment that all cmd lists are owned by main.c. * infcmd.c (unsetlist): Move to main.c, as implied by comment that all cmd lists are owned by main.c. * language.c (setchecklist, showchecklist): Move to main.c, as implied by comment that all cmd lists are owned by main.c * breakpoint.c (enablelist, enablebreaklist, disablelist, cmdlist, deletelist): Remove redundant declarations (also in gdbcmd.h). * symmisc.c (printsyms_command): Now maintenance_print_symbols. * symmisc.c (printmsyms_command): Now maintenance_print_msymbols. * symmisc.c (printpsyms_command): Now maintenance_print_psymbols. * symmisc.c (printobjfiles_command): Now maintenance_print_objfiles. * symtab.h (maintenance_print_symbols, maintenance_print_psymbols, maintenance_print_msymbols, maintenance_print_objfiles): Add prototypes. * symmisc.c (printsyms_command, printpsyms_command, printmsyms_command, printobjfiles_command): Removed from _initialize_symmisc. * main.c (dump_me_command): Moved to maint.c and renamed to maintenance_dump_me. * breakpoint.c (all_breakpoints_info): Rename to maintenance_info_breakpoints. * breakpoint.c (_initialize_breakpoint): Convert add_info of all_breakpoints_info to add maintenance_info_breakpoints to the maintenanceinfolist instead. main.c (initialize_main): Set up maintenance class commands. Sun Jul 5 11:03:53 1992 Stu Grossman (grossman at cygnus.com) * energize-patches: Fix minor problems with building energize lib. * energize-patches: Change names of all cadillac procedure calls to be energize procedure calls. Simplify many hooks by moving tests energize.c. Configure energize, and build it automatically now. Sun Jul 5 09:43:28 1992 Fred Fish (fnf@cygnus.com) * Makefile.in (VERSION): Bump to 4.5.7. * cplus-dem.c (demangle_args): Validate index for previously seen type to guard against bogus values from malformed manglings. * valops.c (value_struct_elt_for_reference): Guard against blindly using NULL return value from lookup_symbol. Sun Jul 5 09:46:43 1992 Stu Grossman (grossman at cygnus.com) * cadillac.c, cadillac-patches: Rename to energize.c and energize-patches. Change all routines and variables named 'cadillac*' to 'energize*'. Create new file called energize.h to hold all interface declarations. * deblib/connection/*: Move all of this stuff into energize/, but delete unneeded files. Sun Jul 5 03:06:39 1992 John Gilmore (gnu at cygnus.com) * tm-sysv4.h (NAMES_HAVE_UNDERSCORE): SVR4 systems don't. * buildsym.c (finish_block): Fix thinko `inner block' complaints. * dbxread.c (process_one_symbol): Parse N_OPT "gcc2_compiled.". * procfs.c (proc_set_exec_trap): Set run-on-last-close flag on child processes, to avoid dead ones "hanging around" after GDB exits. (attach): Always stop the process if it needs it. Set RLC flag when attaching running processes, so it will continue if we detach it, quit, or are killed. (detach): Clear faults and set RLC flag to make process run when we close it. (open_proc_file): New `mode' argument for O_RDONLY or O_RDWR. Callers changed. (info_proc): Open process O_RDONLY, so we can see any process, even those controlled by debuggers. * tm-sun4sol2.h (SUN_FIXED_LBRAC_BUG): They did (in Sol 2). Sat Jul 4 03:43:38 1992 John Gilmore (gnu at cygnus.com) Relocate symbols using an array of section_offsets, rather than a single `addr' or `offset'. This makes Solaris-2 support work, and permits better VxWorks (and maybe xcoff) support later. * symtab.h (struct section_offsets): New structure for keeping a set of offsets, rather than a single one. (struct objfile): Replace addr with section_offsets member. * symfile.h: Add sym_offsets to struct sym_fns. Conforming changes. * gdb-stabs.h: New include file with `symbol type specific' parameters for psymtabs and objfiles. * Makefile.in (HFILES): Add gdb-stabs.h. * buildsym.h (start_psymtab, process_one_symbol): Fix prototypes. * coffread.c: Conforming changes. Fake offset array always 0. * dbxread.c: Conforming changes. (struct dbx_symfile_info): Move to gdb-stabs.h. (start_psymtab): Call elfstab_offset_sections to calculate good offsets for this source file, based on the ELF symbol table info. (read_ofile_symtab): Yank N_CATCH, which is dead. (process_one_symbol, N_CATCH): Yank. (", N_FUN, N_FNAME, N_FN, N_FN_SEQ, N_SO, N_SOL, N_ENTRY): Relocate with SECT_OFF_TEXT. (", N_STSYM, N_LCSYM, N_ROSYM): Grope around in the stab string to distinguish relocatable from absolute symbols. Then, if not absolute, do: (", N_STSYM, N_DSLINE): SECT_OFF_DATA. (", N_LCSYM, N_BSLINE): SECT_OFF_BSS. (", N_ROSYM): SECT_OFF_RODATA. (elfstab_build_psymtabs): Caller has allocated dbx_symfile_info. (dbx_symfile_offsets): Add to translate addr to offset. * dwarfread.c: Conforming changes. Single offset currently used. * elfread.c: Add various complaints about elf/stab stuff. #include gdb-stabs.h. Conforming changes, using a single offset. (elf_symtab_read): Record info from BSF_FILE symbols, and local variables called "Bbss.bss", "Ddata.data", and "Drodata.rodata", for later use in building psymtabs. (elf_symfile_read): Allocate dbx_symfile_info here, to keep the info collected in elf_symtab_read. Cleanup calls free_elfinfo. (free_elfinfo): New fn, frees all chained stab_section_infos in an objfile, and zaps the start-of-chain pointer. (elfstab_offset_sections): New fn, looks in stab_section_info chain to determine section bases to relocate a psymtab's worth of symbols, as they are being read. * mipsread.c: Conforming changes. Stabs-reading will relocate using one offset. MIPS-reading will not relocate at all. * partial-stab.h: Relocate different symbol types using different offsets from section_offsets. * symfile.c: Conforming changes. (find_lowest_section): Unused function to use later to free us from the Tyranny of the Text Section. (syms_from_objfile): Translate absolute arg ADDR to offsets used in all lower layers of symbol reading. Call format-specific sym_offsets function to initialize offsets for high speed symbol reading. (symbol_file_add): Call reinit_frame_cache so callers don't have to. (symbol_file_command, add_symbol_file_command): Callers changed. * symmisc.c (dump_psymtab): Print new relocation parameters. * xcoffread.c: Corresponding changes. * buildsym.c: Tidy innerblock_complaint and blockvector_complaint. * main.c (main): Read the $HOME/.gdbinit file before processing the argv arguments (e.g. reading symbol files or core files). This allows global parameters to be set, which will apply during the symbol reading. The ./.gdbinit is still read after argv processing. * symtab.c (list_symbols): `i variables' shouldn't show enum values. * xcoffexec.c: Clean up quote inside comment. Fri Jul 3 20:18:26 1992 Fred Fish (fnf@cygnus.com) * breakpoint.c, buildsym.c, c-exp.y, coffread.c, command.c, core.c, cplus-dem.c, dbxread.c, dwarfread.c, elfread.c, environ.c, eval.c, findvar.c, gdbtypes.c, hppabsd-tdep.c, hppahpux-tdep.c, i386-tdep.c, ieee-float.c, infcmd.c, inflow.c, infptrace.c, infrun.c, m2-exp.y, mipsread.c, objfiles.c, parse.c, procfs.c, putenv.c, remote-mm.c, remote-vx.c, solib.c, sparc-tdep.c, sparc-xdep.c, stack.c, symfile.c, symtab.c, symtab.h, target.c, tm-i386v.h, tm-sparc.h, utils.c, valarith.c, valops.c, valprint.c, values.c, xcoffread.c: Remove "(void)" casts from function calls where the return value is ignored, in accordance with GNU coding standards. Fri Jul 3 00:00:49 1992 John Gilmore (gnu at cygnus.com) * dbxread.c (process_one_symbol): Ignore N_MAIN, N_ENDM for Solaris. * partial-stab.h: Ignore N_ENDM. * elfread.c (elf_symtab_read): Ignore symbols that don't have a CODE or DATA section attachment. This eliminates a lot of random values from shared libraries, which screw up the ordinary symbols in the address ranges they happen to overlap. * buildsym.c (define_symbol): Eliminate special tests for function types; move into "function" cases in switch statement. (define_symbol: 'f', 'F', 'P'): Process all parameter types in case they define new type numbers. But ignore them (FIXME). ('k', 'B'): Ignore const and volatile if we see them (FIXME). (read_sun_builtin_type): Add commentary. Wed Jul 1 00:47:02 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) * xm-rs6000.h: define MEM_FNS_DECLARED Tue Jun 30 02:25:10 1992 John Gilmore (gnu at cygnus.com) * tm-mips.h (GDB_TARGET_IS_MIPS): Define for mips-xdep.c. (READ_MIPS_FORMAT, COFF_FORMAT): Remove, unused now. * mips-xdep.c: Remove most include files (unused, caused errs). (fetch_core_registers): Use right parameters in dummy fn. Mon Jun 29 18:30:57 1992 John Gilmore (gnu at cygnus.com) * buildsym.c (scan_file_globals): Beware the null file. Fix from Jim Williams. * stack.c (return_command): Evaluate expression *before* popping off the stack frames! Fix inspired by Jim Williams. (up_silently_command, down_silently_command): No sel frame is error. * defs.h (memcpy, memset): Conditionalize decls on #ifndef MEM_FNS_DECLARED, since DECstation differs. (alloca): Break out the STDC and non-STDC alloca cases, to make it work on old preprocessors as well as "picky ANSI" ones. * xm-mips.h (memcpy, memset): Declare, and set MEM_FNS_DECLARED. * mips-tdep.c (heuristic_proc_start): Zero arg produces zero. * utils.c (fputs_demangled): Rename SLOP since DECstation system header files define it! * tm-29k.h (BREAKPOINT): Allow it to be overridden with -D. Mon Jun 29 16:30:25 1992 Fred Fish (fnf@cygnus.com) * dbxread.c, i386-pinsn.c, i386-tdep.c, regex.c, solib.c, symmisc.c, symtab.h, tm-i386v4.h, valprint.c, values.c: Lint. * breakpoint.c, c-exp.y, coffread.c, command.c, environ.c, eval.c, findvar.c, infcmd.c, infptrace.c, infrun.c, m2-exp.y, parse.c, putenv.c, solib.c, sparc-xdep.c, symtab.c, tm-i386v.h, tm-sparc.h, utils.c, valarith.c, valops.c, valprint.c, values.c: Replace bcopy() use with memcpy(), which is more standard and can take advantage of gcc's builtin functions for increased performance. * breakpoint.c, buildsym.c, coffread.c, dbxread.c, i386-tdep.c, ieee-float.c, infcmd.c, sparc-tdep.c, stack.c, symtab.c, symtab.h, target.c, values.c: Replace bzero() use with memset(), which is more standard and can take advantage of gcc's builtin functions for increased performance. * i386-tdep.c, main.c, valprint.c: Replace bcmp() use with memcmp(), which is more standard and can take advantage of gcc's builtin functions for increased performance. Sun Jun 28 13:30:22 1992 Fred Fish (fnf@cygnus.com) * remote.c (remote_wait): Fix cast on signal() call. * defs.h (alloca): More diddling with alloca. Have to ensure that it has a prototype, so that if alloca is defined as a macro that takes an arg, the definition is seen as a use of a macro that takes an arg, to satisfy picky ANSI preprocessors. Sat Jun 27 12:12:20 1992 Fred Fish (fnf@cygnus.com) * sparc-pinsn.c: Use rather than "string.h", for consistency with all other gdb files. * cadillac.c: Use rather than . * cadillac.c (kernel_dispatch): Convert rindex usage to strrchr. * Makefile.in (MAKE): Remove definition for consistency with other Makefile.in files and to fix problem with recursive makes. Fri Jun 26 19:03:23 1992 John Gilmore (gnu at cygnus.com) * hppahpux-xdep.c (child_xfer_memory): Avoid PT_WDUSER because it crashes H-PUX. Fri Jun 26 11:09:10 1992 Steve Chamberlain (sac@thepub.cygnus.com) * source.c (print_source_lines): for DOS interoperability; don't print CR (013) as ^M. Thu Jun 25 15:18:42 1992 Stu Grossman (grossman at cygnus.com) * dbxread.c (dbx_symfile_init): Move more code under hp9000s800 conditional. * hppabsd-core.c: Don't include "param.h", include instead. * remote.c (remote_wait): Cast signal to void * to avoid warning from busted HP compiler. * partial-stab.h (N_SO): Rearrange code a little so that all SO stabs cause end_psymtab to be called. * buildsym.c (read_sun_builtin_type): Handle new FCS Sun CC compiler feature of putting 'c' into basic type descriptors for all forms of char. * procfs.c (child_resume): Work around Solaris (on Sparc) lossage where there is no place for nPC in prrun struct. Thu Jun 25 12:06:00 1992 Fred Fish (fnf@cygnus.com) * mipsread.c: Pass NULL name pointer to init_type, not 0. * gdbtypes.c (init_type): Use copy of typename on type_obstack. * dwarfread.c (enum_type): Save enum names on type_obstack. * dwarfread.c (struct_type): Save member name on type_obstack. * symtab.c (_initialize_symtab): Fix misspelling. * regex.c (store_jump, insert_jump): Return void. Thu Jun 25 04:00:10 1992 John Gilmore (gnu at cygnus.com) * defs.h (PARAMS): Move to ../include/ansidecl.h. (alloca): Declare return type on SPARC, since Sun doesn't. (*_BYTE_ORDER): Improve comment: *must* be defined. * tm-hppa.h: New file, architectural definition of HP PA. * tm-hppabsd.h, tm-hppahpux.h: Shrink to deltas from tm-hppa.h. * am29k-pinsn.c, am29k-tdep.c, copying.awk, copying.c, hppa-coredep.c, hppa-pinsn.c, hppabsd-core.c, hppabsd-tdep.c, hppabsd-xdep.c, hppahpux-tdep.c, hppahpux-xdep.c, remote-udi.c, ser-go32.c, xcoffsolib.c: Remove which is already in "defs.h". * hppa-coredep.c, hppa-pinsn.c, hppabsd-core.c, hppabsd-tdep.c, hppabsd-xdep.c, hppahpux-tdep.c, hppahpux-xdep.c, xcoffsolib.c, xcoffsolib.h, xm-go32.h, xm-hppabsd.h, xm-hppahpux.h: Copyrights. Wed Jun 24 12:53:20 1992 John Gilmore (gnu at cygnus.com) * printcmd.c (output_command): Thinko. (x_command): Only set remembered size/format if cmd succeeds. * dbxread.c (read_ofile_symtab): Remove N_CATCH special case, since it is no longer used and burns time for every symbol read. (process_one_symbol): Treat N_CATCH like default (complain). Wed Jun 24 00:26:56 1992 Stu Grossman (grossman at cygnus.com) * partial-stab.h (case N_TEXT): Fix fencepost error when detecting start of new symbol info after reading symtab for a module with a zero length TEXT segment. Tue Jun 23 21:46:26 1992 Fred Fish (fnf@cygnus.com) * Makefile.in (VERSION): Bump to 4.5.6. * coffread.c (coff_end_symtab): Cast 2nd arg of complain() to correct type. * defs.h (NORETURN): Define away for Lucid compiler. * remote.c (remote_timer, remote_interrupt): Signal handlers take one int arg. * ser-termios.c (serial_write, serial_close): Return whatever value the write/close call returns, rather than falling off end. * inferior.h (PTRACE_ARG3_TYPE): Third arg to ptrace is int on more systems than it is "char *". Define PTRACE_ARG3_TYPE to default to int. * infptrace.c, hppabsd-xdep.c, hppahpux-xdep.c, i386-xdep.c, inferior.h (call_ptrace): Use PTRACE_ARG3_TYPE to declare type of third arg. * a68v-xdep.c, arm-xdep.c, convex-xdep.c, hp300ux-xdep.c, infrun.c, m88k-xdep.c, mach386-xdep.c, mips-xdep.c, os68k-xdep.c, pyr-tdep.c, pyr-xdep.c, rs6000-xdep.c, sparc-xdep.c, sun3-xdep.c, sun386-xdep.c, symm-xdep.c, ultra3-xdep.c: Use PTRACE_ARG3_TYPE to cast ptrace argument 3. * sparc-xdep.c, a68v-xdep.c (fetch_inferior_registers, store_inferior_registers): Supply missing fourth argument to ptrace(). * cadillac.c (kernel_dispatch): Make return type void. * cadillac.c (iosig): Signal handlers take one int arg. * valprint.c (val_print_fields): Call fprint_symbol to get automatic C++ demangling for mangled field names. Mon Jun 22 20:18:06 1992 Fred Fish (fnf@cygnus.com) * command.c (add_abbrev_prefix_cmd): Fix misspelling in comment. * dwarfread.c (enum_type): Fix misspelling in comment. * valprint.c (val_print_fields, cplus_val_print): Minor adjustment to printing of C++ class structures to more closely match format for printing C structures, with and without setting pretty print. Mon Jun 22 17:19:02 1992 Per Bothner (bothner@cygnus.com) * infrun.c (wait_for_inferior): Don't test for SIGEMT (which is not a Posix signal) if it isn't defined. * tm-linux.h, xm-linux.h, config/linux.m[ht], configure.in: New port to Linux (a free Unix clone for 386 machines). Sat Jun 20 19:19:52 1992 John Gilmore (gnu at cygnus.com) COFF changes for dealing better with EPI 29K C compiler output. * coffread.c (record_minimal_symbol): Pass the minsym type to it. Callers changed. (coff_end_symtab): Sort blocks if needed. Complain if misordered. (read_coff_symtab): Move patch_opaque_types call from coff_symfile_read. Restrict it to symtabs from this objfile. (process_coff_symbol: C_TPDEF): Don't put ordinary foward references on opaque type chain; just let coff_lookup_type handle 'em. (decode_type): Complain about tagndx values on non-struct/union/enum types, which the EPI compiler tends to produce. * symtab.c (list_symbols): Make minimal symbol variable-finding work. * tm-68k.h (FIX_CALL_DUMMY): Avoid alignment and byte order dependency. * elfread.c (elf_symfile_read): Update bfd_elf_find_section usage to match new prototype. Include libbfd.h to get prototype. * source.c (find_source_lines): Handle large st_size fields. Sat Jun 20 16:28:39 1992 Fred Fish (fnf@cygnus.com) * infcmd.c (jump_command): Use cleanups to avoid memory leaks. * stack.c (return_command): Use cleanups to avoid memory leaks. Fri Jun 19 19:06:41 1992 John Gilmore (gnu at cygnus.com) * remote-adapt.c, remote-eb.c, remote-mm.c: Lint. Fix INT_REGNUM to INTE_REGNUM. * tm-29k.h (SDB_REG_TO_REGNUM): Add for EPI 29K C compiler. Fri Jun 19 15:30:15 1992 Stu Grossman (grossman at cygnus.com) * configure.in, dbxread.c, hppa-coredep.c, hppa-pinsn.c, hppabsd-core.c, hppabsd-tdep.c, hppabsd-xdep.c, hppahpux-tdep.c, hppahpux-xdep.c, munch, partial-stab.h, tm-hppabsd.h, tm-hppahpux.h, xm-hppabsd.h, xm-hppahpux.h: HPPA merge. * Makefile.in (c-exp.tab.c, m2-exp.tab.c): Filter out bogus extern declarations of malloc/realloc/free that are inserted by some versions of yacc. * m2-exp.y: Prevent conflicts with TRUE and FALSE tokens by #undeffing them. * xm-rs6000.h: Declare malloc/realloc/free appropriately. Yet another decl of strdup (this really ought to come from libiberty.h!). Fri Jun 19 10:28:05 1992 John Gilmore (gnu at cygnus.com) * remote.c (getpkt): Error if input exceeds buffer size. (_initialize_remote): `set remotedebug' enables packet trace. * dbxread.c (process_one_symbol:N_FUN): GCC now produces relative N_SLINE's, etc, just like Sun cc on Solaris2. * am29k-tdep.c (read_register_stack, write_register_stack): Change RSTACK_HIGH_ADDR to rstack_high_address, a user-settable variable. Add `set' and `show' commands for it. * doc/gdb.texinfo: Document it. Thu Jun 18 19:35:22 1992 Fred Fish (fnf@cygnus.com) * valprint.c (type_print_1): Plug memory leak. Print all C++ syms as demangled, not just functions. * buildsym.c (read_range_type): When we find a signed char type, do a lookup of signed char, not plain char. Plain char's still get looked up as plain char's elsewhere. Thu Jun 18 18:59:04 1992 John Gilmore (gnu at cygnus.com) * eval.c: Avoid residue-by-zero when evaluating without side effects. (Bug and fix found by Pierre Willard.) Wed Jun 17 13:08:33 1992 Stu Grossman (grossman at cygnus.com) * xm-rs6000.h: Fix decls for malloc, realloc, and free. * xm-rs6000.h: Add decl for strdup(). * tm-rs6000.h: Remove #include of inferior.h. Fixes many compilation errors. * breakpoint.c (enable_command, disable_command): Without args, should only affect normal breakpoints and watchpoints. * m68k-pinsn.c (print_insn_arg): Make register be const. * xcoffexec.c: Remove ' from comment. * xm-sun3os4.h: Define MALLOC_INCOMPATIBLE to avoid conflicts with decls of malloc in c-exp.tab.c (as produced by yacc). There's got to be a better way to do this... Wed Jun 17 11:10:40 1992 Fred Fish (fnf@cygnus.com) * partial-stab.h: Convert single rindex use to strrchr. * mipsread.c, dbxread.c: Remove troublesome inclusion of non- standard file, now that the only single use of rindex in the gdb source files is gone. Tue Jun 16 22:17:49 1992 Fred Fish (fnf@cygnus.com) * mipsread.c: Undo ill effects from including , which #defines index to be strchr. Unfortunately, index is a member of a symbol table structure that can't be changed. * mipsread.c: tm-mips.h includes coff/symconst.h and coff/sym.h, remove redundant #include's. Tue Jun 16 14:15:51 1992 Stu Grossman (grossman at cygnus.com) * mipsread.c: #include for rindex(). Tue Jun 16 09:01:49 1992 Fred Fish (fnf@cygnus.com) * xcoffexec.c (map_vmap): Turn comment into a real C comment. Mon Jun 15 18:41:23 1992 Stu Grossman (grossman at cygnus.com) * dbxread.c (process_one_symbol), partial-stab.h: Ignore extraneous SO stabs from busted C++ compilers. Mon Jun 15 12:21:45 1992 Fred Fish (fnf@cygnus.com) * Makefile.in (VERSION): Bump to 4.5.5. * symtab.c (decode_line_1): Until C++ support stabilizes, when C++ lookups fail, print possibly helpful hint about completion. * cplus-dem.c (demangle_signature): Fix ARM style demangling for static data members. * dbxread.c (dbx_psymtab_to_symtab_1): Fix prototype. * config/ncr3000.mh (INSTALL): Don't use /usr/ucb/install, it's broken on ncr3000's. Mon Jun 15 07:21:00 1992 Fred Fish (fnf@cygnus.com) * dwarfread.c (decode_modified_type): Change type of first arg. Change 'modifier' to char from unsigned char. Cast single use that needs to be unsigned char. * symtab.h (SYMBOL_BASEREG_VALID): Explain disabling. * utils.c (strdup_demangled): Add function. * defs.h (strdup_demangled): Add prototype. * stack.c (return_command): Demangle C++ function names for query. * infcmd.c (jump_command): Demangle C++ function names for query. * cplus-dem.c (consume_count): New function and prototype. * cplus-dem.c (demangle_class, gnu_special, demangle_func_type, do_type): Replace conversion code with consume_count(). * cplus-dem.c (gnu_special): Fix demangled of static members. * source.c (list_command): Print demangled function names when appropriate. Fix supplied by Peter Schauer. Mon Jun 15 01:45:48 1992 John Gilmore (gnu at cygnus.com) * sparc-tdep.c: Clean up slightly for Solaris2. * buildsym.c (define_symbol): Nameless types are now on several platforms; generalize them and un-ifdef them to make Solaris 2 work. Sun Jun 14 10:55:51 1992 John Gilmore (gnu at cygnus.com) * infcmd.c: Fix typo (reported by Rob Savoye). * xm-sun4sol2.h (gregset_t): Thinko in register set definition. * symtab.h: Disable SYMBOL_BASEREG_VALID until it works. * dbxread.c (dbx_psymtab_to_symtab_1): Renamed from psymtab_to_symtab_1. Use current psymtab's sym_offset and symbol_size, rather than the one for the first file in the dependency chain. * dbxread.c (end_psymtab): Only reset texthigh if it's not already set. Don't reset our own texthigh, or dependency-only pst's, in scanning all the rest of the psymtabs. (process_one_symbol): Fix comments around N_OBJ, N_OPT, N_UNDF. * buildsym.h (N_UNDF): Improve comments. (N_LSYM, etc): Skip types without names (":T(0,3)=sfoob..."). Sat Jun 13 11:16:45 1992 Fred Fish (fnf at cygnus.com) * symtab.h (struct symbol): Add aux_value union for preserving an additional per-symbol value. * symtab.h (SYMBOL_BASEREG, SYMBOL_BASEREG_VALID): Add defines. * frame.h (FRAME_GET_BASEREG_VALUE): Provide default definition. * findvar.c (read_var_value): Use SYMBOL_BASEREG if valid. * printcmd.c (address_info): Use SYMBOL_BASEREG if valid. * symmisc.c (print_symbol): Use SYMBOL_BASEREG if valid. Sat Jun 13 09:18:46 1992 Michael Tiemann (tiemann@rtl.cygnus.com) * symfile.c (clear_symtab_users_once): Now non-static (for objfiles.c). Fri Jun 12 18:54:40 1992 John Gilmore (gnu at cygnus.com) * arm-pinsn.c, i960-pinsn.c, m68k-pinsn.c, mips-pinsn.c, ns32k-pinsn.c, pyr-pinsn.c, sparc-pinsn.c, tahoe-pinsn.c, vax-pinsn.c: Remove reg_names decl (now in defs.h). Solaris-2 support on SPARC: * dbxread.c: Add symbol_size to struct dbx_symfile_info. Add symbol_size and file offsets to struct symloc. Add static symbol_table_offset, string_table_offset, file_string_table_offset, next_file_string_table_offset, last_function_name. (add_old_header_file): Convert error() to complain()t. (dbx_symfile_read): Get symbol size via the objfile. Also get symbol_table_offset. (dbx_symfile_init): Record symbol size and count via the objfile. (dbx_next_symbol_text): Always add file_string_table_offset when accessing string table. (read_dbx_symtab): Initialize file_string_table_offset to 0. (SET_NAMESTRING): Use the offset. (end_psymtab): Large kludge to determine addresses where source files start and end (for the psymtab header). (psymtab_to_symtab_1): Set file_string_table_offset before reading. Get this, symbol size, and symbol offset, from psymtab. (read_ofile_symtab): Don't back up one symbol for Solaris2. Patch up last_source_start_addr if zero in N_SO. (process_one_symbol): Add variable function_start_offset. ( "", N_FUN, N_LBRAC, N_RBRAC, N_SLINE): Add ifdef for BLOCK_ADDRESS_FUNCTION_RELATIVE. ( "", N_OBJ, N_OPT): Ignore. (elfstab_build_psymtabs): New function to read stabs out of an ELF file. * Makefile.in: Accept $(BISON) even though we really want $(YACC). (gdb): use GLOBAL_CFLAGS when linking, too. * partial-stab.h (N_UNDF): Deal with Sol2 relative stringtab offsets. (N_OBJ, N_OPT): Ignore. ('f', 'F'): Save last function name. * elfread.c (record_minimal_symbol_and_info): Kludged to put extra info in the minimal symbol. (elf_symtab_read): The extra info is the size of an ELF object, which was kludged to us in the `udata' field of the BFD symbol. Gag me with a crowbar... (elf_symfile_read): Keep track of both the absolute load address, and the offset between load addr and symbols. Handle STABS as well as DWARF sections, passing the absolute load address to elfstab_build_psymtabs. * symfile.h: Prototype elfstab_build_psymtabs. * symfile.c: Add almost-OK debug versions of add_psymbol_*to_list. * xm-sysv4.h: Add to avoid conflicting defns in defs.h. * buildsym.h: Add processing_acc_compilation flag. * buildsym.c (read_sun_builtin_type, read_sun_floating_type): New. (define_symbol): Skip arg types in function entries. Resolve overloaded 'P' which acc uses for prototypes of functions called by this file. (read_type: 'b', 'r'): Handle Solaris2 builtin types. * minsyms.c (prim_record_minimal_symbol_and_info): Hack to save size of ELF symbols. FIXME. * tm-sun4os5.h: Rename to tm-sun4sol2.h. Update defines for Sol2. * xm-sun4os5.h: Rename to xm-sun4sol2.h. Hack more defines. * configure.in: Solaris config is sparc-sun-solaris2. * config/sun4os5.m[ht]: Rename to config/sun4sol2.m[ht]; new xm, tm. * objfiles.c (free_objfile): Eliminate storage leaks. Contributed by . * symfile.c (symfile_bfd_open): Comment where name is freed. * symmisc.c (extend_psymbol_list): Comment where list is freed. Fri Jun 12 08:24:36 1992 Fred Fish (fnf at cygnus.com) * expprint.c (print_subexp): Add missing ']'. * defs.h (reg_names): Fix declaration to match that in infcmd.c * stack.c (reg_names): Delete redundant (and inconsistent) decl. * WHATS.NEW: Point out improved C++ function name handling. * gdbtypes.c (lookup_fundamental_type): For now, use the same type names for both implicitly and explicitly signed integral types. See comment in the source code. Thu Jun 11 12:31:50 1992 John Gilmore (gnu at cygnus.com) Two `long long' fixes from Robert R. Henry (rrh@dino.tera.com): * defs.h (longest_to_int): Avoid void arm of ?: in error case. * expprint.c (print_subexp): Fix printing of register names. Thu Jun 11 01:33:40 1992 John Gilmore (gnu at cygnus.com) * inferior.h (register_valid): Declare. * remote-udi.c, rs6000-xdep.c, sparc-xdep.c, tm-rs6000.h: Remove decl. * objfiles.h (ALL_OBJFILE_{SYMTABS,PSYMTABS,MSYMBOLS}): Add macros for traversing the data structures in a single objfile. * tm-m88k.h, tm-sparc.h (REGISTER_NAMES): Remove extra semicolon. * tm-i960.h (REGISTER_NAMES): Cosmetic change. * infcmd.c: Lint. Tue Jun 9 17:19:45 1992 Fred Fish (fnf at cygnus.com) * c-exp.y, m2-exp.y: Move remapping defines for malloc and realloc. Add remapping defines for {yyss, yyssp, yyvs, yyvsp}. * config/{amix.mh, i386v4.mh, ncr3000.mh, stratus.mh, sun4os5.mh}: Add definition for INSTALL using /usr/ucb/install. Tue Jun 9 16:29:19 1992 Stu Grossman (grossman at cygnus.com) * depend: rebuild to account for remote-st2000.c. * remote-st2000.c: Almost works now. * tm-st2000.h: Need to turn on HAVE_68881, else things won't compile. Mon Jun 8 23:05:51 1992 Fred Fish (fnf@cygnus.com) * c-exp.y (yylex): Recognize single-quoted strings that specify tokens with embedded whitespace, such as C++ demangled names. * defs.h (demangle_and_match, strcmp_iw, skip_quoted): Prototypes. * main.c (gdb_completer_quote_characters): Add global variable. * main.c (symbol_completion_function): Total rewrite for C++ demangled name handling. * main.c (skip_quoted): New function. * main.c (main): Set rl_completer_quote_characters. * symmisc.c (dump_symtab): Print source language for symtab. * symtab.c (expensive_mangler): Add prototype and function. * symtab.c (completion_list_add_symbol): Total rewrite for new C++ demangled name handling. * symtab.c (lookup_symbol): Check for demangled C++ symbol first, other changes for demangled C++ symbol handling. * symtab.c (lookup_demangled_block_symbol): Use demangle_and_match. * symtab.c (lookup_demangled_partial_symbol): Use demangle_and_match. * symtab.c (decode_line_1): Recognize C++ demangled names on input. * symtab.c (completion_list_add_symbol): Total rewrite for new C++ demangled name handling. * symtab.c (expensive_mangler): New function. * utils.c (strcmp_iw, demangle_and_match): New functions. * xcoffread.c (aixcoff_symfile_read): Fix prototype. Mon Jun 8 21:59:08 1992 John Gilmore (gnu at cygnus.com) * Makefile.in: Roll VERSION to 4.5.4. * Makefile.in, config/*.mh, config/*.mt: Rename TM_CFLAGS to MT_CFLAGS, XM_CFLAGS to MH_CFLAGS to match file names. * config/sun4os5.mh: Add MH_CFLAGS=-xs to save debug info. Mon Jun 8 14:17:42 1992 Stu Grossman (grossman at cygnus.com) * alldeps.mak: Rebuild to account for new files. * config/st2000.mt: Use tm-st2000.h, not tm-68k.h. * tm-st2000.h: New file. * configure.in: Tandem debug monitor (st2000) support. * remote-st2000.c, config/st2000.mt: ditto. Fri Jun 5 11:51:01 1992 John Gilmore (gnu at cygnus.com) * blockframe.c (inside_entry_file, inside_main_func, inside_entry_func): Return 0 if no symbols; avoid crashing. Wed Jun 3 17:48:04 1992 John Gilmore (gnu@cygnus.com) * xcoffread.c (read_xcoff_symtab): Set c_sclass from n_sclass without masking, since it is signed and will later be compared against signed quantities. The right fix is probably to make it all unsigned, but this is a small, safe fix for this release. FIXME -- make the real change sometime soon. Mon Jun 1 16:16:12 1992 Michael Tiemann (tiemann@cygnus.com) * remote-vx.c (vx_load_command,add_symbol_stub): Default READNOW parameter in call to `symbol_file_add' to 0. * xm-sun4os4.h (MALLOC_INCOMPATIBLE): Define it. Sun May 31 06:38:27 1992 Michael Tiemann (tiemann@cygnus.com) * configure.in: Handle -m680[01234]0-wrs. Fri May 29 22:16:02 1992 Michael Tiemann (tiemann@rtl.cygnus.com) * m68k-pinsn.c (print_insn_arg): Pass &EXT_FORMAT_68881 to `ieee_extended_to_double'. Wed May 27 09:27:57 1992 John Gilmore (gnu at cygnus.com) * valops.c (value_assign): Lint, by Pierre Willard. Tue May 19 19:38:10 1992 John Gilmore (gnu at cygnus.com) * coredep.c (fetch_core_registers): Remove premature warning, which triggers on DECstation even though all regs are accessible. * m68k-pinsn.c (print_insn_arg): Use new macros to get sign-extension of instruction fields even on unsigned-char hosts. Bug found by Fred J Roeber, fjr@sgfb.ssd.ray.com. 88K changes inspired by Ted Lemon (uunet!lupine!mellon): * tm-m88k.h, tm-umax.h: Avoid sizeof() in REGISTER_xxx macros, since they define the target, not the host. * m88k-pinsn.c: Fix typo. Thu May 14 01:16:48 1992 John Gilmore (gnu at cygnus.com) * valarith.c (value_zerop): -0.0 is still zero. * eval.c (evaluate_subexp): Avoid NaN anomalies in float compares. Patches by Paul Eggert . Mon May 18 13:53:51 1992 Stu Grossman (grossman at cygnus.com) * alldeps.mak, depend: re-make to account for ser-*.c. Sun May 17 16:51:20 1992 Fred Fish (fnf@cygnus.com) * inflow.c (new_tty): Temporarily ignore SIGTTOU when disconnecting from controlling terminal, to avoid gdb hanging on SVR4. Fixes bug reported by Oliver Okrongli. * procfs.c (PROC_NAME_FMT): Change format to match default used by system, as suggested by Oliver Okrongli. * tm-68k.h (FRAME_FIND_SAVED_REGS): Apply missing parentheses bug fix from Brent Townshend (bst%tt@cam.ORG). * c-exp.y (nonempty_typelist): Fix memory overrun bug reported by turlais@rechser.total.fr. * dwarfread.c (decode_subscr_data): Fix bug in calculation of length of non-zero lowerbound arrays. Bug fix from Peggy Fieland. * objfiles.h (unlink_objfile): Add prototype. * objfiles.c (unlink_objfile): Add function. * objfiles.c (free_objfile): Call unlink_objfile. * objfiles.c (allocate_objfile): Call unlink_objfile on newly remapped objfiles. Bug reported by hahn@sunshine.labs.tek.com. Also, discard old possibly bogus sf struct. * symfile.c (symbol_file_add): Call init_entry_point_info() and find_sym_fns() for remapped symbol files, in case of any changes since the last mapping. Wed May 13 18:28:20 1992 Steve Chamberlain (sac@thepub.cygnus.com) * findvar.c (read_relative_register_raw_bytes): use the raw size of a register to bcopy, rather than the host's sizeof(CORE_ADDR). Tue May 12 17:44:39 1992 Steve Chamberlain (sac@thepub.cygnus.com) Changes to support GDB running on DOS using GO32 and H8 support * defs.h: if xm.h doesn't define FOPEN_RB, include "fopen-same.h", allowing hosts with different text and binary file formats to work. * coffread.c (read_coff_symtab): changed calling convention and operation - now it opens its own file with FOPEN_RB rather than duping and fdopening the provided handle. * dbxread.c, cplus-dem.c: #include mangling. * exec.c: If O_BINARY isn't defined, set it to 0, call openp for binary files oring in the right bit. * utils.c, terminal.h, inflow.c: hackery because dos doesn't have terminals. * remote-hms.c: cleanup to use the new remote serial stuff * serial.h, ser-termios.c, ser-go32.c: newfiles to provide host independent remote terminal I/O. * remote.c: if DONT_USE_REMOTE not defined, then don't use it. * source.c (openp): fix off by one problem removing / - can now open a source file in the root directory with DOS. * values.c (value_as_pointer): remove bogus address bits from long. (unpack_long): unpack into unsigned long/short if pointer. Tue May 12 14:15:48 1992 Stu Grossman (grossman at cygnus.com) * infrun.c (child_attach): Don't allow gdb to attach to itself. It gets permanently stuck in many OSes. * breakpoint.c, infcmd.c, infrun.c, utils.c: Change many printfs to printf_filtered. * breakpoint.c: Improve help text for info breakpoints. Mon May 11 14:17:18 1992 John Gilmore (gnu at cygnus.com) * README: Add pointer to internals doc, and describe reading info files. * utils.c (print_sys_errmsg): Use stderr. Reported by Pierre Willard. * symtab.c (output_source_filename): Remove old glop for wrapping lines, use wrap_here. Reported by Pierre Willard (pierre@la.tce.com). Thu May 7 11:45:03 1992 John Gilmore (gnu at cygnus.com) * Makefile.in: version.c should depend on Makefile, not Makefile.in. * munch: Add sort -u to avoid duplications. * symtab.c (lookup_symbol): Improve Stu's fix of 22 April. Improved fix by hahn@sunshine.labs.tek.com (Doug Hahn). Mon May 11 13:27:46 1992 Fred Fish (fnf@cygnus.com) * cplus-dem.c (demangle_signature): Recognize misplaced '_' to avoid infinite loops while demangling bogus mangled names. * valprint.c (type_print_base): Minor fix for GNU style guide conformance. Sat May 9 18:02:17 1992 Fred Fish (fnf at fishpond) * Makefile.in (VERSION): Bump to 4.5.3 * Makefile.in (DEMANGLE_OPTS): Remove obsolete -Dnounderscore * Makefile.in (demangle): New target to create standalone demangler with same code and options as internal demangler. * cplus-dem.c: Massive restructuring, rewriting, cleanups, etc to support ARM style and Lucid style demangling, improve maintainability, fix several demangling bugs. More changes to follow. * defs.h (strstr): Add ANSI compatible prototype. * valprint.c (type_print_1): Demangle using ansi option. * config/ncr3000.mt (DEMANGLE_OPTS): Remove -Dnounderscore. Sat May 9 14:47:28 1992 Stu Grossman (grossman at cygnus.com) * xcoffexec.c (vmap_exec): Don't assume .text and .data are the first two sections. Fri May 8 11:42:15 1992 Per Bothner (bothner@rtl.cygnus.com) * mipsread.c (parse_procedure): Return rather than using uninitialized variable 'b'. Fri May 8 07:48:27 1992 Stu Grossman (grossman at cygnus.com) * Makefile.in, remote-udi.c, remote-vx.c, 29k-share/dfe/mini2udi.c, 29k-share/dfe/yank.c, vx-share/xdr_ptrace.c, vx-share/xdr_regs.c: Remove -I29k-share, -Ivx-share from Makefile.in. Make #includes relative to each source file. Fri May 8 07:48:27 1992 K. Richard Pixley (rich@cygnus.com) * Makefile.in: propogate INSTALL, INSTALL_DATA, INSTALL_PROGRAM on recursions. Thu May 7 10:00:52 1992 Stu Grossman (grossman at cygnus.com) * am29k-pinsn.c: Use new opcode table in "opcode/a29k.h". * am29k-tdep.c: Update to latest code from AMD. (get_saved_register) don't crap out if no frame. * remote-udi.c: Set/clear inferior_pid as appropriate. (udi_open) call target_preopen, don't close fd 0!!!, clean up error handling. Fixup end-of-debugging messages. (udi_fetch_registers) clean up big time, mainly don't multiply register_valid indices by 4, and use proper Offset when reading gr96-gr127. (udi_store_registers) general cleanup. (fetch_register) cleanup, simplify. (regnum_to_srnum) INT_REGNUM->INTE_REGNUM. * tm-29k.h: Upgrade to latest code from AMD. * 29k-share/udi/udip2soc.c: Get rid of useless errmsg_m macro. (UDIConnect) Clean up error processing (like, don't do exit() if execlp fails), make code restartable, make more attractive. (UDIStop) Use SIGINT instead of SIGUSR1, as isstip won't stop otherwise. Wed May 6 14:34:18 1992 Per Bothner (bothner@rtl.cygnus.com) * tm-irix3.h: Re-define CPLUS_MARKER to '.'. * xm-rs6000.h, tm-rs6000.h: Move re-definition of CPLUS_MARKER from former to latter. Wed May 6 14:12:35 1992 Fred Fish (fnf@cygnus.com) * cplus-dem.c (do_args): Handle void args the same as others. * objfiles.c (free_objfile): Only try to unmap files when reusable objfiles are supported. * valprint.c (type_print_varspec_suffix): Add parameter that specifies if C++ demangling included function arguments. Use it to suppress printing extra pair of ()'s. * valprint.c (type_print_1): Fix problem with printing demangled C++ function types where demangled type includes the function args. Tue May 5 11:10:27 1992 Fred Fish (fnf@cygnus.com) * Makefile.in (DEMANGLER): Define and default to cplus-dem. Allows selection of C++ demangler to be a configuration option until multiple demanglers are supported. * demangle.h: New include file for extended demangler support. * breakpoint.c, gdbtypes.c, printcmd.c, stack.c, symtab.c, utils.c, valprint.c: Include "demangle.h" and change all calls to cplus_demangle() or fputs_demangled() to use individual demangling options. * valprint.c (type_print_1): Change options to cplus_demangle to print demangled function args. Still broken, but now less so. * cplus-dem.c: Include demangle.h, reorganize and update some comments to reflect reality. * cplus-dem.c (cplus_demangle, cplus_mangle_opname): Change second arg from fixed integer to bit based multiple options. * cplus-dem.c (optable): Reformat and replace ansi members with bit based options. * cplus-dem.c (do_type): Fix bug with parsing missing return type. Mon May 4 22:26:59 1992 John Gilmore (gnu at cygnus.com) * values.c (set_internalvar): Force evaluation of lazy values. Bug reported by RMS. Sun May 3 15:47:45 1992 Fred Fish (fnf@cygnus.com) * Makefile.in (VERSION): Bump to 4.5.2. * Makefile.in (DEMANGLE_OPTS): Add, default to -Dnounderscore. * configure.in: Simplify ncr3000 gdb_host logic, add gdb_target. * dwarfread.c (struct_type): Apply fix from Peggy Fieland for proper handling of bit fields. * gdbtypes.h (struct type): Clarify use of field.bitpos. * symtab.h: Fix couple of misspellings in comments. * value.h (struct value): Clarify use of bitpos. * value.h (unpack_field_as_long): Change prototype, returns LONGEST. * values.c (unpack_field_as_long): Change return type to LONGEST, sign extend unpacked fields that are signed, other rewriting. * config/ncr3000.mt: New target config file. Fri May 1 01:53:26 1992 John Gilmore (gnu at cygnus.com) * utils.c (printchar): Print 0x7F and 0x80-0x9F in \nnn notation even when printing 8-bit characters. * gdbtypes.c (make_{reference,pointer,function}_type): New functions which handle overwriting of forward-referenced types for stabs file reading. (lookup_{reference,pointer,function}_type): These just call the make_*_type functions with a null storage alloc parameter. * gdbtypes.h (make_{reference,pointer,function}_type): Declare. * xcoffread.c (smash_to_pointer_type): Remove, no longer used. * buildsym.c (dbx_lookup_type): Zero result for (-1,-1) arg. (dbx_alloc_type): Make it easier to understand. No funct change. (define_symbol: 't'): Don't put the typedef name into the name of the struct, union, or enum. Bugfix. (read_type: '*', '&', 'f'): Add comments. Use make_XXX_type routines to properly handle overwriting preallocated types so that forward references will work. (read_enum_type): Force enum values to file scope, due to bug in Sun compiler output. FIXME, fix later. Remove unused header_file_prev_index mechanism. It was already obsolete in gdb-3.5. These comments appeared in 3.5: /* This code was used before I knew about the instance codes. My first hypothesis is that it is not necessary now that instance codes are handled. */ * dbxread.c (add_new_header_file): Remove header_file_prev_index. * buildsym.h: Remove it and prev_index that saves it. * buildsym.c (push_subfile, pop_subfile, start_symtab): Remove it. * solib.c (special_symbol_handling): When called from core files, must set up debug_addr. Don't print error messages, just return. * symmisc.c (print_symbol): Less ascii diarrhea for enums, please. Wed Apr 29 15:26:51 1992 Per Bothner (bothner@rtl.cygnus.com) * cplus-dem.c: Allow nested class names (as in Foo::Bar::method()). Allow the cleaner cfront style of nested class names (Q2_3Foo3Bar as well as Q23Foo3Bar). Make cplus_demangle re-entrant by removing use of global variables. Instead, place all shared variables in a stack-allocated structure, and pass around its address. Fri Apr 24 07:41:19 1992 Stu Grossman (grossman at cygnus.com) * Makefile.in (make-proto-gdb-1): 1st cut at packaging 29k-share/* subdirs... * remote-udi.c (udi_insert/remove_breakpoint): Completely rewrite, only leave out the bugs. * Makefile.in: Add 29k/UDI support. Improve depend. * alldeps.mak, configure.in, depend: Add 29k/UDI support. * am29k-tdep.c: Update to use new calling conventions, and misc symbol elements. * m68k-pinsn.c (print_insn_arg): Make branch offsets be signed. Thu Apr 23 18:43:17 1992 Fred Fish (fnf@cygnus.com) * tm-29k.h: Set DECR_PC_AFTER_BREAK to 0, as 29ks have nice breakpoint instructions that leave PC pointing at the right place. * core.c (core_open): Call warning() to print warnings. Wed Apr 22 09:55:42 1992 Stu Grossman (grossman at cygnus.com) * symtab.c (lookup_symbol): Need to check if msymbol->name is NULL, as ALL_MSYMBOLS will never return a NULL msymbol pointer. This prevents a crash when trying to lookup the value of a non-existent symbol. Wed Apr 22 09:42:15 1992 Fred Fish (fnf@cygnus.com) * signame.c, signame.h: Remove, replaced by strsignal.c in libiberty. * i960-tdep.c, infrun.c, mach386-xdep.c, procfs.c, sparc-tdep.c, sun386-xdep.c: Remove include of signame.h * Makefile.in (SFILES_MAINDIR): Remove signame.c * Makefile.in (HFILES): Remove signame.h * Makefile.in (OBS): Remove signame.o * defs.h (safe_strerror, safe_strsignal, strerrno, strsigno, errno_max, signo_max, strtoerrno, strtosigno, strsignal, psignal, perror): Add prototypes. * defs.h, xm-apollo68v.h, xm-ultra3.h (SYS_SIGLIST_MISSING): Remove define. * depend: Manually remove signame.[cho] references. * convex-tdep.c (subsig_name): Replace use of sys_siglist with strsignal. * convex-xdep.c (core_file_command): Replace use of sys_siglist with safe_strsignal. * core.c (core_open): Replace use of sys_siglist with safe_strsignal. * core.c (memory_error): Replace use of sys_errlist with safe_strerror. * i960-tdep.c (print_fault): Replace use of sys_siglist with safe_strsignal. * infcmd.c (program_info): Replace use of sys_siglist with safe_strsignal. * infrun.c (signal_stop, signal_print, signal_program): Allocate dynamically based on dynamic determination of number of signals to support. * infrun.c (child_create_inferior): Replace use of sys_errlist with safe_strerror. * infrun.c (wait_for_inferior): Replace use of sys_siglist with safe_strsignal. * infrun.c (sig_print_info): Replace use of sig_abbrev with strsigno and sys_siglist with safe_strsignal. * infrun.c (handle_command): Call signo_max to find number of signals. Replace sig_number with strtosigno and sig_abbrev with strsigno. * infrun.c (signals_info): Replace sig_number with strtosigno. * infrun.c (_initialize_infrun): Call signo_max to find number of signals. Dynamically allocate signal_{stop,print,program}. * procfs.c (errno_table): Remove, now in libiberty/strerror.c. * procfs.c (errnoname): Add function and prototype. * procfs.c (info_proc_siginfo): Call errnoname, replace use of sys_siglist with safe_strsignal. * procfs.c (info_proc_stop, info_proc_signals): Replace use of sys_siglist with safe_strsignal. * procfs.c (info_proc_stop): Call errnoname. * procfs.c (signalname): Replace sig_abbrev with strsigno. * stuff.c (main, get_offset): Replace use of sys_errlist with strerror. * sun386-xdep.c (core_file_command): Replace use of sys_siglist with safe_strsignal. * umax-xdep.c (core_file_command): Replace use of sys_siglist with safe_strsignal. * utils.c (safe_strerror, safe_strsignal): Add functions that call strerror and strsignal respectively, and deal with NULL returns. * utils.c (perror_with_name, print_sys_errmsg): Replace use of sys_errlist with safe_strerror. * valprint.c (val_print): Replace use of sys_errlist with safe_strerror. Tue Apr 21 12:00:47 1992 K. Richard Pixley (rich@cygnus.com) * Makefile.in: rework CFLAGS so that they can be set from the command line to make. CFLAGS -> INTERNAL_CFLAGS. USER_CFLAGS -> CFLAGS. Remove MINUS_G. Default CFLAGS to -g. Pass CFLAGS on recusions. Fri Apr 17 19:25:57 1992 Fred Fish (fnf@cygnus.com) * gdbtypes.h, c-exp.y, m2-exp.y, mipsread.c, gdbtypes.c: Back out of change on 4/14/92 and remove TYPE_FLAG_FUND_TYPE. It was overkill for the problem it solved. * valprint.c (type_print_base): Remove TYPE_FLAG_FUND_TYPE test and default to simply printing type names as appropriate. * main.c (main): Remove one of the leading newlines from warning_pre_print initialization. * objfiles.c (open_existing_mapped_file): Add function and prototype. * objfiles.c (open_mapped_file): Rewrite to use new function open_existing_mapped_file. Thu Apr 16 23:50:12 1992 John Gilmore (gnu at cygnus.com) * sun3-xdep.c (fetch_core_registers): Lint. * tm-sun3.h: Prototype lint. * value.h: Typo. Thu Apr 16 19:56:50 1992 Fred Fish (fnf@cygnus.com) * dwarfread.c (TARGET_FT_POINTER_SIZE, TARGET_FT_LONG_SIZE): Define using TARGET_PTR_BIT and TARGET_LONG_BIT for now. * objfiles.c: Cast calls to close() with unused returns to void. * objfiles.c (allocate_objfile): Initialize objfile's mmfd, free old objfile's name before updating it. * objfiles.c (free_objfile): Major rewrite for mapped objfiles. * objfiles.h (objfile struct): Add mmfd member. * symfile.c (syms_from_objfile): Move some code to new_symfile_objfile. * symfile.c (new_symfile_objfile): Add new function, common code from syms_from_objfile. * symfile.c (symbol_file_add): Call new_symfile_objfile for both mapped and unmapped symbol files. * symfile.c (symbol_file_command): Print "No symbol file now" message, ala exec_file_command for the exec file. * symfile.h (new_symfile_objfile): Add prototype. * xcoffexec.c (map_vmap): Add call to new_symfile_objfile. * xcoffsolib.c (solib_add): Add call to new_symfile_objfile. Thu Apr 16 18:26:34 1992 Per Bothner (bothner@cygnus.com) * rs6000-pinsn.c: New version from IBM (Metin). * m2-exp.y: Re-write string initializers ("<>" => {'<', '>'}) to avoid warnings from some compilers. Tue Apr 14 22:33:55 1992 Fred Fish (fnf@cygnus.com) * gdbtypes.h (FT_FIXED_DECIMAL, FT_FLOAT_DECIMAL): Add defines. * gdbtypes.h (TYPE_FLAG_FUND_TYPE): Add define for bit in a type's flag word that marks it as a fundamental type. * c-exp.y (_initialize_c_exp): Add TYPE_FLAG_FUND_TYPE bit to flags argument for all calls to init_type(). * m2-exp.y (_initialize_m2_exp): Add TYPE_FLAG_FUND_TYPE bit to flags argument for all calls to init_type(). Also remove dependency on host sizes for ints, floats, etc. * mipsread.c (_initialize_mipsread): Add TYPE_FLAG_FUND_TYPE bit to flags argument for all calls to init_type(). Also remove dependency on host sizes for ints, floats, etc. * gdbtypes.c (lookup_fundamental_type): Add TYPE_FLAG_FUND_TYPE bit to flags argument for all calls to init_type(). Add types FT_FIXED_DECIMAL and FT_FLOAT_DECIMAL. * valprint.c (unsigned_type_table, signed_type_table, float_type_table): Remove. * valprint.c (type_print_base): Test new TYPE_FLAG_FUND_TYPE bit when printing fundamental types, and print the actual name for such types, rather than inventing one. Remove code that invented fundamental type names. * valprint.c (_initialize_valprint): Remove initializations for now removed unsigned_type_table, signed_type_table, and float_type_table. Tue Apr 14 14:30:46 1992 Stu Grossman (grossman at cygnus.com) * remote-vx.c, vx-share/xdr_ptrace.c, vx-share/xdr_ptrace.h, vx-share/xdr_rdb.h: Update for new remote protocol under VxWorks 5.0.2. Mon Apr 13 20:59:21 1992 Fred Fish (fnf@cygnus.com) * dwarfread.c (target_to_host): New function similar to previous swapin function. * dwarfread.c (SWAPIN, swapin): Remove macro and support function. Extensive changes to convert all previous usages to use new target_to_host() function. * dwarfread.c (struct dieinfo): Change types of most integral members to be unsigned. Mon Apr 13 15:59:10 1992 John Gilmore (gnu at cygnus.com) * WHATS.NEW: Revise -mapped doc. Sat Apr 11 23:14:36 1992 John Gilmore (gnu at cygnus.com) * mipsread.c (parse_partial_symbols): Complain when sh->index is too high or when skipping `forwards' moves us backwards. (parse_type): Print mis-guessed tag name in complaint. (parse_external): Eliminate cur_stab and obscure top_stack clobbers. (parse_procedure): Do not attempt to create symbols; just fill in the SYMBOL_VALUE field of a .gdbinfo. symbol if we can find one. (psymtab_to_symtab_1): Split up `stabs' from `native ecoff' code for clarity. Set top_stack before calling parse_external. In stabs, sort symbols before calling parse_procedure. * mipsread.c: Lint. * symmisc.c (std_in, std_out, std_err): Add vars to access std FILE *'s when debugging GDB (e.g. as args to dump_symtab). * Makefile.in: Remove stage* targets. Avoid echo on recursive makes. Eliminate doc/Makefile from tar.Z file if doc/Makefile.in exists. Fri Apr 10 23:47:37 1992 John Gilmore (gnu at cygnus.com) * Makefile.in (VERSION): Set to 4.5.1. * xcoffread.c (NO_TYPEDEFS): Fix typo in commented-out #define. * sparc-tdep.c (supply_gregset, fill_gregset, supply_fpregset, fill_gregset): New functions for SVR4 /proc support. * mipsread.c: Cleanup. Add more complaints for unhandled cases. Remove new symbol types and such to ../include/coff/symconst.h. (parse_symbol): Simplify code for parsing struct/enum/unions. (parse_type): Handle `long long' types. (upgrade_type): Handle `const' qualifier. (parse_partial_symbols): fix indentation, clean a bit. Fri Apr 10 22:41:03 1992 Fred Fish (fnf@cygnus.com) * dwarfread.c (SWAPIN,swapin): New macro and function to call to copy in data from raw read buffers, calling bfd byteswapping routines as appropriate. Use to replace most existing memcpy calls. * dwarfread.c (basicdieinfo, completedieinfo): Add objfile arg. * configure.in: Recognize new ncr3000 config. * config/ncr3000.mh: New config file. Fri Apr 10 08:30:58 1992 Stu Grossman (grossman at cygnus.com) GDB-4.5 release! * README: Update for release. * Makefile.in: Update version to 4.5. * WHATS.NEW: The obvious. * depend: Generate new depend file for this release. * Makefile.in (depend): Fix dependancy generation so that it does not include gcc 'fixincluded' files, which are usually in a system specific location. Thu Apr 9 13:35:00 1992 Per Bothner (bothner@rtl.cygnus.com) Changes from metin@ibmpa.awdpa.ibm.com (Metin G. Ozisik). * buildsym.c (#ifdef RS6000_TARGET): Don't create unnecessary symbols for nameless types. And, handle `R' (register parameter type) for AIX. (an extension to existing stabstring grammar). * rs6000-xdep.c: Fix typo (= should have been ==). Thu Apr 9 12:10:06 1992 Stu Grossman (grossman at cygnus.com) * Makefile.in: version=4.4.88, add xm-vax.h to HFILES. Thu Apr 9 02:29:03 1992 John Gilmore (gnu at cygnus.com) * xm-sun4os5.h (DO_DEFERRED_STORES, CLEAR_DEFERRED_STORES): Zap. * signame.c (SIGWAITING, SIGLWP): Add. Tue Apr 7 16:34:07 1992 Per Bothner (bothner@cygnus.com) * xm-i386mach.h: add decls for errno and strdup(). * breakpoint.c (breakpoint_1): Add (int) casts for enums used in array index context (otherwise, some compilers barf). Tue Apr 7 08:45:46 1992 Stu Grossman (grossman at cygnus.com) * m68k-tdep.c, tm-sun3.h: #ifdef around get_longjmp_target(). Change def of SAVED_PC_AFTER_CALL to call routine to see if we are in a system call, and provide better backtrace if so. * Makefile.in (HFILES): Add xcoffsolib.h. * rs6k-opcode.h: Move to ../include/opcode/rs6k.h. * rs6000-pinsn.c: #include "opcode/rs6k.h" * mipsread.c (read_mips_symtab, read_the_mips_symtab, mipscoff_symfile_read): Convert to BFD to do file I/O. * symfile.c: #include to get proper def if isspace(). * i386-tdep.c (get_longjmp_target): #ifdef GET_LONGJMP_TARGET. Mon Apr 6 17:25:45 1992 Per Bothner (bothner@cygnus.com) * mipsread.c: Create a .gdbinfo pseudo-symbol for each function also when parsing embedded stabs. Mon Apr 6 15:25:03 1992 Stu Grossman (grossman at cygnus.com) * mipsread.c: Fix more declarations. * mipsread.c: Fix many invocations of complain. Use enum type_code where appropriate. * xm-vaxult.h: Add decl for strdup(). * Makefile.in: Add dependancies for xm-vaxbsd.h and xm-vaxult.h for xm-vax.h. Fri Apr 3 17:41:29 1992 Stu Grossman (grossman at cygnus.com) * buildsym.h, dbxread.c, mipsread.c: Add objfile arg to process_one_symbol. Fri Apr 3 12:17:14 1992 Per Bothner (bothner@cygnus.com) * munch: Must pre-pend "_" to "initialize" for SYSV style nm. * tm-rs6000.h, xcoffexec.c, xcoffread.c, xm-rs6000.h: Merge in more patches for rs6000 from Metin Ozisik. * utils.c: Fix typo in comment. Fri Apr 3 11:23:03 1992 Fred Fish (fnf@cygnus.com) * procfs.c (procinfo struct): Add nopass_next_sigstop member. * procfs.c (attach): Set nopass_next_sigstop if attached process is forcibly stopped. * procfs.c (child_resume): Use nopass_next_sigstop to suppress resending SIGSTOP to attached process on first resume. Fri Apr 3 01:37:26 1992 Stu Grossman (grossman at cygnus.com) * Makefile.in (SFILES_MAINDIR): add mipsread.c Thu Apr 2 20:20:54 1992 John Gilmore (gnu at cygnus.com) * Makefile.in (OBS): Compile mipsread.c for all targets now. (VERSION): Bump to 4.4.85. * mipsread.c: Update for new include files. Lint. * tm-irix3.h, tm-mips.h: Use new include files for ECOFF symtab. * config/{bigmips.mt, littlemips.mt, irix3.mt, decstation.mt}: Don't need to bring in mipsread.o specially any more. Thu Apr 2 19:38:31 1992 Stu Grossman (grossman at cygnus.com) * mipsread.c (fixup_sigtramp): Also look for _sigtramp as a real routine (for Irix-4.x). Make many funcs static and void. * mips-tdep.c (mips-frame-chain): Clean up, simplify. * (init_extra_frame_info): Don't trash cached value of frame pointer register. This fixes backtracing through routines that use alloca(). Generally clean up declarations of functions, and use typedefs and macros to reference data structures as appropriate. * tm-irix3.h, tm-mips.h (EXTRA_FRAME_INFO): use proper type for proc_desc element. Thu Apr 2 09:47:11 1992 Fred Fish (fnf@cygnus.com) * values.c (unpack_long): Fix unpacking error for signed chars on hosts where the default character type is unsigned. * procfs.c (pr_flag_table, pr_why_table): Add some entries for newer SVR4 variants. * procfs.c (proc_set_exec_trap): Reorder tests for ioctl's that turn off trace inherit-on-fork flag to favor latest SVR4 method. * procfs.c (mappingflags): Add support for MA_PHYS Thu Apr 2 00:55:56 1992 John Gilmore (gnu at cygnus.com) * buildsym.c (read_struct_type): Avoid coredump when C++ abbreviated type name is messed up. Reported by Joe Buck. FIXME, we need to determine whether GDB or GCC needs to be smarter to correctly locate this type name. * c-exp.y, coffread.c, command.c, command.h, copying.awk, dbxread.c, gdbtypes.c, infcmd.c, inferior.h, infrun.c, m2-exp.y, printcmd.c, remote.c, solib.c, source.c, stack.c, symtab.c, tm-sun4os4.h, tm-sun4os5.h, values.c: Lint. * symfile.c (add_symbol_file_command): Initialize mapped/readnow. Wed Apr 1 11:39:52 1992 Fred Fish (fnf@cygnus.com) * breakpoint.h (bpdisp, bptype): Remove trailing comma. * symtab.h (current_source_symtab): Make extern * symtab.h (current_source_line): Make extern * inferior.h: Move all procfs.c prototypes to one place, add prototype for proc_signal_handling_change. Add prototypes for signal_stop_state, signal_print_state, and signal_pass_state. * inferior.h (stop_soon_quietly): Make extern * inferior.h (attach_flag): Make extern * infrun.c (NOTICE_SIGNAL_HANDLING_CHANGE): Default is null. * infrun.c (signal_stop_state, signal_print_state, signal_pass_state): New functions to query specific signal handling flags. * infrun.c (handle_command): Minor error message change, add NOTICE_SIGNAL_HANDLING_CHANGE. * procfs.c (open_proc_file): Remove iris specific reset of inherit-on-fork flag, moved to proc_set_exec_trap(). * procfs.c (proc_set_exec_trap): Add SVR4 and iris code to reset inherit-on-fork flag, bash comment to GNU form. * procfs.c (proc_base_address, set_proc_siginfo, fetch_core_registers): Conform to code style. * procfs.c (signame.h): Include. * procfs.c (MAX_SYSCALLS, syscall_table[], init_syscalltable(), syscallname(), info_proc_syscalls()): New macros, tables, and functions to organize and report system call information. * procfs.c (saved_fltset, saved_trace, saved_sighold, saved_exitset, saved_entryset): Add to procinfo struct. * procfs.c (struct trans): Add. * procfs.c (pr_flag_table, pr_why_table, faults_table, siginfo_table, errno_table): Tables to translate numeric values to symbolic names and short descriptions. * procfs.c (signalname, info_proc_signals): Add function and prototype. * procfs.c (proc_info): Now info_proc. * procfs.c (proc_info_address_map): Now info_proc_mappings. * procfs.c (info_proc_flags, info_proc_stop, info_proc_siginfo, info_proc_faults, lookupname, lookupdesc, sigcodename, sigcodedesc): New functions. * procfs.c (proc_signal_handling_change): New function to set the trace flags based on the state of gdb's signal handling flags. * procfs.c (inferior_proc_init): Call proc_signal_handling_change and remove code to do PIOCSTRACE ioctl. * procfs.c (attach, detach): Preserve and restore process flags using saved_* fields in procinfo struct. * procfs.c (attach): Call proc_signal_handling_change. * procfs.c (info_proc): Major rework to expand "info proc" cmd. * procfs.c (proc_desc): Update for latest changes. * xm-irix4.h (CREATE_INFERIOR_HOOK): Protect by USE_PROC_FS. * xm-irix4.h (NOTICE_SIGNAL_HANDLING_CHANGE): Add definition. * xm-sysv4.h (NOTICE_SIGNAL_HANDLING_CHANGE): Add definition. Tue Mar 31 18:38:28 1992 Fred Fish (fnf@cygnus.com) * procfs.c (set_proc_siginfo): Add prototype and new function. * procfs.c (detach, child_resume): Call set_proc_siginfo to set up inferior siginfo struct. * elfread.c (elf_symfile_read): Compute the relocation amount by subtracting off the address of the ".text" section. * solib.c: Add pointer to ".text" section to so_list struct. * solib.c (solib_map_sections): Initialize pointer to ".text" section in so_list struct. * solib.c (symbol_add_stub): Pass base address of ".text" section to symbol_file_add, rather than the load address of the shared library. On SunOS they are the same. On SVR4 they are not. Tue Mar 31 17:48:15 1992 Stu Grossman (grossman at cygnus.com) * mipsread.c (parse_procedure): PDR.isym should get pointer to function name, not .gdbinfo. symbol. Tue Mar 31 17:05:04 1992 John Gilmore (gnu at cygnus.com) * breakpoint.c (breakpoint_1): Fix prototype, this time for sure! Tue Mar 31 11:01:06 1992 Stu Grossman (grossman at cygnus.com) * Makefile.in (VERSION): 4.4.8 * procfs.c (open_proc_file): Disable inherit-on-fork flag so that commands in .cshrc/.profile won't get traced. Tue Mar 31 08:11:58 1992 John Gilmore (gnu at cygnus.com) * elfread.c (elf_symtab_read): Use xmalloc, not bfd_xmalloc. * exec.c (build_section_table): Don't abort if no sections. * sparc-tdep.c (single_step): Lint. * utils.c (mrealloc): Handle realloc (0, size) case here. Mon Mar 30 16:50:43 1992 Stu Grossman (grossman at cygnus.com) * Makefile.in (alldeps.mak): Config files are now *.m[ht] as opposed to m[ht]-*! * config/irix4.mh: Don't use coredep.o. It doesn't work with procfs. * mipsread.c (parse_symbol, parse_procedure): Re-do the way that .gdbinfo. symbols are created. Move creation from parse_procedure to parse_symbol, where it is fairly easy to grow the symtab. This also fixes a symtab trashing bug on all mips-based systems. * (got_numargs, lookup_numargs, free_numargs): Delete. Not needed anymore. * tm-mips.h, tm-iris3.h, mips-tdep.c, mipsread.c: Re-do struct mips_extra_func_info, and all the PROC_xxx macros that look at it. Mon Mar 30 14:17:53 1992 Per Bothner (bothner@cygnus.com) * c-exp.y: Add missing return type to yyparse() prototype. Sat Mar 28 22:22:06 1992 John Gilmore (gnu at cygnus.com) Create and use macros for iterating on symtabs, psymtabs, msymbols. * minsyms.c (iterate_over_msymbols): Remove; clunky and slow. * symfile.h, symtab.h (iterate_over_msymbols): Remove prototype * coffread.c (coff_symfile_read): iterate_over_symtabs => ALL_SYMTABS. (patch_opaque_types): Avoid dummy args and result. * objfiles.c (have_partial_symbols, have_full_symbols, have_minimal_symbols): explicit iteration => ALL_OBJFILES; simplify. (iterate_over_objfiles, iterate_over_symtabs, iterate_over_psymtabs): Remove, clunky and slow. * objfiles.h: Replace iterate_over_* prototypes with ALL_SYMTABS, ALL_PSYMTABS, and ALL_MSYMBOLS macros. * symmisc.c (dump_symtab, dump_psymtab, dump_msymbols, dump_objfile): Remove dummy args and results. Move filename comparisons to callers. (printsyms_command, printpsyms_command, printmsyms_command, printobjfiles_command): iterate_over_* => ALL_*. Compare filenames. * symtab.c (lookup_symtab_1, lookup_symtab, lookup_partial_symtab, lookup_symbol, find_main_psymtab, find_pc_symtab, sources_info, list_symbols, make_symbol_completion_list): Replace explicit iteration with ALL_SYMTABS, ALL_PSYMTABS, or ALL_MSYMBOLS. Eliminate Dijkstra flag crap, break out of loops with gotos. (lookup_symtab_1): Protect '/' tests from short filenames. (cplus_mangled_symbol): Move inline into lookup_symbol. * xcoffexec.c (relocate_objfile_msymbols): Remove poor hack. (relocate_minimal_symbol): Move inline to vmap_symtab. (vmap_symtab): Replace iteration with ALL_OBJFILES, iterate_over_msymbols with ALL_MSYMBOLS. Misc cleanup prior to release. * Makefile.in (VERSION): Roll to 4.4.7. (HFILES): Add call-cmds.h. * call-cmds.h: New header for command fns called by other files. * breakpoint.c (watchpoints_info): Remove, same as breakpoints_info. (breakpoint_1): Remove unused type arg. Change callers. * dwarfread.c (dwarf_build_psymtabs): Remove mainline test. * mipsread.c (compare_symtabs, compare_psymtabs): Remove, unused. * mipsread.c: Add prototypes for all static functions. * symmisc.c (dump_symtab_lines, dump_symtabs, dump_last_symtab, dump_blockvector, dump_block, dump_addrchass, dump_namespace, dump_symbol, dump_type, dump_linetable, dump_strtbl): Remove, unused. * xcoffread.c (dump_symtab_lines, dump_symtabs, dump_last_symtab, dump_blockvector, dump_block, dump_addrchass, dump_namespace, dump_symbol, dump_type, dump_linetable, dump_strtbl): Remove 2nd unused copy! * buildsym.c (define_symbol): Handle global register variables (from Pierre Willard). Complain if register numbers are too large. * target.c (nomemory): Now that higher levels examine errno, give EIO. * tm-sparc.h: Don't #include . * sparc-tdep.c (sparc_frame_chain, frame_saved_pc): Remove dependency on . Start to handle cross-byte-order. * language.h: Avoid forward enum declaration. * configure.in, tm-sun4os5.h, xm-sun4os5.h, config/sun4os5.mh, config/sun4os5.mt: New host and target. * defs.h (errno): #include rather than assuming int. From Pierre Willard. * breakpoint.c, breakpoint.h, buildsym.c, coffread.c, cplus-dem.c, dbxread.c, dwarfread.c, elfread.c, infcmd.c, infrun.c, inftarg.c, language.c, main.c, mem-break.c, mips-tdep.c, mipsread.c, partial-stab.h, remote.c, saber.suppress, symfile.c, symtab.c, valops.c, valprint.c, xcoffread.c, c-exp.y, m2-exp.y, blockframe.c, command.c, core.c, exec.c, gdbtypes.h, parse.c, printcmd.c, solib.c, sparc-xdep.c, utils.c, value.h, values.c: Lint. Sat Mar 28 02:43:26 1992 John Gilmore (gnu at cygnus.com) * buildsym.c (read_range_type): Avoid int overflow by using unsigned. * dbxread.c (dbx_symfile_init): Remove bogus `lvalue cast'. * language.h (enum exp_opcode): Avoid forward enum def. * main.c (define_command, user_defined_command): Lint. * mem-break.c, xcoffread.c: Lint. * solib.c: Only #include on SunOS, not SVR4. Sun Mar 29 14:16:22 1992 Per Bothner (bothner@cygnus.com) * Merged in latest RS6000 diffs from Metin G. Ozisik. * xcoffsolib.c, xcoffsolib.h: New files, from Metin. * Various files: Changed #ifdef IBM6000 to IBM6000_HOST or IBM6000_TARGET as (approximately) appropriate. Sat Mar 28 13:00:10 1992 Fred Fish (fnf@cygnus.com) * objfiles.h (OBJF_SYMS): Define flag bit for objfile flags. * symfile.c (symbol_file_add): Use OBJF_SYMS to decide whether or not to try reading symbols from a mapped objfile. Plugs memory leak due to shared libraries generating no psymtabs or symtabs. Fri Mar 27 15:44:55 1992 John Gilmore (gnu at cygnus.com) * buildsym.c (MAX_OF_C_TYPE, MIN_OF_C_TYPE): Unused, remove. * copying.awk: Lint. Make stronger warning at top of copying.c. * elfread.c (elf_symtab_read): Eliminate check of mainline. * gdbtypes.c (smash_to_*): Remove FIXME comments. (lookup_pointer_type): Add FIXME comment. * main.c (set_history_size_command): Disallow negative size. * partial-stab.h: Update copyright. * rs6000-tdep.c (skip_trampoline_code): Better comments. Wed Mar 25 10:45:38 1992 John Gilmore (gnu at cygnus.com) * main.c (set_history_size_command): Negative size is error. (Reported by Peggy Fieland.) Thu Mar 26 17:01:18 1992 Fred Fish (fnf@cygnus.com) * coffread.c (coff_symfile_init): Update comment. * dbxread.c (DBX_SYMFILE_INFO, DBX_TEXT_SECT, DBX_SYMCOUNT, DBX_STRINGTAB, DBX_STRINGTAB_SIZE, DBX_SYMTAB_OFFSET): Define macros to access the dbx specific objfile information. * dbxread.c (symfile_string_table, symfile_string_table_size): Remove these local variables. * dbxread.c (read_ofile_symtab, psymtab_to_symtab_1, read_dbx_symtab): Remove the stringtab and stringtab_size params from the function prototypes, the function definition, and the function calls. These are now available via DBX_STRINGTAB and DBX_STRINGTAB_SIZE using the objfile pointer. * dbxread.c (dbx_symfile_read): Relocate addr before using as an arg to read_dbx_symtab. * dbxread.c (dbx_symfile_read): Remove code that free'd the stringtab and the dbx specific per-objfile private info. * dbxread.c (init_psymbol_list): Remove symbol count from passed args in prototype, function definition, and function calls. It is now available via the DBX_SYMCOUNT macro using the objfile pointer. * dbxread.c (dbx_symfile_read, dbx_symfile_init): Remove the local instance of struct dbx_symfile_info and replace with DBX_* macros. * dbxread.c (dbx_symfile_read): Remove init's of now deleted symfile_string_table and symfile_string_table_size. * dbxread.c (dbx_symfile_finish): Remove now obsolete free of symfile_string_table. * dbxread.c (init_psymbol_list): Use DBX_SYMCOUNT. * dbxread.c (dbx_psymtab_to_symtab): Remove local stringtab and stringtab size variables. Remove all code that used to reread the stringtab. * objfiles.c (allocate_objfile): Move calls to init_malloc() to prior to any calls to mmalloc for the objfile specific heap. * utils.c (init_malloc): Document the requirement that for each heap for which corruption checking is desired, that init_mmalloc must be called prior to any mmalloc calls on the heap. Thu Mar 26 13:20:06 1992 Per Bothner (bothner@cygnus.com) * rs6000-pinsn.c: Make dis-assembly output more like other targets: Don't print instruction in hex before the assembly; use print_address to print out jump destinations. Wed Mar 25 16:52:35 1992 Per Bothner (bothner@cygnus.com) * c-exp.y, gdbtypes.h: Add builtin_type_signed_char. * cplus-dem.c: Support "Sc" meaning "signed char". Wed Mar 25 15:21:44 1992 Stu Grossman (grossman at cygnus.com) * configure.in: fix iris/iris3. Wed Mar 25 14:55:48 1992 Per Bothner (bothner@cygnus.com) * command.c, main.c (various places): Use ctype.h macros (such as isupper(x)), instead of hard-wiring in ASCII-isms (such as (x >= 'A' && x <= 'Z')). (There are still more of these in other files.) * main.c (defined_command): Lower-case the user's new command before entering it. Needed because command lookup is case-insensitive (and also lower-cases). (Based on Metin's earlier patch.) Tue Mar 24 23:27:01 1992 K. Richard Pixley (rich@cygnus.com) * config/irix4.mh: new file. Tue Mar 24 14:17:48 1992 Stu Grossman (grossman@cygnus.com) * infcmd.c (step_1): Call disable_longjmp_breakpoint at the right time. * xm-mips.h: Declare strdup for ultrix. * mipsread.c (fixup_sigtramp): Make sure that current_objfile is setup when calling new_symbol. * mips-tdep.c (mips_frame_chain): Use symfile_objfile instead of current_objfile. Tue Mar 24 13:26:25 1992 Per Bothner (bothner@rtl.cygnus.com) * config/rs6000.mh: Update (for Fred's new mmalloc) flags to disable use of GNU malloc/mmalloc. * munch: Change SYSV rule to allow .text before the label, as well as after, to work for AIX. * gdbtypes.h: Minor clarifiction. Tue Mar 24 07:26:19 1992 Michael Tiemann (tiemann@cygnus.com) * buildsym.c (read_struct_type): Handle cretinous dbx symbol name continuation in yet another place (between method declarations). Mon Mar 23 23:01:41 1992 Stu Grossman (grossman at cygnus.com) * mips-tdep.c: include symfile.h and objfiles.h to fix compilation errors. Mon Mar 23 15:49:14 1992 Per Bothner (bothner@cygnus.com) * valops.c (value_struct_elt_for_reference): Added 'offset' parameter to handle multiple inheritance. * eval.c, value.h: Update accordingly. Fri Mar 20 17:43:27 1992 Fred Fish (fnf@cygnus.com) * objfiles.h: New file * Makefile.in (HFILES): Add objfiles.h * blockframe.c: Remove entry_scope_lowpc, entry_scope_highpc, main_scope_lowpc, main_scope_highpc. * blockframe.c, buildsym.c, coffread.c, dbxread.c, dwarfread.c, elfread.c, gdbtypes.h, minsyms.c, mipsread.c, objfiles.c, solib.c, source.c, symfile.c, symmisc.c, symtab.c, target.c, xcoffexec.c, xcoffread.c, : Include objfiles.h. * tm-29k.h, tm-i386v.h, tm-merlin.h, tm-rs6000.h, tm-sun386.h, tm-symmetry.h, tm-tahoe.h, tm-umax.h, tm-vax.h, m88k-tdep.c, mips-tdep.c (FRAME_CHAIN): Renamed outside_startup_file to inside_entry_file() and logic changed appropriately. * blockframe.c (outside_startup_file): Renamed to inside_entry_file() and logic changed appropriately. * blockframe.c (inside_main_scope): Renamed to inside_main_func() and logic changed to use per-objfile specific fields. * blockframe.c (inside_entry_scope): Renamed to inside_entry_func() and logic changed to use per-objfile specific fields. * blockframe.c, buildsym.h, coffread.c, dwarfread.c, mipsread.c, symfile.c, mips-tdep.c (startup_file_start, startup_file_end): Remove extern decls. * symfile.c, symfile.h (entry_point): Remove extern decl. * coffread.c (coff_symfile_init): Common entry point init code moved to symfiles.c, call init_entry_point_info(). * coffread.c (complete_symtab): Use new per-objfile entry info. * mip-tdep.c (mips_frame_chain): Use new per-objfile entry info. * mipsread.c (parse_partial_symbols): Use new per-objfile entry info. * dbxread.c (read_dbx_symtab): Use new per-objfile entry info. * defs.h (inside_entry_scope, outside_startup_file, inside_main_scope): Prototypes changed for renames to inside_entry_func, inside_entry_file, inside_main_func, respectively. * symfile.c (syms_from_objfile): Common entry point init code moved to init_entry_point_info() and call init_entry_point_info(). * symfile.h (init_entry_point_info): Include prototype. * xcoffread.c (aixcoff_symfile_init): Common entry point init code moved to symfiles.c and call init_entry_point_info(). * dwarfread.c (entry_scope_lowpc, entry_scope_highpc, main_scope_lowpc, main_scope_highpc): Remove extern decls. * dwarfread.c (read_func_scope, read_file_scope): Use new per- objfile entry info. * frame.h (FRAME_CHAIN_VALID): Provide default definition that works for the majority of targets. * tm-68k.h, tm-convex.h, tm-h8300.h, tm-i386v.h, tm-irix3.h, tm-merlin.h, tm-mips.h, tm-pyr.h, tm-rs6000.h, tm-sparc.h, tm-sun386.h, tm-tahoe.h, tm-umax.h, tm-vax.h (FRAME_CHAIN_VALID): Use default definition in frame.h. * frame.h (selected_frame_level): Make decl extern. * objfiles.c, symfile.c (current_objfile): Moved to objfiles.c * objfiles.c, symfile.c (symfile_objfile): Moved to objfiles.c * partial-stab.h: Use new per-objfile entry info. * symfile.h (struct objfile): Removed, moved to objfiles.h. * symfile.h, objfiles.h (allocate_objfile, free_objfile, free_all_objfiles, iterate_over_objfiles, iterate_over_symtabs, iterate_over_psymtabs, have_partial_symbols, have_full_symbols, have_minimal_symbols): Prototypes moved to objfiles.h. * symfile.h, objfiles.h (ALL_OBJFILES, ALL_OBJFILES_SAFE): Macros moved to objfiles.h. * tm-h8300.h, tm-i386v4.h (FRAME_CHAIN_VALID_ALTERNATE): Define. Thu Mar 19 18:49:45 1992 Per Bothner (bothner@cygnus.com) More C++ improvements (pointers to members, qualified names). * c-exp.y: Support exp.type::name and exp->type::name syntaxes. (Unfortunately, doesn't work for static members.) * c-exp.y, eval.c: Make type::~type work better. * eval.c (evaluate_subexp: OP_SCOPE): Replace use of value_static_field by value_struct_elt_for_reference. * eval.c (evaluate_subexp): Merge code for STRUCTOP_MEMBER and STRUCTOP_MPTR; cast arg1 to domain-type of arg2. * eval.c (evaluate_subexp): Remove special case for UNOP_ADDR for OP_SCOPE operand; no point in it now that we use lazy reading of values, and use "reference to member" objects. * gdbtypes.h: Clarify comment. * valops.c: Change value_struct_elt_for_address to return a reference (or variable), rather than a pointer. Change the name to value_struct_elt_for_reference to reflect this. Returning a reference instead of a address provides a generalization, since we can use the routine for both class::name as well as &class::name. Also, recurse to handle multiple inheritance properly. * valprint.c: Moved code to print pointer-to-members to new function point_class_member. This allows a "reference-to-member" to be printed using the same code. * valprint.c (type_print_varspec_prefix): Avoid printing "struct " for domains of class-member types. * valops.c (search_struct_field): Inline code for simplified version of value_static_field (which can then be deleted). * value.h: Rename value_struct_elt_for_address to value_struct_elt_for_reference. Delete value_static_field. * values.c: Remove no longer used function value_static_field. Thu Mar 19 13:54:11 1992 Fred Fish (fnf@cygnus.com) * coffread.c, mipsread.c, xcoffread.c, coffread.c, dbxread.c, elfread.c (coff_symfile_finish): Add function, prototype, and add to the xxxx_sym_fns struct for each file type. Also reformat the xxxx_sym_fns vector to a standard format and add comments. * coffread.c, mipsread.c, xcoffread.c, coffread.c, dbxread.c, elfread.c (xxx_symfile_new_init, xxx_symfile_init, xxx_symfile_read): Pass pointer to struct objfile rather than pointer to sym_fns. Change references inside each function accordingly. Allocate any symbol file specific info in the per-objfile memory region. * dbxread.c (free_and_init_header_files): Break function into free_header_files(), called from dbx_symfile_finish(), and init_header_files(), called from dbx_new_init(). * dbxread.c (dbx_new_init): Move deallocation things to new dbx_symfile_finish function. * elfread.c (elf_new_init): Call buildsym_new_init(). * objfiles.c (free_objfile): Call the appropriate symfile_finish() routine for the objfile before deallocating other stuff. * sparc-tdep.c (get_longjmp_target): Cast target_read_memory arg. * symfile.h: Move struct sym_fns to before struct objfile def. Add sym_finish function pointer and change prototypes of other function pointers to reflect passing struct objfile pointer rather than struct sym_fns pointer. * symfile.c: Remove now obsolete symtab_fns pointer. * symfile.c (symfile_init): Renamed to find_sym_fns, and now only locates the correct sym_fns struct for the given objfile. * symfile.c (syms_from_objfile, symbol_file_add): Restructured for better support of mapped symbol tables. * symfile.c (symbol_file_command): Remove obsolete code using symfile_fns. * symfile.h: Remove duplicate declarations for symfile_objfile, entry_point, and object_files. * target.c (target_info): Compare symfile_objfile to NULL. * xcoffread.c (aixcoff_new_init): Move deallocation stuff to aixcoff_symfile_finish(). Wed Mar 18 18:22:46 1992 Fred Fish (fnf@cygnus.com) * infrun.c (IN_SOLIB_TRAMPOLINE): Add default definition. * infrun.c (wait_for_inferior): Use IN_SOLIB_TRAMPOLINE. * tm-sysv4.h (IN_SOLIB_TRAMPOLINE): Add SVR4 definition. Wed Mar 18 15:51:15 1992 Per Bothner (bothner@cygnus.com) Some improvements to g++ debugging. * symtab.c (list_symbols): demangle before pattern matching. * symtab.c: Other fixes to improve handing of operators. * valprint.c (type_print_base): Fix test for constructor. * values.c (value_static_field): Allow evaluation of CLASS::METHOD, returning a function pointer. Wed Mar 18 08:39:52 1992 Fred Fish (fnf@cygnus.com) * Makefile.in (VERSION): Roll 4.4.6. * exec.c (exec_file_command): Add code to ignore optional args passed in by file_command() for use in symbol_file_command(). * main.c (main): Document -mapped and -readnow in help summary. * objfiles.c (open_mapped_file): Cosmetic change, arg renamed. * objfiles.c (allocate_objfile): Filename arg removed. Changes to get filename from bfd with bfd_get_filename(). Test mapto against 0, not NULL. Use mstrsave() to make copy of filename. * remote-mm.c (mm_load): Symbol_file_add() takes an additional arg. * remote-vx.c (vx_load_command, add_symbol_stub): Symbol_file_add() takes an additional arg. * solib.c (symbol_add_stub): Symbol_file_add() takes an additional arg. * symfile.c (symfile_open): Renamed to symfile_bfd_open and changed to return a bfd not an objfile pointer. * symfile.c (syms_from_objfile): Eliminate local copy of bfd. * symfile.c (symbol_file_add): Takes an additional arg (readnow). Change to eliminate local bfd and use symfile_bfd_open() plus allocate_objfile(). Add code to implement readnow option. * symfile.c (symbol_file_command): Changes to option handling, readnow functionality moved to symbol_file_add(). * symfile.c (symfile_init): Eliminate local copy of bfd. * symfile.c (add_symbol_file_command): Changes to parse mapped and readnow options. * symfile.h (allocate_objfile): Arg removed from prototype. * symtab.h (symbol_file_add): Arg added to prototype. * xcoffexec.c (map_vmap): Allocate_objfile() takes an additional arg. Sat Mar 14 16:38:47 1992 Fred Fish (fnf@cygnus.com) * gmalloc.c, gmalloc.h mcheck.c mmap-alloc.c mmap-sbrk.c mtrace.c, mtrace.awk, state.c, state.h: Removed. * .gdbinit: Add ../malloc, ../libiberty, and ../bfd to list of directories searched for source files. * Makefile.in (GNU_MALLOC, MALLOC_CFLAGS, MALLOCSRC): Removed * Makefile.in (MMALLOC_DIR, MMALLOC_DEP, MMALLOC_LIB, MMALLOC_DISABLE, MMALLOC_CHECK, MMALLOC_CFLAGS): Add * Makefile.in (CFLAGS): Replace MALLOC_CFLAGS with MMALLOC_CFLAGS. * Makefile.in (CLIBS, CDEPS): Add MMALLOC_LIB * Makefile.in (ADD_FILES, ADD_DEPS): Remove GNU_MALLOC. * Makefile.in (SFILES_MAINDIR): Remove stat.c mmap-alloc.c, mmap- sbrk.c * Makefile.in (HFILES): Remove state.h * Makefile.in (POSSLIBS_MAINDIR): Remove MALLOCSRC. * Makefile.in (OBS): Remove state.o mmap-alloc.o mmap-sbrk.o * Makefile.in (saber_gdb): Remove mcheck, mtrace. Add MMALLOC_DIR. * Makefile.in (clean): Remove all object files. * c-exp.y: Define malloc to xmalloc and realloc to xrealloc. * cplus-dem.c: Remove prototypes definitions that are now done in def.h. * dbxread.c (throughout): Change from using per-objfile xmalloc/xrealloc/free functions to xmmalloc/xmrealloc/mfree. * defs.h: Remove prototypes for mmap_* functions. Add prototypes for xmmalloc, xmrealloc, mfree, mmcheck, mmtrace, mmalloc_attach, mmalloc_detach, mmalloc_setkey, msavestring, and mstrsave, nomem. * depend: Remove dependencies for state.o, state.h. * dwarfread.c: Add declaration for warning_pre_print. * dwarfread.c (dwarfwarn): Use warning_pre_print. * dwarfread.c (throughout): Change from using per-objfile xmalloc/xrealloc/free functions to xmmalloc/xmrealloc/mfree. * gdbtypes.c (lookup_fundamental_type): Fix init_type calls to use supplied objfile. * i386-xdep.c (print_387_status): Change to use warning() rather than printfs. * i387-tdep.c (print_387_control_word): Change to use warning() rather than printfs. * infrun.c (wait_for_inferior): Remove unreachable abort() call that some compilers grumble about. * language.c (throughout): Add declaration for warning_pre_print and using warning() instead of printfs. * m2-exp.y: Define malloc to xmalloc and realloc to xrealloc. * main.c (main): Add declaration for warning_pre_print and set it similarly to error_pre_print. Add declarations for mapped_symbol_files and readnow_symbol_files. Add appropriate definitions to long_options[]. * minsyms.c: Trivial fix to comment. * objfiles.c (allocate_objfile): Substantially rewritten for using mapped symbol files. * objfiles.c (throughout): Change from using per-objfile xmalloc/xrealloc/free functions to xmmalloc/xmrealloc/mfree. * objfiles.c (open_mapped_file, mapped_to_address): Add functions. * source.c (throughout): Change from using per-objfile xmalloc/xrealloc/free functions to xmmalloc/xmrealloc/mfree. * source.c (open_source_file): Use mstrsave to save file name in mapped symbol region for objfile. * symfile.c: Remove include for state.h. include to local form. * symfile.c (symbol_file_add_digested): Remove. * symfile.c (symbol_file_add): Substantially rewritten for mapped symbol files. * symfile.h: Remove malloc/xrealloc/xmalloc/xrealloc/free members from objfile structure. Add malloc descriptor pointer (md). * symfile.h (OBJF_DUMPABLE): Changed name to OBJF_MAPPED. * symm-xdep.c (print_fpu_status): Use warning() rather than printfs. * symmisc.c (free_symtab_block): Now takes and uses current objfile pointer. * symmisc.c (throughout): Change from using per-objfile xmalloc/xrealloc/free functions to xmmalloc/xmrealloc/mfree. * symtab.c (cplus_mangled_symbol): Cast return value to avoid Sun compiler grumblings when PTR is char *. * symtab.c (lookup_symbol): Cast return value of iterate_over_ msymbols() to correct pointer type. * utils.c (warning_pre_print): Initialize to "\nwarning: ". * utils.c (fatal, fatal_dump_core): Ensure that the fatal error always starts on a line of it's own. * utils.c (init_malloc, malloc_botch, xmalloc, xrealloc): Rewrite for new mapped malloc package use. * utils.c (mmalloc, mrealloc, mfree): Stubs for configurations that don't want to use the mapped malloc package; pass arguments on to traditional malloc package functions. * utils.c (nomem): Add for fatal virtual memory exhausted aborts. * utils.c (xmmalloc, xmrealloc, xmalloc, xrealloc): Like mmalloc, mrealloc, malloc, and realloc but get fatal error if runs out of memory. * utils.c (msavestring, mstrsave): Save a string in a specific mapped malloc region. * utils.c (print_spaces): Use xmalloc to get the buffer. * xm-amix.h, xm-i386v4.h, xm-sun3os4.h, xm-sun4os4.h: Add defines for MMAP_BASE_ADDRESS and MMAP_INCREMENT. * config/i386v4.mh: Insignificant reorganization. Sat Mar 14 11:44:47 1992 Fred Fish (fnf@cygnus.com) * xcoffread.c: Only enable compilation of debugging functions if IBM6000 is defined. Fails to compile otherwise. Fri Mar 13 15:51:11 1992 K. Richard Pixley (rich@cygnus.com) * Makefile.in: pass MAKEINFO down on info. Fri Mar 13 12:56:36 1992 John Gilmore (gnu at cygnus.com) * mipsread.c (mipscoff_symfile_read): Eliminate a lot of useless code, including an lseek to an uninitialized variable. Reported by Jim Williams . Thu Mar 12 11:56:46 1992 Per Bothner (bothner@cygnus.com) Merged in patches from metin@ibmpa.awdpa.ibm.com (Metin G. Ozisik) (dated Fri, 6 Mar 92 17:51) for the rs6000. * minsyms.c, symfile.c: Changes that may be generally applicable, but are #ifdef IBM6000 for now. * rs6000-xdep.c: Fixed typo in comment. * rs6000-tdep.c: Non-substatial changes. * xoffread.c: The main change here is addition of some debugging functions. * xoffexec.c: More changes. * xcoffread.c: Fixed two too-few-parameters bugs. * solib.h, infrun.c, tm-rs6000.h: Add a PID parameter to SOLIB_CREATE_INFERIOR_HOOK macro. Sun Mar 8 21:17:48 1992 Fred Fish (fnf@cygnus.com) * symfile.h: Add prototype for iterate_over_msymbols(). * symtab.c (cplus_mangled_symbol): Add function. * symtab.c (lookup_symbol): Call cplus_mangled_symbol via iterate_over_msymbols to find demangled C++ symbol. * xcoffexec.c (relocate_minimal_symbol): Return meaningful value to iterate_over_msymbols(). * xcoffexec.c (vmap_symtab): Ignore return from iterate_over_ msymbols(). Fri Mar 6 21:59:34 1992 K. Richard Pixley (rich@cygnus.com) * Makefile.in: added check target. Thu Mar 5 23:56:01 1992 John Gilmore (gnu at cygnus.com) * ecoff.c: Move to ../bfd/coff-msym.c. * config/mt-*mips: Remove ecoff.o from the configuration. * remote.c (): Add newline to initial +. (remote_resume): Mention how to cope with signals. (remote_interrupt): Add debug msg. (remote-wait): Implement new 'T' reply, which includes status, PC, and FP all in a single short message. (putpkt): Add further debugging of packet acks. * mipsread.c (fixup_symtab): Also swap RFD's. (parse_partial_symbols): Avoid bug on unknown symbol types. * Makefile.in (VERSION): Roll to 4.4.5. * mips-tdep.c (heuristic_proc_start): Avoid long delays for remote MIPS by limiting heuristic to 200 byte search. (heuristic_proc_desc): Byte-swapping. (mips_print_register): Cope with failure of read_relative_register_raw_bytes. Byte-swap integers for printing. * mips-pinsn.c (print_insn): Byte-swap instruction. Thu Mar 5 12:32:09 1992 Stu Grossman (grossman at cygnus.com) * config.sub configure.in config/mh-irix4 gdb/configure.in gdb/mips-tdep.c gdb/mipsread.c gdb/procfs.c gdb/signame.h gdb/tm-irix3.h gdb/tm-mips.h gdb/xm-irix4.h gdb/config/mt-irix3 gdb/config/mh-irix4 texinfo/configure.in: Port to SGI Irix-4.x. Wed Mar 4 11:56:42 1992 Fred Fish (fnf@cygnus.com) * defs.h, utils.c: xrealloc takes PTR as first arg. * defs.h: Reword confusing comment about ANSI prototypes. * defs.h: Some minor whitespace changes. * infrun.c (wait_for_inferior): Compare int tmp to int 0, not NULL, which can be (void *). * tm-amix.h, tm-i386v4.h: Add defines for setjmp/longjmp handling. * tm-i386v.h (SP_ARG0): Define * xm-sysv4.h: Back out of change for missing prototypes. * i386-tdep.c (get_longjmp_target): Add function. Wed Mar 4 05:46:11 1992 K. Richard Pixley (rich@rtl.cygnus.com) * Makefile.in: install man page too. Tue Mar 3 15:11:52 1992 Michael Tiemann (tiemann@cygnus.com) * All GDB files that #include defs.h: Removed stdio.h. (defs.h): #include stdio.h. Mon Mar 2 23:00:12 1992 Steve Chamberlain (sac@thepub.cygnus.com) * gdbtypes.c (lookup_pointer_type): initialize the TYPE_LENGTH of a ptype to reflect the setting of TARGET_PTR_BIT. Set the TYPE_FLAGS of a ptype to TYPE_FLAG_UNSIGNED. * tm-h8300.h, h8300-tdep.c, remote-hms.c: personal checkpoint * printcmd.c (print_address): if ADDR_BITS_REMOVE is defined, use it before printing out the hex shape of an address. Sun Mar 1 17:41:09 1992 Per Bothner (bothner@cygnus.com) * rs6000-xdep.c (frame_initial_stack_address): Move code to set frame->cache_fsr into new separate function frame_get_cacahe_fsr. This allows fixing a fatal error. * xcoffexec.c: Turn previously suppressed error message back on, after cleaning up BFD. * breakpoint.c (breakpoint_re_set): Removed (at least for now) printing of blank line, since it cases printing of an extra blank line. Is this intended? It does mess up gdb test suite. * defs.h: Put back declarations of malloc and realloc, but protected by #ifndef MALLOC_INCOMPATIBLE. * objfiles.c: Undo previous change: Use malloc/realloc for objfile malloc/realloc fields (but add a cast). * xcoffexec.c: Suppress an error message (for now). Sat Feb 29 14:43:02 1992 Per Bothner (bothner@cygnus.com) Changes from metin@ibmpa.awdpa.ibm.com (Metin G. Ozisik) [Mail dated Fri, 21 Feb 92 13:14:54 -0800] * buildsym.c: Use smash_to_pointer_type() to handle forward type references. * xcoffread.c: Modifications to C_DECL storage class handling, and introduction of an old smash_to_pointer_type() routine. Changes from metin@ibmpa.awdpa.ibm.com (Metin G. Ozisik) [Mail dated Thu, 20 Feb 92 13:57:16 -0800] * rs6000-xdep.c, rs6000-tdep.c, tm-rs6000.h: function_frame_info() parameters have been modified. Changes from metin@ibmpa.awdpa.ibm.com (Metin G. Ozisik) [Mail dated Thu, 20 Feb 92 10:10:05 -0800] * rs6000-tdep.c: Before Feb 5 92, register_valid[] array was not used, and fetch_inferior_registers() always fetched all the registers resulting valid register values at hand all the time. Pushing a dummy frame did not require validating all register values first. After putting the above mechanism into action, we didn't have valid registers values always ready. Thus, all registers need to be fetched before pushing a dummy frame now. Changes from metin@ibmpa.awdpa.ibm.com (Metin G. Ozisik) [Mail dated Thu, 13 Feb 92 16:22:44 -0800] * rs6000-xdep.c: frame_initial_stack_address() function to calculate the starting address (actual frame address) of a frame. * rs6000-tdep.c: modifications to function_frame_info() to see if function reserves a frame pointer register (alloca register) * tm-rs6000.h: EXTRA_FRAME_INFO, FRAME_ARGS_ADDRESS and FRAME_LOCALS_ADDRESS has been updated to support debugging of functions with alloca() calls. Sun Mar 1 13:13:39 1992 Fred Fish (fnf@cygnus.com) * xm-sysv4.h: Provide definitions/prototypes for host environment functions for which no definitions or prototypes are provided in any currently included gdb or host environment header files. For SVR4, this currently includes malloc and realloc, which cannot be portably prototyped in any gdb include file. Sat Feb 29 14:43:02 1992 Per Bothner (bothner@cygnus.com) * buildsym.h: Remove obsolete variable file_stabs. * Makefile.in: Move place where configure merges in host- and target-dependent fragments later, so the latter can override (say) GNU_MALLOC. * config/mh-rs6000: Use system malloc. Otherwise, I ended up with *two* incompatible versions of malloc (functions in libc would call the malloc in libc). I assume this is a shared library problem. * remote.c: Fix (presumed) typo. * objfiles.c: Use xmalloc/xrealloc instead of malloc/realloc (since the latter are no longer declared). Changes from metin@ibmpa.awdpa.ibm.com (Metin G. Ozisik) [Mail dated Thu, 6 Feb 1992 10:22:02 -0800] * rs6000-xdep.c: Improvements to fetch_inferior_registers() to handle individual registers. * tm-rs6000.h: Fix SAVED_PC_AFTER_CALL macro to handle pc value correctly in case it wasn't cached yet. (A problem showed up after fetching individual registers.) * buildsym.c: Disable type_synonym_name's type name overwriting in cases it is unnecesary. rs6000 portation doesn't use type_synonym_name, and it used to nullify type names * xcoffread.c: to handle g++'s typename abbreviation, fill in a type's name as soon as space for that type is allocated. * xcoffread.c: ignore a section's lineno information if it is not `.text'. (In rs6000 bfd portation integration, skipping over `.pad' sections are ignored since it was in machine independent part of the code. Thus, a problem of fake sections with invalid lineno information arised.) Changes from metin@ibmpa.awdpa.ibm.com (Metin G. Ozisik) [Mail dated Thu, 6 Feb 1992 13:26:22 -0800] * rs6000-tdep.c: make function_frame_info() work whether or not reading from a core file. * tm-rs6000.h: Implementation of FRAME_FIND_SAVED_REGS macro. * infrun.c. main.c, printcmd.c. symtab.c: More changes from IBM for rs6000. Thu Feb 27 22:57:19 1992 Per Bothner (bothner@cygnus.com) * rs6k-opcode.h, tm-rs6000.h, xm-rs6000.h, rs6000-tdep.c, rs6000-xdep.c, xcoffexec.c, xcoffread.c: Merge in changes (mostly from IBM) for RS6000. * breakpoint.c, buildsym.c, infptrace.c, stack.c, symtab.c: More changes from IBM for RS6000. These are in machine- independent code, and probably could do with some cleaning up. The most questionable of these are #ifdef IBM6000. * infrun.c, sparc-tdep.c: Pass a parameter (signal number) to single_step() (for consistency with rs6000 and i860). * utils.c: Allow the 1st arg to xrealloc to be NULL (in which case do malloc). This removes the need for some tests in xcoff code (and perhaps other places?). * coffread.c: Removed variables last_source_file, type_vector, and type_vector_length as these are now defined by buildsym.[ch]. * defs.h: Remove prototypes for malloc and realloc, since these should only be used to implement xmalloc and xrealloc, and they conflict with in AIX - where they return void* even when __STDC__ isn't defined. Sigh. * munch: Recognize *initialize* in data as well as text (AIX uses data). Also, incorporate a patch from Garrett Wollman to make the sed script much more sensible, by only trying to match the name of the initialize_foo function, and not the junk before it. Thu Feb 27 20:07:43 1992 Stu Grossman (grossman at cygnus.com) * breakpoint.c (breakpoint_re_set_one): Don't reset breakpoint unless symbol table indicates that something has changed. Thu Feb 27 11:48:47 1992 John Gilmore (gnu at cygnus.com) * remote.c: Make it work for embedded MIPS. Increase buffer size, and use throughout. Round buffer size up if too many regs. Support baud rate setting and try for an 8-bit path. If interrupted while waiting for target, send a ^C down the wire. Avoid single-byte reads. * tm-mips.h: Add more embedded-system registers to REGISTER_NAMES and NUM_REGS. * mips-xdep.h: Avoid the embedded regs when on Unix. * mipsread.c: Byte-swap the symbol table structures, using routines from ecoff.c, to read a symbol table written in any of the four possible byte orders. * configure.in (mips-big-* target): Same as Sony News. * config/mt-bigmips, config/mt-littlemips: Add ecoff.o. * ecoff.c: New file for symbol swapping routines. Thu Feb 27 09:26:38 1992 Stu Grossman (grossman at cygnus.com) * breakpoint.c (all_breakpoints_info, breakpoint_1): Add 'info all-breakpoints' command. * (get_number): Allow users to enter negative breakpoint numbers. * (breakpoint_1): Reformat display of 'info break' to show new fields. * (create_longjmp_breakpoint, breakpoint_re_set, breakpoint_re_set_one, enable/disable_longjmp_breakpoint), symfile.c (syms_from_objfile): Re-do insertion of longjmp breakpoints. Move all code into breakpoint_re_set, and call that instead of create_longjmp_breakpoint in symfile.c. Thu Feb 27 06:11:05 1992 John Gilmore (gnu at cygnus.com) * breakpoint.h (ALL_BREAKPOINTS_SAFE): Add. * breakpoint.c (breakpoint_re_set): Use ALL_BREAKPOINTS_SAFE. * symtab.c (find_pc_symtab): Handle having no objfiles. * infcmd.c: Fix comment. * objfiles.c (free_all_objfiles): Add. * symfile.h (ALL_OBJFILES, ALL_OBJFILES_SAFE): Add. * symfile.c (symbol_file_command): free all objfiles when specifying a new symbol file. (reread_symbols): Stat the file name, don't fstat the descriptor. Wed Feb 26 18:04:40 1992 K. Richard Pixley (rich@cygnus.com) * Makefile.in, configure.in: removed traces of namesubdir, -subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced copyrights to '92, changed some from Cygnus to FSF. Tue Feb 25 19:31:19 1992 Stu Grossman (grossman at cygnus.com) * dbxread.c (end_psymtab): Delete empty psymtabs. * symfile.c (allocate_psymtab): Recycle empty psymtabs. * symfile.h (struct objfile): Add free_psymtabs. Sat Feb 22 02:00:32 1992 John Gilmore (gnu at cygnus.com) * Makefile.in (VERSION): Roll to gdb-4.4.4. * symfile.c (symbol_file_command): strcmp => !strcmp. * breakpoint.h: Move prototypes to follow enum definition they need. * breakpoint.c, infrun.c: Lint. * printcmd.c: Use `enum enable' rather than `enum display_status'. * mipsread.c: First pass at making it compile with the new objfile changes. Probably seriously broken still, but it compiles. FIXME. Sat Feb 22 00:56:39 1992 Stu Grossman (grossman at cygnus.com) * infrun.c, infcmd.c, breakpoint.c, main.c, symfile.c, breakpoint.h, tm-sun4os4.h, tm-sparc.h, sparc-tdep.c, tm-mips.h, mips-tdep.h, tm-sun3.h, tm-68k.h, m68k-tdep.h: Add support for stepping (and nexting) through longjmp(). Also, cleanup breakpoint handling quite a bit by creating explicit breakpoint types instead of using magic breakpoint numbers. Makefile.in: Update version to 4.4.3 Sat Feb 22 00:08:50 1992 John Gilmore (gnu at cygnus.com) * buildsym.c, dwarfread.c, gdbtypes.c, inflow.c, main.c, minsyms.c, printcmd.c, remote.c, saber.suppress: Saberlint. * symmisc.c, xcoffread.c: Move debug functions to symmisc.c. * xm-sun3os4.h, xm-sun4os4.h: Enable HAVE_MMAP. * minsyms.c (install_minimal_symbols): Add bunches to any existing minsyms in the objfile. Avoid extra mallocation by working directly in the obstack. Remove ignored `mainline' parm. * coffread.c, dbxread.c, elfread.c, mipsread.c, solib.c, symtab.h, xcoffread.c: Change all callers. * FIXME: We should be able to eliminate MAINLINE from all the symbol readers now, with a small bit of work. * valops.c, value.h: Lint. * remote-vx.c: Add missing break; statement. Bugfix by Michael Sclafani, . Fri Feb 21 17:29:54 1992 Fred Fish (fnf at cygnus.com) * Makefile.in (VERSION): Update version to 4.4.2 * Makefile.in (SFILES_MAINDIR): Add gdbtypes.c, state.c, objfiles.c, minsyms.c, mmap-alloc.c, mmap-sbrk.c * Makefile.in (HFILES): Add gdbtypes.h, state.h, solib.h * Makefile.in (OBS): Add gdbtypes.o, state.o, objfiles.o, minsyms.o, mmap-alloc.o, mmap-sbrk.o * altos-xdep.c: Minor whitespace change. * am29k-tdep.c (examine_prologue): Convert from misc function vector use to new minimal symbol table use. * arm-xdep.c (fetch_inferior_registers): Document unused argument. * arm-xdep.c (store_inferior_registers): Returns void. * blockframe.c (get_pc_function_start, find_pc_partial_function): Convert from misc function vector use to new minimal symbol table use. Remove find_pc_misc_function(). Ifdef out block_innermost_frame(). * breakpoint.c: Add prototypes for local functions. * breakpoint.c (catch_command_1): Change to static and remove unused local "pc". * breakpoint.c (map_breakpoint_numbers): Prototype arg "function". * breakpoint.h: Change function decls to prototype form. * buildsym.c: Add prototypes for local functions. * buildsym.c: Moved hashname() function here from dbxread.c. * buildsym.c (dbx_lookup_type): Cast args to xrealloc(). * buildsym.c: Remove dbx_create_type(), uses changed to alloc_type(). * buildsym.c (dbx_alloc_type): Change to static. * buildsym.c (finish_block): Add objfile parameter. * buildsym.c (misc): Change symbol_obstack to objfile version. * buildsym.c (make_blockvector): Change to static. * buildsym.c (start_subfile): Use strdup instead of obsavestring. * buildsym.c (compare_line_numbers): Change to static, args are const, cast args when used. * buildsym.c (start_symtab): Inline new_object_header_files() call. * buildsym.c (patch_block_stabs): Moved to this file from xcoffread and made static. Add objfile parameter. * buildsym.c (end_symtab): Simplify code using line table size. Realloc the linetable on the objfile symbol_obstack and copy there. * buildsym.c (scan_file_globals): Convert from misc function vector use to new minimal symbol use. * buildsym.c (define_symbol): Add objfile parameter. Make sure strings get allocated in objfile's symbol_obstack. Convert references to builtin types to lookup_fundamental_type(). * buildsym.c (read_type): Make static, add objfile parameter, convert references to buildin types to lookup_fundamental_type(). * buildsym.c (read_struct_type): Add objfile parameter. * buildsym.c (read_array_type): Make static, add objfile parameter. * buildsym.c (read_enum_type): Make static, add objfile parameter. * buildsym.c (read_huge_number): Make static. * buildsym.c (read_range_type): Make static, add objfile parameter, convert references to buildin types to lookup_fundamental_type (). * buildsym.c (read_args): Make static, add objfile parameter. * buildsym.h: Convert function decl's to prototype form. * c-exp.y: Add prototypes for local functions, convert uses of misc function vector to minimal symbol table. Reformat all builtin type initializations and pass a NULL objfile to init_type() for them. * coffread.c: Change context_stack ref's to coff_context_stack, add local function prototypes. Cast uses of xrealloc arg 1. * coffread.c (coff_alloc_type): Call alloc_type instead of hand- crafting a new type. * coffread.c (add_symbol_to_list): Change to coff_add_symbol_to_list. * coffread.c (finish_block): Change name to coff_finish_block. * coffread.c (make_blockvector): Add and use objfile parameter. * coffread.c (record_line): Change name to coff_record_line. * coffread.c (start_symtab): Change name to coff_start_symtab. * coffread.c (end_symtab): Change name to coff_end_symtab. * coffread.c (record_misc_function): Change name to record_minimal_ symbol and change to minimal symbol table use from misc func tbl. * coffread.c (coff_symfile_read): Convert from misc function vector use to minimal symbol table use. * coffread.c (hashname): Remove; use common version in buildsym.c. * coffread.c (decode_base_type): Change references to builtin types to calls to lookup_fundamental_type(). * coffread.c (read_struct_type): Change name to coff_read_struct_type. * coffread.c (read_enum_type): Change name to coff_read_enum_type. * command.c: Add prototypes for local functions. * command.c (add_cmd): Prototype the 'fun' parameter and use the appropriate member of the function union for that type. * command.c (add_abbrev_cmd): Prototype the 'fun' parameter and ifdef out the function since it isn't currently used. * command.c (add_alias_cmd): Pass correct function type to add_cmd. * command.c (add_prefix_cmd): Prototype the 'fun' parameter. * command.c (add_abbrev_prefix_cmd): Prototype the 'fun' parameter. * command.c (help_cmd): Compare function pointer to NULL. * command.c (help_cmd_list): Compare function pointer to NULL. * command.c (lookup_cmd_1): Use correct member of function union. * command.c (undef_cmd_error): Make static. * command.c (complete_on_cmdlist): Use correct member of func union. * command.c (do_setshow_command): Use correct member of func union. * command.c (shell_escape): Convert rindex use to strrchr. * command.h (COMMAND_H): Define if already included. * command.h (cmd_list_element struct): Change 'function' to a union and prototype args. Prototype completer function. * command.h: Convert decl's to prototype form. * convex-xdep.c (store_inferior_registers): Returns void. * copying.c: Prototype local functions. * coredep.c: Minor whitespace change. * cplus-dem.c: Remove hack to use BSD equivalents of mem* and str*. * cplus-dem.c: Prototype local functions. * dbxread.c (hashname): Remove; moved to buildsym.c. * dbxread.c (free_and_init_header_files): Make static. * dbxread.c: Add prototypes for local functions. * dbxread.c (new_object_header_files): Remove; inlined usages. * dbxread.c (xrealloc usages): Cast args. * dbxread.c (record_misc_function): Change to record_minimal_symbol and change usages accordingly. * dbxread.c (static_psymbols usages): Change to use per-objfile copy. * dbxread.c (xmalloc usages): Use per-objfile copy when appropriate. * dbxread.c (dbx_next_symbol_text): Make static. * dbxread.c (init_psymbol_list): Convert to use per-objfile data. * dbxread.c (init_bincl_list): Add and use objfile parameter. * dbxread.c (free_bincl_list): Add and use objfile parameter. * dbxread.c (compare_psymbols): Remove; use common symfile.c version. * dbxread.c (end_psymtab): Convert to use per-objfile data. * dwarfread.c (DEFUN/EXFUN): Remove all usages. Use PARAMS for prototypes. * dwarfread.c (record_misc_function): Change name to record_minimal_ symbol and use minimal symbol table throughout. * dwarfread.c (compare_psymbols): Remove; use common symtab.c version. * dwarfread.c: Convert all references to builtin types to use the new lookup_fundamental_type function. * dwarfread.c (read_enumeration): Add and use objfile parameter. * elfread.c (DEFUN/EXFUN): Remove all usages. Use PARAMS for proto- types. * elfread.c (record_misc_function): Convert to use record_minimal_ symbol. * elfread.c (elf_symtab_read): Add objfile parameter. * eval.c: Add prototypes for local functions and move some decls around to accomodate prototypes. * expprint.c: Add prototypes for local functions. Change references to misc function vector to minimal symbol table. * findvar.c (read_memory usages): Cast args. * gdbtypes.h: New file, type info from symfile.h and symtab.h. * gmalloc.c: Use NOARGS where prototypes used hardwired void. * gmalloc.c (BLOCKSIZE): Constant to be shifted is unsigned. * gmalloc.h: Use NOARGS where prototypes used hardwired void. * gould-xdep.c: Minor whitespace change. * hp300ux-xdep.c (fetch_inferior_registers): Remove unused regno var. * hp300ux-xdep.c (store_inferior_registers): Returns void. * hp300ux-xdep.c (fetch_core_registers): Takes unused arg reg_addr. * i386-stub.c: Add prototypes, change "volatile" to NORETURN. * i386-tdep.c: Add prototypes for local functions. * i386-tdep.c (codestream_fill, codestream_seek, codestream_read, i386_get_frame_setup, i386_skip_prologue): Explicitly declare params that defaulted to int. * i386-tdep.c (i386_follow_jump, i386_frame_find_saved_regs, i386_push_dummy_frame): Returns void. * i386-xdep.c (i386_register_u_addr): Declare params that default to int and explicitly declare return type as int. * i387-tdep.c: Minor formatting changes. * i960-tdep.c (leafproc_return): Convert from misc function vector use to minimal symbol table use. * infcmd.c: Add prototypes for local functions. * infcmd.c (continue_command, until_next_command, until_command, path_info, path_command): Make static. * infcmd.c (step_1, until_next_command): Convert from misc func vector to minimal symbol table use. * inflow.c: Add prototypes for local functions. * infptrace.c (store_inferior_registers): Returns void, not int. * language.c (_initialize_language): Use proper member of function union. * m2-exp.y: Add prototypes for local functions, convert misc function vector uses to minimal symbol table uses. * m2-exp.y (make_qualname, yyerror): Make static. * m2-exp.y (_initialize_m2_exp): Call init_types with NULL objfile. * m68k-pinsn.c: Add prototypes for local functions. * m68k-pinsn.c (print_insn): Cast args to read_memory. * m68k-pinsn.c (fetch_arg): Make parameter 'code' and int. * m68k-stub.c: Add prototypes. * m88k-pinsn.c (sprint_address): Convert from misc function vector use to minimal symbol table use. * m88k-xdep.c (fetch_inferior_registers): Takes an unused parameter. * m88k-xdep.c (store_inferior_registers): Returns void. * mach386-xdep.c (fetch_inferior_registers): Takes an unused param. * mach386-xdep.c (store_inferior_registers): Returns void. * mach386-xdep.c (fetch_core_registers): Takes an unused parameter. * main.c: Add prototypes for local functions. * main.c (return_to_top_level): Is type NORETURN (volatile). Cast longjmp() result to (NORETURN void). * main.c (catch_errors): Prototype the 'func' parameter. * main.c (disconnect, stop_sig, do_nothin, float_handler): Takes an unused arg. * main.c (execute_command): Call the right member of the func union. * main.c (command_loop_marker, symbol_completion_function, command_loop): Make static. * main.c (command_line_input): Make linelength unsigned, cast arg to command_line_input(). * main.c (add_info, add_com): Prototype the 'fun' parameter. * main.c (initialize_main): Call right member of function union. * mcheck.c (NOARGS): Change hardwired void in prototypes to NOARGS. * mem-break.c: Include symtab.h * mips-xdep.c (fetch_inferior_registers): Takes unused param. * mips-xdep.c (store_inferior_registers): Returns void. * mipsread.c (mipscoff_symfile_read): Change from misc function vector use to minimal symbol table use. * mipsread.c (symbol_obstack usages): Convert all to use per-objfile version. * mipsread.c (make_type): Remove, convert usages to init_type. * mipsread.c (_initialize_mipsread): Call init_type with NULL objfile. * nindy-tdep.c (nindy_frame_chain_valid): Convert from misc function vector use to minimal symbol table use. * parse.c: Add prototypes for local functions. * parse.c (xrealloc usages): Cast args. * parse.c (prefixify_expression, length_of_subexp): Make static. * parser-defs.h (PARSER_DEFS_H): Define when first included. * parser-defs.h: Convert function decls to prototype form. * partial-stab.h: Convert from misc function vector use to new minimal symbol table use. * partial-stab.h (global_psymbols, static_psymbols usages): Reference the per-objfile copies. * printcmd.c: Add prototypes for local functions. Move some struct definitions around to accomodate prototypes. * printcmd.c (decode_format): Make static, change args oformat and osize to int from char. * printcmd.c (print_formatted): Change 'format' and 'size' to int. * printcmd.c (print_scalar_formatted): Change arg 'format' to int. * printcmd.c (print_address_symbolic): Convert from misc function vector use to minimal symbol table use. * printcmd.c (address_info): Convert from misc function vector use to minimal symbol table use. * printcmd.c (delete_display, enable_display, disable_display_command): Make static. * procfs.c (EXFUN/DEFUN): Remove all usages, convert to PARAMS. * procfs.c (fetch_core_registers): Add unused param reg_addr. * pyr-xdep.c (fetch_inferior_registers): Add unused param regno. * pyr-xdep.c (store_inferior_registers): Returns void. * remote-mm.c (mm_load): symbol_file_add return value unused. * remote-nindy.c: Minor format change. * remote-vx.c (vx_load_command): symbol_file_add result unused. * rs6000-xdep.c (fetch_inferior_registers): Add unused param regno. * rs6000-xdep.c (store_inferior_registers): Returns void. * rs6000-xdep.c (fetch_core_registers): add unused param reg_addr * rs6000-xdep.c (aixcoff_relocate_symtab): Convert from misc function vector use to minimal symbol table use. * solib.c: Add prototypes for local functions. * solib.c (solib_add_common_symbols, locate_base): Convert from misc function vector use to minimal symbol table use. * solib.c (EXFUN/DEFUN): Remove all usages, convert to PARAMS. * solib.c (find_solib, shared_library_command): Make static * solib.c (read_memory, write_memory usages): Cast args. * solib.c (special_symbol_handling): Add function * source.c: Add prototypes for local functions. * source.c (select_source_symtab): Convert to scan objfiles. * source.c (open_source_file): Make static. * source.c (xrealloc usages): Cast args. * source.c (source_line_charpos): ifdef out, unused. * source.c (get_filename_and_charpos): Make static. * stack.c: Add prototypes for local functions. * stack.c (print_frame_info, frame_info): Convert from misc function vector use to minimal symbol table use. * symfile.c: Add prototypes for local functions. * symfile.c (compare_symbols): Make args const PTR's. * symfile.c (compare_psymbols, sort_pst_symbols) add. * symfile.c (sort_all_symtab_syms): Scan objfile list. * symfile.c (obsavestring): Add objfile parameter. * symfile.c (init_misc_bunches, prim_record_misc_function, compare_misc_functions, discard_misc_bunches, condense_misc_bunches, sort_misc_function_vector, compact_misc_function_vector): Remove * symfile.c (symbol_file_add_digested): Add function. * symfile.c (symbol_file_add): Returns struct objfile *. * symfile.c (symbol_file_command): Modify for state file use. * symfile.c (symfile_open): Add parameter "dumpable". * symfile.c (allocate_objfile, free_objfile): Moved to objfiles.c * symfile.c (load_command, add_symbol_file_command): Make static. * symfile.c (fill_in_vptr_fieldno): Moved to gdbtypes.c * symfile.c (rindex usages): Converted to strrchr. * symfile.c (allocate_psymtab): New * symfile.c (free_named_symtabs): Ifdef out code that needs to be converted to minimal symbol table usage, but no obvious conversion. * symfile.c (free_all_symtabs): Remove. * symfile.c (_initialize_symfile): Use per-objfile info. * symfile.h: Rework the objfile structure to add per-objfile data objects (psymbol_obstack, symbol_obstack, type_obstack, global_psymbols, static_psymbols, msymbols, minimal_symbol_count, fundamental_types, malloc, realloc, free, xmalloc, xrealloc, etc). Add prototypes to function declarations. * symm-tdep.c (symmetry_extract_return_value): Convert from misc function vector usage to minimal symbol table usage. * symmisc.c (DEV_TTY): Define if not defined. * symmisc.c: Add local function prototypes. * symmisc.c (dump_objfile, dump_msymbols, dump-symtab, print_syms, printpsyms_command, print_objfiles, print_objfiles_command): Rework to use iterate_over_* * symtab.c: Add prototypes for local functions. * symtab.c (lookup_symtab_1): Convert to look through objfiles. * symtab.c (lookup_partial_symtab): Scan through objfiles. * symtab.c (lookup_primitive_typename, lookup_typename, lookup_ unsigned_typename, lookup_struct, lookup_union, lookup_enum, lookup_template_type, lookup_struct_elt_type, lookup_pointer_type, lookup_reference_type, lookup_member_type, allocate_stub_method, check_stub_method, create_array_type, smash_to_member_type,): Moved to gdbtypes.c * symtab.c (lookup_symbol): Some args are const. * symtab.h: All type related defs and structs moved to gdbtypes.h * symtab.h: Convert decls to prototypes. * target.c (noprocess): Make static. * target.h: Change decl's to prototypes. * tm-sunos.h: (CLEAR_SOLIB, SOLIB_ADD, SOLIB_CREATE_INFERIOR_HOOK, DISABLE_UNSETTABLE_BREAK) Moved to solib.h. * utils.c (_initialize_utils): Use correct member of function union. * valarith.c: include gdbtypes.h * valops.c: include gdbtypes.h, add prototypes for local functions. * valops.c (value_push, value_arg_push, find_function_addr): Make static. * valops.c (value_string): Convert from misc function vector use to minimal symbol table use. * valops.c (check_field_in): Make arg const. * valprint.c: Add prototypes for local functions. * valprint.c (print_string): Make static * valprint.c (value_print, val_print_fields, val_print): Make arg int. * values.c: Add prototypes for local functions. * values.c (value_headof): Convert from misc function vector to minimal symbol table. * xcoffexec.c: Add prototypes for local functions. * xcoffexec.c (exec_close, file_command, add_to_section_table): Make static. * xcoffexec.c (relocate_minimal_symbol): Add. * xcoffread.c (patch_block_stabs): Moved to buildsyms.c. * xcoffread.c: Add prototypes for local functions. * xcoffread.c (sort_syms): Convert to scan objfiles. * xcoffread.c (read_xcoff_symtab): Make static. * xcoffread.c (various): Replace references to builtin types with calls to lookup_fundamental_type. Replace references to symbol_obstack and psymbol_obstack with pointers to the per-objfile copies. * xcoffread.c (dump_linetable, dump_type, dump_symbol, dump_namespace, dump_block, dump_blockvector, dump_last_symtab, dump_symtabs): Make static. * xcoffread.c (init_stringtab): Add objfile parameter. * gdbtypes.c: New file * minsyms.c: New file * mmap-alloc.c: New file * mmap-sbrk.c: New file * objfiles.c: New file * state.c: New file * state.h: New file Fri Feb 21 17:29:54 1992 John Gilmore (gnu at cygnus.com) * Check in Fred Fish's changes in these modules. Fred will make ChangeLog entries for all of them. Update VERSION to 4.4.2. Thu Feb 20 18:10:17 1992 Fred Fish (fnf at cygnus.com) * tm-sparc.h, tm-sysv4.h, solib.h: Move shared lib definitions into solib.h. * sparc-pinsn.c, sparc-tdep.c, standalone.c, sun3-xdep.c, sun386-xdep.c, symm-xdep.c, target.c, ultra3-xdep.c, utils.c, value.h: Prototypes for static functions; lint. * gdbtypes.h: Empty file to ease transition. Thu Feb 20 16:43:13 1992 Fred Fish (fnf at cygnus.com) * environ.h, expression.h, frame.h, gdbcmd.h, gdbcore.h, inferior.h, language.h, signame.h, target.h, terminal.h, tm-68k.h, tm-i386v.h, tm-sparc.h, tm-sun386.h, tm-symmetry.h, xm-i386v.h, xm-sparc.h: Prototypes for all external functions. Lint. * core.c, exec.c, infrun.c, inftarg.c, language.c, remote.c, signame.c, sparc-xdep.c: Prototypes for all static functions. Lint. * core.c, eval.c, exec.c, inftarg.c, remote-adapt.c, remote-eb.c, remote-hms.c, remote-mm.c, remote-nindy.c, remote-vx.c, remote.c, target.c, target.h, valarith.c, valops.c, value.h, xcoffexec.c: Remove to_call_function and target_call_function, since it always calls the same thing (call_function_by_hand). * core.c, exec.c, solib.c: Rename target_ops sections => to_sections, etc. * infcmd.c, inflow.c, infptrace.c, infrun.c, main.c, target.c, target.h: target_kill takes no args. * language.c (language_info): Scaffolding to allow briefer messages when the current language changes. FIXME. * xm-amix.h, xm-i386v4.h, xm-stratus.h: Define NORETURN to avoid complaints about volatile functions. * xm-sysv4.h (HAVE_MMAP): Define. Thu Feb 20 09:04:18 1992 Fred Fish (fnf at cygnus.com) * defs.h: Include ansidecl.h and PARAMS macro. Use PARAMS to make prototypes for all functions declared here. * cplus-dem.c: Avoid declaring xmalloc and xrealloc. * c-exp.y: Rename SIGNED, OR, and AND to avoid conflict. * environ.c: Include before defs.h. Minor cleanup. * ieee-float.h: Use PARAMS for prototypes; make some params const. * ieee-float.c, valarith.c: Include . Lint. b*=>mem*. * m2-exp.y: Remove unused CONST; Rename OR and AND. * utils.c: Avoid declaring malloc and realloc. Lint. (request_quit): Accept signal-number parameter. Mon Feb 17 07:13:27 1992 Fred Fish (fnf at cygnus.com) * dwarfread.c (process_dies): Add case to handle TAG_pointer_type DIE's. Add new function read_tag_pointer_type() to read them. * dwarfread.c (dwarf_read_array_type, read_subroutine_type): When creating a new user defined type, check to see if a partial type already exists, and if so, bash it to fit. Fri Feb 14 19:00:17 1992 John Gilmore (gnu at cygnus.com) * coffread.c (decode_base_type): Pass long, not union. Fix by Eric Valette, ev@chorus.fr. Thu Feb 13 17:14:28 1992 Fred Fish (fnf at cygnus.com) * elfread.c (elf_symtab_read): Fix code to correctly track changes in bfd for absolute symbols. Thu Feb 13 12:43:29 1992 Stu Grossman (grossman at cygnus.com) * xm-vaxbsd.h: Close off comment. Thu Feb 13 07:45:19 1992 Fred Fish (fnf at cygnus.com) * xm-sysv4.h: Define NEED_POSIX_SETPGID. Fri Feb 7 11:51:12 1992 Per Bothner (bothner at cygnus.com) * mips-tdep.c (mips_print_registers): Print correct register number for double pseudo-registers. Fri Feb 7 07:56:05 1992 John Gilmore (gnu at cygnus.com) * buildsym.c (read_struct_type): Avoid double-bump of parse ptr in the op$::OPERATOR. case. From Steven McCanne, . * exec.c (set_section_name): Pass arg to exec_files_info; only call it if interactive. From Francis Kauth . Thu Feb 6 17:41:32 1992 John Gilmore (gnu at cygnus.com) * main.c (print_gdb_version): Copyright msg: only this year. (cd_command): Avoid changing current_directory on error. Thu Feb 6 15:14:01 1992 Per Bothner (bothner at cygnus.com) * mipsread.c (parse_partial_symbols): Handle dependencies between partial symbol tables (when not doing stabs-in-ecoff). (This used to be handled by parse_fdr, but parse_fdr was incompatible with handling stabs-in-ecoff, so the code was re-written to not use parse_fdr. Unfortunately, the logic to handle dependencies was overlooked.) Thu Feb 6 11:51:39 1992 Steve Chamberlain (sac at rtl.cygnus.com) * coffread.c (read_enum_type): Use the size of a target int when describing enum. * defs.h: added new #define for TARGET_PTR_BIT, defaults to size of target int. * h8300-tdep.c, remote-hms.c, tm-h8300.h: too many changes to count * symtab.c (lookup_reference_type, lookup_ptr_type): use TARGET_PTR_BIT to determine size of a pointer * values.c (unpack_long): when unpacking a REF or a PTR don't assume the size of the type. Wed Feb 5 22:29:59 1992 John Gilmore (gnu at cygnus.com) * mipsread.c (parse_symbol): Avoid clobbering enum pointer when looking at its members. Improve guess between struct and union, only assuming union if multiple members have offsets of zero. Tue Feb 4 18:05:44 1992 Per Bothner (bothner at cygnus.com) * mipsread.c: Use (FP0_REGNUM-32) instead of magic number 6. (This is just for clarity - and one day permitting us to change FP0_REGNUM from 38 to 32, which would make more sense.) * tm-mips.h: Added STAB_REG_TO_REGNUM macro, so that register numbers in stabs-in-ecoff get handled correctly. Sat Feb 1 04:45:10 1992 Stu Grossman (grossman at cygnus.com) * xm-vax.h, xm-vaxult.h, xm-vaxbsd.h, config/mh-vaxult, config/mh-vaxbsd, configure.in: Split up config stuff for Vaxen into BSD and Ultrix. Sat Feb 1 04:39:41 1992 John Gilmore (gnu at cygnus.com) * dbxread.c (dbx_symfile_init): Call malloc, not xmalloc. Sat Feb 1 04:15:41 1992 Stu Grossman (grossman at cygnus.com) * Makefile.in: Increment version to 4.4.1. * main.c (print_gdb_version): Update copyright notice. Sat Feb 1 01:43:11 1992 Per Bothner (bothner at cygnus.com) * mipsread.c: Prepend "struct " to the names of structure types, and similarly for enums and unions. (This used to be done, but got lost in the re-write to "guess" the difference between enum/struct/union.) Also, guess that a tag is an enum if the first member has type btNil. Fri Jan 31 21:45:51 1992 Stu Grossman (grossman at cygnus.com) * xm-vax.h: #ifndef ultrix around #include of endian.h and limits.h (sigh). Fri Jan 31 00:05:01 1992 John Gilmore (gnu at cygnus.com) * Projects: Patching executables is done. * Makefile.in (VERSION): Roll to gdb-4.4. * README, WHATS.NEW: Update for gdb-4.4. * symfile.c (reread_symbols): Whenever we reread one object file's symbols, we must restart the scan, because the object_files chain has been permuted. * exec.c (exec_files_info): Split out into print_section_info. Print BFD filename of each section if it's not the default one. * core.c (core_files_info): Call print_section_info. * xm-vax.h: Include a few system header files whose definitions must precede defs.h. * language.c, language.h: Make some things const. * expression.h, main.c: const spreads like ooze. * mem-break.c (break_insn, break_insn_size): Use unsigned chars, since BREAKPOINT values can be >0x80. Thu Jan 30 17:21:14 1992 Stu Grossman (grossman at cygnus.com) * infrun.c, xm-i386sco.h: SCO needs to use setpgid(). Thu Jan 30 01:04:23 1992 John Gilmore (gnu at cygnus.com) * sparc-pinsn.c: Remove kludge for preferring architectures. Remove #ifdef's for SORT_NEEDED. We need to sort the table, now and forever. Add `add' instruction to the set that get checked for a preceding `sethi' in order to print an absolute address. Corresponding changes in ../include/opcode/sparc.h needed to eliminate garbage instructions. Wed Jan 29 19:24:34 1992 Per Bothner (bothner at cygnus.com) * mipsread.c (parse_partial_symbols): Make sure partial symbols are created for external symbols (as used to be the case). This is a bit of a pain with the mips-coff. It uses a table which points to all of the external symbols belonging to a particular FDR or psymtab. Once we've generated this table, we might as well save it, and then use it in psymtab_to_symtab_1 to find the symbols to pass to parse_external(). * symfile.c, symfile.c: New function start_psymtab_common to share the common parts of allocating a new psymtab for dbxread, mipsread (and later dwarfread). Its code was pulled out from start_psymtab in dbxread.c. * dbxread.c (start_psymtab): Use start_psymtab_common(). * valprint.c (val_print): If there is an error when trying to print a string, check to see if there really is a problem by reading just one character. If that works, assume things are ok. Wed Jan 29 18:58:43 1992 Stu Grossman (grossman at cygnus.com) * sparc-pinsn.c (compare_opcodes): Make it prefer v6, v7, cypress, v8 mnemonics in that order. Tue Jan 28 17:32:13 1992 Per Bothner (bothner at cygnus.com) * sparc-pinsn.c: Put the qsort() back in. Mon Jan 27 18:51:03 1992 John Gilmore (gnu at cygnus.com) * findvar.c (read_register, write_register): Handle machines where REGISTER_TYPE is not the same size as "int". Handle debug symbols in dynamically loaded (relocated) code: * dbxread.c (read_ofile_symtab): Fix up N_CATCH better. Pass offset to process_one_symbol. (process_one_symbol): Take new offset parameter. Add it into appropriate symbol types to relocate symbols to loaded addresses. Handle all possible symbol types, and complain() about types that we don't expect to see. * mipsread.c (psymtab_to_symtab_1): Pass offset of zero to process_one_symbol (FIXME, should pass real offset). Misc bugfixes: * breakpoint.c (resolve_sal_pc): Split out code to resolve a sal's PC value. (set_breakpoint, break_command_1, until_break_command, catch_command_1, breakpoint_re_set_one): Use it. * symtab.h (resolve_sal_pc): Declare. * infcmd.c (jump_command): Use resolve_sal_pc. * source.c (list_command): Shorten "FILE, line N" to "FILE:N". * putenv.c (putenv): Avoid unportably casting pointers to unsigneds. * c-exp.y (yylex): `this' and `template' are only tokens in C++. * 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-rtbsd.h, xm-symmetry.h, xm-umax.h: Remove MISSING_VPRINTF declaration, and superfluous "kgdb" defines. Mon Jan 27 15:46:21 1992 Stu Grossman (grossman at cygnus.com) * dbxread.c (process_one_symbol): Make a first cut at handling symbol tables generated by Sun's acc. (#ifdef'd out, FIXME.) * symtab.c (find_pc_line): Fix stepping into and out of #included files. Mon Jan 27 13:00:55 1992 Stu Grossman (grossman at cygnus.com) * Makefile.in (OPCODES): Remove OPCODES defs and refs. There is no longer any need to copy ../include/opcode/* into gdb. Mon Jan 27 12:30:38 1992 John Gilmore (gnu at cygnus.com) * ChangeLog, ChangeLog-9091: Split ChangeLog at 1992. Sun Jan 26 19:05:40 1992 Per Bothner (bothner at cygnus.com) * valprint.c (type_print_base, type_print_method_args): Print C++ constructor methods without bogus "return type." Sat Jan 25 15:57:59 1992 Fred Fish (fnf at cygnus.com) * infptrace.c (child_xfer_memory): Parameter "target" should be a pointer to a structure, not the entire structure. Fri Jan 24 01:30:27 1992 Fred Fish (fnf at cygnus.com) * depend: Convert the couple of references to ansidecl.h that used the local gdb version to use the ../include version. Thu Jan 23 22:24:43 1992 Fred Fish (fnf at cygnus.com) * procfs.c (child_xfer_memory): Takes pointer to a struct, not entire struct. (inferior_proc_init): Fix non-ANSI version of args. (attach): Call print_sys_errmsg with correct number of args. (mappingflags): Make static, does not need to be global. * i386-tdep.c (i386_frame_num_args): Takes a pointer to a struct not the entire struct itself. * valops.c (value_assign): Cast some args to modify_field() and {read,write}_register_bytes() correctly. * ansidecl.h: Removed, is duplicate of ../include/ansidecl.h * Makefile.in (MALLOCSRC): Removed reference to removed local copy of ansidecl.h. * dwarfread.c (list_in_scope): Needs an initial value, use file scope. Mon Jan 20 19:06:28 1992 Stu Grossman (grossman at cygnus.com) * main.c (main): Make option_index local to keep new getopt happy. main.c, solib.c, Makefile.in: Update copyright notices. Mon Jan 20 08:54:00 1992 Michael Tiemann (tiemann at cygnus.com) * cplus-dem.c (cplus_demangle): Correctly demangle destructors. Sat Jan 18 17:17:45 1992 Stu Grossman (grossman at cygnus.com) * Makefile.in (HFILES): Add partial-stab.h. Sat Jan 18 16:45:01 1992 Fred Fish (fnf at cygnus.com) * config/mh-stratus, config/mt-stratus, tm-stratus.h, xm-stratus.h: New files for stratus. Not complete enough to actually build on the Stratus machine; that awaits copyright assignment for i860 changes. * Makefile.in (USER_CFLAGS): Add macro specifically reserved for getting custom flags into CFLAGS when doing makes. * configure.in: Add config information for stratus. Thu Jan 16 00:51:46 1992 Fred Fish (fnf at cygnus.com) * dbxread.c (process_one_symbol): Pass address of structure to complain(), rather than the whole structure. Wed Jan 15 09:56:16 1992 Fred Fish (fnf at cygnus.com) * solib.c (solib_add_common_symbols): Only compile in when not using SVR4 style shared libraries. Tue Jan 14 22:34:00 1992 Fred Fish (fnf at cygnus.com) * dwarfread.c (locval): Add offreg flag to indicate location values that are computed off a base register. * dwarfread.c (new_symbol): Rework TAG_global_variable and TAG_local_variable cases to account for static variables within function scopes. Tue Jan 14 12:28:52 1992 Stu Grossman (grossman at cygnus.com) * inflow.c: remove #include . Not necessary, and doesn't exist on some systems. * infrun.c (wait_for_inferior!!!!): Prevent gdb from hanging when nexting over recursive function calls. * target.c (target_read_string): Create this routine to read null terminated strings from the target. It deals with running off the end of memory elegantly as well. solib.c (find_solib): Use target_read_string() to avoid problems with running off the end of memory. * inflow.c (child_terminal_info): #ifdef TIOCPGRP around lines that reference pgrp_inferior. Mon Jan 13 14:57:11 1992 Per Bothner (bothner at cygnus.com) * tm-mips.h: Removed BLOCK_ADDRESS_ABSOLUTE, now that mips-tfile has been hacked to act more "traditionally." * dbxread.c: Fixed typo in comment. Sun Jan 12 13:08:36 1992 Per Bothner (bothner at cygnus.com) * mips-tdep.c (mips_skip_prologue): Add some number of 'sw' instructions before 'addiu' adjusts the stack. Fri Jan 10 13:47:06 1992 Fred Fish (fnf at cygnus.com) * dwarfread.c (start_symtab, end_symtab, scopecount, openscope, freescope, buildblock closescope, record_line, add_symbol_to_list, gatherblocks, make_blockvector): Extensive changes to switch to generic symbol table building code in buildsym.c. Remove scope tree structures and functions, symbol table building functions, and lots of other small changes. * dwarfread.c: Add new macros GCC_PRODUCER and STREQN. Remove GCC_COMPILED_FLAG_SYMBOL and GCC2_COMPILED_FLAG_SYMBOL. Tue Jan 7 13:09:57 1992 Stu Grossman (grossman at cygnus.com) * buildsym.c (cleanup_undefined_types): Add support for enums. This fixes the 'GDB internal error. cleanup_undefined_types with bad type' problem. Sun Jan 5 09:47:50 1992 Stu Grossman (grossman at cygnus.com) * dbxread.c: detect gcc2 compilations. Thu Jan 2 15:07:41 1992 John Gilmore (gnu at cygnus.com) * sparc-pinsn.c: Rename bitfields that overlap with macro names in ../include/opcode/sparc.h. Wed Jan 1 04:29:00 1992 Fred Fish (fnf at cygnus.com) * Makefile.in: Change tm-svr4.h to tm-sysv4.h. Change xm-svr4.h to xm-sysv4.h. Split OPCODE_DIR into OPCODE_DIR1 and OPCODE_DIR2 to reflect actual locations of opcode files, so TAGS target will be buildable. * i386-tdep.c: Change an erroneous 'm68k' reference to 'i386'. * i386-tdep.c (supply_fpregset, fill_fpregset): Remove m68k code. * m68k-tdep.c (supply_fpregset, fill_fpregset): Fix array dereferencing to access the correct elements. * valops.c (value_addr): Declare return type of external func value_copy(). * xcoffread.c: Undefine next_symbol_text before redefining it. For older changes see ChangeLog-1991 Local Variables: mode: indented-text left-margin: 8 fill-column: 74 version-control: never End: