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. Sep 24, 2011
    • Raymond Toy's avatar
      Fix Trac ticket:46. · 44a8f0c7
      Raymond Toy authored
      Make the size of all spaces configurable from the command line.
      
      code/commandline.lisp:
      o Define the switches so lisp doesn't complain.
      
      general-info/lisp.1:
      o Document new switches.
      
      general-info/release-20c.txt:
      o Update
      
      lisp/Darwin-os.c
      lisp/FreeBSD-os.c
      lisp/Linux-os.c
      lisp/NetBSD-os.c
      lisp/backtrace.c
      lisp/cgc.c
      lisp/gencgc.c
      lisp/os-common.c
      lisp/ppc-validate.h
      lisp/purify.c
      lisp/solaris-os.c
      lisp/sparc-arch.c
      lisp/sparc-validate.h
      lisp/x86-validate.h:
      lisp/validate.c
      o Basically rename CONTROL_STACK_SIZE, BINDING_STACK_SIZE,
        READ_ONLY_SPACE_SIZE, and STATIC_SPACE_SIZE to control_stack_size,
        binding_stack_size, read_only_space_size, and static_space_size,
        respectively.
      
      lisp/coreparse.c
      o Check the space size in the core file against the allocated size.
        If the allocated space is too small, print an error message and
        exit.
      
      lisp/globals.c
      o Define new variables for the allocated size of spaces.
      
      lisp/globals.h
      o Declare the new variables for the size of the spaces.
      
      lisp/lisp.c
      o Set the default values of the spaces.
      o Parse the new command-line flags and set the space sizes.
      
      lisp/sunos-os.c:
      o Added os_init0 (that we forgot last time).
      
      lisp/x86-assem.S:
      o Change $CONTROL_STACK_END to GNAME(control_stack_end) to get the
        correct end of the stack.
      44a8f0c7
  4. Dec 22, 2010
  5. Dec 18, 2010
  6. May 21, 2010
    • rtoy's avatar
      lisp/x86-validate.h: · abd730c6
      rtoy authored
      o Maximum dynamic space size for darwin was too large.
      
      general-info/release-20b.txt
      o Update.
      abd730c6
  7. Feb 01, 2010
  8. Dec 18, 2009
  9. Jul 06, 2007
  10. May 01, 2007
  11. Mar 28, 2007
  12. Sep 15, 2005
  13. Mar 18, 2005
  14. Jan 13, 2005
  15. Jul 08, 2004
    • rtoy's avatar
      More compiler warning fixes: · a99cb929
      rtoy authored
      * purify.c: fixup up fprintf warnings
      * x86-validate.h:  LinkageSpaceStart is an unsigned, so cast it.
      a99cb929
  16. Jul 07, 2004
  17. Jan 16, 2004
  18. 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
  19. 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
  20. Mar 13, 2002
    • moore's avatar
      · c90d3517
      moore authored
      Support for dynamic loading in FreeBSD 4.0 and later.  This involves moving
      the static space up, so a cross-compile is required to bootstrap these changes.
      c90d3517
  21. 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
  22. 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
  23. Oct 24, 2000
    • dtc's avatar
      o Add the command line switch -dynamic-space-size for setting the size · a7070998
      dtc authored
        of the dynamic space. DYNAMIC_SPACE_SIZE now defines the maximum
        size, and when defined DEFAULT_DYNAMIC_SPACE_SIZE gives the default.
      
      o Increase the maximum dynamic space size for Linux x86 to 1.625GB,
        with the default remaining at 512MB.
      
      o Define the default dynamic space size for FreeBSD x86 to also be 512MB,
        with a maximum of 2GB.
      a7070998
  24. Sep 16, 1999
  25. Nov 13, 1998
  26. Sep 17, 1998
  27. Sep 01, 1998
  28. Aug 30, 1998
    • dtc's avatar
      Revise the address map to better utilise the address space, allowing · 0d71a1cd
      dtc authored
      larger heaps and stacks:
      
      * There is now the potential for up to 2.75GB dynamic space on
      FreeBSD, and 1.75GB on linux.  Since GENCGC statically allocates page
      tables the default size is set at just 1GB.
      
      * The Read-only and Static spaces have been increased to 256MB
      allowing larger heaps to be purified. The Read-only and Static spaces
      are in the same locations for both the FreeBSD and Linux ports to
      avoid unnecessary binary incompatibility.
      
      * The Control stack and Binking stack now have room for upto 128MB,
      supporting deeply nested algorithms, and potentially giving room for
      subdivision for thread stacks.
      
      * There is a reserve for the FreeBSD static libraries in the event
      that the FreeBSD lisp binary is dynamically linked, and the foreign
      segment size for FreeBSD is now 32MB, up from just 4MB.
      
      * There is now significantly more room for C allocated memory, roughly
      128M on Linux and 224M on FreeBSD.
      0d71a1cd
  29. May 27, 1998
  30. May 01, 1998
  31. Dec 17, 1997
  32. Nov 25, 1997
  33. Feb 18, 1997
  34. Jan 21, 1997