2010-12-09 5 views
0

나는 vfs_read, write 등과 같은 커널 레벨 함수를 사용하는 커널 모듈을 만들었습니다.이 모듈은 .ko 파일을 얻기 위해이 모듈을 만드는 메이크 파일을 가지고 있습니다. 이 .ko 파일의 objdump 출력을 분석하고 싶습니다. 그러나 vfs_read 및 write와 같은 커널 기능은 .ko 파일에서 해결되지 않습니다. 그들은 단지 호출되고 내 추측은 그들이 실행 시간에 해결된다는 것입니다. 메이크 파일을 약간 변경하고 이러한 기능을 분석 목적으로 단일 .ko 파일에 정적으로 연결할 수 있습니까? 컴파일하는 동안 정적을 추가하려고했지만 도움이되지 않았습니다. 어쨌든 누구나 그렇게 제안 할 수 있습니까?커널 레벨의 make 파일에서 정적 링크

답변

0

-static가하는 일에 대한 LD (1) 설명서를 참조하십시오

-static  Do not link against shared libraries.

커널 모듈부터 모든 공유 라이브러리 (또는 그 문제에 대한 모든 라이브러리)에 연결하지 않습니다, 그것은 아무런 영향을 미치지 않습니다.

커널은 "function pool"을 사용하여로드 할 때 정의되지 않은 참조를 해결합니다. 따라서 링크는 메모리에만 있거나 코드를 커널에 넣을 때만 존재합니다.

+0

이렇게 하나의 파일에서 이러한 기능을 얻을 수 있습니까? – prap19

+0

예,하지만 {함수가 포함 된 객체 파일}을 링크해야합니다. – user502515

관련 문제