GNU ¸µÄ¿ ld
´Â ³ÐÀº ¹üÀ§ÀÇ »óȲµéÀ» ´ëóÇÒ ¼ö ÀÖµµ·Ï, ´Ù¸¥
¸µÄ¿µé°ú °¡´ÉÇÑÇÑ È£È¯µÇµµ·Ï, °í¾ÈµÇ¾ú´Ù. ±× °á°ú·Î ¿©·¯ºÐÀº ±×°ÍÀÇ
Çൿ Á¦¾î¿¡ ´ëÇØ ¸¹Àº ¼±ÅñÇÀ» °¡Áø´Ù.
¸µÄ¿´Â ¼ö¸¹Àº ¸í·ÉÇà ¿É¼ÇµéÀ» Áö¿øÇÑ´Ù. ±×·¯³ª ½ÇÁ¦·Î À̵é Áß ¼Ò¼ö¸¸ÀÌ
»ç¿ëµÈ´Ù.
¿¹¸¦ µé¾î¼ ld
´Â Ç¥ÁØ, Áö¿ø À¯´Ð½º ½Ã½ºÅÛ »ó¿¡¼ Ç¥ÁØ À¯´Ð½º
¿ÀºêÁ§Æ® ÆÄÀϵéÀ» ¸µÅ©ÇÒ ¶§ °¡Àå ºó¹øÇÏ°Ô »ç¿ëµÈ´Ù. ±×·± ½Ã½ºÅÛ¿¡¼
hello.o
ÆÄÀÏÀ» ¸µÅ©Çϱâ À§Çؼ´Â ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù:
ld -o output /lib/crt0.o hello.o -lc
ÀÌ°ÍÀº ld
¿¡°Ô output¶ó´Â À̸§ÀÇ ÆÄÀÏÀ»
/lib/crt0.o
¿¡´Ù hello.o
°ú Ç¥ÁØ °Ë»ö µð·ºÅ丮¿¡¼ ã¾ÆÁ®
¿À´Â ¶óÀ̺귯¸® libc.a
¸¦ ¸µÅ©ÇÑ °á°ú·Î½á, »ý¼ºÇϵµ·Ï ÇÑ´Ù.
(`-l'¿É¼Ç¿¡ ´ëÇÑ ¼³¸íÀº ¾Æ·¡¸¦ ÂüÁ¶.)
ld
¿¡ ´ëÇÑ ¸í·ÉÇà ¿É¼ÇµéÀº ÀÓÀÇÀÇ ¼ø¼·Î ÁöÁ¤µÉ ¼ö ÀÖ°í ¸¶À½´ë·Î
¹Ýº¹µÉ ¼öµµ ÀÖ´Ù. (±×·¯³ª) ´ëºÎºÐÀÇ ¿É¼ÇµéÀ» ¼·Î ´Ù¸¥ ¸Å°³º¯¼ö·Î
¹Ýº¹ÇÏ´Â °ÍÀº
´õÀÌ»ó È¿·ÂÀ» ¹ßÈÖ ¸øÇϰųª ¾Õ¿¡ ³ª¿Â ¿É¼ÇÀ» ¿À¹ö¶óÀ̵åÇÑ´Ù. Çѹø
ÀÌ»ó ÁöÁ¤µÉ ¼ö ¿É¼ÇµéÀº ¾Æ·¡¿¡¼ ¾ð±ÞÇÑ´Ù.
¿É¼ÇÀÌ ¾ø´Â ¸Å°³º¯¼ù¸£Àº ¼·Î ¸µÅ©µÉ ¿ÀºêÁ§Æ® ÆÄÀϵéÀÌ´Ù. ±×µéÀº ¸í·ÉÇà ¿É¼Çµé°ú ¼·Î ¼¯À̰ųª ¾Õ¼°Å³ª µÞ¼°Å³ª ÇÒ ¼ö ÀÖ´Ù. ´Ü, ¿ÀºêÁ§Æ® ÆÄÀÏÀº ÇϳªÀÇ ¿É¼Ç°ú ÀÌ°ÍÀÇ ¸Å°³º¯¼ö »çÀÌ¿¡ µé¾î°¥ ¼ö´Â ¾ø´Ù.
º¸Åë ¸µÄ¿´Â Àû¾îµµ ÇϳªÀÇ ¿ÀºêÁ§Æ® ÆÄÀÏÀ» ¹Þ¾Æ ½ÇÇàµÇÁö¸¸ `-l', `-R', ±×¸®°í ½ºÅ©¸³Æ® ¸í·É ¾ð¾î¸¦ »ç¿ëÇؼ ´Ù¸¥ ÇüÅÂÀÇ ¹ÙÀ̳ʸ® ÀÔ·Â ÆÄÀϵéÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. ¹ÙÀ̳ʸ® ÀÔ·Â ÆÄÀϵéÀ» ÀüÇô »ç¿ëÇÏÁö ¾Ê´Â´Ù¸é ¸µÄ¿´Â ¾î¶² °á°ú¹°µµ »ý»êÇÏÁö ¾Ê°í `No input files'¶ó´Â ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÑ´Ù.
¸µÄ¿°¡ ¿ÀºêÁ§Æ® ÆÄÀÏÀÇ Æ÷¸äÀ» ÀνÄÇÒ ¼ö ¾ø´Ù¸é ±×°ÍÀÌ ¸µÄ¿ÀÇ ½ºÅ©¸³Æ®ÀÏ
°ÍÀ̶ó°í °¡Á¤ÇÑ´Ù. ÀÌ·±½ÄÀ¸·Î ÁöÁ¤µÈ ½ºÅ©¸³Æ® ¸µÅ©¸¦ À§Çؼ »ç¿ëµÈ´À
ÁÖ(ñ«) ¸µÄ¿ ½ºÅ©¸³Æ®(µðÆúÆ® ¸µÄ¿ ½ºÅ©¸³Æ®³ª `-T'¸¦
»ç¿ëÇؼ ÁöÁ¤µÈ °Í)À» È®ÀåÇÑ´Ù. ÀÌ·± ±â´ÉÀº ¸µÄ¿°¡ ¿ÀºêÁ§Æ®³ª ¾ÆÄ«À̺ê·Î
³ªÅ¸³ ÆÄÀÏ¿¡ ´ëÇؼ´Â ¸µÅ©¸¦ Çã¿ëÇÏÁö¸¸ ½ÇÁ¦·Î ¾î¶² ½É¹ú °ªµéÀ» ´ÜÁö
Á¤ÀÇÇϰųª ¶Ç´Â INPUT
À̳ª GROUP
À» ½á¼ ´Ù¸¥ ¿ÀºêÁ§Æ®µéÀ»
·ÎµåÇÏ´Â °ÍÀ» Çã¿ëÇÑ´Ù. ÀÌ·±½ÄÀ¸·Î ½ºÅ©¸³Æ®¸¦ ÁöÁ¤ÇÏ´Â °ÍÀº ÁÖ ¸µÄ¿
½ºÅ©¸³Æ®¸¦ È®ÀåÇÏ´Â µ¥¿¡¸¸ »ç¿ëµÇ¾î¾ß ÇÑ´Ù´Â °ÍÀ» ÁÖÀÇÇÏÀÚ; ³í¸®ÀûÀ¸·Î
Çѹø¸¸ ³ªÅ¸³¯ ¼ö ÀÖ´Â, SECTIONS
¶Ç´Â MEMORY
¿Í °°Àº,
¾î¶² ¸í·ÉÀ» »ç¿ëÇϱ⸦ ¿øÇÑ´Ù¸é ¿©·¯ºÐÀº µðÆúÆ® ¸µÄ¿ ½ºÅ©¸³Æ®¸¦
`-T' ¿É¼ÇÀ» »ç¿ëÇؼ º¯°æÇØ¾ß ÇÑ´Ù. See section ¸í·É ¾ð¾î(Command Language).
¾î¶² ¿É¼ÇÀÇ À̸§ÀÌ ´ÜÀÏ ¹®ÀÚÀÎ ¿É¼ÇÀ̶ó¸é, ¿É¼Ç ¸Å°³º¯¼öµéÀ» ±× ¿É¼Ç ¹®ÀÚµÚ¿¡ °ø¹é¹®ÀÚ ¾øÀÌ ºÙÀ̰ųª ¾Æ´Ï¸é ±×µéÀ» ¿ä±¸ÇÏ´Â ¿É¼Ç ¹Ù·Î µÚ¿¡ ¿À´Â ºÐ¸®µÈ ¸Å°³º¯¼öµé·Î½á ÁÖ¾îÁ®¾ß ÇÑ´Ù.
¿©·¯ ¹®ÀÚµé·Î ÀÌ·ç¾îÁø ¿É¼ÇµéÀ̶ó¸é, ´ë½¬ Çϳª ¶Ç´Â µÎ°³°¡ ±× ¿É¼Ç À̸§ ¾Õ¿¡ ¿Ã ¼ö ÀÖ´Ù; ¿¹¸¦ µé¾î¼ `--oformat'°ú `--oformat'Àº ¼·Î µ¿ÀÏÇÏ´Ù(1). ¿©·¯ ¹®ÀÚ·Î µÈ ¿É¼Ç¿¡ ´ëÇÑ ¸Å°³º¯¼öµéÀº ±× ¿É¼Ç À̸§ »çÀÌ¿¡ µîÈ£¸¦ Çϳª ³ÖµçÁö ¾Æ´Ï¸é ±×µéÀ» ¿ä±¸ÇÏ´Â ¿É¼Ç ¹Ù·Î µÚ¿¡ ¿À´Â ºÐ¸®µÈ ¸Å°³º¯¼öµé·Î½á ÁÖ¾îÁ®¾ß ÇÑ´Ù. ¿¹¸¦ µé¾î¼ `--oformat srec' °ú `--oformat=srec' ´Â ¼·Î µ¿ÀÏÇÏ´Ù. ¿©·¯ ¹®ÀÚ·Î µÈ ¿É¼ÇÀÇ À̸§¿¡ ´ëÇÑ À¯ÀÏÇÑ ´ÜÃà Ç¥Çö(abbreviation)ÀÌ Çã¿ëµÈ´Ù.
-akeyword
-Aarchitecture
--architecture=architecture
ld
ÀÇ ÇöÀç ¸±¸®Áî¿¡¼ ÀÌ ¿É¼ÇÀº Intel 960 °è¿ ¾ÆÅ°ÅØÃÄ¿¡
´ëÇؼ¸¸ À¯¿ëÇÏ´Ù. ±×·± ld
ȯ°æ¿¡¼ architecture ¸Å°³º¯¼ö´Â
960 °è¿ÀÇ Æ¯Á¤ ¾ÆÅ°ÅØÃĸ¦ ÁöÁ¤ÇÏ¿© ¾ÆÄ«À̺ê-¶óÀ̺귯¸® °Ë»ö °æ·Î¸¦
º¯°æÇϰųª º¸È£ÇÏ´Â °ÍÀ» °¡´ÉÇÏ°Ô ÇÑ´Ù. ÀÚ¼¼ÇÑ °ÍÀº
See section ld
¿Í ÀÎÅÚ 960°è¿ Ĩ(ld
and the Intel 960 family).
ld
ÀÇ Â÷¼¼´ë ¸±¸®Áî´Â ´Ù¸¥ ¾ÆÅ°ÅØÃÄ °è¿¿¡ ´ëÇؼ ºñ½ÁÇÑ ±â´ÉÀ»
Áö¿øÇÑ´Ù.
-b input-format
--format=input-format
ld
´Â ¿©·¯ Á¾·ùÀÇ ¿ÀºêÁ§Æ® ÆÄÀÏÀ» Áö¿øÇϵµ·Ï ¼³Á¤µÉ ¼ö ÀÖ´Ù.
¿©·¯ºÐÀÇ ld
°¡ ÀÌ·¸°Ô ¼³Á¤µÇ¾ú´Ù¸é ¸í·ÉÇà¿¡¼ `-b' ¿É¼ÇÀ»
½á¼, ÀÌ ¿É¼Ç µÚ¿¡´Ù ÀÔ·Â ¿ÀºêÁ§Æ® ÆÄÀϵ鿡 ´ëÇÑ ¹ÙÀ̳ʸ® Æ÷¸äÀ» ÁöÁ¤ÇÒ
¼ö ÀÖ´Ù. (±×·¯³ª) ld
°¡ ´Ù¸¥ ´ëü ¿ÀºêÁ§Æ® Æ÷¸äµéÀ»
Áö¿øÇϵµ·Ï ¼³Á¤µÇ¾úÀ» ¶§¿¡µµ, ld
´Â °¢ ±â°èÀÇ °¡Àå ÀϹÝÀûÀÎ
Æ÷¸äÀ» µðÆúÆ® ÀÔ·Â Æ÷¸äÀ¸·Î »ý°¢Çϵµ·Ï ¼³Á¤µÇ¾î¾ß Çϱ⠶§¹®¿¡, º¸Åë
ÀÌ·¸°Ô ÁöÁ¤ÇÒ ÇÊ¿ä°¡ ¾ø´Ù. input-format Àº ÅؽºÆ® ¹®ÀÚ¿À̸ç BFD
¶óÀ̺귯¸®µé¿¡ ÀÇÇؼ Áö¿øµÇ´Â ƯÁ¤ Æ÷¸äÀÇ À̸§ÀÌ´Ù. (»ç¿ë°¡´ÉÇÑ
¹ÙÀ̳ʸ® Æ÷¸äµéÀ» `objdump -i' ·Î Ãâ·ÂÇغ¼ ¼ö ÀÖ´Ù.)
See section BFD.
ÀÏ»óÀûÀÌÁö ¾Ê´Â ¹ÙÀ̳ʸ® Æ÷¸äÀ¸·Î ÆÄÀϵéÀ» ¸µÅ©ÇÒ ¶§ ÀÌ ¿É¼ÇÀ»
»ç¿ëÇÏ°íÀÚ ÇÑ´Ù. ¶Ç´Â `-b' ¸¦ »ç¿ëÇؼ, ƯÁ¤ Æ÷¸äÀÇ ¿ÀºêÁ§Æ®
ÆÄÀÏ ±×·ì ¾Õ¿¡ `-b input-format' ¸¦ Æ÷ÇÔÇÔÀ¸·Î½á, Æ÷¸äÀ»
¸í½ÃÀûÀ¸·Î ¹Ù²Ü ¼ö ÀÖ´Ù(´Ù¸¥ Æ÷¸äÀÇ ¿ÀºêÁ§Æ® ÆÄÀϵéÀ» ¸µÅ©ÇÒ ¶§).
µðÆúÆ® Æ÷¸äÀº ȯ°æº¯¼ö GNUTARGET
¸¦ ÂüÁ¶Çؼ °áÁ¤µÈ´Ù.
See section ȯ°æ º¯¼ö(Environment Variables).
¶Ç´Â ÀÔ·Â Æ÷¸äÀ» ½ºÅ©¸³Æ®¿¡¼ ¸í·É TARGET
¸¦ »ç¿ëÇÏ¿©
½ºÅ©¸³Æ®·ÎºÎÅÍ Á¤ÀÇÇÒ ¼ö ÀÖ´Ù;
see section ¿É¼Ç ¸í·É(Option Commands).
-c MRI-commandfile
--mri-script=MRI-commandfile
ld
´Â
section MRI ȣȯ ½ºÅ©¸³Æ® ÆÄÀÏ(MRI Compatible Script Files) ¿¡ ±â¼úµÈ ´ëüÀÇ, Á¦ÇÑµÈ ¸í·É
¾ð¾î·Î ÀÛ¼ºµÈ ½ºÅ©¸³Æ® ÆÄÀϵéÀ» ¹Þ¾ÆµéÀδÙ. MRI ½ºÅ©¸³Æ® ÆÄÀϵéÀ»
`-c' ¿É¼ÇÀ¸·Î ÁöÁ¤ÇÑ´Ù; `-T' ¿É¼ÇÀ» ½á¼ ¹ü¿ë ld
½ºÅ©¸³Æà ¾ð¾î·Î ÀÛ¼ºµÈ ¸µÄ¿ ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÑ´Ù. MRI-cmdfile ÀÌ
Á¸ÀçÇÏÁö ¾ÊÀ¸¸é ld
´Â `-L' ¿É¼Çµé¿¡ ÀÇÇؼ ÁöÁ¤µÈ µð·ºÅ丮µé
¾È¿¡¼ ±×°ÍÀ» ã´Â´Ù.
-d
-dc
-dp
FORCE_COMMON_ALLOCATION
Àº µ¿ÀÏÇÑ È¿·ÂÀ» °¡Áø´Ù. See section ¿É¼Ç ¸í·É(Option Commands).
-e entry
--entry=entry
-E
--export-dynamic
dlopen
À» »ç¿ëÇϸé,
ÇÁ·Î±×·¥ ÀÚ½ÅÀ» ¸µÅ©ÇÒ ¶§ ¾Æ¸¶µµ ÀÌ ¿É¼ÇÀ» »ç¿ëÇØ¾ß ÇÒ ÇÊ¿ä°¡ »ý±ä´Ù.
-f
--auxiliary name
-F name
--filter name
-F
¿É¼ÇÀ», ÄÄÆÄÀÏ Åø üÀÎ(compilation tool
chain)¿¡¼ ÀÔ/Ãâ·Â ¿ÀºêÁ§Æ® ÆÄÀϵ鿡 ´ëÇÑ ¿ÀºêÁ§Æ®-ÆÄÀÏ Æ÷¸äÀ» ÁöÁ¤ÇÏ´Â
µ¥ »ç¿ëÇß¾ú´Ù. GNU ¸µÄ¿´Â ÀÌ·± ¸ñÀû¿¡ ´ëÇؼ ´Ù¸¥ ¸ÞÄ«´ÏÁòµéÀ»
»ç¿ëÇÑ´Ù: -b
, --format
, --oformat) ¿É¼Çµé, ¸µÄ¿
½ºÅ©¸³Æ®¾È¿¡¼´Â TARGET
¸í·É, ±×¸®°í ȯ°æ º¯¼ö¿¡¼´Â
{GNUTARGET
. GNU ¸µÄ¿´Â ELF °øÀ¯ ¿ÀºêÁ§Æ®¸¦ »ý¼ºÇÏÁö ¾Ê´Â´Ù¸é
-F
¿É¼ÇÀ» ¹«½ÃÇÒ °ÍÀÌ´Ù.
--force-exe-suffix
.exe
¶Ç´Â
.dll
È®ÀåÀÚ¸¦ °¡ÁöÁö ¾Ê´Â´Ù¸é ÀÌ ¿É¼ÇÀº ¸µÄ¿°¡ °á°ú ÆÄÀÏÀ»
.exe
È®ÀåÀÚ¸¦ °¡Áö´Â µ¿ÀÏÇÑ À̸§ÀÇ ÆÄÀÏ·Î º¹»çÇϵµ·Ï ÇÑ´Ù. ÀÌ
¿É¼ÇÀº ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® À©µµ¿ìÁî È£½ºÆ®¿¡¼ º¯°æµÇÁö ¾ÊÀº À¯´Ð½º
makefileµéÀ» »ç¿ëÇÒ ¶§ À¯¿ëÇÏ´Ù. ¿Ö³Ä¸é ¸î°¡Áö ¹öÀüÀÇ À©µµ¿ìÁîµéÀº
È®ÀåÀÚ°¡ .exe
·Î ³¡³ªÁö ¾ÊÀ¸¸é À̹ÌÁö¸¦ ½ÇÇàÇÏÁö ¾Ê±â ¶§¹®ÀÌ´Ù.
-g
-Gvalue
--gpsize=value
-hname
-soname=name
-i
-larchive
--library=archive
ld
´Â ÁöÁ¤µÈ ¸ðµç archive¿¡ ´ëÇؼ
libarchive.a
ÀÇ Ã£¾Æ ÀÚ½ÅÀÇ °æ·Î-¸®½ºÆ®¸¦ °Ë»öÇÒ °ÍÀÌ´Ù.
°øÀ¯ ¶óÀ̺귯¸®¸¦ Áö¿øÇÏ´Â ½Ã½ºÅ۵鿡 ´ëÇؼ ld
´Â .a
¿Í
´Ù¸¥ È®ÀåÀÚ¸¦ °¡Áö´Â ¶óÀ̺귯¸®µéµµ ÇÔ²² ãÀ» °ÍÀÌ´Ù. Ưº°È÷ ELF¿Í SunOS
½Ã½ºÅÛ¿¡¼´Â .a
È®ÀåÀÚ¸¦ °¡Áö´Â ¶óÀ̺귯¸®¸¦ ã±â Àü¿¡,
ld
´Â .so
È®ÀåÀÚ¸¦ °¡Áö´Â ¶óÀ̺귯¸®¸¦ ã¾Æ¼ µð·ºÅ͸®¸¦
°Ë»öÇÒ °ÍÀÌ´Ù. ÆíÀÇ»ó .so
È®ÀåÀÚ´Â °øÀ¯ ¶óÀ̺귯¸®¸¦ ³ªÅ¸³½´Ù.
¸µÄ¿´Â ¸í·ÉÇà¿¡¼ ÁÖ¾îÁø À§Ä¡¿¡¼, ¾ÆÄ«À̺긦 Çѹø ãÀ» °ÍÀÌ´Ù.
±× ¾ÆÄ«À̺갡 ¸í·ÉÇà¿¡¼ ¾ÆÄ«À̺ê ÀÌÀü¿¡ ³ªÅ¸³ ¾î¶² ¿ÀºêÁ§Æ®¿¡¼
Á¤ÀǵÇÁö ¾ÊÀº ½É¹úÀ» Á¤ÀÇÇÏ¿´´Ù¸é ¸µÄ¿´Â ±× ¾ÆÄ«À̺ê·ÎºÎÅÍ ÀûÀýÇÑ
ÆÄÀÏ(µé)À» Æ÷ÇÔÇÒ °ÍÀÌ´Ù. ±×·¯³ª ¸í·ÉÇà¿¡¼ ³ªÁß¿¡ ³ªÅ¸³ ¿ÀºêÁ§Æ®¿¡¼
Á¤ÀǵÇÁö ¾ÊÀº ½É¹úÀº ¸µÄ¿°¡ ¾ÆÄ«À̺긦 ´Ù½Ã °Ë»öÇϵµ·Ï ÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù.
¸µÄ¿°¡ ¾ÆÄ«À̺êµéÀ» ¿©·¯¹ø °Ë»öÇϵµ·Ï ½ÃÅ°´Â ¹æ¹ý¿¡ ´ëÇؼ´Â -(
¿É¼ÇÀ» º¸µµ·Ï ÇÏÀÚ.
¿©·¯ºÐÀº ¸í·ÉÇà¿¡¼ µ¿ÀÏÇÑ ¾ÆÄ«À̺긦 ¿©·¯¹ø ½áµµ µÈ´Ù.
ÀÌ ¾ÆÄ«ÀÌºê °Ë»ö ŸÀÔÀº À¯´Ð½º ¸µÄ¿µé¿¡°Ô Ç¥ÁØÀÌ´Ù. ±×·¯³ª AIX¿¡¼
ld
¸¦ »ç¿ëÇÏ°í ÀÖ´Ù¸é ÀÌ°ÍÀº AIX ¸µÄ¿ÀÇ Çൿ°ú ´Ù¸£´Ù´Â °Í¿¡
ÁÖ¸ñÇÏÀÚ.
-Lsearchdir
--library-path=searchdir
ld
°¡ ¾ÆÄ«ÀÌºê ¶óÀ̺귯¸®µé°ú ld
Á¦¾î ½ºÅ©¸³Æ®µéÀ» ã´Â °æ·Î ¸®½ºÆ®¿¡´Ù Ãß°¡ÇÑ´Ù. ¿©·¯ºÐÀº ÀÌ ¿É¼ÇÀ»
¿©·¯¹ø »ç¿ëÇÒ ¼ö ÀÖ´Ù. µð·ºÅ͸®µéÀº ±×µéÀÌ ¸í·ÉÇà¿¡ ÁöÁ¤µÈ ¼ø¼´ë·Î
°Ë»öµÈ´Ù. ¸í·ÉÇà¿¡¼ ÁöÁ¤µÈ µð·ºÅ͸®µéÀº µðÆúÆ® µð·ºÅ͸®µé Àü¿¡
°Ë»öµÈ´Ù. ¸ðµç -L
¿É¼ÇµéÀº, ¿É¼ÇµéÀÌ ³ªÅ¸³ ¼ø¼¿Í »ó°ü¾øÀÌ,
¸ðµç -l
¿É¼Çµé¿¡ Àû¿ëµÈ´Ù.
°Ë»öµÇ´Â µðÆúÆ® °æ·Îµé(`-L'·Î ÁöÁ¤µÈ °Íµé Á¦¿Ü)Àº ¾î¶² ¿¡¹Ä·¹À̼Ç
¸ðµå ld
°¡ »ç¿ëµÇ°í Àִ°¡, ¾î¶² °æ¿ì¿¡´Â ¾î¶»°Ô ±×°ÍÀÌ
¼³Á¤µÇ¾ú´Â°¡¿¡ µû¶ó¼ ´Ù¸£´Ù. See section ȯ°æ º¯¼ö(Environment Variables).
°æ·ÎµéÀº SEARCH_DIR
¸í·ÉÀ¸·Î ¸µÅ© ½ºÅ©¸³Æ®¿¡¼ ÁöÁ¤µÉ ¼öµµ ÀÖ´Ù.
ÀÌ·± ½ÄÀ¸·Î ÁöÁ¤µÈ µð·ºÅ͸®µéÀº ¸µÄ¿ ½ºÅ©¸³Æ®°¡ ¸í·ÉÇà¿¡¼ ³ªÅ¸³
À§Ä¡¿¡¼ °Ë»öµÈ´Ù.
-memulation
LDEMULATION
ȯ°æ
º¯¼ö°¡ ÁöÁ¤µÇ¾î ÀÖÀ» ¶§, ÀÌ°ÍÀ» »ç¿ëÇÑ´Ù.
±×·¸Áöµµ ¾Ê´Ù¸é µðÆúÆ® ¿¡¹Ä·¹À̼ÇÀº ¸µÄ¿°¡ ¾î¶»°Ô ¼³Á¤µÇ¾ú´Â°¡¿¡ µû¶ó
´Ù¸£´Ù.
-M
--print-map
-n
--nmagic
NMAGIC
·Î
¸¶Å·Èù´Ù.
-N
--omagic
OMAGIC
·Î ¸¶Å·ÇÑ´Ù.
-o output
--output=output
ld
·Î ¸¸µé¾îÁø ÇÁ·Î±×·¥¿¡ ´ëÇÑ À̸§À¸·Î »ç¿ëÇÑ´Ù;
ÀÌ ¿É¼ÇÀÌ ÁöÁ¤µÇÁö ¾ÊÀ¸¸é `a.out'°¡ µðÆúÆ®·Î »ç¿ëµÈ´Ù. ½ºÅ©¸³Æ®
¸í·É OUTPUT
ÀÌ ¶ÇÇÑ Ãâ·Â ÆÄÀÏ À̸§À» ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù.
-r
--relocateable
ld
¿¡ ´ëÇÑ ÀÔ·ÂÀÌ µÉ ¼ö ÀÖ´Â
Ãâ·Â ÆÄÀÏÀ» »ý¼ºÇÑ´Ù. ÀÌ°ÍÀº Á¾Á¾ partial linkingÀ̶ó°í ºÒ¸°´Ù.
ºÎÀÛ¿ëÀ¸·Î½á Ç¥ÁØ À¯´Ð½º ¸ÅÁ÷ ³Ñ¹öµéÀ» Áö¿øÇϴ ȯ°æ¿¡¼, ÀÌ ¿É¼ÇÀº ¶ÇÇÑ
Ãâ·Â ÆÄÀÏÀÇ ¸ÅÁ÷ ³Ñ¹ö¸¦ OMAGIC
·Î ¼³Á¤ÇÑ´Ù.
ÀÌ ¿É¼ÇÀÌ ÁöÁ¤µÇÁö ¾ÊÀ¸¸é Àý´ë ÆÄÀÏ(absolute file)ÀÌ »ý¼ºµÈ´Ù. C++
ÇÁ·Î±×·¥µéÀ» ¸µÅ©ÇÒ ¶§ ÀÌ ¿É¼ÇÀº »ý¼ºÀÚ(constructor)µé¿¡ ´ëÇÑ ÂüÁ¶¸¦
Çص¶(resolve) ÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù; ÀÌ·¸°Ô Çϱâ À§Çؼ´Â `-Ur'¸¦
»ç¿ëÇ϶ó.
ÀÌ ¿É¼ÇÀº `-i'°ú µ¿ÀÏÇÑ ÀÏÀ» ÇÑ´Ù.
-R filename
--just-symbols=filename
-R
¿É¼ÇÀÌ ÆÄÀÏ À̸§ÀÌ ¾Æ´Ï¶ó,
µð·ºÅ͸® À̸§µÚ¿¡ ÀÖ´Ù¸é ÀÌ°ÍÀº -rpath
¿É¼Çó·³ Ãë±ÞµÈ´Ù.
-s
--strip-all
-S
--strip-debug
-t
--trace
ld
°¡ ±×µéÀ» ó¸®ÇÒ ¶§ Ãâ·ÂÇÑ´Ù.
-T commandfile
--script=commandfile
ld
µðÆúÆ® ¸µÅ© ½ºÅ©¸³Æ®¸¦ ±³Ã¼(´õÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó)Çϱ⠶§¹®¿¡
commandfileÀº ¹Ýµå½Ã Ÿ°Ù Æ÷¸äÀ» ±â¼úÇÏ´Â µ¥ ÇÊ¿äÇÑ ¸ðµç °ÍÀ»
ÁöÁ¤ÇØ¾ß ÇÑ´Ù. ¿©·¯ºÐÀÌ SECTIONS
¶Ç´Â MEMORY
¸í·É°ú °°Àº,
¸µÄ¿ ½ºÅ©¸³Æ®¿¡¼ Çѹø¸¸ ³ª¿Ã ¼ö ÀÖ´Â ¸í·ÉÀ» »ç¿ëÇÏ°íÀÚ ÇÑ´Ù¸é ÀÌ ¿É¼ÇÀ»
¹Ýµå½Ã »ç¿ëÇØ¾ß ÇÑ´Ù. See section ¸í·É ¾ð¾î(Command Language). commandfile ÀÌ Á¸ÀçÇÏÁö
¾Ê´Â´Ù¸é ld
´Â ÀÌÀü `-L' ¿É¼Çµé¿¡ ÀÇÇؼ ÁöÁ¤µÈ µð·ºÅ͸®µé
¾È¿¡¼ ÀÌ°ÍÀ» ã´Â´Ù. ¿©·¯ `-T' ¿É¼ÇµéÀÌ ½×ÀδÙ.
-u symbol
--undefined=symbol
-v
--version
-V
ld
ÀÇ ¹öÀü ¹øÈ£¸¦ µð½ºÇ÷¹ÀÌÇÑ´Ù. -V
¿É¼ÇÀº ¶ÇÇÑ Áö¿øµÈ
¿¡¹Ä·¹ÀÌ¼Çµé ¸®½ºÆ®¸¦ ³ªÅ¸³½´Ù.
-x
--discard-all
-X
--discard-locals
-y symbol
--trace-symbol=symbol
-Y path
-z keyword
-( archives -)
--start-group archives --end-group
-assert keyword
-Bdynamic
-dy
-call_shared
-l
¿É¼Çµé¿¡ ´ëÇÑ ¶óÀ̺귯¸® °Ë»ö¿¡ ¿µÇâÀ» ¹ÌÄ£´Ù.
-Bstatic
-dn
-non_shared
-static
-l
¿É¼Çµé¿¡ ´ëÇÑ ¶óÀ̺귯¸® °Ë»ö¿¡
¿µÇâÀ» ¹ÌÄ£´Ù.
-Bsymbolic
--cref
--defsym symbol=expression
+
¿Í -
¸¦ »ç¿ëÇÒ ¼öµµ ÀÖ´Ù. Á» ´õ Á¤±³ÇÑ Ç¥Çö½ÄÀ»
¿øÇÑ´Ù¸é ½ºÅ©¸³Æ®¿¡¼ ¸µÄ¿ ¸í·É ¾ð¾î¸¦ »ç¿ëÇÏ´Â °ÍÀ»
»ý°¢Çغ¸¾Æ¶ó(see section ÇÒ´ç: ½É¹ú Á¤ÀÇ(Assignment: Defining Symbols)).
³ëÆ®: symbol¿Í µîÈ£ ("="), ±×¸®°í expression
»çÀÌ¿¡´Â °ø¹é ¹®ÀÚ°¡ ¾ø¾î¾ß ÇÑ´Ù.
--dynamic-linker file
-EB
-EL
--embedded-relocs
--help
-Map mapfile
--no-keep-memory
ld
´Â ÀϹÝÀûÀ¸·Î ÀÔ·Â ÆÄÀϵéÀÇ ½É¹ú Å×À̺íµéÀ» ¸Þ¸ð¸®¿¡
ij½³ÇÔÀ¸·Î½á (½ÇÇà) ¼Óµµ¸¦ ÃÖÀûÈÇÑ´Ù. ÀÌ ¿É¼ÇÀº ld
°¡ ±×´ë½Å¿¡
ÇÊ¿äÇÒ ¶§ ½É¹ú Å×À̺íµéÀ» ´Ù½Ã ÀÐ°Ô ÇÏ¿©¼ ¸Þ¸ð¸® »ç¿ë¿¡ ´ëÇؼ
ÃÖÀûÈÇϵµ·Ï ÇÑ´Ù. ÀÌ°ÍÀº Ä¿´Ù¶õ ½ÇÇà ÆÄÀÏÀ» ¸µÅ©ÇÒ ¶§, ld
°¡
¸Þ¸ð¸® ºÎÁ·À» ³ªÅ¸³»¸é ÇÊ¿äÇÏ´Ù.
--no-warn-mismatch
ld
´Â, ¼·Î ´Ù¸¥ ÇÁ·Î¼¼¼µé¿¡ ´ëÇؼ ÄÄÆÄÀÏ µÇ¾ú°Å³ª
¾Æ´Ï¸é ´Ù¸¥ endianÀ» °¡Á³±â ¶§¹®, µîÀÇ ÀÌÀ¯·Î ¼·Î ¸ÂÁö ¾Ê´Â ÀÔ·Â
ÆÄÀϵéÀ» ¼·Î ¸µÅ©ÇÏ·Á°í ³ë·ÂÇÏ¸é ¿¡·¯¸¦ ¹ß»ýÇÒ °ÍÀÌ´Ù. ÀÌ ¿É¼ÇÀº
ld
°¡ ±×·± °¡´ÉÇÑ ¿¡·¯µéÀ» Á¶¿ëÇÏ°Ô ¹ß»ýÇϵµ·Ï Áö½ÃÇÑ´Ù. ÀÌ
¿É¼ÇÀº, ¸µÄ¿ ¿¡·¯µéÀÌ ºÎÀûÀýÇÑÁö ¾î¾Áö È®ÀÎÇÏ´Â ¸î°¡Áö Ưº°ÇÑ ¾×¼ÇÀ»
ÃëÇÒ ¶§, ¾ÆÁÖ Á¶½É½º·´°Ô »ç¿ëµÇ¾î¾ß ÇÑ´Ù.
--no-whole-archive
--whole-archive
¿É¼ÇÀÇ È¿°ú¸¦ ²ö´Ù.
--noinhibit-exec
--oformat output-format
ld
´Â ÇÑ Á¾·ù ÀÌ»óÀÇ ¿ÀºêÁ§Æ® ÆÄÀÏÀ» Áö¿øÇϵµ·Ï ¼³Á¤µÉ °ÍÀÌ´Ù.
ld
°¡ ÀÌ·±½ÄÀ¸·Î ¼³Á¤µÇ¾ú´Ù¸é `--oformat' ¿É¼ÇÀ» »ç¿ëÇÏ¿©
Ãâ·Â ¿ÀºêÁ§Æ® Æ÷¸äµé¿¡ ´ëÇÑ ¹ÙÀ̳ʸ® Æ÷¸äÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. ld
°¡
´ëü ¿ÀºêÁ§Æ® Æ÷¸äµéÀ» Áö¿øÇϵµ·Ï ¼³Á¤µÇ¾ú´Ù ÇÏ´õ¶óµµ º¸ÅëÀº ÀÌ°ÍÀ»
ÁöÁ¤ÇÒ ÇÊ¿ä°¡ ¾ø´Ù. ¿Ö³Ä¸é ld
°¡ °¢ ¸Ó½®¿¡¼ °¡Àå À¯¿ëÇÑ Æ÷¸äÀ¸·Î
µðÆúÆ® Ãâ·Â Æ÷¸äÀ» »ý¼ºÇϵµ·Ï ¼³Á¤µÇ¾úÀ» °ÍÀ̱⠶§¹®ÀÌ´Ù.
output-format´Â ÅؽºÆ® ¹®ÀÚ¿ÀÌ°í ƯÁ¤ÇÑ Æ÷¸äÀÇ À̸§Àº BFD
¶óÀ̺귯¸®µé¿¡ ÀÇÇؼ Áö¿øµÈ´Ù. (¿©·¯ºÐÀº `objdump -i'¸¦ »ç¿ëÇؼ
»ç¿ë °¡´ÉÇÑ ¹ÙÀ̳ʸ® Æ÷¸äµé ¸®½ºÆ®¸¦ º¼ ¼ö ÀÖ´Ù.) ½ºÅ©¸³Æ® ¸í·É
OUTPUT_FORMAT
´Â Ãâ·Â Æ÷¸äÀ» ÁöÁ¤ÇÒ ¼ö ÀÖÁö¸¸ ÀÌ ¿É¼ÇÀº ±×°ÍÀ»
¿À¹ö¶óÀ̵åÇÑ´Ù. See section BFD.
-qmagic
-Qy
--relax
ld
±×¸®°í H8/300(ld
and the H8/300).
See section ld
¿Í ÀÎÅÚ 960°è¿ Ĩ(ld
and the Intel 960 family).
¾î¶² Ç÷§Æû¿¡¼ `--relax' ¿É¼ÇÀº, address ¸µÄ¿°¡ ÇÁ·Î±×·¥¾È¿¡¼
¾îµå·¹½ÌÀ» Çص¶(resolve)ÇÒ ¶§ °¡´ÉÇÑ, ¾îµå·¹½º ¸ðµåµéÀ» relaxÇÏ°í Ãâ·Â
¿ÀºêÁ§Æ® ÆÄÀÏ¿¡¼ »õ·Î¿î ¸í·É¾îµéÀ» ÇÕ¼ºÇÏ´Â °Í°ú °°Àº, ±Û·Î¹ú ÃÖÀûȸ¦
¼öÇàÇÑ´Ù.
ÀÌ°ÍÀÌ Áö¿øµÇÁö ¾Ê´Â Ç÷§Æû¿¡¼µµ `--relax'´Â ¹Þ¾Æµé¿©ÁöÁö¸¸
¹«½ÃµÈ´Ù.
--retain-symbols-file filename
-rpath dir
-rpath
¸Å°³º¯¼öµéÀº Á¶ÇÕµÇ¾î ½Ç½Ã°£ ¸µÄ¿¿¡°Ô Àü´ÞµÈ´Ù. ±×·¯¸é ÀÌ°ÍÀº ±×µéÀ»
»ç¿ëÇؼ ½Ç½Ã°£¿¡ °øÀ¯ ¿ÀºêÁ§Æ®µéÀ» ã´Â´Ù. -rpath
¿É¼ÇÀº ¶ÇÇÑ
¸µÅ©¿¡¼ ¸í½ÃÀûÀ¸·Î Æ÷ÇÔµÈ °øÀ¯ ¿ÀºêÁ§Æ®µé¿¡ ÀÇÇؼ ÇÊ¿äÇÑ °øÀ¯
¿ÀºêÁ§Æ®µéÀ» ãÀ» ¶§µµ »ç¿ëµÈ´Ù; -rpath-link
¿É¼ÇÀÇ ¼³¸íÀ» º¸ÀÚ.
-rpath
°¡ ELF ½ÇÇàÆÄÀÏÀ» ¸µÅ©ÇÒ ¶§ »ç¿ëµÇÁö ¾ÊÀ¸¸é ȯ°æ º¯¼ö
LD_RUN_PATH
ÀÇ ³»¿ë¹°ÀÌ, Á¤ÀǵǾú´Ù¸é, »ç¿ëµÉ °ÍÀÌ´Ù.
-rpath
¿É¼ÇÀº SunOS¿¡¼µµ »ç¿ëµÉ ¼ö ÀÖ´Ù. µðÆúÆ®·Î SunOS¿¡¼
¸µÄ¿´Â ÁÖ¾îÁø -L
¿É¼Çµé Áß¿¡¼ ½Ç½Ã°£ °Ë»ö ÆÐÄ¡(patch)¸¦ ±¸¼ºÇÒ
°ÍÀÌ´Ù. -rpath
¿É¼ÇÀÌ »ç¿ëµÇ¸é ½Ç½Ã°£ °Ë»ö °æ·Î´Â -rpath
¿É¼ÇµéÀ» ¸í½ÃÀûÀ¸·Î »ç¿ëÇÏ¿© ±¸¼ºµÉ °ÍÀÌ°í -L
¿É¼ÇµéÀ» ¹«½ÃÇÒ
°ÍÀÌ´Ù. ÀÌ°ÍÀº NFC ¸¶¿îÆ®µÈ ÆÄÀϽýºÅÛµé·ÎºÎÅÍ °¡Á®¿Â °ÍÀÏ ¼ö ÀÖ´Â, ¸¹Àº
-L
¿É¼ÇµéÀ» ´õÇÏ´Â gcc¸¦ »ç¿ëÇÒ ¶§ À¯¿ëÇÒ ¼ö ÀÖ´Ù.
ELF ¸µÄ¿µé°úÀÇ È£È¯¼ºÀ» À§Çؼ ÆÄÀÏ À̸§ÀÌ ¾Æ´Ï¶ó, µð·ºÅ͸® À̸§ µÚ¿¡ µû¶ó
ºÙÀº -R
¿É¼ÇÀÌ ÁÖ¾îÁö¸é ÀÌ°ÍÀº -rpath
¿É¼ÇÀ¸·Î Ãë±ÞµÈ´Ù.
-rpath-link DIR
ld -shared
¸µÅ©°¡ ÀÔ·Â ÆÄÀϵé ÁßÀÇ Çϳª·Î½á
°øÀ¯ ¶óÀ̺귯¸®¸¦ Æ÷ÇÔÇÒ ¶§ ÀϾÙ.
¸µÄ¿°¡ ºñ-°øÀ¯, ºñ-Àç¹èÄ¡ ¸µÅ©¸¦ ¼öÇàÇÒ ¶§ ±×·± Á¾¼Ó¼ºÀ» ¸¸³ª¸é ÀÚµ¿À¸·Î
¿ä±¸µÈ °øÀ¯ ¶óÀ̺귯¸®¸¦ ãÀ¸·Á°í ÇÏ°í ¸í½ÃÀûÀ¸·Î Æ÷ÇÔµÇÁö ¾Ê¾Ò´Ù¸é
±×°ÍÀ» ¸µÅ©¿¡ Æ÷ÇÔ½ÃŲ´Ù. ±×·± °æ¿ì -rpath-link
¿É¼ÇÀº °Ë»öÇÒ
ù¹ø° µð·ºÅ͸®µéÀ» ÁöÁ¤ÇÑ´Ù. -rpath-link
¿É¼ÇÀº ÄÝ·Ð(:)À¸·Î
ºÐ¸®µÈ À̸§µé ¸®½ºÆ®¸¦ ÁöÁ¤ÇÔÀ¸·Î½á ¶Ç´Â ¿©·¯¹ø ³ªÅ¸³²À¸·Î½á µð·ºÅ͸®
À̸§ÀÇ ¼ø¼¸¦ ÁöÁ¤ÇÒ ¼öµµ ÀÖ´Ù.
¸µÄ¿´Â ´ÙÀ½°ú °°Àº °Ë»ö °æ·ÎµéÀ» »ç¿ëÇؼ ¿ä±¸µÈ °øÀ¯ ¶óÀ̺귯¸®µéÀ»
ã´Â´Ù.
-rpath-link
¿É¼Çµé¿¡ ÀÇÇؼ ÁöÁ¤µÈ ÀÓÀÇÀÇ µð·ºÅ͸®µé.
-rpath
¿É¼Çµé¿¡ ÀÇÇؼ ÁöÁ¤µÈ ÀÓÀÇÀÇ µð·ºÅ͸®µé. -rpath
¿Í
-rpath-link
¿É¼ÇÀÇ Â÷ÀÌÁ¡Àº -rpath
¿É¼Çµé·Î ÁöÁ¤µÈ
µð·ºÅ͸®µéÀº ½ÇÇà ÆÄÀϾȿ¡ Æ÷ÇÔµÇ°í ½ÇÇà½Ã¿¡ »ç¿ëµÇ´Â ¹Ý¸é
-rpath-link
¿É¼ÇÀº ´ÜÁö ¸µÅ©ÇÒ ¶§¸¸ ¿µÇâÀ» ¹ÌÄ£´Ù´Â Á¡ÀÌ´Ù.
-rpath
¿Í rpath-link
¿É¼ÇµéÀÌ »ç¿ëµÇÁö
¾ÊÀ¸¸é ȯ°æ º¯¼ö LD_RUN_PATH
ÀÇ ³»¿ëµéÀ» °Ë»öÇÑ´Ù.
-rpath
¿É¼ÇÀÌ »ç¿ëµÇÁö ¾ÊÀ¸¸é -L
¿É¼Çµé·Î ÁöÁ¤µÈ
ÀÓÀÇÀÇ µð·ºÅ͸®µéÀ» °Ë»öÇÑ´Ù.
LD_LIBRARY_PATH
ÀÇ ³»¿ë.
-shared
-Bshareable
-e
¿É¼ÇÀÌ »ç¿ëµÇÁö ¾Ê°í
¸µÅ©¿¡¼ Á¤ÀǵÇÁö ¾ÊÀº ½É¹úµéÀÌ ÀÖÀ¸¸é ÀÚµ¿À¸·Î °øÀ¯ ¶óÀ̺귯¸®¸¦
»ý¼ºÇÑ´Ù.
--sort-common
ld
¿¡°Ô °ø¿ë ½É¹úµéÀ» ÀûÀýÇÑ Ãâ·Â ¼½¼Çµé¿¡ ³õÀ» ¶§
±×µéÀÇ Å©±â¿¡ µû¶ó¼ ¼ÒÆÃÇϵµ·Ï Áö½ÃÇÑ´Ù. ù¹ø°·Î ¸ðµç 1 ¹ÙÀÌÆ®
½É¹úµéÀÌ ¿À°í ±× ´ÙÀ½¿¡ ¸ðµç 2 ¹ÙÀÌÆ® ½É¹úµéÀÌ ¿À°í ±× ´ÙÀ½¿¡ 4 ¹ÙÀÌÆ®
½É¹úµéÀÌ ¿À°í ¸¶Áö¸·À¸·Î ³ª¸ÓÁö ¸ðµç °ÍµéÀÌ ¿Â´Ù. ÀÌ°ÍÀº ¹èÄ¡
Á¦¾à(alignment constraint)¶§¹®¿¡ ¹ß»ýµÇ´Â ½É¹úµé »çÀÌÀÇ Æ´µéÀ» ¸·±â À§ÇÑ
°ÍÀÌ´Ù.
--split-by-file
--split-by-reloc
¿Í ºñ½ÁÇÏÁö¸¸ °¢ ÀÔ·Â ÆÄÀÏÀ» À§ÇÑ »õ·Î¿î Ãâ·Â
¼½¼ÇÀ» »ý¼ºÇÑ´Ù.
--split-by-reloc count
--stats
--traditional-format
ld
ÀÇ Ãâ·ÂÀº ÇöÁ¸ÇÏ´Â ¾î¶² ¸µÄ¿ÀÇ Ãâ·Â°ú ¾î¶²
¹æ½Ä¿¡¼ ¼·Î ´Ù¸£´Ù. ÀÌ ¿É¼ÇÀº ld
¿¡°Ô ´ë½Å¿¡, ÀüÅëÀûÀÎ Æ÷¸äÀ»
»ç¿ëÇϵµ·Ï ¿ä±¸ÇÑ´Ù.
¿¹¸¦ µé¾î¼, SunOS¿¡¼, ld
´Â ½É¹ú ¹®ÀÚ¿ Å×ÀÌºí¿¡ ÀÖ´Â Áߺ¹µÈ
Ç׸ñµéÀ» ¼·Î ¹´Â´Ù. ÀÌ°ÍÀº ¿ÏÀüÇÑ µð¹ö±ë Á¤º¸¸¦ °¡Áø
Ãâ·Â ÆÄÀÏÀÇ Å©±â¸¦ 30 ÆÛ¼¾Æ® ÀÌ»ó ÁÙÀδÙ. ºÒÇàÇÏ°Ôµµ SunOS dbx
ÇÁ·Î±×·¥Àº °á°ú ÇÁ·Î±×·¥(gdb
´Â ¹®Á¦°¡ ¾ø´Ù)Àº ÀÌ·± °á°ú
ÇÁ·Î±×·¥À» ÀÐÁö ¸øÇÑ´Ù. `--traditional-format' ¿É¼ÇÀº ld
°¡
Áߺ¹µÈ Ç׸ñµéÀ» ¹Áö ¾Êµµ·Ï ÇÑ´Ù.
-Tbss org
-Tdata org
-Ttext org
bss
, data
, ¶Ç´Â text
¼¼±×¸ÕÆ®---°¢°¢¿¡--- ´ëÇؼ ½ÃÀÛ ÁÖ¼Ò·Î »ç¿ëÇϵµ·Ï ÇÑ´Ù. org´Â
¹Ýµå½Ã 16Áø¼ö Á¤¼öÀ̾î¾ß ÇÑ´Ù; ´Ù¸¥ ¸µÄ¿µé°úÀÇ È£È¯¼ºÀ» À§ÇÏ¿© ¿©·¯ºÐÀº
16Áø¼ö °ª ¾Õ¿¡ º¸Åë ºÙÀÌ´Â `0x'¸¦ »ý·«ÇÒ ¼öµµ ÀÖ´Ù.
-Ur
ld
¿¡ ´ëÇÑ ÀÔ·ÂÀ¸·Î
»ç¿ëµÉ ¼ö ÀÖ´Â Ãâ·Â ÆÄÀÏ. C++ ÇÁ·Î±×·¥µéÀ» ¸µÅ©ÇÒ ¶§ `-Ur'´Â
`-r'¿Í´Â ´Ù¸£°Ô »ý¼ºÀÚ¿¡ ´ëÇÑ ÂüÁ¶µéÀ» Çص¶(resolve) ÇÑ´Ù.
`-Ur'·Î ±×µé ÀÚ½ÅÀÌ ¸µÅ©µÈ ÆÄÀϵ鿡 ´ëÇؼ `-Ur'¸¦ »ç¿ëÇÏ´Â
°ÍÀº ÀÛµ¿ÇÏÁö ¾Ê´Â´Ù; ÀÏ´Ü »ý¼ºÀÚ Å×À̺íÀÌ ¸¸µé¾îÁö¸é ÀÌ°ÍÀº ´õÇØÁú ¼ö
¾ø´Ù. ¸¶Áö¸· ºÎºÐ ¸µÅ©¿¡ ´ëÇؼ¸¸ `-Ur'¸¦ »ç¿ëÇÏ°í ´Ù¸¥ °Íµé¿¡
´ëÇؼ´Â `-r'¸¦ »ç¿ëÇÏÀÚ.
--verbose
ld
¿¡ ´ëÇؼ ¹öÀü ¹øÈ£¸¦ µð½ºÇ÷¹ÀÌÇÏ°í Áö¿øµÇ´Â ¸µÄ¿
¿¡¹Ä·¹ÀÌ¼Çµé ¸®½ºÆ®¸¦ µð½ºÇ÷¹ÀÌÇÑ´Ù. ¾î¶² ÀÔ·Â ÆÄÀϵéÀÌ ¿ÀÇ嵃 ¼ö
¾ø´ÂÁö¿¡ ´ëÇؼ µð½ºÇ÷¹ÀÌÇÑ´Ù. µðÆúÆ® ³»Àå ½ºÅ©¸³Æ®¸¦ »ç¿ëÇÑ´Ù¸é, ¸µÄ¿
½ºÅ©¸³Æ®¸¦ µð½ºÇ÷¹ÀÌÇÑ´Ù.
--version-script=version-scriptfile
--warn-common
file(section): warning: common of `symbol' overridden by definition file(section): warning: defined here
file(section): warning: definition of `symbol' overriding common file(section): warning: common is here
file(section): warning: multiple common of `symbol' file(section): warning: previous common is here
file(section): warning: common of `symbol' overridden by larger common file(section): warning: larger common is here
file(section): warning: common of `symbol' overriding smaller common file(section): warning: smaller common is here
--warn-constructors
--warn-multiple-gp
--warn-once
--warn-section-align
SECTIONS
¸í·ÉÀÌ ±× ¼½¼Ç¿¡ ´ëÇÑ ½ÃÀÛ ÁÖ¼Ò¸¦ ÁöÁ¤ÇÏÁö ¾Ê¾ÒÀ» °æ¿ì¿¡¸¸ º¯°æµÉ
°ÍÀÌ´Ù. (see section Ãâ·Â ¼½¼Ç ÁöÁ¤(Specifying Output Sections)).
--whole-archive
--whole-archive
¿É¼Ç ÀÌÈÄ¿¡ ¾ð±ÞµÈ °¢ ¾ÆÄ«À̺꿡
´ëÇؼ, ¿ä±¸µÈ ¿ÀºêÁ§Æ® ÆÄÀϵ鿡 ´ëÇÑ ¾ÆÄ«À̺긦 °Ë»öÇϱ⠺¸´Ù´Â, ±×
¸µÅ© ¾È¿¡ ¾ÆÄ«À̺꿡 ÀÖ´Â ¸ðµç ¿ÀºêÁ§Æ® ÆÄÀÏÀ» Æ÷ÇÔÇÑ´Ù. ÀÌ°ÍÀº
ÀϹÝÀûÀ¸·Î, °¢ ¿ÀºêÁ§Æ®°¡ °á°ú °øÀ¯ ¶óÀÌ·¯¸®¿¡ ²À Æ÷ÇԵǵµ·Ï Çؼ,
¾ÆÄ«À̺ê ÆÄÀÏÀ» °øÀ¯ ¶óÀ̺귯¸®·Î º¯È¯ÇÏ´Â µ¥ »ç¿ëµÈ´Ù. ÀÌ ¿É¼ÇÀº ¿©·¯¹ø
»ç¿ëµÉ ¼ö ÀÖ´Ù.
--wrap symbol
__wrap_symbol
·Î Çص¶µÉ °ÍÀÌ´Ù.
__real_symbol
¿¡ ´ëÇÑ ÀÓÀÇÀÇ Á¤ÀǵÇÁö ¾ÊÀº ÂüÁ¶´Â
symbol·Î Çص¶µÉ °ÍÀÌ´Ù.
ÀÌ°ÍÀº ½Ã½ºÅÛ ÇÔ¼ö¿¡ ´ëÇÑ ·¦ÆÛ¸¦ Á¦°øÇÏ´Â µ¥ »ç¿ëµÉ ¼ö ÀÖ´Ù. ·¦ÆÛ ÇÔ¼ö´Â
__wrap_symbol
·Î ºÒ¸®¾î¾ß ÇÑ´Ù. ½Ã½ºÅÛ ÇÔ¼ö¸¦ È£ÃâÇÏ°íÀÚ
ÇÑ´Ù¸é __real_symbol
¸¦ È£ÃâÇØ¾ß ÇÑ´Ù.
´ÙÀ½Àº ´Ü¼øÇÑ ¿¹Á¦ÀÌ´Ù:
void * __wrap_malloc (int c) { printf ("malloc called with %ld\n", c); return __real_malloc (c); }´Ù¸¥ Äڵ带 ÀÌ ÆÄÀÏ°ú
--wrap malloc
¸¦ »ç¿ëÇؼ ¸µÅ©ÇÑ´Ù¸é
malloc
¿¡ ´ëÇÑ ¸ðµç È£ÃâµéÀº __wrap_malloc
¸¦ ´ë½Å È£ÃâÇÒ
°ÍÀÌ´Ù. __wrap_malloc
¾È¿¡ ÀÖ´Â __real_malloc
¿¡ ´ëÇÑ È£ÃâÀº
½ÇÁ¦ÀÇ malloc
ÇÔ¼ö¸¦ È£ÃâÇÒ °ÍÀÌ´Ù.
¿©·¯ºÐÀº --wrap
¿É¼Ç¾øÀ̵µ ¸µÅ©°¡ ¼º°øÇÒ ¼ö ÀÖµµ·Ï,
__real_malloc
ÇÔ¼öµµ Á¦°øÇÏ°íÀÚ ¿øÇÒ·±Áö ¸ð¸¥´Ù. ±×·¸°Ô Çϸé
__wrap_malloc
¿Í °°Àº ÆÄÀÏ¿¡ __real_malloc
ÀÇ Á¤ÀǸ¦
³ÖÀ¸¸é ¾ÈµÈ´Ù; ±×·¸°Ô ÇÏ¸é ¸µÄ¿°¡ ±×°ÍÀ» malloc
À¸·Î ·¦ÇÎÇϱâ Àü¿¡
¾î¼Àºí·¯´Â ±× È£ÃâÀ» Çص¶ÇÒ ¼öµµ ÀÖ´Ù.
GNUTARGET
¿Í LDEMULATION
ȯ°æ º¯¼öµé·Î ld
ÀÇ ÇൿÀ»
º¯°æÇÒ ¼ö ÀÖ´Ù.
GNUTARGET
´Â ¿©·¯ºÐÀÌ `-b'(¶Ç´Â ÀÌ°Í°ú À¯»çÇÑ °Í
`--format')À» »ç¿ëÇÏÁö ¾Ê¾Ò´Ù¸é ÀÔ·Â-ÆÄÀÏ ¿ÀºêÁ§Æ®¸¦ °áÁ¤ÇÑ´Ù.
ÀÌ°ÍÀÇ °ªÀº ÀÔ·Â Æ÷¸ä¿¡ ´ëÇÑ BFD À̸§µé ÁßÀÇ ÇϳªÀ̾î¾ß ÇÑ´Ù.
(see section BFD). ȯ°æ¿¡ GNUTARGET
ÀÌ ¾øÀ¸¸é ld
´Â Ÿ°ÙÀÇ
ÀϹÝÀûÀÎ(natural) Æ÷¸äÀ» »ç¿ëÇÑ´Ù. GNUTARGET
°¡ default
·Î
¼³Á¤µÇ¸é BFD´Â ¹ÙÀ̳ʸ® ÀÔ·Â ÆÄÀϵéÀ» ½ÃÇèÇÔÀ¸·Î½á ÀÔ·Â Æ÷¸äÀ»
¹ß°ßÇÏ·Á°í ÇÒ °ÍÀÌ´Ù; ÀÌ·± ¹æ¹ýÀº Á¾Á¾ ¼º°øÇÏÁö¸¸ ÀáÀçÀûÀÎ ¸ðÈ£¼ºÀÌ
ÀÖ´Ù. ¿Ö³Ä¸é ¿ÀºêÁ§Æ®-ÆÄÀÏ Æ÷¸äµéÀÌ À¯ÀÏÇϱ⠶§¹®ÀÌ´Ù. ±×·¯³ª °¢
½Ã½ºÅÛ¿¡ ÀÖ´Â BFD¸¦ À§ÇÑ ¼³Á¤ °úÁ¤ÀÌ °Ë»ö-¸®½ºÆ®¿¡ ±× ½Ã½ºÅÛ¿¡ ´ëÇÑ
ÀüÅëÀûÀÎ Æ÷¸äÀ» óÀ½¿¡ ³õ´Â´Ù. ±×·¡¼ ¸ðÈ£¼ºÀÌ °ü·Ê¿¡ µû¶ó Çص¶µÈ´Ù.
LDEMULATION
Àº `-m' ¿É¼ÇÀ» »ç¿ëÇÏÁö ¾ÊÀ¸¸é µðÆúÆ®
¿¡¹Ä·¹À̼ÇÀ» °áÁ¤ÇÑ´Ù. ¿¡¹Ä·¹À̼ÇÀº ¸µÄ¿ ÇൿÀÇ ´Ù¾çÇÑ ¸éµé¿¡ ¿µÇâÀ»
¹ÌÄ¥ ¼ö ÀÖ´Ù. Ưº°È÷ µðÆúÆ® ¸µÄ¿ ½ºÅ©¸³Æ®¿¡ ¿µÇâÀ» ¹ÌÄ¥ ¼ö ÀÖ´Ù.
¿©·¯ºÐÀº »ç¿ë°¡´ÉÇÑ ¿¡¹Ä·¹ÀÌ¼Ç ¸®½ºÆ®¸¦ `--verbose' ¶Ç´Â `-V'
¿É¼Çµé·Î È®ÀÎÇÒ ¼ö ÀÖ´Ù. `-m' ¿É¼ÇÀÌ »ç¿ëµÇÁö ¾Ê¾Ò°í ¶ÇÇÑ
LDEMULATION
ȯ°æ º¯¼ö°¡ Á¤ÀǵÇÁö ¾Ê¾Ò´Ù¸é µðÆúÆ® ¿¡¹Ä·¹À̼ÇÀº
¸µÄ¿°¡ ¼³Á¤µÈ ¹æ¹ý¿¡ µû¶ó ´Þ¶óÁø´Ù.
Go to the first, previous, next, last section, table of contents.