Martin Gasbichler writes:
> Andreas Voegele <voegelas@gmx.net> writes:
>
>> Functions like s48_raise_os_error() try to store errno values in
>> fixnums. Unfortunately, the errno values returned by Mach are too
>> big for fixnums.
>
> Ups. I'll fix this in the CVS HEAD and tell you when I'm done.
I don't know if only s48_raise_os_error() & Co. are affected or if
changes in other parts of the code are necessary. I'll look through
the code at the weekend.
Furthermore, GNU Mach may be a dead end. Several Hurd developers are
working on a port to the L4 kernel. Currently I have to use the
following code because of Mach.
(define (hurd-errno n)
(bitwise-ior (arithmetic-shift #x10 26) (bitwise-and n #x3fff)))
(define errno/perm (hurd-errno 1))
(define errno/noent (hurd-errno 2))
...
I'll try to find out what kind of errno values L4 uses and how this
will affect the Hurd.
|