drm_of.c中的drm_of_component_match_add可以生成在System.map,但是drm_of_lvds_get_dual_link_pixel_order也使用了EXPORT_SYMBOL为什么不能生成是为什么
时间: 2023-09-18 14:10:07 浏览: 147
嵌入式系统/ARM技术中的Linux内核中EXPORT_SYMBOL的用法
EXPORT_SYMBOL 用于指定一个符号可以被外部模块访问,但是它并不会生成在 System.map 文件中。System.map 文件主要记录内核符号表,即内核中所有可导出符号的地址信息。在内核启动时,System.map 文件会被读取,以方便调试和排错。
在 Linux 内核中,可导出符号被定义为带有 EXPORT_SYMBOL 或 EXPORT_SYMBOL_GPL 宏的全局函数或变量。当内核模块需要链接到这些符号时,它们会被自动加载到内核空间中。
因此,如果你需要在 System.map 文件中记录一个符号的地址信息,你需要在内核配置选项中启用 CONFIG_KALLSYMS,并重新编译内核。启用该选项后,内核会生成一个 System.map 文件,其中包含所有已导出符号的地址信息。
阅读全文