diff options
| author | gingerBill <bill@gingerbill.org> | 2022-01-15 15:38:09 +0000 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2022-01-15 15:38:09 +0000 |
| commit | 6aa80ee8e4fc8f96c24e9881a5833f14c86eff05 (patch) | |
| tree | 29e5756fd48200684f169abd38c4bb2164bf36a7 /src/llvm_backend.cpp | |
| parent | e15f71466005ff84c6dc97cbfbd10d57f1193e7a (diff) | |
Correct `_start` as an entry point
Diffstat (limited to 'src/llvm_backend.cpp')
| -rw-r--r-- | src/llvm_backend.cpp | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/llvm_backend.cpp b/src/llvm_backend.cpp index 1c3cf86ac..7a7f20f8d 100644 --- a/src/llvm_backend.cpp +++ b/src/llvm_backend.cpp @@ -1420,13 +1420,16 @@ void lb_generate_code(lbGenerator *gen) { if (e->Procedure.is_export || (e->Procedure.link_name.len > 0) || ((e->scope->flags&ScopeFlag_File) && e->Procedure.link_name.len > 0)) { - String link_name = e->Procedure.link_name; - if (link_name == "main" || - link_name == "DllMain" || - link_name == "WinMain" || - link_name == "wWinMain" || - link_name == "mainCRTStartup") { - already_has_entry_point = true; + String link_name = e->Procedure.link_name; + if (e->pkg->kind == Package_Runtime) { + if (link_name == "main" || + link_name == "DllMain" || + link_name == "WinMain" || + link_name == "wWinMain" || + link_name == "mainCRTStartup" || + link_name == "_start") { + already_has_entry_point = true; + } } } } |