aboutsummaryrefslogtreecommitdiff
path: root/gdb/remote-mips.c
AgeCommit message (Collapse)AuthorFilesLines
1997-06-17 * infrun.c (wait_for_inferior): Mark registers as invalid whenMark Alexander1-358/+535
stepping over an instruction that triggered a watchpoint. * remote-mips.c: Numerous changes to support hardware breakpoints and watchpoints on LSI MiniRISC and TinyRISC boards. * mips-tdep.c: Move MIPS16-related macros to config/mips/tm-mips.h. (mips_breakpoint_from_pc): Account for different breakpoint instructions used by PMON and IDT monitor. * config/mips/tm-embed.h: Enable hardware breakpoints on embedded MIPS targets. * config/mips/tm-mips.h: Define breakpoint instructions for PMON and IDT monitor. Move MIPS16-related macros here from mips-tdep.c.
1997-04-15 * remote-mips.c (mips_load): Ensure that PC gets updatedMark Alexander1-4/+4
after a load on LSI target.
1997-03-27 * remote-mips.c: Clean up comment and extraneous semicolonMark Alexander1-11/+12
for mips_monitor_prompt variable.
1997-03-27 * remote-mips.c: Add `set monitor-prompt' command.Mark Alexander1-25/+22
1997-03-06 * remote-mips.c (mips_exit_debug): Some IDT boards don'tBob Manson1-1/+1
send the full exit string. Fixes a bug when trying to load to our mips IDT boards.
1997-02-27 * remote-mips.c: Put back the form feeds.Mark Alexander1-18/+10
1997-02-27 * remote-mips.c: Remove form feeds (^L) from source.Mark Alexander1-24/+45
(mips_initialize): LSI PMON doesn't support 'set regsize' command. (pmon_wait): Don't need to exit and re-enter debug mode on LSI PMON after a continue; it causes target program misbehavior. (mips_fetch_register): Don't fetch unsupported registers; this cuts down on wasted serial traffic.
1997-02-11 * mips-tdep.c (non_heuristic_proc_desc): New function.Mark Alexander1-18/+110
(find_proc_desc): Move non-heuristic proc search code into separate function. (gdb_print_insn_mips): Use non-heuristic method to find procedure descriptor, to avoid prologue examination when disassembling. * remote-mips.c: Add support for new "lsi" target (LSI MiniRISC aka MicroMeteor board). (mips_exit_debug): Prevent protocol reinitialization if an error occurs while exiting debug mode.
1997-02-09 * remote-mips.c (common_breakpoint): Prevent 64-bit addressesMark Alexander1-0/+1
from being sent to 32-bit targets by masking off upper bits. * mips-tdep.c (heuristic_proc_start): Mask off upper 32 bits of PC on 32-bit targets. (mips16_heuristic_proc_desc): Recognize 'addiu s1,sp,n' as a frame setup instruction. (mips32_heuristic_proc_desc): Fix warning found by gcc -Wall. (mips16_skip_prologue): Recognize 'addiu s1,sp,n' as a valid prologue instruction. Fix warnings and bugs found by gcc -Wall. * buildsym.c (finish_block): Improve handling of overlapping blocks; fixes problem on MIPS16 printing function arguments.
1996-12-19 * values.c (unpack_double): Make it compile with MSVC++ 2.x.Mark Alexander1-2/+7
* remote-mips.c (S_IROTH): Define if not defined by stat.h, e.g. when using MSVC++. (common_open): Fix help string.
1996-11-27 * config/mips/tm-mips.h (ADDR_BITS_REMOVE, TARGET_READ_SP): Define.Mark Alexander1-11/+31
(mips_addr_bits_remove): Declare. * mips-tdep.c (mips_push_dummy_frame): Fix heuristic-fence-post errors when hitting breakpoints during inferior function calls in 64-bit programs. (fix_sign_extension): Make public, rename to mips_addr_bits_remove. * utils.c (paddr_nz, preg_nz): New functions, similar to paddr and preg but don't print leading zeroes. * defs.h (paddr_nz, preg_nz): Declare. * remote-mips.c: Use paddr_nz instead of paddr throughout to reduce packet size. (pmon_end_download): Improve timeout error handling.
1996-11-22 * mips-tdep.c: Replace hard-coded constants with MIPS_INSTLEN.Mark Alexander1-116/+334
(common_breakpoint): Use paddr instead of %x to print 64-bit values. (heuristic_proc_desc): Add tests for 64-bit instructions. (init_extra_frame_info, mips_push_arguments): Recognize additional registers for EABI. * remote-mips.c: Extend DDB target to allow TFTP downloads. * config/mips/tm-mips.h (MIPS_LAST_ARG_REGNUM, MIPS_NUM_ARG_REGS): Define.
1996-11-12Patches to add Irix6 host support.Jim Wilson1-1/+1
1996-11-11 * mips-tdep.c, remote-mips.c, values.c, mdebugread.c,Dawn Perchik1-25/+33
config/mips/tm-mips.h: Add/fix bugs for 64-bit mips support. * defs.h: Cleanup; add prototypess * corefile.c: Change FIXME #ifdef * win32-nat.c: Include windefs instead of windows.h. * utils.c: Add routines for printing addresses and registers based on type size.
1996-10-10 * remote-mips.c: Use the correct name everywhere (DDB) for NEC'sStan Shebs1-29/+29
VR4300 target. (ddb_ops, pmon_ops): Fix the documentation strings.
1996-09-17Tue Sep 17 10:56:52 1996 James G. Smith <jsmith@cygnus.co.uk>Jackie Smith Cashion1-2/+5
* remote-mips.c (pmon_wait): CAIRO PMON does not require forced re-entry back into debug mode.
1996-09-16Mon Sep 16 14:32:58 1996 James G. Smith <jsmith@cygnus.co.uk>Jackie Smith Cashion1-2/+8
* remote-mips.c (mips_load): Ensure that the PC is explicitly loaded after a load to a CAIRO PMON system.
1996-08-30Fri Aug 30 15:07:14 1996 James G. Smith <jsmith@cygnus.co.uk>Jackie Smith Cashion1-18/+104
* remote-mips.c: Provide support for CAIRO target board. (cairo_open, cairo_ops): Added. (mips_monitor_type): MON_CAIRO Added. (mips_enter_debug, mips_exit_debug, mips_initialize, mips_fetch_registers, common_breakpoint, mips_load, _initialize_remote_mips): Updated. Add simple support for NEC CAIRO Vr4300 development board.
1996-08-14 * config/mips/nm-mips.h (get_longjmp_target): Add prototype.Fred Fish1-2/+0
* config/mips/nm-irix3.h (get_longjmp_target): Add prototype. * remote-mips.c (mips_read_processor_type): Remove prototype. * mips-tdep.c (gdb_print_insn_mips): Add prototype and make static. * irix5-nat.c (fetch_core_registers): Add prototype.
1996-05-28Removed EINVAL reference in remote-mips.c, and put a hardcoded 22 in itsGeoffrey Noer1-1/+1
place which reflects what the boards return.
1996-04-19 * remote-mips.c (encoding): Don't specify size, to avoid bug inIan Lance Taylor1-1/+1
SunOS native compiler.
1996-03-03Sun Mar 3 17:18:57 1996 James G. Smith <jsmith@cygnus.co.uk>Jackie Smith Cashion1-1/+2
* remote-mips.c (common_breakpoint): Explicitly terminate the returned buffer.
1996-02-12 * somsolib.c (som_solib_add): Use xmalloc rather than bareFred Fish1-2/+2
unchecked call to malloc. * remote-mips.c (pmon_load_fast): ditto. * remote-mm.c (mm_open): ditto. * hpread.c (hpread_lookup_type): ditto. * remote-adapt.c (adapt_open): ditto.
1996-01-16Tue Jan 16 18:00:35 1996 James G. Smith <jsmith@cygnus.co.uk>Jackie Smith Cashion1-99/+923
* 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.
1996-01-09 * remote-mips.c (mips_receive_header): Recognize \012 insteadStan Shebs1-1/+7
of \n, but write \n when program sends a \012. * ser-mac.c (mac_input_buffer): Increase size of buffer.
1995-12-07 * remote-mips.c (mips_receive_header): Allow mips_syn_garbage to beStu Grossman1-1/+12
user-settable (via set syn-garbage-limit). Setting it to -1 makes it unlimited.
1995-11-08 * remote-mips.c (mips_initialize): Fix brain damage found byStu Grossman1-2/+0
Jamie. Basically had case statement in the wrong place... * (mips_load): Remove unnecessary `db tty0' command. It's all handled by mips_initialize now.
1995-11-08 * remote-mips.c (mips_initialize): Fix brain damage found byStu Grossman1-5/+8
Jamie. Basically had case statement in the wrong place...
1995-11-07* remote-mips.c (mips_initialize): Updated to talk to VR4300 RISQJackie Smith Cashion1-14/+11
monitor board. The mips_initialize() code seemed to have a "funny" switch statement. I also removed an unnecessary switch into debug monitor mode just before the call to mips_initialize() in mips_load().
1995-11-04 * Makefile.in (INTERNAL_CFLAGS): Add ENABLE_CFLAGS.Stu Grossman1-46/+48
* fork-child.c (fork_inferior): Add call to TARGET_CREATE_INFERIOR_HOOK to allow target specific code to get control just before the new process executes it's first instruction. * remote-mips.c (mips_initialize): Cleanup a bit. Don't try to receive a packet at first. This speeds up initialization a lot. Use TARGET_MONITOR_PROMPT instead of "<IDT>". (common_breakpoint): Use rresponse instead of rerrflg to inspect error code. * symfile.c (syms_from_objfile reread_symbols): Call TARGET_SYMFILE_POSTREAD to allow target specific code to get control after reading new symbols. * target.h: New macros TARGET_SYMFILE_POSTREAD, and TARGET_CREATE_INFERIOR_HOOK. See above for descriptions. * config/mips/{irix5.mh nm-irix5.h}: Delete nm-irix5.h. Make NAT_FILE point directly at ../nm-sysv4.h. * config/mips/{mipsm3.mh nm-m3.h}: Delete nm-m3.h. Make NAT_FILE point directly at ../nm-m3.h. * config/mips/{mipsv4.mh nm-sysv4.h}: Delete nm-sysv4.h. Make NAT_FILE point directly at ../nm-sysv4.h. * config/mips/nm-mips.h: Improve comment at top of file. * config/mips/tm-mips.h (TARGET_MONITOR_PROMPT): Change definition into a proper string. start-sanitize-gm * configure configure.in: Add support for --enable-gm. (mips*-*-magic*): Change target from magic to idt. * eval.c expprint.c expression.h parse.c remote-mips.c utils.c: Change GENERAL_MAGIC_HACKS to GENERAL_MAGIC. * magic.c magic.h: Update files from GM. * config/mips/magic.mt: Delete. No longer necessary now that we use --enable mechanism. * config/mips/tm-idt.h: Add GM stuff needed for remote GM box. * config/mips/tm-irix5.h: Add GM stuff needed for native Irix box. * config/mips/tm-magic.h: Move up to config/tm-magic.h. Move all platform specific stuff into tm-irix.h and tm-idt.h. Add defs for TARGET_SYMFILE_POSTREAD and TARGET_CREATE_INFERIOR_HOOK. end-sanitize-gm
1995-10-27 * breakpoint.c (breakpoint_re_set): #ifdef GET_LONGJMP_TARGETStu Grossman1-59/+346
around calls to create_longjmp_breakpoint. Why install the breakpoints if we can't find the longjmp target? * infrun.c (wait_for_inferior): Cleanup comments near call test. * remote-mips.c: Fixed a bunch of prototypes to avoid char/int complaint from picky compilers. Add comment to mips_expect. Replace all instances of sr_get_debug with remote_debug. * (mips_readchar): Don't jam init string to monitor. mips_initialize() handles that. * (mips_receive_header): Print better message when we get too much garbage. * (mips_request): Allow caller to pass in buff to allow them to analyze the returned message. * (mips_initialize): Re-do initialization to try sending a BREAK, a ^C, and then a download escape sequence. Cleanup protocol startup. Eliminate sleeps. Clear breakpoints (if using monitor breakpoints). Re-init frame. * (mips_detach): Close down target. start-sanitize-gm * (mips_resume): Pass signal down to target. * (mips_create_inferior): Start target with TARGET_SIGNAL_PWR. end-sanitize-gm * (mips_wait): Handle return status with registers, or breakpoint stuff. * (mips_kill): Add ^C handling. * (mips_insert_breakpoint mips_remove_breakpoint): Call new breakpoint stuff if enabled. * (calculate_mask remote_mips_set_watchpoint remote_mips_remove_watchpoint remote_mips_stopped_by_watchpoint): Hardware watchpoint/breakpoint stuff. * (common_breakpoint): Common code for new monitor breakpoint commands. * (mips_load): Don't use `prompt'. It's a global variable. * top.c (dont_repeat_command): New command for use in user-defined commands to suppress auto-repeat (by hittin return key). start-sanitize-gm * utils.c (request_quit): Call target_kill here. Good idea. Needs a better implementation. end-sanitize-gm * valops.c: Add start of auto function-call abandonment capability. start-sanitize-gm * c-exp.y: Add code (currently disabled) to handle GM dynamic structures (it conflicts with @!). * eval.c (evaluate_subexp_standard): ditto. * expprint.c (print_subexp dump_expression): ditto. * expression.h (enum exp_opcode): ditto. * parse.c (length_of_subexp): ditto. * configure, configure.in: Add mip*-*-magic* target. * magic.c magic.h: Special routines to handle GM stuff (like stepping through dispatcher). end-sanitize-gm
1995-10-23The revision 2.48 change (grossman 1995/10/16) had unfortunatelyJackie Smith Cashion1-23/+17
broken the prompt spotting for the <RISQ> variant of the IDT monitor. Also took this opportunity to add the vr4300 configure.in options.
1995-10-16 * remote-mips.c: Add support for speedy (about 10x faster)Stu Grossman1-12/+298
downloads.
1995-09-01Ideally the "remote-mips.c" prompt spotting code should be updated toJackie Smith Cashion1-3/+9
spot different prompts at run-time, so as to avoid having target specific versions of gdb. This is a pending TODO. Fri Sep 1 08:25:50 1995 James G. Smith <jsmith@beauty.cygnus.com> * configure (mips64*vr4300*-*-elf): Support added. * remote-mips.c (mips_readchar): Change to allow build-time prompt string. * config/mips/tm-mips.h: Added TARGET_MONITOR_PROMPT. * config/mips/{vr4300.mt, vr4300el.mt, tm-vr4300.h, tm-vr4300el.h}: Added.
1995-08-02Update FSF address.Fred Fish1-1/+1
1995-07-13 * inftarg.c (child_thread_alive): New function to see if aJeff Law1-0/+1
particular thread is still running. (child_ops): Add child_thread_alive entry. * remote.c (remote_thread_alive): New function to see if a particular thread is still alive. (remote_ops): Add remote_thread_alive. * target.c (dummy_target): Add dummy entry for thread_alive. (cleanup_target): de_fault thread_alive too. (update_current_target): INHERIT thread_alive too. (debug_to_thread_alive): New function. (setup_target_debug): Add debug_to_thread_alive. * target.h (struct target_ops): Add to_thread_alive. (target_thread_alive): Define. * thread.c (info_threads_command): Don't call kill; use target_thread_alive instead. * config/nm-lynx.h (CHILD_THREAD_ALIVE): Define. * gdbserver/low-lynx.c (mythread_alive): New function. (mywait): Don't restart any threads after a new thread notification, let the generic code handle it. * gdbserver/low-sparc.c (mythread_alive): Dummy version. * gdbserver/low-sun3.c (mythread_alive): Likewise. * gdbserver/server.c (main): Handle thread_alive requests. * gdbserver/server.h (mythread_alive): Declare. * corelow.c (core_ops): Add dummy entry for thread_alive. * exec.c (exec_ops): Likewise. * m3-nat.c (m3_ops): Likewise. * monitor.c (monitor_ops): Likewise. * procfs.c (procfs_ops): Likewise. * remote-arc.c (arc_ops): Likewise. * remote-array.c (array_ops): Likewise. * remote-e7000.c (e7000_ops): Likewise. * remote-es.c (es1800_ops, es1800_child_ops): Likewise. * remote-mips.c (mips_ops): Likewise. * remote-pa.c (remote_hppro_ops): Likewise. * remote-sim.c (gdbsim_ops): Likewise. * sparcl-tdep.c (sparclite_ops): Likewise. More lynx-6100 work
1995-06-08 * defs.h maint.c monitor.c remote-mips.c remote.c: Add supportStu Grossman1-4/+33
for `watchdog' variable. This allows the user to put an upper limit on the amount of time that GDB will wait for the target to return from a step or continue operation. This will primarily be used for the testsuite, where it is difficult to come up with a reasonable timeout for things like function calls, which can take as long as three minutes under some circumstances. If the watchdog timer expires, GDB will generate an error that looks like `Watchdog has expired.', and will detach from the target. * remote-mips.c (mips_open): Setup initial frame from target. Print it out so that user is told where the program is stopped when they attach. * remote-nrom.c: Loads of cleanups. Use serial code to open network connections. Use expect() to wait for response to download command. * ser-tcp.c (tcp_open): Retry connection if we get ECONNREFUSED. * serial.c serial.h (serial_open serial_fdopen serial_close): Allow users to open the same device multiple times. They all get to share the same serial_t. This is about the only way to have multiple active targets use the same device (for download and debug). * sparcl-tdep.c: Keep #include <unistd.h> away from GO32. * target.c: Add `targetdebug' variable. If this is non-zero, then a special target is put at the top of the target stack which will cause all calls through the target vector to have their args and results printed out.
1995-05-19 * utils.c, complaints.c, language.c, monitor.c, remote-array.c,Jim Kingdon1-3/+3
remote-mips.c, remote-os9k.c, remote-st.c: Conditionalize use of stdarg rather than varargs on ANSI_PROTOTYPES not __STDC__; it must match the definition of PARAMS. start-sanitize-gdbtk * gdbtk.c: Likewise. end-sanitize-gdbtk
1995-05-18 * utils.c (fprintf_filtered, fprintf_unfiltered, fprintfi_filtered,J.T. Conklin1-2/+15
printf_filtered, printf_unfiltered, printfi_filtered, query, warning, error, fatal, fatal_dump_core): Use stdarg.h macros when compiling with an ANSI compiler. * complain.c (complain): Likewise. * language.c (type_error, range_error): Likewise. * monitor.c (monitor_printf, monitor_printf_noecho): Likewise. * remote-array.c (printf_monitor, debuglogs): Likewise. * remote-mips.c (mips_error): Likewise. * remote-os9k.c (printf_monitor): Likewise. * remote-st.c (printf_stdebug): Likewise. * gdbtk.c (gdbtk_query): Likewise. * defs.h, complain.h, language.h, monitor.h: Add prototypes to match above changes. * printcmd.c: Remove uneeded #include <varargs.h>. * remote-e7000.c: Likewise. * f-typeprint.c (f_type_print_base): Fix typo found by above changes.
1994-11-18 * defs.h, infcmd.c (reg_names): Don't declare as constant.Stan Shebs1-45/+41
* remote-mips.c (mips_open): Read and set the processor type. * mips-tdep.c (mips_set_processor_type): Always return an int.
1994-11-03 * corelow.c, exec.c, inftarg.c, m3-nat.c, op50-rom.c, procfs.c,Stu Grossman1-0/+1
remote-adapt.c, remote-e7000.c, remote-eb.c, remote-es.c, remote-hms.c, remote-mips.c, remote-mm.c, remote-mon.c, remote-nindy.c, remote-os9k.c, remote-pa.c, remote-sim.c, remote-st.c, remote-udi.c, remote-vx.c, remote-z8k.c, remote.c, w89k-rom.c, target.c, target.h: Add support for target_stop(). * gdbtk.c (gdb_stop): Switch to target_stop(). * ChangeLog: Fix comment to make shebs happy...
1994-10-06 * remote-mips.c (break_insn): Remove.Ian Lance Taylor1-10/+4
(BREAK_INSN, BREAK_INSN_SIZE): Define. (mips_insert_breakpoint): Use BREAK_INSN, not break_insn. (mips_remove_breakpoint): Likewise.
1994-09-15 * remote-mips.c (mips_error): Place NORETURN macro correctly.Stan Shebs1-1/+1
* TODO: Add item about START_INFERIOR_TRAPS_EXPECTED.
1994-08-17 * remote-mips.c: Remove unused declaration of mips_load.Jim Kingdon1-3/+0
1994-08-10Modified Files:Kung Hsu1-0/+9
ChangeLog remote-mips.c * remote-mips.c (mips_open): add code to handle baud rate.
1994-07-18Modified Files:Kung Hsu1-0/+2
remote-mips.c ChangeLog * remote-mips.c (mips_readchar): Fix a bug in checking <IDT> prompt.
1994-06-30 * remote-mips.c: Replace all \r chars with \015.Stan Shebs1-5/+20
(mips_receive_header): Display control characters readably. (mips_xfer_memory): Add a simple progress display.
1994-02-05 * remote-mips.c (mips_fetch_registers): If regno is FP_REGNUM orJim Kingdon1-4/+12
ZERO_REGNUM, just read it as zero without talking to the board.
1994-02-05 * remote-mips.c (mips_insert_breakpoint, mips_remove_breakpoint):Jim Kingdon1-15/+79
New functions. (mips_store_word): Change calling convention to return errors, and to provide old contents if the caller wants it. (mips_xfer_memory): Deal with errors from mips_store_word. * config/mips/tm-idt.h, config/mips/tm-idtl.h: Remove BREAKPOINT define now that remote-mips.c doesn't use BREAKPOINT.
1994-01-31* remote-mips.c: Use unfiltered, not filtered, output most places.Jim Kingdon1-15/+39