[FreeBSD-users-jp 95918] Re: ELF interpreter /usr/libexec/ld-elf.so.1 not found
Tomoaki AOKI
junchoon @ dec.sakura.ne.jp
2016年 8月 9日 (火) 15:03:40 UTC
青木@名古屋です。
今回ので大ヒント頂きました。 まさかSVR4だったとは。
但し、何らかの理由でbrandingが壊れている可能性も無くはないので、確認
ですが、このバイナリは提供を受けた時点でFreeBSD用だと分かっているもの
ですか?
そうであれば、単にbrandelfでrtldがFreeBSD用だと認識できるようにすれば
直る筈ですし、FreeBSDでも動かせるんだよね、とLinux用が提供されたので
あれば(追加の作業が必要だったかもしれませんが)同様にbrandelfでLinux
用に設定しなおせば動く見込みはあります。 このあたりはこちらでは何とも
判断できませんので...。
※記憶が曖昧ですが、10系のどこかでELF brandingのチェックを厳格化する
変更があったような...?
本当にSVR4バイナリであれば、下記でamd64版10.3のNOTESを見てみると、
#XXX keep these here for now and reactivate when support for emulating
#XXX these 32 bit binaries is added.
となっていて、肝心のSVR4関連は
#XXX#options COMPAT_SVR4 # build emulator statically
でXXXになっているので、現状amd64では駄目なようです。 11も同様で、
svr4.ko モジュールすら標準ではビルドされません。
https://svnweb.freebsd.org/base/releng/10.3/sys/amd64/conf/NOTES?annotate=296373
10.2でも同様のようですので、何故10.2p18では動いていたかというのが謎
なのが冒頭でELF brandingが壊れているのを疑った理由です。
一方、i386版ではそうなっていないので、GENERICカーネルには入らない
もののsvr4.koをkldloadしてあげれば使える望みはあるかと。
https://svnweb.freebsd.org/base/releng/10.3/sys/i386/conf/NOTES?annotate=296373
ただ、下記を見る限り、10.2-RELEASE時点でカーネルモジュールも標準では
ビルドされなさそうに見えます(制御するビルドオプションまでは発見できて
いませんが...)。
https://svnweb.freebsd.org/base/releng/10.2/sys/modules/Makefile?annotate=285830
VirtualBoxなり何なりの仮想環境でもいいと思いますので、i386版でカスタム
カーネルを作って試してみる価値はあるのでは?
※options COMPAT_SVR4とdevice streamsとoptions KTRACEの3行を含む
カーネル構成ファイルを使って下さい。 もしかすると、options IBCS2
の行も必要かもしれません。
On Tue, 09 Aug 2016 20:13:16 +0900
"kenji at kens.fm" <kenji at kens.fm> wrote:
> > furuiproguramu の動作、ソースの有無、素性など、疑問
>
> 取引先から提供されるバイナリでソースはもらえません。
> 取引毎に暗号化されたデータを受け取ってこのプログラムに与えると読めるデー
> タにして標準出力に出してくれます。
>
> ソースのdiffを見てみました 10.2p20 と 10.3R で比較しました
> diff -r すると沢山すぎてどこから見て行こうかと考えましたが
>
> # brandelf ./furuiproguramu
> File './furuiproguramu' is of brand 'SVR4' (0)
>
> SVR4 と言う事らしいので
>
> diff -r 10.2_sys 10.3_sys | grep svr4
> で見ますと
>
> sys/compat/svr4/svr4_sysvec.c で
> > .sv_thread_detach = NULL,
> > .sv_trap = NULL,
>
> がそれっぽい気がしてますが、この辺りになると私の知識では見当違いなのかど
> うかさえも分らないです。
>
> sv_thread_detach = NULL でWebを検索すると
> https://lists.freebsd.org/pipermail/svn-src-stable-10/2016-January/007572.html
> がそれっぽいかなと思いました。
>
> stable releng SA/EN の更新がどのような構造なのか上手く理解できていな
> くて 青木さんが書いて頂いたリストを上手く活用できていません。
> そのあたりについては、もう少し勉強してみます。
>
>
> --
> けんずふぁみりー
> _______________________________________________
> freebsd-users-jp at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-users-jp
> To unsubscribe, send any mail to "freebsd-users-jp-unsubscribe at freebsd.org"
>
--
青木 知明 [Tomoaki AOKI] <junchoon at dec.sakura.ne.jp>
freebsd-users-jp メーリングリストの案内