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
This commit is contained in:
Ludovic Courtès 2025-01-06 12:05:04 +01:00
parent d8b7259197
commit 410a359d4a
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
2 changed files with 5 additions and 5 deletions

View file

@ -794,8 +794,8 @@ (define kexec-load-file
'* ;cmdline
unsigned-long))) ;flags
(syscall-id (match (utsname:machine (uname))
("i686" 320)
("x86_64" 320)
;; unsupported on i686
("armv7l" 401)
("aarch64" 294)
("ppc64le" 382)

View file

@ -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 @@ (define perform-container-tests?
(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)