cdefs.h: add artificial attribute to FORTIFY_SOURCE functions
Otherwise the gcc compiler warning doesn't show up.
Add -Wno-error to fortify related tests. Fortify related tests
are expected to be examples of bad programs, and in many
cases shouldn't compile cleanly. Rewriting them to compile
cleanly isn't feasible nor desirable.
Bug: 17784968
(cherry picked from commit 1aaa17802c
)
Change-Id: Ib6df1a3f44b55b1fff222e78395c10c51cd39817
This commit is contained in:
parent
b5e7eba6d1
commit
ce92b41a00
@ -53,6 +53,9 @@
|
|||||||
#ifndef __has_builtin
|
#ifndef __has_builtin
|
||||||
#define __has_builtin(x) 0
|
#define __has_builtin(x) 0
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef __has_attribute
|
||||||
|
#define __has_attribute(x) 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -511,8 +514,12 @@
|
|||||||
#endif
|
#endif
|
||||||
#define __bos0(s) __builtin_object_size((s), 0)
|
#define __bos0(s) __builtin_object_size((s), 0)
|
||||||
|
|
||||||
|
#if __GNUC_PREREQ(4,3) || __has_attribute(__artificial__)
|
||||||
|
#define __BIONIC_FORTIFY_INLINE extern __inline__ __always_inline __attribute__((gnu_inline)) __attribute__((__artificial__))
|
||||||
|
#else
|
||||||
#define __BIONIC_FORTIFY_INLINE extern __inline__ __always_inline __attribute__((gnu_inline))
|
#define __BIONIC_FORTIFY_INLINE extern __inline__ __always_inline __attribute__((gnu_inline))
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
#define __BIONIC_FORTIFY_UNKNOWN_SIZE ((size_t) -1)
|
#define __BIONIC_FORTIFY_UNKNOWN_SIZE ((size_t) -1)
|
||||||
|
|
||||||
/* Used to tag non-static symbols that are private and never exposed by the shared library. */
|
/* Used to tag non-static symbols that are private and never exposed by the shared library. */
|
||||||
|
@ -171,11 +171,10 @@ $(foreach compiler,gcc clang, \
|
|||||||
$(foreach test,1 2, \
|
$(foreach test,1 2, \
|
||||||
$(eval fortify$(test)-tests-$(compiler)_cflags := \
|
$(eval fortify$(test)-tests-$(compiler)_cflags := \
|
||||||
$(test_cflags) \
|
$(test_cflags) \
|
||||||
|
-Wno-error \
|
||||||
-U_FORTIFY_SOURCE \
|
-U_FORTIFY_SOURCE \
|
||||||
-D_FORTIFY_SOURCE=$(test) \
|
-D_FORTIFY_SOURCE=$(test) \
|
||||||
-DTEST_NAME=Fortify$(test)_$(compiler)); \
|
-DTEST_NAME=Fortify$(test)_$(compiler)); \
|
||||||
$(eval fortify$(test)-tests-$(compiler)_cflags_host := \
|
|
||||||
-Wno-error); \
|
|
||||||
$(eval fortify$(test)-tests-$(compiler)_src_files := \
|
$(eval fortify$(test)-tests-$(compiler)_src_files := \
|
||||||
fortify_test.cpp); \
|
fortify_test.cpp); \
|
||||||
$(eval fortify_libs += fortify$(test)-tests-$(compiler)); \
|
$(eval fortify_libs += fortify$(test)-tests-$(compiler)); \
|
||||||
|
Loading…
Reference in New Issue
Block a user