Path: utzoo!utgpu!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!cwjcc!hal!nic.MR.NET!shamash!com50!bungia!cimcor!mike From: mike@cimcor.mn.org (Michael Grenier) Newsgroups: comp.unix.microport Subject: Re: Languages available for System V/AT Message-ID: <610@cimcor.mn.org> Date: 6 Dec 88 19:44:18 GMT References: <395@tron.UUCP> Organization: Grenier & friends, Forest Lake, MN Lines: 32 From article <395@tron.UUCP>, by moran@tron.UUCP (Harvey R Moran): >> John Plocher wrote : >>Per Bergstrom's Pascal to C translator ported without much hastle (easier than > > I could use a clue. How did you get around the problem that it > all seems to compile fine, but the assemble symbol table overflows? Microport has a beta version of the as command which does not have the symbol/hash table overflow problem. However, that will not help you with the big Pascal to C converter posted awhile back (I don't know if this is the one John Plocher was talking about porting). Even with a working /bin/as command, the linker will die because the resulting code segment is larger than 64K (I tried it). The UNIX 286 compiler/assembler will not generate multiple segments in large model for a given source file. The linker only deals in these resulting segments and wouldn't know how to break them up. The fix would be to have the assembler generate multiple segments but that solution is not trivial to implement since it requires look ahead to see if the next function would push the segment over the ledge (64K limit) which requires resolving the addresses of the next function up front to get the resulting length. Another solution would be to put each function in its seperate segment but this creates one heck of alot segments for the linker possibly slowing things down considerably. If anyone has some good ideas..let me know. -Mike Grenier mike@cimcor.mn.org uunet!rosevax!cimcor!mike {anybody who is anybody}!bungia!cimcor!mike