Skip to content
  1. Sep 01, 2012
    • Raymond Toy's avatar
      Clean up RCS ids · eeab7066
      Raymond Toy authored
       * Get rid of the RCS Header stuff.  They're meaningless in git.
       * Add public domain comment to some of the files if the only comment
         was the RCS header.
      eeab7066
  2. Nov 04, 2011
  3. Dec 24, 2010
  4. Dec 23, 2010
    • rtoy's avatar
      Add implementation of SC_EFLAGS for Solaris/x86, but disable for now · 0cb64db4
      rtoy authored
      because it makes breakpoints not work for some reason.
      0cb64db4
    • rtoy's avatar
      Fix tracing for NetBSD. Function end breakpoints didn't seem to be · 78eb5a7b
      rtoy authored
      working when tracing, for example
      
      (declaim (ftype (function (double-float) double-float) fact))
      (defun fact (x)
        (declare (double-float x))
        (if (= x 1)
            1d0
            (* x (fact (1- x)))))
      
      
      lisp/x86-lispregs.h
      o NetBSD has access to the eflags register
      
      lisp/x86-arch.c:
      o Add some debugging prints (disabled).
      o The stuff near line 262 about pc-9 pointing to the pushf instruction
        should be conditioned on SC_EFLAGS because that's what decides
        whether we insert the pushf instructions for single stepping.
      78eb5a7b
  5. Dec 29, 2008
    • rtoy's avatar
      Support building and running on OSX 10.4 (Tiger). · c2e1d8a6
      rtoy authored
      lisp/Config.x86_darwin:
      o Add -mmacosx-version-min=10.4 so the C code can run on Tiger.
      
      lisp/Darwin.c:
      lisp/x86-lispregs.h:
      o The mcontext slot names have a prefix of "__" on 10.5, but have no
        prefix on 10.4.  Add #define's to make the source code work on either.
      c2e1d8a6
  6. Jan 03, 2008
    • cshapiro's avatar
      Switch the FreeBSD port to use the common floating point trap handling · 9495c516
      cshapiro authored
      code.  Rather than introduce a new FreeBSD case to the x86 sigcontext
      member accessor routines, collapse all of the system specific routines
      down to a common set of routines.
      
      * code/debug-int.lisp - Disable some Darwin-specific code to debug
        NULL mcontext pointers.
      
      * code/float-trap.lisp - Remove ancient FreeBSD-specific code for
        handling floating point signals.
      
      * code/macros.lisp, code/sap.lisp, compiler/saptran.lisp - Include the
        SAP-REF-LONG setter by default on the x86.
      
      * code/x86-vm.lisp - Remove operating system specific sigcontext
        definitions and sigcontext accessors.  Define the alien sigcontext
        as a system area pointer.  Replace the sigcontext accessors with
        foreign function calls that mask the complexity of the underlying
        sigcontext member access.
      
      * compiler/x86/float.lisp - Unconditionally define STORE-LONG-FLOAT.
        This function is used by the %SET-SAP-REF-LONG VOP that underlies
        the SAP-REF-LONG setter.
      
      * compiler/x86/sap.lisp - Unconditionally define %SET-SAP-REF-LONG.
        In the case where there is not a distinct LONG-FLOAT type, admit
        DOUBLE-FLOAT values instead.  The x87 automatically widens values
        pushed onto stack.  This mirrors the behavior of the SAP-REF-LONG
        VOP.
      
      * lisp/Darwin-os.c, lisp/Linux-os.c - Define functions to access
        sigcontext members of interest to Lisp.  Delete the sc_reg function
        and replace its uses with os_sigcontext_reg which is more suitably
        typed.
      
      * lisp/FreeBSD-os.c - Define functions to access sigcontext members of
        interest to Lisp.  We need to be careful about the SSE and non-SSE
        cases for retrieving x87 registers from the saved machine state.
        Define a low-level SIGFPE handler to intercept floating point traps
        and restore the cleared status word bits based on the signal code.
        Get rid of sc_reg for the reasons noted above.
      
      * lisp/Darwin-os.h, lisp/FreeBSD-os.h - Declare the restore_fpu
        function and define a specialized RESTORE_FPU macro.  Remove the
        sc_reg prototype.
      
      * lisp/Linux-os.h - Remove the sc_reg prototype.
      
      * lisp/os.h - Add prototypes for the new os_sigcontext functions.
      
      * lisp/x86-lispregs.h - Redefine SC_REG and SC_PC to expand out to the
        new os_sigcontext functions.  Redfine SC_SP to expand out to SC_REG.
        Eliminate all platform-specific defintions of SC_PC and SC_SP.
      9495c516
  7. Dec 15, 2007
    • rtoy's avatar
      Abstract out the access to the eflags register in a sigcontext. · 5c6f325d
      rtoy authored
      x86-lispregs.h:
      o Add SC_EFLAGS macro to access the eflags register (currently only
        for linux and darwin).
      
      x86-arch.c:
      o Use the SC_EFLAGS macro to enable/disable single-stepping.
      o If SC_EFLAGS is not defined, use the single-step helper stuff.
      5c6f325d
  8. Nov 14, 2007
  9. Jul 25, 2007
    • cshapiro's avatar
      Use sa_sigaction signal handlers on Linux. The glibc definition of · 342beebb
      cshapiro authored
      sigset_t is different from the one used in the Linux kernel.  This means
      that we cannot make assignments of sigset_t objects without corrupting
      memory.  To work around this problem we update uc_sigmask differently
      on Linux than on other systems.  Also, remove x87 control word updates
      since the x87 is setup correctly inside call_into_lisp.
      342beebb
  10. Jul 18, 2007
  11. Jul 15, 2007
  12. Jul 06, 2007
  13. Nov 07, 2006
  14. Jan 13, 2005
  15. Jul 07, 2004
  16. May 01, 1998
  17. Jan 21, 1997