Parent Directory | Revision Log
|Links to HEAD:||(view) (annotate)|
Changes to support building on Mac OS X 10.6. When compiled on 10.6, the resulting binary still works on 10.5. lisp/Config.x86_darwin: o Add -m32 flag to build and link a 32-bit binary. lisp/Darwin-os.h: o Include <sys/ucontext.h> instead of <ucontext.h> to get rid of the error about deprecated functions in ucontext.h. lisp/gencgc.h: o Mac OS X defines PAGE_SIZE in a header and that conflicts with our name. Rename our PAGE_SIZE to GC_PAGE_SIZE. lisp/gencgc.c: o Rename PAGE_SIZE to GC_PAGE_SIZE.
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.
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.
Config.x86_common: o Use += to append to variables instead of setting them. o Add common OS_SRC files. o Move rule for building e_rem_pio2.c to here. Add CPPFLAGS too. Config.x86_common: o Remove common files from OS_SRC. o Remove rele for e_rem_pio2.c Config.x86_darwin: o Update to use Config.x86_common. GNUmakefile: o Use CPPFLAGS when building version.o
Support building and running on OSX 10.4 (Tiger). lisp/Config.x86_darwin: o Add -mmacosx-version-min=10.4 so the C code can run on Tiger. lisp/Darwin.c: lisp/x86-lispregs.h: o The mcontext slot names have a prefix of "__" on 10.5, but have no prefix on 10.4. Add #define's to make the source code work on either.
Clean up Config, like in linux_gencgc, removing LINKAGE, GENCGC, and SSE2 flags, and adding them to RUNTIME.
Merge changes from utf16 branch to update to snapshot 2008-12.
Merge Snapshot 2008-12 to this branch. Some tweaks needed in boot-2008-05-cross-unicode-x86.lisp and the Config files. FreeBSD and Darwin/x86 untested, but Linux and Solaris build ok.
Enable SSE2 when either FEATURE_X87 or FEATURE_SSE2 is set so the C runtime will always support SSE2.
Merge in SSE2 changes from sse2-packed-branch (tag sse2-packed-2008-11-12).
Sync to snapshot 2008-11. But we didn't sync code/extfmts.lisp or iso8859-1.lisp and utf-8.lisp. (I don't think we want those changes, yet.)
Sync to snapshot 2008-11.
Minor cleanup. But all the runtime feature stuff into RUNTIME.
Initial support for SSE2. This compiles itself ok on Linux, and should work on OSX. Much cleanup is needed, and still need to restore buildability without SSE2. Use bootfiles/19e/boot-2008-09-sse2.lisp as the cross-compile script. The key changes are in these new files: o float-sse2.lisp: implements all of the floating-point stuff with SSE2 o sse2-array.lisp: replacement vops using sse2 instead of x87 o sse2-c-call.lisp: replacement vops using sse2 instead of x87. o sse2-sap.lisp: replacement vops using sse2 instead of x87 code/irrat.lisp: o Basically turn off all the special routines that use the x87 trig, log, or exp instructions. We don't support that currently. (Would be nice, though.) o Turn on %%sin and friends, like on ppc. o Turn off %sin-quick and friends since we don't want to use x87 now. code/misc.lisp: o Register :sse2 feature. compiler/float-tran.lisp: o Disable transforms for x86 that use x87 instructions. We don't support that with sse2. compiler/loadbackend.lisp: o Load up the appropriate sse2 files for the compiler. This will currently overwrite existing vops with vops for SSE2. compiler/x86/float.lisp: o Disable various vops using the x87 instructions, since float-sse2.lisp doesn't have equivalents. (Just in case. Since this isn't compiled or loaded, we shouldn't need to do this.) compiler/x86/insts.lisp: o Add support for SSE2 instructions. Shamelessly borrowed from our SBCL friends. compiler/x86/vm.lisp: o Turn off some fp-constants that are not supported with sse2. o Print FP registers as XMM instead of FR. lisp/Config.linux_gencgc: lisp/Config.x86_darwin: o Enable FEATURE_SSE2 flag when compiling. lisp/Darwin-os.c: lisp/Linux-os.c: o Get the mxcsr status bits too when getting the FPU status from a sigcontext. lisp/x86-assem.S: o For SSE2, we copy any floating-point result (in ST(0)) to XMM0, so Lisp code can get it. tools/comcom.lisp: o Compile up the SSE2 files as needed.
Minor tweaks. o Add mode line for emacs o Use FEATURE_LINKAGE_TABLE and FEATURE_GENCGC to enable/disable the appropriate flags.
Add support for unicode compile feature.
Compile e_rem_pio2.c with -fno-strict-aliasing.
Import x86 Darwin port.
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|