Skip to content
  1. Mar 30, 2014
  2. 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
  3. Jan 23, 2012
  4. Jan 07, 2012
  5. Dec 23, 2011
    • Raymond Toy's avatar
      Fix more compiler warnings. · 771b7ee4
      Raymond Toy authored
      Linux-os.c:
      o Fix warning about pointer to int warning.
      
      lisp.c:
      o Linux needs time.h to define tzset.
      o Fix warning about unused result from getwcd.  If getcwd fails, we
        now just exit with a message because we can't find anything.
      771b7ee4
  6. Dec 22, 2011
  7. Nov 04, 2011
  8. 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
  9. Sep 01, 2011
    • rtoy's avatar
      Add os_init0 to allow for some really early OS inits. · dafb9e03
      rtoy authored
      On Linux, os_init can re-exec lisp to set up the correct personality.
      Not normally a problem, but if any output happens before os_init is
      called, the output appears to happen twice.  So add os_init0 to do
      this early on, before any output.  This is a bit of a kludge.
      
      lisp/lisp.c:
      o Call os_init0 early in main.
      
      lisp/Linux-os.c:
      o Move the personality stuff from os_init to os_init0.
      
      lisp/Darwin-os.c:
      lisp/FreeBSD-os.c:
      lisp/NetBSD-os.c:
      lisp/OpenBSD-os.c:
      lisp/hpux-os.c:
      lisp/irix-os.c:
      lisp/mach-os.c:
      lisp/osf1-os.c:
      lisp/solaris-os.c:
      lisp/sunos-os.c:
      o Add dummy implementation of os_init0.  These OSes don't (currently)
        need anything special.
      
      lisp/os.h:
      o Declare os_init0.
      dafb9e03
  10. Jun 10, 2011
    • rtoy's avatar
      Allow specifying a core with an executable image. · 246e31c7
      rtoy authored
      There's no reason why this shouldn't work and tests show that it does
      work.  So instead of disallowing it, just print a warning that it is
      unusual.  Fred also said this should work; it's just a bit odd running
      a 30MB executable with a 30MB core.
      246e31c7
  11. May 31, 2011
    • rtoy's avatar
      Add -unidata option to specify unidata.bin file. · d9b73849
      rtoy authored
      This change requires a cross-compile.  Use boot-2011-04-01-cross.lisp
      as the cross-compile script.
      
      bootfiles/20b/boot-2011-04-01-cross.lisp:
      o New cross-compile bootstrap file
      
      lisp/lisp.c:
      o Recognize -unidata option and setup *UNIDATA-PATH* appropriately.
      
      code/commandline.lisp:
      o Add defswitch for unidata so we don't get complaints about unknown
        switch.
      
      code/unidata.lisp:
      o Rename +UNIDATA-PATH+ to *UNIDATA-PATH*, since it's not a constant
        anymore.
      o Update code to use new name.
      
      code/print.lisp:
      o Update code to use *UNIDATA-PATH*
      
      compiler/sparc/parms.lisp:
      o Add *UNIDATA-PATH* to list of static symbols.
      o Add back in spare-9 and spare-8 static symbols since we need to do a
        cross-compile for this change anyway.
      
      compiler/x86/parms.lisp:
      o Add *UNIDATA-PATH* to list of static symbols.
      o Reorder the static symbols in a more logical arrangment so that the
        spare symbols are at the end.
      
      i18n/local/cmucl.pot:
      o Update
      d9b73849
  12. Dec 26, 2010
  13. Dec 23, 2010
  14. Sep 26, 2010
  15. Aug 02, 2010
  16. Aug 01, 2010
  17. Jul 31, 2010
    • rtoy's avatar
      Update how executable images are done on Solaris to match Linux and · 1424559e
      rtoy authored
      Darwin.
      
      lisp/elf.h:
      o Solaris can use linux-x86.sh too.  (Need to rename this someday!)
      
      lisp/elf.c:
      o Use same command line for sparc as for linux.
      
      lisp/lisp.c:
      o Setup up initial_function the same way as on linux.
      
      tools/linker-x86.sh:
      o Add -rdynamic or -Bdynamic as needed.
      o Add support for Solaris using Sun C.
      1424559e
  18. Jul 30, 2010
    • rtoy's avatar
      First cut at executable images on Darwin/x86. The resulting · dc8b7cc2
      rtoy authored
      executable appears to work!
      
      bootfiles/20a/boot-2010-07-1.lisp:
      o Add :executable for darwin/x86.
      
      code/bsd-os.lisp:
      o Make :elf and :mach-o runtime features too.
      o Register :executable of :executable is defined.
      
      lisp/Config.x86_darwin:
      o Need mach-o.c
      o Add exec-final.c
      
      lisp/lisp.c:
      o Don't include elf.h if we're on Darwin since Darwin uses Mach-O, not
        ELF.
      o For Darwin, we get the initial function address from
        initial_function_addr, not from &initial_function_addr, like for
        Linux.
      
      lisp/save.c
      o Don't include libgen.h and elf.h on Darwin.
      
      tools/linker-x86.sh:
      o Update to support Darwin.
      
      tools/make-main-dist.sh:
      o Add support for executables on Darwin.
      
      lisp/mach-o.c:
      o Initial support for writing Mach-O files for the Lisp spaces.
      o Initial support for reading a Mach-O executable to find and map the
        Lisp spaces.
      dc8b7cc2
    • rtoy's avatar
      Some cleanup for Linux executables. The value of the · a5cd2c4f
      rtoy authored
      initial_function_addr is saved to a file and compiled in when linking
      the executable.  This makes building the executable more portable.
      All that's need is a way for gcc to link all of lisp.a and to set the
      starting address of some segments.
      
      lisp/lisp.c:
      o For Linux, use the value of initial_function_addr instead of the
        address.
      
      tools/linker-x86.sh:
      o Disable -x option, unless CMU_DEBUG_LINKER is not empty.
      o Instead of using --defsym feature of GNU ld, save the initial
        function address in a file to be compiled when making the
        executable.
      
      lisp/elf.c:
      o Remove printing of the sizeof elf headers
      o Print some info about the object being written and print somewhat
        neatly.
      
      lisp/save.c:
      o Rework printing info of the core objects.  Let write_elf_object do
        it.
      a5cd2c4f
  19. Jul 26, 2010
    • rtoy's avatar
      Make executables work again on Linux. (At least on openSuSE 11.2). · bf794a29
      rtoy authored
      lisp/lisp.c:
      o Apparently tzset can call malloc on openSuSE 11.2.  This messes up
        mapping the dynamic space on executables because the heap appears to
        be allocated at the same place as the dynamic space.  Move tzset to
        the very end, after the Lisp spaces have been mapped.
      
      tools/Linux-cmucl-linker-script:
      o Update the linker script from the default version on openSuSE 11.2.
      bf794a29
  20. Feb 01, 2010
    • rtoy's avatar
      Patch from Stelian Ionescu on cmucl-imp, 2010/02/01: · 911be032
      rtoy authored
          When run on a kernel compiled without COMPAT_BRK CMUCL segfaults,
          so I copied the kludge used by SBCL - check the current
          personality, and if necessary, enable ADDR_NO_RANDOMIZE and
          re-exec itself.
      
      Linux-os.c:
      o Check for personality and rexec if necessary.
      
      os.h:
      o New prototype for os_init needed because it needs argv and envp.
      
      lisp.c:
      Darwin-os.c:
      FreeBSD-os.c:
      NetBSD-os.c:
      OpenBSD-os.c:
      hpux-os.c:
      irix-os.c:
      mach-os.c:
      osf1-os.c:
      solaris-os.c:
      sunos-os.c:
      o Update call to os_init, which needs argv and envp now.
      911be032
  21. Dec 18, 2009
  22. Jul 13, 2009
    • rtoy's avatar
      lisp/lisp.c: · 4de992e8
      rtoy authored
      o Make debug_lisp_search global instead of static.
      
      lisp/elf.c:
      o Use debug_lisp_search to control printing of some debug information
        when searching for the linker script.
      o Update to support executables with Unicode support.  (CMUCL_LIB is a
        wide string, so we need to hack that into a C string.  This needs
        work.)
      4de992e8
  23. Jan 20, 2009
  24. Jan 05, 2009
    • rtoy's avatar
      Fix for handling arithmetic errors with x87. · 9edd3c4b
      rtoy authored
      Use bootstrap-2009-01-1.lisp to bootstrap this change.
      
      code/float-trap.lisp:
      o FLOATING-POINT-MODES for :X87 needs to massage the results into the
        expected format (SSE2 MXCSR order).
      o Update for changed VOP names too.
      
      compiler/x86/float.lisp:
      o Rename the floating-point-modes and set-floating-point-modes VOPS to
        x87-floating-point-modes and set-x87-floating-point-modes.  Change
        the translations accordingly too.
      
      compiler/x86/parms.lisp:
      o The float property bytes have been updated to match the SSE2 MXCSR
        register for both SSE2 and X87 builds because the code assumes SSE2
        format.
      
      lisp/Linux-os.c:
      o Don't OR in the SSE2 modes if we're not running an SSE2 build.
        Doing this can erroneously mask out exceptions because the Lisp code
        didn't set up the sse2 modes.  (This happens if you select the x87
        core on a chip that supports sse2.)
      
      lisp/globals.h:
      o Declare fpu_mode.
      
      lisp/lisp.c:
      o Set fpu_mode to be the mode determined from the core file.  Needed
        in Linux-os.c to process the SSE2 modes correctly with an x87 core
        on a sse2-capable chip.
      9edd3c4b
  25. Dec 22, 2008
  26. Dec 09, 2008
  27. Nov 12, 2008
  28. Mar 18, 2008
    • cshapiro's avatar
      The FreeBSD-os.h header imported headers that its definitions did not · 86957330
      cshapiro authored
      make direct use of.  Remove the includes of these headers and fix-up
      several files that indirectly depended on them.
      
      * FreeBSD-os.c - add stdio.h and unistd.h includes that were
        implicitly depended on.  Remove unused or commented system includes.
      
      * FreeBSD-os.h - remove unused includes.  Include signal.h to directly
        provide the SIGBUS, SIGSEGV, and sub-code definitions.  Redefine
        os_vm_address_t and os_vm_size_t in terms of standard types.  Now
        that the sys/param.h include is gone we no longer need to undefine
        PAGE_SIZE.
      
      * elf.c - add includes that were implicitly depended on.
      
      * lisp.c - remove unused system includes including sys/param.h which
        redefines PAGE_SIZE.
      86957330
    • cshapiro's avatar
      Replace uses of MAXPATHLEN with FILENAME_MAX. FILENAME_MAX is defined · 0d69c949
      cshapiro authored
      by ANSI C and usually expands to the same value as MAXPATHLEN.
      0d69c949
  29. 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
  30. Jul 24, 2007
    • rtoy's avatar
      Add initial support executables on Solaris with gcc. Executables are · 9072cd2c
      rtoy authored
      created and will run, but you can't load new files.  Still needs work.
      
      src/exec-init.c:
      o New file that defines builtin_image_flag and initial_function_addr,
        instead of being defined in lisp.c
      
      code/sunos-os.lisp:
      o Register the :executable feature if needed.
      
      lisp/GNUmakefile:
      o Add exec-init.c to list of src files.
      o Remove exec-init.o from lisp.a when building on Solaris.
      
      lisp/elf.c:
      o Port the elf code to Solaris.
        - Basically set up the correct values for the elf header and
          sections.
        - The ELF core sections on Solaris don't have valid addresses so we
          explicitly set them when mapping the core sections.
      
      lisp/elf.h
      o Use SOLARIS instead of sparc.
      
      lisp/lisp.c:
      o builtin_image_flag and initial_function_addr moved to exec-init.c.
      
      tools/linker.sh:
      o Support Solaris
      
      tools/make-main-dist.sh:
      o Support Solaris
      
      tools/SunOS-cmucl-linker-script:
      o New file for SunOS executable.
      9072cd2c
  31. Jul 23, 2007
  32. Jul 21, 2007
  33. Jul 09, 2007
  34. Jul 08, 2007
  35. Jul 07, 2007