8
(BL)またはリンク付き分岐命令はほとんど常にある、しかし0xebfffffe'BL'アームの命令分解はどのように機能しますか?
となり、プロセッサおよびGNU binutilsのは何とか分岐する場所を知ってobjdumpは:
00000000 <init_module>:
0: e1a0c00d mov ip, sp
4: e92ddff0 push {r4, r5, r6, r7, r8, r9, sl, fp, ip, lr, pc}
8: e24cb004 sub fp, ip, #4
c: e24dd038 sub sp, sp, #56 ; 0x38
10: ebfffffe bl 0 <init_module>
14: e59f0640 ldr r0, [pc, #1600] ; 65c <init_module+0x65c>
18: ebfffffe bl 74 <init_module+0x74>
どのように彼らは知っていますか?
ありがとう(spasibo)。ファイルはカーネルモジュールです。私はそれが最終的な、リンクされた実行可能ファイルだと思ったが、それは明らかにそうではない。 '-r'スイッチは私が探していたものです。 – yanychar
部分的にリンクされています。インポートされたカーネルシンボルはロード時にカーネルローダによって解決されます。 –