GNU Hurd

Wolfgang Jährling wolfgang at
Tue Mar 19 15:44:30 UTC 2002

Marcus Brinkmann <marcus at> wrote:
> On Tue, Mar 19, 2002 at 11:17:55AM +0100, Joerg Schilling wrote:
> > If errno does not fit into 31 bit, then it is broken because erno
> > must be of type int ant here is no statement to allow errno to be
> > negative.
> Maybe it was 30 bits.  I don't remember it too well anymore.  It was a
> problem that ruby was using one bit of the int for itself, so the
> effective bit length of int was reduced by one, which wasn't enough for
> us.

Yes, it was 30 bits. Ruby uses the least significant bit for marking an
object as a Fixnum and the resulting number is still signed. The error
codes of the Hurd need 31 bits (and are thus unsigned), because Mach
uses some upper bits to encode error system and subsystem numbers in
error values. But that was only one of many issues with Ruby on the
Hurd, and while we have a Debian package thanks to Moritz' work, the
upstream version doesn't compile yet.


Wolfgang Jährling <wolfgang at> `-:._ "Omnis enim res, quae dando
Debian GNU/Linux user && Debian GNU/Hurd user  `-:. non deficit, dum habetur
Hurd Hacking Guide - )  et non datur, nondum || || _,-:' habetur, quomodo habenda
["Accelerate your PC - with 9.81 m/s^2."] ,-:'   est." --> <--

More information about the Discussion mailing list