名 前
genksyms − シ ン ボ ル の バ ー ジ ョ ン 情 報 を 生 成 す る
書 式
genksyms [−wq] [−dD] [−V] [−k version] [−p string] [output directory]
説 明
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 [AT] blox.se> が 作 成 し た 。 そ の 多 く の ア イ デ ィ ア は Jacques Gelinas <jack [AT] solucorp.ca> と Jeremy Fitzhardinge <jeremy [AT] suite.au> に よ る も の で あ る 。 こ の ユ ー テ ィ リ テ ィ は 1996 年 に Richard Hendersnon が 書 き 直 し 、 よ り 適 切 な 字 句 解 析 器 と パ ー ザ を 使 う よ う に し た 。