gcc, glibc 빌드 과정을 이해하려면?

elecguy의 이미지

안녕하세요.
지금 크로스컴파일러 를 빌드하고 있는데 에러가 생기면 어떻게 처리해될지
무천 난감합니다.
binutils 는 쉽게 빌드되더군요.

gcc 와 glibc 가 문제가 많이 발생하더군요 쩝.
에러가 발생해도 이해할 수 없는 스크립트들..
gcc 와 glibc 의 빌드과정을 전체적으로 이해하고 싶은데
어디서 출발해야되는지 난감합니다.
관련 문서찾기가 힘드네요.

또 어떤 선행학습이 필요한쥐.

좋은 참고자료 알려주시면 감사감사..
그럼.

beta의 이미지

이미 검증된 버젼(많은 문서들이 인터넷에 있습니다.)들로 툴체인을 구성해 보시면 감 잡는데 도움되실꺼 같구요.

그런 다음에 신 버젼에서 해 보시는 것이... 아마도 쉬울듯 싶습니다. (튼튼한 삽을 여려게 준비해서...)

그리고 전체 과정을 이해 하실려면 make 에 대한 이해를 하신다음에 스크립트들을 따라가며 보아야겠지요.

비유가 적절할지는 모르겠사오나, c를 한다고 해서 libc 들의 소스를 다 공부하지는 않습니다. 이미 검증된 툴 체인들이 많으니 가져다 쓰시는것도 고려해 보시는 것이.. 어떠실런지요.

kelp.or.kr
kesl.org
google.com
arm.linux.org.uk

저 사이트 정도면 모두 해결 가능하지 않을까 생각 되옵니다. 꾸벅.

발 담갔다. 이제 익숙해 지는길만이..

elecguy의 이미지

구체적으로 말하자면
MIPS 용 크로스컴파일러를 빌드하려고 합니다.
인터넷 문서와 책을 참고하여 빌드하는데 성공했습니다.

문제는 glibc 와 crtXXX.o 들이 MIPS I용으로만 빌드된다는 것입니다.
MIPS IV 용 옵션을 주면 링크단계에서 에러 헉스..

꽁수로 해결할려고 했더니 잘 안됩니다.
그래서, 정면돌파하려구 하는데 참고자료가 부족하네요.

어디 좋은 참고자료없나요?

폐인, 노가다 그 끝은..?

정재호의 이미지

특별한 내용은 없었던 것 같지만 mips라고 하시니 혹시 저는 지나쳤던 먼가가 있을 수도 있겠다 싶어서.

http://www.ltc.com/~brad/mips/mips-cross-toolchain

bootstrap 컴파일러를 직접 build하셔서 하시는 건지요?
성공하시면 config.status와 build 오더(^^)를 올려주시길, mips도 언젠가 쓰게 될지 모르니까 :)

elecguy의 이미지

이 문서와 IT EXPERT 임베디드 리눅스 책을 참고하여 만들었습니다.
아 MIPS I 아닌 MIPS IV 를 만들고 싶다.

소스받아다가 binutils, gcc bootstrap, glibc bootstrap , gcc, glibc 를
만들고 있습니다.
빅엔디안 용이 필요한데. 인터넷에는 리틀엔디안 밖에 없어서리..

빌드하면서 문서도 같이 만들고 있으므로 - 좀 복잡한 관계로 써 놓지 않으면
잊어먹겠더라구요 - 성공하면 올리겠습니다. -_-.

폐인, 노가다 그 끝은..?

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.