llvm-project/compiler-rt/lib/sanitizer_common
Walter Lee b134dbb3c3 [sanitizer] Trivial portion of the port to Myriad RTEMS
This commit contains the trivial portion of the port of ASan to
Myriad RTEMS.
- Whitelist platform in sanitizer_platform.h, ubsan_platform.h
- Turn off general interception
- Use memset for FastPoisonShadow
- Define interception wrappers
- Set errno symbol correctly
- Enable ASAN_LOW_MEMORY
- Enable preinit array
- Disable slow unwinding
- Use fuchsia offline symbolizer
- Disable common code for: InitializeShadowMemory, CreateMainThread,
  AsanThread::ThreadStart, StartReportDeadlySignal,
  MaybeReportNonExecRegion.

Differential Revision: https://reviews.llvm.org/D46454

llvm-svn: 332681
2018-05-18 00:43:54 +00:00
..
scripts [Sanitizers] Export aligned new/delete from runtimes. 2017-12-23 00:30:51 +00:00
symbolizer [sanitizer] Enable threads for libc++ build used by the symbolizer 2018-04-10 05:54:36 +00:00
tests [sanitizer] Use all available rounded up capacity 2018-05-09 23:31:05 +00:00
.clang-format [sanitizer] Remove unneeded blank lines 2018-05-09 00:44:26 +00:00
.clang-tidy [sanitizers] specifying style for global constant 2016-11-17 21:57:43 +00:00
CMakeLists.txt [sanitizer] Allow Fuchsia symbolizer to be reused by Myriad RTEMS 2018-05-11 23:52:19 +00:00
sancov_begin.S [Sanitizers, CMake] Basic sanitizer Solaris support (PR 33274) 2017-12-22 18:04:20 +00:00
sancov_end.S [Sanitizers, CMake] Basic sanitizer Solaris support (PR 33274) 2017-12-22 18:04:20 +00:00
sancov_flags.cc General definition for weak functions 2017-01-29 05:44:59 +00:00
sancov_flags.h [sancov] Move __sancov_default_options declaration outside the namespace __sancov 2017-02-01 01:36:19 +00:00
sancov_flags.inc Revert "[sancov] moving sancov rt to sancov/ directory" 2017-01-12 01:37:35 +00:00
sanitizer_addrhashmap.h adding operator* to help working with primitive values 2016-11-16 19:35:37 +00:00
sanitizer_allocator.cc [sanitizer] Allow for the allocator "names" to be set by the tools 2018-04-13 19:21:27 +00:00
sanitizer_allocator.h [sanitizer] Minor 32-bit primary improvements 2018-05-16 15:13:26 +00:00
sanitizer_allocator_bytemap.h [sanitizer] s/TestOnlyInit/Init for the allocator ByteMap (NFC) 2018-05-07 19:02:19 +00:00
sanitizer_allocator_checks.cc [sanitizer] Move the errno/ENOMEM allocator checks logic to separate .cc 2017-10-11 21:20:04 +00:00
sanitizer_allocator_checks.h [sanitizer] Move the errno/ENOMEM allocator checks logic to separate .cc 2017-10-11 21:20:04 +00:00
sanitizer_allocator_combined.h [Sanitizers] Make common allocator agnostic to failure handling modes. 2018-01-17 23:20:36 +00:00
sanitizer_allocator_interface.h [Sanitizers] New sanitizer API to purge allocator quarantine. 2017-10-23 17:12:07 +00:00
sanitizer_allocator_internal.h [sanitizer] Remove low-hanging-fruit dead code 2018-04-17 14:54:50 +00:00
sanitizer_allocator_local_cache.h [sanitizer] Remove unused 32-bit allocator TransferBatch parameter 2018-05-03 19:14:07 +00:00
sanitizer_allocator_primary32.h [sanitizer] Minor 32-bit primary improvements 2018-05-16 15:13:26 +00:00
sanitizer_allocator_primary64.h [sanitizer] Allow for the allocator "names" to be set by the tools 2018-04-13 19:21:27 +00:00
sanitizer_allocator_secondary.h [sanitizer] Cleanup sorting functions 2018-05-09 20:42:11 +00:00
sanitizer_allocator_size_class_map.h [sanitizer] Size class map & local cache improvements 2018-02-12 16:59:17 +00:00
sanitizer_allocator_stats.h [sanitizers] split sanitizer_allocator.h into a number of smaller .h files; NFC 2016-07-20 22:06:41 +00:00
sanitizer_asm.h [sanitizer] Refactor how assembly files are handled 2017-11-29 19:27:25 +00:00
sanitizer_atomic.h Revert r330376 "[sanitizer] Generalize atomic_uint8_t, atomic_uint16_t, ... into a template. NFC." 2018-04-20 07:34:59 +00:00
sanitizer_atomic_clang.h Reland "[mips][compiler-rt] Provide 64bit atomic add and sub" 2017-12-22 20:31:07 +00:00
sanitizer_atomic_clang_mips.h Reland "[mips][compiler-rt] Provide 64bit atomic add and sub" 2017-12-22 20:31:07 +00:00
sanitizer_atomic_clang_other.h [sanitizer] Correct 64-bit atomic_store on 32-bit "other" platforms 2018-05-09 16:20:52 +00:00
sanitizer_atomic_clang_x86.h
sanitizer_atomic_msvc.h [asan Win64] Implement atomic_compare_exchange_strong for 8 bit 2016-07-06 16:33:57 +00:00
sanitizer_bitvector.h Update other SizeEnums to be of type uptr as well 2017-12-06 23:02:02 +00:00
sanitizer_bvgraph.h Update other SizeEnums to be of type uptr as well 2017-12-06 23:02:02 +00:00
sanitizer_common.cc [sanitizer] Cleanup sorting functions 2018-05-09 20:42:11 +00:00
sanitizer_common.h [sanitizer] Use all available rounded up capacity 2018-05-09 23:31:05 +00:00
sanitizer_common_interceptors.inc [sanitizer] Intercept __pthread_mutex_lock and __pthread_mutex_unlock 2018-05-15 01:39:25 +00:00
sanitizer_common_interceptors_format.inc [asan] print the 'unexpected format specifier in printf interceptor' warning just once (came up in https://github.com/google/oss-fuzz/pull/562). Not touching a similar scanf warning -- for some reason it does not fire for me. 2017-05-03 18:38:34 +00:00
sanitizer_common_interceptors_ioctl.inc [sanitizer] Cleanup sorting functions 2018-05-09 20:42:11 +00:00
sanitizer_common_interface.inc [libFuzzer] Report at most one crash per input. 2018-05-01 21:01:53 +00:00
sanitizer_common_interface_posix.inc [sanitizer] Add list of symbols exported in sanitizers' interface. 2017-01-31 20:23:21 +00:00
sanitizer_common_libcdep.cc [sanitizer] Split Symbolizer/StackTraces from core RTSanitizerCommon 2018-04-16 16:32:19 +00:00
sanitizer_common_nolibc.cc [sanitizer] Remove low-hanging-fruit dead code 2018-04-17 14:54:50 +00:00
sanitizer_common_syscalls.inc [sanitizer] Add syscall handlers for sigaction and rt_sigaction. 2016-06-24 23:09:44 +00:00
sanitizer_coverage_fuchsia.cc [sanitizer] Split Symbolizer/StackTraces from core RTSanitizerCommon 2018-04-16 16:32:19 +00:00
sanitizer_coverage_interface.inc [sanitizer_common] Update sanitizers w.r.t. the new comparisons instrumentation API 2017-08-10 14:22:57 +00:00
sanitizer_coverage_libcdep_new.cc [sanitizer] Cleanup sorting functions 2018-05-09 20:42:11 +00:00
sanitizer_coverage_win_dll_thunk.cc [sanitizer] Intercept weak functions in dll_thunks. 2017-02-02 23:01:34 +00:00
sanitizer_coverage_win_dynamic_runtime_thunk.cc [sanitizer] Add dynamic_runtime_thunk for different sanitizers. 2017-02-02 23:01:41 +00:00
sanitizer_coverage_win_sections.cc [sancov] Define delimiters for sanitizer coverage's binary section on Windows. 2017-02-02 23:02:15 +00:00
sanitizer_coverage_win_weak_interception.cc [sanitizer] Use interception to access to strong definitions in the executable. 2017-02-02 23:02:11 +00:00
sanitizer_dbghelp.h [asan/win] Delay load dbghelp.dll to delay ucrtbase.dll initialization 2016-11-14 17:37:50 +00:00
sanitizer_deadlock_detector.h
sanitizer_deadlock_detector1.cc [tsan] Don't abort when a deadlock detector finds a mutex cycle longer than 10 2016-05-21 08:31:13 +00:00
sanitizer_deadlock_detector2.cc [sanitizer] Remove reserving constructor from InternalMmapVector 2018-05-07 05:56:24 +00:00
sanitizer_deadlock_detector_interface.h [tsan] Don't abort when a deadlock detector finds a mutex cycle longer than 10 2016-05-21 08:31:13 +00:00
sanitizer_errno.cc [Sanitizers] Consolidate internal errno definitions. 2017-07-06 00:50:57 +00:00
sanitizer_errno.h [sanitizer] Trivial portion of the port to Myriad RTEMS 2018-05-18 00:43:54 +00:00
sanitizer_errno_codes.h [Sanitizers] Consolidate internal errno definitions. 2017-07-06 00:50:57 +00:00
sanitizer_file.cc [sanitizer] Read file to InternalMmapVectorNoCtor 2018-05-08 18:35:11 +00:00
sanitizer_file.h [sanitizer_common] Move filesystem-related code out of sanitizer_common.cc 2017-07-22 01:46:40 +00:00
sanitizer_flag_parser.cc
sanitizer_flag_parser.h [sanitizer] Do not over-dup string flags 2017-08-21 21:25:38 +00:00
sanitizer_flags.cc [sanitizer] Remove low-hanging-fruit dead code 2018-04-17 14:54:50 +00:00
sanitizer_flags.h [sanitizer] Remove unnecessary attribute hidden. 2017-11-10 22:52:44 +00:00
sanitizer_flags.inc Mmap interceptor new option, Write Exec runtime detector 2018-03-21 21:25:07 +00:00
sanitizer_freebsd.h
sanitizer_fuchsia.cc [sanitizer] Fix Fuchsia ReadBinaryName not to crash when uninitialized 2018-05-02 18:08:47 +00:00
sanitizer_fuchsia.h [sanitizer_common] Don't provide sanitizer_procmaps API functions where not defined 2017-09-25 20:48:51 +00:00
sanitizer_getauxval.h [sanitizer] Allow Fuchsia to use getauxval 2018-01-19 22:33:30 +00:00
sanitizer_interceptors_ioctl_netbsd.inc [sanitizer] Cleanup sorting functions 2018-05-09 20:42:11 +00:00
sanitizer_interface_internal.h [libFuzzer] Report at most one crash per input. 2018-05-01 21:01:53 +00:00
sanitizer_internal_defs.h Fix NetBSD 32-bit build 2018-03-03 18:38:20 +00:00
sanitizer_lfstack.h
sanitizer_libc.cc [sanitizer] Remove low-hanging-fruit dead code 2018-04-17 14:54:50 +00:00
sanitizer_libc.h [sanitizer] Remove low-hanging-fruit dead code 2018-04-17 14:54:50 +00:00
sanitizer_libignore.cc OpenBSD UBsan support enabling SANITIZER_OPENBSD widely 2018-03-03 12:12:03 +00:00
sanitizer_libignore.h [tsan] Separate the constants in libignore and bump the maximum for instrumented libraries 2018-01-04 02:28:51 +00:00
sanitizer_linux.cc [sanitizer] Fix typo in comment 2018-05-10 04:21:41 +00:00
sanitizer_linux.h [sanitizer] Don't miss threads by ThreadSuspender 2018-05-10 04:02:59 +00:00
sanitizer_linux_libcdep.cc [sanitizer] Replace InternalScopedBuffer with InternalMmapVector 2018-05-07 05:56:36 +00:00
sanitizer_linux_mips64.S [ESan][MIPS] Adds support for MIPS64 2016-10-06 09:58:11 +00:00
sanitizer_linux_s390.cc [sanitizer] [SystemZ] Update CVE-2016-2143 check for Ubuntu 16.04 2017-05-24 15:06:33 +00:00
sanitizer_linux_x86_64.S [sanitizer][esan] Add internal_sigaction_syscall 2016-06-14 15:15:38 +00:00
sanitizer_list.h Whenever reasonable, merge ASAN quarantine batches to save memory. 2017-01-19 22:15:54 +00:00
sanitizer_mac.cc [sanitizer] Cleanup sorting functions 2018-05-09 20:42:11 +00:00
sanitizer_mac.h [compiler-rt] Fix const and volatile qualifier warnings 2017-11-10 21:19:20 +00:00
sanitizer_mac_libcdep.cc (NFC) Rename GetMax{,User}VirtualAddress. 2017-11-07 23:51:22 +00:00
sanitizer_malloc_mac.inc [sanitizer] Fix Darwin build 2018-03-24 08:13:18 +00:00
sanitizer_mutex.h [Sanitizers] Basic sanitizer Solaris support (PR 33274) 2017-12-14 20:14:29 +00:00
sanitizer_openbsd.cc OpenBSD UBsan support / common 2018-03-03 12:04:40 +00:00
sanitizer_persistent_allocator.cc
sanitizer_persistent_allocator.h
sanitizer_placement_new.h
sanitizer_platform.h [sanitizer] Trivial portion of the port to Myriad RTEMS 2018-05-18 00:43:54 +00:00
sanitizer_platform_interceptors.h [sanitizer] Trivial portion of the port to Myriad RTEMS 2018-05-18 00:43:54 +00:00
sanitizer_platform_limits_linux.cc [sanitizer] Add a bunch of ifdefs for sparc targets to avoid build failures. 2016-12-02 08:07:35 +00:00
sanitizer_platform_limits_netbsd.cc Remove obsolete ptrace(2) operations from NetBSD 2018-03-03 16:21:13 +00:00
sanitizer_platform_limits_netbsd.h Remove obsolete ptrace(2) operations from NetBSD 2018-03-03 16:21:13 +00:00
sanitizer_platform_limits_openbsd.cc OpenBSD UBsan support / common 2018-03-03 12:04:40 +00:00
sanitizer_platform_limits_openbsd.h OpenBSD sanitizer common, define RLIMIT_AS constant 2018-03-06 08:24:16 +00:00
sanitizer_platform_limits_posix.cc [asan] Fix build with Android NDK < 14. 2018-01-04 19:47:55 +00:00
sanitizer_platform_limits_posix.h Adding Msan support to FreeBSD 2018-03-03 11:43:11 +00:00
sanitizer_platform_limits_solaris.cc [Sanitizers] Basic sanitizer Solaris support (PR 33274) 2017-12-14 20:14:29 +00:00
sanitizer_platform_limits_solaris.h Correct the setitimer interceptor on NetBSD 2018-01-12 20:45:56 +00:00
sanitizer_posix.cc [sanitizer] Split Symbolizer/StackTraces from core RTSanitizerCommon 2018-04-16 16:32:19 +00:00
sanitizer_posix.h OpenBSD UBsan support enabling SANITIZER_OPENBSD widely 2018-03-03 12:12:03 +00:00
sanitizer_posix_libcdep.cc [sanitizer] Minor refactor of some ReservedAddressRange functions 2018-04-19 18:38:15 +00:00
sanitizer_printf.cc [Sanitizer] Internal Printf string width + left-justify. 2018-04-23 20:30:50 +00:00
sanitizer_procmaps.h OpenBSD UBsan support procmaps 2018-03-15 22:40:47 +00:00
sanitizer_procmaps_bsd.cc OpenBSD UBsan support final missing bits 2018-03-16 22:29:29 +00:00
sanitizer_procmaps_common.cc OpenBSD UBsan support procmaps 2018-03-15 22:40:47 +00:00
sanitizer_procmaps_linux.cc [LSan] Fix one source of stale segments in the process memory mapping. 2017-11-28 22:15:27 +00:00
sanitizer_procmaps_mac.cc [compiler-rt] Fix const and volatile qualifier warnings 2017-11-10 21:19:20 +00:00
sanitizer_procmaps_solaris.cc [Sanitizers] Basic sanitizer Solaris support (PR 33274) 2017-12-14 20:14:29 +00:00
sanitizer_quarantine.h [Sanitizers] New sanitizer API to purge allocator quarantine. 2017-10-23 17:12:07 +00:00
sanitizer_report_decorator.h [compiler-rt] Move dump_instruction_bytes and dump_registers into sanitizer_common 2017-09-13 06:24:59 +00:00
sanitizer_signal_interceptors.inc Handle symbol renaming of sigaction for NetBSD 2017-11-28 10:54:58 +00:00
sanitizer_solaris.cc [Sanitizers] Basic sanitizer Solaris support (PR 33274) 2017-12-14 20:14:29 +00:00
sanitizer_stackdepot.cc [sanitizer] Cleanup sorting functions 2018-05-09 20:42:11 +00:00
sanitizer_stackdepot.h
sanitizer_stackdepotbase.h
sanitizer_stacktrace.cc [sanitizer] Port fast stack unwinder to sparcv8 2018-05-10 21:40:16 +00:00
sanitizer_stacktrace.h [sanitizer] Trivial portion of the port to Myriad RTEMS 2018-05-18 00:43:54 +00:00
sanitizer_stacktrace_libcdep.cc Do not crash with missing symbolication when running in DEDUP mode 2017-07-10 20:06:06 +00:00
sanitizer_stacktrace_printer.cc [sanitizer] Trivial portion of the port to Myriad RTEMS 2018-05-18 00:43:54 +00:00
sanitizer_stacktrace_printer.h [sanitizer] Use architecture/slice information when symbolizing fat Mach-O files on Darwin 2017-01-06 21:45:05 +00:00
sanitizer_stacktrace_sparc.cc [sanitizer] Port fast stack unwinder to sparcv8 2018-05-10 21:40:16 +00:00
sanitizer_stoptheworld.h Update suspended threads info to be compatible with darwin 2017-04-17 20:29:38 +00:00
sanitizer_stoptheworld_linux_libcdep.cc [asan] Workaround to avoid hangs in Chromium tests 2018-05-15 01:39:13 +00:00
sanitizer_stoptheworld_mac.cc [sanitizer] Remove use of task_for_pid from sanitizer_stoptheworld_mac.cc 2017-08-07 18:07:20 +00:00
sanitizer_suppressions.cc [sanitizer] Remove reserving constructor from InternalMmapVector 2018-05-07 05:56:24 +00:00
sanitizer_suppressions.h
sanitizer_symbolizer.cc Invalidate symbolizer module list from dlopen/dlclose interceptors 2017-09-26 16:12:56 +00:00
sanitizer_symbolizer.h [sanitizer] Remove reserving constructor from InternalMmapVector 2018-05-07 05:56:24 +00:00
sanitizer_symbolizer_fuchsia.h [sanitizer] Allow Fuchsia symbolizer to be reused by Myriad RTEMS 2018-05-11 23:52:19 +00:00
sanitizer_symbolizer_internal.h Revert r324847, there's bot failures. 2018-02-11 20:44:04 +00:00
sanitizer_symbolizer_libbacktrace.cc [sanitizer] Fix sanitizer_common compile errors on gcc trunk 2017-11-07 20:10:17 +00:00
sanitizer_symbolizer_libbacktrace.h
sanitizer_symbolizer_libcdep.cc [sanitizer] Trivial portion of the port to Myriad RTEMS 2018-05-18 00:43:54 +00:00
sanitizer_symbolizer_mac.cc Revert r324847, there's bot failures. 2018-02-11 20:44:04 +00:00
sanitizer_symbolizer_mac.h
sanitizer_symbolizer_markup.cc [sanitizer] Allow Fuchsia symbolizer to be reused by Myriad RTEMS 2018-05-11 23:52:19 +00:00
sanitizer_symbolizer_posix_libcdep.cc [sanitizer] Remove reserving constructor from InternalMmapVector 2018-05-07 05:56:24 +00:00
sanitizer_symbolizer_report.cc [sanitizer] Trivial portion of the port to Myriad RTEMS 2018-05-18 00:43:54 +00:00
sanitizer_symbolizer_rtems.h [sanitizer] Allow Fuchsia symbolizer to be reused by Myriad RTEMS 2018-05-11 23:52:19 +00:00
sanitizer_symbolizer_win.cc [sanitizer] Remove empty Symbolizer PrepareForSandboxing 2018-04-03 18:07:22 +00:00
sanitizer_syscall_generic.inc OpenBSD UBsan support enabling SANITIZER_OPENBSD widely 2018-03-03 12:12:03 +00:00
sanitizer_syscall_linux_aarch64.inc Try to unbreak Linux sanitizers 2017-10-25 17:56:36 +00:00
sanitizer_syscall_linux_arm.inc [sanitizer] Asm implementation of syscall() for arm32. 2017-11-08 00:15:12 +00:00
sanitizer_syscall_linux_x86_64.inc Try to unbreak Linux sanitizers 2017-10-25 17:56:36 +00:00
sanitizer_syscalls_netbsd.inc Remove more references to ptrace_pt_{g,s}et_sigmask 2018-03-03 18:41:38 +00:00
sanitizer_termination.cc [sanitizer] Move termination functions in their own file 2016-05-27 21:57:17 +00:00
sanitizer_thread_registry.cc Prevent Thread Exited/Joined events race 2017-11-26 20:20:42 +00:00
sanitizer_thread_registry.h Prevent Thread Exited/Joined events race 2017-11-26 20:20:42 +00:00
sanitizer_tls_get_addr.cc Msan, fixing DTLS_on_tls_get_addr signature empty implementation 2018-02-21 04:16:45 +00:00
sanitizer_tls_get_addr.h [lsan] Avoid segfaults during threads destruction under high load 2017-04-06 07:42:27 +00:00
sanitizer_unwind_linux_libcdep.cc [sanitizer] Replace InternalScopedBuffer with InternalMmapVector 2018-05-07 05:56:36 +00:00
sanitizer_unwind_win.cc [sanitizer] Split stacktrace/symbolizer: Windows unwind 2018-04-04 15:23:30 +00:00
sanitizer_vector.h [sanitizer] Fix __sanitizer::Vector::Resize vector 2018-04-13 18:41:52 +00:00
sanitizer_win.cc [sanitizer] Replace InternalScopedBuffer with InternalMmapVector 2018-05-07 05:56:36 +00:00
sanitizer_win.h [sanitizer_common] Don't provide sanitizer_procmaps API functions where not defined 2017-09-25 20:48:51 +00:00
sanitizer_win_defs.h [sanitizer] if WINAPI is already defined, do not redefine it 2017-02-08 18:34:05 +00:00
sanitizer_win_dll_thunk.cc [sanitizer] Intercept weak functions in dll_thunks. 2017-02-02 23:01:34 +00:00
sanitizer_win_dll_thunk.h [compiler-rt][asan] Fix incorrect macro preventing ICF with MSVC 2017-02-21 20:04:47 +00:00
sanitizer_win_dynamic_runtime_thunk.cc [sanitizer] Add dynamic_runtime_thunk for different sanitizers. 2017-02-02 23:01:41 +00:00
sanitizer_win_weak_interception.cc [sanitizer] Fix sanitizer_common compile errors on gcc trunk 2017-11-07 20:10:17 +00:00
sanitizer_win_weak_interception.h [sanitizer] Use interception to access to strong definitions in the executable. 2017-02-02 23:02:11 +00:00
weak_symbols.txt [sanitizer] Define as weak, functions that are declared as weak. 2017-01-31 20:23:14 +00:00