static library를 link시키지 못하고 있습니다.

이종근의 이미지

고수님들의 조언 부탁드립니다.

지금 특정 B'd에 linux를 install하여 사용하고 있습니다.
기존에 kernel 2.4.25를 사용하던 것을 필요에 의해 2.6.15로 upgrade하고 있습니다.

사용하는 환경은
ELDK : 4.0
Kernel source : ELDK4.0에 있는 source (2.6.15)
cross compiler & tool : ELDK 4.0에 있는 것들...(ppc)
이 정도 이구요.

어찌 어찌 고생해서 kernel은 정상적으로 동작합니다.
물론 기존에 사용하던 module들도 대부분 수정해서 정상 동작 하구요.

근데, static library를 link해서 사용하던 module이 새로운 kernel에서는 만들어 지지 않네요.
link 시킬 때나, 만들어진 .ko file을 insmod 시킬 때, undefine warnning이 뜹니다.

module을 만들기 위해, 먼저 .o file을 만들고(이때 library는 잘 link된 것 같습니다.), 그리고 나서

"make -C $(KERNEL_DIR) M=$(PWD) modules"
를 이용해서 .ko file을 만들고 있습니다.

이 방법이 정확히 맞는 방법인지도 모르겠네요. 다른 module들은 이렇게 만드니까 .ko file이 만들어 지고
동작도 잘 하던데...

문제점을 이정도로 밖에 설명을 못드리겠네요.
부족한 부분이 있으면 얘기해 주세요.

많은 조언 부탁 드립니다.

ssehoony의 이미지

2.4용 모듈을 그대로 2.6에서 컴파일 했다면 그럴 수도 있습니다.
2.6은 2.4와 많이 다른걸로 알고 있습니다.
2.4와 2.6의 모듈 차이에 대해 조사해 보시면 도움이 되지 않을까 하네요.

이종근의 이미지

ssehoony님
관심 주셔서 대단히 고맙습니다.

kernel 2.6에서 module 만들 때 필요로 하는 조건은 만족 시켜 주었습니다.
다른 module들은 이렇게 고쳐서 잘 돌고 있거든요.
다만, static library를 같이 link시켜야 하는 놈만 문제가 되고 있습니다.

undefine 되었다고 하는 것(함수 또는 변수)들도 모두 library에 있는 것들이구요.

혹시, library 만들 때 option이 뭔가가 달라야 하는 건지, 아니면, library를 link 시킬 때 뭔가
option이 있어야 하는 건지 ....

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.