summaryrefslogtreecommitdiff
path: root/lib/sanitizer_common/sanitizer_platform_limits_posix.h
diff options
context:
space:
mode:
authorEvgeniy Stepanov <eugeni.stepanov@gmail.com>2013-09-06 14:20:01 +0000
committerEvgeniy Stepanov <eugeni.stepanov@gmail.com>2013-09-06 14:20:01 +0000
commit639df402c4925acd3ea7bebff729a535e3f79964 (patch)
treeecaf591438283a537b9883966a10705866d4772c /lib/sanitizer_common/sanitizer_platform_limits_posix.h
parent0b2c3a79bbcba15bb973f8199bbd7052b43f548c (diff)
downloadcompiler-rt-639df402c4925acd3ea7bebff729a535e3f79964.tar.gz
compiler-rt-639df402c4925acd3ea7bebff729a535e3f79964.tar.bz2
compiler-rt-639df402c4925acd3ea7bebff729a535e3f79964.tar.xz
[sanitizer] A bunch of linux system call handlers.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@190157 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/sanitizer_common/sanitizer_platform_limits_posix.h')
-rw-r--r--lib/sanitizer_common/sanitizer_platform_limits_posix.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/lib/sanitizer_common/sanitizer_platform_limits_posix.h b/lib/sanitizer_common/sanitizer_platform_limits_posix.h
index a602bfe0..34f7b090 100644
--- a/lib/sanitizer_common/sanitizer_platform_limits_posix.h
+++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.h
@@ -17,6 +17,12 @@
#include "sanitizer_platform.h"
+#if SANITIZER_LINUX
+// This header is limited to declaration of __kernel_*_t, which are unlikely to
+// conflict with any sanitizer declarations.
+#include <linux/posix_types.h>
+#endif
+
namespace __sanitizer {
extern unsigned struct_utsname_sz;
extern unsigned struct_stat_sz;
@@ -32,17 +38,52 @@ namespace __sanitizer {
extern unsigned timeval_sz;
extern unsigned uid_t_sz;
extern unsigned mbstate_t_sz;
+ extern unsigned struct_timezone_sz;
+ extern unsigned struct_tms_sz;
+ extern unsigned struct_itimerspec_sz;
+ extern unsigned struct_sigevent_sz;
+ extern unsigned struct_sched_param_sz;
#if !SANITIZER_ANDROID
extern unsigned ucontext_t_sz;
#endif // !SANITIZER_ANDROID
#if SANITIZER_LINUX
+ extern unsigned struct___old_kernel_stat_sz;
+ extern unsigned struct_kernel_stat_sz;
+ extern unsigned struct_kernel_stat64_sz;
+ extern unsigned struct_io_event_sz;
+ extern unsigned struct_iocb_sz;
+ extern unsigned struct_utimbuf_sz;
+ extern unsigned struct_new_utsname_sz;
+ extern unsigned struct_old_utsname_sz;
+ extern unsigned struct_oldold_utsname_sz;
+ extern unsigned struct_msqid_ds_sz;
+ extern unsigned struct_shmid_ds_sz;
+ extern unsigned struct_mq_attr_sz;
+ extern unsigned struct_perf_event_attr_sz;
+ extern unsigned struct_timex_sz;
+ extern unsigned struct_ustat_sz;
+
extern unsigned struct_rlimit_sz;
extern unsigned struct_statfs_sz;
extern unsigned struct_epoll_event_sz;
extern unsigned struct_sysinfo_sz;
extern unsigned struct_timespec_sz;
+ extern unsigned __user_cap_header_struct_sz;
+ extern unsigned __user_cap_data_struct_sz;
+ const unsigned old_sigset_t_sz = sizeof(unsigned long);
+ const unsigned struct_kexec_segment_sz = 4 * sizeof(unsigned long);
+
+ struct __sanitizer___sysctl_args {
+ int *name;
+ int nlen;
+ void *oldval;
+ uptr *oldlenp;
+ void *newval;
+ uptr newlen;
+ unsigned long __unused[4];
+ };
#endif // SANITIZER_LINUX
#if SANITIZER_LINUX && !SANITIZER_ANDROID