version 1 showing authors affecting page license.
.
Rev |
Author |
# |
Line |
1 |
perry |
1 |
GENKSYMS |
|
|
2 |
!!!GENKSYMS |
|
|
3 |
NAME |
|
|
4 |
SYNOPSIS |
|
|
5 |
DESCRIPTION |
|
|
6 |
OPTIONS |
|
|
7 |
SEE ALSO |
|
|
8 |
BUGS |
|
|
9 |
HISTORY |
|
|
10 |
---- |
|
|
11 |
!!NAME |
|
|
12 |
|
|
|
13 |
|
|
|
14 |
genksyms - generate symbol version information |
|
|
15 |
!!SYNOPSIS |
|
|
16 |
|
|
|
17 |
|
|
|
18 |
__genksyms__ [[-wq] [[-dD] [[-V] [[-k ''version''] [[-p |
|
|
19 |
string] [[''output directory''] |
|
|
20 |
!!DESCRIPTION |
|
|
21 |
|
|
|
22 |
|
|
|
23 |
__Genksyms__ reads (on standard input) the output from |
|
|
24 |
__gcc -E source.c__ |
|
|
25 |
__ |
|
|
26 |
|
|
|
27 |
|
|
|
28 |
Depending on the output format indicated by the __-k__ |
|
|
29 |
option, the output will either be written to a __.ver__ |
|
|
30 |
file in the named output directory, or to the standard |
|
|
31 |
output. |
|
|
32 |
|
|
|
33 |
|
|
|
34 |
__Genksyms__ normally looks for explicit symbol table |
|
|
35 |
definitions in the source file. All definitions and |
|
|
36 |
declarations of __typedef__, __struct__, __union__ |
|
|
37 |
and __enum__ will be saved for later expansion. Every |
|
|
38 |
global symbol will also be saved, together with pointers |
|
|
39 |
that will enable a full expansion later on. |
|
|
40 |
|
|
|
41 |
|
|
|
42 |
When a symbol table is found in the source, the symbol will |
|
|
43 |
be expanded to its full definition, where all structs, |
|
|
44 |
unions, enums and typedefs will be expanded down to their |
|
|
45 |
basic part, recursively. This final string will then be used |
|
|
46 |
as input to a CRC algorithm that will give an integer that |
|
|
47 |
will change as soon as any of the included definitions |
|
|
48 |
changes, for this symbol. |
|
|
49 |
|
|
|
50 |
|
|
|
51 |
The version information in the kernel normally looks like: |
|
|
52 |
__symbol_R12345678__, where 12345678 is the hexadecimal |
|
|
53 |
representation of the CRC. |
|
|
54 |
!!OPTIONS |
|
|
55 |
|
|
|
56 |
|
|
|
57 |
__-d__, __--debug__ |
|
|
58 |
|
|
|
59 |
|
|
|
60 |
Output debugging information; repeating this option |
|
|
61 |
increases the verbosity. Debug level 1 generates moderate |
|
|
62 |
information about the actions being taken; debug level 2 |
|
|
63 |
enables parser recognition output; debug level 3 enables |
|
|
64 |
lexical analysis output. |
|
|
65 |
|
|
|
66 |
|
|
|
67 |
__-D__, __--dump__ |
|
|
68 |
|
|
|
69 |
|
|
|
70 |
Dump expanded symbol definitions to stderr. For debugging |
|
|
71 |
use only. |
|
|
72 |
|
|
|
73 |
|
|
|
74 |
__-h__, __--help__ |
|
|
75 |
|
|
|
76 |
|
|
|
77 |
Display a summary of options and immediately |
|
|
78 |
exit. |
|
|
79 |
|
|
|
80 |
|
|
|
81 |
__-k__ ''version'', __--kernel__ |
|
|
82 |
''version'' |
|
|
83 |
|
|
|
84 |
|
|
|
85 |
Select the version of the kernel for which to generate |
|
|
86 |
output. Omitting this option assumes a version below 2.1.0. |
|
|
87 |
Versions below 2.1.18 use checksum version 1, and produce |
|
|
88 |
their output in the directory given on the command line. |
|
|
89 |
Versions 2.1.18 and above use checksum version 2 and produce |
|
|
90 |
their output on stdout. |
|
|
91 |
|
|
|
92 |
|
|
|
93 |
__-p__ ''string'', __--prefix__ |
|
|
94 |
''string'' |
|
|
95 |
|
|
|
96 |
|
|
|
97 |
Prepend the given string to the CRCs generated for all |
|
|
98 |
symbols. This is intended for use with, e.g., SMP kernels, |
|
|
99 |
wherein the modules are not compatible at a level below that |
|
|
100 |
described by the data types. This is primarily caused by |
|
|
101 |
inline function expansions in the module code |
|
|
102 |
itself. |
|
|
103 |
|
|
|
104 |
|
|
|
105 |
__-q__, __--quiet__ |
|
|
106 |
|
|
|
107 |
|
|
|
108 |
Quiet warnings, i.e. reverse the __-w__ |
|
|
109 |
option. |
|
|
110 |
|
|
|
111 |
|
|
|
112 |
__-V__, __--version__ |
|
|
113 |
|
|
|
114 |
|
|
|
115 |
Display the version of __genksyms__. |
|
|
116 |
|
|
|
117 |
|
|
|
118 |
__-w__, __--warnings__ |
|
|
119 |
|
|
|
120 |
|
|
|
121 |
Enable warnings due to unrecognized syntax and declared but |
|
|
122 |
undefined structures. These warnings are normally |
|
|
123 |
suppressed. |
|
|
124 |
!!SEE ALSO |
|
|
125 |
|
|
|
126 |
|
|
|
127 |
insmod(8), modprobe(8) |
|
|
128 |
!!BUGS |
|
|
129 |
|
|
|
130 |
|
|
|
131 |
The __-h__ option is broken; __--help__ is |
|
|
132 |
fine.__ |
|
|
133 |
genksyms__ [[__-V__ | __--version__] should display |
|
|
134 |
version information and then exit immediately. Instead, it |
|
|
135 |
prints the version information and behaves as if no options |
|
|
136 |
were given. |
|
|
137 |
!!HISTORY |
|
|
138 |
|
|
|
139 |
|
|
|
140 |
This versioning concept is a result from discussions, not at |
|
|
141 |
least on the KERNEL-channel, with a lot of |
|
|
142 |
people. |
|
|
143 |
|
|
|
144 |
|
|
|
145 |
The genksyms utility was created in 1994 by Bjorn Ekwall |
|
|
146 |
|
|
|
147 |
|
|
|
148 |
It was rewritten in 1996 by Richard Henderson to use a |
|
|
149 |
proper lexer and parser. |
|
|
150 |
---- |