[dynarmic] fix SignedDiv64 crashing if immediate constprop took effect; also fix result for 0x8000_0000/0xFFFF_FFFF not returning properly for SignedDiv32 (#3517)

a program could crash the emulator by just using div immediates and/or dividing by
0x8000_0000_0000_0000/0xFFFF_FFFF_FFFF_FFFF

X0 = 0x8000_0000_0000_0000
X1 = 0xFFFF_FFFF_FFFF_FFFF

SDIV X2, X0, X1
SDIV X2, X1, X0 <- crashes emu

Signed-off-by: lizzie <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3517
Reviewed-by: crueter <[email protected]>
Reviewed-by: DraVee <[email protected]>
Reviewed-by: MaranBr <[email protected]>
Reviewed-by: CamilleLaVey <[email protected]>
Co-authored-by: lizzie <[email protected]>
Co-committed-by: lizzie <[email protected]>
This commit is contained in:
lizzie authored and crueter committed 2026-02-21 03:01:41 +01:00
1 parent d19303883e
commit f94bae10f2
4 files changed
+123 -57

No files matched your search

+1 -1
View File
@@ -22,7 +22,7 @@ Debug logs can be found in General -> Debug -> Open Log Location on desktop, and
Ignoring SIGSEGV when debugging in host:
- **gdb**: `handle all nostop pass`.
- **gdb**: `handle SIGSEGV nostop pass`.
- **lldb**: `pro hand -p true -s false -n false SIGSEGV`.
## Debugging (guest code)