Skip to content
Snippets Groups Projects
Commit 25b808fb authored by pw's avatar pw
Browse files

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.
parent b49dfe03
No related branches found
No related tags found
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment