1 .\" Copyright (c) 1994 Bjorn Ekwall <bj0rn@blox.se>
2 .\" Copyright (c) 1997 Linux International
3 .\" This program is distributed according to the Gnu General Public License.
4 .\" See the file COPYING in the kernel source directory /linux
6 .\" Translated Sun Aug 15 10:58:55 JST 1999
7 .\" by FUJIWARA Teruyoshi <fujiwara@linux.or.jp>
8 .\" Updated Mon Mar 18 JST 2002 by Kentaro Shirakata <argrath@ub32.org>
10 .TH GENKSYMS 8 "January 30, 2002" Linux "Linux Module Support"
12 genksyms \- シンボルのバージョン情報を生成する
15 [\-wq] [\-dD] [\-V] [\-k\ \fIversion\fR] [\-p string]
16 [\fIoutput\ directory\fR]
18 これは、Linux Kernel 2.4 の時代に使われていた modutils
19 パッケージ所収の古いユーティリティのマニュアルです。(2022/12/02,
23 は (標準入力から) "\fBgcc -E source.c\fR" の出力を読み込み、
26 \fB\-k\fR\ オプションで指定される出力フォーマットにしたがって、
27 出力は指定された出力ディレクトリの \fB.ver\fR ファイルまたは標準出力に
31 は普通ソースファイル中の明示的なシンボルテーブル定義を探す。
32 .BR typedef ,\ struct ,\ union ,\ enum
33 の全ての定義と宣言は後で展開するために保存される。
34 全てのグローバルなシンボルも、後で全て展開できるようにするポインタと共に
37 シンボルテーブルがソース中で見つかると、シンボルは完全な定義に展開される。
38 この際には全ての構造体、共用体、列挙指定子、型宣言は基本部分まで再帰的に
40 こうして得られた最終的な文字列が、CRC アルゴリズムへの入力として使われる。
41 このアルゴリズムは、このシンボルについて含まれている定義が変更されると
47 ここで 12345678 は CRC を表す 16 進値である。
50 .BR \-d ", " \-\-debug
51 デバッグ情報を出力する。このオプションを繰り返して指定すると、
52 出力の詳しさのレベルが大きくなる。デバッグレベル 1 では行った動作に関する
53 普通の情報が表示される。デバッグレベル 2 ではパーザの認識した情報の出力が
54 有効になる。デバッグレベル 3 では構文解析の情報が出力されるようになる。
57 展開したシンボル定義を標準エラー出力にダンプする。デバッグ専用の
63 \fB\-k\fR\ \fIversion\fR,\ \fB\-\-kernel\fR\ \fIversion\fR
64 出力を生成する対象となるカーネルのバージョンを選択する。このオプションを
65 省略すると、バージョンは 2.1.0 より前として扱われる。2.1.18 より前では
66 バージョン 1 のチェックサムを使っており、出力は直接コマンドライン上に
67 生成される。バージョン 2.1.18 以降ではバージョン 2 のチェックサムを
70 \fB\-p\fR\ \fIstring\fR,\ \fB\-\-prefix\fR\ \fIstring\fR
71 全てのシンボルについて、生成した CRC の前に与えられた文字列を付ける。
72 これは SMP 対応カーネル等で使うためのオプションである。このような場合には、
73 データの型で記述するよりも低いレベルにおいてモジュールの互換性がない。
74 非互換性の主な原因は、モジュールのコード自体におけるインライン関数の
77 .BR \-q ", " \-\-quiet
78 警告を出さないようにする。つまり、\-w オプションの逆である。
80 .BR \-V ", " \-\-version
81 \fBgenksyms\fR のバージョンを表示する。
83 .BR \-w ", " \-\-warnings
84 認識できない構文や、宣言されているにも関わらず定義されていない構造体に
85 対する警告を表示するようにする。通常はこのような警告は行われない。
87 .BR insmod "(8), " modprobe "(8) "
89 \fB\-h\fR\ オプションは壊れている。\fB\-\-help\fR\ は正しく動く。
91 \fBgenksyms\fR [\fB\-V\fR\ |\ \fB\-\-version\fR] はバージョン情報を
93 しかしながら、現在はバージョン情報を表示した後、
94 何もオプションが指定されなかったかのように振舞う。
96 このバージョン付けの概念は議論の結果得られたものである。
97 議論も KERNEL-channel だけでなく、多くの人々によって行われた。
99 genksyms ユーティリティは 1994 年に Bjorn Ekwall <bj0rn@blox.se> が作成した。
100 その多くのアイディアは Jacques Gelinas <jack@solucorp.ca> と
101 Jeremy Fitzhardinge <jeremy@suite.sw.oz.au> によるものである。
103 このユーティリティは 1996 年に Richard Hendersnon が書き直し、より適切な