Manpages

名 前

genksyms − シ ン ボ ル の バ ー ジ ョ ン 情 報 を 生 成 す る

書 式

genksyms [−wq] [−dD] [−V] [−k version] [−p string] [output directory]

説 明

genksyms は (標 準 入 力 か ら ) "gcc -E source.c" の 出 力 を 読 み 込 み 、 バ ー ジ ョ ン 情 報 を 含 む フ ァ イ ル を 生 成 す る 。

−k オ プ シ ョ ン で 指 定 さ れ る 出 力 フ ォ ー マ ッ ト に し た が っ て 、 出 力 は 指 定 さ れ た 出 力 デ ィ レ ク ト リ の .ver フ ァ イ ル ま た は 標 準 出 力 に 書 き 出 さ れ る 。

genksyms は 普 通 ソ ー ス フ ァ イ ル 中 の 明 示 的 な シ ン ボ ル テ ー ブ ル 定 義 を 探 す 。 typedefstructunionenum の 全 て の 定 義 と 宣 言 は 後 で 展 開 す る た め に 保 存 さ れ る 。 全 て の グ ロ ー バ ル な シ ン ボ ル も 、 後 で 全 て 展 開 で き る よ う に す る ポ イ ン タ と 共 に 保 存 さ れ る 。 シ ン ボ ル テ ー ブ ル が ソ ー ス 中 で 見 つ か る と 、 シ ン ボ ル は 完 全 な 定 義 に 展 開 さ れ る 。 こ の 際 に は 全 て の 構 造 体 、 共 用 体 、 列 挙 指 定 子 、 型 宣 言 は 基 本 部 分 ま で 再 帰 的 に 展 開 さ れ る 。 こ う し て 得 ら れ た 最 終 的 な 文 字 列 が 、 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 認 識 で き な い 構 文 や 、 宣 言 さ れ て い る に も 関 わ ら ず 定 義 さ れ て い な い 構 造 体 に 対 す る 警 告 を 表 示 す る よ う に す る 。 通 常 は こ の よ う な 警 告 は 行 わ れ な い 。

関 連 項 目

insmod(8), modprobe(8)

バ グ

−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 が 書 き 直 し 、 よ り 適 切 な 字 句 解 析 器 と パ ー ザ を 使 う よ う に し た 。