diff --git a/test/libc/calls/madvise_test.c b/test/libc/calls/madvise_test.c index a3ae232ad..e36cdb449 100644 --- a/test/libc/calls/madvise_test.c +++ b/test/libc/calls/madvise_test.c @@ -61,6 +61,8 @@ TEST(madvise, short) { } TEST(madvise, zero) { + if (IsQemuUser()) + return; // doesn't validate flags char *p; ASSERT_NE(MAP_FAILED, (p = mmap(0, getpagesize(), PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0))); @@ -86,7 +88,7 @@ TEST(madvise, madvWillNeed_unmappedRegion) { ASSERT_SYS(0, 0, munmap(p + getgransize(), getgransize())); if (IsXnu()) ASSERT_SYS(EINVAL, -1, madvise(p, getgransize() * 3, MADV_WILLNEED)); - else if (IsBsd() || IsWindows()) + else if (IsBsd() || IsWindows() || IsQemuUser()) ASSERT_SYS(0, 0, madvise(p, getgransize() * 3, MADV_WILLNEED)); else ASSERT_SYS(ENOMEM, -1, madvise(p, getgransize() * 3, MADV_WILLNEED)); @@ -102,7 +104,7 @@ TEST(madvise, madvFree_unmappedRegion) { ASSERT_SYS(EINVAL, -1, madvise(p, getgransize() * 3, MADV_FREE)); else if (IsNetbsd() || IsOpenbsd()) ASSERT_SYS(EFAULT, -1, madvise(p, getgransize() * 3, MADV_FREE)); - else if (IsFreebsd() || IsWindows()) + else if (IsFreebsd() || IsWindows() || IsQemuUser()) ASSERT_SYS(0, 0, madvise(p, getgransize() * 3, MADV_FREE)); else ASSERT_SYS(ENOMEM, -1, madvise(p, getgransize() * 3, MADV_FREE)); diff --git a/test/libc/intrin/BUILD.mk b/test/libc/intrin/BUILD.mk index 5ca755af0..dcde4ae37 100644 --- a/test/libc/intrin/BUILD.mk +++ b/test/libc/intrin/BUILD.mk @@ -44,6 +44,7 @@ TEST_LIBC_INTRIN_DIRECTDEPS = \ TOOL_VIZ_LIB \ THIRD_PARTY_COMPILER_RT \ THIRD_PARTY_NSYNC \ + THIRD_PARTY_OPENMP \ THIRD_PARTY_XED TEST_LIBC_INTRIN_DEPS := \ @@ -76,6 +77,10 @@ $(TEST_LIBC_INTRIN_OBJS): private \ CFLAGS += \ -fno-builtin +$(TEST_LIBC_INTRIN_OBJS): private \ + CXXFLAGS += \ + -fopenmp + .PHONY: o/$(MODE)/test/libc/intrin o/$(MODE)/test/libc/intrin: \ $(TEST_LIBC_INTRIN_BINS) \ diff --git a/test/libc/mem/malloc_test.c b/test/libc/mem/malloc_test.c index 6ce7d23dc..b5336ed12 100644 --- a/test/libc/mem/malloc_test.c +++ b/test/libc/mem/malloc_test.c @@ -190,7 +190,7 @@ BENCH(bulk_free, bench) { #define ITERATIONS 1000 #define THREADS 10 -#define SIZE (256 * 1024) +#define SIZE (2 * 1024 * 1024) void *Worker(void *arg) { for (int i = 0; i < ITERATIONS; ++i) { diff --git a/third_party/nsync/common.c b/third_party/nsync/common.c index 3a20bcdbb..4b4b13d98 100644 --- a/third_party/nsync/common.c +++ b/third_party/nsync/common.c @@ -142,7 +142,7 @@ static void free_waiters_push (waiter *w) { w->next_free = atomic_load_explicit (&free_waiters, memory_order_relaxed); while (!atomic_compare_exchange_weak_explicit (&free_waiters, &w->next_free, w, memory_order_acq_rel, memory_order_relaxed)) - backoff = pthread_delay_np(free_waiters, backoff); + backoff = pthread_delay_np (free_waiters, backoff); } static void free_waiters_populate (void) { @@ -188,12 +188,11 @@ static waiter *free_waiters_pop (void) { if (atomic_compare_exchange_weak_explicit (&free_waiters, &w, w->next_free, memory_order_acq_rel, memory_order_relaxed)) return w; - backoff = pthread_delay_np(free_waiters, backoff); + backoff = pthread_delay_np (free_waiters, backoff); } else { free_waiters_populate (); } } - return w; } /* -------------------------------- */