System.map with symbols from discarded sections

From: Peng Dai (dai@mclinux.com)
Date: Fri Dec 08 2000 - 12:13:24 EST


Quite a few functions in the 2.3 kernels and up are marked as __exit.
This puts the functions in the .text.exit section that is marked as
DISCARD
in vmlinux.lds.

It turns out that if the function is static, ld never puts it into the
symbol
table of vmlinux; however, if the function is global, ld throws it into
the
*ABS* section of vmlinux with an address most likely lower than
PAGE_OFFSET.
These symbols are included in System.map since they are not 'a' type but
'A'
type. An example of which is 'acpi_exit', as shown below,

00000000 A acpi_exit
c0100000 A _text
c0100000 t startup_32
c0100000 T _stext
...

It seems rather harmless except it breaks the readprofile utitlity which
reads
the System.map. I am wondering if ld is behaving correctly.

Regards,
Peng

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



This archive was generated by hypermail 2b29 : Fri Dec 15 2000 - 21:00:15 EST