* monitor.c (monitor_debug): Change remotedebug to buffer strings.
* monitor.c (monitor_open): Add test for flag MO_NO_ECHO_ON_OPEN before
epecting prompt and echo during open.
* monitor.c (monitor_stop): Add test for flag MO_SEND_BREAK_ON_OPEN to
determine if break should be sent as stop command.
* monitor.h: Add flags MO_NO_ECHO_ON_OPEN and MO_SEND_BREAK_ON_OPEN.
* i960-tdep.c (mon960_frame_chain_valid): New function for getting
stack frame on mon960.
* Makefile.in: Add mon960 files.
* configure.in: Changed i960-*-coff* and i960-*-elf* to target mon960;
added i960-nindy-coff* and i960-nindy-elf* for target nindy.
* configure: Regenerated.
* config/i960/mon960.mt, config/i960/tm-mon960.h: New files;
support mon960 rom monitor on i960.
* breakpoint.c (insert_breakpoints): Use ALL_BREAKPOINTS_SAFE.
(bpstat_stop_status): Likewise.
(remove_solib_event_breakpoints): Likewise.
(clear_momentary_breakpoints): Likewise.
(re_enable_breakpoints_in_shlibs): Don't reenable a breakpoint
if we still can't read the memory for that breakpoint.
(mention): Add bp_shlib_event case to keep gcc quiet.
shared library breakpoints that have been temporarily disabled.
* breakpoint.c: Handle temporarily disabled shared library
breakpoints like disabled breakpoints in most places.
(insert_breakpoints): Use shlib_disabled to indicate
that an unsettable breakpoint is only temporarily disabled.
(re_enable_breakpoints_in_shlibs): New function.
* corelow.c (solib_add_stub): After adding shared libraries,
try to reenable any temporarily disabled breakpoints.
* infcmd.c (attach_command): Likewise.
* infrun.c (wait_for_inferior): Likewise.
Hopefully the last 7763 related patches for a while.
* findvar.c (extract_long_unsigned_integer): New function.
* printcmd.c (print_scalar_formatted): Use it.
* valprint.c (val_print_type_code_int): Likewise.
* sh-tdep.c (set processor): New command to set specific
processor type.
(sh_reg_names, sh3_reg_names): Arrays of register names for
SH and SH3 processors.
(sh_set_processor_type): New function.
* sh3-rom.c (sh3_open): Call it.
(sh3_regname): Add names of all the bank registers.
(sh3_supply_register): Clean up formatting.
* config/sh/tm-sh.h (NUM_REGS, NUM_REALREGS): Increase to include
bank registers.
(REGISTER_NAMES): Add names of bank registers.
(FP15_REGNUM): Define.
(REGISTER_VIRTUAL_TYPE): Use it.
* monitor.c: Clean up some comments.
(match_string_literal): Handle control sequence.
(match_character_literal): Deto.
* ch-lang.c (chill_printchar): Change formating of nonprintable
characters from C'xx' to ^(num).
(chill_printstr): Deto.
(value_chill_card, value_chill_max_min): New functions to process
Chill's CARD, MAX, MIN.
(evaluate_subexp_chill): Process UNOP_CARD, UNOP_CHMAX, UNOP_CHMIN.
* expression.h (exp_opcode): Add UNOP_CARD, UNOP_CHMAX, UNOP_CHMIN
for Chill's CARD, MAX, MIN.
* valarith.c (value_in): Add processing of TYPE_CODE_RANGE
and change return type from builtin_type_int to
builtin_type_chill_bool.
* infrun.c (wait_for_inferior): Remove breakpoints and
switch terminal settings before calling SOLIB_ADD.
* solib.c (enable_break, SVR4 variant): Don't map in symbols
for the dynamic linker, the namespace pollution causes real
problems.
by SPARCworks cc have a meaningless zero value, do not update
pst->textlow if the function symbol value is zero.
* stabsread.c (define_symbol): Initialize SYMBOL_TYPE field
for function prototype declaration symbols.
(enable_break): For SVR4 systems, first try to use the debugger
interfaces in the dynamic linker to track shared library events
as they happen, then fall back to BKPT_AT_SYMBOL code. Convert
BKPT_AT_SYMBOL code to use shared library event breakpoints.
(solib_create_inferior_hook): Simplify BKPT_AT_SYMBOL code,
it no longer needs to restart/wait on the inferior.
* symfile.c (find_lowest_section): No longer static.
* symfile.h (find_lowest_section): Corresponding changes.
Wraps up 7763 work, simplifies BKPT_AT_SYMBOL code somewhat, and allows
debugging of startup code.
to "alpha-*-osf2*" and add comment.
* gdb.base/a1-selftest.exp (test_with_self): Remove "alpha-dec-osf2*"
setup_xfail for "step over execarg initialization" and
"step over corearg initialization".
* gdb.base/callfuncs.exp (do_function_calls): Restore setup_xfail
for "hppa*-*-*", "sparc-*-*", "mips*-*-*", and "alpha-dec-osf2*".
* gdb.base/corefile.exp: Add "alpha-dec-osf2*" setup_xfail when not
gcc compiled for "print coremaker_bss", "print coremaker_ro",
"print func2::coremaker_local", and "backtrace in corefile.exp".
* gdb.base/signals.exp: Build and source signals.ci.
(test_handle_all_print): Add setup_xfail for "alpha-dec-osf2*".
Change "alpha-dec-osf2*" setup_xfail for "bt in signals.exp"
to be for gcc only.
* lib/gdb.exp: Move verbose statements outside conditionals.
* config/xm-nbsd.h (CC_HAS_LONG_LONG, PRINTF_HAS_LONG_LONG):
#ifdef'd out definitions --- Causes serious gdb failures on
the i386. Need to investigate further before enabling.
* i386b-nat.c (fetch_inferior_registers, store_inferior_registers,
fetch_core_registers): New functions. These functions are defined
if FETCH_INFERIOR_REGISTERS is set. Registers are fetched/stored
with ptrace PT_GETREGS/PT_SETREGS.
Minor build nit.
* breakpoint.h (remove_solib_event_breakpoints): Declare.
* breakpoint.c (remove_solib_event_breakpoints): New function.
* somsolib.c (solib_create_inferior_hook): Remove all solib event
breakpoints before inserting any new ones. Use a solib event
breakpoint for the breakpoint at "_start".
Remove extraneous "\n" from calls to warning.
Don't leave bogus breakpoints in the breakpoint chain. Simplify
solib_create_inferior_hook and allow for debugging of startup code
(more 7763 related changes).
* breakpoint.c (breakpoint_1): Add missing "sigtramp" to bptypes
name array.
Another minor nit.
alpha coff dynamic symbols for all symbol files. Makes skipping
over the trampoline code work when stepping from a function in a
shared library into a function in a different shared library.
* c-exp.y (%union): Change dval to typed_val_float. Use DOUBLEST
to store actual data. Change types of INT and FLOAT tokens to
typed_val_int and typed_val_float respectively. Create new token
DOUBLE_KEYWORD to specify the string `double'. Make production
for FLOAT use type determined by parse_number. Add production for
"long double" data type.
* (parse_number): Use sscanf to parse numbers as float, double or
long double depending upon the type of typed_val_float.dval. Also
allow user to specify `f' or `l' suffix to explicitly specify
float or long double constants. Change typed_val to
typed_val_int.
* (yylex): Change typed_val to typed_val_int. Also, scan for
"double" keyword.
* coffread.c (decode_base_type): Add support for T_LNGDBL basic
type.
* configure, configure.in: Add check for long double support in
the host compiler.
* defs.h: Define DOUBLEST appropriatly depending on whether
HAVE_LONG_DOUBLE (from autoconf) is defined. Also, fix prototypes
for functions that handle this type.
* expression.h (union exp_element): doubleconst is now type
DOUBLEST.
* m2-exp.y f-exp.y (%union): dval becomes type DOUBLEST.
* findvar.c (extract_floating): Make return value be DOUBLEST.
Also, add support for numbers with size of long double.
* (store_floating): Arg `val' is now type DOUBLEST. Handle all
floating types.
* parser-defs.h parse.c (write_exp_elt_dblcst): Arg expelt is now
DOUBLEST.
* valarith.c (value_binop): Change temp variables v1, v2 and v to
type DOUBLEST. Coerce type of result to long double if either op
was of that type.
* valops.c (value_arg_coerce): If argument type is bigger than
double, coerce to long double.
* (call_function_by_hand): If REG_STRUCT_HAS_ADDR is defined, and
arg type is float and > 8 bytes, then use pointer-to-object
calling conventions.
* valprint.c (print_floating): Arg doub is now type DOUBLEST.
Use appropriate format and precision to print out floating point
values.
* value.h: Fixup prototypes for value_as_double,
value_from_double, and unpack_double to use DOUBLEST.
* values.c (record_latest_value): Remove check for invalid
floats. Allow history to store them so that people may examine
them in hex if they want.
* (value_as_double unpack_double): Change return value to DOUBLEST.
* (value_from_double): Arg `num' is now DOUBLEST.
* (using_struct_return): Use RETURN_VALUE_ON_STACK macro (target
specific) to expect certain types to always be returned on the stack.
* Makefile.in (SFILES): Add bcache.c.
(symtab_h): Add bcache.h.
(HFILES_NO_SRCDIR): add bcache.h
(COMMON_OBJS): Add bcache.o
(bcache.o): New target.
* dbxread.c (start_psymtab): Make global_syms & static_syms
type "partial_symbol **".
* hpread.c (hpread_start_symtab): Ditto.
* os9kread.c (os9k_start_psymtab): Ditto.
* stabsread.h (start_psymtab): Ditto.
* {symfile.c, symfile.h} (start_psymtab_common): Ditto.
* maint.c (maintenance_print_statistics): Call
print_symbol_bcache_statistics.
* objfiles.c (allocate_objfile): Initialize psymbol bcache malloc
and free pointers.
* solib.c (allocate_rt_common_objfile): Ditto.
* symfile.c (reread_symbols): Ditto.
(free_objfile): Free psymbol bcache when objfile is freed.
(objfile_relocate): Use new indirect psymbol pointers.
* objfiles.h (struct objfile): Add psymbol cache.
* symfile.c (compare_psymbols): Now passed pointers to pointers to
psymbols.
(reread_symbols): Free psymbol bcache when freeing other objfile
resources.
(add_psymbol_to_list, add_psymbol_addr_to_list): Initialize new
psymbol using the psymbol bcache.
(init_psymbol_list): Psymbol lists now contain pointers rather than
the actual psymbols.
* symfile.h (psymbol_allocation_list): Psymbol lists now dynamically
grown arrays of pointers.
(ADD_PSYMBOL_VT_TO_LIST): Initialize new symbol using the psymbol
bcache.
* symmisc.c (print_partial_symbols): Now takes pointer to pointer
to partial symbol.
(print_symbol_bcache_statistics): New function to print per objfile
bcache statistics.
(print_partial_symbol, print_partial_symbols,
maintenance_check_symtabs, extend_psymbol_list):
Account for change to pointer to pointer to partial symbol.
* symtab.c (find_pc_psymbol, lookup_partial_symbol, decode_line_2,
make_symbol_completion_list):
Account for change to pointer to pointer to partial symbol.
* symtab.h (bcache.h): Include.
* xcoffread.c (xcoff_start_psymtab): Make global_syms & static_syms
type "partial_symbol **".
character is one of the commonly used C++ marker characters.
* defs.h (is_cplus_marker): Add prototype.
* c-typeprint.c (c_type_print_base), ch-lang.c (chill_demangle),
cp-valprint.c (cp_print_class_method), mdebugread.c (parse_symbol),
stabsread.c (define_symbol, read_member_functions, read_struct_fields),
symtab.h (OPNAME_PREFIX_P, VTBL_PREFIX_P, DESTRUCTOR_PREFIX_P),
values.c (vb_match): Use is_cplus_marker instead of comparison
with CPLUS_MARKER.
from dejagnu's apparent default of 10 seconds, which gives random results
when running the tests over NFS on moderately loaded systems.
* lib/gdb.exp (gdb_run_cmd): Add "(timeout)" in timeout case.
allocate_saved_f77_common_node, allocate_common_entry_node,
add_common_block): Use xmalloc rather than malloc, some of which
were unchecked.
* gnu-regex.c: At same point as other gdb specific changes
#undef malloc and then #define it to xmalloc.
* ch-exp.c (growbuf_by_size): Use xmalloc/xrealloc rather than
bare unchecked calls to malloc/realloc.
* stabsread.c (dbx_lookup_type): Use xmalloc rather than bare
unchecked call to malloc.
double-clicking will work again.
(create_asm_win): Put "break" at end of all B1 bindings.
(create_file_win): Lower "sel" tag, don't raise it.
(ensure_line_visible): New proc.
(update_listing, update_assembly): Use it.
(create_copyright_window): Destroy window on Leave event.
(create_command_window): Put "break" at end of all B2 bindings.
AT_name tag is missing.
* procfs.c (procfs_stopped_by_watchpoint): Fix logic when
FLTWATCH and FLTKWATCH are defined.
* remote.c (remote_read_bytes): Advance memaddr for transfers,
return number of bytes transferred for partial reads.
* top.c (init_signals): Reset SIGTRAP to SIG_DFL.
the executable, not the .o to run the tests from.
Remove a useless step and avoid loading a .o into a target board
(loads into address zero which causes all kinds of problems).
here from config/i386/xm-i386mach.h, fix name.
* config/i386/nm-sun386.h: Ditto, from config/i386/xm-sun386.h.
* config/i386/nm-ptx4.h (CHILD_PREPARE_TO_STORE): Move to
here from config/i386/xm-ptx4.h.
* config/i386/nm-ptx4.h: Ditto, from config/i386/xm-ptx.h.
* config/i386/nm-symmetry.h: Ditto, from config/i386/xm-symmetry.h.
* config/m68k/nm-sun3.h: Ditto, from config/m68k/xm-sun3.h.
more housekeeping
* config/sparc/nm-nbsd.h (CHILD_PREPARE_TO_STORE): Move to here
from config/sparc/xm-nbsd.h.
* config/sparc/nm-sun4os4 (CHILD_PREPARE_TO_STORE): Ditto, from
config/sparc/xm-sparc.h.
* config/sparc/nm-sun4sol2.h: New file, renamed from nm-sysv4.h.
(PRSVADDR_BROKEN): Move here from xm-sun4sol2.h.
* config/sparc/sun4sol2.mh (NAT_FILE): Update.
* config/sparc/xm-sun4os4.h (HAVE_TERMIOS): Remove.
housekeeping
if $noresults if nonzero.
* gdb.base/langs.exp: Likewise.
* gdb.base/watchpoint.exp: Likewise.
For proelf targets were we can't even tell if a process exits.
the length of an array type (see comment).
(chill_val_print (case TYPE_CODE_ARRAY)): If the length of an
array type is zero, call calculate_array_length.
* gdbtypes.c (get_discrete_bounds (case TYPE_CODE_ENUM)): They values
may not be sorted. Scan all entries and set the real lower and
Also check for gregset_t and fpregset_t types.
* configure: Regenerate.
* core-regset.c (sys/procfs.h): Only include if HAVE_SYS_PROCFS_H
is defined.
(fetch_core_registers): Turn into stub unless both HAVE_GREGSET_T
and HAVE_FPREGSET_T are defined. These changes allow systems
like linux that are migrating to /proc support to use a single
configuration for both new and old versions.
* config/i386/linux.mt: Note that this is now for both a.out and
ELF systems.
* config/i386/linux.mh (NATDEPFILES): Add solib.o, core-regset.o,
i386v4-nat.o
* config/i386/tm-linux.h (tm-sysv4.h): Include.
* config/i386/xm-linux.h (solib.h): Include
(SVR4_SHARED_LIBS): Define.
* i386v4-nat.c: Only compile if HAVE_SYS_PROCFS_H is defined.
(supply_gregset, fill_gregset): Compile if HAVE_GREGSET_T defined.
(supply_fpregset, fill_fpregset): Compile if HAVE_FPREGSET_T defined.
(COERCE_ENUM): Don't COERCE_REF.
(COERCE_NUMBER): New macro (same as COERCE_ARRAY then COERCE_ENUM).
* valops.c (value_assign): Only do COERCE_ARRAY if internalvar (let
value_cast handle it otherwise); do *not* COERCE_ENUM either way.
* valarith.c: Use COERCE_NUMBER instead od COEREC_ARRAY.
Add COERCE_REF before COERCE_ENUM.
* values.c (value_as_long): Simplify.
This fixes PR chill/8869.
* valops.c (value_array): Create internalvar if !c_style_arrays.
when trying to determine if a core file was generated.
If no core file was generate the first time, try again without
the ulimit -c to work around braindamaged shells.
Gets corefile.exp running again on the PA.
All references changed.
* breakpoint.c (bpstat_what): Add shlib_event to the class types.
Update state table. Reformat so that it's still readable.
When we hit the shlib_event breakpoint, set the calss of shlib_event.
(breakpoint_1): Add "shlib events" as a breakpoint type.
Print the shlib_event breakpoint like other breakpoints.
(create_solib_event_breakpoint): New function.
(breakpoint_re_set_one): Handle solib_event breakpoints.
* breakpoint.h (enum bytype): Add bp_shlib_event breakpoint type.
(enum bpstat_what_main_action): Add BPSTAT_WHAT_CHECK_SHLIBS
action.
(create_solib_event_breakpoint): Declare.
* infrun.c (wait_for_inferior): Handle CHECK_SHLIBS bpstat.
(normal_stop): Inform the user when the inferior stoped due
to a shared library event.
(_initialize_infrun): Add new set/show variable "stop_on-solib-events"
to control whether or not gdb continues the inferior or stops it when
a shared library event occurs.
* minsyms.c (lookup_minimal_symbol_solib_trampoline): New function.
* somsolib.c (TODO list): Update.
(som_solib_create_inferior_hook): Arrange for gdb to be notified
when significant shared library events occur.
* hppa-tdep.c (find_unwind_entry): No longer static.
First cut at the machine independent changes for 7363. Also includes
code to automatically track shl_load/shl_unload calls on hpux.
fetch_core_registers.
(hp300ux_core_fns): Remove, is unused.
(_initialize_core_hp300ux): Remove, is unused.
(gdbcore.h): Remove #include, no longer needed.
* remote-mips.c (pmon_opn, pmon_wait, pmon_makeb64, pmon_zeroset,
pmon_checkset, pmon_make_fastrec, pmon_check_ack,
pmon_load_fast): New functions. Support for the PMON monitor world.
(common_open): New function to merge support for different monitors.
(mips_open): Use common_open().
(mips_send_command): New function.
(mips_send_packet): Scan out-of-sequence packets.
(mips_enter_debug, mips_exit_debug): New functions.
(pmon_ops): New target definition structure.
These changes provide the initial support for the PMON (3.0.83)
monitor that appears on the Cogent (CMA101) Vr4300 development
board. The changes do not affect the IDT monitor support, other than
in the area of dealing with out-of-sequence packets.
for TYPE_CODE_SET and TYPE_CODE_BITSTRING too.
* eval.c (evaluate_subexp_standard): When known, use the formal
parameter type as the expected type when evaluating arg expressions.
* ch-lang.c (evaluate_subexp_chill): Likewise (for MULTI_SUBSCRIPT).
This (with a fix to gcc/config/sparc/sparc.h) fixes PR chill/8742.
* configure.in, configure: Recognize rs6000-*-aix4*.
* config/powerpc/xm-aix.h: Reduce to include "xm-aix4.h".
* config/rs6000/aix4.mh (XM_FILE): Point to xm-aix4.h.
* config/rs6000/xm-aix4.h: New file.
* config/xm-aix4.h: New file.
From the Mentor work...enable configure & build on rs6000-ibm-aix4.1.*.
Note this is an unbelievably buggy debugger on this host.
* gdbserver/low-linux.c: New file.
* remote.c (remote_read_bytes): Fix aborts on larger packets.
* config/i386/linux.mh (GDBSERVER_DEPFILES, GDBSERVER_LIBS):
Define.
* stabsread.c (define_symbol): If register value is too large,
tell what it is and what max is.
arguments. Sorting is now dependent on OBJF_REORDERED. All
callers/references changed.
* dbxread.c (read_ofile_symtab): Correctly determine value for
last_source_start_addr for reordered executables.
(process_one_symbol): Handle N_FUN with no name as an end of
function marker.
* partial-stab.h (case N_FN, N_TEXT): Don't assume CUR_SYMBOL_VALUE
is the high text address for a psymtab.
(case N_SO): Likewise.
(case N_FUN): Handle N_FUN with no name as an end of function
marker.
* minsyms.c (lookup_minimal_symbol_by_pc): Examine all symbols
at the same address rather than a random subset of them.
* coffread.c (coff_symfile_init): Set OBJF_REORDERED.
* elfread.c (elf_symfile_init): Similarly.
* somread.c (som_symfile_init): Similarly.
* xcoffread.c (xcoff_symfile_init): Similarly.
Support for debugging reordered executables. Remaining mentor vm
changes.
(dump_symtab): Change RETURN_MASK_ERROR to RETURN_MASK_ALL so
that catch_errors doesn't get blindsided by QUIT and lose the
cleanup chain. This fixes a problem where ^C while in a
user-defined command sometimes leaves instream NULL and causes a
segfault in command_loop.
that hardware watchpoint removal problems won't leave breakpoint
traps in the target.
* configure configure.in: Make --enable-gdbtk be the default.
* remote-e7000.c (e7000_insert_breakpoint,
e7000_remove_breakpoint): Use e7000 based breakpoints, not memory
breakpoints.
* (e7000_wait): Adjust PC back by two when we see a breakpoint to
compensate for e7000 maladjustment.
* sparcl-tdep.c (sparclite_check_watch_resources): Fix logic bug
which prevented hardware watchpoints from working.
that use ptrace(). This is not as useful as doing a full dump in a
human readable format, but is better than nothing when you are trying
to verify what is actually in the user struct.
* infptrace.c (udot_info): New function.
(PT_*): Define each individually if that one is not defined.
Update copyright to 1996.
* rs6000-nat.c (kernel_u_size): New function
Include <sys/user.h> for "struct user"
Update copyright to 1996.
* alpha-nat.c (kernel_u_size): New function.
Include <sys/user.h> for "struct user"
Update copyright to 1996.
* sparc-nat.c (kernel_u_size): New function.
Include <sys/user.h> for "struct user"
Update copyright to 1996.
* i386b-nat.c (kernel_u_size): New function.
Update copyright to 1996.
* i386v-nat.c (kernel_u_size): New function.
Update copyright to 1996.
* config/i386/nm-fbsd.h (KERNEL_U_SIZE): Define.
(kernel_u_size): Declare.
Update copyright to 1996.
* config/i386/nm-linux.h (KERNEL_U_SIZE): Define.
(kernel_u_size): Declare.
Update copyright to 1996.
* config/sparc/nm-sun4os4.h (KERNEL_U_SIZE): Define.
(kernel_u_size): Declare.
Update copyright to 1996.
* config/alpha/nm-osf2.h (KERNEL_U_SIZE): Define.
(kernel_u_size): Declare.
Update copyright to 1996.
* config/rs6000/nm-rs6000.h (KERNEL_U_SIZE): Define.
(kernel_u_size): Declare.
Update copyright to 1996.
from NUM_REGS to get number of general registers that we care about.
Update copyright to 1996.
* config/i386/tm-i386.h (REGISTER_BYTES): Define in terms
of number of general regs and number of floating point regs.
Update copyright to 1996.
collision in C++.
* infcmd.c (path_command): Use empty string if PATH name not set.
* i386-tdep.c (skip_trampoline_code): New function.
* srec.c: Renamed dsrec.c to avoid filename collision.
* Makefile.in: Cope with renaming.
Update copyrights to 1996.
which sed script to run. Expect failure for v_comb test
on PA targets too.
Should get weird-stabs tests running on supported targets again.
I'd also expect most (if not all) stabs targets to fail v_comb...
(TARGET_HAS_HARDWARE_WATCHPOINTS, etc): Define as for Irix 4;
from Lee Iverson <leei@ai.sri.com>.
* config/mips/irix5.mh (NAT_FILE): Use nm-irix5.h.
* config/mips/irix[345].mh (MUNCH_DEFINE): Remove.
* gdb.base/corefile.exp: Allow "Core was generated by ..."
messages to not include the full program name that caused
the core dump since some systems (such as solaris) apparently
truncate this path to about 80 characters.
When generating a core file first try increasing the core file
size limit to unlimited since some systems may default it to
zero, and it is harmless to try it. Move the test for failing
to generate a core file to where it will actually get executed.
* gdb.c++/templates.exp (test_ptype_of_templates): Accept
new gdb result from g++ debug info improvements and make old
pattern obsolescent. Also account for size_t differences
(may be int or long).
* gdb.base/a1-selftest.exp (test_with_self): Check for case where
initialization before function call is placed in the delay slot
and thus appears to be skipped over by commands such as "next".