Add support for LLVM profile for NetBSD
Summary: NetBSD uses typical UNIX interfaces. All tests pass except instrprof-dlopen-dlclose-gcov.test, as there is not supported semantics of atexit(3) in dlopen(3)ed+dlclose(3)d DSO. NetBSD also ships an older version of LLVM profile (ABI v.2 predating ABI v.4 in upstream version) inside libc. That copy has been manually removed during the porting and testing process of the upstream version to NetBSD. Otherwise there were conflicts between them two. Reviewers: joerg, vitalybuka, vsk Subscribers: srhines, fedor.sergeev, llvm-commits, mgorny, #sanitizers Tags: #sanitizers Differential Revision: https://reviews.llvm.org/D55997 llvm-svn: 349994
This commit is contained in:
parent
729e3c0c0e
commit
edbe2b3f02
|
@ -586,7 +586,7 @@ else()
|
|||
endif()
|
||||
|
||||
if (PROFILE_SUPPORTED_ARCH AND NOT LLVM_USE_SANITIZER AND
|
||||
OS_NAME MATCHES "Darwin|Linux|FreeBSD|Windows|Android|Fuchsia|SunOS")
|
||||
OS_NAME MATCHES "Darwin|Linux|FreeBSD|Windows|Android|Fuchsia|SunOS|NetBSD")
|
||||
set(COMPILER_RT_HAS_PROFILE TRUE)
|
||||
else()
|
||||
set(COMPILER_RT_HAS_PROFILE FALSE)
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
\*===----------------------------------------------------------------------===*/
|
||||
|
||||
#if defined(__linux__) || defined(__FreeBSD__) || defined(__Fuchsia__) || \
|
||||
(defined(__sun__) && defined(__svr4__))
|
||||
(defined(__sun__) && defined(__svr4__)) || defined(__NetBSD__)
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
\*===----------------------------------------------------------------------===*/
|
||||
|
||||
#if !defined(__APPLE__) && !defined(__linux__) && !defined(__FreeBSD__) && \
|
||||
!(defined(__sun__) && defined(__svr4__))
|
||||
!(defined(__sun__) && defined(__svr4__)) && !defined(__NetBSD__)
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
# atexit(3) not supported in dlopen(3)ed+dlclose(3)d DSO
|
||||
XFAIL: netbsd
|
||||
|
||||
RUN: mkdir -p %t.d
|
||||
RUN: cd %t.d
|
||||
|
||||
|
|
|
@ -67,7 +67,7 @@ config.substitutions.append( ("%clangxx_profuse=", build_invocation(clang_cxxfla
|
|||
|
||||
config.substitutions.append( ("%clang_lto_profgen=", build_invocation(clang_cflags, True) + " -fprofile-instr-generate=") )
|
||||
|
||||
if config.host_os not in ['Darwin', 'FreeBSD', 'Linux', 'SunOS']:
|
||||
if config.host_os not in ['Darwin', 'FreeBSD', 'Linux', 'NetBSD', 'SunOS']:
|
||||
config.unsupported = True
|
||||
|
||||
if config.target_arch in ['armv7l']:
|
||||
|
|
Loading…
Reference in New Issue