aboutsummaryrefslogtreecommitdiff
path: root/gdb/sh-tdep.c
AgeCommit message (Collapse)AuthorFilesLines
1996-11-27Wed Nov 27 11:29:06 1996 Michael Snyder <msnyder@cleaver.cygnus.com>Michael Snyder1-8/+3
* blockframe.c: ...Remove old-style CALL_DUMMY code... * h8300-tdep.c: * config/h8300/tm-h8300.h: start-sanitize-m32r * m32r-tdep.c: * config/m32r/tm-m32r.h: end-sanitize-m32r * sh-tdep.c: * config/sh/tm-sh.h: start-sanitize-v850 * v850-tdep.c: * config/v850/tm-v850.h: end-sanitize-v850
1996-11-27Added target function calls for SH, M32R and H8300.Michael Snyder1-269/+109
Added some generic target-independant code for managing call-dummy frames. Wed Nov 27 10:32:14 1996 Michael Snyder <msnyder@cleaver.cygnus.com> * breakpoint.c: DELETE command will not delete CALL_DUMMY breakpoint. * blockframe.c: Add target-independant support for managing CALL_DUMMY frames on the host side. * frame.h: Declarations for generic CALL_DUMMY frame support. * h8300-tdep.c: Add target function calls using generic frame support. * config/h8300/tm-h8300.h: config for generic target function calls. start-sanitize-m32r * m32r-tdep.c: Add target function calls using generic frame support. * config/m32r/tm-m32r.h: config for generic target function calls. end-sanitize-m32r * sh-tdep.c: Add target function calls using generic frame support. * config/sh/tm-sh.h: config for generic target function calls. start-sanitize-v850 * v850-tdep.c: Add target function calls using generic frame support. * config/v850/tm-v850.h: config for generic target function calls. end-sanitize-v850 * valops.c: ADD PUSH_RETURN_ADDRESS so that it doesn't have to be done by PUSH_ARGUMENTS when there's no CALL_DUMMY.
1996-11-12Tue Nov 12 12:16:40 1996 Michael Snyder <msnyder@cleaver.cygnus.com>Michael Snyder1-24/+444
* sh-tdep.c: Add functionality for target function calls. * config/sh/tm-sh.h: Add support for target function calls. This is a safety check-in: everything works, and there'll be another clean-up round shortly.
1996-09-20 * config/sh/tm-sh.h (REGISTER_NAMES): Move fp registers toStan Shebs1-24/+26
be consistent with GCC. (FPUL_REGNUM, etc): Renumber to match list changes. (ADDR_BITS_REMOVE): Delete. * sh-tdep.c (sh_reg_names, sh3_reg_names, sh3e_reg_names): Rearrange to match REGISTER_NAMES. * sh3-rom.c (sh3_regnames, sh3e_regnames): Ditto. PR 9457
1996-08-13 * remote.c: Make remote_write_size public.Mark Alexander1-0/+6
* sh-tdep.c (_initialize_sh_tdep): Set remote_write_size to 300 to prevent packet errors with some versions of CMON. (Fixes PR 10254)
1996-05-13 SH3-E support from Allan Tajii <atajii@hmsi.com>:Stan Shebs1-4/+19
* sh-tdep.c (sh_reg_names, sh3_reg_names): Add empty names for float registers. (sh3e_reg_names): New register name array. (sh_processor_type_table): Add sh3e processor type. * config/sh/tm-sh.h (REGISTER_VIRTUAL_TYPE): Fix test. (REGISTER_NAMES, NUM_REGS, NUM_REALREGS, etc): Adjust for full set of registers. * remote-e7000.c (want_sh3, want_sh3_nopc): New globals. (e7000_fetch_registers, e7000_wait): Use them. * sh3-rom.c (sh3_regnames): Add float registers. (sh3e_cmds, sh3e_ops): New globals. (sh3e_open): New function. (_initialize_sh3_rom): Rename from _initialize_sh3, set up sh3e target vector. * gdbwin.c (reg_order) [TARGET_SH]: Update for SH3-E. * initfake.c: Call _initialize_sh3_rom instead of _initialize_sh3.
1996-03-08 * infcmd.c (do_registers_info): Ignore anonymous registers.Stan Shebs1-1/+130
* 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.
1995-11-14 * monitor.c (monitor_load_srec monitor_make_srec): Move allStu Grossman1-16/+7
S-record download code into srec.c. * srec.c srec.h: New files. Contain S-record loading routines formerly in monitor.c. * serial.c serial.h: New routine just like fprintf, but uses serial_t instead of FILE *. * sh-tdep.c (frame_find_saved_regs init_extra_frame_info): Don't add four to saved pc (makes things match manual). Also, fix bug where we didn't get pc from stack frame correctly. * config/sh/tm-sh.h (SAVED_PC_AFTER_CALL): Don't add four to saved pc. Real hardware does this for you. * sh3-rom.c (sh3_load): New routine. Sets up for download then calls generic S-record loader. * config/h8300/h8300.mt, config/h8500/h8500.mt, config/m68k/monitor.mt, config/pa/hppapro.mt, config/sh/sh.mt: Add srec.o to TDEPFILES.
1995-08-02Update FSF address.Fred Fish1-1/+1
1995-07-01 * config/h8300/h8300.mt: Renamed from h8300hms.mt.Stan Shebs1-10/+0
* config/h8500/h8500.mt: Renamed from h8500hms.mt. * config/z8k/z8k.mt: Renamed from z8ksim.mt. * configure, configure.in: Update to reflect renamings. * remote-sim.c (sim): New command, passes commands to simulator. (simulator_command): New function. (gdbsim_ops): Clean up. * remote-sim.h (sim_do_command): Declare. * sh-tdep.c (memory_size): Remove command. * Makefile.in (SIM, SIM_OBS): New variables. (CLIBS, CDEPS): Add value of SIM. (DEPFILES): Add value of SIM_OBS * config/arm/arm.mt, config/h8300/h8300.mt, config/h8500/h8500.mt, config/sh/sh.mt, config/sparc/sp64sim.mt, config/w65/w65.mt, config/z8k/z8k.mt: Remove simulator files from TDEPFILES, define in SIM_OBS and SIM. config/sparc/sp64sim.mt (SIMFILES): Remove. * remote-z8k.c: Remove, was superseded by remote-sim.c * Makefile.in, mpw-make.in: Remove references to remote-z8k.c.
1995-04-21 * sh-tdep.c (sh-opc.h): Don't include.Stan Shebs1-11/+8
(gdbcore.h): Include. (frame_find_saved_regs): Remove unused local.
1995-01-19 * h8300-tdep.c (gdb_print_insn_h8300): Fix typo (&info -> info).Stan Shebs1-2/+2
* sh-tdep.c (gdb_print_insn_sh): Ditto.
1995-01-17 General cleanup and simplication of disassembler interface.Stan Shebs1-8/+8
* a29k-pinsn.c, arm-pinsn.c, convex-pinsn.c, gould-pinsn.c, hppa-pinsn.c, i386-pinsn.c, i960-pinsn.c, m68k-pinsn.c, m88k-pinsn.c, mips-pinsn.c, ns32k-pinsn.c, pyr-pinsn.c, rs6000-pinsn.c, sparc-pinsn.c, tahoe-pinsn.c, vax-pinsn.c: Remove. * gould-tdep.c, ns32k-tdep.c, tahoe-tdep.c, vax-tdep.c: New files, had been -pinsn.c files. * Makefile.in (ALLDEPFILES): Remove removed files. (a29k-pinsn.o, arm-pinsn.o, convex-pinsn.o, gould-pinsn.o, hppa-pinsn.o, i386-pinsn.o, i960-pinsn.o, m68k-pinsn.o, m88k-pinsn.o, mips-pinsn.o, ns32k-pinsn.o, pyr-pinsn.o, rs6000-pinsn.o, sparc-pinsn.o, tahoe-pinsn.o, vax-pinsn.o): Remove compile actions. * arm-tdep.o, gould-tdep.o, ns32k-tdep.o, tahoe-tdep.o, vax-tdep.o: Add compile actions. * defs.h (tm_print_insn): New global. * a29k-tdep.c (gdb_print_insn_a29k): New function. (_initialize_a29k_tdep): Rename from _initialize_29k, set tm_print_insn. * alpha-tdep.c (print_insn): Remove. (_initialize_alpha_tdep): Set tm_print_insn. * arm-tdep.c (arm_print_insn): New function, was print_insn in arm-pinsn.c. * convex-tdep.c (convex_print_insn): New function, was print_insn in convex-pinsn.c. * h8300-tdep.c (print_insn): Remove. (gdb_print_insn_h8300): New function. (_initialize_h8300_tdep): New function. * h8500-tdep.c (print_insn): Remove. (_initialize_h8500_tdep): New function. * hppa-tdep.c (_initialize_hppa_tdep): Set tm_print_insn. * i386-tdep.c (_initialize_i386_tdep): New function. * i960-tdep.c (mem, next_insn): New functions, were in i960-pinsn.c. (_initialize_i960_tdep): Set tm_print_insn. * m68k-tdep.c (_initialize_m68k_tdep): New function. * m88k-tdep.c (_initialize_m88k_tdep): New function. * mips-tdep.c (gdb_print_insn_mips): New function. (_initialize_mips_tdep): Set tm_print_insn. * pyr-tdep.c (pyr_print_insn): New function, was print_insn in pyr-pinsn.c. * rs6000-tdep.c (_initialize_rs6000_tdep): New function. * sh-tdep.c (print_insn): Remove. (gdb_print_insn_sh): New function. (_initialize_sh_tdep): Set tm_print_insn. * sparc-tdep.c (_initialize_sparc_tdep): New function. * w65-tdep.c (print_insn): Remove. (_initialize_w65_tdep): New function. * z8k-tdep.c (print_insn): Remove. (gdb_print_insn_z8k): New function. (_initialize_z8k_tdep): Set tm_print_insn. * printcmd.c (print_insn): New function, generic disassembler. * config/*/*.mt (TDEPFILES): Remove refs to *-pinsn.o. * defs.h (query_hook, error_hook): Fix prototypes.
1994-11-24 * remote-e7000.c (HARD_BREAKPOINTS): Reenable.Steve Chamberlain1-49/+54
(BC_BREAKPOINTS): Disable. * sh-tdep.c (print_insn): Cope with big and little endian machines. * sh/sh.mt: Use libsim.a * sh/tm-sh.h (TARGET_BYTE_ORDER_SELECTABLE): New (BREAKPOINT): Changed to be byteorder independent.
1994-11-04 Replace useless FRAME, FRAME_ADDR types with struct frame_info *Stan Shebs1-16/+13
and CORE_ADDR, respectively. * frame.h (FRAME, FRAME_INFO_ID, FRAME_ADDR): Remove. * blockframe.c (get_frame_info): Remove. * a29k-tdep.c, alpha-tdep.c, blockframe.c, breakpoint.c, breakpoint.h, energize.c, findvar.c, gdbtk.c, gould-pinsn.c, h8300-tdep.c, h8500-tdep.c, hppa-tdep.c, i386-tdep.c, i960-tdep.c, infcmd.c, inferior.h, infrun.c, m68k-tdep.c, m88k-tdep.c, mips-tdep.c, nindy-tdep.c, printcmd.c, pyr-tdep.c, rs6000-tdep.c, sh-tdep.c, sparc-tdep.c, stack.c, valops.c, z8k-tdep.c, config/a29k/tm-a29k.h, config/alpha/tm-alpha.h, config/gould/tm-pn.h, config/h8300/tm-h8300.h, config/h8500/tm-h8500.h, config/mips/tm-mips.h, config/ns32k/tm-merlin.h, config/ns32k/tm-umax.h, config/pyr/tm-pyr.h, config/sparc/tm-sparc.h): Replace FRAME with struct frame_info * everywhere, replace FRAME_ADDR with CORE_ADDR, rename variables consistently (using `frame' or `fi'), remove calls to get_frame_info and FRAME_INFO_ID, remove comments about FRAME and FRAME_ADDR cruftiness.
1994-10-08 The point of these changes is to avoid reading the frame pointerJim Kingdon1-2/+0
and stack pointer during stepping, to speed things up. A. Changes to not select a frame until we need a selected frame: * blockframe.c (flush_cached_frames): Call select_frame (NULL, -1). * infrun.c (wait_for_inferior): Move call to select_frame back to normal_stop. This reverts a change of 13 Apr 94 (it says Jeff Law, but the change was my idea); the only reason for that change was so we could save and restore the selected frame in wait_for_inferior, and now that flush_cached frames clears the selected frame, that should work OK now. B. Changes to not create a current_frame until we need one: * blockframe.c (get_current_frame): If current_frame is NULL, try to create an innermost frame. * sparc-tdep.c (sparc_pop_frame), infcmd.c (run-stack_dummy), infrun.c (wait_for_inferior), thread.c (thread_switch), convex-tdep.c (set_thread_command), a29k-tdep.c (pop_frame), alpha-tdep.c (alpha_pop_frame), convex-xdep.c (core_file_command), h8300-tdep.c (h8300_pop_frame), h8500-tdep.c (h8300_pop_frame), hppa-tdep.c (hppa_pop_frame), i386-tdep.c (i386_pop_frame), i960-tdep.c (pop_frame), m68k-tdep.c (m68k_pop_frame), mips-tdep.c (mips_pop_frame), rs6000-tdep.c (push_dummy_frame, pop_dummy_frame, pop_frame), sh-tdep.c (pop_frame), config/arm/tm-arm.h (POP_FRAME), config/convex/tm-convex.h (POP_FRAME), config/gould/tm-pn.h (POP_FRAME), config/ns32k/tm-merlin.h (POP_FRAME), config/ns32k/tm-umax.h (POP_FRAME), config/tahoe/tm-tahoe.h (POP_FRAME), config/vax/tm-vax.h (POP_FRAME): Don't call create_new_frame. * corelow.c (core_open), altos-xdep.c (core_file_command), arm-xdep.c (core_file_command), gould-xdep.c (core_file_command), m3-nat.c (select_thread), sun386-nat.c (core_file_command), umax-xdep.c (core_file_command): Don't call create_new_frame; do call flush_cached_frames. * blockframe.c (reinit_frame_cache): Don't call create_new_frame or select_frame. C. Changes to get rid of stop_frame_address and instead only fetch the frame pointer when we need it. * breakpoint.c (bpstat_stop_status): Remove argument frame_address; use FRAME_FP (get_current_frame ()). * infrun.c (wait_for_inferior): Don't pass frame pointer to bpstat_stop_status. * infrun.c (wait_for_inferior): Use FRAME_FP (get_current_frame ()) instead of stop_frame_address. * infrun.c (save_inferior_status, restore_inferior_status), inferior.h (struct inferior_status): Don't save and restore stop_frame_address. * inferior.h, infcmd.c, thread.c (thread_switch), m3-nat.c (select_thread): Remove stop_frame_address and uses thereof. D. Same thing for the stack pointer. * infrun.c (wait_for_inferior): Remove stop_sp and replace uses thereof with read_sp (). E. Change to eliminate one nasty little spot where we were wanting to know the frame pointer from before the current step (idea from GDB 3.5, which saved my ass, because my other ideas of how to fix it were very baroque). * infrun.c: Remove prev_frame_address. * infrun.c (wait_for_inferior, step_over_function): Use step_frame_address instead of prev_frame_address. F. Same basic idea for the stack pointer. * inferior.h, infcmd.c: New variable step_sp. * infcmd.c (step_1, until_next_command): Set it. * infrun.c: Remove prev_sp and replace uses by step_sp. * infrun.c (wait_for_inferior): If we get out of the step range, then set step_sp to the current stack pointer before we start going again.
1994-09-09Thu Sep 8 17:14:43 1994 Steve Chamberlain (sac@jonny.cygnus.com)Steve Chamberlain1-10/+48
* remote.c (fromhex): Make error more explicit. (read_frame): Don't print bad checksum information unless remote_debugging. Don't use repeat count unless it's > 0. * remote-e7000.c (expect): When echoing, ignore multiple newlines. (e7000_insert_breakpoint, e7000_remove_breakpoint, target_ops): Optionally cope with BC style breakpoints. (e7000_command): After command send directly to the E7000 mark registers as changed. (why_stop, e7000_wait: Understand BC style stop condition. * sh-tdep.c (sh_skip_prologue): Understand more complicated sequences. (frame_find_saved_regs): Likewise. * config/h8500/tm-h8500.h (target_write_pc, TARGET_WRITE_PC): Handle extra arg. * config/i386/xm-go32.h (GDBINIT_FILENAME): Set to gdb.ini. (more work here to come) * config/sh/tm-sh.h (EXTRA_FRAME_INFO): Add f_offset and leaf_function fields.
1994-02-05Fri Feb 4 15:53:18 1994 Steve Chamberlain (sac@cygnus.com)Steve Chamberlain1-0/+35
* h8500-tdep.c (saved_pc_after_call): The size of the pc is memory model dependent. (segmented_command, unsegmented_command, _initialize_h8500_tdep): New commands to change memory model. * remote-7000.c (initialize_remote_e7000): Change name of snoop command. * remote-hms.c (hms_load): Remove breakpoints when loaded. (hms_wait): Use new status structure (hms_open): Push the target here. (hms_before_main_loop): Not here. (supply_val, hms_fetch_register, hms_store_register): Cope with H8/500 names too. * sh-tdep.c (show_regs, initialize_sh_tdep): New command to print all registers in a compact way.
1993-11-15How many times do I have to do this...Steve Chamberlain1-12/+1
1993-11-01Change the stream argument to _filtered to GDB_FILE *.Thomas Lord1-1/+1
Change all references to stdout/stderr to gdb_stdout/gdb_stderr. Replace all calls to stdio output functions with calls to corresponding _unfiltered functions (`fprintf_unfiltered') Replaced calls to fopen for output to gdb_fopen. Added sufficient goo to utils.c and defs.h to make the above work. The net effect is that stdio output functions are only directly used in utils.c. Elsewhere, the _unfiltered and _filtered functions and GDB_FILE type are used. In the near future, GDB_FILE will stop being equivalant to FILE. The semantics of some commands has changed in a very subtle way: called in the right context, they may cause new occurences of prompt_for_continue() behavior. The testsuite doesn't notice anything like this, though. Please respect this change by not reintroducing stdio output dependencies in the main body of gdb code. All output from commands should go to a GDB_FILE. Target-specific code can still use stdio directly to communicate with targets.
1993-10-22 * Makefile.in (init.c): Generate using the source, not munch. ThisJim Kingdon1-0/+1
cleans up all kinds of hassles (which nm to use in munch, etc). The new formatting conventions (mostly already followed) are that the name of the _initialize_* routines must start in column zero, and must not be inside #if. * munch: Removed. * Makefile.in: Remove references to munch. * serial.c, remote.c, infptrace.c, maint.c, convex-tdep.c, alpha-tdep.c, hp300ux-nat.c, hppab-nat.c, osfsolib.c, remote-es.c, procfs.c, remote-udi.c, ser-go32.c, ultra3-xdep.c, sh-tdep.c, i960-tdep.c, hppa-tdep.c, h8500-tdep.c, dpx2-nat.c, delta68-nat.c, z8k-tdep.c: Make sure the above conventions are followed. Make sure they are all declared as returning void. Clean up miscellaneous comments and such.
1993-10-22* sh-tdep.c (sim_load): Add function.Jim Kingdon1-2/+13
1993-06-17 * configure.in (alpha-*-osf*), config/alpha/alpha-osf.mh: NewSteve Chamberlain1-1/+1
host. * sh-tdep.c (frame_find_saved_regs): Use NUM_REGS rather than hard wired (and wrong) constant. * values.c (unpack_long): Add case to unpack when target object is sizeof(int). * config/sh/tm-sh.h (REGISTER_NAMES): Know about the news ones the simulator defines.
1993-06-09 * coffread.c (init_stringtab): Fix bug where sizeof(long) != 4.Steve Chamberlain1-3/+16
* gdbcore.h, core.c (read_memory_unsigned_integer): New function. * findvar.c (read_register, write_register): Fix thinko where sizeof(host long) != sizeof(target int). * h8300-tdep.c: Use new read_memory_unsigned_integer call. * sh-tdep.c (_initialize_sh_tdep): Add memory_size command.
1993-04-27Support for Hitachi SHSteve Chamberlain1-0/+242