[net.unix] Franz Lisp:rawhlisp problems

joe@smu.UUCP (05/24/84)

#N:smu:18500009:000:606
smu!joe    May 24 13:25:00 1984

I have been trying to make rawhlisp in Franz Lisp, 4.2bsd.
I get the following error:
Undefined:
__brk
Has anyone successfully made rawhlisp? The file with _brk in it has a
define statement which redefines brk to _brk, if the operating system
is 4.2. We can find no definition for _brk. 
(The purpose of our making this is to install MACSYMA. Has anyone
installed MACSYMA under 4.2bsd? Did you use the lisp that came with
it, Opus 38.66, or the 4.2bsd version, Opus 38.79)

                                Thanks,
                                Joe Ramey
                                ...convex!smu!joe

elvy@harvard.ARPA (Marc Elvy) (06/22/84)

I had the exact same problem trying to install macsyma.  It turns out that
there are several problems involved in trying to remake Macsyma for 4.2.
The tape which Symbolics provides includes a 4.1 binary, so no one has ever
tried to recompile the system with another Lisp interpreter as far as I
can see.  So I started up (using the 4.2 Franz, since it was newer) and
discovered (much to my chagrin) that one could not make rawhlisp because
__brk was not defined in my system.  (There is a piece of code in rlc.c
which says #ifdef os_4_2  #define brk _brk #endif.)  Since I could not
find it, I checked out the code on ucbmonet -- it turns out they have
defined another entry point into the brk() function (called _brk) which
avoids the error checking (and avoids the segmentation fault one gets
when trying to run a rawhlisp).  I installed the change here and the rawhlisp
compiled beautifully.  BUT I still cannot remake macsyma, since I do not
have the file "startup.l" which is supposed to be included.  Does anyone
else have it on his distribution tape?

Marc

Enclosed is /usr/src/lib/libc/vax/sys/brk.c.

Enc.
----------------------------------------
/* brk.c 4.3 83/10/06 */

#include "SYS.h"

#define	SYS_brk		17

	.globl	curbrk
	.globl	minbrk
ENTRY(_brk)
	jbr	ok

ENTRY(brk)
	cmpl	4(ap),minbrk
	bgeq	ok
	movl	minbrk,4(ap)
ok:
	chmk	$SYS_brk
	jcs	err
	movl	4(ap),curbrk
	clrl	r0
	ret
err:
	jmp	cerror
---------------------------------------------

			     Marc A. Elvy  ( elvy@harvard )
		    ({allegra,genrad,ihnp4,ima,ucbvax}!harvard!elvy)
			     Aiken Computation Laboratory
				  Harvard University