Conference Room SAD
[thread display] [new arrival display] [word search] [past log] [管理用]

Subject Re: 64bit Linuxでの動作確認
Date: 2008/04/07(Mon) 21:00:04
ContributorAkio Morita

> SAD WikiのFAQに
> Athlon64/Opteron/Xeon上の 64bit Linux
> ・64bit用のバイナリーは全滅と思え
> ・開発者向けの Workaroundはあるので、興味のある人は src/sim/unix_memory_.cを読んで見るべし
> ・#define TRY_SAD_MAP_ADD32, #define USE_MMAP_FOR_MALLOC(使った人は動作レポートよろしく)
> と書いてありましたので、
> 64bit Linuxで試してみました。
>
> トラッキングでNPARA=1の場合には試した限りにおいては問題はなさそうですが、
> NPARA=2ではSegumentation faultとなりました。
>
> sad1.exe[21456]: segfault at 000000000004f178 rip 000000000042b89e rsp 00007fffa
> 1a3bec0 error 6
>
> Linux:
> Linux version 2.6.18-1.2798.fc6 (brewbuilder@hs20-bc1-6.build.redhat.com) (gcc v
> ersion 4.1.1 20061011 (Red Hat 4.1.1-30)) #1 SMP Mon Oct 16 14:39:22 EDT 2006
>
> oldsad:
> oldsad-1.0.10.2.4b
>
まあ、予想通りの結果かな...
おそらく NPARA>1で確保する mmapが スタック上の自動変数をリファレンスにしているので、
スタックが 8GB境界の外にでてしまっているのが原因だと思う

この Workaroundに関しては、移植性が無い&ただの悪あがきなので
私はこれ以上改良するつもりは有りません
#本質的には、内部のデータ構造を 語長非依存に
#再設計・実装して解決するべき問題だと思うので


- 関連一覧ツリー (Click ▼ to display all articles in a thread.)