重村法克です。

On Tue, 06 Jan 2009 03:01:43 +0900
Hajimu UMEMOTO <u...@mahoroba.org> wrote:
> linuxpluginwrapper の作者である nork さんから、7 以降で導入された ELF
> Symbol Versioning と相性が悪く、7 以降では linuxpluginwrapper は動かせ
> ないと聞いています。

        はい。C++ でもあるらしいのですが(誰から聞いたんだっけかな, 確か AsiaBSDCon
        2007 の時), weak symbol の参照解決順序が定義されておらず, どういう風に参照
        解決されるか保証がない/する方法がないとのことです。ELF Symbol Versioning
        以前と以後で, 標準関数(?)の全てが weak symbol になってしまったため, この影
        響がでかくなっています。

        それ以外でも,
        1. 実証サンプルに Flash プラグインはきつい:-)
           LPW が悪いのか Flash が悪いのかわからない。LPW 叩かれる(?)ほど本家
           でも動いてないようで。。。

        2. gets(3) みたいに FILE 構造体の中身を直接見るようなものを乗っ取るのが
           原理的に不可能。やるとしたら L の FILE 構造体を完全にエミュレーション
           する必要がある。Flash だと環境が限定できるので, ある程度その手のオペレ
           ーションはなさそうだけど, 一般的なライブラリ, シェアードオブジェクト相
           手にはきつい。よってサポートしないといけない関数が膨大になる。

        3. mmap(2) のように極めて初期に参照解決されているものをフックするのが極
           めて難しい。ていうかいきなり動かなくなってニッチもサッチもいかなくなっ
           た:-)。確証が得られてないけど, たぶん libc に組み込まないとダメ。組み
           込むとしても, マージするのは, そうとうの効果が確認できないと不可能。

        以上よろしくお願いいたします。

メールによる返信