Forked from
cmucl / cmucl
Source project has a limited visibility.
-
pmai authored
Besides support for Darwin foreign loading, and updates to the ppc-vm and bsd-os files, this commit removes unix:unix-errno as a foreign variable and replaces it with a function named unix-errno, and a (setf unix-errno). This makes both glibc support cleaner, and enables ports like PPC/Darwin (and the upcoming win32 port) which have no easy way of accessing errno as a foreign variable able to support this functionality at all. The current implementation of this is rather make-shift, it would likely be much cleaner to go the SBCL way and mediate all access to errno via defined functions in the C runtime. As an interim feature, the frobbing of the float-trap-modes is currently commented out for Darwin because of ongoing breakage.
pmai authoredBesides support for Darwin foreign loading, and updates to the ppc-vm and bsd-os files, this commit removes unix:unix-errno as a foreign variable and replaces it with a function named unix-errno, and a (setf unix-errno). This makes both glibc support cleaner, and enables ports like PPC/Darwin (and the upcoming win32 port) which have no easy way of accessing errno as a foreign variable able to support this functionality at all. The current implementation of this is rather make-shift, it would likely be much cleaner to go the SBCL way and mediate all access to errno via defined functions in the C runtime. As an interim feature, the frobbing of the float-trap-modes is currently commented out for Darwin because of ongoing breakage.