Skip to content
Snippets Groups Projects
  1. Mar 23, 2003
    • gerd's avatar
      Optional control stack checking. This is controlled by the · 670d643f
      gerd authored
      	feature :stack-checking because it's not implemented for other
      	systems/architectures yet.  It is currently known to work on
      	FreeBSD 4.8-RC/x86 and Debian 2.2.20/x86.
      
      	* bootfiles/18e/boot3.lisp: New boot file, well, only a
      	description of the boot procedure since no boot file is needed.
      
      	* lisp/x86-validate.h (SIGNAL_STACK_START, SIGNAL_STACK_SIZE)
      	[__FreeBSD__, __linux__]: New defines.
      	(CONTROL_STACK_SIZE) {__FreeBSD__, __linux__]:
      	Adjust for signal stack.
      
      	* lisp/validate.c (validate) [RED_ZONE_HIT]: Call
      	os_guard_control_stack.  Some cleanup.
      
      	* lisp/os.h (BOTH_ZONES, YELLOW_ZONE, RED_ZONE): New enums.
      	Add function prototypes.
      
      	* lisp/interrupt.c (interrupt_install_low_level_handler)
      	[RED_ZONE_HIT]: Deliver protection violations on a dedicated
      	signal stack.
      
      	* lisp/os-common.c (os_stack_grows_down_1, os_stack_grows_down):
      	New functions.
      	(guard_zones, control_stack_zone, os_guard_control_stack)
      	(os_control_stack_overflow) [RED_ZONE_HIT]: New functions.
      	(os_control_stack_overflow) [!RED_ZONE_HIT]: Dummy function.
      
      	* lisp/Linux-os.c (sigsegv_handler) [RED_ZONE_HIT]: Handle control
      	stack overflows.
      
      	* lisp/FreeBSD-os.c: General cleansing.
      	(sigbus_handler) [RED_ZONE_HIT]: Handle control stack overflows.
      
      	* lisp/FreeBSD-os.h (PROTECTION_VIOLATION_SIGNAL): New define.
      
      	* lisp/Linux-os.h (PROTECTION_VIOLATION_SIGNAL): New define.
      
      	* compiler/x86/system.lisp (lisp::%scrub-control-stack): Change
      	defknown from sys:scrub-control-stack.
      	(%scrub-control-stack): Rename VOP.
      
      	* code/lispinit.lisp (os-guard-control-stack) [#+stack-checking]:
      	Define alien os_guard_control_stack.
      	(%scrub-control-stack) [#+x86]: New function.
      	(scrub-control-stack) [#+x86]: Call %scrub-control-stack,
      	call os-guard-control-stack if #+stack-checking.
      
      	* code/interr.lisp (yellow-zone-hit,
      	red-zone-hit) [#+stack-checking]: New functions.
      
      	* code/error.lisp (stack-overflow) [#+stack-checking]: New
      	condition.
      
      	* compiler/generic/new-genesis.lisp (finish-symbols)
      	[#+stack-checking]: Add symbols for control stack checking.
      
      	* compiler/x86/parms.lisp (static-symbols): Likewise.
      670d643f
  2. Aug 23, 2002
  3. Jul 10, 2002
    • toy's avatar
      From Eric Marsden: · 6e9a215f
      toy authored
       * (pcl:class-precedence-list (find-class 'null)) should have symbol
         occurring before list, as per CLHS.
      
       * minor changes to certain error conditions: eg trying to set
         DEFAULT-DIRECTORY to a non-existent directory should raise a
         condition of type FILE-ERROR. (Some of these changes are from
         Alexey Dejneka, via SBCL).
      
       * cleanup of some Hemlock-related symbols that shouldn't be exported
         when :no-hemlock is defined.
      6e9a215f
  4. Jul 12, 2001
  5. Jul 08, 2001
    • pw's avatar
      From Paul Foley: · 65855429
      pw authored
      	This patch makes QUIT call a list of functions at
      	exit, so that the Motif interface can clean up without having to
      	redefine it.
      65855429
  6. Apr 07, 2001
    • pw's avatar
      Freom Pierre Mai: · d11e3bc3
      pw authored
      Allow duplicate keyword arguments in macro calls and destructuring-bind
      to be ANSI compliant. Offending clause in VALIDATE-KEYWORD is commented
      out in case anyone needs to revive the old behaviour.
      d11e3bc3
  7. Mar 04, 2001
  8. Oct 16, 2000
  9. Sep 14, 2000
  10. Jan 17, 2000
  11. Dec 04, 1999
  12. Sep 26, 1998
  13. Apr 10, 1998
  14. Jan 16, 1998
  15. Jan 04, 1998
    • dtc's avatar
      Define a new function process-wait-until-fd-usable; similar to · 9e78a0f2
      dtc authored
      sys:wait-until-fd-usable but uses process-wait so avoids blocking if
      there are other runnable processes.
      
      Redefine the sleep function to use process-wait-with-timeout to avoid
      blocking if there are other runnable processes.
      9e78a0f2
  16. Nov 21, 1997
  17. Nov 18, 1997
  18. Nov 04, 1997
    • dtc's avatar
      Merge in changes to the x86 backend from the gencgc branch, allowing · 725ab9ee
      dtc authored
      common binaries to be run on both:
      
      * The immediate-stack storage class has been removed, this is
      unnecessary as the descriptor-stack SC can be used. It may have once
      been part of some GC stragety to reduce the number of stack slots that
      needed to be noted for a GC.
      
      * The object allocation has been abstracted and cleaned up. This
      should produce slightly faster smaller code with CGC, and can be
      compiled to support inline allocation with GENCGC.  CGC compiled code
      will run under GENCGC, and GENCGC binaries that don't use inline
      allocation will run under CGC.
      
      * A random hash is now placed in the unused symbol object slot (the
      symbol-hash slot). This saves flushing the info cache at each GC, and
      may have other uses for symbol based hash tables. Should help MP
      safety.
      
      * Common set of static symbols used by both CGC and GENCGC.
      
      * Corrections to the stack-ref VOP; now returns lisp objects not
      unsigned numbers. Required some patches to debug-int.
      
      * Inline unsigned/signed byte 32 to bignum allocation enabled.
      
      * Support for the x86 xadd instruction applied to instance slot and
      symbol values - may be handy for some MP code.
      
      * Bump up the FASL file version from 1 to 2.
      725ab9ee
  19. Sep 15, 1997
  20. Jan 18, 1997
  21. May 07, 1996
  22. Jul 26, 1995
  23. Oct 31, 1994
  24. Feb 15, 1994
  25. Feb 11, 1994
  26. Sep 03, 1993
  27. Aug 30, 1993
  28. Aug 26, 1993
  29. Aug 19, 1993
  30. May 25, 1993
  31. May 22, 1993
  32. Feb 26, 1993
  33. Feb 21, 1993
  34. Feb 04, 1993
  35. Apr 12, 1992
  36. Mar 08, 1992
Loading