Skip to content
Snippets Groups Projects
Forked from cmucl / cmucl
Source project has a limited visibility.
  • toy's avatar
    72f0aa1e
    Add control-stack checking for Sparc. Based on work from SBCL. · 72f0aa1e
    toy authored
    	* lisp/sunos-os.h (PROTECTION_VIOLATION_SIGNAL): Define it for
    	stack-checking.
    
    	* lisp/solaris-os.c (segv_handler): Add stack-checking support for
    	Solaris.
    
    	* lisp/os.h (os_control_stack_overflow): Give a type name to the
    	zone enums (mostly for the debugger).
    
    	* lisp/os-common.c (guard_zones): Add stack-checking support for
    	Solaris.
    	(os_control_stack_overflow): Add stack-checking support for
    	Solaris.
    
    	* lisp/interrupt.c (build_fake_control_stack_frame): New function
    	for building a stack frame without the foreign call stuff.  Used
    	for stack checking.
    	(interrupt_install_low_level_handler): Only need to install
    	alternate signal stack for x86.
    
    	* lispinit.lisp:
    	(scrub-control-stack): Rename to %scrub-control-stack to match x86
    	version so control stack guard is done.
    
    	* parms.lisp (static-symbols): Added new static symbols for
    	control stack checking.
    72f0aa1e
    History
    Add control-stack checking for Sparc. Based on work from SBCL.
    toy authored
    	* lisp/sunos-os.h (PROTECTION_VIOLATION_SIGNAL): Define it for
    	stack-checking.
    
    	* lisp/solaris-os.c (segv_handler): Add stack-checking support for
    	Solaris.
    
    	* lisp/os.h (os_control_stack_overflow): Give a type name to the
    	zone enums (mostly for the debugger).
    
    	* lisp/os-common.c (guard_zones): Add stack-checking support for
    	Solaris.
    	(os_control_stack_overflow): Add stack-checking support for
    	Solaris.
    
    	* lisp/interrupt.c (build_fake_control_stack_frame): New function
    	for building a stack frame without the foreign call stuff.  Used
    	for stack checking.
    	(interrupt_install_low_level_handler): Only need to install
    	alternate signal stack for x86.
    
    	* lispinit.lisp:
    	(scrub-control-stack): Rename to %scrub-control-stack to match x86
    	version so control stack guard is done.
    
    	* parms.lisp (static-symbols): Added new static symbols for
    	control stack checking.