2024/01/27 ELF読解演習/リンカ
演習:
1. 以下のコマンドを用いて、生成したオブジェクトファイルをリンクしてみましょう。
$ ld -dynamic-linker /lib64/ld-linux-x86-64.so.2 /usr/lib/x86_64-linux-gnu/crt1.o /usr/lib/x86_64-linux-gnu/crti.o -lc howto_compile.o /usr/lib/x86_64-linux-gnu/crtn.o -o howto_compile.out
2. howto_compile.outが生成されたことを確認してみましょう。
3. fileコマンドで、howto_compile.outファイルの種類を確認してみましょう。
4. howto_compile.outを実行してみましょう。
演習の解答例
1. 省略
2.
$ ls | grep howto_compile.out
3.
$ file howto_compile.out
howto_compile.out: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, not stripped
POINT:
executable
実行可能であるということです。
relocatableなELFは実行できませんが、executableなELFは実行可能です。
relocatableとexecutableの違いについては、下記を参照してください。