aboutsummaryrefslogtreecommitdiff
path: root/gdb/h8500-tdep.c
AgeCommit message (Collapse)AuthorFilesLines
1999-04-16Initial creation of sourceware repositorygdb-4_18-branchpointStan Shebs1-0/+653
1999-04-16Initial creation of sourceware repositoryStan Shebs1-653/+0
1998-11-29CARP:Andrew Cagney1-0/+7
Convert ADDR_BITS_REMOVE to a function.
1998-11-26CARP: Delete ABOUT_TO_RETURN across all targets.Andrew Cagney1-32/+0
1995-11-30 * alpha-tdep.c, c-exp.y, h8500-tdep.c, f-exp.y, f-valprint.c,Per Bothner1-2/+2
findvar.c, hppa-tdep.c, infcmd.c, language.c, printcmd.c, rs6000-tdep.c, symmisc.c, symtab.c: Add check_typedef/CHECK_TYPEDEF as needed.
1995-08-02Update FSF address.Fred Fish1-1/+1
1995-08-01 * h8500-tdep.c: General linting and cleanup.Stan Shebs1-104/+105
(opcodes/h8500-opc.h): Don't include. (code_size, data_size): Make static. (frame_locals_address, frame_args_address): Remove. (h8300_pop_frame): Rename to h8500_pop_frame. (big_command, medium_command, compact_command, small_command): Define as regular functions rather than with macro trickery. (tm_print_insn): Set to correct disassembler function. * config/h8500/tm-h8500.h: Minor cleanup, add prototypes. (ABOUT_TO_RETURN): #if 0 out. (FRAME_ARGS_ADDRESS, FRAME_LOCALS_ADDRESS): Use usual define. (GDB_TARGET_IS_H8500): Remove duplicate definition. (regoff): Remove, never used. * config/h8500/h8500.mt (TDEPFILES): Add monitor.o.
1995-01-17 General cleanup and simplication of disassembler interface.Stan Shebs1-11/+6
* 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-04 Replace useless FRAME, FRAME_ADDR types with struct frame_info *Stan Shebs1-12/+7
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-14 * h8500-tdep.c (target_read_sp, target_write_sp, target_read_pc,Stan Shebs1-6/+8
target_write_pc, target_read_fp, target_write_fp): Rename to h8500_read_sp, etc. (h8500_read_pc, h8500_write_pc): Add pid argument. * config/h8500/tm-h8500.h (TARGET_READ_SP, TARGET_WRITE_SP, TARGET_READ_PC, TARGET_WRITE_PC, TARGET_READ_FP, TARGET_WRITE_FP): Change to match functions above.
1994-10-08 The point of these changes is to avoid reading the frame pointerJim Kingdon1-3/+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-04-15 * h8500-tdep.c (initialize_h8500_tdep, large_command):Steve Chamberlain1-5/+5
All references to value changed to value_ptrlage_command is now called big_command. All references to value changed to value_ptr. * remote-z8k.c (e7000_wait): Use target_waitstatus and SETSTOP * remote-hms.c (hms_wait): Timeout after five seconds. * ser-go32.c (dosasync_read): Poll if timeout < 0. * config/tm/tm-h8500.h (BEFORE_MAIN_LOOP_HOOK): Deleted. * config/sh/tm-sh.h (BREAKPOINT): Is now sleep opcode.
1994-02-05Fri Feb 4 15:53:18 1994 Steve Chamberlain (sac@cygnus.com)Steve Chamberlain1-19/+27
* 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-12-12 * ser-go32.c: Lint. (strncasecmp): Removed, now in libiberty.Steve Chamberlain1-186/+45
(go32_readchar): Special handling for faster polling. (async structure): Volatile. * h8300-tdep.c (print_register_hook): Allocate and use the right number bytes for the raw register. * h8500-tdep.c (regoff, frame_find_saved_reg, examine_prologue): deleted. (h8500_register_size, h8500_register_virtual_type, ): Use new way of counting registers. * remote-e7000.c (echo_index): deleted. (expect): Better handling of user interrupts. (expect_prompt): Remove never used log file support. (want, want_nopc): Add support for H8/300H. (fetch_regs_from_dump): Treat \r and \n as whitespace. (e7000_drain): Send an "end" command before waiting for output to stop. (e7000_wait): Cope with H8/300H, better handling of user interrupts. (why_stop, expect_n, sub2_from_pc): New function. * remote-utils.c (gr_load_image): call fflush and QUIT more regularly. * utils.c (notice_quit): New function for polling for user interrupts.
1993-11-15 * remote-e7000.c: New file to cope with the Hitachi E7000 ICE.Steve Chamberlain1-11/+0
* remote-utils.c, remote-utils.h (gr_load_image): New function to download to target. * h8300-tdep.c, h8500-tdep.c, remote-z8k.c, sh-tdep.c z8k-tdep.c (sim_load): delete. * remote-sim.c (sim_load): Use gr_load_image. * config/sh/sh.mt: Add remote-e7000
1993-11-01Change the stream argument to _filtered to GDB_FILE *.Thomas Lord1-20/+20
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-16 * h8300-tdep.c, h8500-tdep.c: Define sim_load only, but notJim Kingdon1-0/+12
sim_kill, sim_open, or sim_set_args.
1993-09-01bzero -> memsetK. Richard Pixley1-2/+2
1993-08-01 * h8500-tdep.c: Add parens around a few macro args.Fred Fish1-7/+8
1993-07-02 New target macros for getting at the pc, sp and fp.Steve Chamberlain1-59/+115
* infcmd.c (read_pc, write_pc): Modify to use new macros. (read_sp, write_sp, read_fp, write_fp): New functions. * blockframe.c (reinit_frame_cache, get_prev_frame_info): Use new functions. * breakpoint.c (bpstat_alloc): ditto. * infrun.c (wait_for_inferior): ditto. * stack.c (print_frame_info): ditto. * valops (call_function_by_hand): ditto. * corelow.c (core_open): ditto. * h8500-tdep.c: (target_read_sp, target_write_sp, target_read_pc, target_write_pc, target_read_fp, target_write_fp): New functions. * inferior.h (read_sp, write_sp, read_fp, write_fp): Prototypes.
1993-05-01Try again. Cvs core dumped.Steve Chamberlain1-1/+1
1993-04-02 * findvar.c (value_from_register): H8500 specific, check to seeStu Grossman1-1/+1
if we are looking at short pointer. If so, skip crock. * h8500-tdep.c (h8500_frame_chain): Mask down value from read_memory_integer() to avoid getting messed up by sign extension.
1993-03-31provide a new interface (using read_memory_func) to call the disassemblersJim Kingdon1-4/+1
which copes with errors in a plausible way
1993-03-25 * findvar.c (read_register, write_register): Make these capableStu Grossman1-186/+149
of reading/writing registers that are shorter than REGISTER_TYPE. * (value_from_register): Install H8500 specific code to return proper value when register is being used as a pointer. * h8500-tdep.c: Remove extra defines of NUM_REGS. (h8500_skip_prologue): Use correct lengths for LINK instructions. (FRAME_CHAIN): Change name to h8500_frame_chain. Rewrite code to chain frames properly by combining frame pointer with T reg. (init_extra_frame_info): Delete. It's now a macro. (frame_args_address): Don't add PTR_SIZE. Stack args are already offset by the correct amount off of the frame pointer. (register_byte): Delete. It's now a macro. (register_raw_size, register_virtual_size): Delete. Replaced by common routine h8500_register_size, cuz there's no difference between the raw & virtual sizes on this machine. (register_convert_to_raw, register_convert_to_virtual): Delete, cuz there's no difference between the raw & virtual forms. Replaced by memcpy in tm file. (register_virtual_type): Rename to h8500_register_virtual_type. Get rid of pointer pseudo-regs, use _REGNUM with all reg names. (_initialize_h8500_tdep): Get rid of crock to ensure that GDB & emulator have same reg offsets. This is all handled in the simulator code now. (h8500_trapped_internalvar): New routine to detect references to convenience vars acting as pointer pseudo-regs. (h8500_value_trapped_internalvar): Conjure up value of pointer pseudo-regs. (h8500_set_trapped_internalvar): Convert set value in real register references. infcmd.c (read_pc, write_pc): Add h8500 specific code to handle code segment register. infrun.c (proceed): Simplify. Call write_pc instead of doing it by hand. (wait_for_inferior): Add h8500 specific code to add stack segment when reading SP register. remote-sim.c (fetch_register): Spacing. tm-h8500.h: #define GDB_TARGET_IS_H8500 to make it easier to detect cruft. Redo all register manipulation stuff. Get rid of pointer pseudo-regs. (INIT_EXTRA_FRAME_INFO): Adds stack segment to frame pointer. (IS_TRAPPED_INTERNALVAL, VALUE_OF_TRAPPED_INTERNALVAR, SET_TRAPPED_INTERNALVAR): Use these to create internal vars for pointer pseudo-regs.
1993-03-19Checkpoint for StuSteve Chamberlain1-0/+802