9bb482476c
Building upon parts of the module stripping patch, this patch introduces similar stripping for vmlinux when CONFIG_KALLSYMS_ALL=y. Using CONFIG_KALLSYMS_STRIP_GENERATED reduces the overhead of CONFIG_KALLSYMS_ALL from 245k/310k to 65k/80k for the (i386/x86-64) kernels I tested with. The patch also does away with the need to special case the kallsyms- internal symbols by making them available even in the first linking stage. While it is a generated file, the patch includes the changes to scripts/genksyms/keywords.c_shipped, as I'm unsure what the procedure here is. Signed-off-by: Jan Beulich <jbeulich@novell.com> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
54 lines
1.3 KiB
Text
54 lines
1.3 KiB
Text
%{
|
|
%}
|
|
struct resword { const char *name; int token; }
|
|
%%
|
|
EXPORT_SYMBOL, EXPORT_SYMBOL_KEYW
|
|
EXPORT_SYMBOL_GPL, EXPORT_SYMBOL_KEYW
|
|
EXPORT_SYMBOL_GPL_FUTURE, EXPORT_SYMBOL_KEYW
|
|
EXPORT_UNUSED_SYMBOL, EXPORT_SYMBOL_KEYW
|
|
EXPORT_UNUSED_SYMBOL_GPL, EXPORT_SYMBOL_KEYW
|
|
__asm, ASM_KEYW
|
|
__asm__, ASM_KEYW
|
|
__attribute, ATTRIBUTE_KEYW
|
|
__attribute__, ATTRIBUTE_KEYW
|
|
__const, CONST_KEYW
|
|
__const__, CONST_KEYW
|
|
__extension__, EXTENSION_KEYW
|
|
__inline, INLINE_KEYW
|
|
__inline__, INLINE_KEYW
|
|
__signed, SIGNED_KEYW
|
|
__signed__, SIGNED_KEYW
|
|
__volatile, VOLATILE_KEYW
|
|
__volatile__, VOLATILE_KEYW
|
|
# According to rth, c99 defines _Bool, __restrict, __restrict__, restrict. KAO
|
|
_Bool, BOOL_KEYW
|
|
_restrict, RESTRICT_KEYW
|
|
__restrict__, RESTRICT_KEYW
|
|
restrict, RESTRICT_KEYW
|
|
asm, ASM_KEYW
|
|
# attribute commented out in modutils 2.4.2. People are using 'attribute' as a
|
|
# field name which breaks the genksyms parser. It is not a gcc keyword anyway.
|
|
# KAO.
|
|
# attribute, ATTRIBUTE_KEYW
|
|
auto, AUTO_KEYW
|
|
char, CHAR_KEYW
|
|
const, CONST_KEYW
|
|
double, DOUBLE_KEYW
|
|
enum, ENUM_KEYW
|
|
extern, EXTERN_KEYW
|
|
float, FLOAT_KEYW
|
|
inline, INLINE_KEYW
|
|
int, INT_KEYW
|
|
long, LONG_KEYW
|
|
register, REGISTER_KEYW
|
|
short, SHORT_KEYW
|
|
signed, SIGNED_KEYW
|
|
static, STATIC_KEYW
|
|
struct, STRUCT_KEYW
|
|
typedef, TYPEDEF_KEYW
|
|
union, UNION_KEYW
|
|
unsigned, UNSIGNED_KEYW
|
|
void, VOID_KEYW
|
|
volatile, VOLATILE_KEYW
|
|
typeof, TYPEOF_KEYW
|
|
__typeof__, TYPEOF_KEYW
|