mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-11-23 22:00:10 +00:00
[Sanitizer] Separate FreeBSD interception data structures
Reviewers: vitalybuka, krytarowski Reviewed By: krytarowski Differential Revision: https://reviews.llvm.org/D55386 llvm-svn: 348634
This commit is contained in:
parent
2bbbd8be24
commit
da2a653134
@ -17,6 +17,7 @@
|
||||
|
||||
#include "sanitizer_common/sanitizer_atomic.h"
|
||||
#include "sanitizer_common/sanitizer_internal_defs.h"
|
||||
#include "sanitizer_common/sanitizer_platform_limits_freebsd.h"
|
||||
#include "sanitizer_common/sanitizer_platform_limits_posix.h"
|
||||
|
||||
namespace __esan {
|
||||
|
@ -19,6 +19,7 @@ set(SANITIZER_SOURCES_NOTERMINATION
|
||||
sanitizer_netbsd.cc
|
||||
sanitizer_openbsd.cc
|
||||
sanitizer_persistent_allocator.cc
|
||||
sanitizer_platform_limits_freebsd.cc
|
||||
sanitizer_platform_limits_linux.cc
|
||||
sanitizer_platform_limits_netbsd.cc
|
||||
sanitizer_platform_limits_openbsd.cc
|
||||
|
@ -197,7 +197,9 @@ typedef u64 tid_t;
|
||||
// This header should NOT include any other headers to avoid portability issues.
|
||||
|
||||
// Common defs.
|
||||
#ifndef INLINE
|
||||
#define INLINE inline
|
||||
#endif
|
||||
#define INTERFACE_ATTRIBUTE SANITIZER_INTERFACE_ATTRIBUTE
|
||||
#define SANITIZER_WEAK_DEFAULT_IMPL \
|
||||
extern "C" SANITIZER_INTERFACE_ATTRIBUTE SANITIZER_WEAK_ATTRIBUTE NOINLINE
|
||||
|
@ -18,6 +18,7 @@
|
||||
SANITIZER_OPENBSD || SANITIZER_SOLARIS
|
||||
#include "sanitizer_common.h"
|
||||
#include "sanitizer_internal_defs.h"
|
||||
#include "sanitizer_platform_limits_freebsd.h"
|
||||
#include "sanitizer_platform_limits_netbsd.h"
|
||||
#include "sanitizer_platform_limits_openbsd.h"
|
||||
#include "sanitizer_platform_limits_posix.h"
|
||||
|
@ -33,8 +33,9 @@
|
||||
#endif
|
||||
|
||||
#if SI_POSIX
|
||||
# include "sanitizer_platform_limits_freebsd.h"
|
||||
# include "sanitizer_platform_limits_netbsd.h"
|
||||
#include "sanitizer_platform_limits_openbsd.h"
|
||||
# include "sanitizer_platform_limits_openbsd.h"
|
||||
# include "sanitizer_platform_limits_posix.h"
|
||||
# include "sanitizer_platform_limits_solaris.h"
|
||||
#endif
|
||||
|
@ -31,6 +31,8 @@
|
||||
_GET_LINK_MAP_BY_DLOPEN_HANDLE(handle, 136)
|
||||
#endif
|
||||
|
||||
#undef INLINE
|
||||
|
||||
namespace __sanitizer {
|
||||
extern unsigned struct_utsname_sz;
|
||||
extern unsigned struct_stat_sz;
|
||||
|
@ -14,7 +14,7 @@
|
||||
|
||||
#include "sanitizer_platform.h"
|
||||
|
||||
#if SANITIZER_LINUX || SANITIZER_FREEBSD || SANITIZER_MAC
|
||||
#if SANITIZER_LINUX || SANITIZER_MAC
|
||||
// Tests in this file assume that off_t-dependent data structures match the
|
||||
// libc ABI. For example, struct dirent here is what readdir() function (as
|
||||
// exported from libc) returns, and not the user-facing "dirent", which
|
||||
@ -45,7 +45,7 @@
|
||||
#include <termios.h>
|
||||
#include <time.h>
|
||||
#include <wchar.h>
|
||||
#if !SANITIZER_MAC && !SANITIZER_FREEBSD
|
||||
#if !SANITIZER_MAC
|
||||
#include <utmp.h>
|
||||
#endif
|
||||
|
||||
@ -78,44 +78,11 @@
|
||||
#include <net/if_arp.h>
|
||||
#endif
|
||||
|
||||
#if SANITIZER_FREEBSD
|
||||
# include <sys/mount.h>
|
||||
# include <sys/sockio.h>
|
||||
# include <sys/socket.h>
|
||||
# include <sys/filio.h>
|
||||
# include <sys/signal.h>
|
||||
# include <sys/timespec.h>
|
||||
# include <sys/timex.h>
|
||||
# include <sys/mqueue.h>
|
||||
# include <sys/msg.h>
|
||||
# include <sys/ipc.h>
|
||||
# include <sys/msg.h>
|
||||
# include <sys/statvfs.h>
|
||||
# include <sys/soundcard.h>
|
||||
# include <sys/mtio.h>
|
||||
# include <sys/consio.h>
|
||||
# include <sys/kbio.h>
|
||||
# include <sys/link_elf.h>
|
||||
# include <netinet/ip_mroute.h>
|
||||
# include <netinet/in.h>
|
||||
# include <net/ethernet.h>
|
||||
# include <net/ppp_defs.h>
|
||||
# include <glob.h>
|
||||
# include <stdio.h>
|
||||
# include <term.h>
|
||||
|
||||
#define _KERNEL // to declare 'shminfo' structure
|
||||
# include <sys/shm.h>
|
||||
#undef _KERNEL
|
||||
|
||||
#undef INLINE // to avoid clashes with sanitizers' definitions
|
||||
#endif
|
||||
|
||||
#if SANITIZER_FREEBSD || SANITIZER_IOS
|
||||
#if SANITIZER_IOS
|
||||
#undef IOC_DIRMASK
|
||||
#endif
|
||||
|
||||
#if SANITIZER_LINUX || SANITIZER_FREEBSD
|
||||
#if SANITIZER_LINUX
|
||||
# include <utime.h>
|
||||
# include <sys/ptrace.h>
|
||||
# if defined(__mips64) || defined(__aarch64__) || defined(__arm__)
|
||||
@ -199,9 +166,9 @@ typedef struct user_fpregs elf_fpregset_t;
|
||||
namespace __sanitizer {
|
||||
unsigned struct_utsname_sz = sizeof(struct utsname);
|
||||
unsigned struct_stat_sz = sizeof(struct stat);
|
||||
#if !SANITIZER_IOS && !SANITIZER_FREEBSD
|
||||
#if !SANITIZER_IOS
|
||||
unsigned struct_stat64_sz = sizeof(struct stat64);
|
||||
#endif // !SANITIZER_IOS && !SANITIZER_FREEBSD
|
||||
#endif // !SANITIZER_IOS
|
||||
unsigned struct_rusage_sz = sizeof(struct rusage);
|
||||
unsigned struct_tm_sz = sizeof(struct tm);
|
||||
unsigned struct_passwd_sz = sizeof(struct passwd);
|
||||
@ -245,12 +212,12 @@ namespace __sanitizer {
|
||||
unsigned struct_oldold_utsname_sz = sizeof(struct oldold_utsname);
|
||||
#endif // SANITIZER_LINUX
|
||||
|
||||
#if SANITIZER_LINUX || SANITIZER_FREEBSD
|
||||
#if SANITIZER_LINUX
|
||||
unsigned struct_rlimit_sz = sizeof(struct rlimit);
|
||||
unsigned struct_timespec_sz = sizeof(struct timespec);
|
||||
unsigned struct_utimbuf_sz = sizeof(struct utimbuf);
|
||||
unsigned struct_itimerspec_sz = sizeof(struct itimerspec);
|
||||
#endif // SANITIZER_LINUX || SANITIZER_FREEBSD
|
||||
#endif // SANITIZER_LINUX
|
||||
|
||||
#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
// Use pre-computed size of struct ustat to avoid <sys/ustat.h> which
|
||||
@ -270,12 +237,12 @@ namespace __sanitizer {
|
||||
unsigned struct_statvfs64_sz = sizeof(struct statvfs64);
|
||||
#endif // SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
|
||||
#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
|
||||
#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
unsigned struct_timex_sz = sizeof(struct timex);
|
||||
unsigned struct_msqid_ds_sz = sizeof(struct msqid_ds);
|
||||
unsigned struct_mq_attr_sz = sizeof(struct mq_attr);
|
||||
unsigned struct_statvfs_sz = sizeof(struct statvfs);
|
||||
#endif // (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
|
||||
#endif // SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
|
||||
const uptr sig_ign = (uptr)SIG_IGN;
|
||||
const uptr sig_dfl = (uptr)SIG_DFL;
|
||||
@ -287,7 +254,7 @@ namespace __sanitizer {
|
||||
#endif
|
||||
|
||||
|
||||
#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
|
||||
#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
unsigned struct_shminfo_sz = sizeof(struct shminfo);
|
||||
unsigned struct_shm_info_sz = sizeof(struct shm_info);
|
||||
int shmctl_ipc_stat = (int)IPC_STAT;
|
||||
@ -323,7 +290,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(ElfW(Phdr));
|
||||
unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
|
||||
#endif
|
||||
|
||||
#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
|
||||
#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
int glob_nomatch = GLOB_NOMATCH;
|
||||
int glob_altdirfunc = GLOB_ALTDIRFUNC;
|
||||
#endif
|
||||
@ -448,7 +415,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
|
||||
unsigned struct_vt_stat_sz = sizeof(struct vt_stat);
|
||||
#endif // SANITIZER_LINUX
|
||||
|
||||
#if SANITIZER_LINUX || SANITIZER_FREEBSD
|
||||
#if SANITIZER_LINUX
|
||||
#if SOUND_VERSION >= 0x040000
|
||||
unsigned struct_copr_buffer_sz = 0;
|
||||
unsigned struct_copr_debug_buf_sz = 0;
|
||||
@ -465,7 +432,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
|
||||
unsigned struct_seq_event_rec_sz = sizeof(struct seq_event_rec);
|
||||
unsigned struct_synth_info_sz = sizeof(struct synth_info);
|
||||
unsigned struct_vt_mode_sz = sizeof(struct vt_mode);
|
||||
#endif // SANITIZER_LINUX || SANITIZER_FREEBSD
|
||||
#endif // SANITIZER_LINUX
|
||||
|
||||
#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
unsigned struct_ax25_parms_struct_sz = sizeof(struct ax25_parms_struct);
|
||||
@ -492,7 +459,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
|
||||
unsigned struct_unimapinit_sz = sizeof(struct unimapinit);
|
||||
#endif // SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
|
||||
#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
|
||||
#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
unsigned struct_audio_buf_info_sz = sizeof(struct audio_buf_info);
|
||||
unsigned struct_ppp_stats_sz = sizeof(struct ppp_stats);
|
||||
#endif // (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
|
||||
@ -550,7 +517,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
|
||||
unsigned IOCTL_TIOCSPGRP = TIOCSPGRP;
|
||||
unsigned IOCTL_TIOCSTI = TIOCSTI;
|
||||
unsigned IOCTL_TIOCSWINSZ = TIOCSWINSZ;
|
||||
#if ((SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID)
|
||||
#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
unsigned IOCTL_SIOCGETSGCNT = SIOCGETSGCNT;
|
||||
unsigned IOCTL_SIOCGETVIFCNT = SIOCGETVIFCNT;
|
||||
#endif
|
||||
@ -740,9 +707,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
|
||||
unsigned IOCTL_VT_RESIZE = VT_RESIZE;
|
||||
unsigned IOCTL_VT_RESIZEX = VT_RESIZEX;
|
||||
unsigned IOCTL_VT_SENDSIG = VT_SENDSIG;
|
||||
#endif // SANITIZER_LINUX
|
||||
|
||||
#if SANITIZER_LINUX || SANITIZER_FREEBSD
|
||||
unsigned IOCTL_MTIOCGET = MTIOCGET;
|
||||
unsigned IOCTL_MTIOCTOP = MTIOCTOP;
|
||||
unsigned IOCTL_SNDCTL_DSP_GETBLKSIZE = SNDCTL_DSP_GETBLKSIZE;
|
||||
@ -835,7 +799,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
|
||||
unsigned IOCTL_VT_RELDISP = VT_RELDISP;
|
||||
unsigned IOCTL_VT_SETMODE = VT_SETMODE;
|
||||
unsigned IOCTL_VT_WAITACTIVE = VT_WAITACTIVE;
|
||||
#endif // SANITIZER_LINUX || SANITIZER_FREEBSD
|
||||
#endif // SANITIZER_LINUX
|
||||
|
||||
#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
unsigned IOCTL_CYGETDEFTHRESH = CYGETDEFTHRESH;
|
||||
@ -928,7 +892,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
|
||||
unsigned IOCTL_TIOCSSERIAL = TIOCSSERIAL;
|
||||
#endif // SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
|
||||
#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
|
||||
#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
unsigned IOCTL_GIO_SCRNMAP = GIO_SCRNMAP;
|
||||
unsigned IOCTL_KDDISABIO = KDDISABIO;
|
||||
unsigned IOCTL_KDENABIO = KDENABIO;
|
||||
|
@ -15,22 +15,12 @@
|
||||
#ifndef SANITIZER_PLATFORM_LIMITS_POSIX_H
|
||||
#define SANITIZER_PLATFORM_LIMITS_POSIX_H
|
||||
|
||||
#if SANITIZER_FREEBSD || SANITIZER_LINUX || SANITIZER_MAC
|
||||
#if SANITIZER_LINUX || SANITIZER_MAC
|
||||
|
||||
#include "sanitizer_internal_defs.h"
|
||||
#include "sanitizer_platform.h"
|
||||
|
||||
#if SANITIZER_FREEBSD
|
||||
// FreeBSD's dlopen() returns a pointer to an Obj_Entry structure that
|
||||
// incorporates the map structure.
|
||||
# define GET_LINK_MAP_BY_DLOPEN_HANDLE(handle) \
|
||||
((link_map*)((handle) == nullptr ? nullptr : ((char*)(handle) + 560)))
|
||||
// Get sys/_types.h, because that tells us whether 64-bit inodes are
|
||||
// used in struct dirent below.
|
||||
#include <sys/_types.h>
|
||||
#else
|
||||
# define GET_LINK_MAP_BY_DLOPEN_HANDLE(handle) ((link_map*)(handle))
|
||||
#endif // !SANITIZER_FREEBSD
|
||||
|
||||
#ifndef __GLIBC_PREREQ
|
||||
#define __GLIBC_PREREQ(x, y) 0
|
||||
@ -39,7 +29,7 @@
|
||||
namespace __sanitizer {
|
||||
extern unsigned struct_utsname_sz;
|
||||
extern unsigned struct_stat_sz;
|
||||
#if !SANITIZER_FREEBSD && !SANITIZER_IOS
|
||||
#if !SANITIZER_IOS
|
||||
extern unsigned struct_stat64_sz;
|
||||
#endif
|
||||
extern unsigned struct_rusage_sz;
|
||||
@ -123,7 +113,7 @@ namespace __sanitizer {
|
||||
const unsigned struct_kexec_segment_sz = 4 * sizeof(unsigned long);
|
||||
#endif // SANITIZER_LINUX
|
||||
|
||||
#if SANITIZER_LINUX || SANITIZER_FREEBSD
|
||||
#if SANITIZER_LINUX
|
||||
|
||||
#if defined(__powerpc64__) || defined(__s390__)
|
||||
const unsigned struct___old_kernel_stat_sz = 0;
|
||||
@ -180,11 +170,9 @@ namespace __sanitizer {
|
||||
int data;
|
||||
#elif SANITIZER_LINUX
|
||||
uptr data[4];
|
||||
#elif SANITIZER_FREEBSD
|
||||
u32 data[4];
|
||||
#endif
|
||||
};
|
||||
#endif // SANITIZER_LINUX || SANITIZER_FREEBSD
|
||||
#endif // SANITIZER_LINUX
|
||||
|
||||
#if SANITIZER_ANDROID
|
||||
struct __sanitizer_struct_mallinfo {
|
||||
@ -306,35 +294,14 @@ namespace __sanitizer {
|
||||
#endif
|
||||
#endif
|
||||
};
|
||||
#elif SANITIZER_FREEBSD
|
||||
struct __sanitizer_ipc_perm {
|
||||
unsigned int cuid;
|
||||
unsigned int cgid;
|
||||
unsigned int uid;
|
||||
unsigned int gid;
|
||||
unsigned short mode;
|
||||
unsigned short seq;
|
||||
long key;
|
||||
};
|
||||
|
||||
struct __sanitizer_shmid_ds {
|
||||
__sanitizer_ipc_perm shm_perm;
|
||||
unsigned long shm_segsz;
|
||||
unsigned int shm_lpid;
|
||||
unsigned int shm_cpid;
|
||||
int shm_nattch;
|
||||
unsigned long shm_atime;
|
||||
unsigned long shm_dtime;
|
||||
unsigned long shm_ctime;
|
||||
};
|
||||
#endif
|
||||
|
||||
#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
|
||||
#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
extern unsigned struct_msqid_ds_sz;
|
||||
extern unsigned struct_mq_attr_sz;
|
||||
extern unsigned struct_timex_sz;
|
||||
extern unsigned struct_statvfs_sz;
|
||||
#endif // (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
|
||||
#endif // SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
|
||||
struct __sanitizer_iovec {
|
||||
void *iov_base;
|
||||
@ -384,7 +351,7 @@ namespace __sanitizer {
|
||||
char *pw_passwd;
|
||||
int pw_uid;
|
||||
int pw_gid;
|
||||
#if SANITIZER_MAC || SANITIZER_FREEBSD
|
||||
#if SANITIZER_MAC
|
||||
long pw_change;
|
||||
char *pw_class;
|
||||
#endif
|
||||
@ -393,11 +360,8 @@ namespace __sanitizer {
|
||||
#endif
|
||||
char *pw_dir;
|
||||
char *pw_shell;
|
||||
#if SANITIZER_MAC || SANITIZER_FREEBSD
|
||||
#if SANITIZER_MAC
|
||||
long pw_expire;
|
||||
#endif
|
||||
#if SANITIZER_FREEBSD
|
||||
int pw_fields;
|
||||
#endif
|
||||
};
|
||||
|
||||
@ -468,7 +432,7 @@ namespace __sanitizer {
|
||||
};
|
||||
#endif
|
||||
|
||||
#if SANITIZER_MAC || SANITIZER_FREEBSD
|
||||
#if SANITIZER_MAC
|
||||
struct __sanitizer_msghdr {
|
||||
void *msg_name;
|
||||
unsigned msg_namelen;
|
||||
@ -514,17 +478,6 @@ namespace __sanitizer {
|
||||
unsigned short d_reclen;
|
||||
// more fields that we don't care about
|
||||
};
|
||||
#elif SANITIZER_FREEBSD
|
||||
struct __sanitizer_dirent {
|
||||
#if defined(__INO64)
|
||||
unsigned long long d_fileno;
|
||||
unsigned long long d_off;
|
||||
#else
|
||||
unsigned int d_fileno;
|
||||
#endif
|
||||
unsigned short d_reclen;
|
||||
// more fields that we don't care about
|
||||
};
|
||||
#elif SANITIZER_ANDROID || defined(__x86_64__)
|
||||
struct __sanitizer_dirent {
|
||||
unsigned long long d_ino;
|
||||
@ -550,20 +503,17 @@ namespace __sanitizer {
|
||||
};
|
||||
#endif
|
||||
|
||||
// 'clock_t' is 32 bits wide on x64 FreeBSD
|
||||
#if SANITIZER_FREEBSD
|
||||
typedef int __sanitizer_clock_t;
|
||||
#elif defined(__x86_64__) && !defined(_LP64)
|
||||
#if defined(__x86_64__) && !defined(_LP64)
|
||||
typedef long long __sanitizer_clock_t;
|
||||
#else
|
||||
typedef long __sanitizer_clock_t;
|
||||
#endif
|
||||
|
||||
#if SANITIZER_LINUX || SANITIZER_FREEBSD
|
||||
#if SANITIZER_LINUX
|
||||
typedef int __sanitizer_clockid_t;
|
||||
#endif
|
||||
|
||||
#if SANITIZER_LINUX || SANITIZER_FREEBSD
|
||||
#if SANITIZER_LINUX
|
||||
#if defined(_LP64) || defined(__x86_64__) || defined(__powerpc__)\
|
||||
|| defined(__mips__)
|
||||
typedef unsigned __sanitizer___kernel_uid_t;
|
||||
@ -613,11 +563,6 @@ namespace __sanitizer {
|
||||
// The size is determined by looking at sizeof of real sigset_t on linux.
|
||||
uptr val[128 / sizeof(uptr)];
|
||||
};
|
||||
#elif SANITIZER_FREEBSD
|
||||
struct __sanitizer_sigset_t {
|
||||
// uint32_t * 4
|
||||
unsigned int __bits[4];
|
||||
};
|
||||
#endif
|
||||
|
||||
struct __sanitizer_siginfo {
|
||||
@ -707,9 +652,7 @@ namespace __sanitizer {
|
||||
};
|
||||
#endif // !SANITIZER_ANDROID
|
||||
|
||||
#if SANITIZER_FREEBSD
|
||||
typedef __sanitizer_sigset_t __sanitizer_kernel_sigset_t;
|
||||
#elif defined(__mips__)
|
||||
#if defined(__mips__)
|
||||
struct __sanitizer_kernel_sigset_t {
|
||||
uptr sig[2];
|
||||
};
|
||||
@ -755,7 +698,7 @@ namespace __sanitizer {
|
||||
extern int af_inet6;
|
||||
uptr __sanitizer_in_addr_sz(int af);
|
||||
|
||||
#if SANITIZER_LINUX || SANITIZER_FREEBSD
|
||||
#if SANITIZER_LINUX
|
||||
struct __sanitizer_dl_phdr_info {
|
||||
uptr dlpi_addr;
|
||||
const char *dlpi_name;
|
||||
@ -771,7 +714,7 @@ namespace __sanitizer {
|
||||
int ai_family;
|
||||
int ai_socktype;
|
||||
int ai_protocol;
|
||||
#if SANITIZER_ANDROID || SANITIZER_MAC || SANITIZER_FREEBSD
|
||||
#if SANITIZER_ANDROID || SANITIZER_MAC
|
||||
unsigned ai_addrlen;
|
||||
char *ai_canonname;
|
||||
void *ai_addr;
|
||||
@ -797,7 +740,7 @@ namespace __sanitizer {
|
||||
short revents;
|
||||
};
|
||||
|
||||
#if SANITIZER_ANDROID || SANITIZER_MAC || SANITIZER_FREEBSD
|
||||
#if SANITIZER_ANDROID || SANITIZER_MAC
|
||||
typedef unsigned __sanitizer_nfds_t;
|
||||
#else
|
||||
typedef unsigned long __sanitizer_nfds_t;
|
||||
@ -817,23 +760,9 @@ namespace __sanitizer {
|
||||
int (*gl_lstat)(const char *, void *);
|
||||
int (*gl_stat)(const char *, void *);
|
||||
};
|
||||
# elif SANITIZER_FREEBSD
|
||||
struct __sanitizer_glob_t {
|
||||
uptr gl_pathc;
|
||||
uptr gl_matchc;
|
||||
uptr gl_offs;
|
||||
int gl_flags;
|
||||
char **gl_pathv;
|
||||
int (*gl_errfunc)(const char*, int);
|
||||
void (*gl_closedir)(void *dirp);
|
||||
struct dirent *(*gl_readdir)(void *dirp);
|
||||
void *(*gl_opendir)(const char*);
|
||||
int (*gl_lstat)(const char*, void* /* struct stat* */);
|
||||
int (*gl_stat)(const char*, void* /* struct stat* */);
|
||||
};
|
||||
# endif // SANITIZER_FREEBSD
|
||||
# endif // SANITIZER_LINUX
|
||||
|
||||
# if SANITIZER_LINUX || SANITIZER_FREEBSD
|
||||
# if SANITIZER_LINUX
|
||||
extern int glob_nomatch;
|
||||
extern int glob_altdirfunc;
|
||||
# endif
|
||||
@ -845,10 +774,6 @@ namespace __sanitizer {
|
||||
uptr we_wordc;
|
||||
char **we_wordv;
|
||||
uptr we_offs;
|
||||
#if SANITIZER_FREEBSD
|
||||
char *we_strings;
|
||||
uptr we_nbytes;
|
||||
#endif
|
||||
};
|
||||
|
||||
#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
@ -902,7 +827,7 @@ namespace __sanitizer {
|
||||
extern int ptrace_geteventmsg;
|
||||
#endif
|
||||
|
||||
#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
|
||||
#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
extern unsigned struct_shminfo_sz;
|
||||
extern unsigned struct_shm_info_sz;
|
||||
extern int shmctl_ipc_stat;
|
||||
@ -1039,7 +964,7 @@ struct __sanitizer_cookie_io_functions_t {
|
||||
extern unsigned struct_vt_stat_sz;
|
||||
#endif // SANITIZER_LINUX
|
||||
|
||||
#if SANITIZER_LINUX || SANITIZER_FREEBSD
|
||||
#if SANITIZER_LINUX
|
||||
extern unsigned struct_copr_buffer_sz;
|
||||
extern unsigned struct_copr_debug_buf_sz;
|
||||
extern unsigned struct_copr_msg_sz;
|
||||
@ -1051,7 +976,7 @@ struct __sanitizer_cookie_io_functions_t {
|
||||
extern unsigned struct_seq_event_rec_sz;
|
||||
extern unsigned struct_synth_info_sz;
|
||||
extern unsigned struct_vt_mode_sz;
|
||||
#endif // SANITIZER_LINUX || SANITIZER_FREEBSD
|
||||
#endif // SANITIZER_LINUX
|
||||
|
||||
#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
extern unsigned struct_ax25_parms_struct_sz;
|
||||
@ -1075,7 +1000,7 @@ struct __sanitizer_cookie_io_functions_t {
|
||||
|
||||
extern const unsigned long __sanitizer_bufsiz;
|
||||
|
||||
#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
|
||||
#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
extern unsigned struct_audio_buf_info_sz;
|
||||
extern unsigned struct_ppp_stats_sz;
|
||||
#endif // (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
|
||||
@ -1135,7 +1060,7 @@ struct __sanitizer_cookie_io_functions_t {
|
||||
extern unsigned IOCTL_TIOCSPGRP;
|
||||
extern unsigned IOCTL_TIOCSTI;
|
||||
extern unsigned IOCTL_TIOCSWINSZ;
|
||||
#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
|
||||
#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
extern unsigned IOCTL_SIOCGETSGCNT;
|
||||
extern unsigned IOCTL_SIOCGETVIFCNT;
|
||||
#endif
|
||||
@ -1297,8 +1222,6 @@ struct __sanitizer_cookie_io_functions_t {
|
||||
extern unsigned IOCTL_VT_RESIZE;
|
||||
extern unsigned IOCTL_VT_RESIZEX;
|
||||
extern unsigned IOCTL_VT_SENDSIG;
|
||||
#endif // SANITIZER_LINUX
|
||||
#if SANITIZER_LINUX || SANITIZER_FREEBSD
|
||||
extern unsigned IOCTL_MTIOCGET;
|
||||
extern unsigned IOCTL_MTIOCTOP;
|
||||
extern unsigned IOCTL_SIOCADDRT;
|
||||
@ -1399,7 +1322,7 @@ struct __sanitizer_cookie_io_functions_t {
|
||||
extern unsigned IOCTL_VT_RELDISP;
|
||||
extern unsigned IOCTL_VT_SETMODE;
|
||||
extern unsigned IOCTL_VT_WAITACTIVE;
|
||||
#endif // SANITIZER_LINUX || SANITIZER_FREEBSD
|
||||
#endif // SANITIZER_LINUX
|
||||
|
||||
#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
extern unsigned IOCTL_CYGETDEFTHRESH;
|
||||
@ -1486,9 +1409,6 @@ struct __sanitizer_cookie_io_functions_t {
|
||||
extern unsigned IOCTL_TIOCSERGETMULTI;
|
||||
extern unsigned IOCTL_TIOCSERSETMULTI;
|
||||
extern unsigned IOCTL_TIOCSSERIAL;
|
||||
#endif // SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
|
||||
#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
|
||||
extern unsigned IOCTL_GIO_SCRNMAP;
|
||||
extern unsigned IOCTL_KDDISABIO;
|
||||
extern unsigned IOCTL_KDENABIO;
|
||||
@ -1527,6 +1447,6 @@ struct __sanitizer_cookie_io_functions_t {
|
||||
|
||||
#define SIGACTION_SYMNAME sigaction
|
||||
|
||||
#endif // SANITIZER_FREEBSD || SANITIZER_LINUX || SANITIZER_MAC
|
||||
#endif // SANITIZER_LINUX || SANITIZER_MAC
|
||||
|
||||
#endif
|
||||
|
@ -16,6 +16,7 @@
|
||||
// ----------- ATTENTION -------------
|
||||
// This header should NOT include any other headers from sanitizer runtime.
|
||||
#include "sanitizer_internal_defs.h"
|
||||
#include "sanitizer_platform_limits_freebsd.h"
|
||||
#include "sanitizer_platform_limits_netbsd.h"
|
||||
#include "sanitizer_platform_limits_openbsd.h"
|
||||
#include "sanitizer_platform_limits_posix.h"
|
||||
|
Loading…
Reference in New Issue
Block a user