Skip to content
Snippets Groups Projects
  1. May 04, 2015
  2. Jul 31, 2014
  3. Nov 04, 2011
  4. Sep 25, 2011
  5. Apr 20, 2010
  6. Mar 19, 2010
  7. Dec 07, 2009
  8. Nov 02, 2009
    • 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
  9. Oct 15, 2009
  10. Oct 14, 2009
    • 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
  11. Jun 11, 2009
  12. Jan 23, 2009
  13. Oct 03, 2008
  14. Sep 24, 2008
  15. Nov 14, 2007
    • 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
  16. Nov 09, 2007
    • 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
  17. Nov 06, 2007
  18. Jul 31, 2007
  19. Apr 07, 2007
  20. Oct 10, 2005
  21. Jan 27, 2005
  22. Sep 11, 2004
    • 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
  23. Aug 31, 2004
    • 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
  24. Jul 25, 2004
    • 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
  25. Jun 01, 2004
  26. Aug 31, 2003
  27. Aug 08, 2003
  28. Jun 26, 2003
    • 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
  29. Jun 06, 2003
  30. Apr 13, 2003
  31. Mar 08, 2003
  32. Mar 05, 2003
  33. Mar 03, 2003
  34. Mar 02, 2003
    • emarsden's avatar
      Additions to the Large File Support, necessary in order to for large · a649b433
      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.
      a649b433
  35. Feb 25, 2003
  36. Feb 24, 2003
Loading