Re: /proc/kallsyms broken in 2.6.26-rc1-git6

From: Andi Kleen
Date: Mon May 12 2008 - 06:01:04 EST


> So, the only difference is the filter made by that "grep -v" to exclude
> a few classes of symbols.
>
> Maybe I lost myself in that expression, but it doesn't seem like it
> would be able to filter out the symbols you're seeing. Are you sure the
> same symbols don't appear in System.map?

They do, but that's also new.

>
> >They didn't use to be there and don't
> >make any sense because they don't have any valid kernel addresses.
>
> I don't know enough about the markers infrastructure but I guess these
> "addresses" are more like an "offset" into a markers structure that is
> automatically produced by putting these symbols into a special section
> that starts at offset 0.

I don't know too much about the markers implementation either and
if it's caused by then.

> Well, my first suspects would be these:
>
> CONFIG_KPROBES=y
> CONFIG_KRETPROBES=y
> CONFIG_HAVE_KPROBES=y
> CONFIG_HAVE_KRETPROBES=y

I've always had those enabled and afaik they don't generate any
magic symbols.

>
> >
> >It's the other way round -- kallsyms changed and that change will likely
> >break programs.
>
> I don't have the time right now to try your configuration and pinpoint
> the problem, but if you can come up with a plan, like: "we need to
> filter out symbols from the output of "nm" whose type is 'N'", I'll be
> more than happy to provide a patch to fix it...

man nm says

"N" The symbol is a debugging symbol.

while I'm not 100% sure what a debugging symbol is I suppose we don't
need those so yes please filter those out (both
out of System.map and out of kallsyms)

-Andi
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/