summary refs log tree commit diff stats
path: root/results/scraper/gitlab/issues_text/target_m68k/host_missing/accel_TCG/2078
blob: bcd790e2ec47efbec1528d5ca0cff17821347efd (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Qemu crashes with SIGFPE on certain trapping arithmetic operations on m68k target
Description of problem:
I recently ported NetBSD to the Qemu m68k "virt" platform, and this was discovered when running NetBSD's automated tests.  Certain arithmetic operation that will trap in the guest will crash Qemu.  First case encountered is below.
Steps to reproduce:
1. Compile and run the following program in the m68k guest:

```
virt68k:thorpej 3$ cat crash-qemu.c                                            
#include <limits.h>
#include <stdlib.h>

int divisor = -1;

int
main(int argc, char *argv[])
{

	if (argc > 1)
		divisor = atoi(argv[1]);

	return INT_MIN / divisor;
}
virt68k:thorpej 4$ 
```

Another minimal case would be:

```
move.l #-2147483648,%d0
move.l #-1,%d1
divsl.l %d1,%d1:%d0
```
Additional information: