forked from OSchip/llvm-project
[ASan] Only include rpc headers if they are available.
Reviewed at http://reviews.llvm.org/D8698 llvm-svn: 234470
This commit is contained in:
parent
2c2acf9602
commit
8e49b47e0a
|
@ -49,3 +49,11 @@ macro(append_no_rtti_flag list)
|
|||
append_list_if(COMPILER_RT_HAS_FNO_RTTI_FLAG -fno-rtti ${list})
|
||||
append_list_if(COMPILER_RT_HAS_GR_FLAG /GR- ${list})
|
||||
endmacro()
|
||||
|
||||
macro(append_have_file_definition filename varname list)
|
||||
check_include_file("${filename}" "${varname}")
|
||||
if (NOT "${varname}")
|
||||
set("${varname}" 0)
|
||||
endif()
|
||||
list(APPEND ${list} "${varname}=${${varname}}")
|
||||
endmacro()
|
||||
|
|
|
@ -112,6 +112,10 @@ else()
|
|||
SANITIZER_NEEDS_SEGV=1)
|
||||
endif()
|
||||
|
||||
include(CheckIncludeFile)
|
||||
append_have_file_definition(rpc/xdr.h HAVE_RPC_XDR_H SANITIZER_COMMON_DEFINITIONS)
|
||||
append_have_file_definition(tirpc/rpc/xdr.h HAVE_TIRPC_RPC_XDR_H SANITIZER_COMMON_DEFINITIONS)
|
||||
|
||||
set(SANITIZER_CFLAGS ${SANITIZER_COMMON_CFLAGS})
|
||||
append_no_rtti_flag(SANITIZER_CFLAGS)
|
||||
|
||||
|
|
|
@ -130,4 +130,10 @@
|
|||
# define SANITIZER_POINTER_FORMAT_LENGTH FIRST_32_SECOND_64(8, 12)
|
||||
#endif
|
||||
|
||||
// Assume obsolete RPC headers are available by default
|
||||
#if !defined(HAVE_RPC_XDR_H) && !defined(HAVE_TIRPC_RPC_XDR_H)
|
||||
# define HAVE_RPC_XDR_H (SANITIZER_LINUX && !SANITIZER_ANDROID)
|
||||
# define HAVE_TIRPC_RPC_XDR_H 0
|
||||
#endif
|
||||
|
||||
#endif // SANITIZER_PLATFORM_H
|
||||
|
|
|
@ -135,7 +135,11 @@
|
|||
#include <netax25/ax25.h>
|
||||
#include <netipx/ipx.h>
|
||||
#include <netrom/netrom.h>
|
||||
#if HAVE_RPC_XDR_H
|
||||
# include <rpc/xdr.h>
|
||||
#elif HAVE_TIRPC_RPC_XDR_H
|
||||
# include <tirpc/rpc/xdr.h>
|
||||
#endif
|
||||
#include <scsi/scsi.h>
|
||||
#include <sys/mtio.h>
|
||||
#include <sys/kd.h>
|
||||
|
@ -1159,7 +1163,7 @@ CHECK_SIZE_AND_OFFSET(group, gr_passwd);
|
|||
CHECK_SIZE_AND_OFFSET(group, gr_gid);
|
||||
CHECK_SIZE_AND_OFFSET(group, gr_mem);
|
||||
|
||||
#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
#if HAVE_RPC_XDR_H || HAVE_TIRPC_RPC_XDR_H
|
||||
CHECK_TYPE_SIZE(XDR);
|
||||
CHECK_SIZE_AND_OFFSET(XDR, x_op);
|
||||
CHECK_SIZE_AND_OFFSET(XDR, x_ops);
|
||||
|
|
Loading…
Reference in New Issue