aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorSam Ravnborg <sam@ravnborg.org>2007-08-28 14:28:55 -0400
committerSam Ravnborg <sam@neptun.(none)>2007-10-12 15:15:31 -0400
commit3550a516d07dda4786c63e86f64f4f440db58782 (patch)
tree57c107a79f37fb8dabc555e625e728c9d244decf /scripts
parenta3a6261a11b4db5b9712bb8388c9d9d955035e98 (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>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/genksyms/keywords.gperf1
-rw-r--r--scripts/genksyms/parse.y5
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
112declaration1: 113declaration1:
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