Fix arm64 issues on mac (#3688)
Make wamrc normalize "arm64" to "aarch64v8". Previously the only way to make the "arm64" target was to not specify a target on 64 bit arm-based mac builds. Now arm64 and aarch64v8 are treated as the same. Make aot_loader accept "aarch64v8" on arm-based apple (as well as accepting legacy "arm64" based aot targets). This also removes __APPLE__ and __MACH__ from the block that defaults size_level to 1 since it doesn't seem to be supported for aarch64: `LLVM ERROR: Only small, tiny and large code models are allowed on AArch64`
This commit is contained in:
@ -2790,6 +2790,15 @@ aot_create_comp_context(const AOTCompData *comp_data, aot_comp_option_t option)
|
||||
bh_assert(vendor_sys);
|
||||
bh_memcpy_s(default_arch, sizeof(default_arch), default_triple,
|
||||
(uint32)(vendor_sys - default_triple));
|
||||
/**
|
||||
* On Mac M[1-9]+ LLVM will report arm64 as the
|
||||
* architecture, for the purposes of wamr this is the
|
||||
* same as aarch64v8 so we'll normalize it here.
|
||||
*/
|
||||
if (!strcmp(default_arch, "arm64")) {
|
||||
bh_strcpy_s(default_arch, sizeof(default_arch),
|
||||
"aarch64v8");
|
||||
}
|
||||
arch1 = default_arch;
|
||||
|
||||
LLVMDisposeMessage(default_triple);
|
||||
|
||||
Reference in New Issue
Block a user