From aa7b0ba6b6f4f0172b2aa8727aae143c2ce65d95 Mon Sep 17 00:00:00 2001 From: Wenyong Huang Date: Wed, 5 Aug 2020 09:07:30 +0800 Subject: [PATCH] Fix wamrc link error and arm assembly code issue (#335) --- core/iwasm/common/arch/invokeNative_arm.s | 3 ++- wamr-compiler/CMakeLists.txt | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/core/iwasm/common/arch/invokeNative_arm.s b/core/iwasm/common/arch/invokeNative_arm.s index 9bd57682..72318315 100644 --- a/core/iwasm/common/arch/invokeNative_arm.s +++ b/core/iwasm/common/arch/invokeNative_arm.s @@ -17,6 +17,7 @@ invokeNative: stmfd sp!, {r4, r5, r6, r7, lr} + sub sp, sp, #4 /* make sp 8 byte aligned */ mov ip, r0 /* ip = function ptr */ mov r4, r1 /* r4 = argv */ mov r5, r2 /* r5 = argc */ @@ -48,7 +49,6 @@ invokeNative: mov r6, r5, lsl#2 /* r6 = argc * 4 */ add r6, r6, #7 /* r6 = (r6 + 7) & ~7 */ bic r6, r6, #7 - add r6, r6, #4 /* +4 because odd(5) registers are in stack */ sub sp, sp, r6 /* reserved stack space for left arguments */ mov r7, sp @@ -65,5 +65,6 @@ call_func: add sp, sp, r6 /* restore sp */ return: + add sp, sp, #4 ldmfd sp!, {r4, r5, r6, r7, lr} bx lr diff --git a/wamr-compiler/CMakeLists.txt b/wamr-compiler/CMakeLists.txt index 7cdf2fb2..d27de87c 100644 --- a/wamr-compiler/CMakeLists.txt +++ b/wamr-compiler/CMakeLists.txt @@ -101,6 +101,7 @@ include (${SHARED_DIR}/platform/${WAMR_BUILD_PLATFORM}/shared_platform.cmake) include (${SHARED_DIR}/mem-alloc/mem_alloc.cmake) include (${SHARED_DIR}/utils/shared_utils.cmake) include (${SHARED_DIR}/utils/uncommon/shared_uncommon.cmake) +include (${IWASM_DIR}/libraries/thread-mgr/thread_mgr.cmake) include (${IWASM_DIR}/libraries/libc-builtin/libc_builtin.cmake) include (${IWASM_DIR}/common/iwasm_common.cmake) include (${IWASM_DIR}/interpreter/iwasm_interp.cmake) @@ -129,6 +130,7 @@ add_library (vmlib ${MEM_ALLOC_SHARED_SOURCE} ${UTILS_SHARED_SOURCE} ${UNCOMMON_SHARED_SOURCE} + ${THREAD_MGR_SOURCE} ${LIBC_BUILTIN_SOURCE} ${IWASM_COMMON_SOURCE} ${IWASM_INTERP_SOURCE}