Re: CONFIG_KALLSYMS_EXTRA_PASS

From:
Date: Tue May 17 2005 - 18:34:45 EST


Quoting Steven Rostedt <rostedt@xxxxxxxxxxx>:
> OK, I'm working on a custom kernel, and suddenly I'm getting the compile
> error "Try setting CONFIG_KALLSYMS_EXTRA_PASS". I've also just did a
> debian update, but that doesn't seem to bother the vanilla kernel.

This is probably the same problem that me and other people are having.

It seems that sometimes the symbol that marks the end of a section changes
position with the symbol that marks the beggining of the next section if they
happen to on the same address (they might be on different addresses due to
alignment issues).

In this case the compression algorithm might produce different compression
ratios and the kallsyms compressed data changes size.

You can try the very crude (but effective) way to check if this is your problem
or not. Go to scripts/kallsyms.c and change:

#define WORKING_SET 1024

to:

#define WORKING_SET 65536

This will force kallsyms to use *all* the symbols for the compression, and the
size of the result won't be affected by the symbol positions.

Don't forget to turn off KALLSYMS_EXTRA_PASS to test this.

If this turns out to be the problem _again_, I'll post a patch to fix this for
good by storing the token data from the first pass and use it on the second
pass. This will not only speed up compression, it will also guarantee that this
kind of problems will never bite us again.

--
Paulo Marques

-
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/