[PATCH] [POWERPC] iSeries: fix section mismatch warnings

Will Schmidt will_schmidt at vnet.ibm.com
Fri Jul 27 05:39:04 EST 2007


On Thu, 2007-07-26 at 11:56 +1000, Stephen Rothwell wrote:
> Hi Will,
> 
> On Wed, 25 Jul 2007 11:55:31 -0500 Will Schmidt <will_schmidt at vnet.ibm.com> wrote:
> >
> > >  	cmpwi	0,r24,0			/* Are we processor 0? */
> > > -	beq	.__start_initialization_iSeries	/* Start up the first processor */
> > > -	mfspr	r4,SPRN_CTRLF
> > > +	bne	1f
> > > +	b	.__start_initialization_iSeries	/* Start up the first processor */
> > > +1:	mfspr	r4,SPRN_CTRLF
> > >  	li	r5,CTRL_RUNLATCH	/* Turn off the run light */
> > 
> > This part isnt clicking for me.. 
> > How does changing a "beq" to a "bne" over a "b" fit into changing
> > __start_initialization_iSeries static?  
> 
> Because I moved __start_initialization_iSeries into another section, it
> ends up too far away for a conditional branch so something adds a jump
> table to the .text section and changes this branch to be via that table.
> Unfortunately, the jump table ends up at the start of the .text and ruins
> our carefully laid out kernel image.  By inverting the test I can turn
> the branch into an unconditional one which has a larger possible offse
> (effectively building the jump table manually).

Gotcha, thanks for the clarification.  :-)

-Will

> 
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev at ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-dev




More information about the Linuxppc-dev mailing list