Commit Graph

21 Commits

Author SHA1 Message Date
Kung Hsu
161520dc02 * a29k-tdep.c (get_longjmp_target): add this function, from WRS.
* remote-vx.c: move read_register and write_register out to
        target specific files.
        * remote-vx29k.c (get_fp_contnets): add this function, from WRS.
1995-03-01 00:01:49 +00:00
Jim Kingdon
5ad32be23c * a29k-tdep.c (gdb_print_insn_a29k): Fix typo (&info -> info). 1995-01-17 16:43:20 +00:00
Stan Shebs
18b46e7c53 General cleanup and simplication of disassembler interface.
* 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.
1995-01-17 04:36:51 +00:00
Stan Shebs
b6c1564694 * a29k-tdep.c (pop_frame): Fix a variable name. 1994-12-28 23:42:23 +00:00
Jim Kingdon
888a18ee77 * sparc-tdep.c, a29k-tdep.c, findvar.c (get_saved_register):
if !target_has_registers, call error().
1994-12-20 21:06:13 +00:00
Kung Hsu
48855ed5ce * a29k-tdep.c (examine_tag): Fix a bug in stack frame size. 1994-11-22 18:31:18 +00:00
Stan Shebs
669caa9c19 Replace useless FRAME, FRAME_ADDR types with struct frame_info *
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-11-04 01:19:29 +00:00
Jim Kingdon
16726dd15b The point of these changes is to avoid reading the frame pointer
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-10-08 03:41:21 +00:00
Jim Kingdon
7f2ffa58eb * a29k-tdep.c (examine_tag): Add comment regarding argcount. 1994-01-28 22:42:31 +00:00
Jim Kingdon
63dcc38026 Add search to target vector (#if 0'd until after 4.12):
* target.h (to_search, target_search): Add.
	* gdbcore.h, core.c (generic_search): Add.
	* remote.c (remote_search): Add.
	* a29k-tdep.c (init_frame_info): Use target_search to find traceback
	tag.
1994-01-13 18:44:06 +00:00
Jim Kingdon
ae682b8061 * a29k-tdep.c (push_dummy_frame): Add comment about saving lr0. 1994-01-13 15:38:00 +00:00
John Gilmore
eb5b74ca6c * a29k-tdep.c (init_frame_info): Cast null arg to examine_tag.
(pop_frame):  Restore PC2 and LR0 from dummy frames.
(push_dummy_frame):  Save PC2 and LR0 into dummy frames.
(setup_arbitrary_frame):  Handle 3 args and set up real frames.
* config/a29k/tm-a29k.h (FRAME_NUM_ARGS):  Update comments.
(DUMMY_FRAME_RSIZE):  Add 2 longwords for PC2 and LR0.
(SETUP_ARBITRARY_FRAME):  Define.
1994-01-12 07:47:14 +00:00
John Gilmore
7b2bcbf59d * a29k-tdep.c (examine_prologue): Don't worry if the ASGEQ
stack overflow check isn't right after the register stack
adjustment instruction.  Metaware R2.3u compiler moves other
things in front of it.  This fix isn't perfect but is what's
running.
1994-01-11 07:45:48 +00:00
Thomas Lord
199b2450f6 Change the stream argument to _filtered to GDB_FILE *.
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-11-01 22:25:23 +00:00
Jim Kingdon
ca0622e7e0 * remote-udi.c, remote-adapt.c, remote-mm.c: Move processor_type
to tm-a29k.h and a29k-tdep.c and make it an enum.
	* a29k-tdep.c (a29k_get_processor_type): New function.  Fix many
	aspects of how we detected the processor type.
	* remote-udi.c, remote-adapt.c, remote-mm.c (*_open): Call it
	rather than figuring out the type ourselves.
1993-09-16 23:45:46 +00:00
Jim Kingdon
968dca8d81 * a29k-tdep.c (get_saved_register): Fix typo. 1993-07-14 18:55:57 +00:00
Jim Kingdon
8549490910 * a29k-tdep.c (read_register_stack): Make val static. 1993-07-12 22:51:09 +00:00
Jim Kingdon
34df79fc9d * findvar.c, defs.h
({extract,store}_{signed_integer,unsigned_integer,address}):
	New routines to replace SWAP_TARGET_AND_HOST.
	All over: All uses of SWAP_TARGET_AND_HOST on integers replaced.
1993-07-10 01:35:53 +00:00
Jim Kingdon
4d50f90ab8 * a29k-tdep.c, findvar.c (get_saved_register): Fix byteswapping sins. 1993-07-09 18:33:23 +00:00
Jim Kingdon
23a8e2915c * frame.h, blockframe.c, stack.c, a29k-tdep.c,
config/gould/tmp-{pn,np1}.h,
	config/{sparc/tm-sparc.h,pyr/tm-pyr.h,vax/tm-vax.h}: Remove field
	next_frame from struct frame_info.  It has no purpose beyond
	->next->frame and is an artifact from GDB 2.8.
1993-07-07 20:29:56 +00:00
Fred Fish
d7d35f004c * config/a29k/tm-a29k.h: Renamed from config/a29k/tm-29k.h.
* a29k-pinsn.c:  Renamed from am29k-pinsn.c.
	* a29k-tdep.c:  Renamed from am29k-tdep.c.
	* remote-eb.c, config/a29k/tm-ultra3.h:  Include renamed tm-a29k.h.
	* remote-monitor.c, remote-st2000.c, config/a29k/{nm-ultra3.h,
	tm-a29k.h, xm-ultra3.h}, config/romp/rtbsd.mh, doc/gdbinv-s.texi,
	testsuite/gdb.t15/funcargs.exp, testsuite/gdb.t17/callfuncs.exp:
	Map '29k' to 'a29k'.
	* config/a29k/{a29k-kern.mt, a29k-udi.mt, a29k.mt, ultra3.mt}
	(TDEPFILES):  Use renamed a29k-pinsn.o and a29k-tdep.o.
	* config/a29k/{a29k-udi.mt, a29k.mt} (TM_FILE):  Use renamed
	tm-a29k.h.
	* config/a29k/a29k-udi.mt (MT_CFLAGS):  Remove TARGET_AM29K
	define that does not appear anywhere else in the gdb source tree.
	* doc/gdbinit.texinfo:  Document renaming of tm-29k.h to tm-a29k.h.
1993-03-29 23:38:30 +00:00