* m68k-tdep.c (m68k_frame_chain, m68k_frame_saved_pc)

(altos_skip_prologue, delta68_frame_saved_pc, isi_frame_num_args)
	(delta68_frame_num_args, news_frame_num_args, m68k_skip_prologue)
	(m68k_frame_init_saved_regs, m68k_saved_pc_after_call): Use
	read_memory_unsigned_integer instead of read_memory_integer when
	dealing with addresses and instruction opcodes.
	* m68klinux-tdep.c (m68k_linux_sigtramp_saved_pc)
	(m68k_linux_frame_saved_pc): Likewise.
This commit is contained in:
Andreas Schwab
2002-11-29 19:33:17 +00:00
parent 6e7f8b9cba
commit b5fc49aa64
3 changed files with 51 additions and 37 deletions

View File

@@ -94,14 +94,16 @@ m68k_linux_sigtramp_saved_pc (struct frame_info *frame)
/* Get sigcontext address, it is the third parameter on the stack. */
if (frame->next)
sigcontext_addr = read_memory_integer (FRAME_ARGS_ADDRESS (frame->next)
+ FRAME_ARGS_SKIP
+ sigcontext_offs,
ptrbytes);
sigcontext_addr
= read_memory_unsigned_integer (FRAME_ARGS_ADDRESS (frame->next)
+ FRAME_ARGS_SKIP
+ sigcontext_offs,
ptrbytes);
else
sigcontext_addr = read_memory_integer (read_register (SP_REGNUM)
+ sigcontext_offs,
ptrbytes);
sigcontext_addr
= read_memory_unsigned_integer (read_register (SP_REGNUM)
+ sigcontext_offs,
ptrbytes);
/* Don't cause a memory_error when accessing sigcontext in case the
stack layout has changed or the stack is corrupt. */
@@ -120,5 +122,5 @@ m68k_linux_frame_saved_pc (struct frame_info *frame)
if (get_frame_type (frame) == SIGTRAMP_FRAME)
return m68k_linux_sigtramp_saved_pc (frame);
return read_memory_integer (frame->frame + 4, 4);
return read_memory_unsigned_integer (frame->frame + 4, 4);
}