Gauche:GC:/proc/self/statが使えない場合

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になってる みたいですが、環境によってはこれでいけるかもしれません。

LINUX_STACKBOTTOMの代わりにHEURISTIC2を利用

gcconfig.hの、上で述べた箇所の近くの

#define LINUX_STACKBOTTOM

#define HEURISTIC2

に変えて全部再コンパイル。

これも環境によってはいけるかも。

Tag: GC

More ...