僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
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や内容が変った場合はあしからず。