diff options
author | Will Deacon <will.deacon@arm.com> | 2019-06-18 09:10:48 -0400 |
---|---|---|
committer | Masahiro Yamada <yamada.masahiro@socionext.com> | 2019-06-23 14:43:03 -0400 |
commit | a222061b85234d8a44486a46bd4df7e2cda52385 (patch) | |
tree | 946f5fc7eef88d10a67d77cd8ea46f726b605eae /scripts | |
parent | 4df607cc6fe8e46b258ff2a53d0a60ca3008ffc7 (diff) |
genksyms: Teach parser about 128-bit built-in types
__uint128_t crops up in a few files that export symbols to modules, so
teach genksyms about it and the other GCC built-in 128-bit integer types
so that we don't end up skipping the CRC generation for some symbols due
to the parser failing to spot them:
| WARNING: EXPORT symbol "kernel_neon_begin" [vmlinux] version
| generation failed, symbol will not be versioned.
| ld: arch/arm64/kernel/fpsimd.o: relocation R_AARCH64_ABS32 against
| `__crc_kernel_neon_begin' can not be used when making a shared
| object
| ld: arch/arm64/kernel/fpsimd.o:(.data+0x0): dangerous relocation:
| unsupported relocation
Reported-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/genksyms/keywords.c | 4 | ||||
-rw-r--r-- | scripts/genksyms/parse.y | 2 |
2 files changed, 6 insertions, 0 deletions
diff --git a/scripts/genksyms/keywords.c b/scripts/genksyms/keywords.c index e93336baaaed..c586d32dd2c3 100644 --- a/scripts/genksyms/keywords.c +++ b/scripts/genksyms/keywords.c | |||
@@ -25,6 +25,10 @@ static struct resword { | |||
25 | { "__volatile__", VOLATILE_KEYW }, | 25 | { "__volatile__", VOLATILE_KEYW }, |
26 | { "__builtin_va_list", VA_LIST_KEYW }, | 26 | { "__builtin_va_list", VA_LIST_KEYW }, |
27 | 27 | ||
28 | { "__int128", BUILTIN_INT_KEYW }, | ||
29 | { "__int128_t", BUILTIN_INT_KEYW }, | ||
30 | { "__uint128_t", BUILTIN_INT_KEYW }, | ||
31 | |||
28 | // According to rth, c99 defines "_Bool", __restrict", __restrict__", "restrict". KAO | 32 | // According to rth, c99 defines "_Bool", __restrict", __restrict__", "restrict". KAO |
29 | { "_Bool", BOOL_KEYW }, | 33 | { "_Bool", BOOL_KEYW }, |
30 | { "_restrict", RESTRICT_KEYW }, | 34 | { "_restrict", RESTRICT_KEYW }, |
diff --git a/scripts/genksyms/parse.y b/scripts/genksyms/parse.y index 00a6d7e54971..1ebcf52cd0f9 100644 --- a/scripts/genksyms/parse.y +++ b/scripts/genksyms/parse.y | |||
@@ -76,6 +76,7 @@ static void record_compound(struct string_list **keyw, | |||
76 | %token ATTRIBUTE_KEYW | 76 | %token ATTRIBUTE_KEYW |
77 | %token AUTO_KEYW | 77 | %token AUTO_KEYW |
78 | %token BOOL_KEYW | 78 | %token BOOL_KEYW |
79 | %token BUILTIN_INT_KEYW | ||
79 | %token CHAR_KEYW | 80 | %token CHAR_KEYW |
80 | %token CONST_KEYW | 81 | %token CONST_KEYW |
81 | %token DOUBLE_KEYW | 82 | %token DOUBLE_KEYW |
@@ -263,6 +264,7 @@ simple_type_specifier: | |||
263 | | VOID_KEYW | 264 | | VOID_KEYW |
264 | | BOOL_KEYW | 265 | | BOOL_KEYW |
265 | | VA_LIST_KEYW | 266 | | VA_LIST_KEYW |
267 | | BUILTIN_INT_KEYW | ||
266 | | TYPE { (*$1)->tag = SYM_TYPEDEF; $$ = $1; } | 268 | | TYPE { (*$1)->tag = SYM_TYPEDEF; $$ = $1; } |
267 | ; | 269 | ; |
268 | 270 | ||