Penguin
Annotated edit history of genksyms(8) version 1 showing authors affecting page license. View with all changes included.
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 ----
This page is a man page (or other imported legacy content). We are unable to automatically determine the license status of this page.