Path: utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!rice!uw-beaver!ssc-vax!bcsaic!paula From: paula@bcsaic.UUCP (Paul Allen) Newsgroups: comp.os.minix Subject: Re: multiple definitions of locals. Keywords: cc, asld, 1.5.0 Message-ID: <18740@bcsaic.UUCP> Date: 9 Jan 90 22:31:42 GMT References: <1860@xyzzy.UUCP> <7696@nigel.udel.EDU> Reply-To: paula@bcsaic.UUCP (Paul Allen) Organization: Boeing Computer Services AI Center, Seattle Lines: 43 In article <7696@nigel.udel.EDU> bunnell@udel.edu (H Timothy Bunnell) writes: >In article <1860@xyzzy.UUCP> clegg@tomcat.rtp.dg.com (Alan Clegg) writes: >>While trying to compile the Minix 1.5.0 commands, I began getting >>messages stating that >>_20 was multiply defined (in ls.c and perror.s). > >If you are using the 1.2 ACK compiler you can get such errors by having >variables declared static within a code block that is _not_ also the >start of a function. Either remove the static, or if it is necessary, >move the declaration to the begining of the function and it should work ok. I got these messages in several places while compiling 1.5 with the 1.2 compiler. I'm told that the compiler shipped with 1.3 does not have this problem. In all cases I've seen, the .s file in question contains something like: _foo = _blah ... .data _blah: something Asld complains about references to _foo. If the offending source is changed to: ... .data _foo: _blah: something asld is happy. Trouble is you have to manually patch the .s every time you recompile the .c! How about if someone puts the 1.3 compiler binaries on bugs.nosc.mil or some other archive? The 1.2 compiler is *broken*. Paul Allen -- ------------------------------------------------------------------------ Paul L. Allen | pallen@atc.boeing.com Boeing Advanced Technology Center | ...!uw-beaver!bcsaic!pallen