我写了一个内核模块,我想生成汇编代码,例如*.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' –