This is the mail archive of the
mailing list for the GDB project.
Re: Mingw GDB build fails for M16C target
On Wed, Apr 29, 2009 at 12:50:49PM -0700, Kevin Buettner wrote:
> > Shouldn't this be the same as common/sim-signal.c? sim_signal_to_host
> > uses native numbers and sim_signal_to_target uses GDB protocol
> > numbers.
> It's not clear to me what you're asking about.
> If you're asking why m32c/gdb-if.c doesn't use common/sim-signal.c,
> that's because the m32c sim doesn't use the infrastructure in common/
> at all.
> If you're asking why I don't simply copy sim_signal_to_target for
> use in m32c/gdb-if.c, that's because the m32c sim doesn't use the
> SIM_SIGfoo constants that common/sim-signal.c uses. It does bother me
> though that m32c_signal_to_target() uses hardcoded constants like 4,
> 5, 10, 11, etc. I suspect it was done this way because including the
> correct newlib header file (without conflict with certain system
> headers) was difficult. That's just a guess though.
I was actually asking about sim_signal_to_host, since this was
m32c_signal_to_host. The sim_ version uses SIGILL, SIGTRAP, etc.
> > Then again, I'm totally baffled by this bit of the sim. It looks like
> > sim_stop_reason returns a target signal and the callers check it
> > against a host signal???
> I looked at that yesterday prior to posting my patch. I thought I
> understood what was going on, but now that I look at it closer, I
> too am baffled. I noticed yesterday that signal() is being called to
> handle SIGINT. My thought at the time was that the handler was
> somehow manipulating the sim's state so that it would return the sim
> specific code for the signal. But that's not what's happening. The
> handler simply checks to make sure that it (the sim) is not stopped;
> if not, it prints a message, and then exits. So it seems to me that
> sim_signal_to_host() and that check that you mention are completely
Yes... I don't think any of the conversion routines that use host
numbers should be there. I'm not feeling ambitious enough to remove
them from all sims, but perhaps you can get just m32c?