mirror of
https://github.com/bytecodealliance/wasm-micro-runtime.git
synced 2025-05-08 20:56:13 +00:00
Enable sample/simple for aarch64 (#616)
Fixed a typo in aot_reloc_aarch64.c. Remove -m32 option in host tool CMakeLists.txt and change data type of structure fields to make host tool work in 64-bit. Signed-off-by: Bao Haojun <baohaojun@lixiang.com>
This commit is contained in:
parent
684d766e2b
commit
a332a49a0d
|
@ -60,7 +60,7 @@ get_current_target(char *target_buf, uint32 target_buf_size)
|
||||||
char *d = target_buf;
|
char *d = target_buf;
|
||||||
|
|
||||||
/* Set to "aarch64v8" by default if sub version isn't specified */
|
/* Set to "aarch64v8" by default if sub version isn't specified */
|
||||||
if (strcmp(s, "AARACH64") == 0) {
|
if (strcmp(s, "AARCH64") == 0) {
|
||||||
s = BUILD_TARGET_AARCH64_DEFAULT;
|
s = BUILD_TARGET_AARCH64_DEFAULT;
|
||||||
s_size = sizeof(BUILD_TARGET_AARCH64_DEFAULT);
|
s_size = sizeof(BUILD_TARGET_AARCH64_DEFAULT);
|
||||||
}
|
}
|
||||||
|
@ -385,4 +385,3 @@ overflow_check_fail:
|
||||||
"target address out of range.");
|
"target address out of range.");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
36
samples/simple/profiles/arm64-aot/toolchain.cmake
Normal file
36
samples/simple/profiles/arm64-aot/toolchain.cmake
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
INCLUDE(CMakeForceCompiler)
|
||||||
|
|
||||||
|
SET(CMAKE_SYSTEM_NAME Linux) # this one is important
|
||||||
|
SET(CMAKE_SYSTEM_VERSION 1) # this one not so much
|
||||||
|
|
||||||
|
message(STATUS "*** ARM A7 toolchain file ***")
|
||||||
|
set(CMAKE_VERBOSE_MAKEFILE ON)
|
||||||
|
|
||||||
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_GNU_SOURCE")
|
||||||
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_GNU_SOURCE")
|
||||||
|
|
||||||
|
|
||||||
|
if (NOT $ENV{ARM_A7_COMPILER_DIR} STREQUAL "")
|
||||||
|
SET (toolchain_sdk_dir $ENV{ARM_A7_COMPILER_DIR}/)
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
if (NOT $ENV{ARM_A7_SDKTARGETSYSROOT} STREQUAL "")
|
||||||
|
SET(SDKTARGETSYSROOT $ENV{ARM_A7_SDKTARGETSYSROOT})
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
message(STATUS "SDKTARGETSYSROOT=${SDKTARGETSYSROOT}")
|
||||||
|
message(STATUS "toolchain_sdk_dir=${toolchain_sdk_dir}")
|
||||||
|
|
||||||
|
SET(CMAKE_C_COMPILER ${toolchain_sdk_dir}aarch64-linux-gnu-gcc)
|
||||||
|
SET(CMAKE_CXX_COMPILER ${toolchain_sdk_dir}aarch64-linux-gnu-g++)
|
||||||
|
|
||||||
|
|
||||||
|
# this is the file system root of the target
|
||||||
|
SET(CMAKE_FIND_ROOT_PATH ${SDKTARGETSYSROOT})
|
||||||
|
|
||||||
|
# search for programs in the build host directories
|
||||||
|
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||||
|
|
||||||
|
# for libraries and headers in the target directories
|
||||||
|
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||||
|
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
10
samples/simple/profiles/arm64-aot/wamr_config_simple.cmake
Normal file
10
samples/simple/profiles/arm64-aot/wamr_config_simple.cmake
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
set (WAMR_BUILD_PLATFORM "linux")
|
||||||
|
set (WAMR_BUILD_TARGET AARCH64)
|
||||||
|
set (WAMR_BUILD_INTERP 1)
|
||||||
|
set (WAMR_BUILD_AOT 1)
|
||||||
|
set (WAMR_BUILD_JIT 0)
|
||||||
|
set (WAMR_BUILD_SIMD 0)
|
||||||
|
set (WAMR_BUILD_LIBC_BUILTIN 1)
|
||||||
|
set (WAMR_BUILD_LIBC_WASI 0)
|
||||||
|
set (WAMR_BUILD_APP_FRAMEWORK 1)
|
||||||
|
set (WAMR_BUILD_APP_LIST WAMR_APP_BUILD_BASE WAMR_APP_BUILD_CONNECTION WAMR_APP_BUILD_SENSOR)
|
36
samples/simple/profiles/arm64-interp/toolchain.cmake
Normal file
36
samples/simple/profiles/arm64-interp/toolchain.cmake
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
INCLUDE(CMakeForceCompiler)
|
||||||
|
|
||||||
|
SET(CMAKE_SYSTEM_NAME Linux) # this one is important
|
||||||
|
SET(CMAKE_SYSTEM_VERSION 1) # this one not so much
|
||||||
|
|
||||||
|
message(STATUS "*** ARM A7 toolchain file ***")
|
||||||
|
set(CMAKE_VERBOSE_MAKEFILE ON)
|
||||||
|
|
||||||
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_GNU_SOURCE")
|
||||||
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_GNU_SOURCE")
|
||||||
|
|
||||||
|
|
||||||
|
if (NOT $ENV{ARM_A7_COMPILER_DIR} STREQUAL "")
|
||||||
|
SET (toolchain_sdk_dir $ENV{ARM_A7_COMPILER_DIR}/)
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
if (NOT $ENV{ARM_A7_SDKTARGETSYSROOT} STREQUAL "")
|
||||||
|
SET(SDKTARGETSYSROOT $ENV{ARM_A7_SDKTARGETSYSROOT})
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
message(STATUS "SDKTARGETSYSROOT=${SDKTARGETSYSROOT}")
|
||||||
|
message(STATUS "toolchain_sdk_dir=${toolchain_sdk_dir}")
|
||||||
|
|
||||||
|
SET(CMAKE_C_COMPILER ${toolchain_sdk_dir}aarch64-linux-gnu-gcc)
|
||||||
|
SET(CMAKE_CXX_COMPILER ${toolchain_sdk_dir}aarch64-linux-gnu-g++)
|
||||||
|
|
||||||
|
|
||||||
|
# this is the file system root of the target
|
||||||
|
SET(CMAKE_FIND_ROOT_PATH ${SDKTARGETSYSROOT})
|
||||||
|
|
||||||
|
# search for programs in the build host directories
|
||||||
|
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||||
|
|
||||||
|
# for libraries and headers in the target directories
|
||||||
|
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||||
|
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
|
@ -0,0 +1,10 @@
|
||||||
|
set (WAMR_BUILD_PLATFORM "linux")
|
||||||
|
set (WAMR_BUILD_TARGET AARCH64)
|
||||||
|
set (WAMR_BUILD_INTERP 1)
|
||||||
|
set (WAMR_BUILD_AOT 0)
|
||||||
|
set (WAMR_BUILD_JIT 0)
|
||||||
|
set (WAMR_BUILD_SIMD 0)
|
||||||
|
set (WAMR_BUILD_LIBC_BUILTIN 1)
|
||||||
|
set (WAMR_BUILD_LIBC_WASI 0)
|
||||||
|
set (WAMR_BUILD_APP_FRAMEWORK 1)
|
||||||
|
set (WAMR_BUILD_APP_LIST WAMR_APP_BUILD_BASE WAMR_APP_BUILD_CONNECTION WAMR_APP_BUILD_SENSOR)
|
|
@ -34,11 +34,6 @@ include (${SHARED_DIR}/mem-alloc/mem_alloc.cmake)
|
||||||
include (${CJSON_DIR}/cjson.cmake)
|
include (${CJSON_DIR}/cjson.cmake)
|
||||||
include (${SHARED_DIR}/coap/lib_coap.cmake)
|
include (${SHARED_DIR}/coap/lib_coap.cmake)
|
||||||
|
|
||||||
if (CMAKE_SIZEOF_VOID_P EQUAL 8)
|
|
||||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32")
|
|
||||||
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32")
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
add_definitions(-Wall -Wno-pointer-sign)
|
add_definitions(-Wall -Wno-pointer-sign)
|
||||||
|
|
||||||
include_directories(
|
include_directories(
|
||||||
|
|
|
@ -13,7 +13,7 @@ extern "C" {
|
||||||
/* IMRT link message between host and WAMR */
|
/* IMRT link message between host and WAMR */
|
||||||
typedef struct {
|
typedef struct {
|
||||||
unsigned short message_type;
|
unsigned short message_type;
|
||||||
unsigned long payload_size;
|
unsigned int payload_size;
|
||||||
char *payload;
|
char *payload;
|
||||||
} imrt_link_message_t;
|
} imrt_link_message_t;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user