kbuild: strip generated symbols from *.ko
authorJan Beulich <jbeulich@novell.com>
Tue, 16 Dec 2008 11:28:14 +0000 (11:28 +0000)
committerSam Ravnborg <sam@ravnborg.org>
Fri, 19 Dec 2008 21:41:15 +0000 (22:41 +0100)
commitad7a953c522ceb496611d127e51e278bfe0ff483
treef51a18ab282bb77244fc02ad33359a92b6b36eb9
parent37a8d9f67f18de1e2cbc7387311ce22d4dbff518
kbuild: strip generated symbols from *.ko

This patch changes the way __crc_ symbols are being resolved from
using ld to do so to using the assembler, thus allowing these symbols
to be marked local (the linker creates then as global ones) and hence
allow stripping (for modules) or ignoring (for vmlinux) them. While at
this, also strip other generated symbols during module installation.

One potentially debatable point is the handling of the flags passeed
to gcc when translating the intermediate assembly file into an object:
passing $(c_flags) unchanged doesn't work as gcc passes --gdwarf2 to
gas whenever is sees any -g* option, even for -g0, and despite the
fact that the compiler would have already produced all necessary debug
info in the C->assembly translation phase. I took the approach of just
filtering out all -g* options, but an alternative to such negative
filtering might be to have a positive filter which might, in the ideal
case allow just all the -Wa,* options to pass through.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Makefile
scripts/Makefile.build
scripts/Makefile.modinst
scripts/genksyms/genksyms.c
scripts/mksysmap
scripts/strip-symbols [new file with mode: 0644]