[PATCH] [POWERPC] iSeries: fix section mismatch warnings
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. :-)
> Linuxppc-dev mailing list
> Linuxppc-dev at ozlabs.org
More information about the Linuxppc-dev