hanchenye-llvm-project/compiler-rt/lib/sanitizer_common
Petr Hosek 716d9949f6 [sanitizer] Fix Fuchsia ReadBinaryName not to crash when uninitialized
If the sanitizer runtime is loaded in a binary that doesn't really
support it, then __sanitizer_startup_hook will never have been
called to initialize StoredArgv. This case can't be supported, but
its failure mode shouldn't be to crash in sanitizer_common internals.

Patch By: mcgrathr

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

llvm-svn: 331382
2018-05-02 18:08:47 +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] More dead code removal 2018-04-24 14:58:10 +00:00
.clang-format
.clang-tidy
CMakeLists.txt [sanitizer] Fix OSX build failure post D45457 2018-04-16 18:17:22 +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
sancov_flags.h
sancov_flags.inc
sanitizer_addrhashmap.h
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] Allow for the allocator "names" to be set by the tools 2018-04-13 19:21:27 +00:00
sanitizer_allocator_bytemap.h
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] Size class map & local cache improvements 2018-02-12 16:59:17 +00:00
sanitizer_allocator_primary32.h [sanitizer] Allow for the allocator "names" to be set by the tools 2018-04-13 19:21:27 +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] Allow for the allocator "names" to be set by the tools 2018-04-13 19:21:27 +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
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 Reland "[mips][compiler-rt] Provide 64bit atomic add and sub" 2017-12-22 20:31:07 +00:00
sanitizer_atomic_clang_x86.h
sanitizer_atomic_msvc.h
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 [libFuzzer] Report at most one crash per input. 2018-05-01 21:01:53 +00:00
sanitizer_common.h [sanitizer] More dead code removal 2018-04-24 14:58:10 +00:00
sanitizer_common_interceptors.inc Fix clang-cl warnings in compiler-rt 2018-04-23 17:05:47 +00:00
sanitizer_common_interceptors_format.inc
sanitizer_common_interceptors_ioctl.inc Teach sanitizer about NetBSD specific ioctl(2) calls 2018-02-15 03:36:16 +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_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_coverage_fuchsia.cc [sanitizer] Split Symbolizer/StackTraces from core RTSanitizerCommon 2018-04-16 16:32:19 +00:00
sanitizer_coverage_interface.inc
sanitizer_coverage_libcdep_new.cc [sanitizer] Split Symbolizer/StackTraces from core RTSanitizerCommon 2018-04-16 16:32:19 +00:00
sanitizer_coverage_win_dll_thunk.cc
sanitizer_coverage_win_dynamic_runtime_thunk.cc
sanitizer_coverage_win_sections.cc
sanitizer_coverage_win_weak_interception.cc
sanitizer_dbghelp.h
sanitizer_deadlock_detector.h
sanitizer_deadlock_detector1.cc
sanitizer_deadlock_detector2.cc
sanitizer_deadlock_detector_interface.h
sanitizer_errno.cc
sanitizer_errno.h OpenBSD UBsan support enabling SANITIZER_OPENBSD widely 2018-03-03 12:12:03 +00:00
sanitizer_errno_codes.h
sanitizer_file.cc
sanitizer_file.h
sanitizer_flag_parser.cc
sanitizer_flag_parser.h
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 Skip two more ioctl interceptors for NetBSD 2018-02-26 13:00:40 +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 [mips] Implement GetWriteFlag() for mips 2018-04-25 16:21:00 +00:00
sanitizer_linux.h OpenBSD UBsan support final missing bits 2018-03-16 22:29:29 +00:00
sanitizer_linux_libcdep.cc [sanitizer] More dead code removal 2018-04-24 14:58:10 +00:00
sanitizer_linux_mips64.S
sanitizer_linux_s390.cc
sanitizer_linux_x86_64.S
sanitizer_list.h
sanitizer_mac.cc [sanitizer] Fix Darwin build 2018-03-24 08:13:18 +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 The OpenBSD UBsan port introduced two typos that broke the Solaris sanitizer build. 2018-04-24 13:00:24 +00:00
sanitizer_platform_interceptors.h FreeBSD sanitizer common, intercept couple of more functions 2018-03-23 21:44:59 +00:00
sanitizer_platform_limits_linux.cc
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_freebsd.cc Removed platform-specific ifdefs from sanitizer_procmaps.h 2017-09-22 17:48:24 +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_stackdepot.h
sanitizer_stackdepotbase.h
sanitizer_stacktrace.cc
sanitizer_stacktrace.h OpenBSD UBsan support enabling SANITIZER_OPENBSD widely 2018-03-03 12:12:03 +00:00
sanitizer_stacktrace_libcdep.cc
sanitizer_stacktrace_printer.cc Add DemangleFunctionName for backtracing on NetBSD 2017-11-20 18:06:26 +00:00
sanitizer_stacktrace_printer.h
sanitizer_stoptheworld.h
sanitizer_stoptheworld_linux_libcdep.cc [tsan] Use __sanitizer_siginfo from sanitizer_common 2017-11-10 04:27:47 +00:00
sanitizer_stoptheworld_mac.cc
sanitizer_suppressions.cc
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 empty Symbolizer PrepareForSandboxing 2018-04-03 18:07:22 +00:00
sanitizer_symbolizer_fuchsia.cc [sanitizer] Split Symbolizer/StackTraces from core RTSanitizerCommon 2018-04-16 16:32: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] Remove empty Symbolizer PrepareForSandboxing 2018-04-03 18:07:22 +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_posix_libcdep.cc [sanitizer] Remove empty Symbolizer PrepareForSandboxing 2018-04-03 18:07:22 +00:00
sanitizer_symbolizer_report.cc [sanitizer] Split Symbolizer/StackTraces from core RTSanitizerCommon 2018-04-16 16:32: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_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
sanitizer_unwind_linux_libcdep.cc [Sanitizers] Basic sanitizer Solaris support (PR 33274) 2017-12-14 20:14:29 +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 Fix clang-cl warnings in compiler-rt 2018-04-23 17:05:47 +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_win_dll_thunk.cc
sanitizer_win_dll_thunk.h
sanitizer_win_dynamic_runtime_thunk.cc
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
weak_symbols.txt