Vlad Tsyrklevich a6446223e3 SafeStack: Disable Darwin support
Summary:
Darwin support does not appear to be used as evidenced by the fact that
the pthread interceptors have never worked and there is no support for
other common threading mechanisms like GCD.

Reviewers: pcc, eugenis, kubamracek

Reviewed By: pcc, kubamracek

Subscribers: kubamracek, mgorny, delcypher, llvm-commits, #sanitizers, kcc

Differential Revision: https://reviews.llvm.org/D50718

llvm-svn: 339719
2018-08-14 19:46:16 +00:00

41 lines
703 B
C

// RUN: %clang_safestack %s -pthread -o %t
// RUN: %run %t
// Test that pthreads receive their own unsafe stack.
#include <stdlib.h>
#include <string.h>
#include <pthread.h>
#include "utils.h"
static int ptr_test = 42;
void *t1_start(void *ptr)
{
if (ptr != &ptr_test)
abort();
// safe stack
int val = ptr_test * 5;
// unsafe stack
char buffer[8096]; // two pages
memset(buffer, val, sizeof (buffer));
break_optimization(buffer);
return ptr;
}
int main(int argc, char **argv)
{
pthread_t t1;
void *ptr = NULL;
if (pthread_create(&t1, NULL, t1_start, &ptr_test))
abort();
if (pthread_join(t1, &ptr))
abort();
if (ptr != &ptr_test)
abort();
return 0;
}