[PATCH] [POWERPC] iSeries: fix section mismatch warnings
Stephen Rothwell
sfr at canb.auug.org.au
Thu Jul 26 11:56:01 EST 2007
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).
--
Cheers,
Stephen Rothwell sfr at canb.auug.org.au
http://www.canb.auug.org.au/~sfr/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20070726/55dc7278/attachment.pgp>
More information about the Linuxppc-dev
mailing list