From f24de51c65b583409c3f9791e4c98968cc6b0277 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Sun, 29 Dec 2019 21:28:50 +0000 Subject: [PATCH] Add `_tls_index` and `_fltused` for windows `-no-crt` --- core/runtime/procs_windows_amd64.odin | 8 ++++++++ src/checker.cpp | 3 ++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/core/runtime/procs_windows_amd64.odin b/core/runtime/procs_windows_amd64.odin index 6151e75d8..f5f582ccc 100644 --- a/core/runtime/procs_windows_amd64.odin +++ b/core/runtime/procs_windows_amd64.odin @@ -2,6 +2,14 @@ package runtime foreign import kernel32 "system:Kernel32.lib" +@private +@(link_name="_tls_index") +_tls_index: u32; + +@private +@(link_name="_fltused") +_fltused: i32 = 0x9875; + @(link_name="memcpy") memcpy :: proc "c" (dst, src: rawptr, len: int) -> rawptr { foreign kernel32 { diff --git a/src/checker.cpp b/src/checker.cpp index 515df72f6..bc98837d1 100644 --- a/src/checker.cpp +++ b/src/checker.cpp @@ -1696,7 +1696,8 @@ void generate_minimum_dependency_set(Checker *c, Entity *start) { str_lit("memcpy"), str_lit("memmove"), str_lit("memset"), - // str_lit("memcmp"), + str_lit("_tls_index"), + str_lit("_fltused"), }; for (isize i = 0; i < gb_count_of(required_no_crt_entities); i++) { add_dependency_to_set(c, scope_lookup(c->info.runtime_package->scope, required_no_crt_entities[i]));