summaryrefslogtreecommitdiffstats
path: root/scripts/genksyms/lex.l (follow)
Commit message (Collapse)AuthorAgeFilesLines
* genksyms: Do not expand internal typesMichal Marek2011-10-111-0/+8
| | | | | | | Consider structures, unions and enums defined in the source file as internal and do not expand them. This way, changes to e.g. struct serial_private in drivers/tty/serial/8250_pci.c will not affect the checksum of the pciserial_* exports.
* genksyms: migrate parser to implicit rulesArnaud Lacombe2011-06-091-2/+2
| | | | Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
* genksyms: Track changes to enum constantsMichal Marek2011-03-171-3/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enum constants can be used as array sizes; if the enum itself does not appear in the symbol expansion, a change in the enum constant will go unnoticed. Example patch that changes the ABI but does not change the checksum with current genksyms: | enum e { | E1, | E2, |+ E3, | E_MAX | }; | | struct s { | int a[E_MAX]; | } | | int f(struct s *s) { ... } | EXPORT_SYMBOL(f) Therefore, remember the value of each enum constant and expand each occurence to <constant> <value>. The value is not actually computed, but instead an expression in the form (last explicitly assigned value) + N is used. This avoids having to parse and semantically understand whole of C. Note: The changes won't take effect until the lexer and parser are rebuilt by the next patch. Signed-off-by: Michal Marek <mmarek@suse.cz> Acked-by: Sam Ravnborg <sam@ravnborg.org>
* genksyms: simplify usage of find_symbol()Michal Marek2011-03-171-2/+1
| | | | | | | | Allow searching for symbols of an exact type. The lexer does this and a subsequent patch will add one more usage. Signed-off-by: Michal Marek <mmarek@suse.cz> Acked-by: Sam Ravnborg <sam@ravnborg.org>
* genksyms: Simplify lexerMichal Marek2011-03-171-8/+3
| | | | | | | The V2_TOKENS state is active all the time. Signed-off-by: Michal Marek <mmarek@suse.cz> Acked-by: Sam Ravnborg <sam@ravnborg.org>
* kbuild: scripts/genksyms/lex.l: add %option noinputAdrian Bunk2008-07-301-0/+2
| | | | | | | | | | | | | | | | | | | | gcc 4.3 correctly determines that input() is unused and gives the following warning: <-- snip --> ... HOSTCC scripts/genksyms/lex.o scripts/genksyms/lex.c:1487: warning: ‘input’ defined but not used ... <-- snip --> Fix it by adding %option noinput to scripts/genksyms/lex.l and regeneration of scripts/genksyms/lex.c_shipped. Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
* kbuild: replace abort() with exit(1)Sam Ravnborg2006-06-241-1/+1
| | | | | | | We have had no use of the coredump file for a long time. So just exit(1) and avoid coredumping. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
* Linux-2.6.12-rc2v2.6.12-rc2Linus Torvalds2005-04-171-0/+407
Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!