This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [RFA] sh-sim loose ends
- From: Michael Snyder <msnyder at redhat dot com>
- To: Joern Rennecke <joern dot rennecke at superh dot com>
- Cc: Joern Rennecke <amylaar at fairadsl dot co dot uk>, gdb-patches at sources dot redhat dot com
- Date: Thu, 12 Feb 2004 15:52:38 -0800
- Subject: Re: [RFA] sh-sim loose ends
- Organization: Red Hat, Inc.
- References: <200402122239.i1CMdJK12072@linsvr1.uk.superh.com>
Joern Rennecke wrote:
* gencode.c (movt): Modifies R[n]; call 'L' macro.
That doesn't make sense, 'L' simulates the data read memory latency of an
SH[123]. movt doesn't incur such a latency.
Hmmm? I thought 'L' was for registers, and 'MA' was for memory access.
This is the only instruction that modifies a gpr but doesn't call 'L'.
Figured it was an oversight.
(trapa): Factor out duplicate variable 'imm' (same as 'i').
OK. But I don't see why you need the cast to long.
I guess I don't.
(sleep, trapa, ppi): Use SET_NIP to modify nip.
I don't see any need for this. RAISE_EXCEPTION already clears
saved_state.asregs.insn_end , so that takes care of the
exceptions that might arise during sleep.
For trapa, that leaves just the possibility that we fail to miss a
loop bound that is set to somewhere inside a profiler trap; I think
you deserve whatever you get when you do that.
Similar for ppi; are you afrais that we fail to miss a loop bound
that is set to field_b of a ppi insn?
Actually I was just going for consistancy (everywhere else that
modifies nip uses SET_NIP). I'll gladly drop this part of the
patch if you don't like it.