Browse Source

Make no crt work on Linux

Colin Davidson 3 years ago
parent
commit
a632db3618
2 changed files with 5 additions and 1 deletions
  1. 1 1
      core/runtime/entry_unix.odin
  2. 4 0
      src/main.cpp

+ 1 - 1
core/runtime/entry_unix.odin

@@ -30,4 +30,4 @@ when ODIN_BUILD_MODE == .Dynamic {
 		#force_no_inline _cleanup_runtime()
 		return 0
 	}
-}
+}

+ 4 - 0
src/main.cpp

@@ -433,6 +433,10 @@ i32 linker_stage(lbGenerator *gen) {
 		String output_ext = {};
 		gbString link_settings = gb_string_make_reserve(heap_allocator(), 32);
 
+		if (build_context.no_crt) {
+			link_settings = gb_string_append_fmt(link_settings, "-nostdlib ");
+		}
+
 		// NOTE(dweiler): We use clang as a frontend for the linker as there are
 		// other runtime and compiler support libraries that need to be linked in
 		// very specific orders such as libgcc_s, ld-linux-so, unwind, etc.