You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
and saw BEXT will emit to bext instruction when "zbs" extension enabled.
When turning off the "zbs" extension, libpython3.12 still crashed but the test log showed other differences irrelative with bt instruction:
(( BEGIN ))
Warning, difference between x64 Interpreter and Dynarec in 0x3f001ea3f3 (7e 17 83 fe 63 7f 12 89)
=======================================
DIFF: Dynarec | Interpreter
----------------------
RIP: 0000003f001ea40c | 0000003f001ea3f5
Warning, difference between x64 Interpreter and Dynarec in 0x3f001ea36f (0f 8f bb 00 00 00 39 c3)
=======================================
DIFF: Dynarec | Interpreter
----------------------
RIP: 0000003f001ea430 | 0000003f001ea375
Warning, difference between x64 Interpreter and Dynarec in 0x3f001ea3f3 (7e 17 83 fe 63 7f 12 89)
=======================================
DIFF: Dynarec | Interpreter
----------------------
RIP: 0000003f001ea40c | 0000003f001ea3f5
Warning, difference between x64 Interpreter and Dynarec in 0x3f001ea36f (0f 8f bb 00 00 00 39 c3)
=======================================
DIFF: Dynarec | Interpreter
----------------------
RIP: 0000003f001ea430 | 0000003f001ea375
(( END ))
Again, objdump told me they all look like:
cmp (( %esior$0x63 here )),%eaxjle/jg (( somewhere ))
Maybe at least we can say the bt instruction with "zbs" extension results in the my first "dynarec test" difference of this issue. And the latter one is still in investigation.
The text was updated successfully, but these errors were encountered:
Description & Investigation
I tried to run python3.12 on box64, and it crashed with SIGSEGV. Using
BOX64_DYNAREC_TEST=1
, I saw many differences about RIP:These addresses are all in
libpython3.12.so
andobjdump
told me they all almost look like:The
bt
instruction should set the CF flag and the behavior of the followingjb
instruction depends on it. So I read current code:box64/src/dynarec/rv64/dynarec_rv64_0f.c
Lines 1720 to 1739 in d6b9fd2
and saw
BEXT
will emit tobext
instruction when "zbs" extension enabled.When turning off the "zbs" extension,
libpython3.12
still crashed but the test log showed other differences irrelative withbt
instruction:Again,
objdump
told me they all look like:Maybe at least we can say the
bt
instruction with "zbs" extension results in the my first "dynarec test" difference of this issue. And the latter one is still in investigation.The text was updated successfully, but these errors were encountered: