Re: 2.6.7-mm6 - ppc32 inconsistent kallsyms data

Andrew Morton
2004-07-05T20:55:51Z

jhf@rivenstone.net (Joseph Fannin) wrote:
>
> On Mon, Jul 05, 2004 at 02:31:20AM -0700, Andrew Morton wrote:
> > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.7/2.6.7-mm6/
>
> I'm getting this while building for ppc32:
>
> Inconsistent kallsyms data, try setting CONFIG_KALLSYMS_EXTRA_PASS
>
> This didn't happen with -mm5.
>
> The help text for CONFIG_KALLSYMS_EXTRA_PASS says I should report a
> bug, and reads like kallsyms is a utility or part of the toolchain;
> I think it's talking about the kernel feature though, so I guess
> I'll report it here. I'll keep this tree around in case any more
> information is needed.
>

The kernel's kallsyms feature does, roughly, this:

- generate vmlinux
- generate a list of symbols from it
- turn those symbols into a C array
- generate a new vmlinux which includes that C array

All this assumes that the symbols in the fist and second vmlinux's fall at
the same addresses. But for some reason, that doesn't always happen. End
result: the second vmlinux's kallsyms info is wrong. It's not clear why
the linker does this.

The third kallsyms pass will generate a list of symbols from the vmlinux+C
array and will again generate a vmlinux+C array. It turns out that this is
stable.