]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Program uses too many new-ish constructions to be compilable on glibc 2.2
authorJulian Seward <jseward@acm.org>
Mon, 26 Nov 2007 00:41:54 +0000 (00:41 +0000)
committerJulian Seward <jseward@acm.org>
Mon, 26 Nov 2007 00:41:54 +0000 (00:41 +0000)
(Red Hat 7.3).  Do nothing on very old platforms.

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

exp-drd/tests/sigalrm.cpp

index eb119ecbd9852588706f021f625aaa52d1107435..73a2c431862134d42dbcd1bc088844a096ea4b21 100644 (file)
@@ -4,12 +4,19 @@
 #include <cstdlib>
 #include <ctime>
 #include <iostream>
+#include <features.h>
 #include <pthread.h>
 #include <signal.h>
 #include <unistd.h>
+#include <string.h>
 #include "../drd_clientreq.h"
 #include <asm/unistd.h>
 
+#if !defined(__GLIBC_PREREQ)
+# error "This program requires __GLIBC_PREREQ (in /usr/include/features.h)"
+#endif
+
+#if __GLIBC_PREREQ(2,3)
 
 #define VALGRIND_START_NEW_SEGMENT    \
 {                                                                       \
@@ -18,7 +25,6 @@
                              pthread_self(), 0, 0,0,0);                 \
 }
 
-
 static bool s_debug = false;
 
 
@@ -95,3 +101,13 @@ int main(int argc, char** )
 
   return 0;
 }
+
+#else /* !__GLIBC_PREREQ(2,3) */
+
+int main(int argc, char** )
+{
+  std::cout << "program does not work on glibc < 2.3" << std::endl;
+  return 0;
+}
+
+#endif /* __GLIBC_PREREQ(2,3) */