Gauche:GC:/proc/self/statが使えない場合
(2006/07/07 20:46:19 PDT Gauche 0.8.7に関するメモ)
とあるフリーサーバにGaucheをインストールしました。 そのサーバではLinuxが使われてます。 一般ユーザの権限で/procにアクセスできないようになっているせいで、GCがスタックの開始アドレス取得に失敗する模様です。(おそらくセキュリティ上の都合でしょう。) 何か簡単な迂回策があれば教えて下さい。
いくつか試してみて下さい。
USE_LIBC_PRIVATESを利用
gc/include/private/gcconfig.hの788行目あたり、
#define OS_TYPE "LINUX"
の下に、
#define USE_LIBC_PRIVATES 1
を追加して全部再コンパイル。
このフラグの説明は gc/os_dep.c にあります。glibc内部シンボルを 直接参照してスタック開始アドレスを取ります。 glibcのバージョンに依存するかもしれないのと、prelinkによってmallocを フォワードする場合に使えないらしいのでデフォルトではoffになってる みたいですが、環境によってはこれでいけるかもしれません。
- この方法でいけました。ありがとうございました。ちなみにとあるフリーサーバというのはXREAです。
LINUX_STACKBOTTOMの代わりにHEURISTIC2を利用
gcconfig.hの、上で述べた箇所の近くの
#define LINUX_STACKBOTTOM
を
#define HEURISTIC2
に変えて全部再コンパイル。
これも環境によってはいけるかも。
Tag: GC