diff mbox series

[bug#59085] services: Add x86_64 QEMU target.

Message ID 20221107000945.13446-1-hello@lnikki.la
State New
Headers show
Series [bug#59085] services: Add x86_64 QEMU target. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git-branch success View Git branch
cbaines/applying patch success
cbaines/issue success View issue

Commit Message

Leo Nikkilä Nov. 7, 2022, 12:09 a.m. UTC
Greetings,

I was trying to build an x86_64 binary on an aarch64 machine, and noticed that
`qemu-binfmt-service-type' was missing the x86_64 platform definition.

* gnu/services/virtualization.scm (%x86_64): Add variable.
(%qemu-platforms) Add it.
---
 gnu/packages/virtualization.scm | 1 +
 gnu/services/virtualization.scm | 9 ++++++++-
 2 files changed, 9 insertions(+), 1 deletion(-)

Comments

Christopher Baines Nov. 7, 2022, 8:03 p.m. UTC | #1
Leo Nikkilä <hello@lnikki.la> writes:

> Greetings,
>
> I was trying to build an x86_64 binary on an aarch64 machine, and noticed that
> `qemu-binfmt-service-type' was missing the x86_64 platform definition.
>
> * gnu/services/virtualization.scm (%x86_64): Add variable.
> (%qemu-platforms) Add it.
> ---
>  gnu/packages/virtualization.scm | 1 +
>  gnu/services/virtualization.scm | 9 ++++++++-
>  2 files changed, 9 insertions(+), 1 deletion(-)

This sounds reasonable to me, I haven't checked the exact values are
correct but I'm assuming they're sensible.

Pushed to master as 9ad311ec15c05efc78f74252e7eb6cddfb0b5cea.

Thanks,

Chris
diff mbox series

Patch

diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 981e5e0cf3..4c8662f770 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -28,6 +28,7 @@ 
 ;;; Copyright © 2022 Ekaitz Zarraga <ekaitz@elenq.tech>
 ;;; Copyright © 2022 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com>
+;;; Copyright © 2022 Leo Nikkilä <hello@lnikki.la>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
diff --git a/gnu/services/virtualization.scm b/gnu/services/virtualization.scm
index cb6227403b..b3dc9d2114 100644
--- a/gnu/services/virtualization.scm
+++ b/gnu/services/virtualization.scm
@@ -611,6 +611,13 @@  (define %i386
    (magic (bv "\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x03\x00"))
    (mask (bv "\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff"))))
 
+(define %x86_64
+  (qemu-platform
+   (name "x86_64")
+   (family "i386")
+   (magic (bv "\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x3e\x00"))
+   (mask (bv "\xff\xff\xff\xff\xff\xfe\xfe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff"))))
+
 (define %alpha
   (qemu-platform
    (name "alpha")
@@ -767,7 +774,7 @@  (define %hppa
    (mask (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff"))))
 
 (define %qemu-platforms
-  (list %i386 %alpha %arm %sparc32plus %ppc %ppc64 %ppc64le %m68k
+  (list %i386 %x86_64 %alpha %arm %sparc32plus %ppc %ppc64 %ppc64le %m68k
         %mips %mipsel %mipsn32 %mipsn32el %mips64 %mips64el
         %riscv32 %riscv64 %sh4 %sh4eb %s390x %aarch64 %hppa))