diff options
author | Sam Ravnborg <sam@ravnborg.org> | 2007-08-28 14:28:55 -0400 |
---|---|---|
committer | Sam Ravnborg <sam@neptun.(none)> | 2007-10-12 15:15:31 -0400 |
commit | 3550a516d07dda4786c63e86f64f4f440db58782 (patch) | |
tree | 57c107a79f37fb8dabc555e625e728c9d244decf | |
parent | a3a6261a11b4db5b9712bb8388c9d9d955035e98 (diff) |
kbuild: __extension__ support in genksyms (fix unknown CRC warning)
Recently the __extension__ keyword has been introduced in the kernel.
Teach genksyms about this keyword so it can generate correct CRC for
exported symbols that uses a symbol marked __extension__.
For now only the typedef variant:
__extension__ typedef ...
is supported.
Later we may add more variants as needed.
This patch contains the actual source file changes. The
following patch will hold modifications to the generated
files (*_shipped) and only after the second patch the fix
has effect.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
-rw-r--r-- | scripts/genksyms/keywords.gperf | 1 | ||||
-rw-r--r-- | scripts/genksyms/parse.y | 5 |
2 files changed, 5 insertions, 1 deletions
diff --git a/scripts/genksyms/keywords.gperf b/scripts/genksyms/keywords.gperf index c75e0c8d8f0c..5ef3733225fb 100644 --- a/scripts/genksyms/keywords.gperf +++ b/scripts/genksyms/keywords.gperf | |||
@@ -11,6 +11,7 @@ __attribute, ATTRIBUTE_KEYW | |||
11 | __attribute__, ATTRIBUTE_KEYW | 11 | __attribute__, ATTRIBUTE_KEYW |
12 | __const, CONST_KEYW | 12 | __const, CONST_KEYW |
13 | __const__, CONST_KEYW | 13 | __const__, CONST_KEYW |
14 | __extension__, EXTENSION_KEYW | ||
14 | __inline, INLINE_KEYW | 15 | __inline, INLINE_KEYW |
15 | __inline__, INLINE_KEYW | 16 | __inline__, INLINE_KEYW |
16 | __signed, SIGNED_KEYW | 17 | __signed, SIGNED_KEYW |
diff --git a/scripts/genksyms/parse.y b/scripts/genksyms/parse.y index ca04c944b7c3..408cdf82b271 100644 --- a/scripts/genksyms/parse.y +++ b/scripts/genksyms/parse.y | |||
@@ -61,6 +61,7 @@ remove_list(struct string_list **pb, struct string_list **pe) | |||
61 | %token DOUBLE_KEYW | 61 | %token DOUBLE_KEYW |
62 | %token ENUM_KEYW | 62 | %token ENUM_KEYW |
63 | %token EXTERN_KEYW | 63 | %token EXTERN_KEYW |
64 | %token EXTENSION_KEYW | ||
64 | %token FLOAT_KEYW | 65 | %token FLOAT_KEYW |
65 | %token INLINE_KEYW | 66 | %token INLINE_KEYW |
66 | %token INT_KEYW | 67 | %token INT_KEYW |
@@ -110,7 +111,9 @@ declaration: | |||
110 | ; | 111 | ; |
111 | 112 | ||
112 | declaration1: | 113 | declaration1: |
113 | TYPEDEF_KEYW { is_typedef = 1; } simple_declaration | 114 | EXTENSION_KEYW TYPEDEF_KEYW { is_typedef = 1; } simple_declaration |
115 | { $$ = $4; } | ||
116 | | TYPEDEF_KEYW { is_typedef = 1; } simple_declaration | ||
114 | { $$ = $3; } | 117 | { $$ = $3; } |
115 | | simple_declaration | 118 | | simple_declaration |
116 | | function_definition | 119 | | function_definition |