On Thu, 27 Nov 2008 17:34:27 +0000 (GMT)
Hugh Dickins <hugh@veritas.com> wrote:
The ftrace.h change causes this:
In file included from arch/x86/kernel/machine_kexec_64.c:14:
include/linux/ftrace.h:234: error: 'MODULE_NAME_LEN' undeclared here (not in a function)
The fault really lies with include/linux/kallsyms.h, I think:
#define KSYM_SYMBOL_LEN (sizeof("%s+%#lx/%#lx [%s]") + (KSYM_NAME_LEN - 1) + \
2*(BITS_PER_LONG*3/10) + (MODULE_NAME_LEN - 1) + 1)
but it doesn't include module.h, so it requires that users of this
header perform the include.
But I'm a bit reluctant to include module.h from kallsyms.h because
kallsyms.h is a simple low-level thing:
#include <linux/errno.h>
#include <linux/kernel.h>
#include <linux/stddef.h>
and it wouldn't surprise me if module.h was including kallsyms.h by
some means.
So for now I'll try including module.h from ftrace.c. It would be nice
to fix the kallsyms.h dependency..
--