Fix MODE=optlinux and MODE=tiny builds

This commit is contained in:
Justine Tunney 2024-07-23 04:04:19 -07:00
parent 5660ec4741
commit 0602ff6bab
No known key found for this signature in database
GPG key ID: BE714B4575D6E328
12 changed files with 75 additions and 36 deletions

View file

@ -45,10 +45,13 @@ void CrashHandler(int sig) {
pthread_exit((void *)123L);
}
int StackOverflow(void);
int (*pStackOverflow)(void) = StackOverflow;
int StackOverflow(void) {
return pStackOverflow();
int StackOverflow(int d) {
char A[8];
for (int i = 0; i < sizeof(A); i++)
A[i] = d + i;
if (__veil("r", d))
return StackOverflow(d + 1) + A[d % sizeof(A)];
return 0;
}
void *MyPosixThread(void *arg) {
@ -63,7 +66,7 @@ void *MyPosixThread(void *arg) {
sa.sa_handler = CrashHandler;
sigaction(SIGBUS, &sa, 0);
sigaction(SIGSEGV, &sa, 0);
exit(pStackOverflow());
exit(StackOverflow(0));
return 0;
}