as bug (was: Re: smp/up alternatives crash when CONFIG_HOTPLUG_CPU)

Alan Modra amodra@bigpond.net.au
Sat May 6 11:24:00 GMT 2006


On Fri, May 05, 2006 at 04:13:24PM +0300, Denis Vlasenko wrote:
> On Friday 05 May 2006 15:20, Alan Modra wrote:
> > the frag base addresses have not yet been set, and zero is used.  ie.
> > gas tries to assemble ".fill -5,1,0x42".

The fact that enabling gas listings fixes this has been nagging at me
since writing the sketchy description of gas frags and relaxation.
I'd forgotten that relaxation keeps iterating over all sections until no
frag changes address.  ie. even though the first .fill is using invalid
addresses, there will be a subsequent pass that uses the correct value.

The reason why gas -al helps with this case is that gas creates a new
frag for each line as somewhere to hang the file/line number info.  So
both "661" and "662" start off at offset zero in their frags and the
initial pass .fill has a zero length rather than a negative one.

So perhaps gas ought to be able to handle this after all..  I'll see if
I can come up with a fix.

-- 
Alan Modra
IBM OzLabs - Linux Technology Centre



More information about the Binutils mailing list