llvm-project/compiler-rt/test/msan/Linux/reexec_unlimited_stack.cpp
Aiden Grossman bf932867ac
[compiler-rt] Remove REQUIRES: shell lines (#173338)
The shell feature only implies that we are not running on Windows now
that the internal shell is enabled by default everywhere. Remove where
we can and rewrite to the more intentional UNSUPPORTED: system-windows
when we still need to prevent tests from running on Windows.
2025-12-23 12:04:13 -08:00

24 lines
553 B
C++

// MSAN re-execs on unlimited stacks. We use that to verify ReExec() uses the
// right path.
// RUN: %clangxx_msan -O0 %s -o %t && ulimit -s unlimited && %run %t | FileCheck %s
#include <stdio.h>
#if !defined(__GLIBC_PREREQ)
#define __GLIBC_PREREQ(a, b) 0
#endif
#if __GLIBC_PREREQ(2, 16)
#include <sys/auxv.h>
#endif
int main() {
#if __GLIBC_PREREQ(2, 16)
// Make sure AT_EXECFN didn't get overwritten by re-exec.
puts(reinterpret_cast<const char *>(getauxval(AT_EXECFN)));
#else
puts("No getauxval");
#endif
// CHECK-NOT: /proc/self/exe
}