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:
Anders Bakken
2024-08-22 18:49:06 -07:00
committed by GitHub
parent b00904b092
commit e8c2952bf9
4 changed files with 17 additions and 11 deletions

View File

@ -579,6 +579,10 @@ load_target_info_section(const uint8 *buf, const uint8 *buf_end,
return false;
}
/* for backwards compatibility with previous wamrc aot files */
if (!strcmp(target_info.arch, "arm64"))
bh_strcpy_s(target_info.arch, sizeof(target_info.arch), "aarch64v8");
/* Check machine info */
if (!check_machine_info(&target_info, error_buf, error_buf_size)) {
return false;