All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [Bug 1623020] [NEW] emulate amd64 binary on arm7 host
@ 2016-09-13 12:34 Bilal Amarni
  2016-09-13 12:45 ` [Qemu-devel] [Bug 1623020] " Peter Maydell
  2016-09-13 14:56 ` Bilal Amarni
  0 siblings, 2 replies; 4+ messages in thread
From: Bilal Amarni @ 2016-09-13 12:34 UTC (permalink / raw)
  To: qemu-devel

Public bug reported:

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".

** Affects: qemu
     Importance: Undecided
         Status: New

-- 
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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Qemu-devel] [Bug 1623020] Re: emulate amd64 binary on arm7 host
  2016-09-13 12:34 [Qemu-devel] [Bug 1623020] [NEW] emulate amd64 binary on arm7 host Bilal Amarni
@ 2016-09-13 12:45 ` Peter Maydell
  2016-09-13 14:56 ` Bilal Amarni
  1 sibling, 0 replies; 4+ messages in thread
From: Peter Maydell @ 2016-09-13 12:45 UTC (permalink / raw)
  To: qemu-devel

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Qemu-devel] [Bug 1623020] Re: emulate amd64 binary on arm7 host
  2016-09-13 12:34 [Qemu-devel] [Bug 1623020] [NEW] emulate amd64 binary on arm7 host Bilal Amarni
  2016-09-13 12:45 ` [Qemu-devel] [Bug 1623020] " Peter Maydell
@ 2016-09-13 14:56 ` Bilal Amarni
  2016-09-13 15:09   ` Peter Maydell
  1 sibling, 1 reply; 4+ messages in thread
From: Bilal Amarni @ 2016-09-13 14:56 UTC (permalink / raw)
  To: qemu-devel

I see, I'll close the ticket then.

Do you have any recommandation on how I could achieve this? It is
actually a 64-bit CPU (armv8 from Raspberry Pi 3) but it's running on a
32-bit OS / kernel.

** Changed in: qemu
       Status: New => Invalid

-- 
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:
  Invalid

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] [Bug 1623020] Re: emulate amd64 binary on arm7 host
  2016-09-13 14:56 ` Bilal Amarni
@ 2016-09-13 15:09   ` Peter Maydell
  0 siblings, 0 replies; 4+ messages in thread
From: Peter Maydell @ 2016-09-13 15:09 UTC (permalink / raw)
  To: Bug 1623020; +Cc: QEMU Developers

On 13 September 2016 at 15:56, Bilal Amarni <1623020@bugs.launchpad.net> wrote:
> I see, I'll close the ticket then.
>
> Do you have any recommandation on how I could achieve this? It is
> actually a 64-bit CPU (armv8 from Raspberry Pi 3) but it's running on a
> 32-bit OS / kernel.

Your choices are to run a 64-bit kernel (which can still support
a mostly 32-bit userspace), or run a 32-bit guest binary, I'm afraid.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-09-13 15:11 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-09-13 12:34 [Qemu-devel] [Bug 1623020] [NEW] emulate amd64 binary on arm7 host Bilal Amarni
2016-09-13 12:45 ` [Qemu-devel] [Bug 1623020] " Peter Maydell
2016-09-13 14:56 ` Bilal Amarni
2016-09-13 15:09   ` Peter Maydell

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.