On Tue, Jul 1, 2008 at 8:08 PM, Denys Vlasenko wrote: > 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 you're right of course ... i obviously hadnt thought of this. please however still abstract this stuff into the common header. i just tested the current Blackfin kernel and it does build/link/run fine with -ffunction-sections/-fdata-sections. however, --gc-sections still causes crashes (but this is because all of the .init.setup sections are flagged as unused). -mike -- To unsubscribe from this list: send the line "unsubscribe linux-embedded" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html