From 308d31c6214298efc40f178e4170a3ecb2c7c865 Mon Sep 17 00:00:00 2001 From: Wenyong Huang Date: Thu, 6 Jan 2022 18:25:37 +0800 Subject: [PATCH] Upgrade uvwasi to 1.42.0 and fix Android link issues (#938) Upgrade uvwasi to 1.42.0 and fix Android link issues reported by #934 --- .../libraries/libc-uvwasi/libc_uvwasi.cmake | 3 +- core/shared/platform/android/platform_init.c | 44 +++++++++++++++++++ 2 files changed, 46 insertions(+), 1 deletion(-) diff --git a/core/iwasm/libraries/libc-uvwasi/libc_uvwasi.cmake b/core/iwasm/libraries/libc-uvwasi/libc_uvwasi.cmake index 262bc610c..28caad10d 100644 --- a/core/iwasm/libraries/libc-uvwasi/libc_uvwasi.cmake +++ b/core/iwasm/libraries/libc-uvwasi/libc_uvwasi.cmake @@ -3,7 +3,7 @@ set (LIBC_WASI_DIR ${CMAKE_CURRENT_LIST_DIR}) set (UVWASI_DIR ${CMAKE_CURRENT_LIST_DIR}/../../../deps/uvwasi) -set (LIBUV_VERSION v1.39.0) +set (LIBUV_VERSION v1.42.0) add_definitions (-DWASM_ENABLE_LIBC_WASI=1 -DWASM_ENABLE_UVWASI=1) @@ -21,6 +21,7 @@ if(NOT libuv_POPULATED) include_directories("${libuv_SOURCE_DIR}/include") add_subdirectory(${libuv_SOURCE_DIR} ${libuv_BINARY_DIR} EXCLUDE_FROM_ALL) set (UV_A_LIBS uv_a) + set_target_properties(uv_a PROPERTIES POSITION_INDEPENDENT_CODE 1) endif() include_directories(${UVWASI_DIR}/include) diff --git a/core/shared/platform/android/platform_init.c b/core/shared/platform/android/platform_init.c index d7ffab33d..1e7cf4447 100644 --- a/core/shared/platform/android/platform_init.c +++ b/core/shared/platform/android/platform_init.c @@ -89,6 +89,50 @@ readlinkat(int __dir_fd, const char *__path, char *__buf, size_t __buf_size) return -1; } +int +accept4(int __fd, struct sockaddr *__addr, socklen_t *__addr_length, + int __flags) +{ + API_NOT_SUPPORT_ERROR(accept4, 21); + return -1; +} + +int +dup3(int oldfd, int newfd, int cloexec) +{ + API_NOT_SUPPORT_ERROR(dup3, 21); + return -1; +} + +int +pthread_condattr_setclock(pthread_condattr_t *attr, clockid_t clock_id) +{ + API_NOT_SUPPORT_ERROR(pthread_condattr_setclock, 21); + return -1; +} + +int +epoll_create1(int flags) +{ + API_NOT_SUPPORT_ERROR(epoll_create1, 21); + return -1; +} + +int +epoll_pwait(int epfd, struct epoll_event *events, int maxevents, int timeout, + const sigset_t *sigmask) +{ + API_NOT_SUPPORT_ERROR(epoll_pwait, 21); + return -1; +} + +int +inotify_init1(int flags) +{ + API_NOT_SUPPORT_ERROR(inotify_init1, 21); + return -1; +} + #endif #if __ANDROID_API__ < 23