qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [Bug 1623020] Re: emulate amd64 binary on arm7 host


From: Peter Maydell
Subject: [Qemu-devel] [Bug 1623020] Re: emulate amd64 binary on arm7 host
Date: Tue, 13 Sep 2016 12:45:29 -0000

Unfortunately trying to emulate a 64-bit binary on a 32-bit host with
QEMU's linux-user emulator will in general not work. (This is because we
don't really emulate the guest CPU's MMU in linux-user mode, so we
effectively require the guest page size and the host page size to be the
same, which they aren't in this case.)

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1623020

Title:
  emulate amd64 binary on arm7 host

Status in QEMU:
  New

Bug description:
  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".

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1623020/+subscriptions



reply via email to

[Prev in Thread] Current Thread [Next in Thread]