最終更新:2017-07-03 (月) 18:41:37 (2460d)
Module.symvers
Top / Module.symvers
カーネルモジュールのロードのときのバージョン判定とかに使われるファイル
メモ
- Module versioning is enabled by the CONFIG_MODVERSIONS tag
- Module versioning is used as a simple ABI consistency check. The Module versioning creates a CRC value of the full prototype for an exported symbol and when a module is loaded/used then the CRC values contained in the kernel are compared with similar values in the module. If they are not equal, then the kernel refuses to load the module.
- Module.symvers contains a list of all exported symbols from a kernel build.
- During a kernel build, a file named Module.symvers will be generated.
- Module.symvers contains all exported symbols from the kernel and compiled modules. For each symbols, the corresponding CRC value is stored too.
ドキュメント
生成
- モジュールバージョニングを有効にするにはカーネルのフルビルドが必要
- make modules_prepare will not build Module.symvers even if CONFIG_MODVERSIONS is set. Therefore a full kernel build needs to be executed to make module versioning work.
関連
- Linuxカーネル/ビルド
- Modules.symvers? - ものの本によるとLinux 2.6.18以前のファイル名
- Linux/カーネルモジュール/バージョニング