summary refs log tree commit diff stats
path: root/results/classifier/user-mode-bugs/1623020
blob: 56f15232a1fbfa6953ea317be0dec2f525991561 (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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
emulate amd64 binary on arm7 host

I'm trying to run a Go program compiled for amd64 on a Raspberry Pi. Here is an example :

===
// main.go
package main

func main() {
	println("hello world")
}
===

Then here is the output I'm getting :

===
> GOARCH=amd64 go build main.go
> ../qemu/build/x86_64-linux-user/qemu-x86_64 -strace ./main
29213 arch_prctl(4098,4823880,0,0,0,0) = 0
29213 write(2,0,4622922)fatal error:  = 13
29213 write(2,0,4622132)bad timediv = 11
29213 write(2,0,4620094)
 = 1
29213 write(2,0,4635135)runtime: panic before malloc heap initialized
 = 46
29213 select(0,0,0,0,1082131776,0) = -1 errno=14 (Bad address)
29213 select(0,0,0,0,1082131776,0) = -1 errno=14 (Bad address)
29213 write(2,0,4623731)
runtime stack:
 = 16
29213 write(2,0,4622922)fatal error:  = 13
29213 write(2,0,4634607)gentraceback before goexitPC initialization = 43
29213 write(2,0,4620094)
 = 1
29213 write(2,0,4635135)runtime: panic before malloc heap initialized
 = 46
29213 write(2,0,4624923)panic during panic
 = 19
29213 write(2,0,4623731)
runtime stack:
 = 16
29213 write(2,0,4622922)fatal error:  = 13
29213 write(2,0,4634607)gentraceback before goexitPC initialization = 43
29213 write(2,0,4620094)
 = 1
29213 write(2,0,4635135)runtime: panic before malloc heap initialized
 = 46
29213 write(2,0,4627441)stack trace unavailable
 = 24
29213 exit_group(4)
===

I'm running the latest qemu (commit 7263da78045dc91cc207f350911efe4259e99b3c), which was compiled with "../configure --target-list=x86_64-linux-user --static".

The go version is 1.7.1, and the system "Linux raspberrypi 4.4.11-v7+ #888 SMP Mon May 23 20:10:33 BST 2016 armv7l GNU/Linux".