This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: as bug (was: Re: smp/up alternatives crash when CONFIG_HOTPLUG_CPU)
- From: Alan Modra <amodra at bigpond dot net dot au>
- To: Denis Vlasenko <vda at ilport dot com dot ua>
- Cc: binutils at sourceware dot org, Ingo Molnar <mingo at elte dot hu>, Linus Torvalds <torvalds at osdl dot org>, Gerd Hoffmann <kraxel at suse dot de>, Andrew Morton <akpm at osdl dot org>, linux-kernel at vger dot kernel dot org, Chuck Ebbert <76306 dot 1226 at compuserve dot com>, binutils at sources dot redhat dot com
- Date: Sat, 6 May 2006 12:41:41 +0930
- Subject: Re: as bug (was: Re: smp/up alternatives crash when CONFIG_HOTPLUG_CPU)
- References: <20060419094630.GA14800@elte.hu> <200605051145.54643.vda@ilport.com.ua> <20060505122029.GB11597@bubble.grove.modra.org> <200605051613.24704.vda@ilport.com.ua>
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