Commit 6299fee7b84ac7b4429b4e2787b99470a89cd5f5
Committed by
Michal Marek
1 parent
75f0d92b6a
Exists in
master
and in
20 other branches
genksyms: properly consider EXPORT_UNUSED_SYMBOL{,_GPL}()
Despite being unused these should also get a CRC calculated. Primarily I view this as a consistency thing. But I also think this is one of the reasons why __crc_* need to be weak (which I think should be avoided, and hence we should have the goal to eliminate this so that failure to calculate a proper CRC for a symbol causes the build to fail). Signed-off-by: Jan Beulich <jbeulich@novell.com> Cc: Anibal Monsalve Salazar <anibal@debian.org> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Michal Marek <mmarek@suse.cz>
Showing 2 changed files with 99 additions and 94 deletions Side-by-side Diff
scripts/genksyms/keywords.c_shipped
1 | -/* ANSI-C code produced by gperf version 3.0.3 */ | |
1 | +/* ANSI-C code produced by gperf version 3.0.4 */ | |
2 | 2 | /* Command-line: gperf -L ANSI-C -a -C -E -g -H is_reserved_hash -k '1,3,$' -N is_reserved_word -p -t scripts/genksyms/keywords.gperf */ |
3 | 3 | |
4 | 4 | #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ |
... | ... | @@ -34,7 +34,7 @@ |
34 | 34 | static const struct resword *is_reserved_word(register const char *str, register unsigned int len); |
35 | 35 | #line 5 "scripts/genksyms/keywords.gperf" |
36 | 36 | struct resword { const char *name; int token; }; |
37 | -/* maximum key range = 62, duplicates = 0 */ | |
37 | +/* maximum key range = 64, duplicates = 0 */ | |
38 | 38 | |
39 | 39 | #ifdef __GNUC__ |
40 | 40 | __inline |
41 | 41 | |
... | ... | @@ -48,39 +48,39 @@ |
48 | 48 | { |
49 | 49 | static const unsigned char asso_values[] = |
50 | 50 | { |
51 | - 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, | |
52 | - 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, | |
53 | - 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, | |
54 | - 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, | |
55 | - 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, | |
56 | - 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, | |
57 | - 65, 65, 65, 65, 65, 65, 65, 65, 65, 5, | |
58 | - 65, 65, 65, 65, 65, 65, 35, 65, 65, 65, | |
59 | - 0, 65, 65, 65, 65, 65, 65, 65, 65, 65, | |
60 | - 65, 65, 65, 65, 65, 0, 65, 0, 65, 5, | |
61 | - 20, 15, 10, 30, 65, 15, 65, 65, 20, 0, | |
62 | - 10, 35, 20, 65, 10, 5, 0, 10, 5, 65, | |
63 | - 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, | |
64 | - 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, | |
65 | - 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, | |
66 | - 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, | |
67 | - 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, | |
68 | - 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, | |
69 | - 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, | |
70 | - 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, | |
71 | - 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, | |
72 | - 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, | |
73 | - 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, | |
74 | - 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, | |
75 | - 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, | |
76 | - 65, 65, 65, 65, 65, 65 | |
51 | + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | |
52 | + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | |
53 | + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | |
54 | + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | |
55 | + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | |
56 | + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | |
57 | + 67, 67, 67, 67, 67, 67, 67, 67, 67, 0, | |
58 | + 67, 67, 67, 67, 67, 67, 15, 67, 67, 67, | |
59 | + 0, 67, 67, 67, 67, 67, 67, 67, 67, 67, | |
60 | + 67, 67, 67, 67, 67, 0, 67, 0, 67, 5, | |
61 | + 25, 20, 15, 30, 67, 15, 67, 67, 10, 0, | |
62 | + 10, 40, 20, 67, 10, 5, 0, 10, 15, 67, | |
63 | + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | |
64 | + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | |
65 | + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | |
66 | + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | |
67 | + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | |
68 | + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | |
69 | + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | |
70 | + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | |
71 | + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | |
72 | + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | |
73 | + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | |
74 | + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | |
75 | + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | |
76 | + 67, 67, 67, 67, 67, 67 | |
77 | 77 | }; |
78 | 78 | return len + asso_values[(unsigned char)str[2]] + asso_values[(unsigned char)str[0]] + asso_values[(unsigned char)str[len - 1]]; |
79 | 79 | } |
80 | 80 | |
81 | 81 | #ifdef __GNUC__ |
82 | 82 | __inline |
83 | -#ifdef __GNUC_STDC_INLINE__ | |
83 | +#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__ | |
84 | 84 | __attribute__ ((__gnu_inline__)) |
85 | 85 | #endif |
86 | 86 | #endif |
87 | 87 | |
88 | 88 | |
89 | 89 | |
90 | 90 | |
91 | 91 | |
92 | 92 | |
93 | 93 | |
94 | 94 | |
95 | 95 | |
96 | 96 | |
97 | 97 | |
98 | 98 | |
99 | 99 | |
100 | 100 | |
101 | 101 | |
102 | 102 | |
103 | 103 | |
104 | 104 | |
105 | 105 | |
106 | 106 | |
107 | 107 | |
108 | 108 | |
109 | 109 | |
110 | 110 | |
111 | 111 | |
112 | 112 | |
113 | 113 | |
114 | 114 | |
115 | 115 | |
116 | 116 | |
117 | 117 | |
118 | 118 | |
119 | 119 | |
120 | 120 | |
... | ... | @@ -89,116 +89,119 @@ |
89 | 89 | { |
90 | 90 | enum |
91 | 91 | { |
92 | - TOTAL_KEYWORDS = 43, | |
92 | + TOTAL_KEYWORDS = 45, | |
93 | 93 | MIN_WORD_LENGTH = 3, |
94 | 94 | MAX_WORD_LENGTH = 24, |
95 | 95 | MIN_HASH_VALUE = 3, |
96 | - MAX_HASH_VALUE = 64 | |
96 | + MAX_HASH_VALUE = 66 | |
97 | 97 | }; |
98 | 98 | |
99 | 99 | static const struct resword wordlist[] = |
100 | 100 | { |
101 | 101 | {""}, {""}, {""}, |
102 | -#line 28 "scripts/genksyms/keywords.gperf" | |
102 | +#line 30 "scripts/genksyms/keywords.gperf" | |
103 | 103 | {"asm", ASM_KEYW}, |
104 | 104 | {""}, |
105 | -#line 10 "scripts/genksyms/keywords.gperf" | |
105 | +#line 12 "scripts/genksyms/keywords.gperf" | |
106 | 106 | {"__asm", ASM_KEYW}, |
107 | 107 | {""}, |
108 | -#line 11 "scripts/genksyms/keywords.gperf" | |
108 | +#line 13 "scripts/genksyms/keywords.gperf" | |
109 | 109 | {"__asm__", ASM_KEYW}, |
110 | 110 | {""}, {""}, |
111 | -#line 54 "scripts/genksyms/keywords.gperf" | |
111 | +#line 56 "scripts/genksyms/keywords.gperf" | |
112 | 112 | {"__typeof__", TYPEOF_KEYW}, |
113 | 113 | {""}, |
114 | -#line 14 "scripts/genksyms/keywords.gperf" | |
114 | +#line 16 "scripts/genksyms/keywords.gperf" | |
115 | 115 | {"__const", CONST_KEYW}, |
116 | -#line 13 "scripts/genksyms/keywords.gperf" | |
117 | - {"__attribute__", ATTRIBUTE_KEYW}, | |
118 | 116 | #line 15 "scripts/genksyms/keywords.gperf" |
117 | + {"__attribute__", ATTRIBUTE_KEYW}, | |
118 | +#line 17 "scripts/genksyms/keywords.gperf" | |
119 | 119 | {"__const__", CONST_KEYW}, |
120 | -#line 20 "scripts/genksyms/keywords.gperf" | |
120 | +#line 22 "scripts/genksyms/keywords.gperf" | |
121 | 121 | {"__signed__", SIGNED_KEYW}, |
122 | -#line 46 "scripts/genksyms/keywords.gperf" | |
122 | +#line 48 "scripts/genksyms/keywords.gperf" | |
123 | 123 | {"static", STATIC_KEYW}, |
124 | -#line 22 "scripts/genksyms/keywords.gperf" | |
125 | - {"__volatile__", VOLATILE_KEYW}, | |
126 | -#line 41 "scripts/genksyms/keywords.gperf" | |
124 | + {""}, | |
125 | +#line 43 "scripts/genksyms/keywords.gperf" | |
127 | 126 | {"int", INT_KEYW}, |
128 | -#line 34 "scripts/genksyms/keywords.gperf" | |
127 | +#line 36 "scripts/genksyms/keywords.gperf" | |
129 | 128 | {"char", CHAR_KEYW}, |
130 | -#line 35 "scripts/genksyms/keywords.gperf" | |
129 | +#line 37 "scripts/genksyms/keywords.gperf" | |
131 | 130 | {"const", CONST_KEYW}, |
132 | -#line 47 "scripts/genksyms/keywords.gperf" | |
131 | +#line 49 "scripts/genksyms/keywords.gperf" | |
133 | 132 | {"struct", STRUCT_KEYW}, |
134 | -#line 26 "scripts/genksyms/keywords.gperf" | |
133 | +#line 28 "scripts/genksyms/keywords.gperf" | |
135 | 134 | {"__restrict__", RESTRICT_KEYW}, |
136 | -#line 27 "scripts/genksyms/keywords.gperf" | |
135 | +#line 29 "scripts/genksyms/keywords.gperf" | |
137 | 136 | {"restrict", RESTRICT_KEYW}, |
138 | -#line 25 "scripts/genksyms/keywords.gperf" | |
139 | - {"_restrict", RESTRICT_KEYW}, | |
140 | -#line 18 "scripts/genksyms/keywords.gperf" | |
137 | +#line 9 "scripts/genksyms/keywords.gperf" | |
138 | + {"EXPORT_SYMBOL_GPL_FUTURE", EXPORT_SYMBOL_KEYW}, | |
139 | +#line 20 "scripts/genksyms/keywords.gperf" | |
141 | 140 | {"__inline__", INLINE_KEYW}, |
142 | -#line 12 "scripts/genksyms/keywords.gperf" | |
143 | - {"__attribute", ATTRIBUTE_KEYW}, | |
144 | 141 | {""}, |
145 | -#line 16 "scripts/genksyms/keywords.gperf" | |
142 | +#line 24 "scripts/genksyms/keywords.gperf" | |
143 | + {"__volatile__", VOLATILE_KEYW}, | |
144 | +#line 7 "scripts/genksyms/keywords.gperf" | |
145 | + {"EXPORT_SYMBOL", EXPORT_SYMBOL_KEYW}, | |
146 | +#line 27 "scripts/genksyms/keywords.gperf" | |
147 | + {"_restrict", RESTRICT_KEYW}, | |
148 | + {""}, | |
149 | +#line 14 "scripts/genksyms/keywords.gperf" | |
150 | + {"__attribute", ATTRIBUTE_KEYW}, | |
151 | +#line 8 "scripts/genksyms/keywords.gperf" | |
152 | + {"EXPORT_SYMBOL_GPL", EXPORT_SYMBOL_KEYW}, | |
153 | +#line 18 "scripts/genksyms/keywords.gperf" | |
146 | 154 | {"__extension__", EXTENSION_KEYW}, |
147 | -#line 37 "scripts/genksyms/keywords.gperf" | |
155 | +#line 39 "scripts/genksyms/keywords.gperf" | |
148 | 156 | {"enum", ENUM_KEYW}, |
149 | -#line 21 "scripts/genksyms/keywords.gperf" | |
150 | - {"__volatile", VOLATILE_KEYW}, | |
151 | -#line 38 "scripts/genksyms/keywords.gperf" | |
157 | +#line 10 "scripts/genksyms/keywords.gperf" | |
158 | + {"EXPORT_UNUSED_SYMBOL", EXPORT_SYMBOL_KEYW}, | |
159 | +#line 40 "scripts/genksyms/keywords.gperf" | |
152 | 160 | {"extern", EXTERN_KEYW}, |
153 | 161 | {""}, |
154 | -#line 19 "scripts/genksyms/keywords.gperf" | |
162 | +#line 21 "scripts/genksyms/keywords.gperf" | |
155 | 163 | {"__signed", SIGNED_KEYW}, |
156 | -#line 9 "scripts/genksyms/keywords.gperf" | |
157 | - {"EXPORT_SYMBOL_GPL_FUTURE", EXPORT_SYMBOL_KEYW}, | |
158 | - {""}, | |
159 | -#line 53 "scripts/genksyms/keywords.gperf" | |
164 | +#line 11 "scripts/genksyms/keywords.gperf" | |
165 | + {"EXPORT_UNUSED_SYMBOL_GPL", EXPORT_SYMBOL_KEYW}, | |
166 | +#line 51 "scripts/genksyms/keywords.gperf" | |
167 | + {"union", UNION_KEYW}, | |
168 | +#line 55 "scripts/genksyms/keywords.gperf" | |
160 | 169 | {"typeof", TYPEOF_KEYW}, |
161 | -#line 48 "scripts/genksyms/keywords.gperf" | |
170 | +#line 50 "scripts/genksyms/keywords.gperf" | |
162 | 171 | {"typedef", TYPEDEF_KEYW}, |
163 | -#line 17 "scripts/genksyms/keywords.gperf" | |
172 | +#line 19 "scripts/genksyms/keywords.gperf" | |
164 | 173 | {"__inline", INLINE_KEYW}, |
165 | -#line 33 "scripts/genksyms/keywords.gperf" | |
174 | +#line 35 "scripts/genksyms/keywords.gperf" | |
166 | 175 | {"auto", AUTO_KEYW}, |
167 | -#line 49 "scripts/genksyms/keywords.gperf" | |
168 | - {"union", UNION_KEYW}, | |
176 | +#line 23 "scripts/genksyms/keywords.gperf" | |
177 | + {"__volatile", VOLATILE_KEYW}, | |
169 | 178 | {""}, {""}, |
170 | -#line 50 "scripts/genksyms/keywords.gperf" | |
171 | - {"unsigned", UNSIGNED_KEYW}, | |
172 | -#line 51 "scripts/genksyms/keywords.gperf" | |
173 | - {"void", VOID_KEYW}, | |
174 | -#line 44 "scripts/genksyms/keywords.gperf" | |
175 | - {"short", SHORT_KEYW}, | |
176 | - {""}, {""}, | |
177 | 179 | #line 52 "scripts/genksyms/keywords.gperf" |
178 | - {"volatile", VOLATILE_KEYW}, | |
180 | + {"unsigned", UNSIGNED_KEYW}, | |
179 | 181 | {""}, |
180 | -#line 39 "scripts/genksyms/keywords.gperf" | |
181 | - {"float", FLOAT_KEYW}, | |
182 | -#line 36 "scripts/genksyms/keywords.gperf" | |
183 | - {"double", DOUBLE_KEYW}, | |
184 | - {""}, | |
185 | -#line 7 "scripts/genksyms/keywords.gperf" | |
186 | - {"EXPORT_SYMBOL", EXPORT_SYMBOL_KEYW}, | |
187 | - {""}, {""}, | |
188 | -#line 40 "scripts/genksyms/keywords.gperf" | |
182 | +#line 46 "scripts/genksyms/keywords.gperf" | |
183 | + {"short", SHORT_KEYW}, | |
184 | +#line 42 "scripts/genksyms/keywords.gperf" | |
189 | 185 | {"inline", INLINE_KEYW}, |
190 | -#line 8 "scripts/genksyms/keywords.gperf" | |
191 | - {"EXPORT_SYMBOL_GPL", EXPORT_SYMBOL_KEYW}, | |
192 | -#line 43 "scripts/genksyms/keywords.gperf" | |
193 | - {"register", REGISTER_KEYW}, | |
194 | 186 | {""}, |
195 | -#line 24 "scripts/genksyms/keywords.gperf" | |
187 | +#line 54 "scripts/genksyms/keywords.gperf" | |
188 | + {"volatile", VOLATILE_KEYW}, | |
189 | +#line 44 "scripts/genksyms/keywords.gperf" | |
190 | + {"long", LONG_KEYW}, | |
191 | +#line 26 "scripts/genksyms/keywords.gperf" | |
196 | 192 | {"_Bool", BOOL_KEYW}, |
197 | -#line 45 "scripts/genksyms/keywords.gperf" | |
198 | - {"signed", SIGNED_KEYW}, | |
199 | 193 | {""}, {""}, |
200 | -#line 42 "scripts/genksyms/keywords.gperf" | |
201 | - {"long", LONG_KEYW} | |
194 | +#line 45 "scripts/genksyms/keywords.gperf" | |
195 | + {"register", REGISTER_KEYW}, | |
196 | +#line 53 "scripts/genksyms/keywords.gperf" | |
197 | + {"void", VOID_KEYW}, | |
198 | +#line 41 "scripts/genksyms/keywords.gperf" | |
199 | + {"float", FLOAT_KEYW}, | |
200 | +#line 38 "scripts/genksyms/keywords.gperf" | |
201 | + {"double", DOUBLE_KEYW}, | |
202 | + {""}, {""}, {""}, {""}, | |
203 | +#line 47 "scripts/genksyms/keywords.gperf" | |
204 | + {"signed", SIGNED_KEYW} | |
202 | 205 | }; |
203 | 206 | |
204 | 207 | if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) |
scripts/genksyms/keywords.gperf
... | ... | @@ -7,6 +7,8 @@ |
7 | 7 | EXPORT_SYMBOL, EXPORT_SYMBOL_KEYW |
8 | 8 | EXPORT_SYMBOL_GPL, EXPORT_SYMBOL_KEYW |
9 | 9 | EXPORT_SYMBOL_GPL_FUTURE, EXPORT_SYMBOL_KEYW |
10 | +EXPORT_UNUSED_SYMBOL, EXPORT_SYMBOL_KEYW | |
11 | +EXPORT_UNUSED_SYMBOL_GPL, EXPORT_SYMBOL_KEYW | |
10 | 12 | __asm, ASM_KEYW |
11 | 13 | __asm__, ASM_KEYW |
12 | 14 | __attribute, ATTRIBUTE_KEYW |