Skip to content
  1. Aug 10, 2012
    • Raymond Toy's avatar
      src/lisp/os.h: · c07cc020
      Raymond Toy authored
       src/lisp/gencgc.c:
       * Move the macros for fpu buffers from gencgc.c to here.
       src/lisp/x86-arch.c:
       * Use the new save_fpu_state instead of fpu_save.  And apply to all
         OSes.
      c07cc020
  2. Jan 04, 2012
  3. Nov 04, 2011
  4. Dec 26, 2010
  5. Dec 23, 2010
    • rtoy's avatar
      Fix typo. · ac087c01
      rtoy authored
      ac087c01
    • 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
  6. Dec 22, 2010
  7. Jan 06, 2009
  8. Dec 07, 2008
  9. Nov 12, 2008
  10. Mar 19, 2008
  11. Jan 28, 2008
    • rtoy's avatar
      Add new interface to ieee754_rem_pio2. No longer need to pass in an · a459a234
      rtoy authored
      array. The new function returns 2 new output values.
      
      code/irrat.lisp:
      o Rename the original %ieee754-rem-pi/2 to %%ieee754-rem-pi-2.
      o Define the new %ieee754-rem-pi/2 function.  This returns the output
        as two output values instead of an array.
      o Use the new function.  We should have wrapped the original with
        without-gcing, but we don't have to anymore.
      
      lisp/ppc-arch.c:
      lisp/x86-arch.c:
      o Implement the new C interface to __ieee754_rem_pio2
      
      lisp/Config.linux_gencgc:
      o Use -ffloat-store when compiling e_rem_pio2.c and k_rem_pio2.c, just
        to be sure.
      a459a234
  12. 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
    • rtoy's avatar
      Tracing with :encapsulate NIL works on Darwin now. There are some · 7d7c3c3e
      rtoy authored
      issues like why the mcontext slot is 0 in the sigcontext from a
      function end breakpoint.  This works around that problem for now.
      
      lisp/x86-arch.c:
      o Add documentation on how arch_do_displaced_inst works.
      o Darwin has the eflags register in the sigcontext so use that to
        enable and disable single-stepping using the eflags slot.  This is
        how Linux works too.  This change makes function start breakpoints
        work.
      
      code/debug-int.lisp:
      o In FIND-ESCAPED-FRAME, make sure the mcontext slot is not null (0)
        before we try to grab the cfp slot from it.  This works around an
        issue where the mcontext slot is 0 on Darwin.
      
      code/ntrace.lisp:
      o Make *TRACE-ENCAPSULATE-DEFAULT* be :default again.
      7d7c3c3e
  13. Dec 14, 2007
  14. Dec 03, 2007
  15. Nov 16, 2007
  16. 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
  17. Jul 15, 2007
  18. Jul 06, 2007
  19. Oct 06, 2005
  20. Sep 15, 2005
  21. Jul 08, 2004
    • rtoy's avatar
      More compiler warning fixes: · 06354d92
      rtoy authored
      * gencgc.c:
        o fixup up fprintf warnings
        o generation_bytes_allocated() defined only when GC_ASSERTIONS is
          #defined.
      * x86-arch.c: fixup printf warnings.
      06354d92
  22. Jul 07, 2004
  23. May 18, 2004
    • cwang's avatar
      typo · 617e53e5
      cwang authored
      617e53e5
  24. Oct 24, 2003
    • toy's avatar
      Add support for x86 heap-overflow checking. · 10d10ac0
      toy authored
      	* x86-assem.S (multiple_value_return): Add new functions to handle
      	heap overflow warnings and errors.
      
      	* x86-arch.c (sigtrap_handler): Add cases for the two new heap
      	overflow traps.
      
      	* interrupt.c (interrupt_handle_space_overflow): Add support for
      	x86.
      
      	* parms.lisp (static-symbols): Add new static symbols for heap
      	overflow checking.  Add new trap types for heap overflow
      	checking.
      10d10ac0
  25. Nov 02, 2002
  26. Aug 28, 2002
    • pmai's avatar
      A number of smallish changes to the new linkage-table code: · cf055d22
      pmai authored
      o Conditionalized some code that is only used in linkage-table builds
        on :linkage-table and LINKAGE_TABLE respectively.
      o Modernized undefined_ff_tramp based on recent changes, and renamed
        it to undefined_foreign_symbol_trap, because it really isn't a
        trampoline.
      o Conditionalized a stray puts(...,dlerror()) in Linux-os.c on DEBUG
      o Installed an error reporter for UNDEFINED_FOREIGN_SYMBOL_ERROR,
        which for now signals a simple-program-error.  We might want to
        introduced a new condition UNDEFINED-FOREIGN-SYMBOL or something,
        which could also be used by the old foreign linkage code.
      cf055d22
  27. 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
  28. Jan 28, 2002
    • pmai's avatar
      Added specialised port to NetBSD (1.5.2) on x86. Since the code-base · 4ea11535
      pmai authored
      was already cleaned up with the OpenBSD port, this doesn't require
      massive changes.
      
      Since current NetBSD is ELF-based by default, we don't make use of the
      ELF feature, or in other words:  The presence of the NetBSD feature
      implies ELF, since there is no support for non-ELF NetBSD.
      4ea11535
  29. 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
  30. Oct 27, 2000
  31. Oct 21, 2000
  32. Sep 05, 2000
  33. Nov 11, 1999
  34. Feb 19, 1998
  35. Nov 30, 1997
  36. Nov 25, 1997