Re: [PATCH 8/33] kallsyms.c: Generate relocatable symbols.

Paulo Marques
2006-08-01T11:36:50Z

Eric W. Biederman wrote:
> Print the addresses of non-absolute symbols relative to _text
> so that ld will generate relocations. Allowing a relocatable
> kernel to relocate them. We can't actually use the symbol names
> because kallsyms includes static symbols that are not exported
> from their object files.
>
> [...]
> output_label("kallsyms_addresses");
> for (i = 0; i < table_cnt; i++) {
> - printf("\tPTR\t%#llx\n", table[i].addr);
> + if (toupper(table[i].sym[0]) != 'A') {
> + printf("\tPTR\t_text + %#llx\n",
> + table[i].addr - _text);
> + } else {
> + printf("\tPTR\t%#llx\n", table[i].addr);
> + }

Doesn't this break kallsyms for almost everyone?

kallsyms addresses aren't used just for displaying, but also to find
symbols from their addresses (from the stack trace, etc.).

Am I missing something?

--
Paulo Marques - www.grupopie.com

"The face of a child can say it all, especially the
mouth part of the face."