tc@pur-ee.UUCP (Thomas C Crayner) (10/15/86)
We are attempting to port "C Prolog", Version 1.3, from the Vax version to the Computer Consoles Inc. 6/32 machine (running 4.3BSD). The machine is quite similar to the Vax in architecture, but there are minor differences which often cause major problems. C-Prolog compiles with no unusual errors, but running the program in boot mode ("prolog -b pl/init <bootcmds") gives either a memory fault or address error in deref() (in unify.c). Adb reveals that this is caused by a reference in the 0x40000000 range, the same range used by "input variables." It seems to have been near the end of "pl/grammar" when this occurred. One change that was made was to modify the bit masks (PRIM_TAG, etc.) so that primitives start at 0xc0000000 instead of 0x80000000, because the stack in this Unix version is based there. Is this necessary, i.e. is any use of pointers to stack locals (which would be "negative" on the CCI) done, or can the masks be left alone? Other than the stack, memory is organized very similarly to the Vax port. Any assistance would be most appreciated. -Peter S. Housel- housel@ei.ecn.purdue.edu ...!{decvax,ihnp4,inuxc}!pur-ee!housel