[問題] callstack for x86/x64

作者: yshihyu (yshihyu)   2016-01-24 16:13:50
https://gist.github.com/anonymous/3f2a1d658af451d1b9f6 // 程式碼
gcc -m32 -g test.c -o test
objdump -dS test
https://gist.github.com/anonymous/88ad40d047d19827b202
gcc -g test.c -o test
objdump -dS test
https://gist.github.com/anonymous/95e284285fc3f558c082
請問為什麼分析 call stack gcc 都會加上 -m32 ,
看網路上講法x64函數參數是用register 傳遞, 這樣不能分析嗎?
-m32 是記憶體傳遞?
如果不加上 -m32 在 x64 分析 call stack 會有什麼問題嗎?
謝謝
作者: mshockwave (夏克維夫)   2016-01-24 17:19:00
不行在64bits機子上用32bits的calling convention吧
作者: tjjh89017 (伊達政宗)   2016-01-24 17:34:00
-m32是把程式編譯成32bit
作者: descent (「雄辯是銀,沉默是金」)   2016-01-24 22:09:00
x86/x64 的 function call convention 不同,單純看你想看哪一種

Links booklink

Contact Us: admin [ a t ] ucptt.com