[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 メーリングリストの案内