- Mar 02, 2003
-
-
emarsden authored
files to be visible via DIRECTORY and friends: added stat64, fstat64, lstat64, statfs64, readdir64. This requires additional transitions to 64-bit wide data types, and additions to linux-stubs.S, given that some of the 64-bit stat variants are not accessible via dlsym(). Mostly from Pierre Mai.
-
- Feb 25, 2003
-
-
emarsden authored
-
- Feb 24, 2003
-
-
emarsden authored
is necessary to support access to files that are larger than 2GB. It is implemented by calling 64-bit variants of certain library functions, such as open64 instead of open. Certain library functions such as lseek are called with a 64-bit offset, instead of a 32-bit offset.
-
- Nov 19, 2002
-
-
toy authored
-
- Nov 15, 2002
-
-
toy authored
Replace the code that grovels /etc/passwd files with an interface to the standard user and group database access functions. This makes CMUCL work better on systems where user databases are accessed using NIS or LDAP. Add functions UNIX-GETPWUID, UNIX-GETPWNAM that return structures of type USER-INFO, and UNIX-GETGRGID and UNIX-GETGRNAM that return structures of type GROUP-INFO. The functions return NIL if the requested information is not available. On Linux/glibc and Solaris, reentrant versions of the functions are used. On FreeBSD we call the non-thread-safe versions.
-
- Aug 24, 2002
-
-
pmai authored
than 1024 characters, which also reduces consing for pathnames of more typical lenghts.
-
- Mar 04, 2001
-
-
pw authored
-
- Jan 23, 2001
-
-
dtc authored
error rather than returning nil and the errno - these should never fail.
-
- Jan 22, 2001
-
-
dtc authored
-
- Aug 25, 2000
-
-
pw authored
-
- Aug 24, 2000
-
-
pw authored
as the third arg can be pointers or process id. Hemlock slave was having problems with large PIDs.
-
- Aug 17, 2000
-
-
dtc authored
-
- Jul 31, 2000
-
-
dtc authored
exporting unix-getsockopt and unix-setsockopt from the UNIX package.
-
- Dec 04, 1999
-
-
dtc authored
-
- Sep 12, 1999
-
-
dtc authored
-
- Mar 13, 1999
-
-
dtc authored
and add unix-setpgid.
-
- Feb 22, 1999
-
-
dtc authored
-
- Feb 20, 1999
-
-
pw authored
From: Julian Dolby <dolby@csag-226-8.UCSD.EDU> Enclosed below are diffs against the cvs repository as of Feb 12; aside from minor changes like using different include files (e.g. validate.h instead of x86-validate.h in Linux-os.c) and adding alpha-linux specifics unix-glibc2.lisp, there are two code changes. The first is to signal handling. I had to put the POSIX-SIGS ifdefs into places used by alpha but not by x86, and I ifdef'ed out most of the linux #define kludges for signals for alpha linux, since alpha linux uses OSF/1 signals rather than linux ones. The second is that the trick of or'ing 2 into the reg_ALLOC address to cause faults does not work on alpha linux since the kernel traps and handles the unaligned access; I did not find a way to change that kernel behavior, so I changed the code to or (1<<63) into the address to cause a seg fault, and then check, in the seg fault handler, to see if the high-order address bits are set. One change I made is to the memory layout (lisp/alpha-validate.h and compiler/alpha/parms.lisp); that change is not needed to make lisp run on alpha linux, but is there because I wanted more heap space.
-
- Feb 15, 1999
-
-
dtc authored
direction when optionally specified, and to accept either a character or an integer for the device number. Suggested by Brian Spilsbury. Rework the ioctl definitions, fixing the SIOCSPGRP ioctl.
-
- Jun 16, 1998
-
-
dtc authored
better hemlock tty mode support.
-
- May 01, 1998
-
-
dtc authored
support for glibc2.
-
- Mar 01, 1998
-
-
dtc authored
-
- Jan 29, 1998
- Jan 11, 1998
-
-
dtc authored
functions unix-getpeername unix-getsockname, and the higher level functions get-peer-host-and-port and get-socket-host-and-port.
-
- Oct 25, 1997
-
-
pw authored
Ok, here are the updated patches to make the same cmucl lisp.core work across OS versions under irix, still by making tzname resolved at runtime (on irix only).
-
- Oct 08, 1997
-
-
dtc authored
though it's not used and could just as well have been conditionalised out.
-
- Aug 25, 1997
-
-
pw authored
a few days ago. Somehow these bits didn't get included.
-
- Aug 24, 1997
-
-
pw authored
and account for fact that FreeBSD does not have a OCRNL termios flag which was used by Hemlock.
-
- Aug 23, 1997
-
-
pw authored
Here's a patch to add more complete support of tty functions and parameters to the unix interface (including in particular some more tc* series functions as well as cf[gs]et[io]speed and more tty modes), as well as o_nonblock. The flags argument to unix-open is changed to be a fixnum because some hp flags in particular are larger than 16 bits. I don't have access to an alpha/osf1 machine, so I couldn't put in support for it in the tty stuff, and I only have access to the header files and source for linux and freebsd so the changes for it are untested (although I would be surprised if they broke anything for reasons other than typos). For the feature conditionals on the symbol entries in the exports list in unix.lisp, I used svr4 only for symbols which are listed in the SVID, and an explicit list of machines for other symbols. I also consolidated the termios definitions based on some standards and include file perusal, along with a little inference (see the comment). This patch itself was generated by undoing some other changes I made for the sgi dso patch I posted earlier, and so has not been tested in this form, but the changes have been tested extensively under 17f on HPUX 10.10 (an earlier form of the changes), as well as (somewhat less) under 18a on IRIX 6.2 and 6.3 (R5000 O2 and R4400 Onyx respectively) and Solaris 2.5.1 on an ultrasparc (minimally: it compiles). This patch makes all machines define unix::+NCCS+ instead of unix::+NCC+, so if you're on a machine which used to define the latter, you'd need to put (defconstant unix::+nccs+ unix::+ncc+) in your bootstrap.lisp.
-
pw authored
foreign functions taking floating-point arguments after integer arguments but before the fourth argument (more or less; mips has unusual C calling conventions), and making cmucl work on IRIX 6.2 on the Onyx (where the system page size has changed). I've included the patches below, along with some discussion of the changes and a couple of problems with cmucl's interaction with dynamic loading. Also, there's a misc change to make ioctls work (I'm not sure for what version the released code worked, but it doesn't work on anything I have). The patches do not fix the R10000; cmucl continues to not work on it (O2 and Octane). The fixes make cmucl on the sgi use shared libraries so it can use dlopen et al in load-foreign; this is based on the solaris implementation. The problem with this is that the addresses of foreign variables are included directly in the dumped lisp image (without relocation on loading), which might result in a problem if cmucl is run with newer shared libraries than those it was compiled and dumped with. As far as I can tell, for the SGI at least, this does not affect function calls because the addresses used (and included in the dumped image) are those of stub routines that jump to the actual routines, thus are located in the executable proper rather than in the shared libraries, and so shouldn't be changed by a new version of the shared library. Unfortunately, this is not the case for global variables. Fortunately, there appear to only be two foreign variables used by cmucl in any of its system code winding up in the dumped image: errno and tzname. Apparently, Solaris relocates data references in dsos to match the program, while IRIX relocates data references in the program to match the dso. Thus, on Solaris, you don't need to do anything special for cmucl to work with a newer runtime libc, but on IRIX it gets the wrong value of errno and tzname. Unfortunately, the address of errno is different between irix 6.2, 6.3, and 6.4 (all of which we have to have because SGI doesn't have a single cross-platform OS version yet), which would require a different lisp.core for each machine (you just need to run mk-lisp, not recompile) if it weren't for the hack below. But fortunately again, a lisp compiled for one version seems to be able to run on another version well enough to generate the new lisp.core (presumably the worst that would happen is that error messages could be confusing). It would be really nice to avoid this problem. Perhaps some kind of relocation table could be added to the dumped image format? I don't know enough about the system to know how possible or ridiculous that suggestion is, unfortunately. Is the Solaris behavior guaranteed to be the same in future releases? If not, or if any other platforms have the irix behavior, this might become a more general problem. In the meantime, we use a hack: we *define* errno in undefineds.c rather than just referencing it; this results in warnings from the linker, but it resolves the conflict in favor of the definition in the program, relocating libc to match, thus fixing this problem for errno. The other global variables, tzname et al, can't be fixed this way as easily because they're listed as weak symbols, essentially aliases for the real symbol, so redefining them wouldn't cause libc to reference the new version. Thus, as long as you don't use tzname, there's no problem right now (although there may be if any other library global variables are used in cmucl in the future). The definition of tzname is in a progn preceeded by a comment which says not to use it, so hopefully it's not in fact used and therefore not a problem. These patches have been tested on an R5000 O2 running irix 6.3 and a dual R4400 Onyx running irix 6.2. A previous version of these patches (for 17f) was tested on the onyx when it was running 5.3 (I think, maybe 5.2). The patches here are from the main branch of the CVS tar as of August 13. Incidentally, it was quite painful figuring out how to compile and bootstrap the current sources under the distributed irix 18a binary, even without trying :new-random or :signed-array (which I haven't tried to do yet); it might be nice to put a newer binary up...
-
- Jun 15, 1997
-
-
pw authored
-
- Jun 04, 1997
-
-
pw authored
-
- May 29, 1997
-
-
pw authored
-
- May 17, 1997
-
-
pw authored
-
- May 05, 1997
-
-
dtc authored
which are not yet supported; hack for errno; signed-array support.
-
- Feb 20, 1997
-
-
pw authored
-
- Jan 18, 1997
-
-
ram authored
-
- Jul 25, 1996