On Tue, Mar 27, 2012 at 20:03, Stephen Rothwell wrote: > On Tue, 27 Mar 2012 17:36:27 -0400 Paul Gortmaker wrote: >> The blackfin builds are no longer failing on vm_is_stack but instead >> are all failing with "L1 data A overflow!" at final link, which smells >> like some kind of binutils/toolchain issue. >> >> >> bfin:***all-builds*** >> when: Mar 26 >> why: bfin-uclinux-ld: L1 data A overflow! >> status: unknown, binutils issue? >> fix: >> ref: http://kisskb.ellerman.id.au/kisskb/buildresult/5981475/ > > It actually looks like this comes from an ASSERT in the blackfin > vmlinux.lds.S ... looks like some sections overflowed. yes, the assert is doing the right thing. it's attempting to put 24KiB into a region that can only hold 16KiB. this is due to the recent lib/gen_crc32table.c change: 46c5801eaf86e83cb3a4142ad35188db5011fff0 crc32: bolt on crc32c it added 8KiB more data. looks to me like it's a complete waste of space ... it's forced into __cacheline_aligned which doesn't let the linker do garbage collection on symbols/sections, so all systems are forced to carry this. seems like this should be a Kconfig knob that other people would select if they actually need it ? at any rate, would be easy to fix by disabling Kconfig CACHELINE_ALIGNED_L1 when CRC32 is enabled considering that makes the optimization completely useless by totally blowing the size out of the water. --- a/arch/blackfin/Kconfig +++ b/arch/blackfin/Kconfig @@ -823,7 +823,7 @@ bool "Locate cacheline_aligned data to L1 Data Memory" default y if !BF54x default n if BF54x - depends on !SMP && !BF531 + depends on !SMP && !BF531 && !CRC32 help If enabled, cacheline_aligned data is linked into L1 data memory. (less latency) -mike -- To unsubscribe from this list: send the line "unsubscribe linux-next" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html