トップ «前の日記(2016-02-22(Mon)) 最新 次の日記(2016-02-24(Wed))» 編集

屑俺日記

僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。


2016-02-23(Tue) 徐々に暁を覚えなくなったのは、春が近づいているせいではない

64と32

Debian jessie にて32ビット環境下でビルドした 難解バカボンのバイナリを 64ビット環境下で動作確認。

$ uname -a
Linux jessie32 3.16.0-4-686-pae #1 SMP  \
Debian 3.16.7-ckt20-1+deb8u3 (2016-01-17) \
i686 GNU/Linux
 
$ file nanba 
nanba: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV),\
dynamically linked, interpreter /lib/ld-linux.so.2, \
for GNU/Linux 2.6.32, \
BuildID[sha1]=143e26de8af56728fb7ffcedad726cd2dec79290, not stripped
 
$ ldd nanba
   linux-gate.so.1 (0xb77a3000)
   libc.so.6 => /lib/i386-linux-gnu/i686/cmov/libc.so.6 (0xb75e3000)
   /lib/ld-linux.so.2 (0xb77a6000)

cmovが 意味深長に見える。

$ uname -a
Linux jessie 3.16.0-4-amd64 #1 SMP \
Debian 3.16.7-ckt20-1+deb8u3 (2016-01-17) \
x86_64 GNU/Linux
 
$ ldd nanba 
        linux-gate.so.1 (0xf7707000)
        libc.so.6 => /lib32/libc.so.6 (0xf754e000)
        /lib/ld-linux.so.2 (0xf770a000)
 
$ ./$ ./nanba -s 1 -v -i botchan_utf8.nb1 
 
山嵐自身は苦しそうにあきれ返ったこそい
い面の皮だ。親譲りの無鉄砲の笑い草にな
って胡魔化して狸に違いない。マドンナは
硝子窓を振わせるような声で何だか清と書
いてある。おれがご苦労さま。と礼を云っ
た。

動作には libc6-i386パッケージなどが要った(Ezra除外表記あり)。
それがない環境では、

$ ./nanba 
-bash: ./nanba: そのようなファイルやディレクトリはありません
$ ldd nanba                                                        
        動的実行ファイルではありません

もちろん、逆(64より32)はまず無理とみた。

$ file nanba 
nanba: ELF 64-bit LSB executable, x86-64, version 1 (SYSV),\
dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2,\
for GNU/Linux 2.6.32,\
BuildID[sha1]=8a4691b8cb587420f5495b7a5bc35d6d2bb15610, not stripped
$ ./nanba 
-bash: ./nanba: cannot execute binary file: 実行形式エラー
$ ldd nanba 
        動的実行ファイルではありません

リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。

index.htmlは ここから。