Chinaunix

标题: 给内核镜像里面加入一个initall section出问题问题 [打印本页]

作者: f22jay    时间: 2013-04-16 11:13
标题: 给内核镜像里面加入一个initall section出问题问题
由于需要,将一个initcall section加入到链接脚本,我的做法如下:
在include/asm-generic/vmlinux.lds.h中加入我定义的section
#define INITCALLS                           \
591     *(.initcallearly.init)                      \
592     VMLINUX_SYMBOL(__early_initcall_end) = .;           \
593     *(.initcall0.init)                      \
594     *(.initcall0s.init)                     \
595     *(.initcall1.init)                      \
596     *(.initcall1s.init)                     \
597     *(.initcall2.init)                      \
598     *(.initcall2s.init)                     \
599     *(.initcall3.init)                      \
600     *(.initcall3s.init)                     \
601     *(.initcall4e.init)                 \     我定义的
602     *(.initcall4.init)                      \
603     *(.initcall4s.init)                     \
604     *(.initcall5.init)                      \
605     *(.initcall5s.init)                     \
606     *(.initcallrootfs.init)                     \
607     *(.initcall6.init)                      \
608     *(.initcall6s.init)                     \
609     *(.initcall7.init)                      \
610     *(.initcall7s.init)
最后在vmlinux.lds里面也生成了。
后面再init.h加入

194 #define arch_initcall_sync(fn)      __define_initcall("3s",fn,3s)
195 #define imsert_my(fn)           __define_initcall("4e",fn,4e)//我添加的
196 //add by maverick
197 #define subsys_initcall(fn)     __define_initcall("4",fn,4)   
198 #define subsys_initcall_sync(fn)    __define_initcall("4s",fn,4s)
199 #define fs_initcall(fn)         __define_initcall("5",fn,5)

然后我将一个函数imsert_my,结果在System.map文件中看不到,反汇编该文件,这函数甚至没有被编译进去。求解!!!!!!!!!!!!!!!!!!!!!




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2