[Armadillo:05045] Re: 開発環境「 linux-2.6.12.3-a9-7 」「 atmark-dist-20060908 」のビルドについて

mizo email@hidden
2010年 3月 25日 (木) 15:01:00 JST


溝渕です。

yoshi independence wrote:
> 吉村と申します。
> yashi様 早速のご教授ありがとうございます。
> 教えて頂いたとおり[uaccess.h]ファイルを変更しました。
> すると異なる箇所でエラーになりました。
> 
>   CC      drivers/serial/ep93xx.o
> In file included from include/asm/proc-fns.h:154,
>                  from include/asm/system.h:95,
>                  from include/asm/bitops.h:22,
>                  from include/linux/bitops.h:77,
>                  from include/linux/thread_info.h:20,
>                  from include/linux/spinlock.h:12,
>                  from include/linux/capability.h:45,
>                  from include/linux/sched.h:7,
>                  from include/linux/module.h:10,
>                  from drivers/serial/ep93xx.c:39:
> include/asm/cpu-single.h:44: warning: type qualifiers
> ignored on function return type
> drivers/serial/ep93xx.c:925: error: static declaration of 
> ‘ep93xx_reg’ follows non-static declaration
> drivers/serial/ep93xx.c:901: error: previous declaration
> of 
> ‘ep93xx_reg’ was here
> make[3]: *** [drivers/serial/ep93xx.o] エラー 1
> make[2]: *** [drivers/serial] エラー 2
> make[1]: *** [drivers] エラー 2
> make[1]: ディレクトリ
> `/home/atmark/linux-2.6.12.3-a9-7-vpn-cam' 
> から出ます
> make: *** [linux] エラー 1

これを適用するとどうなりますか?ちなみにlinux-2.6.12.3-a9-17ではこのパッ
チはすでに適用されています。

--- linux-2.6.12.3-a9-7.org/include/asm-arm/cpu-single.h
2005-07-16 06:18:57.000000000 +0900
+++ linux-2.6.12.3-a9-7/include/asm-arm/cpu-single.h    2010-03-25
14:36:59.000000000 +0900
@@ -41,4 +41,4 @@
 extern void cpu_dcache_clean_area(void *, int);
 extern void cpu_do_switch_mm(unsigned long pgd_phys, struct mm_struct *mm);
 extern void cpu_set_pte(pte_t *ptep, pte_t pte);
-extern volatile void cpu_reset(unsigned long addr);
+extern void cpu_reset(unsigned long addr) __attribute__((noreturn));
--- linux-2.6.12.3-a9-7.org/drivers/serial/ep93xx.c     2005-12-14
04:37:05.000000000 +0900
+++ linux-2.6.12.3-a9-7/drivers/serial/ep93xx.c 2010-03-25
14:39:09.000000000 +0900
@@ -898,7 +898,7 @@
  * it to -1, then uart_get_console will search for the first UART
  * which is the same as setting it to 0.
  */
-extern struct uart_driver ep93xx_reg;
+static struct uart_driver ep93xx_reg;
 static struct console ep93xx_console = {
        .name           = "ttyAM",
        .write          = ep93xxuart_console_write,


カーネルデフォルトコンフィギュレーションのパッチはそのまま使用できないか
もしれませんが、linux-2.6.12.3-a9-17を使用してみてはいかがでしょうか?

[特集 : ET2006デモ紹介 - ネットワーク対応監視カメラシステム]
http://armadillo.atmark-techno.com/articles/et2006/network-camera

にあるソースファイルのバージョンは、この特集を書いたときに動作確認を行
なったバージョンです。これ以外のバージョンのソースファイルでは動作しない
というものではありません。(動作しない場合もあるかもしれませんが…。)

以上です。

> 申し訳ないですが、また教えて頂けないでしょうか?
> よろしくお願いします。
>> こんな感じで直りますか?
>>
>> --- linux-2.6.12.3-a9-6/include/asm-arm/uaccess.h
>> 2005-07-16 06:18:57.000000000 +0900
>> +++ linux-2.6.12.3-a9-17/include/asm-arm/uaccess.h
>> 2009-03-06 19:53:28.000000000 +0900
>> @@ -120,7 +120,7 @@
>>  #define get_user(x,p)							\
>>  	({								\
>>  		const register typeof(*(p)) __user *__p asm("r0")
>> = (p);\
>> -		register typeof(*(p)) __r2 asm("r2");			\
>> +		register unsigned long __r2 asm("r2");			\
>>  		register int __e asm("r0");				\
>>  		switch (sizeof(*(__p))) {				\
>>  		case 1:							\
>> @@ -132,12 +132,9 @@
>>  		case 4:							\
>>  	       		__get_user_x(__r2, __p, __e, 4, "lr");		\
>>  			break;						\
>> -		case 8:							\
>> -			__get_user_x(__r2, __p, __e, 8, "lr");		\
>> -	       		break;						\
>>  		default: __e = __get_user_bad(); break;			\
>>  		}							\
>> -		x = __r2;						\
>> +		x = (typeof(*(p))) __r2;						\
>>  		__e;							\
>>  	})
>>  
>>
>> または、こちらで:
>>
> http://git.kernel.org/linus/d2c5b69099ff747f9757da2416383b9a999171b1
>> -- 
>>          yashi
>> _______________________________________________
>> armadillo mailing list
>> email@hidden
>>
> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
> 
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
> 



armadillo メーリングリストの案内