From 735bb147e271fc441f265435dfafc143b1d2e71a Mon Sep 17 00:00:00 2001 From: gingerBill Date: Thu, 21 Sep 2023 11:03:25 +0100 Subject: Add asan lib for Windows --- src/llvm_backend.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/llvm_backend.cpp') diff --git a/src/llvm_backend.cpp b/src/llvm_backend.cpp index 32b02eb1b..492559a4f 100644 --- a/src/llvm_backend.cpp +++ b/src/llvm_backend.cpp @@ -2586,6 +2586,21 @@ gb_internal bool lb_generate_code(lbGenerator *gen) { return false; } + + if (build_context.sanitizer_flags & SanitizerFlag_Address) { + auto paths = array_make(heap_allocator(), 0, 1); + if (build_context.metrics.os == TargetOs_windows) { + String path = concatenate_strings(permanent_allocator(), build_context.ODIN_ROOT, str_lit("\\bin\\llvm\\windows\\clang_rt.asan-x86_64.lib")); + array_add(&paths, path); + } + Entity *lib = alloc_entity_library_name(nullptr, make_token_ident("asan_lib"), nullptr, slice_from_array(paths), str_lit("asan_lib")); + array_add(&gen->foreign_libraries, lib); + } + if (build_context.sanitizer_flags & SanitizerFlag_Memory) { + } + if (build_context.sanitizer_flags & SanitizerFlag_Thread) { + } + gb_sort_array(gen->foreign_libraries.data, gen->foreign_libraries.count, foreign_library_cmp); return true; -- cgit v1.2.3