Exception causing insns in delay slots

David S. Miller davem@redhat.com
Fri Apr 26 03:52:00 GMT 2002


   From: Jason Merrill <jason@redhat.com>
   Date: Fri, 26 Apr 2002 11:43:39 +0100

   context->ra - 1 isn't supposed to be the previous instruction; it's
   supposed to point somewhere inside the throwing instruction.
   
Aha, that makes sense.

   >    Basically, for signal frame dwarf2 unwind to work in the current
   >    framework the signal handler advances the program counter past
   >    the exception causing instruction and that value minus one has to
   >    be within the exception causing instruction.
   
   Sounds right to me.  What's the problem?
   
No problem, just didn't understand how it was supposed
to work I guess.

   The dwarf2 unwind information does not know about delay slots; it assumes
   that code is executed linearly, so it's important that the shuffling of
   instructions for delay slot scheduling doesn't affect register save
   information.  Other than that, it should be fine.
   
Ok, this seems to doubly confirm the need for my reorg fix.



More information about the Gcc-patches mailing list