32 ビットのアセンブリ ファイルを作成しましたが、それを 64 ビットの Linux システムでコンパイル (および動作) させたいと考えています。と をインストールgcc-multilib
しlib32-glibc
ました。
次のコマンドでバイナリを作成しようとしています。
nasm -f elf test.asm
ld -melf_i386 -o test -e _main test.o /usr/lib32/libc.so.6
_main
エントリーポイントはどこですか。ファイル test が作成され、それを chmod します。
chmod ugo+x ./test
しかし、私はそれを開くことができません。私は得る:
bash: ./test: No such file or directory
vimで開くことができるので、ファイルが存在することは確かです(そして、最初の行にELFが書かれているのを見ることができます)。何が起きてる?