cdefs.h: add artificial attribute to FORTIFY_SOURCE functions
Otherwise the gcc compiler warning doesn't show up.
Delete some unittests. These unittests no longer compile cleanly
using -Wall -Werror, and rewriting them to compile cleanly
isn't feasible.
Bug: 17784968
Change-Id: I9bbdc7b6a1c2ac75754f5d0f90782e0dfae66721
diff --git a/libc/include/sys/cdefs.h b/libc/include/sys/cdefs.h
index 5082327..400fb9b 100644
--- a/libc/include/sys/cdefs.h
+++ b/libc/include/sys/cdefs.h
@@ -534,7 +534,7 @@
#endif
#define __bos0(s) __builtin_object_size((s), 0)
-#define __BIONIC_FORTIFY_INLINE extern __inline__ __always_inline __attribute__((gnu_inline))
+#define __BIONIC_FORTIFY_INLINE extern __inline__ __always_inline __attribute__((gnu_inline)) __attribute__((__artificial__))
#endif
#define __BIONIC_FORTIFY_UNKNOWN_SIZE ((size_t) -1)
diff --git a/tests/fortify_test.cpp b/tests/fortify_test.cpp
index 352cac6..554a112 100644
--- a/tests/fortify_test.cpp
+++ b/tests/fortify_test.cpp
@@ -120,17 +120,6 @@
#endif
#ifndef __clang__
-// This test is disabled in clang because clang doesn't properly detect
-// this buffer overflow. TODO: Fix clang.
-TEST_F(DEATHTEST, sprintf2_fortified2) {
- ::testing::FLAGS_gtest_death_test_style = "threadsafe";
- foo myfoo;
- ASSERT_EXIT(sprintf(myfoo.a, "0123456789"),
- testing::KilledBySignal(SIGABRT), "");
-}
-#endif
-
-#ifndef __clang__
// These tests are disabled in clang because clang doesn't properly detect
// this buffer overflow. TODO: Fix clang.
static int vsprintf_helper2(const char *fmt, ...) {
@@ -527,12 +516,6 @@
}
#endif
-TEST_F(DEATHTEST, sprintf2_fortified) {
- ::testing::FLAGS_gtest_death_test_style = "threadsafe";
- char buf[5];
- ASSERT_EXIT(sprintf(buf, "aaaaa"), testing::KilledBySignal(SIGABRT), "");
-}
-
static int vsprintf_helper(const char *fmt, ...) {
char buf[10];
va_list va;
@@ -699,16 +682,6 @@
ASSERT_EXIT(FD_ISSET(0, set), testing::KilledBySignal(SIGABRT), "");
}
-// gtest's ASSERT_EXIT needs a valid expression, but glibc has a do-while macro.
-static void FD_ZERO_function(fd_set* s) { FD_ZERO(s); }
-
-TEST_F(DEATHTEST, FD_ZERO_fortified) {
- ::testing::FLAGS_gtest_death_test_style = "threadsafe";
- char buf[1];
- fd_set* set = (fd_set*) buf;
- ASSERT_EXIT(FD_ZERO_function(set), testing::KilledBySignal(SIGABRT), "");
-}
-
TEST_F(DEATHTEST, read_fortified) {
::testing::FLAGS_gtest_death_test_style = "threadsafe";
char buf[1];