liszt compiler destination

michael maxwell michaelm at bcsaic.UUCP
Fri Feb 21 12:27:08 AEST 1986


[Frantz Lisp Opus 38.91, running on a SUN II with v.2 operating sys = BSD4.2]

I just spent an hour tracking down a problem in a makefile that turned out to
be due to a bug in the way the liszt compiler handles path names.
You can give it a relative path name, but not an absolute path name!  That is, 
assuming I'm in the directory "dira", which has a subdir "dirb", the ff. works 
fine:
	liszt dirb/foo.l
--but the following:
	liszt foo.l /usr2/michaelm/dira/dirb/foo.l
--or:
	liszt ~michaelm/dira/dirb/foo.l
results in an empty file whose name is "/usr2/michaelm/dira/dirb/fum.o"!
All signs are that the compilation proceeds normally; it gives the expected
source and destination file names, and proceeds to create the expected output
file--but there's nothing in it.  Where does the assembled output go?

Similar problems occur when I use the -o option with a full path name.  
These problems do*not* happen when the output is sent to a file in /tmp, so I 
assume it has something to do with the directory permission.  (Doing "chmod 
755 dirb" does not fix the problem, so higher levels in the directory hierarchy 
must be causing problems (also).)  Presumably there is an attempt at security 
here, but it certainly doesn't work, as liszt cheerfully wipes out anything 
that was in the output file previously.

What's going on here?  Do any other compilers (etc.) have this problem?
-- 
Mike Maxwell
Boeing Artificial Intelligence Center
	...uw-beaver!uw-june!bcsaic!michaelm



More information about the Comp.unix mailing list