On Monday 28 October 2013, Ming Lei wrote: > This patch uses CONFIG_PAGE_OFFSET to filter symbols which > are not in kernel address space because these symbols are > generally for generating code purpose and can't be run at > kernel mode, so we needn't keep them in /proc/kallsyms. > > For example, on ARM there are some symbols which are > linked in relocatable code section, then perf can't parse > symbols any more from /proc/kallsyms, and this patch fixes > the problem. > > Cc: Russell King <li...@arm.linux.org.uk> > Cc: linux-arm-ker...@lists.infradead.org > Cc: Michal Marek <mma...@suse.cz> > Acked-by: Rusty Russell <ru...@rustcorp.com.au> > Signed-off-by: Ming Lei <tom.leim...@gmail.com>
Sorry for the late report, but I seem to have encountered a problem with this patch, now that it has made it into all stable kernels. When linking an ARM nommu kernel, I get the output "No valid symbol." twice, from scripts/kallsyms. The problem evidently is that PAGE_OFFSET is still set to 0xC0000000 on ARM NOMMU builds but the kernel is linked to start at PLAT_PHYS_OFFSET instead, which may be elsehwere. For most platforms, this is defined in Kconfig these days, so we could get away with diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index d1e4098..c477a7c 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -1592,6 +1592,7 @@ endchoice config PAGE_OFFSET hex + default PHYS_OFFSET if !MMU default 0x40000000 if VMSPLIT_1G default 0x80000000 if VMSPLIT_2G default 0xC0000000 but there are still a few ARM platforms that define their own PLAT_PHYS_OFFSET in memory.h, and it wouldn't help on non-ARM systems that might have the same problem. Arnd -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/