gitextract_05a7zgkf/ ├── .github/ │ └── workflows/ │ └── test.yml ├── .gitignore ├── CMakeLists.txt ├── Dockerfile ├── LICENSE ├── README.md ├── backend/ │ ├── CMakeLists.txt │ └── fastgen.cpp ├── compiler/ │ ├── CMakeLists.txt │ └── ko_clang.c ├── driver/ │ ├── CMakeLists.txt │ ├── aflpp/ │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ ├── rgd.proto │ │ └── symsan.cpp │ ├── fgtest.cpp │ ├── harness-proxy.c │ └── launcher/ │ ├── CMakeLists.txt │ └── launch.c ├── include/ │ ├── alloc_inl.h │ ├── ast.h │ ├── cov.h │ ├── debug.h │ ├── defs.h │ ├── launch.h │ ├── parse-rgd.h │ ├── parse-z3.h │ ├── parse.h │ ├── solver.h │ ├── task.h │ ├── task_mgr.h │ ├── union_find.h │ └── version.h ├── instrumentation/ │ ├── CMakeLists.txt │ └── TaintPass.cpp ├── parsers/ │ ├── CMakeLists.txt │ └── rgd-parser.cpp ├── python/ │ ├── CMakeLists.txt │ ├── README.md │ ├── symsan-py.cpp │ └── test.py ├── runtime/ │ ├── CMakeLists.txt │ ├── cmake/ │ │ ├── AddCompilerRT.cmake │ │ ├── BuiltinTests.cmake │ │ ├── CompilerRTCompile.cmake │ │ ├── CompilerRTDarwinUtils.cmake │ │ ├── CompilerRTLink.cmake │ │ ├── CompilerRTUtils.cmake │ │ ├── CustomLibcxx/ │ │ │ └── CMakeLists.txt │ │ ├── HandleCompilerRT.cmake │ │ └── SanitizerUtils.cmake │ ├── common_interface_defs.h │ ├── dfsan/ │ │ ├── .clang-format │ │ ├── CMakeLists.txt │ │ ├── dfsan.cpp │ │ ├── dfsan.h │ │ ├── dfsan.syms.extra │ │ ├── dfsan_custom.cpp │ │ ├── dfsan_flags.inc │ │ ├── dfsan_interceptors.cpp │ │ ├── dfsan_platform.h │ │ ├── done_abilist.txt │ │ ├── libc++_abilist.txt │ │ ├── libc_ubuntu1404_abilist.txt │ │ ├── libc_ubuntu1804_abilist.txt │ │ ├── libc_ubuntu2204_abilist.txt │ │ ├── libc_ubuntu2404_abilist.txt │ │ ├── scripts/ │ │ │ ├── build-libc-list.py │ │ │ └── check_custom_wrappers.sh │ │ ├── taint.ld │ │ ├── taint_allocator.cpp │ │ ├── taint_allocator.h │ │ ├── union_hashtable.cpp │ │ ├── union_hashtable.h │ │ ├── union_util.cpp │ │ └── union_util.h │ ├── interception/ │ │ ├── .clang-format │ │ ├── CMakeLists.txt │ │ ├── interception.h │ │ ├── interception_linux.cpp │ │ ├── interception_linux.h │ │ ├── interception_mac.cpp │ │ ├── interception_mac.h │ │ ├── interception_type_test.cpp │ │ ├── interception_win.cpp │ │ ├── interception_win.h │ │ └── tests/ │ │ ├── CMakeLists.txt │ │ ├── interception_linux_test.cpp │ │ ├── interception_test_main.cpp │ │ └── interception_win_test.cpp │ ├── libclang_rt.dfsan-x86_64.a.syms │ └── sanitizer_common/ │ ├── .clang-format │ ├── CMakeLists.txt │ ├── sancov_flags.cpp │ ├── sancov_flags.h │ ├── sancov_flags.inc │ ├── sanitizer_addrhashmap.h │ ├── sanitizer_allocator.cpp │ ├── sanitizer_allocator.h │ ├── sanitizer_allocator_bytemap.h │ ├── sanitizer_allocator_checks.cpp │ ├── sanitizer_allocator_checks.h │ ├── sanitizer_allocator_combined.h │ ├── sanitizer_allocator_dlsym.h │ ├── sanitizer_allocator_interface.h │ ├── sanitizer_allocator_internal.h │ ├── sanitizer_allocator_local_cache.h │ ├── sanitizer_allocator_primary32.h │ ├── sanitizer_allocator_primary64.h │ ├── sanitizer_allocator_report.cpp │ ├── sanitizer_allocator_report.h │ ├── sanitizer_allocator_secondary.h │ ├── sanitizer_allocator_size_class_map.h │ ├── sanitizer_allocator_stats.h │ ├── sanitizer_asm.h │ ├── sanitizer_atomic.h │ ├── sanitizer_atomic_clang.h │ ├── sanitizer_atomic_clang_mips.h │ ├── sanitizer_atomic_clang_other.h │ ├── sanitizer_atomic_clang_x86.h │ ├── sanitizer_atomic_msvc.h │ ├── sanitizer_bitvector.h │ ├── sanitizer_bvgraph.h │ ├── sanitizer_chained_origin_depot.cpp │ ├── sanitizer_chained_origin_depot.h │ ├── sanitizer_common.cpp │ ├── sanitizer_common.h │ ├── sanitizer_common_interceptors.inc │ ├── sanitizer_common_interceptors_format.inc │ ├── sanitizer_common_interceptors_ioctl.inc │ ├── sanitizer_common_interceptors_netbsd_compat.inc │ ├── sanitizer_common_interceptors_vfork_aarch64.inc.S │ ├── sanitizer_common_interceptors_vfork_arm.inc.S │ ├── sanitizer_common_interceptors_vfork_i386.inc.S │ ├── sanitizer_common_interceptors_vfork_riscv64.inc.S │ ├── sanitizer_common_interceptors_vfork_x86_64.inc.S │ ├── sanitizer_common_interface.inc │ ├── sanitizer_common_interface_posix.inc │ ├── sanitizer_common_libcdep.cpp │ ├── sanitizer_common_nolibc.cpp │ ├── sanitizer_common_syscalls.inc │ ├── sanitizer_coverage_fuchsia.cpp │ ├── sanitizer_coverage_interface.inc │ ├── sanitizer_coverage_libcdep_new.cpp │ ├── 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 │ ├── sanitizer_deadlock_detector1.cpp │ ├── sanitizer_deadlock_detector2.cpp │ ├── sanitizer_deadlock_detector_interface.h │ ├── sanitizer_dense_map.h │ ├── sanitizer_dense_map_info.h │ ├── sanitizer_errno.cpp │ ├── sanitizer_errno.h │ ├── sanitizer_errno_codes.h │ ├── sanitizer_file.cpp │ ├── sanitizer_file.h │ ├── sanitizer_flag_parser.cpp │ ├── sanitizer_flag_parser.h │ ├── sanitizer_flags.cpp │ ├── sanitizer_flags.h │ ├── sanitizer_flags.inc │ ├── sanitizer_flat_map.h │ ├── sanitizer_freebsd.h │ ├── sanitizer_fuchsia.cpp │ ├── sanitizer_fuchsia.h │ ├── sanitizer_getauxval.h │ ├── sanitizer_glibc_version.h │ ├── sanitizer_hash.h │ ├── sanitizer_interceptors_ioctl_netbsd.inc │ ├── sanitizer_interface_internal.h │ ├── sanitizer_internal_defs.h │ ├── sanitizer_leb128.h │ ├── sanitizer_lfstack.h │ ├── sanitizer_libc.cpp │ ├── sanitizer_libc.h │ ├── sanitizer_libignore.cpp │ ├── sanitizer_libignore.h │ ├── sanitizer_linux.cpp │ ├── sanitizer_linux.h │ ├── sanitizer_linux_libcdep.cpp │ ├── sanitizer_linux_s390.cpp │ ├── sanitizer_list.h │ ├── sanitizer_local_address_space_view.h │ ├── sanitizer_lzw.h │ ├── sanitizer_mac.cpp │ ├── sanitizer_mac.h │ ├── sanitizer_mac_libcdep.cpp │ ├── sanitizer_malloc_mac.inc │ ├── sanitizer_mutex.cpp │ ├── sanitizer_mutex.h │ ├── sanitizer_netbsd.cpp │ ├── sanitizer_openbsd.cpp │ ├── sanitizer_persistent_allocator.cpp │ ├── sanitizer_persistent_allocator.h │ ├── sanitizer_placement_new.h │ ├── sanitizer_platform.h │ ├── sanitizer_platform_interceptors.h │ ├── sanitizer_platform_limits_freebsd.cpp │ ├── sanitizer_platform_limits_freebsd.h │ ├── sanitizer_platform_limits_linux.cpp │ ├── sanitizer_platform_limits_netbsd.cpp │ ├── sanitizer_platform_limits_netbsd.h │ ├── sanitizer_platform_limits_openbsd.cpp │ ├── sanitizer_platform_limits_openbsd.h │ ├── sanitizer_platform_limits_posix.cpp │ ├── sanitizer_platform_limits_posix.h │ ├── sanitizer_platform_limits_solaris.cpp │ ├── sanitizer_platform_limits_solaris.h │ ├── sanitizer_posix.cpp │ ├── sanitizer_posix.h │ ├── sanitizer_posix_libcdep.cpp │ ├── sanitizer_printf.cpp │ ├── sanitizer_procmaps.h │ ├── sanitizer_procmaps_bsd.cpp │ ├── sanitizer_procmaps_common.cpp │ ├── sanitizer_procmaps_fuchsia.cpp │ ├── sanitizer_procmaps_linux.cpp │ ├── sanitizer_procmaps_mac.cpp │ ├── sanitizer_procmaps_solaris.cpp │ ├── sanitizer_ptrauth.h │ ├── sanitizer_quarantine.h │ ├── sanitizer_report_decorator.h │ ├── sanitizer_ring_buffer.h │ ├── sanitizer_rtems.cpp │ ├── sanitizer_rtems.h │ ├── sanitizer_signal_interceptors.inc │ ├── sanitizer_solaris.cpp │ ├── sanitizer_stack_store.cpp │ ├── sanitizer_stack_store.h │ ├── sanitizer_stackdepot.cpp │ ├── sanitizer_stackdepot.h │ ├── sanitizer_stackdepotbase.h │ ├── sanitizer_stacktrace.cpp │ ├── sanitizer_stacktrace.h │ ├── sanitizer_stacktrace_libcdep.cpp │ ├── sanitizer_stacktrace_printer.cpp │ ├── sanitizer_stacktrace_printer.h │ ├── sanitizer_stacktrace_sparc.cpp │ ├── sanitizer_stoptheworld.h │ ├── sanitizer_stoptheworld_fuchsia.cpp │ ├── sanitizer_stoptheworld_fuchsia.h │ ├── sanitizer_stoptheworld_linux_libcdep.cpp │ ├── sanitizer_stoptheworld_mac.cpp │ ├── sanitizer_stoptheworld_netbsd_libcdep.cpp │ ├── sanitizer_stoptheworld_win.cpp │ ├── sanitizer_suppressions.cpp │ ├── sanitizer_suppressions.h │ ├── sanitizer_symbolizer.cpp │ ├── sanitizer_symbolizer.h │ ├── sanitizer_symbolizer_fuchsia.h │ ├── sanitizer_symbolizer_internal.h │ ├── sanitizer_symbolizer_libbacktrace.cpp │ ├── sanitizer_symbolizer_libbacktrace.h │ ├── sanitizer_symbolizer_libcdep.cpp │ ├── sanitizer_symbolizer_mac.cpp │ ├── sanitizer_symbolizer_mac.h │ ├── sanitizer_symbolizer_markup.cpp │ ├── sanitizer_symbolizer_posix_libcdep.cpp │ ├── sanitizer_symbolizer_report.cpp │ ├── sanitizer_symbolizer_rtems.h │ ├── sanitizer_symbolizer_win.cpp │ ├── sanitizer_syscall_generic.inc │ ├── sanitizer_syscall_linux_aarch64.inc │ ├── sanitizer_syscall_linux_arm.inc │ ├── sanitizer_syscall_linux_hexagon.inc │ ├── sanitizer_syscall_linux_riscv64.inc │ ├── sanitizer_syscall_linux_x86_64.inc │ ├── sanitizer_syscalls_netbsd.inc │ ├── sanitizer_termination.cpp │ ├── sanitizer_thread_registry.cpp │ ├── sanitizer_thread_registry.h │ ├── sanitizer_thread_safety.h │ ├── sanitizer_tls_get_addr.cpp │ ├── sanitizer_tls_get_addr.h │ ├── sanitizer_type_traits.cpp │ ├── sanitizer_type_traits.h │ ├── sanitizer_unwind_linux_libcdep.cpp │ ├── sanitizer_unwind_win.cpp │ ├── sanitizer_vector.h │ ├── sanitizer_win.cpp │ ├── 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 │ ├── scripts/ │ │ ├── check_lint.sh │ │ ├── cpplint.py │ │ ├── gen_dynamic_list.py │ │ ├── litlint.py │ │ ├── litlint_test.py │ │ └── sancov.py │ ├── symbolizer/ │ │ ├── sanitizer_symbolize.cpp │ │ ├── sanitizer_wrappers.cpp │ │ └── scripts/ │ │ ├── ar_to_bc.sh │ │ ├── build_symbolizer.sh │ │ └── global_symbols.txt │ ├── tests/ │ │ ├── CMakeLists.txt │ │ ├── malloc_stress_transfer_test.cpp │ │ ├── sanitizer_addrhashmap_test.cpp │ │ ├── sanitizer_allocator_test.cpp │ │ ├── sanitizer_allocator_testlib.cpp │ │ ├── sanitizer_atomic_test.cpp │ │ ├── sanitizer_bitvector_test.cpp │ │ ├── sanitizer_bvgraph_test.cpp │ │ ├── sanitizer_chained_origin_depot_test.cpp │ │ ├── sanitizer_common_test.cpp │ │ ├── sanitizer_deadlock_detector_test.cpp │ │ ├── sanitizer_dense_map_test.cpp │ │ ├── sanitizer_flags_test.cpp │ │ ├── sanitizer_flat_map_test.cpp │ │ ├── sanitizer_format_interceptor_test.cpp │ │ ├── sanitizer_hash_test.cpp │ │ ├── sanitizer_ioctl_test.cpp │ │ ├── sanitizer_leb128_test.cpp │ │ ├── sanitizer_libc_test.cpp │ │ ├── sanitizer_linux_test.cpp │ │ ├── sanitizer_list_test.cpp │ │ ├── sanitizer_lzw_test.cpp │ │ ├── sanitizer_mac_test.cpp │ │ ├── sanitizer_mutex_test.cpp │ │ ├── sanitizer_nolibc_test.cpp │ │ ├── sanitizer_nolibc_test_main.cpp │ │ ├── sanitizer_posix_test.cpp │ │ ├── sanitizer_printf_test.cpp │ │ ├── sanitizer_procmaps_test.cpp │ │ ├── sanitizer_pthread_wrappers.h │ │ ├── sanitizer_quarantine_test.cpp │ │ ├── sanitizer_ring_buffer_test.cpp │ │ ├── sanitizer_stack_store_test.cpp │ │ ├── sanitizer_stackdepot_test.cpp │ │ ├── sanitizer_stacktrace_printer_test.cpp │ │ ├── sanitizer_stacktrace_test.cpp │ │ ├── sanitizer_stoptheworld_test.cpp │ │ ├── sanitizer_stoptheworld_testlib.cpp │ │ ├── sanitizer_suppressions_test.cpp │ │ ├── sanitizer_symbolizer_test.cpp │ │ ├── sanitizer_test_config.h │ │ ├── sanitizer_test_main.cpp │ │ ├── sanitizer_test_utils.h │ │ ├── sanitizer_thread_registry_test.cpp │ │ ├── sanitizer_type_traits_test.cpp │ │ ├── sanitizer_vector_test.cpp │ │ └── standalone_malloc_test.cpp │ └── weak_symbols.txt ├── solvers/ │ ├── CMakeLists.txt │ ├── i2s-solver.cpp │ ├── jigsaw/ │ │ ├── CMakeLists.txt │ │ ├── config.h │ │ ├── gd.cc │ │ ├── grad.cc │ │ ├── grad.h │ │ ├── input.cc │ │ ├── input.h │ │ ├── jit.cc │ │ ├── jit.h │ │ └── rgdJit.h │ ├── jit-solver.cpp │ ├── wheels/ │ │ ├── concurrentqueue/ │ │ │ └── queue.h │ │ ├── lockfreehash/ │ │ │ ├── cuckoo/ │ │ │ │ ├── Makefile │ │ │ │ ├── benchmark_lockfree_ht.h │ │ │ │ ├── benchmark_unordered_map.h │ │ │ │ ├── cycle_timer.h │ │ │ │ ├── hash_table.h │ │ │ │ ├── lockfree_hash_table.cpp │ │ │ │ ├── lockfree_hash_table.h │ │ │ │ ├── main.cpp │ │ │ │ └── thread_service.h │ │ │ └── lprobe/ │ │ │ ├── Makefile │ │ │ ├── alloc.h │ │ │ ├── benchmark_lprobe.h │ │ │ ├── benchmark_lprobe_ptr.h │ │ │ ├── block_allocator.h │ │ │ ├── concurrent_stack.h │ │ │ ├── cycle_timer.h │ │ │ ├── data.h │ │ │ ├── data_ptr.h │ │ │ ├── get_time.h │ │ │ ├── hash_table.h │ │ │ ├── main.cc │ │ │ ├── memory_size.h │ │ │ ├── monoid.h │ │ │ ├── parallel.h │ │ │ ├── seq.h │ │ │ ├── sequence_ops.h │ │ │ ├── thread_service.h │ │ │ ├── thread_service_ptr.h │ │ │ └── utilities.h │ │ └── threadpool/ │ │ ├── ThreadPool.h │ │ ├── ctpl.h │ │ └── threadpool_example.cpp │ ├── z3-solver.cpp │ ├── z3-ts.cpp │ └── z3.cpp ├── tests/ │ ├── CMakeLists.txt │ ├── aggregate.c │ ├── atoi_test.c │ ├── atomicrmw.c │ ├── bitflip.c │ ├── bool.c │ ├── boundary.c │ ├── boundary2.c │ ├── boundary3.c │ ├── boundary4.c │ ├── boundary5.c │ ├── boundary6.c │ ├── boundary7.c │ ├── bounds.cpp │ ├── call_fn.c │ ├── call_fn2.c │ ├── call_fn3.c │ ├── cf1.c │ ├── concrete_haystack.c │ ├── context.c │ ├── cpp_fstream.cpp │ ├── cpp_map.cpp │ ├── cpp_string.cpp │ ├── gep.c │ ├── if_eq.c │ ├── infer_type.c │ ├── lib.h │ ├── lit.cfg │ ├── lit.site.cfg.in │ ├── memchr.c │ ├── memchr_chain.c │ ├── memchr_mixed_chain.c │ ├── memcmp.c │ ├── memmem.c │ ├── memrchr.c │ ├── memrchr_chain.c │ ├── mini.c │ ├── mini2.c │ ├── optimistic.c │ ├── partial_concrete.c │ ├── partial_concrete2.c │ ├── partial_concrete3.c │ ├── pointer.c │ ├── prefixof.c │ ├── shift_and.c │ ├── sign.c │ ├── str_mem_mixed_chain.c │ ├── strcat.c │ ├── strcat_mixed.c │ ├── strchr.c │ ├── strchr_chain.c │ ├── strchr_mixed_chain.c │ ├── strcmp.c │ ├── strcmp2.c │ ├── strdup.c │ ├── strlen_extend.c │ ├── strlen_json3.c │ ├── strlen_null_from_input.c │ ├── strlen_shrink.c │ ├── strlen_test.c │ ├── strncat.c │ ├── strncpy_simple.c │ ├── strncpy_substr.c │ ├── strndup.c │ ├── strnstr.c │ ├── strpbrk.c │ ├── strrchr.c │ ├── strstr.c │ ├── strsub.c │ ├── struct.c │ ├── switch.c │ ├── ubsan_div.c │ ├── ubsan_intovfl.c │ ├── ubsan_mulovfl.c │ ├── ubsan_negateovfl.c │ ├── ubsan_shift.c │ ├── ubsan_signchange.c │ ├── ubsan_signed_intovfl.c │ ├── ubsan_subovfl.c │ ├── ubsan_trunc.c │ ├── unaligned_load.c │ └── xor_bool.c └── wrappers/ ├── CMakeLists.txt └── zlib_abilist.txt