forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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>
- Loading branch information
Showing
6 changed files
with
84 additions
and
40 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
<*> | ||
*.h | ||
__compound_literal[$.][0-9]* | ||
__crc_[a-zA-Z_]* | ||
__exitcall_[a-zA-Z_]* | ||
__func__[$.][0-9]* | ||
__FUNCTION__[$.][0-9]* | ||
gcc[0-9]_compiled[$.] | ||
__initcall_[a-zA-Z_]* | ||
__kcrctab_[a-zA-Z_]* | ||
__kstrtab_[a-zA-Z_]* | ||
__ksymtab_[a-zA-Z_]* | ||
__mod_[a-zA-Z_]*[0-9] | ||
__module_depends | ||
__param_[a-zA-Z_]* | ||
__pci_fixup_*PCI_ANY_IDPCI_ANY_ID* | ||
__pci_fixup_*PCI_ANY_IDPCI_DEVICE_ID_* | ||
__pci_fixup_*PCI_VENDOR_ID_*PCI_ANY_ID* | ||
__pci_fixup_*PCI_VENDOR_ID_*PCI_DEVICE_ID_* | ||
__PRETTY_FUNCTION__[$.][0-9]* | ||
__setup_[a-zA-Z_]* | ||
____versions |