powerpc problem with .data.page_aligned -> __page_aligned_data conversion

Tim Abbott tabbott at ksplice.com
Fri Oct 16 03:46:13 EST 2009


On Thu, 15 Oct 2009, Benjamin Herrenschmidt wrote:

> What do you recommend I do ? 
> I can ban gcc < 4.3 but that's a bit harsh :-) 

Yeah, let's try to avoid that.

> I know a few people that won't be happy to be unable to build newer 
> kernels with current distro gccs.
> 
> Or can do the above making the macro definition drop the alignment part
> on powerpc. Will work for now, but will require great care to avoid
> subtle and nasty breakage (basically same as before)

Yeah, I'd be afraid that changing the generic __page_aligned_data might 
cause unexpected problems on some other architecture.

> Or maybe I can do the above but only when using gcc < 4.3 so at least if
> the breakage happen, that will only be with older gccs ...

It sounds like from your grepping, you don't believe that dropping the 
alignment part will actually cause any problems on powerpc currently?

If so, dropping the alignment part on powerpc with gcc < 4.3 seems best to 
me.  It limits the workaround in time (eventually gcc < 4.3 will be 
history).  It also limits it in scope (to powerpc), where at least you're 
well aware of the issue and can pay attention to new code being added that 
uses __page_aligned_data.  Since most code that has page-aligned data 
structures is architecture-specific, there's a good chance that any new 
code that would break will be at least looked at by you (and given how few 
places it is used currently, this seems pretty unlikely to actually come 
up).

	-Tim Abbott




More information about the Linuxppc-dev mailing list