c - "MODULE_INFO(retpoline, "Y")" 宏是什么?
问题描述
我在一些驱动程序源代码中看到以下行:
MODULE_INFO(retpoline, "Y")
是做什么的?
解决方案
该宏定义了存储在已编译模块文件中的键值对。您可以使用modinfo
命令来显示它们。例如,当你编译这个模块时,modinfo my_module.ko
会包含一行
retpoline: Y
您可以通过在LXR interface上搜索来找到宏的定义及其文档(例如)。它通过在目标文件的部分中定义一个符号来工作。.modinfo
此机制用于加载到内核中的模块和用户级工具(例如modprobe
. 标准元数据包括别名、许可证、版本等。
该retpoline
标签表明该模块是在构建时支持对Spectre的缓解。我不知道为什么驱动程序源代码会明确声明这一点:据我所知,在使用 retpoline 支持进行编译时,它应该自动插入(通过头文件):这是编译器功能,而不是源代码的属性。
推荐阅读
- django - Django切换数据库用户
- powershell - 如何在不更改格式的情况下从 powershell 更新 yaml 文件?
- java - 如何修复加载主类错误时发生的 LinkageError?使用其他 JDK 运行时?
- c++ - 打印作为参考给出的函数输入的名称
- c# - ASP.NET CORE:尝试激活“API.Controllers.UsersController”时无法解析“API.SQLConnection.IDBConnection”类型的服务
- firebase - 我的问题是关于如何在将图像上传到 firebase 之前预览图像?(image_picker_package)(提供者)
- elixir - 更新位置 cast_coordinate 引发参数错误
- python - 如何添加按类别“区分”累积变量的列?
- c++ - Catkin 构建在构建时失败。未定义对 YAML 错误的引用
- mongodb - 如何在 golang 应用程序中添加 MongoDb 模式验证器