mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2024-12-29 09:13:38 +00:00
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>
This commit is contained in:
parent
4df607cc6f
commit
a222061b85
@ -25,6 +25,10 @@ static struct resword {
|
||||
{ "__volatile__", VOLATILE_KEYW },
|
||||
{ "__builtin_va_list", VA_LIST_KEYW },
|
||||
|
||||
{ "__int128", BUILTIN_INT_KEYW },
|
||||
{ "__int128_t", BUILTIN_INT_KEYW },
|
||||
{ "__uint128_t", BUILTIN_INT_KEYW },
|
||||
|
||||
// According to rth, c99 defines "_Bool", __restrict", __restrict__", "restrict". KAO
|
||||
{ "_Bool", BOOL_KEYW },
|
||||
{ "_restrict", RESTRICT_KEYW },
|
||||
|
@ -76,6 +76,7 @@ static void record_compound(struct string_list **keyw,
|
||||
%token ATTRIBUTE_KEYW
|
||||
%token AUTO_KEYW
|
||||
%token BOOL_KEYW
|
||||
%token BUILTIN_INT_KEYW
|
||||
%token CHAR_KEYW
|
||||
%token CONST_KEYW
|
||||
%token DOUBLE_KEYW
|
||||
@ -263,6 +264,7 @@ simple_type_specifier:
|
||||
| VOID_KEYW
|
||||
| BOOL_KEYW
|
||||
| VA_LIST_KEYW
|
||||
| BUILTIN_INT_KEYW
|
||||
| TYPE { (*$1)->tag = SYM_TYPEDEF; $$ = $1; }
|
||||
;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user