リンクされているダイナミックリンクライブラリを調べる場合、通常は ldd を使います。
ldd 以外の方法で調べるには、objdump コマンドを使います。
オプションは "-p"。
bash を試しに確認した場合の例。
NEEDED に libtinfo.so.5, libdl.so.2, libc.so.6 とあります。
組み込みの時は、クロス環境の objdump コマンドを使えば OK ( こっちの方で使うことがある )。
$ objdump -p /bin/bash /bin/bash: file format elf64-x86-64 Program Header: PHDR off 0x0000000000000040 vaddr 0x0000000000400040 paddr 0x0000000000400040 align 2**3 filesz 0x00000000000001f8 memsz 0x00000000000001f8 flags r-x INTERP off 0x0000000000000238 vaddr 0x0000000000400238 paddr 0x0000000000400238 align 2**0 filesz 0x000000000000001c memsz 0x000000000000001c flags r-- LOAD off 0x0000000000000000 vaddr 0x0000000000400000 paddr 0x0000000000400000 align 2**21 filesz 0x00000000000dfea4 memsz 0x00000000000dfea4 flags r-x LOAD off 0x00000000000e0e08 vaddr 0x00000000006e0e08 paddr 0x00000000006e0e08 align 2**21 filesz 0x0000000000008c88 memsz 0x000000000000e840 flags rw- DYNAMIC off 0x00000000000e0e30 vaddr 0x00000000006e0e30 paddr 0x00000000006e0e30 align 2**3 filesz 0x00000000000001b0 memsz 0x00000000000001b0 flags rw- NOTE off 0x0000000000000254 vaddr 0x0000000000400254 paddr 0x0000000000400254 align 2**2 filesz 0x0000000000000044 memsz 0x0000000000000044 flags r-- EH_FRAME off 0x00000000000c8770 vaddr 0x00000000004c8770 paddr 0x00000000004c8770 align 2**2 filesz 0x0000000000003cec memsz 0x0000000000003cec flags r-- STACK off 0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**3 filesz 0x0000000000000000 memsz 0x0000000000000000 flags rw- RELRO off 0x00000000000e0e08 vaddr 0x00000000006e0e08 paddr 0x00000000006e0e08 align 2**0 filesz 0x00000000000001f8 memsz 0x00000000000001f8 flags r-- Dynamic Section: NEEDED libtinfo.so.5 NEEDED libdl.so.2 NEEDED libc.so.6 INIT 0x000000000041af30 FINI 0x00000000004aafa8 GNU_HASH 0x0000000000400298 STRTAB 0x00000000004105b8 SYMTAB 0x00000000004039a0 STRSZ 0x0000000000008410 SYMENT 0x0000000000000018 DEBUG 0x0000000000000000 PLTGOT 0x00000000006e0fe8 PLTRELSZ 0x00000000000012f0 PLTREL 0x0000000000000007 JMPREL 0x0000000000419c40 RELA 0x0000000000419b80 RELASZ 0x00000000000000c0 RELAENT 0x0000000000000018 VERNEED 0x0000000000419ad0 VERNEEDNUM 0x0000000000000002 VERSYM 0x00000000004189c8 Version References: required from libdl.so.2: 0x09691a75 0x00 09 GLIBC_2.2.5 required from libc.so.6: 0x06969191 0x00 10 GLIBC_2.11 0x06969194 0x00 08 GLIBC_2.14 0x0d696918 0x00 07 GLIBC_2.8 0x06969195 0x00 06 GLIBC_2.15 0x0d696914 0x00 05 GLIBC_2.4 0x09691974 0x00 04 GLIBC_2.3.4 0x0d696913 0x00 03 GLIBC_2.3 0x09691a75 0x00 02 GLIBC_2.2.5
● ダイナミックリンク, ldd 以外, objdump, dynamic link
0 件のコメント:
コメントを投稿