[bug#59085] services: Add x86_64 QEMU target.
Commit Message
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
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
@@ -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.
;;;
@@ -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))