2015-03-27 01:26:04 +08:00
|
|
|
//===-- ubsan_platform.h ----------------------------------------*- C++ -*-===//
|
|
|
|
//
|
|
|
|
// The LLVM Compiler Infrastructure
|
|
|
|
//
|
|
|
|
// This file is distributed under the University of Illinois Open Source
|
|
|
|
// License. See LICENSE.TXT for details.
|
|
|
|
//
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
//
|
|
|
|
// Defines the platforms which UBSan is supported at.
|
|
|
|
//
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef UBSAN_PLATFORM_H
|
|
|
|
#define UBSAN_PLATFORM_H
|
|
|
|
|
|
|
|
// Other platforms should be easy to add, and probably work as-is.
|
Recognize all NetBSD architectures in UBSan
Summary:
Use uniform accessors for Program Pointer,
Stack Pointer and Frame Pointer.
Remove CPU check in UBSan supported platforms
and rely only on the OS type.
This adds NetBSD support in GetPcSpBp() for:
- ARM
- ARM64
- HPPA
- PowerPC/PowerPC64
- SPARC/SPARC64
- MIPS
- DEC Alpha AXP
- DEC VAX
- M68K and M68010
- SH3
- IA64
- OR1K
- RISCV
Sponsored by <The NetBSD Foundation>
Reviewers: joerg, vitalybuka, ro
Reviewed By: vitalybuka
Subscribers: aemerson, jyknight, sdardis, kubamracek, arichardson, llvm-commits, kristof.beyls, fedor.sergeev, #sanitizers
Tags: #sanitizers
Differential Revision: https://reviews.llvm.org/D43021
llvm-svn: 325431
2018-02-17 21:35:09 +08:00
|
|
|
#if defined(__linux__) || defined(__FreeBSD__) || defined(__APPLE__) || \
|
|
|
|
defined(__NetBSD__) || (defined(__sun__) && defined(__svr4__)) || \
|
|
|
|
defined(_WIN32) || defined(__Fuchsia__)
|
2015-07-02 09:44:34 +08:00
|
|
|
# define CAN_SANITIZE_UB 1
|
2015-03-27 01:26:04 +08:00
|
|
|
#else
|
|
|
|
# define CAN_SANITIZE_UB 0
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif
|