Index: functionalities/longjmp/TestLongjmp.py
===================================================================
--- functionalities/longjmp/TestLongjmp.py	(revision 218179)
+++ functionalities/longjmp/TestLongjmp.py	(working copy)
@@ -15,7 +15,6 @@
     def setUp(self):
         TestBase.setUp(self)
 
-    @skipIfDarwin # llvm.org/pr16769: LLDB on Mac OS X dies in function ReadRegisterBytes in GDBRemoteRegisterContext.cpp
     @skipIfFreeBSD # llvm.org/pr17214
     @expectedFailureLinux("llvm.org/pr20231")
     def test_step_out(self):
@@ -23,7 +22,6 @@
         self.buildDefault()
         self.step_out()
 
-    @skipIfDarwin # llvm.org/pr16769: LLDB on Mac OS X dies in function ReadRegisterBytes in GDBRemoteRegisterContext.cpp
     @skipIfFreeBSD # llvm.org/pr17214
     @expectedFailureLinux("llvm.org/pr20231")
     def test_step_over(self):
@@ -31,7 +29,6 @@
         self.buildDefault()
         self.step_over()
 
-    @skipIfDarwin # llvm.org/pr16769: LLDB on Mac OS X dies in function ReadRegisterBytes in GDBRemoteRegisterContext.cpp
     @skipIfFreeBSD # llvm.org/pr17214
     @expectedFailureLinux("llvm.org/pr20231")
     def test_step_back_out(self):
Index: functionalities/longjmp/main.c
===================================================================
--- functionalities/longjmp/main.c	(revision 218179)
+++ functionalities/longjmp/main.c	(working copy)
@@ -8,15 +8,16 @@
 //===----------------------------------------------------------------------===//
 #include <setjmp.h>
 #include <stdio.h>
-#include <time.h>
 
 jmp_buf j;
 
-void do_jump(void)
+volatile int WillEnter = 1;
+
+__attribute((noinline)) void do_jump(void)
 {
     // We can't let the compiler know this will always happen or it might make
     // optimizations that break our test.
-    if (!clock())
+    if (WillEnter)
         longjmp(j, 1); // non-local goto
 }
 
