我寫了一個內核模塊,我想生成彙編代碼,例如*.s
文件。如何從內核模塊(* .c)生成彙編代碼(* .s)文件?
到目前爲止,我能夠通過使用objdump
從目標文件生成.s
文件,但它不提供適當的彙編代碼。任何人都可以幫助我這個。
我寫了一個內核模塊,我想生成彙編代碼,例如*.s
文件。如何從內核模塊(* .c)生成彙編代碼(* .s)文件?
到目前爲止,我能夠通過使用objdump
從目標文件生成.s
文件,但它不提供適當的彙編代碼。任何人都可以幫助我這個。
你必須使用-S
選項生成彙編代碼,還我會建議禁用任何優化與-O0
選項(如果需要的話),如果你想看到ASSMBLY代碼優化,只需添加-S
有關gcc選項的更多信息,您可以find here
取決於您想要查看asm的原因。如果你想看看編譯器是否做得很好,你應該使用'-O3'(實際上,使用與你用來構建'.o'完全相同的選項,但是用'-S'而不是'-c ')。查看未優化的asm輸出很少有用。另請參見[如何從gcc輸出中移除噪聲](http://stackoverflow.com/questions/38552116/how-to-remove-noise-from-gcc-clang-assembly-output)。我喜歡'gcc -O3 -masm = intel -fverbose-asm -S -o- | less'。儘管對於內核代碼,由於inline-asm假設AT&T,您可能需要避免使用'-masm = intel'。 –
您是否嘗試過使用'-S' –