Parent Directory | Revision Log
|Links to HEAD:||(view) (annotate)|
|Links to PRE_LINKAGE_TABLE:||(view) (annotate)|
Added export of internal error code constants to internals.h, so that platform assembler code can use those, instead of magic numbers and bogus conditionalization on type_Long_Float. Inspired/Stolen from SBCL. Also added some more comments in places, and a generic SC_OFFSET macro that matches lisp/debug-info.lisp.
Changes for Linux running on Alpha. From: Julian Dolby <dolby@csag-226-8.UCSD.EDU> Enclosed below are diffs against the cvs repository as of Feb 12; aside from minor changes like using different include files (e.g. validate.h instead of x86-validate.h in Linux-os.c) and adding alpha-linux specifics unix-glibc2.lisp, there are two code changes. The first is to signal handling. I had to put the POSIX-SIGS ifdefs into places used by alpha but not by x86, and I ifdef'ed out most of the linux #define kludges for signals for alpha linux, since alpha linux uses OSF/1 signals rather than linux ones. The second is that the trick of or'ing 2 into the reg_ALLOC address to cause faults does not work on alpha linux since the kernel traps and handles the unaligned access; I did not find a way to change that kernel behavior, so I changed the code to or (1<<63) into the address to cause a seg fault, and then check, in the seg fault handler, to see if the high-order address bits are set. One change I made is to the memory layout (lisp/alpha-validate.h and compiler/alpha/parms.lisp); that change is not needed to make lisp run on alpha linux, but is there because I wanted more heap space.
Calculate the error code for the undefined_tramp using the sc_DescriptorReg define; the error code had been using a fixed SC offset which becomes invalid when the SCs are modified, for example when adding the complex-float SCs.
Restore C Stack pointer before returning into C.
Change .word to .long in two places fixes alignment troubles.
Added breakpoint support.
Change offsets again, and add back line which originally was supposed to be commented out.
Fixed the hacked offsets.
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|