llvm-project/compiler-rt/lib/sanitizer_common
Fangrui Song 0e182469ee [sanitizer] Delete empty sanitizer_openbsd.cpp after D89759 2022-06-16 16:38:01 -07:00
..
scripts [sanitizer] Remove cpplint 2021-07-30 15:21:04 -07:00
symbolizer ar_to_bc.sh: Ignore non-bitcode files in archives 2022-06-01 10:28:14 -07:00
tests [sanitizer_common] Fix SanitizerCommon.ChainedOriginDepotStats test 2022-06-16 11:59:58 +02:00
.clang-format Revert "sanitizers: increase .clang-format columns to 100" 2021-07-28 09:40:21 +02:00
CMakeLists.txt [gn build] slighly reformat files to make sync script work 2022-01-27 20:09:04 -05:00
sancov_flags.cpp
sancov_flags.h
sancov_flags.inc [compiler-rt] NFC: Fix trivial typo 2021-09-04 14:12:58 +05:30
sanitizer_addrhashmap.h sanitizer_common: prefix thread-safety macros with SANITIZER_ 2022-01-07 15:11:00 +01:00
sanitizer_allocator.cpp sanitizer_common: prefix thread-safety macros with SANITIZER_ 2022-01-07 15:11:00 +01:00
sanitizer_allocator.h [NFC][sanitizer] Remove SetSoftRssLimitExceededCallback 2021-12-02 14:37:02 -08:00
sanitizer_allocator_checks.cpp
sanitizer_allocator_checks.h [compiler-rt] Replace INLINE with inline 2020-09-17 16:24:20 +02:00
sanitizer_allocator_combined.h sanitizer_common: prefix thread-safety macros with SANITIZER_ 2022-01-07 15:11:00 +01:00
sanitizer_allocator_dlsym.h [sanitizer] Switch dlsym hack to internal_allocator 2021-11-12 16:11:10 -08:00
sanitizer_allocator_interface.h
sanitizer_allocator_internal.h tsan: lock internal allocator around fork 2021-11-24 17:01:28 +01:00
sanitizer_allocator_local_cache.h sanitizer_common: optimize memory drain 2021-07-13 16:28:48 -07:00
sanitizer_allocator_primary32.h sanitizer_common: prefix thread-safety macros with SANITIZER_ 2022-01-07 15:11:00 +01:00
sanitizer_allocator_primary64.h sanitizer_common: prefix thread-safety macros with SANITIZER_ 2022-01-07 15:11:00 +01:00
sanitizer_allocator_report.cpp [compiler-rt][sanitizer] Have all OOM-related error messages start with the same format 2022-06-07 16:46:01 -07:00
sanitizer_allocator_report.h [MemProf] Memory profiling runtime support 2020-10-16 09:47:02 -07:00
sanitizer_allocator_secondary.h sanitizer_common: prefix thread-safety macros with SANITIZER_ 2022-01-07 15:11:00 +01:00
sanitizer_allocator_size_class_map.h [sanitizer] Fix format string 2021-08-14 16:53:46 -07:00
sanitizer_allocator_stats.h
sanitizer_asm.h [sanitizer] Use one #if instead of 3 nested #if after D111185 2021-10-08 10:31:57 -07:00
sanitizer_atomic.h [compiler-rt] Replace INLINE with inline 2020-09-17 16:24:20 +02:00
sanitizer_atomic_clang.h [sanitizer][mips] Fix the condition to include sanitizer_atomic_clang_mips.h 2022-03-09 10:20:05 -08:00
sanitizer_atomic_clang_mips.h [compiler-rt] NFC: Fix trivial typo 2021-09-04 14:12:58 +05:30
sanitizer_atomic_clang_other.h [sanitizer] Use __atomic_load/store() built-ins for generic 32-bit targets 2020-10-30 09:17:46 +01:00
sanitizer_atomic_clang_x86.h [compiler-rt] Replace INLINE with inline 2020-09-17 16:24:20 +02:00
sanitizer_atomic_msvc.h [compiler-rt] Replace INLINE with inline 2020-09-17 16:24:20 +02:00
sanitizer_bitvector.h
sanitizer_bvgraph.h
sanitizer_chained_origin_depot.cpp [sanitizer_common] Fix SanitizerCommon.ChainedOriginDepotStats test 2022-06-16 11:59:58 +02:00
sanitizer_chained_origin_depot.h [sanitizer_common] Fix SanitizerCommon.ChainedOriginDepotStats test 2022-06-16 11:59:58 +02:00
sanitizer_common.cpp [compiler-rt][sanitizer] Have all OOM-related error messages start with the same format 2022-06-07 16:46:01 -07:00
sanitizer_common.h [compiler-rt][sanitizer] Have all OOM-related error messages start with the same format 2022-06-07 16:46:01 -07:00
sanitizer_common_interceptors.inc [Sanitizers] prctl interception update for the PR_SET_VMA option case. 2022-06-09 06:07:26 +01:00
sanitizer_common_interceptors_format.inc sanitizer_common: fix format strings 2021-08-13 13:44:41 +02:00
sanitizer_common_interceptors_ioctl.inc [MSAN] extend ioctl interceptor to support BLKSSZGET 2022-03-04 15:39:30 -08:00
sanitizer_common_interceptors_netbsd_compat.inc [compiler-rt] change internal internal libc invariants 2021-08-24 16:41:15 +00:00
sanitizer_common_interceptors_vfork_aarch64.inc.S [AArch64][compiler-rt] Fix PAC instructions for older compilers 2021-03-11 09:21:05 +00:00
sanitizer_common_interceptors_vfork_arm.inc.S
sanitizer_common_interceptors_vfork_i386.inc.S Reland [sanitizer] Support Intel CET 2021-10-08 10:22:39 -07:00
sanitizer_common_interceptors_vfork_riscv64.inc.S [RISCV][ASAN] implementation for vfork interceptor for riscv64 2020-09-22 22:23:29 -07:00
sanitizer_common_interceptors_vfork_x86_64.inc.S Reland [sanitizer] Support Intel CET 2021-10-08 10:22:39 -07:00
sanitizer_common_interface.inc [sanitizer_common] Add facility to get the full report path 2020-11-19 09:19:12 -08:00
sanitizer_common_interface_posix.inc [sanitizer] Add common "demangle" flag 2021-12-23 14:36:39 -08:00
sanitizer_common_libcdep.cpp sanitizer: use pragma clang conditionally 2022-05-03 11:34:30 +02:00
sanitizer_common_nolibc.cpp [Sanitizers][Darwin] Replace SANITIZER_MAC with SANITIZER_APPLE in source files 2022-05-24 12:59:27 -07:00
sanitizer_common_syscalls.inc [sanitizer] Add callbacks for epoll_pwait2 2021-08-02 14:14:19 -07:00
sanitizer_coverage_fuchsia.cpp [sanitizers] Add missing header to fix Fuchsia builds 2022-02-11 21:58:02 +00:00
sanitizer_coverage_interface.inc [SanitizerCoverage] Add `__sanitizer_cov_bool_flag_init` as the weak interface functions. 2020-04-24 19:54:54 -07:00
sanitizer_coverage_libcdep_new.cpp [sancov][sanitizer-common] Correct sanitizer coverage point 2022-02-24 17:16:45 +08:00
sanitizer_coverage_win_dll_thunk.cpp
sanitizer_coverage_win_dynamic_runtime_thunk.cpp
sanitizer_coverage_win_sections.cpp
sanitizer_coverage_win_weak_interception.cpp
sanitizer_dbghelp.h
sanitizer_deadlock_detector.h [compiler-rt] Fix typo in DeadlockDetector (chanding->changing) 2021-11-10 21:51:47 +01:00
sanitizer_deadlock_detector1.cpp sanitizer_common: use 0 for empty stack id 2021-07-12 12:24:27 +02:00
sanitizer_deadlock_detector2.cpp sanitizer_common: rename Mutex to MutexState 2021-07-12 11:23:46 +02:00
sanitizer_deadlock_detector_interface.h [NFC] Fix cpplint warnings 2020-11-04 22:56:08 -08:00
sanitizer_dense_map.h [NFC][sanitizer] Reuse forEach for operator== 2021-11-23 15:23:25 -08:00
sanitizer_dense_map_info.h [NFC][sanitizer] constexpr in sanitizer_dense_map_info 2021-12-01 13:45:42 -08:00
sanitizer_errno.cpp
sanitizer_errno.h [Sanitizers][Darwin] Replace SANITIZER_MAC with SANITIZER_APPLE in source files 2022-05-24 12:59:27 -07:00
sanitizer_errno_codes.h [msan] Skip memcpy interceptor called by gethostname 2020-09-25 15:26:34 -07:00
sanitizer_file.cpp [sanitizer] Check if directory exists before trying to create 2022-02-13 06:59:32 -08:00
sanitizer_file.h [sanitizer] Check if directory exists before trying to create 2022-02-13 06:59:32 -08:00
sanitizer_flag_parser.cpp
sanitizer_flag_parser.h sanitizer_common: fix format strings 2021-08-13 13:44:41 +02:00
sanitizer_flags.cpp [asan] Add %d variable to external_symbolizer_path option, so that user can specify paths relative to the location of the binary. 2021-02-04 15:43:02 -08:00
sanitizer_flags.h [NFC] Extract InitializePlatformCommonFlags 2020-11-04 19:23:28 -08:00
sanitizer_flags.inc [Sanitizers][Darwin] Replace SANITIZER_MAC with SANITIZER_APPLE in source files 2022-05-24 12:59:27 -07:00
sanitizer_flat_map.h [NFC][sanitizer] Atomix relaxed in TwoLevelMap 2021-10-31 12:18:03 -07:00
sanitizer_freebsd.h
sanitizer_fuchsia.cpp [compiler-rt][sanitizer] Have all OOM-related error messages start with the same format 2022-06-07 16:46:01 -07:00
sanitizer_fuchsia.h [NFC][compiler-rt][fuchsia] Add InitShadowBounds declaration to header 2021-07-08 13:19:17 -07:00
sanitizer_getauxval.h Disable getauxval for Go 2020-07-31 10:13:03 -07:00
sanitizer_glibc_version.h
sanitizer_hash.h [NFC][sanitizer] Add MurMur2Hash64Builder 2021-10-05 20:54:06 -07:00
sanitizer_interceptors_ioctl_netbsd.inc [sanitizer] Remove cpplint annotations 2021-07-30 18:20:40 -07:00
sanitizer_interface_internal.h [NFC] clang-format sanitizer_interface_internal.h 2022-03-29 13:29:07 -07:00
sanitizer_internal_defs.h [Sanitizers][Darwin] Replace SANITIZER_MAC with SANITIZER_APPLE in source files 2022-05-24 12:59:27 -07:00
sanitizer_leb128.h [sanitizer] Add Leb128 encoding/decoding 2021-11-29 17:12:34 -08:00
sanitizer_lfstack.h
sanitizer_libc.cpp Revert "SIGSEGV in Sanitizer INTERCEPTOR of strstr function." 2022-01-05 21:28:01 -08:00
sanitizer_libc.h [compiler-rt] change internal internal libc invariants 2021-08-24 16:41:15 +00:00
sanitizer_libignore.cpp [Sanitizers][Darwin] Replace SANITIZER_MAC with SANITIZER_APPLE in source files 2022-05-24 12:59:27 -07:00
sanitizer_libignore.h sanitizer_common: remove BlockingMutex and RWMutex 2021-07-29 12:38:53 +02:00
sanitizer_linux.cpp [compiler-rt] Add the common FreeBSD AArch64 support 2022-06-08 17:22:01 -04:00
sanitizer_linux.h [Sanitizers] intercept FreeBSD procctl 2022-06-08 08:55:10 +01:00
sanitizer_linux_libcdep.cpp [sanitizer] Correct GetTls for x32 2022-05-05 13:55:19 -07:00
sanitizer_linux_s390.cpp [SystemZ] [Sanitizer] Bugfixes in internal_clone(). 2021-11-17 14:42:08 -05:00
sanitizer_list.h
sanitizer_local_address_space_view.h [compiler-rt] NFC: Fix trivial typo 2021-09-04 14:12:58 +05:30
sanitizer_lzw.h [sanitizer] Add Lempel–Ziv–Welch encoder/decoder 2021-12-03 13:11:40 -08:00
sanitizer_mac.cpp [Sanitizers][Darwin] Replace SANITIZER_MAC with SANITIZER_APPLE in source files 2022-05-24 12:59:27 -07:00
sanitizer_mac.h [Sanitizers][Darwin] Replace SANITIZER_MAC with SANITIZER_APPLE in source files 2022-05-24 12:59:27 -07:00
sanitizer_mac_libcdep.cpp [Sanitizers][Darwin] Replace SANITIZER_MAC with SANITIZER_APPLE in source files 2022-05-24 12:59:27 -07:00
sanitizer_malloc_mac.inc [Sanitizers][Darwin] Replace SANITIZER_MAC with SANITIZER_APPLE in source files 2022-05-24 12:59:27 -07:00
sanitizer_mutex.cpp sanitizer_common: fix deadlock detector output 2021-10-26 16:11:52 +02:00
sanitizer_mutex.h [Sanitizers][Darwin] Replace SANITIZER_MAC with SANITIZER_APPLE in source files 2022-05-24 12:59:27 -07:00
sanitizer_netbsd.cpp sanitizer_common: sanitize time functions 2021-07-11 12:09:47 +02:00
sanitizer_placement_new.h
sanitizer_platform.h [compiler-rt][lsan] Choose lsan allocator via SANITIZER_CAN_USE_ALLOCATOR64 2022-06-07 17:23:38 -07:00
sanitizer_platform_interceptors.h Revert "[Sanitizers] Cleanup handling of stat64/statfs64" 2022-06-10 10:56:26 -07:00
sanitizer_platform_limits_freebsd.cpp [Sanitizers] intercept FreeBSD procctl 2022-06-08 08:55:10 +01:00
sanitizer_platform_limits_freebsd.h [Sanitizers] intercept FreeBSD procctl 2022-06-08 08:55:10 +01:00
sanitizer_platform_limits_linux.cpp Revert "[Sanitizers] Cleanup handling of stat64/statfs64" 2022-06-10 10:56:26 -07:00
sanitizer_platform_limits_netbsd.cpp msan: account for AVX state when unpoison ucontext_t 2022-01-05 13:20:40 +01:00
sanitizer_platform_limits_netbsd.h Revert "[MSAN] add interceptor for timer_create, timer_settime, timer_gettime" 2022-03-09 14:57:05 -08:00
sanitizer_platform_limits_openbsd.cpp [Sanitizers] Remove OpenBSD support (new attempt) 2020-10-20 11:16:09 +01:00
sanitizer_platform_limits_openbsd.h [Sanitizers] Remove OpenBSD support (new attempt) 2020-10-20 11:16:09 +01:00
sanitizer_platform_limits_posix.cpp Revert "[Sanitizers] Cleanup handling of stat64/statfs64" 2022-06-10 10:56:26 -07:00
sanitizer_platform_limits_posix.h Revert "[Sanitizers] Cleanup handling of stat64/statfs64" 2022-06-10 10:56:26 -07:00
sanitizer_platform_limits_solaris.cpp msan: account for AVX state when unpoison ucontext_t 2022-01-05 13:20:40 +01:00
sanitizer_platform_limits_solaris.h Revert "[MSAN] add interceptor for timer_create, timer_settime, timer_gettime" 2022-03-09 14:57:05 -08:00
sanitizer_posix.cpp [compiler-rt][sanitizer] Have all OOM-related error messages start with the same format 2022-06-07 16:46:01 -07:00
sanitizer_posix.h [compiler-rt][hwasan] Check for SANITIZER_POSIX before including sanitizer_posix.h 2021-07-29 14:21:30 -07:00
sanitizer_posix_libcdep.cpp [Sanitizers][Darwin] Replace SANITIZER_MAC with SANITIZER_APPLE in source files 2022-05-24 12:59:27 -07:00
sanitizer_printf.cpp [NFC][sanitizer] Fix veradic-macro warning in RAW_CHECK 2021-11-17 18:10:54 -08:00
sanitizer_procmaps.h [Sanitizers][Darwin] Replace SANITIZER_MAC with SANITIZER_APPLE in source files 2022-05-24 12:59:27 -07:00
sanitizer_procmaps_bsd.cpp [Sanitizers] Remove OpenBSD support (new attempt) 2020-10-20 11:16:09 +01:00
sanitizer_procmaps_common.cpp sanitizer_common: fix crashes in parsing of memory profiles 2021-10-29 14:03:12 +02:00
sanitizer_procmaps_fuchsia.cpp
sanitizer_procmaps_linux.cpp
sanitizer_procmaps_mac.cpp [Sanitizers][Darwin] Replace SANITIZER_MAC with SANITIZER_APPLE in source files 2022-05-24 12:59:27 -07:00
sanitizer_procmaps_solaris.cpp [sanitizer_common] Fix readlink error handling in sanitizer_procmaps_solaris.cpp 2021-11-02 22:06:17 +01:00
sanitizer_ptrauth.h [AArch64][compiler-rt] Strip PAC from the link register. 2021-03-18 22:01:50 +01:00
sanitizer_quarantine.h sanitizer_common: prefix thread-safety macros with SANITIZER_ 2022-01-07 15:11:00 +01:00
sanitizer_report_decorator.h
sanitizer_ring_buffer.h Sign-extend addresses in CompactRingBuffer. 2022-02-10 11:59:15 -08:00
sanitizer_signal_interceptors.inc [ubsan] warn inside the sigaction interceptor if static linking is suspected, and continue instead of crashing on null deref 2021-09-01 12:36:48 -07:00
sanitizer_solaris.cpp sanitizer_common: replace RWMutex/BlockingMutex with Mutex 2021-07-28 15:10:24 +02:00
sanitizer_stack_store.cpp [compiler-rt] Silence warnings when building with MSVC 2022-01-11 10:36:57 -05:00
sanitizer_stack_store.h sanitizer_common: prefix thread-safety macros with SANITIZER_ 2022-01-07 15:11:00 +01:00
sanitizer_stackdepot.cpp [sanitizer] Don't collect unused info 2022-02-24 20:20:34 -08:00
sanitizer_stackdepot.h [sanitizer] Run Stack compression in background thread 2021-12-09 10:29:50 -08:00
sanitizer_stackdepotbase.h [NFC][sanitizer] Add StackDepotTestOnlyUnmap 2021-10-16 13:47:57 -07:00
sanitizer_stacktrace.cpp [sanitizer][sancov] Use pc-1 for s390x 2022-02-23 13:35:22 -08:00
sanitizer_stacktrace.h [Sanitizers][Darwin] Replace SANITIZER_MAC with SANITIZER_APPLE in source files 2022-05-24 12:59:27 -07:00
sanitizer_stacktrace_libcdep.cpp sanitizer_common: fix __sanitizer_get_module_and_offset_for_pc signature mismatch 2022-02-03 19:41:19 +01:00
sanitizer_stacktrace_printer.cpp [sanitizers] include build ids in stacks on linux. 2021-12-10 14:24:03 -08:00
sanitizer_stacktrace_printer.h [sanitizer] Skip stack symbolization when not required for print format 2020-10-07 15:38:52 -07:00
sanitizer_stacktrace_sparc.cpp [compiler-rt] NFC: Fix trivial typo 2021-09-04 14:12:58 +05:30
sanitizer_stoptheworld.h [sanitizer] Cleanup -Wnon-virtual-dtor warnings 2020-11-02 20:30:50 -08:00
sanitizer_stoptheworld_fuchsia.cpp [compiler-rt] Use empty SuspendedThreadsList for Fuchsia 2020-11-03 11:34:13 -08:00
sanitizer_stoptheworld_fuchsia.h [compiler-rt] Use empty SuspendedThreadsList for Fuchsia 2020-11-03 11:34:13 -08:00
sanitizer_stoptheworld_linux_libcdep.cpp sanitizer_common: remove BlockingMutex and RWMutex 2021-07-29 12:38:53 +02:00
sanitizer_stoptheworld_mac.cpp [Sanitizers][Darwin] Replace SANITIZER_MAC with SANITIZER_APPLE in source files 2022-05-24 12:59:27 -07:00
sanitizer_stoptheworld_netbsd_libcdep.cpp sanitizer_common: remove BlockingMutex and RWMutex 2021-07-29 12:38:53 +02:00
sanitizer_stoptheworld_win.cpp Silence warning with MSVC. 2022-01-15 12:06:38 -05:00
sanitizer_suppressions.cpp [sanitizer][NFC] Remove InternalScopedString::size() 2021-03-16 14:11:59 -07:00
sanitizer_suppressions.h
sanitizer_symbolizer.cpp [Darwin] Remove workaround for symbolication in iOS simulator runtimes 2021-12-15 17:22:13 -08:00
sanitizer_symbolizer.h Revert "[sanitizer] Don't run malloc hooks for stacktraces" 2022-04-13 23:52:36 -07:00
sanitizer_symbolizer_fuchsia.h
sanitizer_symbolizer_internal.h [compiler-rt] Avoid truncating Symbolizer output 2022-06-07 21:50:39 +00:00
sanitizer_symbolizer_libbacktrace.cpp
sanitizer_symbolizer_libbacktrace.h [sanitizer] Cleanup -Wnon-virtual-dtor warnings 2020-11-02 20:30:50 -08:00
sanitizer_symbolizer_libcdep.cpp Reland "[ASan] Use debuginfo for symbolization." 2022-06-16 13:58:55 -07:00
sanitizer_symbolizer_mac.cpp [Sanitizers][Darwin] Replace SANITIZER_MAC with SANITIZER_APPLE in source files 2022-05-24 12:59:27 -07:00
sanitizer_symbolizer_mac.h [Sanitizers][Darwin] Replace SANITIZER_MAC with SANITIZER_APPLE in source files 2022-05-24 12:59:27 -07:00
sanitizer_symbolizer_markup.cpp Revert "[sanitizer] Don't run malloc hooks for stacktraces" 2022-04-13 23:52:36 -07:00
sanitizer_symbolizer_posix_libcdep.cpp [compiler-rt] Avoid truncating Symbolizer output 2022-06-07 21:50:39 +00:00
sanitizer_symbolizer_report.cpp [Sanitizers][Darwin] Replace SANITIZER_MAC with SANITIZER_APPLE in source files 2022-05-24 12:59:27 -07:00
sanitizer_symbolizer_win.cpp [Darwin] Remove workaround for symbolication in iOS simulator runtimes 2021-12-15 17:22:13 -08:00
sanitizer_syscall_generic.inc [compiler-rt] Add the common FreeBSD AArch64 support 2022-06-08 17:22:01 -04:00
sanitizer_syscall_linux_aarch64.inc
sanitizer_syscall_linux_arm.inc
sanitizer_syscall_linux_hexagon.inc [sanitizer] Add hexagon support to sanitizer-common 2021-08-17 19:59:24 -07:00
sanitizer_syscall_linux_riscv64.inc [NFC] Fix banner 2020-10-09 10:00:11 +01:00
sanitizer_syscall_linux_x86_64.inc
sanitizer_syscalls_netbsd.inc msan: account for AVX state when unpoison ucontext_t 2022-01-05 13:20:40 +01:00
sanitizer_termination.cpp msan: disble CHECK test on powerpc64 2021-10-25 19:38:27 +02:00
sanitizer_thread_registry.cpp tsan: fix failures after multi-threaded fork 2021-12-21 16:54:00 +01:00
sanitizer_thread_registry.h sanitizer_common: prefix thread-safety macros with SANITIZER_ 2022-01-07 15:11:00 +01:00
sanitizer_thread_safety.h sanitizer_common: prefix thread-safety macros with SANITIZER_ 2022-01-07 15:11:00 +01:00
sanitizer_tls_get_addr.cpp Fix -Wformat warnings reported by GCC. 2021-11-04 08:51:43 +01:00
sanitizer_tls_get_addr.h [sanitizer] Make DTLS_on_tls_get_addr signal safer 2020-12-01 16:16:04 -08:00
sanitizer_type_traits.cpp
sanitizer_type_traits.h [sanitizer] Add a few of type_traits tools 2021-11-17 17:52:40 -08:00
sanitizer_unwind_linux_libcdep.cpp [Sanitizers][Darwin] Replace SANITIZER_MAC with SANITIZER_APPLE in source files 2022-05-24 12:59:27 -07:00
sanitizer_unwind_win.cpp Fix registers for Windows on ARM64 2022-01-13 21:39:01 -08:00
sanitizer_vector.h
sanitizer_win.cpp [compiler-rt][sanitizer] Have all OOM-related error messages start with the same format 2022-06-07 16:46:01 -07:00
sanitizer_win.h
sanitizer_win_defs.h
sanitizer_win_dll_thunk.cpp
sanitizer_win_dll_thunk.h
sanitizer_win_dynamic_runtime_thunk.cpp
sanitizer_win_weak_interception.cpp
sanitizer_win_weak_interception.h
weak_symbols.txt [sanitizer] Add common "demangle" flag 2021-12-23 14:36:39 -08:00