[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

AKCL on a DS5000 and volatile declarations

I am trying to use AKCL on a DECStation 5000 PX.  I noticed that there was
no machine definition for it, but went ahead and used the definition for
the 3100.  The make was successful, but was not without incident.  I had
several failures that either required a minor fix or (gasp) appeared to fix
themselves after typing make again (things like core dumps due to
modification of text space during an autoload).

I proceeded to use AKCL to build Mike Gordon's HOL theorem prover.  In
compiling the LISP files, three of them failed during C compilation.  After
some research, I determined that it was the volatile declaration
(-DVOL=volatile) that was causing problems.  I would get a "bad structure
offset" error message on any object that was declared as volatile and then
referenced using any CMPc*r macro. 

I don't understand why this is so (based on my limited understanding of the
volatile declaration) and am concerned that just removing the -D switch
from the string that AKCL uses to compile files will break things somewhere
down the line. (For those files that failed, I added (setq compiler::*cc*
"cc -O G ") to the front and proceeded to build HOL.)

Can anyone offer any explaination?  Is there a better AKCL port to a DS5000
than the DS3100 port that exists (i.e. in the works)?



Phil Windley                          |  windley@cs.uidaho.edu
Department of Computer Science        |
University of Idaho                   |  Phone: 208.885.6501  
Moscow, ID 83843                      |  Fax:   208.885.6645