2004-09-13 Andrew Cagney <cagney@gnu.org>
[deliverable/binutils-gdb.git] / gdb / i386-stub.c
index 7aa5da9369c1337fb30fa30b4c3bd87f16b4f2aa..1251567e9121d5ddb337a6f589a615165844f3cc 100644 (file)
@@ -758,10 +758,29 @@ handle_exception (int exceptionVector)
 
   /* reply to host that an exception has occurred */
   sigval = computeSignal (exceptionVector);
-  remcomOutBuffer[0] = 'S';
-  remcomOutBuffer[1] = hexchars[sigval >> 4];
-  remcomOutBuffer[2] = hexchars[sigval % 16];
-  remcomOutBuffer[3] = 0;
+
+  ptr = remcomOutBuffer;
+
+  *ptr++ = 'T';                        /* notify gdb with signo, PC, FP and SP */
+  *ptr++ = hexchars[sigval >> 4];
+  *ptr++ = hexchars[sigval & 0xf];
+
+  *ptr++ = hexchars[ESP]; 
+  *ptr++ = ':';
+  ptr = mem2hex((char *)&registers[ESP], ptr, 4, 0);   /* SP */
+  *ptr++ = ';';
+
+  *ptr++ = hexchars[EBP]; 
+  *ptr++ = ':';
+  ptr = mem2hex((char *)&registers[EBP], ptr, 4, 0);   /* FP */
+  *ptr++ = ';';
+
+  *ptr++ = hexchars[PC]; 
+  *ptr++ = ':';
+  ptr = mem2hex((char *)&registers[PC], ptr, 4, 0);    /* PC */
+  *ptr++ = ';';
+
+  *ptr = '\0'
 
   putpacket (remcomOutBuffer);
 
This page took 0.045215 seconds and 4 git commands to generate.