Skip to content

Commit

Permalink
kbuild: __extension__ support in genksyms (fix unknown CRC warning)
Browse files Browse the repository at this point in the history
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 <[email protected]>
  • Loading branch information
sravnborg authored and Sam Ravnborg committed Oct 12, 2007
1 parent a3a6261 commit 3550a51
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 1 deletion.
1 change: 1 addition & 0 deletions scripts/genksyms/keywords.gperf
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ __attribute, ATTRIBUTE_KEYW
__attribute__, ATTRIBUTE_KEYW
__const, CONST_KEYW
__const__, CONST_KEYW
__extension__, EXTENSION_KEYW
__inline, INLINE_KEYW
__inline__, INLINE_KEYW
__signed, SIGNED_KEYW
Expand Down
5 changes: 4 additions & 1 deletion scripts/genksyms/parse.y
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ remove_list(struct string_list **pb, struct string_list **pe)
%token DOUBLE_KEYW
%token ENUM_KEYW
%token EXTERN_KEYW
%token EXTENSION_KEYW
%token FLOAT_KEYW
%token INLINE_KEYW
%token INT_KEYW
Expand Down Expand Up @@ -110,7 +111,9 @@ declaration:
;

declaration1:
TYPEDEF_KEYW { is_typedef = 1; } simple_declaration
EXTENSION_KEYW TYPEDEF_KEYW { is_typedef = 1; } simple_declaration
{ $$ = $4; }
| TYPEDEF_KEYW { is_typedef = 1; } simple_declaration
{ $$ = $3; }
| simple_declaration
| function_definition
Expand Down

0 comments on commit 3550a51

Please sign in to comment.