[Armadillo:06961] Re: Unknown HZ value!

Takenoshita Koyo email@hidden
2011年 4月 5日 (火) 18:45:21 JST


竹之下です。

> が、これがどこから呼ばれているのかが良くわかりません・・・
static void init_Linux_version(void) __attribute__((constructor));
となっているので、main()が実行される前に実行されているはずです。

参考: main() の前に関数を呼ぶ - bkブログ
http://0xcc.net/blog/archives/000091.html

Masahiro Iino さんは書きました:
> 飯野です
> 
> 情報ありがとうございます。
> どうにもならなかったら、Debianのpsを使ってみます。
> 
> 竹之下さんの問いである、
> "2.4+ kernel w/o ELF notes? -- report this\n"
> というメッセージも一緒に表示されていませんでしょうか?
> は、表示されません。
> そこから考えると、
> 
>   if(linux_version_code > LINUX_VERSION(2, 4, 0)){
>     Hertz = find_elf_note(AT_CLKTCK);
>     if(Hertz!=NOTE_NOT_FOUND) return;
>     fputs("2.4+ kernel w/o ELF notes? -- report this\n", stderr);
>   }
>   old_Hertz_hack();
> 
> ここで、linux_version_codeが2.4より大きくないと言う事になります。
> で、linux_version_codeは、同じディレクトリのversion.hで定義されており、
> version.cに
> static void init_Linux_version(void) {
>     static struct utsname uts;
>     int x = 0, y = 0, z = 0;    /* cleared in case sscanf() < 3 */
> 
>     if (uname(&uts) == -1)      /* failure implies impending death */
>         exit(1);
>     if (sscanf(uts.release, "%d.%d.%d", &x, &y, &z) < 3)
>         fprintf(stderr,         /* *very* unlikely to happen by accident */
>                 "Non-standard uts for running kernel:\n"
>                 "release %s=%d.%d.%d gives version code %d\n",
>                 uts.release, x, y, z, LINUX_VERSION(x,y,z));
>     linux_version_code = LINUX_VERSION(x, y, z);
> }
> となっていて、uname構造体から取り出しているようです。
> が、これがどこから呼ばれているのかが良くわかりません・・・
> 
> (2011/04/05 18:02), TATENO Hiroyuki wrote:
>> 舘野です。
>>
>>> そもそも、なぜ、"old_Hertz_hack"が実行されているのでしょう。
>>> "2.4+ kernel w/o ELF notes? -- report this\n"
>>> というメッセージも一緒に表示されていませんでしょうか?
>>>
>>> *1: そもそも、この計算方法では正確な値が得られないような気がするのですが。。
>> 以前、私もbusyboxのpsでは欲しい情報が出なかったため、ATDのpsを
>> 試用した事があるのですが、同様の状態で気持ち悪かったので
>> 最終的にはDebianのpsを入れて使用しています。
>>
>> libprocを一緒にいれてあげれば動きますので、こちらをおすすめします。
>>
>> ---
>> TETENO Hiroyuki
>>
>> _______________________________________________
>> 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


-- 
Koyo Takenoshita




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