// RUN: %clangxx -O2 %s -o %t && %run %t 2>&1 | FileCheck %s
#include <stdio.h>
-#include <unistd.h>
#if !defined(__GLIBC_PREREQ)
#define __GLIBC_PREREQ(a, b) 0
// getauxval() used instead of sysconf() in GetPageSize() is defined starting
// glbc version 2.16.
-#if __GLIBC_PREREQ(2, 16)
+// Does not work with 2.31 and above at it calls sysconf for SIGSTKSZ.
+#if __GLIBC_PREREQ(2, 16) && !__GLIBC_PREREQ(2, 31)
extern "C" long sysconf(int name) {
-# ifdef _SC_SIGSTKSZ
- // Asan needs this one during initialization but late enough to succeed.
- if (name == _SC_SIGSTKSZ)
- return 0x10000;
-# endif
fprintf(stderr, "sysconf wrapper called: %d\n", name);
return 0;
}
-#endif // defined(__GLIBC_PREREQ) && __GLIBC_PREREQ(2, 16)
+#endif
int main() {
// All we need to check is that the sysconf() interceptor defined above was