相当于Clang的GCC -mpush-args标志

问题描述

我正在尝试从某些x86程序集中调用C函数。 C代码是使用Clang编译的:

Apple clang version 12.0.0 (clang-1200.0.32.2)
Target: x86_64-apple-darwin19.6.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLinetools/usr/bin

我依赖于将函数参数推送到堆栈上进行调用,但是clang似乎并不直接允许函数从堆栈接受参数。相反,它使用堆栈偏移量和寄存器移动的组合来操纵参数。对于GCC,有一个标志-mpush-args,它允许您通过堆栈提供参数,而没有别的。由于我正在使用Clang,因此此标志不可用。我已经进行了大约一个小时的研究,以找到Clang的等效标志,但我一直找不到。有人知道Clang是否有等效标志吗?

这是我的代码自变量: -mstackrealign -fverbose-asm -S -masm=intel -O0

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)