This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: i386-stub and exception 16,17,19


>>>>> "Wolfram" == Wolfram Faul <Wolfram.Faul@eikon.tum.de> writes:
Wolfram> I am working with a i386-stub on a PentiumIII machine. I want
Wolfram> to use MMX and SIMD instructions on this machine, so i am
Wolfram> interested in exception 19 handling streaming SIMD
Wolfram> errors. This exception and as well 16 (floatingpoint error)
Wolfram> and 17 (alignemet check) are not supported yet.  It's easy to
Wolfram> add the chatching functions but which signals do I have to
Wolfram> assign in the function computeSignal(int exceptionVector).

The computeSignal() function just translates a exception (or trap, or
whatever it happens to be called on a particular processor) to a UNIX
signal value.  

GDB does not do any special handling for most signal values; It simply
reports the value to the user.  But SIGTRAP is used for single steping
and breakpoints and should be avoided.  That leaves plenty for the new
exceptions.  

Most stubs fold exceptions into a handful of signals SIGBUS, SIGVEC,
SIGFPU, etc.  The disadvantage of this is that you may not be able to
determine what exception caused the problem.  The current i386-stub.c
stores the exception vector into the global variable gdb_i386vector,
so it's possible, but it may be a bit awkward.  

This would probably be more important if you could attach a script to
be run when a signal is caught as you can with "commands" for break-
points.

Wolfram> Does gdb support these (new?) signals ?

The i386 stub turns all unknown exceptions into SIGEMT (7), so there
may not be anything you need to do here.  

        --jtc

-- 
J.T. Conklin
RedBack Networks

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]