genksyms - システム管理コマンドの説明 - Linux コマンド集 一覧表
- 名前
- 書式
- 説明
- オプション
- 関連項目
- バグ
- 履歴
名前
genksyms - シンボルのバージョン情報を生成する
書式
genksyms
[-wq] [-dD] [-V] [-kversion
] [-p string]
[outputdirectory
]
説明
genksyms
は (標準入力から) "gcc -E source.c
" の出力を読み込み、
バージョン情報を含むファイルを生成する。
-k
オプションで指定される出力フォーマットにしたがって、
出力は指定された出力ディレクトリの .ver
ファイルまたは標準出力に
書き出される。
genksyms
は普通ソースファイル中の明示的なシンボルテーブル定義を探す。
typedef
,
struct
,
union
,
enumの全ての定義と宣言は後で展開するために保存される。
全てのグローバルなシンボルも、後で全て展開できるようにするポインタと共に
保存される。
シンボルテーブルがソース中で見つかると、シンボルは完全な定義に展開される。
この際には全ての構造体、共用体、列挙指定子、型宣言は基本部分まで再帰的に
展開される。
こうして得られた最終的な文字列が、CRC アルゴリズムへの入力として使われる。
このアルゴリズムは、このシンボルについて含まれている定義が変更されると
すぐに値が変わる整数を与える。
カーネルが持っているバージョン情報は普通、
symbol_R12345678
のようになっている。
ここで 12345678 は CRC を表す 16 進値である。
オプション
-
-d
,
--debug
-
デバッグ情報を出力する。このオプションを繰り返して指定すると、
出力の詳しさのレベルが大きくなる。デバッグレベル 1 では行った動作に関する
普通の情報が表示される。デバッグレベル 2 ではパーザの認識した情報の出力が
有効になる。デバッグレベル 3 では構文解析の情報が出力されるようになる。
-
-D
,
--dump
-
展開したシンボル定義を標準エラー出力にダンプする。デバッグ専用の
オプションである。
-
-h
,
--help
-
オプションの一覧を表示して直ちに終了する。
-
-k
version
,--kernel
version
-
出力を生成する対象となるカーネルのバージョンを選択する。このオプションを
省略すると、バージョンは 2.1.0 より前として扱われる。2.1.18 より前では
バージョン 1 のチェックサムを使っており、出力は直接コマンドライン上に
生成される。バージョン 2.1.18 以降ではバージョン 2 のチェックサムを
使っており、出力は標準出力に生成される。
-
-p
string
,--prefix
string
-
全てのシンボルについて、生成した CRC の前に与えられた文字列を付ける。
これは SMP 対応カーネル等で使うためのオプションである。このような場合には、
データの型で記述するよりも低いレベルにおいてモジュールの互換性がない。
非互換性の主な原因は、モジュールのコード自体におけるインライン関数の
展開である。
-
-q
,
--quiet
-
警告を出さないようにする。つまり、-w オプションの逆である。
-
-V
,
--version
-
genksyms
のバージョンを表示する。
-
-w
,
--warnings
-
認識できない構文や、宣言されているにも関わらず定義されていない構造体に
対する警告を表示するようにする。通常はこのような警告は行われない。
関連項目
バグ
-h
オプションは壊れている。--help
は正しく動く。
genksyms
[-V
|--version
] はバージョン情報を
表示して直ちに終了するべきである。
しかしながら、現在はバージョン情報を表示した後、
何もオプションが指定されなかったかのように振舞う。
履歴
このバージョン付けの概念は議論の結果得られたものである。
議論も KERNEL-channel だけでなく、多くの人々によって行われた。
genksyms ユーティリティは 1994 年に Bjorn Ekwall <bj0rn@blox.se> が作成した。
その多くのアイディアは Jacques Gelinas <jack@solucorp.ca> と
Jeremy Fitzhardinge <jeremy@suite.sw.oz.au> によるものである。
このユーティリティは 1996 年に Richard Hendersnon が書き直し、より適切な
字句解析器とパーザを使うようにした。
- Linux Tips 関連記事
- Linux Tips(目次)
- Linux ディストリビューション一覧
- rpm のファイル名にあるi386とかi686とは
- 自分のマシンの情報を調べる
- cron の設定
- ssh の root ログインを禁止する
- ssh を、ユーザ、IPでアクセス制限
- 鍵交換方式によるssh接続
- 鍵交換方式によるssh接続( windowsから )
- 複数ファイル内の文字列を置換して上書き保存する
- あるグループをイニシャルグループとするユーザー一覧出力
- 複数ファイルのファイル名を一括変換する
- 連番ファイルをコマンド一発で作成する
- 中身がランダムなファイルを任意のサイズで作成する
- Linux ユーザーアカウントをロック・アンロックする