Commit graph

6 commits

Author SHA1 Message Date
Steve Chamberlain
85e07872b6 New target macros for getting at the pc, sp and fp.
* 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-07-02 21:25:04 +00:00
Steve Chamberlain
a493d9a667 Try again. Cvs core dumped. 1993-05-01 00:51:23 +00:00
Stu Grossman
ccced87a0b * findvar.c (value_from_register): H8500 specific, check to see
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-04-02 02:47:05 +00:00
Jim Kingdon
5d0734a7d7 provide a new interface (using read_memory_func) to call the disassemblers
which copes with errors in a plausible way
1993-03-31 21:43:25 +00:00
Stu Grossman
ccf1e898d7 * findvar.c (read_register, write_register): Make these capable
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-25 22:34:26 +00:00
Steve Chamberlain
195e46ea0b Checkpoint for Stu 1993-03-19 23:05:34 +00:00