- Sep 28, 2015
-
-
Raymond Toy authored
-
- Dec 03, 2014
-
-
Raymond Toy authored
builtin_image_flag is set.
-
- Nov 06, 2014
-
-
Raymond Toy authored
This shows up when creating executables. Executables don't have the magic number in the core file to indicate whether the core suports sse2 or x87, so the fpu_type is never set to the actual type, and fpu_mode is set to the value of fpu_type. But there are asserts in the C code to check that fpu_mode is SSE2 since we have dropped support for x87. One case where this happens is building maxima with a cmucl executable on darwin. An assert triggers preventing maxima from running. This change fixes that.
-
- Mar 30, 2014
-
-
Raymond Toy authored
-
- Sep 01, 2012
-
-
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.
-
- Jan 23, 2012
-
-
Raymond Toy authored
-
- Jan 07, 2012
-
-
Raymond Toy authored
sunos-os.h: o Update HANDLER_ARGS to match definition used in sigaction. o Define os_context_t lisp.c: solaris-os.c: sparc-arch.c: o Use os_context_t as needed.
-
- Dec 23, 2011
-
-
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.
-
- Dec 22, 2011
-
-
Raymond Toy authored
map_core_sections to get rid of compiler warning.
-
- Nov 04, 2011
-
-
Raymond Toy authored
-
- Sep 24, 2011
-
-
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.
-
- Sep 01, 2011
-
-
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.
-
- Jun 10, 2011
-
-
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.
-
- May 31, 2011
-
-
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
-
- Dec 26, 2010
-
-
rswindells authored
registers. The test is a stub on everything except NetBSD for now.
-
- Dec 23, 2010
-
-
rtoy authored
lisp/Config_x86_netbsd: o Define EXEC_FINAL_OBJ, like other x86 ports. lisp/elf.c: o Use the new linker.sh command script to link the executable. lisp/lisp.c: o Use new method of getting the initial_function.
-
rtoy authored
get the initial_function from the initial_function_addr, not the address of initial_function_addr.
-
- Sep 26, 2010
-
-
rtoy authored
always part of the build now, we can remove most of the conditionalization on FEATURE_EXECUTABLE. Only need to preserve the part about calling map_core_sections, which is only defined if FEATURE_EXECUTABLE is defined.
-
- Aug 02, 2010
-
-
agoncharov authored
-
- Aug 01, 2010
-
-
rtoy authored
-
agoncharov authored
-
- Jul 31, 2010
-
-
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.
-
- Jul 30, 2010
-
-
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.
-
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.
-
- Jul 26, 2010
-
-
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.
-
- Feb 01, 2010
-
-
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.
-
- Dec 18, 2009
-
-
agoncharov authored
-
- Jul 13, 2009
-
-
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.)
-
- Jan 20, 2009
-
-
agoncharov authored
-
- Jan 05, 2009
-
-
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.
-
- Dec 22, 2008
-
-
rtoy authored
find the SSE2 core. This fallback only happens if the fpu type is AUTO. If not, then no fallback is done. Some cleanup of the code also done by moving the code for locating the core into its own routine.
-
- Dec 09, 2008
-
-
rtoy authored
-
- Nov 12, 2008
-
-
rtoy authored
sse2-packed-2008-11-12).
-
- Mar 18, 2008
-
-
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.
-
cshapiro authored
by ANSI C and usually expands to the same value as MAXPATHLEN.
-
- Jul 25, 2007
-
-
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.
-
- Jul 24, 2007
-
-
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.
-
- Jul 23, 2007
-
-
fgilham authored
-
- Jul 21, 2007
-
-
fgilham authored
-
- Jul 09, 2007
-
-
fgilham authored
-