Parent Directory | Revision Log
|Links to HEAD:||(view) (annotate)|
|Links to unicode-utf16-sync-2008-07:||(view) (annotate)|
Remove X11 from the search path for include files.
Compile e_rem_pio2.c with -fno-strict-aliasing.
assembly/ppc/assem-rtns.lisp: assembly/ppc/support.lisp: compiler/ppc/call.lisp: o Remove old code using BA and BLA instructions. lisp/Config.ppc_darwin: o Don't run adjustlisp target o Don't compile darwin-lispadjuster.
This set of changes removes the constraint of the READ-ONLY space having to be in low memory. This is done be replacing the absolute branch instructions with equivalents that can branch anywhere. This adds a few extra instructions everywhere. Oh well. We also move the READ-ONLY space to a different location so we don't need the linker hacks and the darwinadjuster hacks. A basic cross-compile is necessary. Use boot-2006-11-1-cross-ppc.lisp for this. assembly/ppc/assem-rtns.lisp: compiler/ppc/call.lisp: o Replace BA instruction with BCTR. assembly/ppc/support.lisp: o Replace BLA instruction with BCTRL. o Replace BA instruction with BCTR. compiler/ppc/parms.lisp: lisp/ppc-validate.h: o Move the read-only space to #x04000000 instead of #x01000000. (This address appears to be free.) lisp/Config.ppc_darwin: o Comment out the linker flags for the CMUCLRO space. o Don't run the darwin-lispadjuster program. (We still build darwin-lispadjuster for now, but that should be removed eventually.)
Add better trig arg reduction via Sun's fdlibm. lisp/Config.ppc_darwin o Compile e_rem_pio2.c and k_rem_pio2.c code/irrat.lisp: o Update the arg reduction code to support ppc. We call out to the C sin, cos, and tan functions, after the argument has been accurately reduced.
Merge ppc_gencgc_branch to HEAD.
Change CC to gcc so we can use the default version on both Mac OS X 10.2 and 10.4. However, we need to compile all assembly files with -traditional to concatenate tokens the way we want. (Appears to be an issue with gcc 4.0 included with Tiger.)
Initial support for linkage-tables on PPC/Darwin. This is a relatively straightforward port of the sparc version of linkage-tables. Some refinements are probably still needed, as well as some testing. Use boot-2005-02-ppc-linkage.lisp to bootstrap this change from the 2005-02 snapshot. * code/ppc-vm.lisp o Add appropriate FOREIGN-SYMBOL-ADDRESS-AUX and FIND-FOREIGN-SYMBOL functions for linkage-table. * compiler/generic/new-genesis.lisp o Basically do the same as the sparc port for linkage-tables. o need to extern-alien-name on the cold linkages since they C names depend on the backend conventions. * compiler/ppc/alloc.lisp o Load "undefined_tramp" appropriately for linkage-tables. * compiler/ppc/c-call.lisp o Define new vops (FOREIGN-SYMBOL-CODE-ADDRESS, FOREIGN-SYMBOL-DATA-ADDRESS) for linkage-tables so we can access correctly. * compiler/ppc/cell.lisp o Load "closure_tramp" appropriately for linkage-tables o Load "undefined_tramp" appropriately for linkage-tables * compiler/ppc/parms.lisp o Put the foreign linkage space start at the end of the static space to make it easier to bootstrap. (We need already mapped memory.) We can move this later. o Correct TARGET-FOREIGN-LINKAGE-ENTRY-SIZE. o Add new static-symbol *linkage-table-data* o While were at it, add SPARE-9 and SPARE-0 static symbols so we have 10 spares. * lisp/Config.ppc_darwin o Add -DLINKAGE_TABLE to CFLAGS/ASFLAGS if we have linkage-table support. * lisp/Darwin-os.c o Add os_dlsym to support linkage-tables. (This nees a little refactoring because we just copied the #defines for dlopen modes.) * lisp/os-common.c o The checking of the linkage tables that is done for sparc almost works for ppc, but not quite. Implement one for ppc. * lisp/ppc-arch.c o Add PPC version of arch_make_jump_entry, arch_make_linkage_entry, arch_linkage_entry. * lisp/ppc-assem.S o Add lazy_resolve_linkage to support linkage-tables. This needs some more work. o Add undefined_foreign_symbol_trap. This probably needs work, and definitely needs testing. * lisp/ppc-validate.h o Define the start of the linkage space and size.
Move the static space location for ppc/darwin. For some reason, OS X 10.3 was putting some malloc'ed areas in the old (bigger) static space, which causes cmucl not to run. Moving the space to 0x10000000 makes it no longer overlap. I don't understand the reason for this. OS X 10.2 doesn't have this problem. Use boot-2004-10-1-ppc.lisp to cross-compile this change.
Increase the size of the read-only, static-space, control-stack, and binding-stack to 128 MB each. Increase the heap to a maximum of 512 MB, but leave the default heap at 128 MB. The control-stack and binding-stack were moved down just below the heap. No bootstrap or cross-compiled required.
Add script to massage nm output to get rid of the U lines that genesis doesn't like.
First merge of the C side of the OS X/Darwin port. Besides adding Darwin versions of all the required things, this commit separates the interrupt handler proper (now interrupt_handle_now_handler) from the actual work-horse (interrupt_handle_now), which is now only ever called from the two interrupt handlers, interrupt_handle_now_handler and maybe_now_maybe_later. This follows similar changes in SBCL, and is in fact needed in order to properly use sigreturn in signal handlers, as required to work around a problem with the G5.
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|