[comp.os.minix] multiple definitions of locals.

clegg@tomcat.rtp.dg.com (Alan Clegg) (01/09/90)

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).  

I seem to remember somebody having (and fixing?) this problem before.

Any help would be much appreciated.

-abc
--
        Alan Clegg				clegg@dg-rtp.dg.com
	Industry Standard Applications		clegg@verity.uucp
	Data General Corp.			{...!mcnc!verity!clegg}

	   YRAC Rural Fire Department -- Wake County Station 29

bunnell@udel.edu (H Timothy Bunnell) (01/09/90)

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).  
>
>I seem to remember somebody having (and fixing?) this problem before.
>

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.

Tim Bunnell
<bunnell@henry.asel.udel.edu>

paula@bcsaic.UUCP (Paul Allen) (01/10/90)

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

sung@cs.washington.edu (Sung Kwon Chung) (01/12/90)

In article <18740@bcsaic.UUCP> paula@bcsaic.UUCP (Paul Allen) writes:
>How about if someone puts the 1.3 compiler binaries on bugs.nosc.mil or
>some other archive?  The 1.2 compiler is *broken*.

(Assuming the 1.3 compiler does not have this problem,) I second this.
I believe a similar arrangement has been done for 1.1 to 1.2 upgrade.

-sung