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."
_______________________________________________
fastboot mailing list
[email protected]
https://lists.osdl.org/mailman/listinfo/fastboot

Reply via email to