Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!van-bc!outbound!colin_fox From: colin_fox@outbound.wimsey.bc.ca (Colin Fox) Message-ID: Organization: Outbound Communications Newsgroups: comp.sys.amiga.programmer Subject: Re: > SAS gripes (was DICE vs GCC) Date: 7 Apr 91 16:24:07 PST >Well the main reason is I am creating object files greater than 32K (actually >some are around 80K). SAS and Aztec can not handle object files > 32K. Or >to >be more precise a function call to another function in the same object file >must >be < 32K apart. > >Gee, why don't I just make object files < 32k (in other words write smaller C >files)? Well I am not the one producing the C files, my computer is. I have >been working on a compiler that uses C as the intermediate langauge and it is >the output from this compiler that is producing these large C files. To make >the compiler produce smaller C files will mean a lot of changes to it. I >will >need to make these changes sometime... > Hmmm - first off, if you compile with -b0 (large data), you don't have to worry about this. Also the compiler/linker set produce ALV (Automatic Link Vectors) to locations that are too far for a branch (32K). >Also, if you have the macro > >OBJ= [ lots of files total length > 255] > >and try > >fish: $(OBJ) > blink FROM $(OBJ) ... > >This will lock up your computer and maybe even trash your hard-drive. >So you are forced to duplicate the contents of OBJ into a blink file. > Yes, it is a known bug with BLink that you only have a 256 character command line. SO what you should do instead is create a temporary link file, which is done like this: target: obj1.o obj2.o obj3.o blink