Add initial XRay support for NetBSD
Summary: Reuse the existing FreeBSD code as it is. Sponsored by <The NetBSD Foundation> Reviewers: dberris, rnk, vitalybuka Reviewed By: dberris Subscribers: mclow.lists, emaste, mgorny, llvm-commits, #sanitizers Tags: #sanitizers Differential Revision: https://reviews.llvm.org/D43370 llvm-svn: 325345
This commit is contained in:
parent
c5105f9e3c
commit
bab5252789
|
@ -597,7 +597,7 @@ else()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (COMPILER_RT_HAS_SANITIZER_COMMON AND XRAY_SUPPORTED_ARCH AND
|
if (COMPILER_RT_HAS_SANITIZER_COMMON AND XRAY_SUPPORTED_ARCH AND
|
||||||
OS_NAME MATCHES "Darwin|Linux|FreeBSD")
|
OS_NAME MATCHES "Darwin|Linux|FreeBSD|NetBSD")
|
||||||
set(COMPILER_RT_HAS_XRAY TRUE)
|
set(COMPILER_RT_HAS_XRAY TRUE)
|
||||||
else()
|
else()
|
||||||
set(COMPILER_RT_HAS_XRAY FALSE)
|
set(COMPILER_RT_HAS_XRAY FALSE)
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
#include "xray_defs.h"
|
#include "xray_defs.h"
|
||||||
#include "xray_interface_internal.h"
|
#include "xray_interface_internal.h"
|
||||||
|
|
||||||
#if SANITIZER_FREEBSD
|
#if SANITIZER_FREEBSD || SANITIZER_NETBSD
|
||||||
|
#include <sys/types.h>
|
||||||
#include <sys/sysctl.h>
|
#include <sys/sysctl.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -76,7 +77,7 @@ uint64_t getTSCFrequency() XRAY_NEVER_INSTRUMENT {
|
||||||
}
|
}
|
||||||
return TSCFrequency == -1 ? 0 : static_cast<uint64_t>(TSCFrequency);
|
return TSCFrequency == -1 ? 0 : static_cast<uint64_t>(TSCFrequency);
|
||||||
}
|
}
|
||||||
#elif SANITIZER_FREEBSD
|
#elif SANITIZER_FREEBSD || SANITIZER_NETBSD
|
||||||
uint64_t getTSCFrequency() XRAY_NEVER_INSTRUMENT {
|
uint64_t getTSCFrequency() XRAY_NEVER_INSTRUMENT {
|
||||||
long long TSCFrequency = -1;
|
long long TSCFrequency = -1;
|
||||||
size_t tscfreqsz = sizeof(TSCFrequency);
|
size_t tscfreqsz = sizeof(TSCFrequency);
|
||||||
|
|
|
@ -45,7 +45,7 @@ config.substitutions.append(
|
||||||
# Default test suffixes.
|
# Default test suffixes.
|
||||||
config.suffixes = ['.c', '.cc', '.cpp']
|
config.suffixes = ['.c', '.cc', '.cpp']
|
||||||
|
|
||||||
if config.host_os not in ['FreeBSD', 'Linux']:
|
if config.host_os not in ['FreeBSD', 'Linux', 'NetBSD']:
|
||||||
config.unsupported = True
|
config.unsupported = True
|
||||||
elif '64' not in config.host_arch:
|
elif '64' not in config.host_arch:
|
||||||
if 'arm' in config.host_arch:
|
if 'arm' in config.host_arch:
|
||||||
|
|
Loading…
Reference in New Issue