mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-03-16 05:46:25 +00:00
Fix build in MODE=dbg
This commit is contained in:
parent
751d20d98d
commit
0283f2772c
3 changed files with 10 additions and 10 deletions
|
@ -93,7 +93,7 @@ struct loaded {
|
||||||
char *base;
|
char *base;
|
||||||
char *entry;
|
char *entry;
|
||||||
Elf64_Ehdr eh;
|
Elf64_Ehdr eh;
|
||||||
Elf64_Phdr ph[32];
|
Elf64_Phdr ph[30];
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct {
|
static struct {
|
||||||
|
|
|
@ -118,7 +118,7 @@ TEST(sem_close, withUnnamedSemaphore_isUndefinedBehavior) {
|
||||||
SPAWN(fork);
|
SPAWN(fork);
|
||||||
IgnoreStderr();
|
IgnoreStderr();
|
||||||
sem_close(&sem);
|
sem_close(&sem);
|
||||||
TERMS(SIGABRT); // see __assert_fail
|
TERMS(SIGILL); // see __assert_fail
|
||||||
ASSERT_SYS(0, 0, sem_destroy(&sem));
|
ASSERT_SYS(0, 0, sem_destroy(&sem));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -47,48 +47,48 @@ TEST(sem_post, afterDestroyed_isUndefinedBehavior) {
|
||||||
if (!IsModeDbg()) return;
|
if (!IsModeDbg()) return;
|
||||||
sem_t sem;
|
sem_t sem;
|
||||||
SPAWN(fork);
|
SPAWN(fork);
|
||||||
signal(SIGABRT, SIG_DFL);
|
signal(SIGILL, SIG_DFL);
|
||||||
ASSERT_SYS(0, 0, sem_init(&sem, 0, 0));
|
ASSERT_SYS(0, 0, sem_init(&sem, 0, 0));
|
||||||
ASSERT_SYS(0, 0, sem_destroy(&sem));
|
ASSERT_SYS(0, 0, sem_destroy(&sem));
|
||||||
IgnoreStderr();
|
IgnoreStderr();
|
||||||
sem_post(&sem);
|
sem_post(&sem);
|
||||||
TERMS(SIGABRT);
|
TERMS(SIGILL);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(sem_trywait, afterDestroyed_isUndefinedBehavior) {
|
TEST(sem_trywait, afterDestroyed_isUndefinedBehavior) {
|
||||||
if (!IsModeDbg()) return;
|
if (!IsModeDbg()) return;
|
||||||
sem_t sem;
|
sem_t sem;
|
||||||
SPAWN(fork);
|
SPAWN(fork);
|
||||||
signal(SIGABRT, SIG_DFL);
|
signal(SIGILL, SIG_DFL);
|
||||||
ASSERT_SYS(0, 0, sem_init(&sem, 0, 0));
|
ASSERT_SYS(0, 0, sem_init(&sem, 0, 0));
|
||||||
ASSERT_SYS(0, 0, sem_destroy(&sem));
|
ASSERT_SYS(0, 0, sem_destroy(&sem));
|
||||||
IgnoreStderr();
|
IgnoreStderr();
|
||||||
sem_trywait(&sem);
|
sem_trywait(&sem);
|
||||||
TERMS(SIGABRT);
|
TERMS(SIGILL);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(sem_wait, afterDestroyed_isUndefinedBehavior) {
|
TEST(sem_wait, afterDestroyed_isUndefinedBehavior) {
|
||||||
if (!IsModeDbg()) return;
|
if (!IsModeDbg()) return;
|
||||||
sem_t sem;
|
sem_t sem;
|
||||||
SPAWN(fork);
|
SPAWN(fork);
|
||||||
signal(SIGABRT, SIG_DFL);
|
signal(SIGILL, SIG_DFL);
|
||||||
ASSERT_SYS(0, 0, sem_init(&sem, 0, 0));
|
ASSERT_SYS(0, 0, sem_init(&sem, 0, 0));
|
||||||
ASSERT_SYS(0, 0, sem_destroy(&sem));
|
ASSERT_SYS(0, 0, sem_destroy(&sem));
|
||||||
IgnoreStderr();
|
IgnoreStderr();
|
||||||
sem_wait(&sem);
|
sem_wait(&sem);
|
||||||
TERMS(SIGABRT);
|
TERMS(SIGILL);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(sem_timedwait, afterDestroyed_isUndefinedBehavior) {
|
TEST(sem_timedwait, afterDestroyed_isUndefinedBehavior) {
|
||||||
if (!IsModeDbg()) return;
|
if (!IsModeDbg()) return;
|
||||||
sem_t sem;
|
sem_t sem;
|
||||||
SPAWN(fork);
|
SPAWN(fork);
|
||||||
signal(SIGABRT, SIG_DFL);
|
signal(SIGILL, SIG_DFL);
|
||||||
ASSERT_SYS(0, 0, sem_init(&sem, 0, 0));
|
ASSERT_SYS(0, 0, sem_init(&sem, 0, 0));
|
||||||
ASSERT_SYS(0, 0, sem_destroy(&sem));
|
ASSERT_SYS(0, 0, sem_destroy(&sem));
|
||||||
IgnoreStderr();
|
IgnoreStderr();
|
||||||
sem_timedwait(&sem, 0);
|
sem_timedwait(&sem, 0);
|
||||||
TERMS(SIGABRT);
|
TERMS(SIGILL);
|
||||||
}
|
}
|
||||||
|
|
||||||
void *Worker(void *arg) {
|
void *Worker(void *arg) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue