- Aug 03, 2010
- Aug 02, 2010
-
-
rtoy authored
-
rtoy authored
-
rtoy authored
lisp/elf.c: lisp/mach-o.c: o Remove obj_cleanup function. lisp/save.c: o Don't call obj_cleanup anymore (because it doesn't exist.) toosl/linker-x86.sh: o Remove CORRO.o CORSTA.o CORDYN.o on exit.
-
rtoy authored
compiler options will work with gcc and produce a working executable.
-
rtoy authored
-
agoncharov authored
-
- Aug 01, 2010
-
-
rtoy authored
-
rtoy authored
-
rtoy authored
-
rtoy authored
command.
-
agoncharov authored
-
agoncharov authored
-
agoncharov authored
-
rtoy authored
too. (It's already applied to the other builds.)
-
- Jul 31, 2010
-
-
rtoy authored
let's update the fasl version to 20b. To build this, use boot-2010-07-1-cross as the cross-compile script and -B src/bootfiles/20a/boot-2010-07-1.lisp for cross-build-world.sh. If there are any restarts, choose the clobber-it restart. bootfiles/20a/boot-20b.lisp: o Bootstrap the change to fasl version 20b. bootfiles/20a/boot-2010-07-1.lisp: o Load boot-20b.lisp. compiler/byte-comp.lisp: o Update byte-fasl-file-version to 20b.
-
rtoy authored
-
rtoy authored
o Give example of how to start an executable image. o Document the ld-library-path, modules, and ext-formats searc-lists.
-
rtoy authored
error messages about being unable being unable to read zones for malloc. Don't know if that's a bug in vmmap or not, but that doesn't sound good, and the message go away if we define seg addresses again.
-
rtoy authored
address of the core sections. In map_core_sections, we can map them to the correct addresses, just like we do on Solaris. lisp/elf.c: o Mmap the Lisp core sections with the correct address, not using the one in the executable itself, just like on Solaris. lisp/mach-o.c: o Add the array of addresses of the dynamic, static, and read-only spaces. o Mmap the Lisp core sections with the correct address, not using the one in the executable itself, just like on Solaris. o Small update to print out the names of the spaces, just like for elf files. tools/linker-x86.sh: o Don't need to tell the linker the starting addresses of the sections anymore for Linux and Darwin. map_core_sections handles that.
-
rtoy authored
-
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.
-
rtoy authored
-
rtoy authored
o Disable all of those debugging prints. o Add ability to enable those debugging prints if desired. (May go a way some day.) o Get rid of some compiler warnings. o Get rid of the global eh variable; it's not required to be global.
-
rtoy authored
images. lisp/elf.c: o Change write_elf_object, elf_cleanup, and elf_run_linker to write_space_object, obj_cleanup, and obj_run_linker. lisp/elf.h: o Update so that this can used for both elf and mach-o. Not great, but I don't want to rename this file. lisp/mach-o.c: o Include elf.h o Remove items that are defined in elf.h. o Change function names from elf to mach_o. lisp/save.c: o Update names to new ones.
-
- 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 29, 2010
-
-
rtoy authored
Could probably also work for FreeBSD, but changes not done yet.
-
rtoy authored
hairy and fragile linker script. Instead, we can use regular old gcc to do what we need. (Should also work for FreeBSD, but not yet implemented.) lisp/elf.c: o Include validate.h so we can get the starting addresses of the read-only, static, and dynamic spaces. o Add special case for linux to run the linker script correctly. lisp/elf.h: o There's a separate linker script for Linux. lisp/save.c: o Temporarily don't run elf_cleanup so we can have easier testing/debugging. tools/linker.sh: o Don't need BIFLAG anymore. tools/make-main-dist.sh: o Install linker-x86.sh.
-
rtoy authored
o Define EXEC_FINAL_OBJ for linux, just like we did for Solaris so that we have a nice known good address and value for builtin_image_flag. GNUmakefile: o If EXEC_FINAL_OBJ has a value, remove exec-init.o from the library and add exec-final.o. This makes it independent of the architecture.
-
rtoy authored
having the address of builtin_image_flag set to some (random) address of mapped memory that is non-zero, we add a special file to lisp.a that defines builtin_image_flag to 1. lisp/Config.sparc_common: o Define EXEC_FINAL_OBJ lisp/GNUmakefile: o Make lisp.a depend on EXEC_FINAL_OBJ o On Solaris, add EXEC_FINAL_OBJ to lisp.a. tools/SunOS-cmucl-linker-script: o Remove the line setting the address of builtin_image_flag. tools/linker.sh: o For Solaris, we don't need to define BIFLAG; the builtin_image_flag is automatically set correctly by linking in lisp.a
-
- Jul 28, 2010
-
-
rtoy authored
name because we cd to the directory already.
-
- Jul 27, 2010
-
-
rtoy authored
-
rtoy authored
o Print out the size of Elf_Ehdr and Elf32_Phdr, for debugging. o Pass the address of main to the linker script. We will use the first word of main as the address of builtin_image_flag. It seems highly unlikely that this would have have the value 0. tools/Linux-cmucl-linker-script: o Hardwire the value of SIZEOF_HEADERS. This is needed on Debian to get the right number of segments. o Comment out some items and/or fix them so that Debian's linker doesn't complain. Doesn't appear to do any harm on openSuSE 11.2. tools/linker.sh: o Update for the additional argument for the address of main to use as the address of builtin_image_flag.
-
- Jul 26, 2010
-
-
rtoy authored
could not find it. Put it in the same directory as executable, and delete it when done.
-
rtoy authored
-
rtoy authored
o Tell compiler that the :allocation option to make-array only takes nil and :malloc. code/array.lisp: o Add declaration for :allocation to make-array so that we can catch invalid values for :allocation. o Add variable *debug-static-array-p* to enable debugging messages when GC'ing static arrays.
-
rtoy authored
break was missing. o Add variablle debug_static_array_p so we can disable debugging messages by default, but allow the user to enable the debugging messages. o Debugging messages for GC'ing static arrays are enabled if debug_static_array_p is true.
-
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.
-