[net.lang.prolog] C-Prolog Porting Problems

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