mirror of
				https://github.com/jart/cosmopolitan.git
				synced 2025-10-26 11:10:58 +00:00 
			
		
		
		
	Work around QEMU bugs
This commit is contained in:
		
							parent
							
								
									f7780de24b
								
							
						
					
					
						commit
						f590e96abd
					
				
					 4 changed files with 12 additions and 6 deletions
				
			
		|  | @ -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)); | ||||
|  |  | |||
|  | @ -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)			\
 | ||||
|  |  | |||
|  | @ -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) { | ||||
|  |  | |||
							
								
								
									
										1
									
								
								third_party/nsync/common.c
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								third_party/nsync/common.c
									
										
									
									
										vendored
									
									
								
							|  | @ -193,7 +193,6 @@ static waiter *free_waiters_pop (void) { | |||
| 			free_waiters_populate (); | ||||
| 		} | ||||
| 	} | ||||
| 	return w; | ||||
| } | ||||
| 
 | ||||
| /* -------------------------------- */ | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue