diff options
author | Evgeniy Stepanov <eugeni.stepanov@gmail.com> | 2013-09-06 14:20:01 +0000 |
---|---|---|
committer | Evgeniy Stepanov <eugeni.stepanov@gmail.com> | 2013-09-06 14:20:01 +0000 |
commit | 639df402c4925acd3ea7bebff729a535e3f79964 (patch) | |
tree | ecaf591438283a537b9883966a10705866d4772c /lib/sanitizer_common/sanitizer_platform_limits_posix.h | |
parent | 0b2c3a79bbcba15bb973f8199bbd7052b43f548c (diff) | |
download | compiler-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.h | 41 |
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 |