Index: lib/msan/tests/msan_test.cc =================================================================== --- lib/msan/tests/msan_test.cc +++ lib/msan/tests/msan_test.cc @@ -1214,15 +1214,27 @@ } TEST(MemorySanitizer, shmat) { - void *p = mmap(NULL, 4096, PROT_READ | PROT_WRITE, - MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); + void *p; +#if defined(__mips__) + posix_memalign(&p, SHMLBA, 4096); + ASSERT_TRUE(p != NULL); +#else + p = mmap(NULL, 4096, PROT_READ | PROT_WRITE, + MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); ASSERT_NE(MAP_FAILED, p); +#endif ((char *)p)[10] = *GetPoisoned(); ((char *)p)[4095] = *GetPoisoned(); - int res = munmap(p, 4096); + int res; + +#if defined(__mips__) + free(p); +#else + res = munmap(p, 4096); ASSERT_EQ(0, res); +#endif int id = shmget(IPC_PRIVATE, 4096, 0644 | IPC_CREAT); ASSERT_GT(id, -1);