Skip to content
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

new_dynarec: fix FPU crashes #1027

Merged
merged 1 commit into from Aug 19, 2023
Merged

Conversation

Rosalie241
Copy link
Contributor

This patch fix the new dynarec crashes on ARM and ARM64 platforms since the interpreter accuracy improvements, a RMG user reported it a while back and I made this experimental patch for it which fixes it (tested it on my pinebook pro aswell).

I had no idea the new dynarec called the FPU functions from fpu.h, and for some reason it kept working fine on x86_64, so I didn't notice it at all until the report came in from a RMG user, after some discussion with @m4xw, he said that we could best wait for @Gillou68310 to come up with a proper patch, but that was a while ago already, so to correct my mistake, I'm offering my patch, which could be improved later by Gillou if he wants to, but it fixes the crashes now instead of later, so users who are trying the latest git version of mupen64plus won't be hit by this bug anymore, but it's upto you (the maintainers) whether you agree with my thoughts on that or not.

This code was written by looking at other FPU functions which already had fcr31 pointer as first argument before my changes, so I copied that dynarec code and placed it everywhere where needed, which solves the crashes.

Fixes #1026

@richard42 richard42 merged commit a2add5d into mupen64plus:master Aug 19, 2023
10 checks passed
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.

Crash (Segfault) on 32bit ARM & DynaRec enabled
2 participants