]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Make --wait-for-gdb sort-of usable on amd64. I don't know why this
authorJulian Seward <jseward@acm.org>
Sun, 6 Feb 2005 14:10:40 +0000 (14:10 +0000)
committerJulian Seward <jseward@acm.org>
Sun, 6 Feb 2005 14:10:40 +0000 (14:10 +0000)
works on x86 -- and I can't make any analogous version work on amd64.
Hence return to a delay loop for the time being.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3231

coregrind/vg_main.c

index 1c9ad5ab91a61c95d844d89d3cc82d49a2debf0b..ff23e3da4c2f1fec9d7671b237b343e021d6f0d9 100644 (file)
@@ -2686,9 +2686,13 @@ int main(int argc, char **argv)
    /* Hook to delay things long enough so we can get the pid and
       attach GDB in another shell. */
    if (VG_(clo_wait_for_gdb)) {
-      VG_(printf)("pid=%d\n", VG_(getpid)());
-      /* do "jump *$eip" to skip this in gdb */
-      VG_(do_syscall0)(__NR_pause);
+      VG_(printf)("pid=%d, entering delay loop\n", VG_(getpid)());
+      /* jrs 20050206: I don't understand why this works on x86.  On
+         amd64 the obvious analogues (jump *$rip or jump *$rcx) don't
+         work. */
+      /* do "jump *$eip" to skip this in gdb (x86) */
+      //VG_(do_syscall0)(__NR_pause);
+      { Long q; for (q = 0; q < 10ULL *1000*1000*1000; q++) ; }
    }
 
    //--------------------------------------------------------------