dong_abc 发表于 2012-12-9 18:26

linux内核升级关于CONFIG_DEBUG_SECTION_MISMATCH

编译的时候提示
ERROR: modpost: Found 2 section mismatch(es).
To see full details build your kernel with:
'make CONFIG_DEBUG_SECTION_MISMATCH=y'

于是就make CONFIG_DEBUG_SECTION_MISMATCH=y 编译下来OK,但是我在根目录.config文件中把CONFIG_DEBUG_SECTION_MISMATCH设置成y , 再编译尽然出了好3个警告,如下

晕,终端被我清掉了,就剩一个,都是关于s3c_ide_set_platdata的。什么意思?

WARNING: arch/arm/plat-samsung/built-in.o(.text+0xb90): Section mismatch in reference from the function s3c_ide_set_platdata() to the function .init.text:s3c_set_platdata()
The function s3c_ide_set_platdata() references
the function __init s3c_set_platdata().
This is often because s3c_ide_set_platdata lacks a __init
annotation or the annotation of s3c_set_platdata is wrong.


dong_abc 发表于 2012-12-9 18:55

本帖最后由 dong_abc 于 2012-12-9 18:56 编辑

解决了,在.config文件里设置make CONFIG_DEBUG_SECTION_MISMATCH=y,编译过程中会提示一个选项,选yes就会有警告;选no就不会有,但是它又把.config文件中的CONFIG_DEBUG_SECTION_MISMATCH清掉了。所以直接在编译过程中执行make CONFIG_DEBUG_SECTION_MISMATCH=y就可以了,不用去改什么配置文件,麻烦。

原野之狼 发表于 2012-12-11 08:56

尽量用makefile来管理工程在make时就不要带啥config参数了
页: [1]
查看完整版本: linux内核升级关于CONFIG_DEBUG_SECTION_MISMATCH