I want to reproduce the evaluation in VeriWASM. However, I cannot build some tasks of SPEC 2006 which is included in your evaluation. What are the steps to compile the SPEC CPU 2006 tests successfully?
The sphinx3 reports such errors in the compilation:
/opt/lucet/bin/wasm32-wasi-clang -c -o unlimit.o -DSPEC_CPU -DNDEBUG -I. -DSPEC_CPU -DHAVE_CONFIG_H -I. -Ilibutil -O0 -DSPEC_CPU_LP64 unlimit.c
unlimit.c:67:17: error: variable has incomplete type 'struct rlimit'
struct rlimit rl;
^
unlimit.c:67:10: note: forward declaration of 'struct rlimit'
struct rlimit rl;
^
unlimit.c:69:3: warning: implicit declaration of function 'getrlimit' is invalid in C99 [-Wimplicit-function-declaration]
getrlimit(RLIMIT_DATA,&rl);
^
unlimit.c:69:13: error: use of undeclared identifier 'RLIMIT_DATA'
getrlimit(RLIMIT_DATA,&rl);
^
unlimit.c:71:3: warning: implicit declaration of function 'setrlimit' is invalid in C99 [-Wimplicit-function-declaration]
setrlimit(RLIMIT_DATA,&rl);
^
unlimit.c:71:13: error: use of undeclared identifier 'RLIMIT_DATA'
setrlimit(RLIMIT_DATA,&rl);
^
2 warnings and 3 errors generated.
After I comment these lines in unlimit.c like this, the compiler complains like:
This is because the symbols are not defined in wasi. (their definitions are avoided).
I also modified the cfg file in SPEC 2006 to use clang(++) shipped with lucet.
CC = /opt/lucet/bin/wasm32-wasi-clang
CXX = /opt/lucet/bin/wasm32-wasi-clang++
FC = /usr/bin/false
I'm using the most recent lucet (archived version, d0b358c). The tests soplex, sphinx3, and povray cannot be compiled because of undeclared symbol, and gobmk cannot be verified because of veriwasm believe it's not heap safe.
It would also be helpful if you can tell the specific lucet version used in the evaluation. In your evaluation you mentioned lucet 0.7.0, which is not a stable version and I worry that the version changes may also cause inconsistent result.
Hi,
I want to reproduce the evaluation in VeriWASM. However, I cannot build some tasks of SPEC 2006 which is included in your evaluation. What are the steps to compile the SPEC CPU 2006 tests successfully?
The sphinx3 reports such errors in the compilation:
After I comment these lines in
unlimit.c
like this, the compiler complains like:unlimit.c
This is because the symbols are not defined in wasi. (their definitions are avoided).
I also modified the cfg file in SPEC 2006 to use clang(++) shipped with lucet.
I'm using the most recent lucet (archived version, d0b358c). The tests
soplex
,sphinx3
, andpovray
cannot be compiled because of undeclared symbol, andgobmk
cannot be verified because of veriwasm believe it's not heap safe.It would also be helpful if you can tell the specific lucet version used in the evaluation. In your evaluation you mentioned lucet 0.7.0, which is not a stable version and I worry that the version changes may also cause inconsistent result.