Skip to content

Deprecate wasip1#828

Open
rennergade wants to merge 9 commits intomainfrom
deprecate-wasip1
Open

Deprecate wasip1#828
rennergade wants to merge 9 commits intomainfrom
deprecate-wasip1

Conversation

@rennergade
Copy link
Contributor

Closes #682

  • Replaces the entire wasi-common crate (which registered ~60 unused WASI preview1 functions) with a minimal LindEnviron module (~130 LOC) that implements only the 4 functions our glibc crt1.c actually imports during _start()
  • Renames the WASM import module from wasi_snapshot_preview1 to lind in both glibc and lind-boot, removing the last WASI naming dependency from the argv/environ path
  • Fixes a bug where --env FOO=BAR was parsed by clap but never passed to the WASI context, so guest environment variables were always empty
  • Removes 3 unnecessary dependencies from lind-boot: wasi-common, wiggle, cap-std

Our customized glibc's _start() calls 4 imported functions for argv/environ initialization:

_start()
→ __lind_args_sizes_get() // get argc + total argv buffer size
→ __lind_args_get() // write argv pointers + string data
→ __lind_environ_sizes_get() // get env count + total buffer size
→ __lind_environ_get() // write environ pointers + "KEY=VALUE\0" strings

Previously, these were imported under the wasi_snapshot_preview1 module name and served by the full wasi-common + wiggle stack, which registered ~60 other WASI functions (fd_read, fd_write, path_open, etc.) that are never called — all real syscalls go through glibc → lind-common → 3i → RawPOSIX.

@github-actions
Copy link
Contributor

End-to-End Test Report

Test Preview

Test Report

Deterministic Tests

Summary

MetricCount
Total Test Cases175
Number of Successes175
Number of Failures0
Number of Compilation Failure Native0
Number of Runtime Failure Native0
Number of Segmentation Fault Native0
Number of Timeout During Native0
Number of Lind Wasm Compile Failure0
Number of Lind Wasm Runtime Failure0
Number of Lind Wasm Segmentation Failure0
Number of Timeout During Lind Wasm run0
Number of Unknown Failure0
Number of C Compiler and Wasm Output mismatch0
Number of Fail Test: Native Succeeded (Should Fail)0
Number of Fail Test: Wasm Succeeded (Should Fail)0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)0
Number of Fail Test: Native Compilation Failure (Should Succeed)0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)0

Test Results by Category

Test CaseStatusError TypeNative TimeWasm TimeOutput
File Tests
chartests.cSuccessNone0.047685s4.249177s
Success
chdir_getcwd.cSuccessNone0.047416s4.238958s
Success
chmod.cSuccessNone0.054145s4.252682s
Success
clock_gettime_highlevel.cSuccessNone0.118786s4.466551s
Success
clock_gettime_simple.cSuccessNone0.042519s4.225610s
Success
cloexec.cSuccessNone0.058303s3.916993s
Success
close.cSuccessNone0.058319s4.262708s
Success
creat_access.cSuccessNone0.050543s4.287455s
Success
doubleclose.cSuccessNone0.042742s3.846536s
Success
dup.cSuccessNone0.044152s4.202370s
Success
dup2.cSuccessNone0.049672s3.859007s
Success
dup3.cSuccessNone0.046842s4.245342s
Success
dupwrite.cSuccessNone0.051237s3.837922s
Success
etc_conf.cSuccessNone0.045926s4.253426s
Success
fchdir.cSuccessNone0.053065s4.257685s
Success
fchmod.cSuccessNone0.058221s4.279800s
Success
fcntl.cSuccessNone0.050297s4.232084s
Success
fdatasync.cSuccessNone0.049040s4.240982s
Success
filetest.cSuccessNone0.049886s3.904020s
Success
filetest1000.cSuccessNone0.059440s3.866895s
Success
flock.cSuccessNone0.057706s4.316344s
Success
fstat.cSuccessNone0.052921s4.292542s
Success
fstatfs.cSuccessNone0.046017s4.210887s
Success
fsync.cSuccessNone0.050863s4.251639s
Success
ftruncate.cSuccessNone0.054032s4.306113s
Success
getcwd.cSuccessNone0.048465s4.228704s
Success
getrandom.cSuccessNone0.051090s4.268887s
Success
ioctl.cSuccessNone0.055166s4.226213s
Success
link.cSuccessNone0.053604s4.243092s
Success
locale_test.cSuccessNone0.065950s6.102607s
Success
lseek.cSuccessNone0.055208s4.294649s
Success
mkdir_rmdir.cSuccessNone0.051794s4.279281s
Success
nocancel_io.cSuccessNone0.053917s5.575734s
Success
open.cSuccessNone0.045133s4.267543s
Success
pread_pwrite.cSuccessNone0.047563s4.269098s
Success
printf.cSuccessNone0.042788s3.903484s
Success
read.cSuccessNone0.052382s4.249182s
Success
readbytes.cSuccessNone0.046948s3.828712s
Success
readlink.cSuccessNone0.050684s4.249974s
Success
readlinkat.cSuccessNone0.052390s4.262930s
Success
rename.cSuccessNone0.052901s4.244684s
Success
sc-writev.cSuccessNone0.050339s4.273548s
Success
stat.cSuccessNone0.053514s4.271026s
Success
statfs.cSuccessNone0.045408s4.232054s
Success
sync_file_range.cSuccessNone0.049877s4.259502s
Success
truncate.cSuccessNone0.053096s4.293258s
Success
unlink.cSuccessNone0.053907s4.334564s
Success
unlinkat.cSuccessNone0.053773s4.294334s
Success
write.cSuccessNone0.044242s3.832298s
Success
writeloop.cSuccessNone0.053343s3.846810s
Success
writepartial.cSuccessNone0.051121s3.840583s
Success
writev.cSuccessNone0.052602s4.233944s
Success
Math Tests
math_link_smoke.cSuccessNone0.055353s3.877591s
Success
math_tests.cSuccessNone0.057376s4.116619s
Success
Memory Tests
brk.cSuccessNone0.051571s4.265367s
Success
malloc.cSuccessNone0.047704s3.833554s
Success
malloc_large.cSuccessNone0.046929s4.222308s
Success
memcpy.cSuccessNone0.046234s3.825397s
Success
memory_error_test.cSuccessNone0.052360s4.242981s
Success
mmap.cSuccessNone0.043638s4.246116s
Success
mmap_aligned.cSuccessNone0.047140s4.264827s
Success
mmap_complicated.cSuccessNone0.051467s4.305384s
Success
mmap_file.cSuccessNone0.052225s4.249521s
Success
mmap_shared.cSuccessNone0.053479s4.335978s
Success
mmaptest.cSuccessNone0.046481s4.232729s
Success
mprotect.cSuccessNone0.045594s4.263097s
Success
mprotect_boundary.cSuccessNone0.045467s4.215931s
Success
mprotect_end_region.cSuccessNone0.045738s4.218071s
Success
mprotect_middle_region.cSuccessNone0.044647s4.255227s
Success
mprotect_multiple_times.cSuccessNone0.044470s4.217618s
Success
mprotect_same_value.cSuccessNone0.046973s4.277234s
Success
mprotect_spanning_regions.cSuccessNone0.045702s4.281119s
Success
sbrk.cSuccessNone0.046609s4.274074s
Success
segfault.cSuccessNone0.057420s4.317942s
Success
shm.cSuccessNone0.050625s4.301231s
Success
shmtest.cSuccessNone0.046120s4.250456s
Success
tcache_test.cSuccessNone0.054644s4.452445s
Success
vtable.cSuccessNone0.057525s3.898724s
Success
Networking Tests
dnstest.cSuccessNone0.051381s4.237366s
Success
epollcreate1.cSuccessNone0.052673s4.278666s
Success
error_handling_net.cSuccessNone0.059632s4.303184s
Success
getaddrinfo_test.cSuccessNone0.056040s6.032532s
Success
gethostname.cSuccessNone0.044219s3.832595s
Success
getsockname.cSuccessNone0.054622s4.276098s
Success
getsockopt.cSuccessNone0.056397s4.266603s
Success
makepipe.cSuccessNone0.044142s3.833267s
Success
nonblocking_eagain.cSuccessNone0.056381s4.306692s
Success
pipe.cSuccessNone0.052837s4.271113s
Success
pipe2.cSuccessNone0.053328s4.229369s
Success
pipeinput.cSuccessNone0.056025s4.349044s
Success
pipeinput2.cSuccessNone0.054361s4.312025s
Success
pipeonestring.cSuccessNone0.054700s4.299305s
Success
pipepong.cSuccessNone0.054925s4.330422s
Success
pipewrite.cSuccessNone0.047309s4.215258s
Success
poll.cSuccessNone0.051939s4.241266s
Success
recvfrom-sendto.cSuccessNone0.053694s4.302369s
Success
serverclient.cSuccessNone0.053396s3.904910s
Success
shutdown.cSuccessNone0.055012s3.873155s
Success
shutdown_fork.cSuccessNone0.052691s4.318686s
Success
simple-select.cSuccessNone0.053520s4.306129s
Success
simple_epoll.cSuccessNone0.051784s4.294043s
Success
socket.cSuccessNone0.051478s3.864221s
Success
socket_cloexec.cSuccessNone0.050122s4.257228s
Success
socket_options_advanced.cSuccessNone0.057190s4.266820s
Success
socketepoll.cSuccessNone0.050455s3.837946s
Success
socketpair.cSuccessNone0.049918s4.293208s
Success
socketselect.cSuccessNone0.051709s4.263679s
Success
tcp_connect_single.cSuccessNone0.053847s4.280809s
Success
uds-getsockname.cSuccessNone0.054031s4.287081s
Success
uds-socketselect.cSuccessNone0.054332s3.891507s
Success
writev_socket.cSuccessNone0.055407s4.248663s
Success
Process Tests
barrier_test.cSuccessNone0.052915s4.459586s
Success
chain_thread.cSuccessNone1.052860s5.417534s
Success
cxa_atexit_test.cSuccessNone0.049778s3.908056s
Success
exit.cSuccessNone0.049668s3.837469s
Success
flockfile_test.cSuccessNone0.051700s4.420963s
Success
fork2malloc.cSuccessNone0.052292s4.309445s
Success
fork_select.cSuccessNone0.050478s4.288077s
Success
fork_simple.cSuccessNone0.050172s4.257645s
Success
fork_syscall.cSuccessNone0.055922s4.318907s
Success
forkandopen.cSuccessNone0.053083s4.299987s
Success
forkdup.cSuccessNone0.062195s4.006317s
Success
forkexecuid.cSuccessNone0.049901s4.314166s
Success
forkexecv-arg.cSuccessNone0.050335s4.297256s
Success
forkexecv.cSuccessNone0.053498s4.341250s
Success
forkfiles.cSuccessNone0.053272s4.318532s
Success
forkmalloc.cSuccessNone0.054231s4.276810s
Success
forknodup.cSuccessNone0.052026s4.303157s
Success
function-ptr.cSuccessNone0.058564s4.220140s
Success
getegid_syscall.cSuccessNone0.053257s4.301247s
Success
getgid_syscall.cSuccessNone0.053201s4.329070s
Success
getpid.cSuccessNone0.046565s4.231226s
Success
getpid_syscall.cSuccessNone0.053865s4.348553s
Success
getppid.cSuccessNone0.052551s4.288385s
Success
getppid_syscall.cSuccessNone0.056332s4.340013s
Success
getuid.cSuccessNone0.051903s4.218238s
Success
getuid_syscall.cSuccessNone0.050717s4.304616s
Success
hello-arg.cSuccessNone0.042347s3.845035s
Success
hello.cSuccessNone0.043833s3.832763s
Success
longjmp.cSuccessNone0.043377s3.881125s
Success
mutex.cSuccessNone2.054187s6.541460s
Success
printf_deadlock_smoke.cSuccessNone0.061908s4.577356s
Success
printf_thread_test.cSuccessNone0.051822s4.460584s
Success
sem_forks.cSuccessNone0.054479s4.291193s
Success
setsid.cSuccessNone0.044445s3.849945s
Success
template.cSuccessNone0.053525s4.294623s
Success
test_exec_nofork.cSuccessNone0.050030s4.234821s
Success
test_unlink_open_file.cSuccessNone0.047270s3.844047s
Success
thread-test.cSuccessNone0.046322s4.379322s
Success
thread.cSuccessNone0.047801s4.403152s
Success
thread_cageid_race.cSuccessNone0.047609s4.446574s
Success
tls_test.cSuccessNone0.050839s4.414099s
Success
uname.cSuccessNone0.044348s4.217970s
Success
wait.cSuccessNone2.050678s5.903555s
Success
waitpid_anychild.cSuccessNone0.050898s4.305621s
Success
waitpid_syscall.cSuccessNone1.051482s5.288806s
Success
waitpid_wnohang.cSuccessNone0.053502s3.961340s
Success
Signal Tests
alarm.cSuccessNone7.053265s10.927962s
Success
setitimer.cSuccessNone7.053256s10.903082s
Success
sigalrm.cSuccessNone2.053466s5.928541s
Success
sigchld.cSuccessNone1.053700s4.984234s
Success
signal-fork.cSuccessNone4.055941s7.961071s
Success
signal-simple.cSuccessNone0.053670s3.919126s
Success
signal.cSuccessNone0.049679s3.931338s
Success
signal_SIGCHLD.cSuccessNone0.052296s4.352806s
Success
signal_fork.cSuccessNone0.049145s4.294679s
Success
signal_int_ignored.cSuccessNone2.053221s6.369482s
Success
signal_int_thread.cSuccessNone0.050129s4.472035s
Success
signal_longjmp.cSuccessNone0.049915s3.896093s
Success
signal_nodefer.cSuccessNone0.048993s3.890677s
Success
signal_procmask.cSuccessNone0.048051s4.269692s
Success
signal_recursive.cSuccessNone0.045922s3.890849s
Success
signal_sa_mask.cSuccessNone0.049065s3.892981s
Success
sigpipe.cSuccessNone1.057534s5.336973s
Success
sigprocmask.cSuccessNone1.053329s4.890894s
Success
Fail Tests

Summary

MetricCount
Total Test Cases3
Number of Successes3
Number of Failures0
Number of Compilation Failure Native0
Number of Runtime Failure Native0
Number of Segmentation Fault Native0
Number of Timeout During Native0
Number of Lind Wasm Compile Failure0
Number of Lind Wasm Runtime Failure0
Number of Lind Wasm Segmentation Failure0
Number of Timeout During Lind Wasm run0
Number of Unknown Failure0
Number of C Compiler and Wasm Output mismatch0
Number of Fail Test: Native Succeeded (Should Fail)0
Number of Fail Test: Wasm Succeeded (Should Fail)0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)0
Number of Fail Test: Native Compilation Failure (Should Succeed)0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)0

Test Results by Category

Test CaseStatusError TypeNative TimeWasm TimeOutput
Memory Tests
mmap-negative1.cSuccessNone0.111006s4.435352s
Success
mmap-negative2.cSuccessNone0.147277s4.159522s
Success
Signal Tests
signal_resethand.cSuccessNone1.053345s4.024221s
Success

@github-actions
Copy link
Contributor

End-to-End Test Report

Test Preview

Test Report

Deterministic Tests

Summary

MetricCount
Total Test Cases175
Number of Successes175
Number of Failures0
Number of Compilation Failure Native0
Number of Runtime Failure Native0
Number of Segmentation Fault Native0
Number of Timeout During Native0
Number of Lind Wasm Compile Failure0
Number of Lind Wasm Runtime Failure0
Number of Lind Wasm Segmentation Failure0
Number of Timeout During Lind Wasm run0
Number of Unknown Failure0
Number of C Compiler and Wasm Output mismatch0
Number of Fail Test: Native Succeeded (Should Fail)0
Number of Fail Test: Wasm Succeeded (Should Fail)0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)0
Number of Fail Test: Native Compilation Failure (Should Succeed)0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)0

Test Results by Category

Test CaseStatusError TypeNative TimeWasm TimeOutput
File Tests
chartests.cSuccessNone0.047708s4.336535s
Success
chdir_getcwd.cSuccessNone0.051053s4.354543s
Success
chmod.cSuccessNone0.052908s4.228865s
Success
clock_gettime_highlevel.cSuccessNone0.120293s4.518677s
Success
clock_gettime_simple.cSuccessNone0.045170s4.327736s
Success
cloexec.cSuccessNone0.053523s3.976341s
Success
close.cSuccessNone0.060077s4.270453s
Success
creat_access.cSuccessNone0.050632s4.281419s
Success
doubleclose.cSuccessNone0.045801s3.860650s
Success
dup.cSuccessNone0.044328s4.258546s
Success
dup2.cSuccessNone0.053294s3.999898s
Success
dup3.cSuccessNone0.050043s4.321625s
Success
dupwrite.cSuccessNone0.051915s3.898750s
Success
etc_conf.cSuccessNone0.047932s4.296876s
Success
fchdir.cSuccessNone0.056505s4.386727s
Success
fchmod.cSuccessNone0.055779s4.320151s
Success
fcntl.cSuccessNone0.052621s4.330914s
Success
fdatasync.cSuccessNone0.050270s4.336190s
Success
filetest.cSuccessNone0.051157s3.884802s
Success
filetest1000.cSuccessNone0.059791s3.929997s
Success
flock.cSuccessNone0.059661s4.373935s
Success
fstat.cSuccessNone0.054814s4.274230s
Success
fstatfs.cSuccessNone0.048063s4.308336s
Success
fsync.cSuccessNone0.051699s4.341587s
Success
ftruncate.cSuccessNone0.055984s4.356979s
Success
getcwd.cSuccessNone0.050298s4.360862s
Success
getrandom.cSuccessNone0.052651s4.378457s
Success
ioctl.cSuccessNone0.053571s4.325569s
Success
link.cSuccessNone0.055056s4.304792s
Success
locale_test.cSuccessNone0.065696s6.153864s
Success
lseek.cSuccessNone0.055725s4.410862s
Success
mkdir_rmdir.cSuccessNone0.052516s4.349899s
Success
nocancel_io.cSuccessNone0.054863s5.660444s
Success
open.cSuccessNone0.046586s4.324382s
Success
pread_pwrite.cSuccessNone0.050265s4.305992s
Success
printf.cSuccessNone0.043229s3.883577s
Success
read.cSuccessNone0.053523s4.264821s
Success
readbytes.cSuccessNone0.048372s3.905927s
Success
readlink.cSuccessNone0.053382s4.313465s
Success
readlinkat.cSuccessNone0.054238s4.310007s
Success
rename.cSuccessNone0.054174s4.311417s
Success
sc-writev.cSuccessNone0.052137s4.318545s
Success
stat.cSuccessNone0.053255s4.312762s
Success
statfs.cSuccessNone0.047717s4.358503s
Success
sync_file_range.cSuccessNone0.050353s4.248803s
Success
truncate.cSuccessNone0.053830s4.333593s
Success
unlink.cSuccessNone0.056589s4.302962s
Success
unlinkat.cSuccessNone0.053470s4.293346s
Success
write.cSuccessNone0.046421s3.896336s
Success
writeloop.cSuccessNone0.055280s3.897617s
Success
writepartial.cSuccessNone0.053776s3.829109s
Success
writev.cSuccessNone0.053176s4.315239s
Success
Math Tests
math_link_smoke.cSuccessNone0.056337s3.927018s
Success
math_tests.cSuccessNone0.057790s4.087809s
Success
Memory Tests
brk.cSuccessNone0.049014s4.274299s
Success
malloc.cSuccessNone0.047322s3.897996s
Success
malloc_large.cSuccessNone0.047920s4.245183s
Success
memcpy.cSuccessNone0.047359s3.904695s
Success
memory_error_test.cSuccessNone0.053555s4.404519s
Success
mmap.cSuccessNone0.044328s4.273777s
Success
mmap_aligned.cSuccessNone0.048142s4.354962s
Success
mmap_complicated.cSuccessNone0.050407s4.410043s
Success
mmap_file.cSuccessNone0.053259s4.258054s
Success
mmap_shared.cSuccessNone0.054435s4.431557s
Success
mmaptest.cSuccessNone0.047228s4.228686s
Success
mprotect.cSuccessNone0.046693s4.319525s
Success
mprotect_boundary.cSuccessNone0.048502s4.326789s
Success
mprotect_end_region.cSuccessNone0.046792s4.350868s
Success
mprotect_middle_region.cSuccessNone0.046183s4.318916s
Success
mprotect_multiple_times.cSuccessNone0.044411s4.269194s
Success
mprotect_same_value.cSuccessNone0.045229s4.321355s
Success
mprotect_spanning_regions.cSuccessNone0.047348s4.397413s
Success
sbrk.cSuccessNone0.046485s4.232344s
Success
segfault.cSuccessNone0.055286s4.338610s
Success
shm.cSuccessNone0.051121s4.344288s
Success
shmtest.cSuccessNone0.050376s4.319679s
Success
tcache_test.cSuccessNone0.055469s4.481623s
Success
vtable.cSuccessNone0.061357s3.954960s
Success
Networking Tests
dnstest.cSuccessNone0.053046s4.329418s
Success
epollcreate1.cSuccessNone0.052703s4.275294s
Success
error_handling_net.cSuccessNone0.059102s4.320155s
Success
getaddrinfo_test.cSuccessNone0.059106s6.108265s
Success
gethostname.cSuccessNone0.046305s3.959997s
Success
getsockname.cSuccessNone0.052458s4.240928s
Success
getsockopt.cSuccessNone0.057393s4.374835s
Success
makepipe.cSuccessNone0.044279s3.836100s
Success
nonblocking_eagain.cSuccessNone0.056804s4.408194s
Success
pipe.cSuccessNone0.054190s4.263890s
Success
pipe2.cSuccessNone0.055247s4.355852s
Success
pipeinput.cSuccessNone0.056467s4.333055s
Success
pipeinput2.cSuccessNone0.057810s4.396578s
Success
pipeonestring.cSuccessNone0.053932s4.284876s
Success
pipepong.cSuccessNone0.053003s4.294341s
Success
pipewrite.cSuccessNone0.048836s4.345379s
Success
poll.cSuccessNone0.054959s4.327433s
Success
recvfrom-sendto.cSuccessNone0.053455s4.266585s
Success
serverclient.cSuccessNone0.052256s3.917488s
Success
shutdown.cSuccessNone0.053740s3.866295s
Success
shutdown_fork.cSuccessNone0.053241s4.351294s
Success
simple-select.cSuccessNone0.054040s4.294223s
Success
simple_epoll.cSuccessNone0.055737s4.284321s
Success
socket.cSuccessNone0.050823s3.888826s
Success
socket_cloexec.cSuccessNone0.053042s4.296447s
Success
socket_options_advanced.cSuccessNone0.061061s4.314850s
Success
socketepoll.cSuccessNone0.050507s3.837886s
Success
socketpair.cSuccessNone0.050045s4.293138s
Success
socketselect.cSuccessNone0.051340s4.236198s
Success
tcp_connect_single.cSuccessNone0.052032s4.233109s
Success
uds-getsockname.cSuccessNone0.052134s4.257885s
Success
uds-socketselect.cSuccessNone0.051531s3.855542s
Success
writev_socket.cSuccessNone0.057990s4.287542s
Success
Process Tests
barrier_test.cSuccessNone0.054007s4.446544s
Success
chain_thread.cSuccessNone1.052706s5.455140s
Success
cxa_atexit_test.cSuccessNone0.050136s3.842147s
Success
exit.cSuccessNone0.050640s3.904529s
Success
flockfile_test.cSuccessNone0.053080s4.507335s
Success
fork2malloc.cSuccessNone0.054460s4.343019s
Success
fork_select.cSuccessNone0.051313s4.317479s
Success
fork_simple.cSuccessNone0.048852s4.280103s
Success
fork_syscall.cSuccessNone0.055242s4.348093s
Success
forkandopen.cSuccessNone0.056779s4.399487s
Success
forkdup.cSuccessNone0.062806s4.002816s
Success
forkexecuid.cSuccessNone0.049370s4.363059s
Success
forkexecv-arg.cSuccessNone0.053765s4.376132s
Success
forkexecv.cSuccessNone0.050338s4.306994s
Success
forkfiles.cSuccessNone0.053070s4.324033s
Success
forkmalloc.cSuccessNone0.052812s4.318900s
Success
forknodup.cSuccessNone0.051605s4.273305s
Success
function-ptr.cSuccessNone0.058540s4.445774s
Success
getegid_syscall.cSuccessNone0.053341s4.406633s
Success
getgid_syscall.cSuccessNone0.053275s4.431110s
Success
getpid.cSuccessNone0.046664s4.303906s
Success
getpid_syscall.cSuccessNone0.055934s4.383943s
Success
getppid.cSuccessNone0.053481s4.362157s
Success
getppid_syscall.cSuccessNone0.057369s4.364670s
Success
getuid.cSuccessNone0.051739s4.250830s
Success
getuid_syscall.cSuccessNone0.052737s4.381201s
Success
hello-arg.cSuccessNone0.043749s3.902320s
Success
hello.cSuccessNone0.044332s3.951326s
Success
longjmp.cSuccessNone0.043202s3.880529s
Success
mutex.cSuccessNone2.057404s6.581743s
Success
printf_deadlock_smoke.cSuccessNone0.064699s4.632363s
Success
printf_thread_test.cSuccessNone0.052887s4.486948s
Success
sem_forks.cSuccessNone0.053193s4.340636s
Success
setsid.cSuccessNone0.043849s3.827279s
Success
template.cSuccessNone0.051650s4.284427s
Success
test_exec_nofork.cSuccessNone0.052281s4.320728s
Success
test_unlink_open_file.cSuccessNone0.047675s3.887361s
Success
thread-test.cSuccessNone0.047088s4.384697s
Success
thread.cSuccessNone0.046505s4.393809s
Success
thread_cageid_race.cSuccessNone0.047091s4.370991s
Success
tls_test.cSuccessNone0.049730s4.465952s
Success
uname.cSuccessNone0.048314s4.328725s
Success
wait.cSuccessNone2.050577s5.939552s
Success
waitpid_anychild.cSuccessNone0.053393s4.361931s
Success
waitpid_syscall.cSuccessNone1.052975s5.342878s
Success
waitpid_wnohang.cSuccessNone0.053112s3.957451s
Success
Signal Tests
alarm.cSuccessNone7.051876s10.932549s
Success
setitimer.cSuccessNone7.051628s10.937993s
Success
sigalrm.cSuccessNone2.052738s5.890719s
Success
sigchld.cSuccessNone1.053573s4.942320s
Success
signal-fork.cSuccessNone4.055587s7.926806s
Success
signal-simple.cSuccessNone0.055730s3.933943s
Success
signal.cSuccessNone0.048201s3.883942s
Success
signal_SIGCHLD.cSuccessNone0.051493s4.313587s
Success
signal_fork.cSuccessNone0.050113s4.343240s
Success
signal_int_ignored.cSuccessNone2.053742s6.317772s
Success
signal_int_thread.cSuccessNone0.049995s4.433330s
Success
signal_longjmp.cSuccessNone0.048460s3.880926s
Success
signal_nodefer.cSuccessNone0.048811s3.883998s
Success
signal_procmask.cSuccessNone0.046532s4.293285s
Success
signal_recursive.cSuccessNone0.046509s3.899399s
Success
signal_sa_mask.cSuccessNone0.046212s3.860990s
Success
sigpipe.cSuccessNone1.055048s5.333186s
Success
sigprocmask.cSuccessNone1.052398s4.908728s
Success
Fail Tests

Summary

MetricCount
Total Test Cases3
Number of Successes3
Number of Failures0
Number of Compilation Failure Native0
Number of Runtime Failure Native0
Number of Segmentation Fault Native0
Number of Timeout During Native0
Number of Lind Wasm Compile Failure0
Number of Lind Wasm Runtime Failure0
Number of Lind Wasm Segmentation Failure0
Number of Timeout During Lind Wasm run0
Number of Unknown Failure0
Number of C Compiler and Wasm Output mismatch0
Number of Fail Test: Native Succeeded (Should Fail)0
Number of Fail Test: Wasm Succeeded (Should Fail)0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)0
Number of Fail Test: Native Compilation Failure (Should Succeed)0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)0

Test Results by Category

Test CaseStatusError TypeNative TimeWasm TimeOutput
Memory Tests
mmap-negative1.cSuccessNone0.126409s4.460199s
Success
mmap-negative2.cSuccessNone0.148081s4.110960s
Success
Signal Tests
signal_resethand.cSuccessNone1.053572s3.938200s
Success

@rennergade
Copy link
Contributor Author

@Yaxuan-w I updated the comments per your review. Thanks for those.

@github-actions
Copy link
Contributor

End-to-End Test Report

Test Preview

Test Report

Deterministic Tests

Summary

MetricCount
Total Test Cases175
Number of Successes175
Number of Failures0
Number of Compilation Failure Native0
Number of Runtime Failure Native0
Number of Segmentation Fault Native0
Number of Timeout During Native0
Number of Lind Wasm Compile Failure0
Number of Lind Wasm Runtime Failure0
Number of Lind Wasm Segmentation Failure0
Number of Timeout During Lind Wasm run0
Number of Unknown Failure0
Number of C Compiler and Wasm Output mismatch0
Number of Fail Test: Native Succeeded (Should Fail)0
Number of Fail Test: Wasm Succeeded (Should Fail)0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)0
Number of Fail Test: Native Compilation Failure (Should Succeed)0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)0

Test Results by Category

Test CaseStatusError TypeNative TimeWasm TimeOutput
File Tests
chartests.cSuccessNone0.052709s4.445903s
Success
chdir_getcwd.cSuccessNone0.053194s4.428617s
Success
chmod.cSuccessNone0.055255s4.372557s
Success
clock_gettime_highlevel.cSuccessNone0.121463s4.581877s
Success
clock_gettime_simple.cSuccessNone0.044374s4.370742s
Success
cloexec.cSuccessNone0.056486s4.043009s
Success
close.cSuccessNone0.061460s4.391311s
Success
creat_access.cSuccessNone0.054014s4.406564s
Success
doubleclose.cSuccessNone0.044791s3.934061s
Success
dup.cSuccessNone0.047447s4.367197s
Success
dup2.cSuccessNone0.053965s4.010040s
Success
dup3.cSuccessNone0.050145s4.378734s
Success
dupwrite.cSuccessNone0.052760s3.950158s
Success
etc_conf.cSuccessNone0.048560s4.357477s
Success
fchdir.cSuccessNone0.057712s4.444383s
Success
fchmod.cSuccessNone0.059333s4.354801s
Success
fcntl.cSuccessNone0.051877s4.340207s
Success
fdatasync.cSuccessNone0.051509s4.411105s
Success
filetest.cSuccessNone0.051020s3.963726s
Success
filetest1000.cSuccessNone0.060575s3.970022s
Success
flock.cSuccessNone0.062692s4.538836s
Success
fstat.cSuccessNone0.057135s4.426065s
Success
fstatfs.cSuccessNone0.048653s4.342649s
Success
fsync.cSuccessNone0.053125s4.390063s
Success
ftruncate.cSuccessNone0.058330s4.428837s
Success
getcwd.cSuccessNone0.050895s4.430531s
Success
getrandom.cSuccessNone0.053392s4.399252s
Success
ioctl.cSuccessNone0.058845s4.395675s
Success
link.cSuccessNone0.055537s4.369670s
Success
locale_test.cSuccessNone0.067825s6.299423s
Success
lseek.cSuccessNone0.058868s4.444547s
Success
mkdir_rmdir.cSuccessNone0.056979s4.448362s
Success
nocancel_io.cSuccessNone0.057973s5.728309s
Success
open.cSuccessNone0.049656s4.409106s
Success
pread_pwrite.cSuccessNone0.054101s4.374634s
Success
printf.cSuccessNone0.045919s3.912918s
Success
read.cSuccessNone0.054659s4.366363s
Success
readbytes.cSuccessNone0.050863s4.021810s
Success
readlink.cSuccessNone0.053799s4.420479s
Success
readlinkat.cSuccessNone0.054842s4.366648s
Success
rename.cSuccessNone0.056123s4.359086s
Success
sc-writev.cSuccessNone0.054480s4.380113s
Success
stat.cSuccessNone0.055666s4.367854s
Success
statfs.cSuccessNone0.048102s4.420677s
Success
sync_file_range.cSuccessNone0.051420s4.372693s
Success
truncate.cSuccessNone0.054409s4.428459s
Success
unlink.cSuccessNone0.059226s4.428046s
Success
unlinkat.cSuccessNone0.058375s4.414841s
Success
write.cSuccessNone0.048834s3.981209s
Success
writeloop.cSuccessNone0.055940s3.921726s
Success
writepartial.cSuccessNone0.053346s3.918010s
Success
writev.cSuccessNone0.056218s4.358077s
Success
Math Tests
math_link_smoke.cSuccessNone0.056263s3.984890s
Success
math_tests.cSuccessNone0.062677s4.158960s
Success
Memory Tests
brk.cSuccessNone0.051552s4.355622s
Success
malloc.cSuccessNone0.049986s3.941756s
Success
malloc_large.cSuccessNone0.050523s4.363863s
Success
memcpy.cSuccessNone0.049392s4.013922s
Success
memory_error_test.cSuccessNone0.054833s4.364441s
Success
mmap.cSuccessNone0.047716s4.354132s
Success
mmap_aligned.cSuccessNone0.047944s4.373554s
Success
mmap_complicated.cSuccessNone0.053632s4.425047s
Success
mmap_file.cSuccessNone0.054754s4.356033s
Success
mmap_shared.cSuccessNone0.052118s4.394022s
Success
mmaptest.cSuccessNone0.049506s4.343304s
Success
mprotect.cSuccessNone0.049335s4.389568s
Success
mprotect_boundary.cSuccessNone0.046361s4.336539s
Success
mprotect_end_region.cSuccessNone0.045846s4.360379s
Success
mprotect_middle_region.cSuccessNone0.047112s4.335544s
Success
mprotect_multiple_times.cSuccessNone0.046466s4.330061s
Success
mprotect_same_value.cSuccessNone0.048209s4.386889s
Success
mprotect_spanning_regions.cSuccessNone0.047480s4.322434s
Success
sbrk.cSuccessNone0.048967s4.346384s
Success
segfault.cSuccessNone0.055802s4.408854s
Success
shm.cSuccessNone0.054792s4.444513s
Success
shmtest.cSuccessNone0.048677s4.360585s
Success
tcache_test.cSuccessNone0.055761s4.530457s
Success
vtable.cSuccessNone0.061687s4.008454s
Success
Networking Tests
dnstest.cSuccessNone0.053957s4.396659s
Success
epollcreate1.cSuccessNone0.054917s4.421347s
Success
error_handling_net.cSuccessNone0.063442s4.493703s
Success
getaddrinfo_test.cSuccessNone0.059342s6.279725s
Success
gethostname.cSuccessNone0.049000s4.016753s
Success
getsockname.cSuccessNone0.056995s4.403122s
Success
getsockopt.cSuccessNone0.058111s4.432599s
Success
makepipe.cSuccessNone0.047173s3.921508s
Success
nonblocking_eagain.cSuccessNone0.060665s4.495221s
Success
pipe.cSuccessNone0.058251s4.438474s
Success
pipe2.cSuccessNone0.057750s4.383439s
Success
pipeinput.cSuccessNone0.058728s4.459047s
Success
pipeinput2.cSuccessNone0.058248s4.447138s
Success
pipeonestring.cSuccessNone0.059427s4.454648s
Success
pipepong.cSuccessNone0.057343s4.475677s
Success
pipewrite.cSuccessNone0.051376s4.371843s
Success
poll.cSuccessNone0.054451s4.413689s
Success
recvfrom-sendto.cSuccessNone0.056077s4.438377s
Success
serverclient.cSuccessNone0.053955s3.987575s
Success
shutdown.cSuccessNone0.057808s4.022296s
Success
shutdown_fork.cSuccessNone0.056663s4.423576s
Success
simple-select.cSuccessNone0.057738s4.397283s
Success
simple_epoll.cSuccessNone0.055036s4.418646s
Success
socket.cSuccessNone0.053853s3.947559s
Success
socket_cloexec.cSuccessNone0.054339s4.388832s
Success
socket_options_advanced.cSuccessNone0.060655s4.452256s
Success
socketepoll.cSuccessNone0.054111s4.019572s
Success
socketpair.cSuccessNone0.052833s4.435953s
Success
socketselect.cSuccessNone0.053522s4.376505s
Success
tcp_connect_single.cSuccessNone0.056013s4.474390s
Success
uds-getsockname.cSuccessNone0.054695s4.411397s
Success
uds-socketselect.cSuccessNone0.055645s3.990885s
Success
writev_socket.cSuccessNone0.059802s4.376659s
Success
Process Tests
barrier_test.cSuccessNone0.054538s4.511943s
Success
chain_thread.cSuccessNone1.056926s5.496047s
Success
cxa_atexit_test.cSuccessNone0.050080s3.964672s
Success
exit.cSuccessNone0.052441s3.941418s
Success
flockfile_test.cSuccessNone0.053723s4.531788s
Success
fork2malloc.cSuccessNone0.054600s4.416887s
Success
fork_select.cSuccessNone0.053607s4.395463s
Success
fork_simple.cSuccessNone0.052189s4.459588s
Success
fork_syscall.cSuccessNone0.059456s4.520919s
Success
forkandopen.cSuccessNone0.055761s4.461105s
Success
forkdup.cSuccessNone0.064957s4.043094s
Success
forkexecuid.cSuccessNone0.054835s4.480131s
Success
forkexecv-arg.cSuccessNone0.055089s4.495511s
Success
forkexecv.cSuccessNone0.051838s4.438000s
Success
forkfiles.cSuccessNone0.055874s4.496688s
Success
forkmalloc.cSuccessNone0.055078s4.467447s
Success
forknodup.cSuccessNone0.055939s4.440218s
Success
function-ptr.cSuccessNone0.069174s4.359431s
Success
getegid_syscall.cSuccessNone0.055817s4.473371s
Success
getgid_syscall.cSuccessNone0.056889s4.455632s
Success
getpid.cSuccessNone0.047636s4.332723s
Success
getpid_syscall.cSuccessNone0.056786s4.546071s
Success
getppid.cSuccessNone0.054877s4.445329s
Success
getppid_syscall.cSuccessNone0.059554s4.447521s
Success
getuid.cSuccessNone0.055259s4.393359s
Success
getuid_syscall.cSuccessNone0.053841s4.486963s
Success
hello-arg.cSuccessNone0.044813s3.977966s
Success
hello.cSuccessNone0.044603s3.979122s
Success
longjmp.cSuccessNone0.047374s4.047743s
Success
mutex.cSuccessNone2.058443s6.705176s
Success
printf_deadlock_smoke.cSuccessNone0.064937s4.711211s
Success
printf_thread_test.cSuccessNone0.053314s4.617084s
Success
sem_forks.cSuccessNone0.061115s4.408554s
Success
setsid.cSuccessNone0.046664s3.939425s
Success
template.cSuccessNone0.056499s4.429967s
Success
test_exec_nofork.cSuccessNone0.055548s4.472899s
Success
test_unlink_open_file.cSuccessNone0.048822s3.926209s
Success
thread-test.cSuccessNone0.048583s4.510651s
Success
thread.cSuccessNone0.049223s4.577950s
Success
thread_cageid_race.cSuccessNone0.051441s4.508528s
Success
tls_test.cSuccessNone0.052904s4.600454s
Success
uname.cSuccessNone0.047014s4.383740s
Success
wait.cSuccessNone2.051616s6.117836s
Success
waitpid_anychild.cSuccessNone0.055559s4.448867s
Success
waitpid_syscall.cSuccessNone1.054746s5.438551s
Success
waitpid_wnohang.cSuccessNone0.056847s4.082913s
Success
Signal Tests
alarm.cSuccessNone7.054452s11.011866s
Success
setitimer.cSuccessNone7.055891s11.025763s
Success
sigalrm.cSuccessNone2.054132s5.983391s
Success
sigchld.cSuccessNone1.057221s5.038119s
Success
signal-fork.cSuccessNone4.057885s7.997829s
Success
signal-simple.cSuccessNone0.060649s4.105309s
Success
signal.cSuccessNone0.052229s4.044129s
Success
signal_SIGCHLD.cSuccessNone0.054444s4.423981s
Success
signal_fork.cSuccessNone0.049968s4.469168s
Success
signal_int_ignored.cSuccessNone2.055474s6.441748s
Success
signal_int_thread.cSuccessNone0.053357s4.607549s
Success
signal_longjmp.cSuccessNone0.051738s4.008880s
Success
signal_nodefer.cSuccessNone0.053097s3.966511s
Success
signal_procmask.cSuccessNone0.050656s4.408024s
Success
signal_recursive.cSuccessNone0.049227s3.953303s
Success
signal_sa_mask.cSuccessNone0.048317s3.927313s
Success
sigpipe.cSuccessNone1.055799s5.428510s
Success
sigprocmask.cSuccessNone1.054732s4.990875s
Success
Fail Tests

Summary

MetricCount
Total Test Cases3
Number of Successes3
Number of Failures0
Number of Compilation Failure Native0
Number of Runtime Failure Native0
Number of Segmentation Fault Native0
Number of Timeout During Native0
Number of Lind Wasm Compile Failure0
Number of Lind Wasm Runtime Failure0
Number of Lind Wasm Segmentation Failure0
Number of Timeout During Lind Wasm run0
Number of Unknown Failure0
Number of C Compiler and Wasm Output mismatch0
Number of Fail Test: Native Succeeded (Should Fail)0
Number of Fail Test: Wasm Succeeded (Should Fail)0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)0
Number of Fail Test: Native Compilation Failure (Should Succeed)0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)0

Test Results by Category

Test CaseStatusError TypeNative TimeWasm TimeOutput
Memory Tests
mmap-negative1.cSuccessNone0.112947s4.407224s
Success
mmap-negative2.cSuccessNone0.211228s4.223717s
Success
Signal Tests
signal_resethand.cSuccessNone1.055201s4.048424s
Success

@Yaxuan-w
Copy link
Member

Yaxuan-w commented Feb 25, 2026

The check failed on zizmor. Maybe needs to merge main?

)?;

// environ_get: writes an array of i32 pointers at env_ptrs and the
// NUL-terminated "KEY=VALUE" strings at env_buf. Same allocation contract
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"NULL-terminated"

},
)?;

// args_get: writes an array of i32 pointers at argv_ptrs and the NUL-terminated
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"NULL"

linker: &mut Linker<T>,
get_cx: impl Fn(&T) -> &LindEnviron + Send + Sync + Copy + 'static,
) -> anyhow::Result<()> {
// args_sizes_get: writes argc and total argv buffer size (sum of NUL-terminated arg lengths)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"NULL"

/// These are called by glibc's `_start()` to initialize `argc`, `argv`, and
/// `environ` before entering `main()`. Each function writes directly into the
/// guest's linear memory at offsets provided by the caller.
pub fn add_to_linker<T: Clone + Send + Sync + 'static>(
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Those needs to be put into lind-common/lib.rs

@github-actions
Copy link
Contributor

End-to-End Test Report

Test Preview

Test Report

Deterministic Tests

Summary

MetricCount
Total Test Cases185
Number of Successes184
Number of Failures1
Number of Compilation Failure Native0
Number of Runtime Failure Native0
Number of Segmentation Fault Native0
Number of Timeout During Native0
Number of Lind Wasm Compile Failure0
Number of Lind Wasm Runtime Failure0
Number of Lind Wasm Segmentation Failure0
Number of Timeout During Lind Wasm run0
Number of Unknown Failure1
Number of C Compiler and Wasm Output mismatch0
Number of Fail Test: Native Succeeded (Should Fail)0
Number of Fail Test: Wasm Succeeded (Should Fail)0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)0
Number of Fail Test: Native Compilation Failure (Should Succeed)0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)0

Test Results by Category

Test CaseStatusError TypeNative TimeWasm TimeOutput
File Tests
chartests.cSuccessNone0.050128s4.246877s
Success
chdir_getcwd.cSuccessNone0.050882s4.271818s
Success
chmod.cSuccessNone0.056339s4.245880s
Success
clock_gettime_highlevel.cSuccessNone0.120390s4.468178s
Success
clock_gettime_simple.cSuccessNone0.044449s4.225817s
Success
cloexec.cSuccessNone0.054671s3.886257s
Success
close.cSuccessNone0.063703s4.278088s
Success
creat_access.cSuccessNone0.052815s4.265086s
Success
doubleclose.cSuccessNone0.045416s3.827498s
Success
dup.cSuccessNone0.046375s4.231960s
Success
dup2.cSuccessNone0.051939s3.845531s
Success
dup3.cSuccessNone0.051013s4.258859s
Success
dupwrite.cSuccessNone0.052795s3.841959s
Success
etc_conf.cSuccessNone0.049211s4.230992s
Success
fchdir.cSuccessNone0.057369s4.282145s
Success
fchmod.cSuccessNone0.058005s4.262354s
Success
fcntl.cSuccessNone0.052203s4.236593s
Success
fdatasync.cSuccessNone0.052503s4.235171s
Success
filetest.cSuccessNone0.053396s3.880611s
Success
filetest1000.cSuccessNone0.061668s3.869733s
Success
flock.cSuccessNone0.060386s4.344905s
Success
fstat.cSuccessNone0.054420s4.236908s
Success
fstatfs.cSuccessNone0.047318s4.249418s
Success
fsync.cSuccessNone0.052548s4.218874s
Success
ftruncate.cSuccessNone0.057134s4.297303s
Success
getcwd.cSuccessNone0.049490s4.226452s
Success
getrandom.cSuccessNone0.052215s4.240434s
Success
ioctl.cSuccessNone0.057225s4.240132s
Success
link.cSuccessNone0.056625s4.275167s
Success
locale_test.cSuccessNone0.066892s6.032597s
Success
lseek.cSuccessNone0.057106s4.289635s
Success
mkdir_rmdir.cSuccessNone0.053503s4.222614s
Success
nocancel_io.cSuccessNone0.056436s5.562113s
Success
open.cSuccessNone0.047136s4.240251s
Success
path_conversion_safety.cSuccessNone0.056948s4.264325s
Success
pread_pwrite.cSuccessNone0.050512s4.242308s
Success
printf.cSuccessNone0.044308s3.910242s
Success
read.cSuccessNone0.053772s4.222583s
Success
readbytes.cSuccessNone0.049120s3.850266s
Success
readlink.cSuccessNone0.052919s4.246136s
Success
readlinkat.cSuccessNone0.054558s4.292970s
Success
readv_writev_test.cSuccessNone0.054970s4.255688s
Success
rename.cSuccessNone0.055915s4.267930s
Success
sc-writev.cSuccessNone0.051284s4.227824s
Success
stat.cSuccessNone0.054401s4.254632s
Success
statfs.cSuccessNone0.047541s4.269369s
Success
sync_file_range.cSuccessNone0.050529s4.246666s
Success
truncate.cSuccessNone0.055762s4.276706s
Success
unlink.cSuccessNone0.055607s4.253050s
Success
unlinkat.cSuccessNone0.055660s4.271064s
Success
write.cSuccessNone0.045974s3.826956s
Success
writeloop.cSuccessNone0.055703s3.871501s
Success
writepartial.cSuccessNone0.054038s3.836869s
Success
writev.cSuccessNone0.056059s4.241328s
Success
Math Tests
math_link_smoke.cSuccessNone0.057085s3.891287s
Success
math_tests.cSuccessNone0.060895s4.052881s
Success
Memory Tests
brk.cSuccessNone0.050932s4.238565s
Success
fork_large_memory.cSuccessNone0.091067s4.669808s
Success
malloc.cSuccessNone0.048622s3.834872s
Success
malloc_large.cSuccessNone0.049644s4.218997s
Success
memcpy.cSuccessNone0.048557s3.845709s
Success
memory_error_test.cSuccessNone0.054488s4.244637s
Success
mmap.cSuccessNone0.044940s4.216108s
Success
mmap_aligned.cSuccessNone0.047373s4.230847s
Success
mmap_complicated.cSuccessNone0.052635s4.278763s
Success
mmap_file.cSuccessNone0.053609s4.238369s
Success
mmap_shared.cSuccessNone0.052558s4.275142s
Success
mmaptest.cSuccessNone0.048571s4.225012s
Success
mprotect.cSuccessNone0.047256s4.229375s
Success
mprotect_boundary.cSuccessNone0.047052s4.251089s
Success
mprotect_end_region.cSuccessNone0.046527s4.241573s
Success
mprotect_middle_region.cSuccessNone0.047080s4.244714s
Success
mprotect_multiple_times.cSuccessNone0.047001s4.224379s
Success
mprotect_same_value.cSuccessNone0.046354s4.263783s
Success
mprotect_spanning_regions.cSuccessNone0.048582s4.247843s
Success
sbrk.cSuccessNone0.048475s4.239951s
Success
segfault.cSuccessNone0.054990s4.276795s
Success
shm.cSuccessNone0.053410s4.321296s
Success
shmtest.cSuccessNone0.047638s4.237518s
Success
tcache_test.cSuccessNone0.056236s4.410036s
Success
vtable.cSuccessNone0.059699s3.881954s
Success
Networking Tests
dnstest.cSuccessNone0.057080s4.254591s
Success
epoll_edge_triggered.cSuccessNone0.210713s4.469726s
Success
epollcreate1.cSuccessNone0.055257s4.258865s
Success
error_handling_net.cSuccessNone0.061455s4.324761s
Success
getaddrinfo_test.cSuccessNone0.057848s6.033236s
Success
gethostname.cSuccessNone0.047271s3.860489s
Success
getifaddrs.cSuccessNone0.056825s4.327236s
Success
getsockname.cSuccessNone0.055033s4.264697s
Success
getsockopt.cSuccessNone0.057825s4.273998s
Success
ipv6_basic.cSuccessNone0.058830s4.290211s
Success
makepipe.cSuccessNone0.046496s3.825429s
Success
nonblocking_eagain.cSuccessNone0.058513s4.321650s
Success
pipe.cSuccessNone0.056218s4.295738s
Success
pipe2.cSuccessNone0.055859s4.229760s
Success
pipeinput.cSuccessNone0.057069s4.296899s
Success
pipeinput2.cSuccessNone0.057532s4.309928s
Success
pipeonestring.cSuccessNone0.059641s4.330747s
Success
pipepong.cSuccessNone0.055197s4.315237s
Success
pipewrite.cSuccessNone0.049956s4.212563s
Success
poll.cSuccessNone0.054435s4.231386s
Success
recvfrom-sendto.cSuccessNone0.056612s4.260889s
Success
sendmsg_recvmsg_test.cSuccessNone0.055405s4.254876s
Success
serverclient.cSuccessNone0.054772s3.870157s
Success
shutdown.cSuccessNone0.056518s3.871755s
Success
shutdown_fork.cSuccessNone0.055198s4.293050s
Success
simple-select.cSuccessNone0.055689s4.285003s
Success
simple_epoll.cSuccessNone0.053412s4.270229s
Success
socket.cSuccessNone0.052784s3.856233s
Success
socket_cloexec.cSuccessNone0.053285s4.228708s
Success
socket_options_advanced.cSuccessNone0.059087s4.296535s
Success
socketepoll.cSuccessNone0.053000s3.842609s
Success
socketpair.cSuccessNone0.052697s4.317043s
Success
socketselect.cSuccessNone0.052701s4.261413s
Success
tcp_connect_single.cSuccessNone0.055194s4.266017s
Success
uds-getsockname.cSuccessNone0.054613s4.239363s
Success
uds-nb-select.cSuccessNone2.061705s6.485073s
Success
uds-serverclient.cSuccessNone0.058482s4.359894s
Success
uds-socketselect.cSuccessNone0.054611s3.909282s
Success
writev_socket.cSuccessNone0.058269s4.256503s
Success
Process Tests
barrier_test.cSuccessNone0.052726s4.391623s
Success
chain_thread.cSuccessNone1.054751s5.413100s
Success
cxa_atexit_test.cSuccessNone0.050097s3.860348s
Success
exit.cSuccessNone0.051928s3.848924s
Success
flockfile_test.cSuccessNone0.053618s4.442940s
Success
fork2malloc.cSuccessNone0.055511s4.281794s
Success
fork_select.cSuccessNone0.053521s4.282232s
Success
fork_simple.cSuccessNone0.052325s4.268656s
Success
fork_syscall.cSuccessNone0.058168s4.352179s
Success
fork_tls_ctype.cSuccessNone0.056799s4.302816s
Success
forkandopen.cSuccessNone0.055489s4.295387s
Success
forkdup.cSuccessNone0.055876s3.924792s
Success
forkexecuid.cSuccessNone0.052383s4.317306s
Success
forkexecv-arg.cSuccessNone0.052826s4.289968s
Success
forkexecv.cSuccessNone0.051618s4.306456s
Success
forkfiles.cSuccessNone0.055592s4.273707s
Success
forkmalloc.cSuccessNone0.065107s4.291875s
Success
forknodup.cSuccessNone0.056311s4.294854s
Success
function-ptr.cSuccessNone0.050084s4.229944s
Success
getegid_syscall.cSuccessNone0.054628s4.323666s
Success
getgid_syscall.cSuccessNone0.055513s4.343522s
Success
getpid.cSuccessNone0.047385s4.226144s
Success
getpid_syscall.cSuccessNone0.057797s4.319501s
Success
getppid.cSuccessNone0.054576s4.308600s
Success
getppid_syscall.cSuccessNone0.057972s4.371189s
Success
getuid.cSuccessNone0.055557s4.234273s
Success
getuid_syscall.cSuccessNone0.052738s4.305664s
Success
hello-arg.cSuccessNone0.044555s3.841947s
Success
hello.cSuccessNone0.044760s3.845664s
Success
longjmp.cSuccessNone0.045489s3.862256s
Success
mutex.cSuccessNone2.059030s6.536151s
Success
printf_deadlock_smoke.cSuccessNone0.062658s4.570575s
Success
printf_thread_test.cSuccessNone0.053239s4.446273s
Success
sem_forks.cSuccessNone0.056253s4.307129s
Success
setsid.cSuccessNone0.046531s3.865887s
Success
template.cSuccessNone0.054407s4.287217s
Success
test_exec_nofork.cSuccessNone0.053516s4.260048s
Success
test_unlink_open_file.cSuccessNone0.048652s3.873559s
Success
thread-test.cSuccessNone0.048646s4.378349s
Success
thread.cSuccessNone0.048785s4.403236s
Success
thread_cageid_race.cSuccessNone0.049961s4.403443s
Success
tls_test.cSuccessNone0.052117s4.416390s
Success
uname.cSuccessNone0.047669s4.237506s
Success
wait.cSuccessNone2.050752s5.921903s
Success
waitpid_anychild.cSuccessNone0.054678s4.287567s
Success
waitpid_syscall.cSuccessNone1.056453s5.335275s
Success
waitpid_wnohang.cSuccessNone0.054730s3.917535s
Success
Signal Tests
alarm.cSuccessNone7.053354s10.895087s
Success
setitimer.cSuccessNone7.054282s10.892120s
Success
sigalrm.cSuccessNone2.053569s5.887377s
Success
sigchld.cSuccessNone1.055386s4.935433s
Success
signal-fork.cSuccessNone4.056693s7.940560s
Success
signal-simple.cSuccessNone0.055437s3.876855s
Success
signal.cSuccessNone0.050718s3.878550s
Success
signal_SIGCHLD.cFailureUnknown_Failure0.053135s4.308353s
/tmp/wasmtest_artifacts_also3rc1/signal_tests/deterministic/signal_SIGCHLD.c:36: int main(): Assertion `waited_pid >= 0' failed.
Error: failed to run main module

Caused by:
0: failed to invoke command default
1: wasm trap: wasm unreachable instruction executed

signal_fork.cSuccessNone0.050533s4.304836s
Success
signal_int_ignored.cSuccessNone2.054776s6.329074s
Success
signal_int_thread.cSuccessNone0.053510s4.401283s
Success
signal_longjmp.cSuccessNone0.051199s3.881905s
Success
signal_nodefer.cSuccessNone0.051327s3.874580s
Success
signal_procmask.cSuccessNone0.048678s4.235063s
Success
signal_recursive.cSuccessNone0.049405s3.863606s
Success
signal_sa_mask.cSuccessNone0.048381s3.843934s
Success
sigpipe.cSuccessNone1.056024s5.308887s
Success
sigprocmask.cSuccessNone1.054432s4.896503s
Success
Fail Tests

Summary

MetricCount
Total Test Cases3
Number of Successes3
Number of Failures0
Number of Compilation Failure Native0
Number of Runtime Failure Native0
Number of Segmentation Fault Native0
Number of Timeout During Native0
Number of Lind Wasm Compile Failure0
Number of Lind Wasm Runtime Failure0
Number of Lind Wasm Segmentation Failure0
Number of Timeout During Lind Wasm run0
Number of Unknown Failure0
Number of C Compiler and Wasm Output mismatch0
Number of Fail Test: Native Succeeded (Should Fail)0
Number of Fail Test: Wasm Succeeded (Should Fail)0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)0
Number of Fail Test: Native Compilation Failure (Should Succeed)0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)0

Test Results by Category

Test CaseStatusError TypeNative TimeWasm TimeOutput
Memory Tests
mmap-negative1.cSuccessNone0.120173s4.256815s
Success
mmap-negative2.cSuccessNone0.152164s4.105946s
Success
Signal Tests
signal_resethand.cSuccessNone1.053463s3.917382s
Success

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

discussion: lind-wasm uses WASI-p1 context for argv/environ/stdio initialization

2 participants