Messages in this thread Patch in this message | | | From | Mike Frysinger <> | Date | Tue, 27 Mar 2012 23:34:39 -0400 | Subject | Re: Blackfin link issue (Was: linux-next: triage for March 27, 2012) |
| |
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-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |