Parent Directory | Revision Log
|Links to HEAD:||(view) (annotate)|
More comment cleanups.
Let the linker remove the object files we created for the Lisp spaces. 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.
No functional changes. Just update and clarify comments.
For Linux and Darwin, we don't actually need to set the starting 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.
More cleanups. 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.
Some cleanup of the names of main functions for creating executable 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.
First cut at executable images on Darwin/x86. The resulting 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.
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.
|Powered by ViewVC 1.1.5|