mirror of
https://github.com/Ed94/Odin.git
synced 2026-07-13 06:41:26 -07:00
Fix building issues with arm32
This commit is contained in:
+28
-18
@@ -378,7 +378,7 @@ gb_global TargetMetrics target_linux_arm32 = {
|
||||
TargetArch_arm32,
|
||||
4,
|
||||
8,
|
||||
str_lit("aapcs-linux-gnu"),
|
||||
str_lit("arm-linux-gnu"),
|
||||
str_lit("e-m:o-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64"),
|
||||
};
|
||||
|
||||
@@ -1127,6 +1127,15 @@ void init_build_context(TargetMetrics *cross_target) {
|
||||
bc->link_flags = str_lit("-arch x86 ");
|
||||
break;
|
||||
}
|
||||
} else if (bc->metrics.arch == TargetArch_arm32) {
|
||||
switch (bc->metrics.os) {
|
||||
case TargetOs_linux:
|
||||
bc->link_flags = str_lit("-arch arm ");
|
||||
break;
|
||||
default:
|
||||
gb_printf_err("Compiler Error: Unsupported architecture\n");
|
||||
gb_exit(1);
|
||||
}
|
||||
} else if (bc->metrics.arch == TargetArch_arm64) {
|
||||
switch (bc->metrics.os) {
|
||||
case TargetOs_darwin:
|
||||
@@ -1214,27 +1223,28 @@ bool init_build_paths(String init_filename) {
|
||||
return false;
|
||||
}
|
||||
|
||||
GB_ASSERT(find_result.windows_sdk_um_library_path.len > 0);
|
||||
GB_ASSERT(find_result.windows_sdk_ucrt_library_path.len > 0);
|
||||
|
||||
if (find_result.windows_sdk_root.len > 0) {
|
||||
bc->build_paths[BuildPath_Win_SDK_Root] = path_from_string(ha, find_result.windows_sdk_root);
|
||||
}
|
||||
|
||||
if (find_result.windows_sdk_um_library_path.len > 0) {
|
||||
bc->build_paths[BuildPath_Win_SDK_UM_Lib] = path_from_string(ha, find_result.windows_sdk_um_library_path);
|
||||
}
|
||||
GB_ASSERT(find_result.windows_sdk_ucrt_library_path.len > 0);
|
||||
|
||||
if (find_result.windows_sdk_ucrt_library_path.len > 0) {
|
||||
bc->build_paths[BuildPath_Win_SDK_UCRT_Lib] = path_from_string(ha, find_result.windows_sdk_ucrt_library_path);
|
||||
}
|
||||
if (find_result.windows_sdk_root.len > 0) {
|
||||
bc->build_paths[BuildPath_Win_SDK_Root] = path_from_string(ha, find_result.windows_sdk_root);
|
||||
}
|
||||
|
||||
if (find_result.vs_exe_path.len > 0) {
|
||||
bc->build_paths[BuildPath_VS_EXE] = path_from_string(ha, find_result.vs_exe_path);
|
||||
}
|
||||
if (find_result.windows_sdk_um_library_path.len > 0) {
|
||||
bc->build_paths[BuildPath_Win_SDK_UM_Lib] = path_from_string(ha, find_result.windows_sdk_um_library_path);
|
||||
}
|
||||
|
||||
if (find_result.vs_library_path.len > 0) {
|
||||
bc->build_paths[BuildPath_VS_LIB] = path_from_string(ha, find_result.vs_library_path);
|
||||
if (find_result.windows_sdk_ucrt_library_path.len > 0) {
|
||||
bc->build_paths[BuildPath_Win_SDK_UCRT_Lib] = path_from_string(ha, find_result.windows_sdk_ucrt_library_path);
|
||||
}
|
||||
|
||||
if (find_result.vs_exe_path.len > 0) {
|
||||
bc->build_paths[BuildPath_VS_EXE] = path_from_string(ha, find_result.vs_exe_path);
|
||||
}
|
||||
|
||||
if (find_result.vs_library_path.len > 0) {
|
||||
bc->build_paths[BuildPath_VS_LIB] = path_from_string(ha, find_result.vs_library_path);
|
||||
}
|
||||
}
|
||||
|
||||
gb_free(ha, find_result.windows_sdk_root.text);
|
||||
|
||||
@@ -944,6 +944,7 @@ void init_universal(void) {
|
||||
{"Unknown", TargetArch_Invalid},
|
||||
{"amd64", TargetArch_amd64},
|
||||
{"i386", TargetArch_i386},
|
||||
{"arm32", TargetArch_arm32},
|
||||
{"arm64", TargetArch_arm64},
|
||||
{"wasm32", TargetArch_wasm32},
|
||||
{"wasm64", TargetArch_wasm64},
|
||||
|
||||
Reference in New Issue
Block a user