> /opt/crosstool/gcc-3.4.5-glibc-2.3.6/ia64-unknown-linux-gnu/bin/ia64-unknown-linux-gnu-ld: section .data [0000000004ea0000 -> 0000000004f656e7] overlaps section .data.percpu [0000000004e90000 -> 0000000004ea0d17]
This means there is too much DEFINE_PER_CPU() going on. Current
ia64 limit for the sum of all per cpu objects is 64K. For a
build using defconfig we seem to be close (56K/64K ... look for
the address of __per_cpu_end and see how close it is to the top
of the address space: 0xffffffffffffffff).
Not sure if anybody is looking into this. Just tried a compile of generic
and allmod. The differences are not that significant with the exception
of per_cpu__kmem_cache_cpu at 0x28a0. A couple other low-hanging fruit
here are per_cpu__shadow_flush_counts and per_cpu__mmu_gathers each of
which takes approx 16k.