*参照元 [#cce305f9]
#backlinks

*注意 [#g861fc5e]
-より新しいバージョンがあります。
--[[linux-2.6.33/BUG()]]

*説明 [#pd9831e5]
-パス: [[linux-2.6.25/include/asm-generic/bug.h]]

-バグ警告を出してカーネルを停止(パニック)させる。


**引数 [#na0af98b]
-なし

**返り値 [#j5fc4ae9]
-なし

**参考 [#d68682db]
-x86 版の実装
--[[linux-2.6.25/BUG()(x86)]]

-他のバージョンがあります。
--[[linux-2.6.33/BUG()]]


*実装 [#e7675614]
***CONFIG_BUG が未定義の場合 [#pc0c4952]
 #ifdef CONFIG_BUG
 
 (...略...)
 
 #ifndef HAVE_ARCH_BUG
-アーキテクチャ固有の BUG() がなければ共通の BUG_ON を使う。
--ほぼ全てのアーキテクチャが独自の BUG_ON を定義している。

 #define BUG() do { \
         printk("BUG: failure at %s:%d/%s()!\n", __FILE__, __LINE__, __FUNCTION__
 ); \
         panic("BUG!"); \
 } while (0)
-バグ警告(バグの発生したソースファイル、行番号、関数名)を表示して、
カーネルパニックさせる。
--[[linux-2.6.25/printk()]]
--[[linux-2.6.25/panic()]]

 #endif
 
 (...略...)

***CONFIG_BUG が未定義の場合 [#f656daf4]
 #else /* !CONFIG_BUG */
 #ifndef HAVE_ARCH_BUG
 #define BUG()
-何もしない

 #endif
 
 (...略...)
 
 #endif


*コメント [#q589800b]

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS