´ÙÀ½ ÀÌÀü Â÷·Ê

2. ÇÊ¿äÇÑ °ÍÀ» ¾îµð¿¡¼­ ¾òÀ» ¼ö Àִ°¡?

2.1 Áö±Ý ÀÌ ¹®¼­

ÀÌ ¹®¼­´Â ¸®´ª½º ÇÏ¿ìÅõ ¹®¼­ ½Ã¸®ÁîÀÇ ÇϳªÀÌ´Ù. µû¶ó¼­ ¸ðµç ¸®´ª½º ÇÏ¿ìÅõ ¹®¼­°¡ ÀúÀåµÇ¾î ÀÖ´Â °÷À̶ó¸é ¾îµðµç ÀÖ´Ù. ¿¹¸¦ µé¾î¼­ http://sunsite.unc.edu/pub/linux/docs/HOWTO/¿Í °°Àº °÷ÀÌ ¹Ù·Î ±×°÷ÀÌ´Ù. HTML ¹öÀüÀº http://ftp.linux.org.uk/~barlow/howto/gcc-howto.html¿¡¼­ ãÀ» ¼ö ÀÖÀ¸¸ç ¾à°£ ¹öÀüÀÌ ³ôÀ» Áöµµ ¸ð¸¥´Ù.

2.2 ´Ù¸¥ ¹®¼­µé

gcc ¿¡ ´ëÇÑ °ø½ÄÀûÀÎ ¹®¼­´Â ¼Ò½º ¹èÆ÷ È­ÀÏ¿¡ µé¾îÀÖ´Ù. texinfo È­ÀÏ, .infoÈ­ÀÏÀÇ Çü½ÄÀ¸·Î µé¾îÀÖ´Ù. ³×Æ®¿öÅ© ¼Óµµ°¡ ºü¸£´Ù°Å³ª, ½Ãµð·Ò¿¡ °¡Áö°í Àְųª, ¶Ç´Â Àγ»½ÉÀÌ ¸¹´Ù°í »ý°¢µÉ ¶§¿¡´Â ±×°ÍÀ» untar ÇÑ ÈÄ¿¡ ÇØ´ç È­ÀÏÀ» /usr/infoµð·ºÅ丮¿¡ Ä«ÇÇÇϵµ·Ï ÇÏÀÚ. ¸¸¾à ¾ø´Ù¸é tsx-11¿¡ °¡¼­ ÀڷḦ ã¾Æº¸ÀÚ. Ç×»ó ÃֽŠ¹öÀüÀÌ ÀÖ´Â °ÍÀº ¾Æ´Ò °ÍÀÌ´Ù.

libc ¿¡ ´ëÇÑ ¹®¼­´Â 2 °¡Áö°¡ ÀÖ´Ù. GNU libc ÀÇ °æ¿ì¿¡´Â info È­ÀϵéÀ» °¡Áö°í Àִµ¥ stdio ºÎºÐÀ» »©°í´Â ¾ÆÁÖ ÀÚ¼¼È÷ ¸®´ª½º libc ¿¡ ´ëÇؼ­ ¾Ë·ÁÁÖ°í ÀÖ´Ù. ¸ÇÆäÀÌÁöµµ ±¸ÇÒ ¼ö Àִµ¥ ½Ã½ºÅÛ È£Ãâ(system call ¼½¼Ç 2), ¸¹Àº libc ÇÔ¼ö(¼½¼Ç 3)¿¡ ´ëÇØ ¾ÆÁÖ »ó¼¼È÷ ¼³¸íÇÏ°í ÀÖ´Ù.

2.3 GCC

µÎ °¡Áö ´äÀÌ ÀÖ´Ù.

(a) ¸®´ª½º GCC ÀÇ °ø½ÄÀûÀÎ ¹èÆ÷ÆÇÀº ftp://tsx-11.mit.edu:/pub/linux/packages/GCC/¿¡¼­ ¹ÙÀ̳ʸ® ÇüÅ·Π±¸ÇÒ ¼ö ÀÖ´Ù. Áï ÀÌ¹Ì ÄÄÆÄÀϵǾî ÀÖ´Â °ÍÀ» ¸»ÇÑ´Ù. Áö±Ý ±ÛÀ» ¾²°í ÀÖ´Â ÀÌ ¼ø°£¿¡ ÃֽŠ¹öÀüÀº 2.7.2 ·Î¼­ È­ÀϸíÀº gcc-2.7.2.bin.tar.gzÀÌ´Ù. (ÆíÁýÀÚÁÖ: ÀÌ ¹®¼­ÀÇ ÀÛ¼º½Ã±â°¡ 96³âµµÀÓÀ» »ó±âÇ϶ó!)

(b) FSF·ÎºÎÅÍÀÇ ÃֽŠ¼Ò½º ¹öÀüÀº GNU ÇÁ·Î±×·¥ ÀúÀå¼ÒÀÎ GNU archives¿¡¼­ ±¸ÇÒ ¼ö ÀÖ´Ù. ¼Ò½º ¹öÀüÀÌ Ç×»ó °ø½Ä¹èÆ÷ÆÇ ¹ÙÀ̳ʸ® ¹öÀü°ú °°Àº °ÍÀº ¾Æ´Ï´Ù. configure ½ºÅ©¸³Æ®¸¦ ÀÌ¿ëÇؼ­ ¸ðµç ¼³Á¤À» ÇÒ ¼ö ÀÖ´Ù. tsx-11µµ ¸¶Àú »ìÆ캸µµ·Ï ÇÏÀÚ. ÆÐÄ¡È­ÀÏÀÌ ÇÊ¿äÇÒ Áöµµ ¸ð¸£±â ¶§¹®ÀÌ´Ù.

¾î¶² °ÍÀ̵ç ÄÄÆÄÀÏÀ̶ó´Â °ÍÀ» Çϱâ À§Çؼ­´Â ´ÙÀ½ÀÌ ÇÊ¿äÇÏ´Ù.

2.4 C ¶óÀ̺귯¸®¿Í Çì´õ È­Àϵé

¿©±â¼­ ¿©·¯ºÐ¿¡°Ô ÇÊ¿äÇÑ °ÍÀº ÀÏ´Ü (1)¿©·¯ºÐÀÇ ½Ã½ºÅÛÀÌ a.out Àΰ¡? (2) ¾Æ´Ï¸é µÑ ´Ù ÀÖ´Â °æ¿ì¿¡ µÑ Áß¿¡ ¹«¾ùÀ» ÅÃÇÏ°í ½ÍÀº°¡? ¿¡ µû¶ó ´Þ¶óÁø´Ù. ¸¸¾à ¿©·¯ºÐÀÌ libc 4 ¿¡¼­ libc 5 ·Î ¾÷±×·¹À̵åÇÏ·Á°í ÇÑ´Ù¸é ¿ì¼±Àº ELF-HOWTO¹®¼­¸¦ ºÁ¾ßÇÒ °ÍÀÌ´Ù.

tsx-11¿¡¼­ ±¸ÇÒ ¼ö ÀÖ´Ù.

libc-5.2.18.bin.tar.gz

--- ELF °øÀ¯ ¶óÀ̺귯¸® À̹ÌÁö, Á¤Àû ¶óÀ̺귯¸® ±×¸®°í C ¶óÀ̺귯¸®¿Í ¼öÇÐ ¶óÀ̺귯¸®¸¦ À§ÇÑ Çì´õÈ­Àϵé

libc-5.2.18.tar.gz

--- À§ ¶óÀ̺귯¸®¿¡ ´ëÇÑ ¼Ò½º. ¿©·¯ºÐÀº Çì´õ È­ÀÏÀ» ±¸ÇØ¾ß Çϱ⠶§¹®¿¡ À§¿¡ ÀÖ´Â ¹ÙÀ̳ʸ®¹èÆ÷Æǵµ ÇÊ¿äÇÏ´Ù. ¼Õ¼ö ÄÄÆÄÀÏÀ» ÇÒ °ÍÀÎÁö ¾Æ´Ï¸é ±×³É ¹ÙÀ̳ʸ®¸¦ »ç¿ëÇÒ °ÍÀÎÁö¿¡ ´ëÇÑ ´äÀº °£´ÜÇÏ´Ù. ¹ÙÀ̳ʸ®¸¦ »ç¿ëÇ϶ó! ÇÏÁö¸¸ NYS³ª ¼Îµµ¿ì Æнº¿öµå ±â´ÉÀ» ¿øÇÒ ¶§´Â ¼Õ¼ö ÄÄÆÄÀÏÇÏ´Â ¼ö ¹Û¿¡ ¾ø´Ù.

libc-4.7.5.bin.tar.gz

--- a.out °øÀ¯ ¶óÀ̺귯¸® À̹ÌÁö, Á¤Àû ¶óÀ̺귯¸®(C ÇÔ¼ö, ¼öÇÐ ÇÔ¼ö), À§¿¡ ÀÖ´Â libc 5 ¿Í °øÁ¸ÇÒ ¼ö ÀÖ°Ô²û µðÀÚÀεǾî ÀÖ´Ù. ÇÏÁö¸¸ ¿©·¯ºÐÀÌ a.out ÇÁ·Î±×·¥À» ¾ÆÁ÷µµ °®°í Àְųª °³¹ßÇÏ·Á°í ÇÒ ¶§¸¸ ÇÊ¿äÇÏ´Ù.

2.5 °ü·ÃµÈ µµ±¸µé (as, ld, ar, strings µîµî)

tsx-11¿¡¼­ ±¸ÇÒ ¼ö ÀÖÀ¸¸ç, ÇöÀç ¹öÀüÀº binutils-2.6.x.x.bin.tar.gzÀÌ´Ù.

¹ÙÀ̳ʸ® À¯Æ¿¸®Æ¼µéÀº ¿À·ÎÁö ELF ¸¸ ÀÖ´Ù´Â »ç½Ç¿¡ À¯ÀÇÇÏÀÚ. ÇöÀç ¶óÀ̺귯¸®´Â ELF ·Î¸¸ °³¹ßµÇ°í ÀÖÀ¸¸ç a.out ¶óÀ̺귯¸®´Â ELF ¿Í °°ÀÌ ¾µ ¶§¸¸ ÀǹÌÀÖ´Ù°í »ý°¢ÇÑ´Ù. C ¶óÀ̺귯¸® °³¹ßÀº ELF ÂÊÀ¸·Î¸¸ ÁøÇàµÇ°í ÀÖÀ¸¸ç, a.outÀ¸·Î ÇؾßÇÒ Ä¿´Ù¶õ ÀÌÀ¯ °°Àº°Ô ¾ø´Ù¸é ±×¿¡ µû¸£´Â °ÍÀÌ ÁÁ´Ù.


´ÙÀ½ ÀÌÀü Â÷·Ê