[PATCH v2 8/9] ARM: Thumb-2: Fix long-distance conditional branches in head.S for Thumb-2.

Nicolas Pitre nicolas.pitre at linaro.org
Tue Nov 23 12:56:18 EST 2010


On Tue, 23 Nov 2010, Russell King - ARM Linux wrote:

> On Mon, Nov 22, 2010 at 07:26:51PM -0500, Nicolas Pitre wrote:
> > On Mon, 22 Nov 2010, Russell King - ARM Linux wrote:
> > 
> > > On Mon, Nov 22, 2010 at 03:24:11PM -0500, Nicolas Pitre wrote:
> > > > On Mon, 22 Nov 2010, Russell King - ARM Linux wrote:
> > > > > No, you're not thinking right.  It was _intentional_ that __error_p
> > > > > ended up in a different section to __init.  With CPU hotplug, as it
> > > > > is called from the hotplug CPU initialization path, it needs to be
> > > > > available for that path to call.
> > > > 
> > > > Well... agreed for the hotplug CPU case.  The section selection is good 
> > > > as it is for that.
> > > > 
> > > > However I doubt this was intentional when commit 75d90832d5 was created, 
> > > > which is when the actual section move took place.
> > > 
> > > Well, T2 is not something I particularly test for.  There's already too
> > > many combinations to test as it is.
> > 
> > Fair enough.  My point was only about the unintentional drop of the 
> > __init section attribute for the __error_p and __error_a functions (and 
> > probably some others in head-common.S) from commit 75d9083 which is 
> > orthogonal to the T2 issue.
> 
> What are you talking about Nicolas?
> 
> 75d9083 is about adding nommu support, which was added some 4 years ago
> well before Thumb 2 was talked about.

Exactly my point.

> It moves some code out of head.S,
> and creates a new file, head-common.S to contain this code.

So far so good.

> head-common.S is included by head.S, which means the assembler sees it 
> as a single file.

And that's where I screwed up with my analysis.  I somehow was under the 
impression this was a separate compilation unit.  Sorry for the noise.


Nicolas



More information about the linux-arm-kernel mailing list