Path: utzoo!attcan!uunet!super!udel!rochester!cornell!mailrus!purdue!haven!uvaarpa!virginia!kesmai!dca From: dca@kesmai.COM (David C. Albrecht) Newsgroups: comp.sys.amiga Subject: Re: lattice/MANX bug when compiling large programs Message-ID: <188@kesmai.COM> Date: 5 Oct 88 23:13:16 GMT References: <4424@louie.udel.EDU> Organization: Kesmai Corporation, Charlottesville, VA Lines: 32 > I am trying to compile a VERY large C program and so far I haven't been > successful with either MANX 3.60 or Lattice 4.00. > > MANX dies with the "infamous" PC-relative bug mentioned recently on the net. > I haven't ben able to reach MANX Tech Support ANYWHERE. Jim is "working on > 4.0", they say. > > Lattice 4.00 compiles the program OK, but then dies right away in Blink. > Blink returns "error 502: Distance for reloc16 > 32768" with symbol __xcovf or > something like that. I am just using the "default" library lc which should > be able to address the entire memory. > How modularized is this program? I have noticed that the subroutine linkages in Lattice are actually BSRs to a series of JMPS (one for each of the subroutines you access external to your module). If a single compiland is too large then the BSR to the jump table could fail so you might run into trouble even though the entire program size can be quite large. You might be able to fix your problem with some judicious splitting of the source into separate compilands. Just a thought. u s e n e t f o o d David Albrecht