Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!mailrus!cornell!batcomputer!itsgw!steinmetz!uunet!dasys1!chima From: chima@dasys1.UUCP (Chima Ngene) Newsgroups: comp.sys.amiga Subject: Re: lattice/MANX bug when compiling large programs Message-ID: <6876@dasys1.UUCP> Date: 9 Oct 88 20:27:48 GMT References: <4424@louie.udel.EDU> <188@kesmai.COM> Reply-To: chima@dasys1.UUCP (Chima Ngene) Organization: Datamerica Systems, NYC Lines: 29 > 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. > As for the Lattice 4.00 compiler, it uses the pc_relative addressing as the default. So this means that if any function tries to branch off to a distance greater than 32768 {bytes} it couldn't. (This should explain the problem in your linking. What you should do when compiling is: lc -r0 name.c Now I could be wrong, if I am, let me know. -- /// Amiga Power User - Mr. Chima Ngene (chima@dasys1) /// /// {UNIX, & DOS, ETC} Programmer..... (Take Your Pick) /// \\\/// .....!cmcl2!phri!dasys1!chima \\\/// \\// {amiga@dhw68k.cts.com} {amiga@killer} \\//