diff options
| author | Jan Beulich <JBeulich@novell.com> | 2009-12-05 15:20:50 -0500 |
|---|---|---|
| committer | Michal Marek <mmarek@suse.cz> | 2009-12-12 07:08:16 -0500 |
| commit | 6299fee7b84ac7b4429b4e2787b99470a89cd5f5 (patch) | |
| tree | a1eddd6732dd0593fb3dcf0f3042a83758dba1d4 | |
| parent | 75f0d92b6a11736429940bdd58f9c141abee8865 (diff) | |
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>
| -rw-r--r-- | scripts/genksyms/keywords.c_shipped | 191 | ||||
| -rw-r--r-- | scripts/genksyms/keywords.gperf | 2 |
2 files changed, 99 insertions, 94 deletions
diff --git a/scripts/genksyms/keywords.c_shipped b/scripts/genksyms/keywords.c_shipped index 287467a2e8c7..8060e06798b3 100644 --- a/scripts/genksyms/keywords.c_shipped +++ b/scripts/genksyms/keywords.c_shipped | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* ANSI-C code produced by gperf version 3.0.3 */ | 1 | /* ANSI-C code produced by gperf version 3.0.4 */ |
| 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 */ | 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 | #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ | 4 | #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ |
| @@ -34,7 +34,7 @@ struct resword; | |||
| 34 | static const struct resword *is_reserved_word(register const char *str, register unsigned int len); | 34 | static const struct resword *is_reserved_word(register const char *str, register unsigned int len); |
| 35 | #line 5 "scripts/genksyms/keywords.gperf" | 35 | #line 5 "scripts/genksyms/keywords.gperf" |
| 36 | struct resword { const char *name; int token; }; | 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 | #ifdef __GNUC__ | 39 | #ifdef __GNUC__ |
| 40 | __inline | 40 | __inline |
| @@ -48,39 +48,39 @@ is_reserved_hash (register const char *str, register unsigned int len) | |||
| 48 | { | 48 | { |
| 49 | static const unsigned char asso_values[] = | 49 | static const unsigned char asso_values[] = |
| 50 | { | 50 | { |
| 51 | 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, | 51 | 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, |
| 52 | 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, | 52 | 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, |
| 53 | 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, | 53 | 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, |
| 54 | 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, | 54 | 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, |
| 55 | 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, | 55 | 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, |
| 56 | 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, | 56 | 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, |
| 57 | 65, 65, 65, 65, 65, 65, 65, 65, 65, 5, | 57 | 67, 67, 67, 67, 67, 67, 67, 67, 67, 0, |
| 58 | 65, 65, 65, 65, 65, 65, 35, 65, 65, 65, | 58 | 67, 67, 67, 67, 67, 67, 15, 67, 67, 67, |
| 59 | 0, 65, 65, 65, 65, 65, 65, 65, 65, 65, | 59 | 0, 67, 67, 67, 67, 67, 67, 67, 67, 67, |
| 60 | 65, 65, 65, 65, 65, 0, 65, 0, 65, 5, | 60 | 67, 67, 67, 67, 67, 0, 67, 0, 67, 5, |
| 61 | 20, 15, 10, 30, 65, 15, 65, 65, 20, 0, | 61 | 25, 20, 15, 30, 67, 15, 67, 67, 10, 0, |
| 62 | 10, 35, 20, 65, 10, 5, 0, 10, 5, 65, | 62 | 10, 40, 20, 67, 10, 5, 0, 10, 15, 67, |
| 63 | 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, | 63 | 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, |
| 64 | 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, | 64 | 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, |
| 65 | 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, | 65 | 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, |
| 66 | 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, | 66 | 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, |
| 67 | 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, | 67 | 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, |
| 68 | 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, | 68 | 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, |
| 69 | 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, | 69 | 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, |
| 70 | 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, | 70 | 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, |
| 71 | 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, | 71 | 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, |
| 72 | 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, | 72 | 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, |
| 73 | 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, | 73 | 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, |
| 74 | 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, | 74 | 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, |
| 75 | 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, | 75 | 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, |
| 76 | 65, 65, 65, 65, 65, 65 | 76 | 67, 67, 67, 67, 67, 67 |
| 77 | }; | 77 | }; |
| 78 | return len + asso_values[(unsigned char)str[2]] + asso_values[(unsigned char)str[0]] + asso_values[(unsigned char)str[len - 1]]; | 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 | #ifdef __GNUC__ | 81 | #ifdef __GNUC__ |
| 82 | __inline | 82 | __inline |
| 83 | #ifdef __GNUC_STDC_INLINE__ | 83 | #if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__ |
| 84 | __attribute__ ((__gnu_inline__)) | 84 | __attribute__ ((__gnu_inline__)) |
| 85 | #endif | 85 | #endif |
| 86 | #endif | 86 | #endif |
| @@ -89,116 +89,119 @@ is_reserved_word (register const char *str, register unsigned int len) | |||
| 89 | { | 89 | { |
| 90 | enum | 90 | enum |
| 91 | { | 91 | { |
| 92 | TOTAL_KEYWORDS = 43, | 92 | TOTAL_KEYWORDS = 45, |
| 93 | MIN_WORD_LENGTH = 3, | 93 | MIN_WORD_LENGTH = 3, |
| 94 | MAX_WORD_LENGTH = 24, | 94 | MAX_WORD_LENGTH = 24, |
| 95 | MIN_HASH_VALUE = 3, | 95 | MIN_HASH_VALUE = 3, |
| 96 | MAX_HASH_VALUE = 64 | 96 | MAX_HASH_VALUE = 66 |
| 97 | }; | 97 | }; |
| 98 | 98 | ||
| 99 | static const struct resword wordlist[] = | 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 | {"asm", ASM_KEYW}, | 103 | {"asm", ASM_KEYW}, |
| 104 | {""}, | 104 | {""}, |
| 105 | #line 10 "scripts/genksyms/keywords.gperf" | 105 | #line 12 "scripts/genksyms/keywords.gperf" |
| 106 | {"__asm", ASM_KEYW}, | 106 | {"__asm", ASM_KEYW}, |
| 107 | {""}, | 107 | {""}, |
| 108 | #line 11 "scripts/genksyms/keywords.gperf" | 108 | #line 13 "scripts/genksyms/keywords.gperf" |
| 109 | {"__asm__", ASM_KEYW}, | 109 | {"__asm__", ASM_KEYW}, |
| 110 | {""}, {""}, | 110 | {""}, {""}, |
| 111 | #line 54 "scripts/genksyms/keywords.gperf" | 111 | #line 56 "scripts/genksyms/keywords.gperf" |
| 112 | {"__typeof__", TYPEOF_KEYW}, | 112 | {"__typeof__", TYPEOF_KEYW}, |
| 113 | {""}, | 113 | {""}, |
| 114 | #line 14 "scripts/genksyms/keywords.gperf" | 114 | #line 16 "scripts/genksyms/keywords.gperf" |
| 115 | {"__const", CONST_KEYW}, | 115 | {"__const", CONST_KEYW}, |
| 116 | #line 13 "scripts/genksyms/keywords.gperf" | ||
| 117 | {"__attribute__", ATTRIBUTE_KEYW}, | ||
| 118 | #line 15 "scripts/genksyms/keywords.gperf" | 116 | #line 15 "scripts/genksyms/keywords.gperf" |
| 117 | {"__attribute__", ATTRIBUTE_KEYW}, | ||
| 118 | #line 17 "scripts/genksyms/keywords.gperf" | ||
| 119 | {"__const__", CONST_KEYW}, | 119 | {"__const__", CONST_KEYW}, |
| 120 | #line 20 "scripts/genksyms/keywords.gperf" | 120 | #line 22 "scripts/genksyms/keywords.gperf" |
| 121 | {"__signed__", SIGNED_KEYW}, | 121 | {"__signed__", SIGNED_KEYW}, |
| 122 | #line 46 "scripts/genksyms/keywords.gperf" | 122 | #line 48 "scripts/genksyms/keywords.gperf" |
| 123 | {"static", STATIC_KEYW}, | 123 | {"static", STATIC_KEYW}, |
| 124 | #line 22 "scripts/genksyms/keywords.gperf" | 124 | {""}, |
| 125 | {"__volatile__", VOLATILE_KEYW}, | 125 | #line 43 "scripts/genksyms/keywords.gperf" |
| 126 | #line 41 "scripts/genksyms/keywords.gperf" | ||
| 127 | {"int", INT_KEYW}, | 126 | {"int", INT_KEYW}, |
| 128 | #line 34 "scripts/genksyms/keywords.gperf" | 127 | #line 36 "scripts/genksyms/keywords.gperf" |
| 129 | {"char", CHAR_KEYW}, | 128 | {"char", CHAR_KEYW}, |
| 130 | #line 35 "scripts/genksyms/keywords.gperf" | 129 | #line 37 "scripts/genksyms/keywords.gperf" |
| 131 | {"const", CONST_KEYW}, | 130 | {"const", CONST_KEYW}, |
| 132 | #line 47 "scripts/genksyms/keywords.gperf" | 131 | #line 49 "scripts/genksyms/keywords.gperf" |
| 133 | {"struct", STRUCT_KEYW}, | 132 | {"struct", STRUCT_KEYW}, |
| 134 | #line 26 "scripts/genksyms/keywords.gperf" | 133 | #line 28 "scripts/genksyms/keywords.gperf" |
| 135 | {"__restrict__", RESTRICT_KEYW}, | 134 | {"__restrict__", RESTRICT_KEYW}, |
| 136 | #line 27 "scripts/genksyms/keywords.gperf" | 135 | #line 29 "scripts/genksyms/keywords.gperf" |
| 137 | {"restrict", RESTRICT_KEYW}, | 136 | {"restrict", RESTRICT_KEYW}, |
| 138 | #line 25 "scripts/genksyms/keywords.gperf" | 137 | #line 9 "scripts/genksyms/keywords.gperf" |
| 139 | {"_restrict", RESTRICT_KEYW}, | 138 | {"EXPORT_SYMBOL_GPL_FUTURE", EXPORT_SYMBOL_KEYW}, |
| 140 | #line 18 "scripts/genksyms/keywords.gperf" | 139 | #line 20 "scripts/genksyms/keywords.gperf" |
| 141 | {"__inline__", INLINE_KEYW}, | 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 | {"__extension__", EXTENSION_KEYW}, | 154 | {"__extension__", EXTENSION_KEYW}, |
| 147 | #line 37 "scripts/genksyms/keywords.gperf" | 155 | #line 39 "scripts/genksyms/keywords.gperf" |
| 148 | {"enum", ENUM_KEYW}, | 156 | {"enum", ENUM_KEYW}, |
| 149 | #line 21 "scripts/genksyms/keywords.gperf" | 157 | #line 10 "scripts/genksyms/keywords.gperf" |
| 150 | {"__volatile", VOLATILE_KEYW}, | 158 | {"EXPORT_UNUSED_SYMBOL", EXPORT_SYMBOL_KEYW}, |
| 151 | #line 38 "scripts/genksyms/keywords.gperf" | 159 | #line 40 "scripts/genksyms/keywords.gperf" |
| 152 | {"extern", EXTERN_KEYW}, | 160 | {"extern", EXTERN_KEYW}, |
| 153 | {""}, | 161 | {""}, |
| 154 | #line 19 "scripts/genksyms/keywords.gperf" | 162 | #line 21 "scripts/genksyms/keywords.gperf" |
| 155 | {"__signed", SIGNED_KEYW}, | 163 | {"__signed", SIGNED_KEYW}, |
| 156 | #line 9 "scripts/genksyms/keywords.gperf" | 164 | #line 11 "scripts/genksyms/keywords.gperf" |
| 157 | {"EXPORT_SYMBOL_GPL_FUTURE", EXPORT_SYMBOL_KEYW}, | 165 | {"EXPORT_UNUSED_SYMBOL_GPL", EXPORT_SYMBOL_KEYW}, |
| 158 | {""}, | 166 | #line 51 "scripts/genksyms/keywords.gperf" |
| 159 | #line 53 "scripts/genksyms/keywords.gperf" | 167 | {"union", UNION_KEYW}, |
| 168 | #line 55 "scripts/genksyms/keywords.gperf" | ||
| 160 | {"typeof", TYPEOF_KEYW}, | 169 | {"typeof", TYPEOF_KEYW}, |
| 161 | #line 48 "scripts/genksyms/keywords.gperf" | 170 | #line 50 "scripts/genksyms/keywords.gperf" |
| 162 | {"typedef", TYPEDEF_KEYW}, | 171 | {"typedef", TYPEDEF_KEYW}, |
| 163 | #line 17 "scripts/genksyms/keywords.gperf" | 172 | #line 19 "scripts/genksyms/keywords.gperf" |
| 164 | {"__inline", INLINE_KEYW}, | 173 | {"__inline", INLINE_KEYW}, |
| 165 | #line 33 "scripts/genksyms/keywords.gperf" | 174 | #line 35 "scripts/genksyms/keywords.gperf" |
| 166 | {"auto", AUTO_KEYW}, | 175 | {"auto", AUTO_KEYW}, |
| 167 | #line 49 "scripts/genksyms/keywords.gperf" | 176 | #line 23 "scripts/genksyms/keywords.gperf" |
| 168 | {"union", UNION_KEYW}, | 177 | {"__volatile", VOLATILE_KEYW}, |
| 169 | {""}, {""}, | ||
| 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 | {""}, {""}, | 178 | {""}, {""}, |
| 177 | #line 52 "scripts/genksyms/keywords.gperf" | 179 | #line 52 "scripts/genksyms/keywords.gperf" |
| 178 | {"volatile", VOLATILE_KEYW}, | 180 | {"unsigned", UNSIGNED_KEYW}, |
| 179 | {""}, | ||
| 180 | #line 39 "scripts/genksyms/keywords.gperf" | ||
| 181 | {"float", FLOAT_KEYW}, | ||
| 182 | #line 36 "scripts/genksyms/keywords.gperf" | ||
| 183 | {"double", DOUBLE_KEYW}, | ||
| 184 | {""}, | 181 | {""}, |
| 185 | #line 7 "scripts/genksyms/keywords.gperf" | 182 | #line 46 "scripts/genksyms/keywords.gperf" |
| 186 | {"EXPORT_SYMBOL", EXPORT_SYMBOL_KEYW}, | 183 | {"short", SHORT_KEYW}, |
| 187 | {""}, {""}, | 184 | #line 42 "scripts/genksyms/keywords.gperf" |
| 188 | #line 40 "scripts/genksyms/keywords.gperf" | ||
| 189 | {"inline", INLINE_KEYW}, | 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 | {"_Bool", BOOL_KEYW}, | 192 | {"_Bool", BOOL_KEYW}, |
| 197 | #line 45 "scripts/genksyms/keywords.gperf" | ||
| 198 | {"signed", SIGNED_KEYW}, | ||
| 199 | {""}, {""}, | 193 | {""}, {""}, |
| 200 | #line 42 "scripts/genksyms/keywords.gperf" | 194 | #line 45 "scripts/genksyms/keywords.gperf" |
| 201 | {"long", LONG_KEYW} | 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 | if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) | 207 | if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) |
diff --git a/scripts/genksyms/keywords.gperf b/scripts/genksyms/keywords.gperf index 8fe977a4d57b..e6349acb6f2f 100644 --- a/scripts/genksyms/keywords.gperf +++ b/scripts/genksyms/keywords.gperf | |||
| @@ -7,6 +7,8 @@ struct resword { const char *name; int token; } | |||
| 7 | EXPORT_SYMBOL, EXPORT_SYMBOL_KEYW | 7 | EXPORT_SYMBOL, EXPORT_SYMBOL_KEYW |
| 8 | EXPORT_SYMBOL_GPL, EXPORT_SYMBOL_KEYW | 8 | EXPORT_SYMBOL_GPL, EXPORT_SYMBOL_KEYW |
| 9 | EXPORT_SYMBOL_GPL_FUTURE, EXPORT_SYMBOL_KEYW | 9 | EXPORT_SYMBOL_GPL_FUTURE, EXPORT_SYMBOL_KEYW |
| 10 | EXPORT_UNUSED_SYMBOL, EXPORT_SYMBOL_KEYW | ||
| 11 | EXPORT_UNUSED_SYMBOL_GPL, EXPORT_SYMBOL_KEYW | ||
| 10 | __asm, ASM_KEYW | 12 | __asm, ASM_KEYW |
| 11 | __asm__, ASM_KEYW | 13 | __asm__, ASM_KEYW |
| 12 | __attribute, ATTRIBUTE_KEYW | 14 | __attribute, ATTRIBUTE_KEYW |
