Merge "Shared namespaces inherit parent ns properties"
diff --git a/tests/fortify_test.cpp b/tests/fortify_test.cpp
index 2e0f822..984a657 100644
--- a/tests/fortify_test.cpp
+++ b/tests/fortify_test.cpp
@@ -405,11 +405,8 @@
ASSERT_FORTIFY(sprintf(buf, "%s", source_buf));
}
-#ifdef __clang__
-// Exists upstream, but hasn't been pulled in yet.
-#if __has_attribute(alloc_size)
-#error "Reenable this test"
-#endif
+#ifdef __clang__ && !__has_attribute(alloc_size)
+// TODO: remove this after Clang prebuilt rebase.
#else
// This test is disabled in clang because clang doesn't properly detect
// this buffer overflow. TODO: Fix clang.
diff --git a/tests/libs/bionic_tests_zipalign.cpp b/tests/libs/bionic_tests_zipalign.cpp
index 8e31474..56183ba 100644
--- a/tests/libs/bionic_tests_zipalign.cpp
+++ b/tests/libs/bionic_tests_zipalign.cpp
@@ -142,7 +142,7 @@
if (return_value != 0) {
CloseArchive(handle);
fprintf(stderr, "Unable to open '%s': %s\n", argv[2], ErrorCodeString(return_value));
- return false;
+ return 1;
}
FILE* zip_dst = fopen(argv[3], "we");
diff --git a/tests/pthread_test.cpp b/tests/pthread_test.cpp
index 87b4c81..d64bc48 100755
--- a/tests/pthread_test.cpp
+++ b/tests/pthread_test.cpp
@@ -1963,8 +1963,9 @@
} else {
ASSERT_EQ(0, result);
}
- arg->data->finished_mask |= (1 << arg->id);
- if (arg->data->finished_mask == ((1 << arg->data->thread_count) - 1)) {
+ int mask = arg->data->finished_mask.fetch_or(1 << arg->id);
+ mask |= 1 << arg->id;
+ if (mask == ((1 << arg->data->thread_count) - 1)) {
ASSERT_EQ(1, arg->data->serial_thread_count);
arg->data->finished_iteration_count++;
arg->data->finished_mask = 0;
diff --git a/tools/versioner/src/versioner.cpp b/tools/versioner/src/versioner.cpp
index 59d41da..688de5b 100644
--- a/tools/versioner/src/versioner.cpp
+++ b/tools/versioner/src/versioner.cpp
@@ -445,6 +445,12 @@
}
}
+// versioner uses a prebuilt version of clang, which is not up-to-date wrt/
+// container annotations. So disable container overflow checking. b/37775238
+extern "C" const char* __asan_default_options() {
+ return "detect_container_overflow=0";
+}
+
int main(int argc, char** argv) {
std::string cwd = getWorkingDir() + "/";
bool default_args = true;