커널모듈간의 심볼참조 질문
글쓴이: declspec / 작성시간: 목, 2012/05/17 - 11:55오후
우분투 10.04 에서
2개의 커널모듈을 컴파일해서 한놈의 export 한 함수를
다른커널모듈이 호출하는 간단한 테스트를 하려합니다.
아래는 심볼을 EXPORT 하는 모듈입니다.
그 아래는 이것을 호출하는 모듈입니다.
하지만 두번째 모듈을 컴파일하고 insmod 할때
undefind 심볼때문에 에러가나는데
왜 참조가 안되는걸까요??
그리고 인터넷에 보면 심볼등록이 됬는지
/proc/ksyms
/proc/kallsyms
를 통해 알수있다는데
우분투 10.04에서는 ksyms 같은경우는 아예없고
kallsyms 는 루트로도 액세스가 안되던데 이건 어떻게된걸까요...
조언 부탁합니다~!
#include<linux/module.h>
#include<linux/init.h>
void my_func(void);
EXPORT_SYMBOL(my_func);
int test_val=300;
void my_func()
{
printk("This is my_func()\n ");
printk("test_val = %d",test_val);
printk("End of my_func()\n ");
}
int my_init(void)
{
printk("module loaded\n ");
return 0;
}
void my_exit(void)
{
printk("module unloaded\n ");
}
module_init(my_init);
module_exit(my_exit);
MODULE_AUTHOR("LEARNING LINUX KERNEL");
MODULE_DESCRIPTION("EXPORTING SYMBOLS");
MODULE_LICENSE();#include<linux/module.h>
#include<linux/init.h>
void my_func();
int my_init(void)
{
printk("call global symbol my_func...\n");
my_func();
return 0;
}
void my_exit(void)
{
printk("module unloaded2\n ");
}
module_init(my_init);
module_exit(my_exit);
MODULE_AUTHOR("LEARNING LINUX KERNEL");
MODULE_DESCRIPTION("EXPORTING SYMBOLS");
MODULE_LICENSE();Forums:


댓글 달기