Skip to content
Snippets Groups Projects
  1. Apr 13, 2003
  2. Feb 23, 2003
  3. Jan 29, 2003
  4. Nov 19, 2002
  5. Nov 15, 2002
    • toy's avatar
      From Eric Marsden: · d1a7c168
      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.
      d1a7c168
  6. Oct 27, 2002
  7. Aug 27, 2002
    • moore's avatar
      · bf84be07
      moore authored
      On x86 FreeBSD and Linux, change the way foreign symbol addresses are resolved.
      They now go through a table -- effectively a new space in the core file.
      Function references are resolved lazily, data references are resolved on startup
      and when a .so is loaded.  The end result is that cores can be dumped that
      contain references to symbols in shared libraries.  Also, the dependence of the core on addresses in the Lisp runtime is broken.
      
      The linkage table feature is controlled by :linkage-table and LINKAGE_TABLE in C
      runtime.  Several foreign symbols are now Lisp static symbols, so a cross
      compile is required whether or not the new stuff is used.  I've checked in
      boot4-cross-foreign-linkage.lisp that builds the compiler for linkage table; do whatever you usually do for the non-linkage table case:)  Seriously, lets start
      a discussion on standardizing "cross compilation," not to mention the general
      build procedure.
      bf84be07
  8. Aug 24, 2002
  9. Dec 06, 2001
    • pmai's avatar
      Added specialised port to OpenBSD (2.9). Many parts of the original · 195461c1
      pmai authored
      code which were previously conditionalized on :FreeBSD, are now
      conditionalized on :BSD instead, with the :BSD feature now implying a
      4.4BSD(lite2) derived OS.  This should make future BSD-ports easier.
      FreeBSD and OpenBSD are differentiated by having either :FreeBSD or
      :OpenBSD on the features list.
      
      Currently the OpenBSD port does not have working ELF support, because
      OpenBSD 2.9 is still non-ELF by default.  So don't put ELF on the
      features list when building for OpenBSD, or fix the code to work
      correctly in this case instead.
      195461c1
  10. Sep 27, 2001
  11. Mar 04, 2001
  12. Feb 23, 2001
  13. Feb 22, 2001
  14. Jan 23, 2001
  15. Aug 25, 2000
  16. Aug 24, 2000
  17. Jul 31, 2000
  18. Mar 13, 1999
  19. Mar 08, 1999
  20. Oct 04, 1998
    • dtc's avatar
      Export C-ISPEED and C-OSPEED from the UNIX package. · 6225b8be
      dtc authored
      Define the termios byte sizes fields for FreeBSD: tty-csize, tty-cs5,
      tty-cs6, tty-cs7, tty-cs8.
      
      Fixes for the termios speed functions for FreeBSD: unix-cfgetospeed,
      unix-cfsetospeed, unix-cfgetispeed, unix-cfsetispeed.
      6225b8be
  21. Jun 16, 1998
  22. May 01, 1998
  23. Mar 01, 1998
  24. Jan 29, 1998
  25. Jan 11, 1998
  26. Oct 25, 1997
    • pw's avatar
      From: Timothy Miller <tsm@cs.brown.edu> · 9a08b1c8
      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).
      9a08b1c8
  27. Oct 08, 1997
  28. Aug 25, 1997
  29. Aug 24, 1997
  30. Aug 23, 1997
    • pw's avatar
      From Timothy Miller · fec88cf3
      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.
      fec88cf3
    • pw's avatar
      I just finished making load-foreign work on SGIs, along with fixing calling of · efd9aa3b
      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...
      efd9aa3b
  31. Jun 15, 1997
  32. Jun 04, 1997
  33. May 29, 1997
  34. May 17, 1997
  35. May 05, 1997
  36. Feb 20, 1997
Loading