From 7ee786388ae0d6f8c8cea7bf012cc11fdb5b534a Mon Sep 17 00:00:00 2001 From: Yuta Saito Date: Sun, 16 Jan 2022 01:18:49 +0900 Subject: [wasm] wasm/missing.{c,h}: add missing libc stubs for wasi-libc --- configure.ac | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'configure.ac') diff --git a/configure.ac b/configure.ac index c08889c803..f6f88901bd 100644 --- a/configure.ac +++ b/configure.ac @@ -1232,6 +1232,9 @@ main() RUBY_APPEND_OPTIONS(CFLAGS, -D_WASI_EMULATED_SIGNAL -D_WASI_EMULATED_MMAN -D_WASI_EMULATED_GETPID -D_WASI_EMULATED_PROCESS_CLOCKS) RUBY_APPEND_OPTIONS(CPPFLAGS, -D_WASI_EMULATED_SIGNAL -D_WASI_EMULATED_MMAN -D_WASI_EMULATED_GETPID -D_WASI_EMULATED_PROCESS_CLOCKS) POSTLINK="\$(WASMOPT) --asyncify \$(wasmoptflags) --pass-arg=asyncify-ignore-imports -o \$@ \$@${POSTLINK:+; $POSTLINK}" + # wasi-libc's sys/socket.h is not compatible with -std=gnu99, + # so re-declare shutdown in include/ruby/missing.h + ac_cv_func_shutdown=no ] [ LIBS="-lm $LIBS"]) : ${ORIG_LIBS=$LIBS} @@ -1294,6 +1297,7 @@ AC_CHECK_HEADERS(sanitizer/asan_interface.h) AC_CHECK_HEADERS(sanitizer/msan_interface.h) AC_CHECK_HEADERS(setjmpex.h) AC_CHECK_HEADERS(stdalign.h) +AC_CHECK_HEADERS(stdio.h) AC_CHECK_HEADERS(sys/attr.h) AC_CHECK_HEADERS(sys/eventfd.h) AC_CHECK_HEADERS(sys/fcntl.h) @@ -1967,6 +1971,8 @@ AC_CHECK_FUNCS(_longjmp) # used for AC_ARG_WITH(setjmp-type) test x$ac_cv_func__longjmp = xno && ac_cv_func__setjmp=no AC_CHECK_FUNCS(arc4random_buf) AC_CHECK_FUNCS(atan2l atan2f) +AC_CHECK_FUNCS(chmod) +AC_CHECK_FUNCS(chown) AC_CHECK_FUNCS(chroot) AC_CHECK_FUNCS(chsize) AC_CHECK_FUNCS(clock_gettime) @@ -1982,6 +1988,9 @@ AC_CHECK_FUNCS(dup3) AC_CHECK_FUNCS(eaccess) AC_CHECK_FUNCS(endgrent) AC_CHECK_FUNCS(eventfd) +AC_CHECK_FUNCS(execl) +AC_CHECK_FUNCS(execle) +AC_CHECK_FUNCS(execve) AC_CHECK_FUNCS(explicit_memset) AC_CHECK_FUNCS(fcopyfile) AC_CHECK_FUNCS(fchmod) @@ -1997,7 +2006,10 @@ AC_CHECK_FUNCS(ftruncate) AC_CHECK_FUNCS(ftruncate64) # used for Win32 platform AC_CHECK_FUNCS(getattrlist) AC_CHECK_FUNCS(getcwd) +AC_CHECK_FUNCS(getegid) AC_CHECK_FUNCS(getentropy) +AC_CHECK_FUNCS(geteuid) +AC_CHECK_FUNCS(getgid) AC_CHECK_FUNCS(getgidx) AC_CHECK_FUNCS(getgrnam) AC_CHECK_FUNCS(getgrnam_r) @@ -2006,6 +2018,7 @@ AC_CHECK_FUNCS(getlogin) AC_CHECK_FUNCS(getlogin_r) AC_CHECK_FUNCS(getpgid) AC_CHECK_FUNCS(getpgrp) +AC_CHECK_FUNCS(getppid) AC_CHECK_FUNCS(getpriority) AC_CHECK_FUNCS(getpwnam) AC_CHECK_FUNCS(getpwnam_r) @@ -2017,6 +2030,7 @@ AC_CHECK_FUNCS(getresuid) AC_CHECK_FUNCS(getrlimit) AC_CHECK_FUNCS(getsid) AC_CHECK_FUNCS(gettimeofday) # for making ac_cv_func_gettimeofday +AC_CHECK_FUNCS(getuid) AC_CHECK_FUNCS(getuidx) AC_CHECK_FUNCS(gmtime_r) AC_CHECK_FUNCS(grantpt) @@ -2024,6 +2038,7 @@ AC_CHECK_FUNCS(initgroups) AC_CHECK_FUNCS(ioctl) AC_CHECK_FUNCS(isfinite) AC_CHECK_FUNCS(issetugid) +AC_CHECK_FUNCS(kill) AC_CHECK_FUNCS(killpg) AC_CHECK_FUNCS(lchmod) AC_CHECK_FUNCS(lchown) @@ -2047,9 +2062,13 @@ AC_CHECK_FUNCS(mktime) AC_CHECK_FUNCS(mmap) AC_CHECK_FUNCS(mremap) AC_CHECK_FUNCS(openat) +AC_CHECK_FUNCS(pclose) +AC_CHECK_FUNCS(pipe) AC_CHECK_FUNCS(pipe2) AC_CHECK_FUNCS(poll) +AC_CHECK_FUNCS(popen) AC_CHECK_FUNCS(posix_fadvise) +AC_CHECK_FUNCS(posix_madvise) AC_CHECK_FUNCS(posix_memalign) AC_CHECK_FUNCS(ppoll) AC_CHECK_FUNCS(pread) @@ -2088,12 +2107,15 @@ AC_CHECK_FUNCS(spawnv) AC_CHECK_FUNCS(symlink) AC_CHECK_FUNCS(syscall) AC_CHECK_FUNCS(sysconf) +AC_CHECK_FUNCS(system) AC_CHECK_FUNCS(tanh) AC_CHECK_FUNCS(telldir) AC_CHECK_FUNCS(timegm) AC_CHECK_FUNCS(times) AC_CHECK_FUNCS(truncate) AC_CHECK_FUNCS(truncate64) # used for Win32 +AC_CHECK_FUNCS(tzset) +AC_CHECK_FUNCS(umask) AC_CHECK_FUNCS(unsetenv) AC_CHECK_FUNCS(utimensat) AC_CHECK_FUNCS(utimes) @@ -3807,6 +3829,7 @@ AS_CASE(["$target_os"], ], [wasi*], [ FIRSTMAKEFILE=GNUmakefile:wasm/GNUmakefile.in + AC_LIBOBJ([wasm/missing]) AC_LIBOBJ([wasm/runtime]) AC_LIBOBJ([wasm/fiber]) AC_LIBOBJ([wasm/machine]) -- cgit v1.2.3