Re: [PATCH 5/23] make section names compatible with -ffunction-sections -fdata-sections: blackfin

From: Denys Vlasenko
Date: Tue Jul 01 2008 - 20:09:06 EST


On Wednesday 02 July 2008 00:58, Mike Frysinger wrote:
> On Tue, Jul 1, 2008 at 8:35 PM, Denys Vlasenko wrote:
> > The purpose of this patch is to make kernel buildable
> > with "gcc -ffunction-sections -fdata-sections".
> > This patch fixes blackfin architecture.
>
> the comment right above what you changed says it already works for
> Blackfin. so you arent fixing it at all.
> > /* This gets done first, so the glob doesn't suck it in */
> > . = ALIGN(32);
> > - *(.data.cacheline_aligned)
> > + *(.cacheline_aligned.data)

This may pull in an unrelated data object named "cacheline_aligned"
(say, a static variable in a driver). If that variable is not
itself aligned to the cacheline size, it will mess up alignment of all
objects in .data.cacheline_aligned which follow. Not good.

To be safe from such weird and hard to debug problems
it's better to not use names like .data.XXXX at all.
I just uniformly renamed al such "special sections"
in the kernel to .XXXXX.data
--
vda
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/