Ludovic Courtès 82d8959e5d
syscalls: 'readdir*' chooses between the Linux and Hurd code at run time.
Partly fixes <https://bugs.gnu.org/40574>.
Reported by Jan Nieuwenhuizen <janneke@gnu.org>.

Previously, we'd choose at expansion time whether to use the Hurd or the
Linux variant, taking the cross-compilation target into account.  This
would lead to the wrong decision when (guix build syscalls) is evaluated
while we're cross-compiling to GNU/Hurd.

This is a followup to 1ab9e483391f8b62b873833ea71cb0074efa03e7.

* guix/build/syscalls.scm (define-generic-identifier)
(read-dirent-header, %struct-dirent-header, sizeof-dirent-header):
Remove.
(readdir*): Rename to...
(readdir-procedure): ... this, and add parameters.
(readdir*): Define as a call to 'readdir-procedure' as a function of
%HOST-TYPE.
2020-04-16 18:33:21 +02:00
..
2019-05-09 00:22:37 -04:00
2019-01-06 00:22:05 +01:00
2018-05-07 11:21:36 +02:00
2019-04-27 17:13:18 +02:00
2019-11-26 12:31:39 +01:00
2019-11-13 22:49:47 +01:00
2019-06-17 16:13:36 +02:00