1. 30 Aug, 2015 1 commit
  2. 12 May, 2015 1 commit
  3. 10 May, 2015 3 commits
  4. 09 May, 2015 2 commits
  5. 07 May, 2015 1 commit
    • Raymond Toy's avatar
      Add support for hemlock. · 3a837db1
      Raymond Toy authored
      With these additions, hemlock builds now and runs. (I only tested that
      hemlock starts and that text can be entered.)
      3a837db1
  6. 04 May, 2015 2 commits
  7. 31 Jul, 2014 1 commit
  8. 04 Nov, 2011 1 commit
  9. 25 Sep, 2011 1 commit
  10. 20 Apr, 2010 1 commit
  11. 19 Mar, 2010 1 commit
  12. 07 Dec, 2009 1 commit
  13. 02 Nov, 2009 2 commits
    • rtoy's avatar
      Revert previous changes. They were supposed to go on · d01310f2
      rtoy authored
      amd64-dd-branch.
      d01310f2
    • rtoy's avatar
      This large checkin brings the amd64 port up-to-date with the current · 2bafb654
      rtoy authored
      sources.  No real attempt has been made to make it work, but the
      cross-compile does create a kernel.core, and the C code compiles (on
      openSuSE 10.3).  The resulting kernel.core does not yet work.
      
      Use cross-x86-amd64.lisp as the cross-compile script.  This is
      intended to be cross-compiled using the 20a release for Linux, and
      only supports x87.  The sse2 support has not be ported yet.
      
      tools/cross-scripts/cross-x86-amd64.lisp:
      o Update cross-compile with some missing constants, and frob new
        symbols.
      
      tools/clean-target.sh:
      o Remove amd64f files too.
      
      code/pred.lisp:
      o Define predicates for double-doubles for bootstrapping to work
        around recursive known function problems with these predicates.
      
      code/sap.lisp:
      o Define int-sap with (unsigned-byte 64) type declaration.  (May not
        be needed?)
      
      code/unix-glibc2.lisp:
      o Build fails defining map_failed to (int-sap -1).  Just hard-wire to
        0 for now so we can build.
      
      compiler/float-tran.lisp:
      o Add missing conditional for %complex-double-double-float.
      
      compiler/amd64/float.lisp:
      o Merge double-double support for amd64.  Not really tested yet.
      
      compiler/amd64/parms.lisp:
      o Update to match x86 build.  In particular, get the space address
        correct and update the static symbols.
      
      compiler/amd64/type-vops.lisp:
      o DYLAN-FUNCTION-HEADER-TYPE no longer exists.
      
      compiler/amd64/vm.lisp:
      o Add double-double storage classes and register definitions.
      
      lisp/Config.amd64:
      o Bring in line with Config.x86 and friends.
      
      lisp/Linux-os.c:
      o Bring amd64 code up-to-date with x86/linux code.
      
      lisp/Linux-os.h
      o Need to include sys/ucontext.h to get ucontext defined.  (Why?)
      o Also define __USE_GNU so we get the register offsets in the ucontext
        defined.  (Why?)
      
      lisp/amd64-arch.c:
      o Change struct sigcontext to os_context_t.
      o Use SC_PC instead of context->sc_pc.
      o Merge some changes in from x86 version, like SC_EFLAGS.  May need
        more work.
      
      lisp/amd64-assem.s:
      o Use rbx instead of ebx for jmp.
      
      lisp/amd64-lispregs.h:
      o Define SC_REG, SC_PC, SC_SP using the new x86 style.
      
      lisp/backtrace.c:
      o Remove inline assembly for now until I figure out what the amd64
        version should be.
      
      lisp/gencgc.c:
      o Conditionalize out weak hash table support for now.
      
      lisp/gencgc.h:
      o Set PAGE_SIZE for amd64.  (Is 4096 right?)
      
      lisp/globals.h:
      o Export current_dynamic_space_free_pointer and
        current_auto_gc_trigger like for x86.
      2bafb654
  14. 15 Oct, 2009 1 commit
  15. 14 Oct, 2009 1 commit
    • agoncharov's avatar
      · 173e967f
      agoncharov authored
      As suggested by Madhu <madhu@cs.unm.edu>, removed the ext:getenv
      function that I had introduced a few days ago.  Instead, four foreign
      function definitions are introduced, following Madhu's proposal.
      
      The four functions:
      
         unix-getenv unix-setenv unix-putenv unix-unsetenv
      
      are defined both in unix.lisp and unix-glibc2.lisp.
      173e967f
  16. 11 Jun, 2009 1 commit
  17. 23 Jan, 2009 1 commit
  18. 03 Oct, 2008 1 commit
  19. 24 Sep, 2008 1 commit
  20. 14 Nov, 2007 2 commits
    • rtoy's avatar
      In UNIX-MMAP, replace FILE-OFFSET with (SIGNED-BYTE 32), since · 71a7a181
      rtoy authored
      unix-glibc2 doesn't define FILE-OFFSET.
      71a7a181
    • cshapiro's avatar
      * Change the way the x87 precision control is managed. While in Lisp, · 1440af76
      cshapiro authored
        the precision control will always be set to double precision.  For
        the duration of calls into C, the precision control will be set to
        the ABI default.  On Linux and Darwin this is double extended
        precision.  On all other platforms the precision control is left as
        double precision.  The specious FLOAT-ACCURACY declaration has been
        eliminated.
      
      * Shorten the precision control field to 24-bits by disposing of the
        unexamined high order eight bits of the status word.  This compacts
        the code generated around floating point mode changes and reduces
        consing.
      
      * Eliminate unnecessary uses of FLDENV and FSTENV.  We can substitute a
        use of FSTENV with FSTSW in FLOATING-POINT-MODES.  This reduces the
        number of cycles to access the relevant mode bits by a factor of
        thirty.  We cannot eliminate FLDENV in SET-FLOATING-POINT-MODES, but
        the common case does not require an update to the status word.  A
        fast path has been added to the VOP that improves the execution time
        by at least a factor of fifteen.
      
      * Remove the precision control option to SET-FLOATING-POINT-MODES.  It
        is the responsibility of the compiler to generating code that yields
        correctly rounded results in double and single precision.
      1440af76
  21. 09 Nov, 2007 1 commit
    • rtoy's avatar
      Lynn Quam noted that callbacks did not work on his system. This · 1e0ff599
      rtoy authored
      happened because the callback trampoline used malloc'ed space which
      were not executable by default.  Change this so that the trampoline is
      executable.
      
      code/unix.lisp, code/unix-glibc2.lisp:
      o Add UNIX-MPROTECT
      
      code/exports.lisp:
      o Export UNIX-MPROTECT
      
      code/alieneval.lisp:
      o Make sure the malloc'ed trampoline area is executable.
      
      general-info/release-19e.txt:
      o Update
      1e0ff599
  22. 06 Nov, 2007 2 commits
  23. 31 Jul, 2007 1 commit
  24. 07 Apr, 2007 1 commit
  25. 10 Oct, 2005 1 commit
  26. 27 Jan, 2005 1 commit
  27. 11 Sep, 2004 1 commit
    • rtoy's avatar
      Port of SBCL's float-accuracy compilation policy. Intended to make · 571091c7
      rtoy authored
      double-float-epsilon actually be epsilon on x86.  No effect on other
      ports.
      
      The default precision is now 53-bit (double-float) instead of 64-bit
      (80-bit floats).  However, to preserve C expectations, all calls to C
      have the precision set to 64-bit.  This slows down calls to C, but we
      try to make syscalls and such fast by not changing precision for the
      call.
      
      By default ext:float-accuracy is 3.
      
      Use boot7.lisp to bootstrap.
      571091c7
  28. 31 Aug, 2004 1 commit
    • rtoy's avatar
      In UNIX-READ, go through and touch every page contained in BUF to make · 06a60a5f
      rtoy authored
      sure the pages are not write-protected, because the kernel doesn't
      like that.  Also update it to touch the beginning of every page.  Use
      this idea in unix-glibc2.lisp.
      
      This is a workaround for the bug reported by David Lichteblau on Aug
      26, 2004 (for a long-standing bug fomr Dec 7, 1999).
      06a60a5f
  29. 25 Jul, 2004 1 commit
    • pmai's avatar
      This commit adds the remainder of the outstanding PPC/Darwin port merge. · 2ff25623
      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.
      2ff25623
  30. 01 Jun, 2004 1 commit
  31. 31 Aug, 2003 1 commit
  32. 08 Aug, 2003 1 commit
  33. 26 Jun, 2003 1 commit
    • toy's avatar
      From Paul Foley: · bfbb8fd1
      toy authored
      Non-simple-streams-related changes:
      
      * Stop commands which go through invoke-command-interactive from
        affecting the history variables.
      
      * Fix some typos in comments
      
      * When the GC closes a lost stream, revert to original contents
      
      * Replace #+nil with #+(or) in unix*.lisp
        [NIL is a potentially valid feature name]
      
      
      Simple-streams-related changes:
      
      * Teach reader to handle simple-streams
      
      * Add missing package prefixes in OPEN
      
      * Add unix:unix-msync for force-output on mmapped files
      
      * Add placeholder documentation
      
      * Numerous changes in simple-streams implementation
      
      * Add "external-formats" directory for external formats
      
      
      Note: :BIG-ENDIAN or :LITTLE-ENDIAN should be put on *features*
      bfbb8fd1