~ruther/guix-local

410a359d4ac696cb61682dd6cc903319ca295646 — Ludovic Courtès 1 year, 5 months ago d8b7259
syscalls: Remove wrong syscall ID for ‘kexec_load_file’ on i686.

Fixes <https://issues.guix.gnu.org/75205>.

* guix/build/syscalls.scm (kexec-load-file): Remove syscall ID for i686.
* tests/syscalls.scm ("kexec-load-file"): Accept ENOSYS in addition to
EPERM.

Reported-by: Dariqq <dariqq@posteo.net>
Change-Id: I83fe25636addb57533ed88cbfb40107d265b13a7
2 files changed, 5 insertions(+), 5 deletions(-)

M guix/build/syscalls.scm
M tests/syscalls.scm
M guix/build/syscalls.scm => guix/build/syscalls.scm +1 -1
@@ 794,8 794,8 @@ terminating nul character."
                                         '*               ;cmdline
                                         unsigned-long))) ;flags
         (syscall-id (match (utsname:machine (uname))
                       ("i686"    320)
                       ("x86_64"  320)
                       ;; unsupported on i686
                       ("armv7l"  401)
                       ("aarch64" 294)
                       ("ppc64le" 382)

M tests/syscalls.scm => tests/syscalls.scm +4 -4
@@ 1,5 1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014-2021, 2024 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014-2021, 2024-2025 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 David Thompson <davet@gnu.org>
;;; Copyright © 2020 Simon South <simon@simonsouth.net>
;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com>


@@ 682,15 682,15 @@
(when (or (zero? (getuid))
          (not (string-contains %host-type "linux")))
  (test-skip 1))
(test-equal "kexec-load-file"
  EPERM
(test-assert "kexec-load-file"
  (catch 'system-error
    (lambda ()
      (let ((fd1 (open-fdes "/dev/null" O_RDONLY))
            (fd2 (open-fdes "/dev/null" O_RDONLY)))
        (kexec-load-file fd1 fd2 "gnu.repl=yes")))
    (lambda args
      (system-error-errno args))))
      (member (system-error-errno args)
              (list EPERM ENOSYS)))))

(test-end)