GNU ツール (gcc、binutils など) を使用して、アセンブリ命令のすべての出現をノーオペレーションに変更することは可能ですか? 具体的には、-pg オプションを指定した gcc は、次のアセンブリ (ARM) を生成します。
0x0: e1a0c00d mov ip, sp
0x4: e92dd800 stmdb sp!, {fp, ip, lr, pc}
0x8: e24cb004 sub fp, ip, #4 ; 0x4
0xc: ebfffffe bl 0 <mcount>
この最後の命令のアドレスを記録し、次のコードのように nop に変更したい
0x0: e1a0c00d mov ip, sp
0x4: e92dd800 stmdb sp!, {fp, ip, lr, pc}
0x8: e24cb004 sub fp, ip, #4 ; 0x4
0xc: e1a00000 nop (mov r0,r0)
Linux カーネルは実行時にこれと同様のことを行うことができますが、私はビルド時の解決策を探しています。