Parent Directory | Revision Log
|Links to HEAD:||(view) (annotate)|
Update conditionals so we choose the correct compiler for Solaris/x86 (where we only support Sun C now).
Merge changes from HEAD that allow the executable feature to work again on FreeBSD.
Rename linker-x86.sh to linker.sh. lisp/elf.h: o Set LINKER_SCRIPT to linker.sh tools/make-main-dist.sh: o Don't copy linker-x86.sh to the distribution anymore. tools/linker.sh: o Copied contents of linker-x86.sh to here.
EXECUTABLE seems to work on FreeBSD now. TODO: mv tools/linker-x86.sh tools/linker.sh
Update how executable images are done on Solaris to match Linux and 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.
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.
Change how we build executables for Linux. We no longer need the 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.
Sync to utf16 branch, tag unicode-utf16-sync-label-2009-03-16.
Sync to CVS HEAD, tag label-2009-03-16. But don't sync Config.FreeBSD_gencgc, Config.x86_freebsd, FreeBSD-os.c, and FreeBSD-os.h. Let Alex sync those later. The result seems to work as expected on Solaris and x86/linux. Darwin (ppc or x86) untested.
Use 'const char *' instead of 'char *' where appropriate
Merge changes from HEAD to the unicode-utf16 branch.
Make it build again for NetBSD.
Add support for executable stuff using Sun C on sparc. The executable appears to be created successfully, and you can do things, but it is not usable. lisp/elf.h: o Set C_COMPILER to either "cc" or "gcc". We use gcc everywhere, except if the C compiler is Sun C on sparc. lisp/elf.c: o Print out C_COMPILER as the first arg to the linker script. tools/linker.sh: o Rearrange code so test for number of args is done first. o Look at the first arg to determine the C compiler used. If gcc, use the original code. Add new code to support Sun C.
Add initial support executables on Solaris with gcc. Executables are 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.
Fix typos, portability stuff (e.g. get rid of __FUNCTION__ which SunOS doesn't have.)
Get the name of the linker script straight.
Fix CVS id.
Add "license" or lack thereof, CVS ID.
Add lisp executable code.
Fred Gilham's Lisp executable support for CMUCL.
file elf.h was initially added on branch lisp-executable.
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|