* gdb.arch/amd64-pseudo.c (main): Mark registers that the testsuite
authorDoug Evans <dje@google.com>
Thu, 1 Nov 2012 17:53:05 +0000 (17:53 +0000)
committerDoug Evans <dje@google.com>
Thu, 1 Nov 2012 17:53:05 +0000 (17:53 +0000)
changes as clobbered (e.g., amd64-dword.exp) so gcc doesn't try to
use them.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.arch/amd64-pseudo.c

index 8a756aaa27fccbb0a96bd36a4b7a4f5a2ec2904b..ccd49945b31132fb2d24e2119038f6e368ccd46f 100644 (file)
@@ -1,3 +1,9 @@
+2012-11-01  Doug Evans  <dje@google.com>
+
+       * gdb.arch/amd64-pseudo.c (main): Mark registers that the testsuite
+       changes as clobbered (e.g., amd64-dword.exp) so gcc doesn't try to
+       use them.
+
 2012-10-31  Andrew Burgess  <aburgess@broadcom.com>
 
        PR cli/14772
index f73ec10f8c767043139a1c88a97902c91a3a5a47..4e8efc0af8c681868a16e4277e9a5bb9575129db 100644 (file)
@@ -63,6 +63,14 @@ main (int argc, char **argv)
        : "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15");
   asm ("nop"); /* second breakpoint here */
 
+  /* amd64-dword.exp writes eax-edi here.
+     Tell gcc they're clobbered so it doesn't try to keep "data" in
+     one of them.  */
+  asm (""
+       : /* no outputs */
+       : /* no inputs */
+       : "eax", "ebx", "ecx", "edx", "esi", "edi");
+
   asm ("mov %%eax, 0(%0)\n\t"
        "mov %%ebx, 4(%0)\n\t"
        "mov %%ecx, 8(%0)\n\t"
@@ -74,6 +82,14 @@ main (int argc, char **argv)
        : "eax", "ebx", "ecx", "edx", "esi", "edi");
   asm ("nop"); /* third breakpoint here */
 
+  /* amd64-dword.exp writes r8-r15 here.
+     Tell gcc they're clobbered so it doesn't try to keep "data" in
+     one of them.  */
+  asm (""
+       : /* no outputs */
+       : /* no inputs */
+       : "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15");
+
   asm ("mov %%r8d, 24(%0)\n\t"
        "mov %%r9d, 28(%0)\n\t"
        "mov %%r10d, 32(%0)\n\t"