玄箱でkernel 2.4.31 その2

2chにrtcのコンパイルエラーの対策が出てました。
gccのバージョンにも依存します。
修正するファイル drivers/char/rs5c372.c drivers/net/r8169.c

% cd <somewhere>/linux-2.4.31 
% patch < something.txt 

--- ./drivers/char/rs5c372.c.old 2006-01-09 17:53:28.000000000 +0900 
+++ ./drivers/char/rs5c372.c 2006-01-09 20:31:49.000000000 +0900 
@@ -184,6 +184,8 @@ 
} 
else 
{ 
+ time_t sec; 
+ 
/* set 24h time */ 
buf[0] = 0xf0; 
buf[1] = 0x20; 
@@ -202,7 +204,7 @@ 
ppc_md.get_rtc_time=rs5c372_get_rtc_time; 
ppc_md.set_rtc_time=rs5c372_set_rtc_time; 

- time_t sec = rs5c372_get_rtc_time(); 
+ sec = rs5c372_get_rtc_time(); 
xtime.tv_usec = 0; 
if (sec > 0) 
xtime.tv_sec = sec; 


gcc-2.95 またビルド止まった。
関数の中で使ってるauto変数の宣言をネストの先頭じゃなくて
途中でやっちゃってるからエラーで止まるんだな。 > gcc-2.95
drivers/net/r8169.cも手直しぢゃ。

C++じゃないんだから、そんなことやんない方がいいよなぁ。

あと2,3箇所ありそうな悪寒...


結局、gcc-2ではエラーになる。で、これで修正可能
gcc-3なら、修正不要でコンパイル&起動OK