-
-
Notifications
You must be signed in to change notification settings - Fork 545
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TESTING NEEDED: allow build with ENABLE_JIT=ON on OpenBSD Targets #2050
base: master
Are you sure you want to change the base?
Conversation
It looks like the JIT segfaults unintentionally. Are there maybe differences in the calling convention? Also %sx seems to be a typo from me, so it ends up displaying the pc as a string. |
Can you run a debugger and print out the JIT code where the fault happens? With gdb it would be something like
wait for the abort to happen
The pc offset and instruction is to be experimented. |
[yadda yadda]
Figured it out:
output from lldb when running ACWW.nds (the same ROM as before)
|
did you go to the frame of the JIT code? |
I am going to be honest here. I have no idea what I am doing. |
well this is how i got to it:
seems my lldb version is limited in frame debugging. hopefully this is helpful. |
looks like it also set a breakpoint to member functions called abort. Also the backtrace in the end is the wrong thread? |
sorry, here:
What do you mean? |
got learning a bit more about debugging. heres the output of:
seems gnu's debugger seems to be fine with .core dumps, but not the literal binary. I should mention i have built melonDS with debug symbols ON. Hopefully this helps, sorry for the wait. |
I take
MAINTAINER
for the melonDS port on OpenBSD, and I am trying to get JIT to work on melonDS 0.9.5 on amd64 openbsd targets.I was able to find the needed context register for JIT to work on OpenBSD. It seems to pass compile stages, but I came across a runtime crash error.
with JIT on, max JIT block size to 32,
both Branch & Literal Optimizations, as well as Fast memory OFF, I get the following crash:
Testing with a REAL dump of Animal Crossing: Wild World
with sha256 checksum:
SHA256 (ACWW.nds) = 9788570e90bbbb226c47e1f52c8882559129003695f8d91279c2158649cb7f06
Low level stuff like this is a bit over my head, so any pointers would be appreciated.
Thanks.