Opened 5 years ago
Closed 5 years ago
#70 closed defect (fixed)
libpng tests in divine hit op != OpCode::Call in setjmp
Reported by: | blurrymoi | Owned by: | blurrymoi |
---|---|---|---|
Priority: | major | Milestone: | 4.4 |
Component: | divcc | Keywords: | |
Cc: |
Description
built zlib with dioscc
(https://zlib.net/zlib-1.2.11.tar.gz)
built libpng-1.6.37 with dioscc
../configure CC=dioscc CXX=diosc++ --disable-shared LDFLAGS=-L$HOME/src/divine/next/zlib-1.2.11/build-dioscc make make test divine check --capture ../contrib/pngsuite/basn0g01.png:follow:/image.png ./pngimage /image.png results in: Assertion failed: op == OpCode::Call, file /home/xbaranov/src/divine/next/dios/arch/divm/setjmp.cpp, line 23.
Note: See
TracTickets for help on using
tickets.
It seems like the active "instruction" in the target frame is vm::lx::OpArg? (last LLVM instruction seem to have opcode 64, opcode in the frame is 67). Considering that
pc that setjmp uses is
code* 80002 8 ddp
, in given frame we are atpc: code* 80002 8
.insn: %08 = call @setjmp %07
this seems like either (i) pc in frame is not update for some reason at call (probably not, as sim would then show wrong instruction probably), or (ii) metadata re wrong - either inst_table or entry_point do not reflect arguments right for some reason (the metadata entry seems to be for the right function).