| Age | Commit message (Collapse) | Author |
|
Signed-off-by: Adrian Bunk <bunk@stusta.de>
|
|
All ARM binutils versions post 2.11.90 contains an extra "feature" which
interferes with the kernel in various ways - extra "mapping symbols"
in the ELF symbol table '$a', '$t' and '$d'. This causes two problems:
1. Since '$a' symbols have the same value as function names, this
causes anything which uses the kallsyms infrastructure to report
wrong values.
2. programs which parse System.map do not expect symbols to start with
'$'.
Signed-off-by: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
===== kernel/module.c 1.120 vs edited =====
|
|
Russell King reported that some gcc / bin-utils combination may result in
undefined symbols in vmlinux and implemented a check for that.
Though the cause is very valid this check has proved to be a real pain
for other users, especially sparc and um.
Short term a similar check is asked to be implemented in arch/arm*/Makefile
and long-term to bail out if too old gcc / bin-utils is used.
Long term plan awaits a new gcc / bin-utils release.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
|
|
David S. Miller <davem@redhat.com> wrote:
Shouldn't we be grepping __crc_ symbols out of the System.map file?
For one thing, these can confuse readprofile. It's algorithm is
to start at _stext, then stop when it sees a line in the System.map
which is not text (mode is one of 'T' 't' 'W' or 'w')
It will exit early if there are some intermixed __crc_* things in
there (since they are are mode 'A').
For example, in my current sparc64 kernel I have this:
00000000004cef80 t do_split
00000000004cf2a0 t add_dirent_to_buf
00000000004cf5a7 A __crc_init_special_inode
00000000004cf640 t make_indexed_dir
00000000004cf900 t ext3_add_entry
So no symbols after add_dirent_to_buf will be shown in the profiling
output of readprofile.
Implementation ported to mksysmap by Sam.
Included two System.map related fixes:
- Print "SYSMAP System.map" during build
- Sort symbols in System.map
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
|
|
o Introduced usage of the mksysmap script.
o Improved the non-verbose output to look like this:
BTFIX arch/sparc/boot/btfix.S
AS arch/sparc/boot/btfix.o
LD arch/sparc/boot/image
SYSMAP arch/sparc/boot/System.map
o No longer generate System.map for each build
o Use normal AS rule to compile btfix.S
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
|
|
At least one bin-utils version for ARM is know to ignore undefined
symbols when performing the final link of vmlinux.
Add an explicit check for undefined symbols to catch this.
The check is made in combination with generating the System.map file
and the actual algorithm is moved to a small shell script - mksysmap.
External symbols with three leading underscores are ignored - sparc
uses them for the BTFIXUP logic.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
|