gpt4 book ai didi

Linux 内核模块 ABI (x86)

转载 作者:可可西里 更新时间:2023-11-01 11:44:15 28 4
gpt4 key购买 nike

我正在寻找用于 x86 内核模块调用的 ABI 的官方定义。我最近查看了一个已编译的模块,惊讶地发现:

  • 它使用寄存器来传递前三个参数(eaxedxecx).

  • 它不是 GCC 文档中描述的 fastcalldocs sayfastcall 使用 ecx 和 edx(Microsoft 风格)。

我能找到的唯一相关信息是 this , 但它并没有说太多。

所以:

1) 是否有任何关于内核模块中使用的 ABI 的官方文档(不是系统调用 ABI,而不仅仅是函数列表 - 我确实找到了)。

2) 编译器是如何产生这个奇怪的快速调用的?我错过了一个开关吗?

最佳答案

-mregparm=3 对此负责。

关于Linux 内核模块 ABI (x86),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11847422/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com