undefined reference to 'errno' 에러입니다..
글쓴이: negi97 / 작성시간: 월, 2003/07/21 - 7:14오후
시스템 콜 작성을 시작으로 리눅스 시스템 프로그램을 시작하려고 했는데..
커널 컴파일 하구 나니..에러가 발목을 잡네요.. 하수의..비애..ㅜ.ㅜ
현재 redhat 9.0 을 사용하고 있으며..
커널은 2.4.21을 사용하고 있습니다.
여기저기 데이터 찾아서..시스템 콜을 작성하고 있는데..
컴파일후
undefined reference to 'errno'가 뜨더라구요..
리눅스는.. /usr/src/linux/linux- 2.4.21에 설치 되어있고
system call 파일은 /usr/src/linux/linux-2.4.21/kernel /mysystemcall.c로 작성되어있습니다..
#include <linux/unistd.h> #include <linux/errno.h> #include <linux/sched.h> asmlinkage int sys_mysystemcall(int x, int y) { return x+y; }
Quote:
test file은 /home/syscalltest.c에 있습니다.
#include <stdio.h> #include <linux/unistd.h> _syscall2(int , mysystemcall, int, x, int , y) int main() { int i; i = mysystemcall(10,10); printf("system call : mycall return -> %d\n", i); return 0; }
Quote:
입니다..
문법상의 문제는 아닌거..같은데.. 고수님들의..도움.. 부탁드립니다..
ㅜ.ㅜ
Forums:
<errno.h> 파일을 인클루드 하세요..
^^; 컴파일 이 됐습니다.. 에러가 안뜨네요..ㅡㅡ;
아직도.. 무슨 문제였는지는 파악이 안되지만..ㅠ.ㅠ
그런데..문제가 있습니다..
결과가.. 제대로 안뜨네요..
두 값을 더하는 문제로..20이 나와야 하는데..
-1이 나오네요..
-1이 나온다면.. 시스템 콜.. 작성한후.. 커널에서의 문제 같은데..
커널 컴파일을 다시 해야하는건가요..?
-1은.. 어쨌든..실패를 나타내는 거니깐여..
system call 의 결과가..-1이라면.. 그 다음은 어떤 과정으로
문제를 해결하면 되는지.. 도움 부탁드립니다..
댓글 달기