version 1.2, 2018/08/11 12:17:12
|
version 1.7, 2019/09/02 20:48:39
|
Line 43 The compiler-rt package ships with libBl
|
Line 43 The compiler-rt package ships with libBl
|
As a NetBSD specific extension, there is a micro-UBSan runtime developed and maintained in the NetBSD source code. |
As a NetBSD specific extension, there is a micro-UBSan runtime developed and maintained in the NetBSD source code. |
It is designed to function inside libc (uUBSan - usermode-UBSan) and inside the kernel (kUBSan - kernel-UBSan). |
It is designed to function inside libc (uUBSan - usermode-UBSan) and inside the kernel (kUBSan - kernel-UBSan). |
|
|
|
# Types of runtimes |
|
|
|
There are two types of sanitizer runtimes: |
|
|
|
* dynamically linked ones (default in GCC) |
|
* statically linked ones (default in Clang) |
|
|
|
Base GCC/NetBSD works with the former, upstream HEAD version of LLVM/NetBSD works with the latter. |
|
|
|
Both compilers should support both of them, but the other options (GCC/NetBSD & static runtime, LLVM/NetBSD & dynamic runtime) are to be done. |
|
|
# Sanitizers in NetBSD |
# Sanitizers in NetBSD |
|
|
Sanitizers in NetBSD are shipped with the following options: |
Sanitizers in NetBSD are shipped with the following options: |
Line 54 Sanitizers in NetBSD are shipped with th
|
Line 65 Sanitizers in NetBSD are shipped with th
|
|
|
MKSANITIZER blog entry: |
MKSANITIZER blog entry: |
|
|
http://blog.netbsd.org/tnf/entry/mksanitizer_bug_detector_software_integration |
<http://blog.netbsd.org/tnf/entry/mksanitizer_bug_detector_software_integration> |
|
|
MKLIBCSANITIZER and kernel sanitizer blog entry: |
MKLIBCSANITIZER and kernel sanitizer blog entry: |
|
|
http://blog.netbsd.org/tnf/entry/introduction_to_%C2%B5ubsan_a_clean |
<http://blog.netbsd.org/tnf/entry/introduction_to_%C2%B5ubsan_a_clean> |
|
|
# Support in NetBSD |
# Support in NetBSD |
|
|
Line 115 The LLVM support is available only with
|
Line 126 The LLVM support is available only with
|
|
|
Name | NetBSD status |
Name | NetBSD status |
----------|--------------------------------- |
----------|--------------------------------- |
UBSan | works with all ports |
UBSan | mostly works with all LLVM ports |
ASan | works with amd64 and i386 |
ASan | mostly works with amd64 and i386 |
MSan | works with amd64 |
MSan | mostly works with amd64 |
TSan | works with amd64 |
TSan | mostly works with amd64 |
|
|
### LLVM with MKSANITIZER |
### LLVM with MKSANITIZER |
|
|
Untested. |
Name | NetBSD status |
|
----------|--------------------------------- |
|
UBSan | mostly works with all LLVM ports |
|
ASan | mostly works with amd64 and i386 |
|
|
### LLVM with MKLIBCSANITIZER |
### LLVM with MKLIBCSANITIZER |
|
|