(toppers-users 1717) Re: syslog 機能について

Hiroshi Morita morita @ adac.co.jp
2004年 10月 29日 (金) 16:21:31 JST


倉本さん、

森田です。

mkuramoto_1967>結局、ソースを直接さわらなければならず、
mkuramoto_1967>
mkuramoto_1967>./config/sh3/cpu_config.c
mkuramoto_1967>./config/sh3/ms7727cp01/sys_config.c
mkuramoto_1967>./kernel/startup.c
mkuramoto_1967>
mkuramoto_1967>のsyslog関連の呼び出しを#ifndef OMIT_SYSLOG〜#endifでく
mkuramoto_1967>くり、かつ、*.cfgで
mkuramoto_1967>
mkuramoto_1967>#ifdef TARGET_MS7727CP01
mkuramoto_1967>#include "hw_h8.cfg"
mkuramoto_1967>#endif
mkuramoto_1967>
mkuramoto_1967>を入れないようにし、森田さんのアドバイスを少し流用してMakefile
mkuramoto_1967>を、
mkuramoto_1967>
mkuramoto_1967>STASK_COBJS := $(STASK_COBJS) timer.o t_perror.o $(CXXRTS)
mkuramoto_1967>
mkuramoto_1967>とすることでsyslog及びst16c2550関連のオブジェクトを排除
mkuramoto_1967>することができるようになりました。
mkuramoto_1967>
mkuramoto_1967>カーネルソースとBSPソースに直接手を入れることになったの
mkuramoto_1967>は私としてはやりたくなかったのですが(できればConfiguration
mkuramoto_1967>及びMakefileで切り抜けたかったため)、期待する結果が得ら
mkuramoto_1967>れたのでよしとします。
mkuramoto_1967>
mkuramoto_1967>もし誰か他にスマートな方法をご存知でしたら、どうか教えて
mkuramoto_1967>下さい。
mkuramoto_1967>
mkuramoto_1967>以上、ご報告まで。
mkuramoto_1967>

#########  syslog関連の呼び出しを#ifndef OMIT_SYSLOG〜#endifでくくり、

./config/sh3/cpu_config.c

    syslog(LOG_EMERG, "Unregistered Expevt error occurs.");

このような部分ですよね。

syslog(....) はいろいろなところで使っていると思いますので
これらを#ifndef OMIT_SYSLOG〜#endifでくくるのではなく

#ifdef OMIT_SYSLOG
#define syslog()
#endif

として、syslog(....)の部分のコードを全てなしにする方法がよいと
思います。

この定義はどこでするのが良いのでしょう(t_syslog.hでしょうか)?


----------------------------------------------------------------------
(株)アドバンスドデータコントロールズ
   技術本部 OS開発部   森田 浩
〒170-0004 東京都豊島区北大塚1−13−4 日本生命大塚ビル
(TEL)03-5394-8145        (FAX)03-3576-1772
(E-Mail) morita @ adac.co.jp  (URL)http://www.adac.co.jp