Revert "cdefs.h: add artificial attribute to FORTIFY_SOURCE functions"
Broke the build.
In file included from frameworks/rs/cpu_ref/rsCpuCore.cpp:36:
system/core/include/cutils/properties.h:118:1: error: unknown attribute '__artificial__' ignored [-Werror,-Wunknown-attributes]
__BIONIC_FORTIFY_INLINE
^
bionic/libc/include/sys/cdefs.h:537:110: note: expanded from macro '__BIONIC_FORTIFY_INLINE'
#define __BIONIC_FORTIFY_INLINE extern __inline__ __always_inline __attribute__((gnu_inline)) __attribute__((__artificial__))
^
1 error generated.
make: *** [out/target/product/generic/obj/SHARED_LIBRARIES/libRSCpuRef_intermediates/rsCpuCore.o] Error 1
This reverts commit 9b543ffeac
.
Change-Id: I6a1198747505dcb402b722887c1bfbc3a628a8b8
This commit is contained in:
parent
9b543ffeac
commit
884a3de60f
2 changed files with 28 additions and 1 deletions
|
@ -534,7 +534,7 @@
|
||||||
#endif
|
#endif
|
||||||
#define __bos0(s) __builtin_object_size((s), 0)
|
#define __bos0(s) __builtin_object_size((s), 0)
|
||||||
|
|
||||||
#define __BIONIC_FORTIFY_INLINE extern __inline__ __always_inline __attribute__((gnu_inline)) __attribute__((__artificial__))
|
#define __BIONIC_FORTIFY_INLINE extern __inline__ __always_inline __attribute__((gnu_inline))
|
||||||
#endif
|
#endif
|
||||||
#define __BIONIC_FORTIFY_UNKNOWN_SIZE ((size_t) -1)
|
#define __BIONIC_FORTIFY_UNKNOWN_SIZE ((size_t) -1)
|
||||||
|
|
||||||
|
|
|
@ -119,6 +119,17 @@ TEST_F(DEATHTEST, sprintf_fortified2) {
|
||||||
}
|
}
|
||||||
#endif
|
#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__
|
#ifndef __clang__
|
||||||
// These tests are disabled in clang because clang doesn't properly detect
|
// These tests are disabled in clang because clang doesn't properly detect
|
||||||
// this buffer overflow. TODO: Fix clang.
|
// this buffer overflow. TODO: Fix clang.
|
||||||
|
@ -516,6 +527,12 @@ TEST_F(DEATHTEST, sprintf_malloc_fortified) {
|
||||||
}
|
}
|
||||||
#endif
|
#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, ...) {
|
static int vsprintf_helper(const char *fmt, ...) {
|
||||||
char buf[10];
|
char buf[10];
|
||||||
va_list va;
|
va_list va;
|
||||||
|
@ -682,6 +699,16 @@ TEST_F(DEATHTEST, FD_ISSET_2_fortified) {
|
||||||
ASSERT_EXIT(FD_ISSET(0, set), testing::KilledBySignal(SIGABRT), "");
|
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) {
|
TEST_F(DEATHTEST, read_fortified) {
|
||||||
::testing::FLAGS_gtest_death_test_style = "threadsafe";
|
::testing::FLAGS_gtest_death_test_style = "threadsafe";
|
||||||
char buf[1];
|
char buf[1];
|
||||||
|
|
Loading…
Reference in a new issue