ããã¯ã³ãã³ã m68hc11-ld ã§ãUbuntu OnlineãFedora OnlineãWindows ãªã³ã©ã€ã³ ãšãã¥ã¬ãŒã¿ãŒãMAC OS ãªã³ã©ã€ã³ ãšãã¥ã¬ãŒã¿ãŒãªã©ã®è€æ°ã®ç¡æãªã³ã©ã€ã³ ã¯ãŒã¯ã¹ããŒã·ã§ã³ã® XNUMX ã€ã䜿çšããŠãOnWorks ç¡æãã¹ãã£ã³ã° ãããã€ããŒã§å®è¡ã§ããŸãã
ããã°ã©ã ïŒ
NAME
ld-GNUãªã³ã«ãŒ
SYNOPSIS
ld [ãªãã·ã§ã³] ãªããžã§ã¯ããã¡ã€ã« ...
DESCRIPTION
ld å€æ°ã®ãªããžã§ã¯ããã¡ã€ã«ãšã¢ãŒã«ã€ããã¡ã€ã«ãçµã¿åããããããã®ããŒã¿ãåé 眮ããã·ã³ãã«ãçµã³ä»ããŸã
åç §ã éåžžãããã°ã©ã ãã³ã³ãã€ã«ããæåŸã®ã¹ãããã¯å®è¡ããããšã§ã ld.
ld ATïŒTã®ãªã³ã¯ãšãã£ã¿ã®ã¹ãŒããŒã»ããã§èšè¿°ããããªã³ã«ãŒã³ãã³ãèšèªãã¡ã€ã«ãåãå ¥ããŸã
ã³ãã³ãèšèªæ§æããªã³ã¯ããã»ã¹ãæ瀺çãã€å®å šã«å¶åŸ¡ããŸãã
ãã®ããã¥ã¢ã«ããŒãžã§ã¯ãã³ãã³ãèšèªã«ã€ããŠã¯èª¬æããŠããŸããã ãåç §ããŠãã ãã ld å®å šãªãæ å ±ãã®ãšã³ããª
ã³ãã³ãèšèªããã³GNUãªã³ã«ãŒã®ä»ã®åŽé¢ã®è©³çŽ°ã
ãã®ããŒãžã§ã³ã® ld æ±çšBFDã©ã€ãã©ãªã䜿çšããŠãªããžã§ã¯ããã¡ã€ã«ãæäœããŸãã ãã®
ããšãã§ããŸã ld ããŸããŸãªåœ¢åŒã®ãªããžã§ã¯ããã¡ã€ã«ã®èªã¿åããçµåãããã³æžã蟌ã¿ãè¡ãã«ã¯---
ããšãã°ãCOFFãŸãã¯ãa.outãã ããŸããŸãªãã©ãŒãããããªã³ã¯ããŠã
å©çšå¯èœãªçš®é¡ã®ãªããžã§ã¯ããã¡ã€ã«ã
ãã®æè»æ§ã¯å¥ãšããŠãGNUãªã³ã«ãŒã¯ä»ã®ãªã³ã«ãŒãããæäŸã«åœ¹ç«ã¡ãŸã
蚺ææ å ±ã å€ãã®ãªã³ã«ãŒã¯ãã«ééãããšããã«å®è¡ãæŸæ£ããŸã
ãšã©ãŒ; ãã€ã§ãå¯èœãªãšãã ld å®è¡ãç¶ç¶ããä»ã®ãšã©ãŒãèå¥ã§ããããã«ããŸã
ïŒãŸãã¯ãå Žåã«ãã£ãŠã¯ããšã©ãŒã«ããããããåºåãã¡ã€ã«ãååŸããããïŒã
GNUãªã³ã«ãŒ ld å¹ åºãç¶æ³ãã«ããŒããäºææ§ãä¿ã€ããšãç®çãšããŠããŸã
ä»ã®ãªã³ã«ãŒã§å¯èœãªéãã ãã®çµæãããªãã¯ãããå¶åŸ¡ããããã®å€ãã®éžæè¢ããããŸã
è¡åã
OPTIONS
ãªã³ã«ã¯å€æ°ã®ã³ãã³ãã©ã€ã³ãªãã·ã§ã³ããµããŒãããŠããŸãããå®éã«ã¯ãããã®ããã€ãã¯
ç¹å®ã®ã³ã³ããã¹ãã§äœ¿çšãããŸãã ããšãã°ãé »ç¹ã«äœ¿çšãã ld ãªã³ã¯ããããšã§ã
ãµããŒããããŠããæšæºã®Unixã·ã¹ãã äžã®æšæºã®Unixãªããžã§ã¯ããã¡ã€ã«ã ãã®ãããªã·ã¹ãã ã§ã¯ã
ãã¡ã€ã«ãhello.oãããªã³ã¯ããŸãã
ããŸã/lib/crt0.o hello.o -lc
ãã㯠ld ãšåŒã°ãããã¡ã€ã«ãçæããã«ã¯ åºå ãã¡ã€ã«ããªã³ã¯ããçµæãšããŠ
ã/lib/crt0.oããšãhello.oãããã³ã©ã€ãã©ãªãlibc.aããããã¯æšæºããæäŸãããŸãã
ãã£ã¬ã¯ããªãæ€çŽ¢ããŸãã ïŒã®èª¬æãåç §ããŠãã ãã -l 以äžã®ãªãã·ã§ã³ãïŒ
ã³ãã³ãã©ã€ã³ãªãã·ã§ã³ã®äžéš ld ã³ãã³ãã©ã€ã³ã®ä»»æã®å Žæã§æå®ã§ããŸãã
ãã ãã次ã®ãããªãã¡ã€ã«ãåç §ãããªãã·ã§ã³ -l or -Tãã§ãã¡ã€ã«ãèªã¿åãããŸã
ãªããžã§ã¯ããã¡ã€ã«ã«é¢é£ããŠãã³ãã³ãã©ã€ã³ã«ãªãã·ã§ã³ã衚瀺ããããã€ã³ã
ä»ã®ãã¡ã€ã«ãªãã·ã§ã³ã ç°ãªãåŒæ°ã§ãã¡ã€ã«ä»¥å€ã®ãªãã·ã§ã³ãç¹°ãè¿ããšã
ãã以äžã®åœ±é¿ã¯ãããŸããããŸãã¯ä»¥åã®çºçããªãŒããŒã©ã€ãããŸãïŒã³ãã³ãã®ããã«å·ŠåŽã«ãããã®ïŒ
ãã®ãªãã·ã§ã³ã®è¡ïŒã è€æ°åæå³ã®ããæå®ãå¯èœãªãªãã·ã§ã³ã¯æ¬¡ã®ãšããã§ãã
以äžã®èª¬æã«èšèŒãããŠããŸãã
ãªãã·ã§ã³ä»¥å€ã®åŒæ°ã¯ãçžäºã«ãªã³ã¯ããããªããžã§ã¯ããã¡ã€ã«ãŸãã¯ã¢ãŒã«ã€ãã§ãã 圌ã
ãªããžã§ã¯ããã¡ã€ã«ãé€ããŠãã³ãã³ãã©ã€ã³ãªãã·ã§ã³ã®åŸã«ç¶ããå è¡ããããŸãã¯æ··åšããå¯èœæ§ããããŸã
ãªãã·ã§ã³ãšãã®åŒæ°ã®éã«åŒæ°ã眮ãããšã¯ã§ããŸããã
éåžžããªã³ã«ã¯å°ãªããšãXNUMXã€ã®ãªããžã§ã¯ããã¡ã€ã«ã§åŒã³åºãããŸãããä»ã®ãã¡ã€ã«ãæå®ããããšãã§ããŸã
ã䜿çšãããã€ããªå ¥åãã¡ã€ã«ã®åœ¢åŒ -l, -Rãããã³ã¹ã¯ãªããã³ãã³ãèšèªã ããã ããã ãã€ããª
å ¥åãã¡ã€ã«ããŸã£ããæå®ãããŠããå Žåããªã³ã«ã¯åºåãçæããã
ã¡ãã»ãŒãž ããã ãã¡ã€ã«.
ãªã³ã«ããªããžã§ã¯ããã¡ã€ã«ã®åœ¢åŒãèªèã§ããªãå Žåããªã³ã«ã¯ããããªããžã§ã¯ããã¡ã€ã«ã§ãããšèŠãªããŸãã
ãªã³ã«ãŒã¹ã¯ãªããã ãã®ããã«æå®ãããã¹ã¯ãªããã¯ãã«äœ¿çšãããã¡ã€ã³ã®ãªã³ã«ãŒã¹ã¯ãªãããæ¡åŒµããŸãã
ãªã³ã¯ïŒããã©ã«ãã®ãªã³ã«ãŒã¹ã¯ãªãããŸãã¯ã䜿çšããŠæå®ããããã®ã®ããããïŒ -TïŒã ãã®
ãã®æ©èœã«ããããªã³ã«ã¯ãªããžã§ã¯ããŸãã¯ãªããžã§ã¯ãã®ããã«èŠãããã¡ã€ã«ã«å¯ŸããŠãªã³ã¯ã§ããŸãã
ã¢ãŒã«ã€ãããŸãããå®éã«ã¯ããã€ãã®ã·ã³ãã«å€ãå®çŸ©ãããããINPUTããŸãã¯ãGROUPãã䜿çšããŠ
ä»ã®ãªããžã§ã¯ããããŒãããŸãã ãã®æ¹æ³ã§ã¹ã¯ãªãããæå®ããããšã¯ãåã«ã¡ã€ã³ã®ã¹ã¯ãªãããæ¡åŒµããã ãã§ããããšã«æ³šæããŠãã ããã
ãªã³ã«ãŒã¹ã¯ãªããã äœ¿çš -T ããã©ã«ãã®ãªã³ã«ãŒ ã¹ã¯ãªãããå®å šã«çœ®ãæãããªãã·ã§ã³ã
ååãXNUMXæåã®ãªãã·ã§ã³ã®å Žåããªãã·ã§ã³åŒæ°ã¯æ¬¡ã®ããããã«åŸãå¿ èŠããããŸãã
空çœãæ¿å ¥ããªããªãã·ã§ã³æåããŸãã¯åå¥ã®åŒæ°ãšããŠæå®ãã
ããããå¿ èŠãšãããªãã·ã§ã³ã®çŽåŸã
ååãè€æ°ã®æåã§ãããªãã·ã§ã³ã®å ŽåãXNUMXã€ã®ããã·ã¥ãŸãã¯XNUMXã€ã®ããã·ã¥ãåã«ä»ããããšãã§ããŸãã
ãªãã·ã§ã³å; äŸãã°ã -ãã¬ãŒã¹ã·ã³ãã« & --ãã¬ãŒã¹èšå· åçã§ãã 泚---ãããŸã
ãã®èŠåã®XNUMXã€ã®äŸå€ã§ãã å°æåã®ãoãã§å§ãŸãè€æ°æåã®ãªãã·ã§ã³
åã«ããã·ã¥ãXNUMXã€ã ãä»ããããšãã§ããŸãã ããã¯ããšã®æ··ä¹±ãæžããããã§ã -o ãªãã·ã§ã³ã ãã
äŸãã° -ãªãŒããžã㯠åºåãã¡ã€ã«åãã«èšå®ããŸã ããžã㯠äžæ¹ --ãªãŒããžã㯠NMAGICãèšå®ããŸã
åºåã®ãã©ã°ã
è€æ°æåã®ãªãã·ã§ã³ãžã®åŒæ°ã¯ããªãã·ã§ã³åãã次ã®ããããã§åºåãå¿ èŠããããŸãã
çå·ããŸãã¯ãªãã·ã§ã³ã®çŽåŸã«åå¥ã®åŒæ°ãšããŠæå®ãã
ããããå¿ èŠã§ãã äŸãã°ã --ãã¬ãŒã¹èšå· foo & --trace-symbol = foo åçã§ãã
è€æ°æåã®ãªãã·ã§ã³ã®ååã®äžæã®ç¥èªãåãå ¥ããããŸãã
泚---ãªã³ã«ãã³ã³ãã€ã©ãã©ã€ããä»ããŠéæ¥çã«åŒã³åºãããŠããå ŽåïŒäŸïŒ gccã®ïŒ
ãã¹ãŠã®ãªã³ã«ã³ãã³ãã©ã€ã³ãªãã·ã§ã³ã®åã«ã -Wlã ïŒãŸãã¯é©åãªãã®ã¯äœã§ã
ç¹å®ã®ã³ã³ãã€ã©ãã©ã€ãã®å ŽåïŒãã®ããã«ïŒ
gcc -Wl,--startgroup foo.o bar.o -Wl,--endgroup
ããã¯éèŠã§ããããããªããšãã³ã³ãã€ã©ãã©ã€ãããã°ã©ã ããµã€ã¬ã³ãã«ããããããå¯èœæ§ãããããã§ãã
ãªã³ã«ãŒ ãªãã·ã§ã³ã®èšå®ã«ãããäžæ£ãªãªã³ã¯ãçºçããŸãã
以äžã¯ãGNUãªã³ã«ã«ãã£ãŠåãå ¥ããããæ±çšã³ãã³ãã©ã€ã³ã¹ã€ããã®è¡šã§ãã
@file
ããã³ãã³ãã©ã€ã³ãªãã·ã§ã³ãèªã¿åã fileã èªã¿åããããªãã·ã§ã³ã¯ãã®ä»£ããã«æ¿å ¥ãããŸã
ãªãªãžãã« @file ãªãã·ã§ã³ã å Žå file ååšããªãããèªã¿åãããšãã§ããªãå Žåããªãã·ã§ã³
æåéãã«æ±ãããåé€ãããŸããã
ãªãã·ã§ã³ã§ file 空çœã§åºåãããŸãã 空çœæåãå«ãŸããå ŽåããããŸã
ãªãã·ã§ã³å šäœãäžéåŒçšç¬ŠãŸãã¯äºéåŒçšç¬Šã§å²ãããšã«ããããªãã·ã§ã³å ã§ã ã©ãã§ã
æåïŒããã¯ã¹ã©ãã·ã¥ãå«ãïŒã¯ãæåã®åã«ä»ããããšã§å«ããããšãã§ããŸã
ããã¯ã¹ã©ãã·ã¥ãå«ãŸããŠããŸãã NS file ããèªäœã«è¿œå ã®@ãå«ãŸããå ŽåããããŸãfile ãªãã·ã§ã³; ã©ãã
ãã®ãããªãªãã·ã§ã³ã¯ååž°çã«åŠçãããŸãã
-aããŒã¯ãŒã
ãã®ãªãã·ã§ã³ã¯ãHP / UXã®äºææ§ã®ããã«ãµããŒããããŠããŸãã NS ããŒã¯ãŒã åŒæ°ã¯æ¬¡ã®ããããã§ããå¿ èŠããããŸã
æåå ã¢ãŒã«ã€ã, sharedãŸã㯠ããã©ã«ã. -ã¢ãŒã«ã€ã æ©èœçã«ã¯åçã§ã
-Bã¹ã¿ãã£ãã¯ãããã³ä»ã®XNUMXã€ã®ããŒã¯ãŒãã¯æ©èœçã«åçã§ã -ããã€ãããã¯ã ãã®
ãªãã·ã§ã³ã¯äœåºŠã§ã䜿çšã§ããŸãã
-A建ç¯
-ã¢ãŒããã¯ãã£=建ç¯
ã®çŸåšã®ãªãªãŒã¹ã§ã¯ ldããã®ãªãã·ã§ã³ã¯ãã€ã³ãã«960ãã¡ããªãŒã®
ã¢ãŒããã¯ãã£ã ãã®äžã§ ld æ§æã å»ºç¯ åŒæ°ã¯ã
960ãã¡ããªã®ç¹å®ã®ã¢ãŒããã¯ãã£ãããã€ãã®ã»ãŒãã¬ãŒããæå¹ã«ãã
ã¢ãŒã«ã€ãã©ã€ãã©ãªã®æ€çŽ¢ãã¹ã
ã®å°æ¥ã®ãªãªãŒã¹ ld ä»ã®ã¢ãŒããã¯ãã£ã§ãåæ§ã®æ©èœããµããŒãããå ŽåããããŸã
家æã
-b å ¥å圢åŒ
--format =å ¥å圢åŒ
ld è€æ°ã®çš®é¡ã®ãªããžã§ã¯ããã¡ã€ã«ããµããŒãããããã«æ§æã§ããŸãã ããããªãã® ld is
ãã®ããã«æ§æãããšã -b å ¥åã®ãã€ããªåœ¢åŒãæå®ãããªãã·ã§ã³
ã³ãã³ãã©ã€ã³ã§ãã®ãªãã·ã§ã³ã«åŸããªããžã§ã¯ããã¡ã€ã«ã ãšãã§ãã ld æ§æãããŠããŸã
代æ¿ãªããžã§ã¯ã圢åŒããµããŒãããããã«ãéåžžããããæå®ããå¿ èŠã¯ãããŸããã ld
ããã©ã«ãã®å ¥åãã©ãŒããããšããŠãããããã§æãäžè¬çãªãã©ãŒããããæåŸ ããããã«æ§æããå¿ èŠããããŸã
æ©æ¢°ã å ¥ååœ¢åŒ ã¯ããã¹ãæååã§ããããµããŒããããŠããç¹å®ã®åœ¢åŒã®ååã§ãã
BFDã©ã€ãã©ãªã ïŒå©çšå¯èœãªãã€ããªåœ¢åŒããªã¹ãããããšãã§ããŸã ãªããžã§ã¯ããã³ã -i.)
ç°åžžãªãã€ããªã§ãã¡ã€ã«ããªã³ã¯ããŠããå Žåã¯ããã®ãªãã·ã§ã³ã䜿çšããããšããå§ãããŸã
ãã©ãŒãããã 䜿çšããããšãã§ããŸã -b ãã©ãŒããããæ瀺çã«åãæ¿ããïŒãªããžã§ã¯ããã¡ã€ã«ããªã³ã¯ããå ŽåïŒ
ããŸããŸãªåœ¢åŒã®ïŒãå«ããããšã«ãã£ãŠ -b å ¥ååœ¢åŒ ãªããžã§ã¯ããã¡ã€ã«ã®åã°ã«ãŒãã®å
ç¹å®ã®åœ¢åŒã§ã
ããã©ã«ãã®åœ¢åŒã¯ãç°å¢å€æ°ãGNUTARGETãããååŸãããŸãã
ã³ãã³ããTARGETãã䜿çšããŠãã¹ã¯ãªããããå ¥å圢åŒãå®çŸ©ããããšãã§ããŸãã
-c MRIã³ãã³ããã¡ã€ã«
--mri-script =MRIã³ãã³ããã¡ã€ã«
MRIã«ãã£ãŠçæããããªã³ã«ãŒãšã®äºææ§ã®ããã«ã ld ã§æžãããã¹ã¯ãªãããã¡ã€ã«ãåãå ¥ããŸã
MRIäºæã¹ã¯ãªãããã¡ã€ã«ã§èª¬æãããŠãã代æ¿ã®å¶éãããã³ãã³ãèšèª
GNUldããã¥ã¡ã³ãã®ã»ã¯ã·ã§ã³ã ãªãã·ã§ã³ã§MRIã¹ã¯ãªãããã¡ã€ã«ãå°å ¥ãã -c; 䜿çšãã
ã -T æ±çšã§èšè¿°ããããªã³ã«ãŒã¹ã¯ãªãããå®è¡ãããªãã·ã§ã³ ld ã¹ã¯ãªããèšè¿°
èšèªã ããã MRI ã³ãã³ããã¡ã€ã« ååšããªãã ld æå®ããããã£ã¬ã¯ããªã§ãããæ¢ããŸã
ãããã㧠-L ãªãã·ã§ã³ã
-d
-dc
-dp ãããã®XNUMXã€ã®ãªãã·ã§ã³ã¯åçã§ãã äºææ§ã®ããã«è€æ°ã®ãã©ãŒã ããµããŒããããŠããŸã
ä»ã®ãªã³ã«ãŒãšã åé 眮å¯èœãªåºåã§ãã£ãŠããå ±éã®ã·ã³ãã«ã«ã¹ããŒã¹ãå²ãåœãŠãŸã
ãã¡ã€ã«ãæå®ãããŠããŸãïŒ -rïŒã ã¹ã¯ãªããã³ãã³ããFORCE_COMMON_ALLOCATIONãã«ã¯ã
åãå¹æã
-e ãšã³ããª
--entry =ãšã³ããª
ã ãšã³ã㪠ããã°ã©ã ã®å®è¡ãéå§ããããã®æ瀺çãªã·ã³ãã«ãšããŠã§ã¯ãªãã
ããã©ã«ãã®ãšã³ããªãã€ã³ãã ååã®ä»ããèšå·ããªãå Žå ãšã³ããªããªã³ã«ãŒã¯ããããšããŸã
ããŒãº ãšã³ã㪠çªå·ãšããŠãããããšã³ããªã¢ãã¬ã¹ãšããŠäœ¿çšããŸãïŒçªå·ã¯
10é²æ°ã§è§£éãããŸãã ãªãŒãã£ã³ã°ã䜿çšã§ããŸã 0x åºæ°16ããŸãã¯ãªãŒãã£ã³ã° 0 ããŒã¹çš
8ïŒã
--exclude-libs ãªã,ãªãã...
ã·ã³ãã«ãèªåçã«äœæããªãã¢ãŒã«ã€ãã©ã€ãã©ãªã®ãªã¹ããæå®ããŸã
ãšã¯ã¹ããŒããããŸããã ã©ã€ãã©ãªåã¯ãã³ã³ããŸãã¯ã³ãã³ã§åºåãããšãã§ããŸãã æå®ãã
ã--exclude-libsALLãã¯ããã¹ãŠã®ã¢ãŒã«ã€ãã©ã€ãã©ãªã®ã·ã³ãã«ãèªåãšã¯ã¹ããŒãããé€å€ããŸãã
ãã®ãªãã·ã§ã³ã¯ããªã³ã«ãŒã®i386PEã¿ãŒã²ããããŒããšELFã§ã®ã¿äœ¿çšã§ããŸãã
ã¿ãŒã²ããããŒãã i386 PEã®å Žåã.defãã¡ã€ã«ã«æ瀺çã«ãªã¹ããããŠããã·ã³ãã«ã¯åŒãç¶ã
ãã®ãªãã·ã§ã³ã«é¢ä¿ãªãããšã¯ã¹ããŒããããŸãã ELFã¿ãŒã²ããããŒãã®å Žåãããã«ãã£ãŠåœ±é¿ãåããã·ã³ãã«
ãªãã·ã§ã³ã¯é衚瀺ãšããŠæ±ãããŸãã
-E
--ãšã¯ã¹ããŒã-åç
åçã«ãªã³ã¯ãããå®è¡å¯èœãã¡ã€ã«ãäœæããå Žåããã¹ãŠã®ã·ã³ãã«ãåçã·ã³ãã«ã«è¿œå ããŸãã
ããŒãã«ã ãã€ãããã¯ã·ã³ãã«ããŒãã«ã¯ããã€ãããã¯ããèŠããã·ã³ãã«ã®ã»ããã§ãã
å®è¡æã®ãªããžã§ã¯ãã
ãã®ãªãã·ã§ã³ã䜿çšããªãå Žåããã€ããã㯠ã·ã³ãã« ããŒãã«ã«ã¯éåžžã
ãªã³ã¯ã§èšåãããŠããåçãªããžã§ã¯ãã«ãã£ãŠåç §ãããã·ã³ãã«ã
ãdlopenãã䜿çšããŠãã·ã³ãã«ãåç §ããå¿ èŠãããåçãªããžã§ã¯ããããŒãããå Žå
ä»ã®åçãªããžã§ã¯ãã§ã¯ãªããããã°ã©ã ã«ãã£ãŠå®çŸ©ãããŠããå Žåã¯ããããã
ããã°ã©ã èªäœããªã³ã¯ãããšãã«ãã®ãªãã·ã§ã³ã䜿çšããå¿ èŠããããŸãã
åçãªã¹ãã䜿çšããŠãã©ã®ã·ã³ãã«ãè¿œå ããããå¶åŸ¡ããããšãã§ããŸãã
åºå圢åŒããµããŒãããŠããå Žåã¯ãåçã·ã³ãã«ããŒãã«ã ã®èª¬æãåç §ããŠãã ãã
-åçãªã¹ã.
-EB ããã°ãšã³ãã£ã¢ã³ãªããžã§ã¯ãããªã³ã¯ããŸãã ããã¯ãããã©ã«ãã®åºå圢åŒã«åœ±é¿ããŸãã
-THE ãªãã«ãšã³ãã£ã¢ã³ãªããžã§ã¯ãããªã³ã¯ããŸãã ããã¯ãããã©ã«ãã®åºå圢åŒã«åœ±é¿ããŸãã
-f
- è£å© å
ELFå ±æãªããžã§ã¯ããäœæãããšãã¯ãå éšDT_AUXILIARYãã£ãŒã«ãã
æå®ãããååã ããã¯ããã€ãããã¯ãªã³ã«ã«å ±æã®ã·ã³ãã«ããŒãã«ãéç¥ããŸã
ãªããžã§ã¯ãã¯ãå ±æãªããžã§ã¯ãã®ã·ã³ãã«ããŒãã«ã®è£å©ãã£ã«ã¿ãŒãšããŠäœ¿çšããå¿ èŠããããŸã
å.
åŸã§ãã®ãã£ã«ã¿ãŒãªããžã§ã¯ãã«å¯ŸããŠããã°ã©ã ããªã³ã¯ããå Žåã¯ã
ããã°ã©ã ã§ã¯ããã€ãããã¯ãªã³ã«ã¯DT_AUXILIARYãã£ãŒã«ããåç §ããŸãã ãã€ãããã¯ãªã³ã«ãŒã®å Žå
ãã£ã«ã¿ãªããžã§ã¯ãããã®ã·ã³ãã«ã解決ããŸããæåã«ã
å ±æãªããžã§ã¯ãã®å®çŸ© åã ããå Žåã¯ã代ããã«äœ¿çšãããŸã
ãã£ã«ã¿ãªããžã§ã¯ãã®å®çŸ©ã å ±æãªããžã§ã¯ã å ååšããå¿ èŠã¯ãããŸããã ãããã£ãŠã
å ±æãªããžã§ã¯ã å ç¹å®ã®ä»£æ¿å®è£ ãæäŸããããã«äœ¿çšãããå ŽåããããŸã
ãããããããã°ãŸãã¯ãã·ã³åºæã®ããã©ãŒãã³ã¹ã®ããã®é¢æ°ã
ãã®ãªãã·ã§ã³ã¯è€æ°åæå®ã§ããŸãã DT_AUXILIARYãšã³ããªãäœæãããŸã
ã³ãã³ãã©ã€ã³ã«è¡šç€ºãããé åºã§ã
-F å
- ãã£ã«ã¿ãŒ å
ELFå ±æãªããžã§ã¯ããäœæãããšãã¯ãå éšDT_FILTERãã£ãŒã«ããæå®ãããå€ã«èšå®ããŸã
ååã ããã¯ããã€ãããã¯ãªã³ã«ã«å ±æãªããžã§ã¯ãã®ã·ã³ãã«ããŒãã«ã
äœæäžã¯ãå ±æãªããžã§ã¯ãã®ã·ã³ãã«ããŒãã«ã®ãã£ã«ã¿ãŒãšããŠäœ¿çšããå¿ èŠããããŸã
å.
åŸã§ãã®ãã£ã«ã¿ãŒãªããžã§ã¯ãã«å¯ŸããŠããã°ã©ã ããªã³ã¯ããå Žåã¯ã
ããã°ã©ã ã§ã¯ããã€ãããã¯ãªã³ã«ã¯DT_FILTERãã£ãŒã«ããåç §ããŸãã ãã€ãããã¯ãªã³ã«ãŒã¯
éåžžã©ããããã£ã«ã¿ãŒãªããžã§ã¯ãã®ã·ã³ãã«ããŒãã«ã«åŸã£ãŠã·ã³ãã«ã解決ããŸããã
å ±æãªããžã§ã¯ãã§èŠã€ãã£ãå®çŸ©ã«å®éã«ãªã³ã¯ããŸã åã ãããã£ãŠã
ãã£ã«ã¿ãªããžã§ã¯ãã䜿çšããŠããªããžã§ã¯ãã«ãã£ãŠæäŸãããã·ã³ãã«ã®ãµãã»ãããéžæã§ããŸã
å.
äžéšã®å€ããªã³ã«ãŒã¯ã -F ã®ã³ã³ãã€ã«ããŒã«ãã§ãŒã³å šäœã®ãªãã·ã§ã³
å ¥åãªããžã§ã¯ããã¡ã€ã«ãšåºåãªããžã§ã¯ããã¡ã€ã«ã®äž¡æ¹ã«ãªãââãžã§ã¯ããã¡ã€ã«åœ¢åŒãæå®ããŸãã GNUãªã³ã«ãŒ
ãã®ç®çã®ããã«ä»ã®ã¡ã«ããºã ã䜿çšããŸãïŒ -b, - ãã©ãŒããã, --oformat ãªãã·ã§ã³ã
ãªã³ã«ã¹ã¯ãªããã®ãTARGETãã³ãã³ããããã³ãGNUTARGETãç°å¢å€æ°ã GNUã¯
ãªã³ã«ã¯ç¡èŠããŸã -F ELFå ±æãªããžã§ã¯ããäœæããªãå Žåã®ãªãã·ã§ã³ã
-ãã£ã å
ELFå®è¡å¯èœãã¡ã€ã«ãŸãã¯å ±æãªããžã§ã¯ããäœæããå Žåãå®è¡å¯èœãã¡ã€ã«ãŸãã¯å ±æãªããžã§ã¯ãã®ãšãã«NAMEãåŒã³åºããŸãã
DT_FINIãé¢æ°ã®ã¢ãã¬ã¹ã«èšå®ããããšã«ãããå ±æãªããžã§ã¯ããã¢ã³ããŒããããŸãã ã«
ããã©ã«ãã§ã¯ããªã³ã«ã¯åŒã³åºãé¢æ°ãšããŠã_finiãã䜿çšããŸãã
-g ç¡èŠãããŸãã ä»ã®ããŒã«ãšã®äºææ§ã®ããã«æäŸãããŠããŸãã
-Gå€
--gpsize =å€
GPã¬ãžã¹ã¿ã䜿çšããŠæé©åãããªããžã§ã¯ãã®æ倧ãµã€ãºã次ã®ããã«èšå®ããŸãã ãµã€ãºã ãã®
ããã¯ããããã£ã³ã°ããµããŒããã MIPS ECOFF ãªã©ã®ãªããžã§ã¯ã ãã¡ã€ã«åœ¢åŒã«å¯ŸããŠã®ã¿æå³ããããŸãã
倧ããªãªããžã§ã¯ããšå°ããªãªããžã§ã¯ããç°ãªãã»ã¯ã·ã§ã³ã«åå²ããŸãã ä»ã®ãªããžã§ã¯ãã§ã¯ç¡èŠãããŸã
ãã¡ã€ã«åœ¢åŒã
-hå
-soname =å
ELFå ±æãªããžã§ã¯ããäœæãããšãã¯ãå éšDT_SONAMEãã£ãŒã«ããæå®ãããå€ã«èšå®ããŸã
ååã å®è¡å¯èœãã¡ã€ã«ãDT_SONAMEãã£ãŒã«ããæã€å ±æãªããžã§ã¯ãã«ãªã³ã¯ãããŠããå Žåã
次ã«ãå®è¡å¯èœãã¡ã€ã«ãå®è¡ããããšããã€ãããã¯ãªã³ã«ã¯å ±æãããŒãããããšããŸã
ã«æå®ããããã¡ã€ã«åã䜿çšããã®ã§ã¯ãªããDT_SONAMEãã£ãŒã«ãã§æå®ããããªããžã§ã¯ã
ãªã³ã«ãŒã
-i ã€ã³ã¯ãªã¡ã³ã¿ã«ãªã³ã¯ãå®è¡ããŸãïŒãªãã·ã§ã³ãšåãïŒ -r).
-åæå å
ELFå®è¡å¯èœãã¡ã€ã«ãŸãã¯å ±æãªããžã§ã¯ããäœæããå Žåãå®è¡å¯èœãã¡ã€ã«ãŸãã¯å ±æãªããžã§ã¯ãã®ãšãã«NAMEãåŒã³åºããŸãã
DT_INITãé¢æ°ã®ã¢ãã¬ã¹ã«èšå®ããããšã«ãããå ±æãªããžã§ã¯ããããŒããããŸãã ã«
ããã©ã«ãã§ã¯ããªã³ã«ã¯åŒã³åºãé¢æ°ãšããŠã_initãã䜿çšããŸãã
-lååä»æ§
--library =ååä»æ§
ã§æå®ãããã¢ãŒã«ã€ããŸãã¯ãªããžã§ã¯ããã¡ã€ã«ãè¿œå ããŸã ååä»æ§ ãªã³ã¯ãããã¡ã€ã«ã®ãªã¹ãã«ã
ãã®ãªãã·ã§ã³ã¯äœåºŠã§ã䜿çšã§ããŸãã ããã ååä»æ§ 次ã®åœ¢åŒã§ã ïŒãã¡ã€ã«å, ld
ã©ã€ãã©ãªãã¹ã§æ¬¡ã®ãã¡ã€ã«ãæ€çŽ¢ããŸã ãã¡ã€ã«åãã以å€ã®å Žåã¯ã
ãšåŒã°ãããã¡ã€ã«ã®ã©ã€ãã©ãªãã¹ libnamespec.a.
å ±æã©ã€ãã©ãªããµããŒãããã·ã¹ãã ã§ã¯ã ld 以å€ã®ãã¡ã€ã«ãæ€çŽ¢ããå ŽåããããŸã
libnamespec.aã å ·äœçã«ã¯ãELFããã³SunOSã·ã¹ãã ã§ã¯ã ld ãã£ã¬ã¯ããªãæ€çŽ¢ããŸã
ãšåŒã°ããã©ã€ãã©ãª libnamespec.so ãšåŒã°ãããã®ãæ€çŽ¢ããåã« libnamespec.aã ïŒã«
æ £äŸã§ã¯ãããsoãæ¡åŒµåã¯å ±æã©ã€ãã©ãªã瀺ããŸããïŒãã®åäœã«æ³šæããŠãã ããã
ã«é©çšãããŸãã ïŒãã¡ã€ã«åãããã¯åžžã«ãšåŒã°ãããã¡ã€ã«ãæå®ããŸã ãã¡ã€ã«å.
ãªã³ã«ã¯ãã¢ãŒã«ã€ããæå®ãããŠããå Žæã§ãã¢ãŒã«ã€ããXNUMXåã ãæ€çŽ¢ããŸãã
ã³ãã³ãã©ã€ã³ã ã¢ãŒã«ã€ããããããªããžã§ã¯ãã§å®çŸ©ãããŠããªãã·ã³ãã«ãå®çŸ©ããŠããå Žå
ã³ãã³ãã©ã€ã³ã§ã¢ãŒã«ã€ãã®åã«è¡šç€ºããããªã³ã«ã«ã¯ã
ã¢ãŒã«ã€ãããã®é©åãªãã¡ã€ã«ã ãã ãããªããžã§ã¯ãå ã®æªå®çŸ©ã®ã·ã³ãã«
åŸã§ã³ãã³ãã©ã€ã³ã«è¡šç€ºãããŠãããªã³ã«ã¯ã¢ãŒã«ã€ããæ€çŽ¢ããŸããã
åã³ã
ãžã§ãã®èšå®æ¹æ³ã«ã€ããŠã¯ã -( ãªã³ã«ã«ã¢ãŒã«ã€ããè€æ°åæ€çŽ¢ãããæ¹æ³ã®ãªãã·ã§ã³ã
ã³ãã³ãã©ã€ã³ã§åãã¢ãŒã«ã€ããè€æ°åãªã¹ãããããšãã§ããŸãã
ãã®ã¿ã€ãã®ã¢ãŒã«ã€ãæ€çŽ¢ã¯ãUnixãªã³ã«ãŒã®æšæºã§ãã ããããããªãã
ld AIXã§ã¯ãAIXãªã³ã«ã®åäœãšã¯ç°ãªãããšã«æ³šæããŠãã ããã
-Læ€çŽ¢ãã£ã¬ã¯ããª
--library-path =æ€çŽ¢ãã£ã¬ã¯ããª
ãã¹ãè¿œå æ€çŽ¢ãã£ã¬ã¯ã㪠ãã¹ã®ãªã¹ãã« ld ã¢ãŒã«ã€ãã©ã€ãã©ãªãæ€çŽ¢ãã
ld å¶åŸ¡ã¹ã¯ãªããã ãã®ãªãã·ã§ã³ã¯äœåºŠã§ã䜿çšã§ããŸãã ãã£ã¬ã¯ããªã¯
ã³ãã³ãã©ã€ã³ã§æå®ãããé åºã§æ€çŽ¢ãããŸãã ãã£ã¬ã¯ããª
ã³ãã³ãã©ã€ã³ã§æå®ããããã®ã¯ãããã©ã«ãã®ãã£ã¬ã¯ããªã®åã«æ€çŽ¢ãããŸãã å šãŠ -L
ãªãã·ã§ã³ã¯ãã¹ãŠã«é©çšãããŸã -l ãªãã·ã§ã³ã衚瀺ãããé åºã«é¢ä¿ãªãããªãã·ã§ã³ã
If æ€çŽ¢ãã£ã¬ã¯ã㪠ã=ãã§å§ãŸããã=ã㯠ã·ã¹ã«ãŒã æ¥é èŸ
ãªã³ã«ã®æ§ææã«æå®ããããã¹ã
æ€çŽ¢ããããã¹ã®ããã©ã«ãã»ããïŒã§æå®ãããŠããªãïŒ -LïŒã©ã¡ãã«äŸåããŸã
ãšãã¥ã¬ãŒã·ã§ã³ã¢ãŒã ld ã䜿çšããŠãããå Žåã«ãã£ãŠã¯ããã®æ§ææ¹æ³ã«ã€ããŠã説æããŸãã
ãã¹ã¯ããSEARCH_DIRãã³ãã³ãã䜿çšããŠãªã³ã¯ã¹ã¯ãªããã§æå®ããããšãã§ããŸãã
ãã®ããã«æå®ããããã£ã¬ã¯ããªã¯ããªã³ã«ã¹ã¯ãªãããæ€çŽ¢ããããã€ã³ãã§æ€çŽ¢ãããŸã
ã³ãã³ãã©ã€ã³ã«ã衚瀺ãããŸãã
-memulation
ãšãã¥ã¬ãŒããã emulation ãªã³ã«ã 䜿çšå¯èœãªãšãã¥ã¬ãŒã·ã§ã³ãäžèŠ§è¡šç€ºã§ããŸãã
-詳现 or -V ãªãã·ã§ã³ã
Status -m ãªãã·ã§ã³ã䜿çšãããŠããªãå Žåããšãã¥ã¬ãŒã·ã§ã³ã¯ãLDEMULATIONãããååŸãããŸã
ç°å¢å€æ°ïŒå®çŸ©ãããŠããå ŽåïŒã
ãã以å€ã®å Žåãããã©ã«ãã®ãšãã¥ã¬ãŒã·ã§ã³ã¯ãªã³ã«ãŒã®æ§ææ¹æ³ã«ãã£ãŠç°ãªããŸãã
-M
--print-map
ãªã³ã¯ããããæšæºåºåã«å°å·ããŸãã ãªã³ã¯ãããã¯ãã«é¢ããæ å ±ãæäŸããŸã
以äžãå«ããªã³ã¯ïŒ
* ãªããžã§ã¯ã ãã¡ã€ã«ãã¡ã¢ãªã«ããããããå Žæã
* å ±éã·ã³ãã«ã®å²ãåœãŠæ¹æ³ã
* ãªã³ã¯ã«ã¯ãã¹ãŠã®ã¢ãŒã«ã€ã ã¡ã³ããŒãå«ãŸããŠããããã®ã·ã³ãã«ã«ã€ããŠã®èšåãå«ãŸããŠããŸãã
ã¢ãŒã«ã€ãã¡ã³ããŒãæã¡èŸŒãŸããŸããã
* ã·ã³ãã«ã«å²ãåœãŠãããå€ã
泚-å€ã次ã®åŒãå«ãåŒã«ãã£ãŠèšç®ãããèšå·
åãã·ã³ãã«ã®ä»¥åã®å€ãåç §ãããšãæ£ããçµæãåŸãããªãå ŽåããããŸã
ãªã³ã¯ãããã«è¡šç€ºãããŸãã ããã¯ããªã³ã«ãŒãäžéãç Žæ£ããããã§ã
çµæãåŸãããåŒã®æçµå€ã®ã¿ãä¿æãããŸãã ãã®ãããªäžã§
ç¶æ³ã«ãã£ãŠã¯ããªã³ã«ã¯è§æ¬åŒ§ã§å²ãŸããæçµå€ã衚瀺ããŸãã
ãããã£ãŠãããšãã°ã以äžãå«ããªã³ã«ãŒã¹ã¯ãªããïŒ
ããŒ=1
ã㌠= ã㌠* 4
ã㌠= ã㌠+ 8
次ã®å Žåããªã³ã¯ãããã«æ¬¡ã®åºåãçæãããŸãã -M ãªãã·ã§ã³ã䜿çšãããŸãïŒ
0x00000001 ã㌠= 0x1
[0x0000000c] foo =ïŒfoo * 0x4ïŒ
[0x0000000c] foo =ïŒfoo + 0x8ïŒ
èŠã åŒ ãªã³ã«ã¹ã¯ãªããã®åŒã®è©³çŽ°ã«ã€ããŠã¯ã
-n
--nmagic
ã»ã¯ã·ã§ã³ã®ããŒãžé 眮ããªãã«ããå¯èœã§ããã°åºåããNMAGICããšããŠããŒã¯ããŸãã
-N
--ãªãŒããžãã¯
ããã¹ãã»ã¯ã·ã§ã³ãšããŒã¿ã»ã¯ã·ã§ã³ãèªã¿åããšæžã蟌ã¿ãã§ããããã«èšå®ããŸãã ãŸããããŒãžãæããªãã§ãã ãã
ããŒã¿ã»ã°ã¡ã³ããããã³å ±æã©ã€ãã©ãªã«å¯Ÿãããªã³ã¯ãç¡å¹ã«ããŸãã åºå圢åŒã®å Žå
Unixã¹ã¿ã€ã«ã®ããžãã¯ãã³ããŒããµããŒãããåºåããOMAGICããšããŠããŒã¯ããŸãã 泚ïŒãã ãã
æžã蟌ã¿å¯èœãªããã¹ãã»ã¯ã·ã§ã³ã¯PE-COFFã¿ãŒã²ããã§èš±å¯ãããŠããŸããã
Microsoftãçºè¡ãããã©ãŒãããä»æ§ã
--ããŒããžãã¯
ãã®ãªãã·ã§ã³ã¯ã -N ãªãã·ã§ã³ã ããã¹ãã»ã¯ã·ã§ã³ãã«èšå®ããŸã
èªã¿åãå°çšã§ãããããŒã¿ã»ã°ã¡ã³ãã匷å¶çã«ããŒãžæãã«ããŸãã 泚-ãã®ãªãã·ã§ã³ã¯
å ±æã©ã€ãã©ãªã«å¯Ÿãããªã³ã¯ãæå¹ã«ããªãã§ãã ããã 䜿çšãã -ããã€ããã㯠ãã®ããã
-o åºå
--output =åºå
ã åºå ã«ãã£ãŠäœæãããããã°ã©ã ã®ååãšã㊠ld; ãã®ãªãã·ã§ã³ããªãå Žå
æå®ãåå ã¢ãŠã ããã©ã«ãã§äœ¿çšãããŸãã ã¹ã¯ãªããã³ãã³ããOUTPUTããå¯èœã§ã
åºåãã¡ã€ã«åãæå®ããŸãã
-O ã¬ãã«
If ã¬ãã« ãŒããã倧ããæ°å€ã§ã ld åºåãæé©åããŸãã ããã¯ãããããŸãã
ããªãæéããããããããããããã¡ã€ãã«ã§ã®ã¿æå¹ã«ããå¿ èŠããããŸã
ãã€ããªã çŸæç¹ã§ã¯ããã®ãªãã·ã§ã³ã¯ELFå ±æã©ã€ãã©ãªã®çæã«ã®ã¿åœ±é¿ããŸãã æªæ¥
ãªã³ã«ã®ãªãªãŒã¹ã§ã¯ããã®ãªãã·ã§ã³ãããã«æŽ»çšããå ŽåããããŸãã ãŸããçŸåšãããŸãã
ãã®ãªãã·ã§ã³ã®ãŒã以å€ã®å€ãç°ãªãå Žåã®ãªã³ã«ãŒã®åäœã®éãã
ç¹°ãè¿ããŸãããããã¯å°æ¥ã®ãªãªãŒã¹ã§å€æŽãããå¯èœæ§ããããŸãã
-q
--emit-relocs
åé 眮ã»ã¯ã·ã§ã³ãšã³ã³ãã³ãã¯ãå®å šã«ãªã³ã¯ãããå®è¡å¯èœãã¡ã€ã«ã®ãŸãŸã«ããŸãã ãªã³ã¯ãæçš¿
åæããã³æé©åããŒã«ã¯ãæ£ããå®è¡ããããã«ãã®æ å ±ãå¿ èŠãšããå ŽåããããŸã
å®è¡å¯èœãã¡ã€ã«ã®å€æŽã ããã«ãããå®è¡å¯èœãã¡ã€ã«ã倧ãããªããŸãã
ãã®ãªãã·ã§ã³ã¯çŸåšãELFãã©ãããã©ãŒã ã§ã®ã¿ãµããŒããããŠããŸãã
--ååç
åºåãã¡ã€ã«ã«åçã»ã¯ã·ã§ã³ã匷å¶ããŸãã ãã®ãªãã·ã§ã³ã¯VxWorksã«åºæã§ã
ã¿ãŒã²ããã
-r
-åé 眮å¯èœ
åé 眮å¯èœãªåºåãçæããŸã---ã€ãŸãã次ã®ããã«æ©èœã§ããåºåãã¡ã€ã«ãçæããŸã
ãžã®å ¥å ldã ããã¯ããåŒã°ããŸã éšåç㪠é£çµã å¯äœçšãšããŠãç°å¢ã§
æšæºã®Unixããžãã¯ãã³ããŒããµããŒããããã®ãªãã·ã§ã³ã¯ãåºåãã¡ã€ã«ã®
ãOMAGICããžã®ããžãã¯ãã³ããŒã ãã®ãªãã·ã§ã³ãæå®ãããŠããªãå Žåã絶察ãã¡ã€ã«ã¯
çç£ã C ++ããã°ã©ã ããªã³ã¯ããå Žåããã®ãªãã·ã§ã³ æå¿ ãžã®åç §ã解決ãã
ã³ã³ã¹ãã©ã¯ã¿ãŒ; ãã®ããã«ã¯ã -ããªãã¯.
å ¥åãã¡ã€ã«ã®åœ¢åŒãåºåãã¡ã€ã«ãšåãã§ãªãå Žåãéšåçãªãªã³ã¯
ãã®å ¥åãã¡ã€ã«ã«åé 眮ãå«ãŸããŠããªãå Žåã«ã®ã¿ãµããŒããããŸãã éã
åºå圢åŒã«ã¯ããã«å¶éããããŸãã ããšãã°ãããã€ãã®ãa.outãããŒã¹ã®åœ¢åŒ
ä»ã®åœ¢åŒã®å ¥åãã¡ã€ã«ãšã®éšåçãªãªã³ã¯ã¯ãŸã£ãããµããŒãããŠããŸããã
ãã®ãªãã·ã§ã³ã¯ãšåãããšãããŸã -i.
-R ãã¡ã€ã«å
--just-symbols =ãã¡ã€ã«å
ããã·ã³ãã«åãšãã®ã¢ãã¬ã¹ãèªã¿åã ãã¡ã€ã«åããã ããåé 眮ããããå«ãããããªãã§ãã ãã
åºåã§ããã ããã«ãããåºåãã¡ã€ã«ãã·ã³ããªãã¯ã«çµ¶å¯Ÿåç §ã§ããããã«ãªããŸã
ä»ã®ããã°ã©ã ã§å®çŸ©ãããŠããã¡ã¢ãªã®å Žæã ãã®ãªãã·ã§ã³ã¯ã
äžåºŠã
ä»ã®ELFãªã³ã«ãŒãšã®äºææ§ã®ããã«ã -R ãªãã·ã§ã³ã®åŸã«ãã£ã¬ã¯ããªãç¶ããŸã
ãã¡ã€ã«åã§ã¯ãªããååãšããŠæ±ãããŸã -rpath ãªãã·ã§ã³ãéžæããŸãã
-s
--strip-all
åºåãã¡ã€ã«ãããã¹ãŠã®ã·ã³ãã«æ å ±ãçç¥ããŸãã
-S
--strip-debug
åºåãã¡ã€ã«ãããããã¬ã·ã³ãã«æ å ±ïŒãã¹ãŠã®ã·ã³ãã«ã§ã¯ãªãïŒãçç¥ããŸãã
-t
- çè·¡
å ¥åãã¡ã€ã«ã®ååã次ã®ããã«åºåããŸã ld ããããåŠçããŸãã
-T ã¹ã¯ãªãããã¡ã€ã«
--script =ã¹ã¯ãªãããã¡ã€ã«
ã ã¹ã¯ãªãããã¡ã€ã« ãªã³ã«ãŒã¹ã¯ãªãããšããŠã ãã®ã¹ã¯ãªãã㯠ldã®ããã©ã«ãã®ãªã³ã«ãŒã¹ã¯ãªãã
ïŒããã«è¿œå ããã®ã§ã¯ãªãïŒããã ã³ãã³ããã¡ã€ã« ã«å¿ èŠãªãã¹ãŠãæå®ããå¿ èŠããããŸã
åºåãã¡ã€ã«ãèšè¿°ããŸãã ããã ã¹ã¯ãªãããã¡ã€ã« çŸåšã®ãã£ã¬ã¯ããªã«ååšããŸããã
ãldãã¯ãåã®ä»»æã®ãã£ã¬ã¯ããªã§æå®ããããã£ã¬ã¯ããªã§ãããæ¢ããŸã -L ãªãã·ã§ã³ã å€æ°
-T ãªãã·ã§ã³ãèç©ãããŸãã
-dT ã¹ã¯ãªãããã¡ã€ã«
--default-script =ã¹ã¯ãªãããã¡ã€ã«
ã ã¹ã¯ãªãããã¡ã€ã« ããã©ã«ãã®ãªã³ã«ãŒã¹ã¯ãªãããšããŠã
ãã®ãªãã·ã§ã³ã¯ã - èæ¬ ã¹ã¯ãªããã®åŠçã
ã³ãã³ãã©ã€ã³ã®æ®ãã®éšåãåŠçããããŸã§é 延ããŸãã ããã«ããã
åŸã«é 眮ããããªãã·ã§ã³ -ããã©ã«ã-ã¹ã¯ãªãã ã«åœ±é¿ãäžããã³ãã³ãã©ã€ã³ã®ãªãã·ã§ã³
ãªã³ã«ã¹ã¯ãªããã®åäœãããã¯ããªã³ã«ã³ãã³ãã©ã€ã³ã§éèŠã«ãªãå¯èœæ§ããããŸãã
ãŠãŒã¶ãŒãçŽæ¥å¶åŸ¡ããããšã¯ã§ããŸããã ïŒããšãã°ãã³ãã³ãã©ã€ã³ã
ãªã©ã®å¥ã®ããŒã«ã«ãã£ãŠæ§ç¯ãããŸã gccã®).
-u ã·ã³ãã«
--undefined =ã·ã³ãã«
匷 ã·ã³ãã« æªå®çŸ©ã®ã·ã³ãã«ãšããŠåºåãã¡ã€ã«ã«å ¥åãããŸãã ãããè¡ããšã
ããšãã°ãæšæºã©ã€ãã©ãªããã®è¿œå ã¢ãžã¥ãŒã«ã®ãªã³ã¯ãããªã¬ãŒããŸãã -u å€å
ããŸããŸãªãªãã·ã§ã³åŒæ°ãç¹°ãè¿ããŠãè¿œå ã®æªå®çŸ©ã®èšå·ãå ¥åããŸãã ãã®
ãªãã·ã§ã³ã¯ããEXTERNããªã³ã«ã¹ã¯ãªããã³ãã³ããšåçã§ãã
-ããªã㯠C ++ããã°ã©ã 以å€ã®å Žåããã®ãªãã·ã§ã³ã¯æ¬¡ã®ããã«ãªããŸãã -rïŒçæããŸã
åé 眮å¯èœãªåºå---ã€ãŸãããžã®å ¥åãšããŠæ©èœã§ããåºåãã¡ã€ã« ldã æ
C ++ããã°ã©ã ã®ãªã³ã¯ã -ããªã㯠ãããŸãã ã³ã³ã¹ãã©ã¯ã¿ãŒãžã®åç §ã解決ããŸãã -rã ããŸã
䜿çšããããã«åäœããŸãã -ããªã㯠ããèªäœããªã³ã¯ãããŠãããã¡ã€ã« -ããªãã¯; äžåºŠ
ã³ã³ã¹ãã©ã¯ã¿ããŒãã«ãäœæãããŠãããããè¿œå ã§ããŸããã 䜿çšãã -ããªã㯠æåŸã ã
éšåçãªãªã³ã¯ãããã³ -r ä»ã®äººã®ããã«ã
-ãŠããŒã¯[=ã»ã¯ã·ã§ã³]
äžèŽããå ¥åã»ã¯ã·ã§ã³ããšã«åå¥ã®åºåã»ã¯ã·ã§ã³ãäœæããŸã ã»ã¯ã·ã§ã³ããŸãã¯
ãªãã·ã§ã³ã®ã¯ã€ã«ãã«ãŒã ã»ã¯ã·ã§ã³ ãã¹ãŠã®å€ç«ããå ¥åã»ã¯ã·ã§ã³ã«ã€ããŠãåŒæ°ããããŸããã NS
å€ç«ã»ã¯ã·ã§ã³ã¯ããªã³ã«ãŒã¹ã¯ãªããã§ç¹ã«èšåãããŠããªãã»ã¯ã·ã§ã³ã§ãã ããªãã¯ããã䜿ãããšãã§ããŸã
ã³ãã³ãã©ã€ã³ã§è€æ°åãªãã·ã§ã³ãéžæããŸãã å ¥åã®éåžžã®ããŒãžãé²ããŸã
åãååã®ã»ã¯ã·ã§ã³ããªã³ã«ãŒã¹ã¯ãªããã®åºåã»ã¯ã·ã§ã³ã®å²ãåœãŠããªãŒããŒã©ã€ãããŸãã
-v
- ããŒãžã§ã³
-V ã®ããŒãžã§ã³çªå·ã衚瀺ãã ldãéžæããŸãã -V ãªãã·ã§ã³ã«ã¯ããµããŒããããŠãããšãã¥ã¬ãŒã·ã§ã³ãäžèŠ§è¡šç€ºãããŸãã
-x
-ç Žæ£-ãã¹ãŠ
ãã¹ãŠã®ããŒã«ã«ã·ã³ãã«ãåé€ããŸãã
-X
--discard-locals
ãã¹ãŠã®äžæçãªããŒã«ã«ã·ã³ãã«ãåé€ããŸãã ïŒãããã®èšå·ã¯ãã·ã¹ãã åºæã®ããŒã«ã«ã§å§ãŸããŸã
ã©ãã«ãã¬ãã£ãã¯ã¹ãéåžž .L ELFã·ã¹ãã ã®å ŽåãŸã㯠L åŸæ¥ã®a.outã·ã¹ãã ã®å ŽåãïŒ
-y ã·ã³ãã«
--trace-symbol =ã·ã³ãã«
ãªã³ã¯ãããåãã¡ã€ã«ã®ååãåºåããŸã ã·ã³ãã« ã衚瀺ãããŸãã ãã®ãªãã·ã§ã³ãæå®ã§ããŸã
äœåºŠã§ãã å€ãã®ã·ã¹ãã ã§ã¯ãã¢ã³ããŒã¹ã³ã¢ãåã«ä»ããå¿ èŠããããŸãã
ãã®ãªãã·ã§ã³ã¯ããªã³ã¯ã«æªå®çŸ©ã®ã·ã³ãã«ããããããããªãå Žåã«äŸ¿å©ã§ãã
åç §å ã
-Y path
Add path ããã©ã«ãã®ã©ã€ãã©ãªæ€çŽ¢ãã¹ã«ç§»åããŸãã ãã®ãªãã·ã§ã³ã¯Solarisã«ååšããŸã
äºææ§ã
-z ããŒã¯ãŒã
èªèãããããŒã¯ãŒãã¯æ¬¡ã®ãšããã§ãã
ã³ã ã¬ããã¯
è€æ°ã®åé 眮ã»ã¯ã·ã§ã³ãçµã¿åãããŠäžŠã¹æ¿ããåçãªã·ã³ãã«ã«ãã¯ã¢ãããäœæããŸã
ãã£ãã·ã¥ãå¯èœã§ãã
å®çŸ©
ãªããžã§ã¯ããã¡ã€ã«å ã®æªå®çŸ©ã®ã·ã³ãã«ãçŠæ¢ããŸãã å ±æã®æªå®çŸ©ã®ã·ã³ãã«
ã©ã€ãã©ãªã¯åŒãç¶ãèš±å¯ãããŸãã
å®è¡ã¹ã¿ãã¯
ãªããžã§ã¯ããå®è¡å¯èœã¹ã¿ãã¯ãå¿ èŠã§ããããšã瀺ããŸãã
åæå
ãã®ãªãã·ã§ã³ã¯ãå ±æãªããžã§ã¯ããæ§ç¯ããå Žåã«ã®ã¿æå³ããããŸãã ãªããžã§ã¯ããããŒã¯ããŸã
ãã®å®è¡æã®åæåã¯ãã®å®è¡æã®åæåã®åã«çºçããŸãã
åæã«ããã»ã¹ã«æã¡èŸŒãŸããä»ã®ãªããžã§ã¯ãã åæ§ã«
ãªããžã§ã¯ãã®ã©ã³ã¿ã€ã ãã¡ã€ãã©ã€ãºã¯ãã®ã©ã³ã¿ã€ã ãã¡ã€ãã©ã€ãºåŸã«çºçããŸã
ãã®ä»ã®ãªããžã§ã¯ãã
ä»å ¥ãã
ã·ã³ãã«ããŒãã«ãä»åšãããªããžã§ã¯ããã以å€ã®ãã¹ãŠã®ã·ã³ãã«ã®åã«ããŒã¯ããŸãã
ãã©ã€ããªå®è¡å¯èœãã¡ã€ã«ã
æ æ°ãª
å®è¡å¯èœãã¡ã€ã«ãŸãã¯å ±æã©ã€ãã©ãªãçæãããšãã¯ããããããŒã¯ããŠåçã«éç¥ããŸã
é¢æ°ãåŒã³åºãããæç¹ãŸã§é¢æ°åŒã³åºãã®è§£æ±ºã延æãããªã³ã«ãŒ
ïŒé 延ãã€ã³ãã£ã³ã°ïŒãããŒãæã§ã¯ãªãã é 延ãã€ã³ãã£ã³ã°ãããã©ã«ãã§ãã
ããŒããã£ã«ã¿ãŒ
ãã£ã«ã¿ãå®è¡æã«ããã«åŠçããããªããžã§ã¯ããããŒã¯ããŸãã
muldef
è€æ°ã®å®çŸ©ãèš±å¯ããŸãã
ãã³ã³ãã¬ãã¯
è€æ°ã®åé 眮ã»ã¯ã·ã§ã³ã®çµåãç¡å¹ã«ããŸãã
nocopyreloc
ã³ã㌠reloc ã®çæãç¡å¹ã«ããŸãã
ããŒãããã©ã«ãã©ã€ãã©ãª
ãã®ãªããžã§ã¯ãã®äŸåé¢ä¿ã®æ€çŽ¢ã§ç¡èŠããããªããžã§ã¯ããããŒã¯ããŸã
ããã©ã«ãã®ã©ã€ãã©ãªæ€çŽ¢ãã¹ã
ããŒãã¬ãã
ãªããžã§ã¯ããå®è¡æã«ã¢ã³ããŒãããŠã¯ãªããªãããšã瀺ããŸãã
ããããã³
ãªããžã§ã¯ãããdlopenãã§äœ¿çšã§ããªãããã«ããŒã¯ããŸãã
ããŒãã³ã
ãªããžã§ã¯ãããdldumpãã§ãã³ãã§ããªãããšã瀺ããŸãã
noexecstack
ãªããžã§ã¯ããå®è¡å¯èœã¹ã¿ãã¯ãå¿ èŠãšããªããã®ãšããŠããŒã¯ããŸãã
ãã¬ã«ã
ãªããžã§ã¯ãã«ELFãPT_GNU_RELROãã»ã°ã¡ã³ãããããŒãäœæããªãã§ãã ããã
ä» å®è¡å¯èœãã¡ã€ã«ãŸãã¯å ±æã©ã€ãã©ãªãçæãããšãã¯ããããããŒã¯ããŠåçã«éç¥ããŸã
ããã°ã©ã ã®èµ·åæãŸãã¯å ±ææã«ãã¹ãŠã®ã·ã³ãã«ã解決ãããªã³ã«ãŒ
ã©ã€ãã©ãªã¯ãé¢æ°åŒã³åºãã®è§£æ±ºã延æãã代ããã«ãdlopenã䜿çšããããã«ãªã³ã¯ãããŠããŸã
é¢æ°ãæåã«åŒã³åºãããæç¹ãŸã§ã
èµ·æº
ãªããžã§ã¯ãã«$ ORIGINãå«ãŸããŠããå¯èœæ§ãããããšã瀺ããŸãã
ãªã
ãªããžã§ã¯ãã«ELFãPT_GNU_RELROãã»ã°ã¡ã³ãããããŒãäœæããŸãã
max-page-size =å€
ãšãã¥ã¬ãŒã·ã§ã³ã®æ倧ããŒãžãµã€ãºãã«èšå®ããŸã å€.
common-page-size =å€
ãšãã¥ã¬ãŒã·ã§ã³ã®å ±éããŒãžãµã€ãºãã«èšå®ããŸã å€.
Solarisãšã®äºææ§ã®ãããä»ã®ããŒã¯ãŒãã¯ç¡èŠãããŸãã
-( ã¢ãŒã«ã€ã -)
--éå§ã°ã«ãŒã ã¢ãŒã«ã€ã --ãšã³ãã°ã«ãŒã
ã ã¢ãŒã«ã€ã ã¢ãŒã«ã€ããã¡ã€ã«ã®ãªã¹ãã§ããå¿ èŠããããŸãã ãããã¯æ瀺çãªãã¡ã€ã«ã®ããããã§ããå¯èœæ§ããããŸã
ååããŸã㯠-l ãªãã·ã§ã³ã
æå®ãããã¢ãŒã«ã€ãã¯ãæ°ããæªå®çŸ©ã®åç §ããªããªããŸã§ç¹°ãè¿ãæ€çŽ¢ãããŸã
äœæããã éåžžãã¢ãŒã«ã€ãã¯æå®ãããé åºã§XNUMXåã ãæ€çŽ¢ãããŸãã
ã³ãã³ãã©ã€ã³ã§ã æªå®çŸ©ã解決ããããã«ãã®ã¢ãŒã«ã€ãå ã®ã·ã³ãã«ãå¿ èŠãªå Žå
åŸã§ã³ãã³ãã©ã€ã³ã«è¡šç€ºãããã¢ãŒã«ã€ãå ã®ãªããžã§ã¯ãã«ãã£ãŠåç §ãããã·ã³ãã«ã
ãªã³ã«ã¯ãã®åç §ã解決ã§ããŸããã ã¢ãŒã«ã€ããã°ã«ãŒãåããããšã«ããã
èãããããã¹ãŠã®åç §ã解決ããããŸã§ããããã¯ãã¹ãŠç¹°ãè¿ãæ€çŽ¢ãããŸãã
ãã®ãªãã·ã§ã³ã䜿çšãããšãããã©ãŒãã³ã¹ãå€§å¹ ã«äœäžããŸãã 次ã®å Žåã«ã®ã¿äœ¿çšããããšããå§ãããŸã
XNUMXã€ä»¥äžã®ã¢ãŒã«ã€ãéã«ã¯é¿ããããªã埪ç°åç §ããããŸãã
--accept-unknown-input-arch
--no-accept-unknown-input-arch
ã¢ãŒããã¯ãã£ãèªèã§ããªãå ¥åãã¡ã€ã«ãåãå ¥ããããã«ãªã³ã«ã«æ瀺ããŸãã NS
ãŠãŒã¶ãŒã¯èªåãäœãããŠããã®ããç¥ã£ãŠãããæå³çã«ãªã³ã¯ããããšèããŠãããšæ³å®ããŠããŸãã
ãããã®æªç¥ã®å ¥åãã¡ã€ã«ã§ã ããã¯ã以åã®ãªã³ã«ãŒã®ããã©ã«ãã®åäœã§ãã
ãªãªãŒã¹2.14ã ãªãªãŒã¹2.14以éã®ããã©ã«ãã®åäœã¯ããã®ãããªå ¥åãæåŠããããšã§ãã
ãã¡ã€ã«ãªã© --accept-unknown-input-arch å€ããã®ã埩å ãããªãã·ã§ã³ãè¿œå ãããŸãã
åäœã
- å¿ èŠã«å¿ããŠ
-å¿ èŠã«å¿ããŠ
ãã®ãªãã·ã§ã³ã¯ãã³ãã³ãã§èšåãããŠãããã€ãããã¯ã©ã€ãã©ãªã®ELFDT_NEEDEDã¿ã°ã«åœ±é¿ããŸãã
åŸã®è¡ - å¿ èŠã«å¿ã㊠ãªãã·ã§ã³ã éåžžããªã³ã«ã¯ DT_NEEDED ã¿ã°ãè¿œå ããŸãã
ã©ã€ãã©ãªãã©ããã«é¢ä¿ãªããã³ãã³ãã©ã€ã³ã«èšèŒãããŠããåãã€ãããã¯ã©ã€ãã©ãª
å®éã«ã¯å¿ èŠã§ãã - å¿ èŠã«å¿ã㊠DT_NEEDED ã¿ã°ã次ã®å Žåã«ã®ã¿çºè¡ãããŸãã
æªå®çŸ©ã®éåžžã®ãªããžã§ã¯ãããã®ã·ã³ãã«åç §ãæºããã©ã€ãã©ãª
ã©ã€ãã©ãªããªã³ã¯ãããæç¹ã§ã -å¿ èŠã«å¿ã㊠ããã©ã«ãã埩å ããŸã
åäœã
-è¿œå -å¿ èŠ
--è¿œå äžèŠ
ãã®ãªãã·ã§ã³ã¯ãELF DT_NEEDED ã¿ã°ããã®åçã©ã€ãã©ãªã®åŠçã«åœ±é¿ããŸãã
ã³ãã³ãã©ã€ã³ã®åŸã«èšè¿°ãããåçã©ã€ãã©ãª --è¿œå äžèŠ ãªãã·ã§ã³ãéžæããŸãã
éåžžããªã³ã«ã¯ DT_NEEDED ããåãã€ããã㯠ã©ã€ãã©ãªã« DT_NEEDED ã¿ã°ãè¿œå ããŸãã
ã¿ã°ã --è¿œå äžèŠ ãã®ããããããã®ã©ã€ãã©ãªã«å¯Ÿã㊠DT_NEEDED ã¿ã°ãçºè¡ãããªããªããŸãã
DT_NEEDED ã¿ã°ããã -è¿œå -å¿ èŠ ããã©ã«ãã®åäœã埩å ããŸãã
-䞻匵ãã ããŒã¯ãŒã
ãã®ãªãã·ã§ã³ã¯ãSunOSãšã®äºææ§ã®ããã«ç¡èŠãããŸãã
-ããã€ãããã¯
-dy
-call_shared
ãã€ãããã¯ã©ã€ãã©ãªã«å¯Ÿãããªã³ã¯ã ããã¯ãå ±æãããŠãããã©ââãããã©ãŒã ã§ã®ã¿æå³ããããŸã
ã©ã€ãã©ãªããµããŒããããŠããŸãã ãã®ãªãã·ã§ã³ã¯éåžžããã®ãããªãã©ãããã©ãŒã ã®ããã©ã«ãã§ãã NS
ãã®ãªãã·ã§ã³ã®ããŸããŸãªããªãšãŒã·ã§ã³ã¯ãããŸããŸãªã·ã¹ãã ãšã®äºææ§ã®ããã®ãã®ã§ãã ããŠãããã§ã
ã³ãã³ãã©ã€ã³ã§ãã®ãªãã·ã§ã³ãè€æ°å䜿çšããŸããã©ã€ãã©ãªã®æ€çŽ¢ã«åœ±é¿ããŸãã
-l ããã«ç¶ããªãã·ã§ã³ã
-Bã°ã«ãŒã
åçã»ã¯ã·ã§ã³ã®ãDT_FLAGS_1ããšã³ããªã«ãDF_1_GROUPããã©ã°ãèšå®ããŸãã ãã®
ã©ã³ã¿ã€ã ãªã³ã«ãââãã®ãªããžã§ã¯ãã®ã«ãã¯ã¢ãããåŠçãããã®äŸåé¢ä¿ã
ã°ã«ãŒãå ã§ã®ã¿å®è¡ãããŸãã --unresolved-symbols = report-all æ瀺ãããŸãã ãã®
ãªãã·ã§ã³ã¯ãå ±æã©ã€ãã©ãªããµããŒãããELFãã©ãããã©ãŒã ã§ã®ã¿æå³ããããŸãã
-Bã¹ã¿ãã£ãã¯
-dn
-éå ±æ
-éç
å ±æã©ã€ãã©ãªã«å¯ŸããŠãªã³ã¯ããªãã§ãã ããã ããã¯ã次ã®ãããªãã©ãããã©ãŒã ã§ã®ã¿æå³ããããŸã
å ±æã©ã€ãã©ãªããµããŒããããŠããŸãã ãã®ãªãã·ã§ã³ã®ããŸããŸãªããªãšãŒã·ã§ã³ã¯ã
ããŸããŸãªã·ã¹ãã ãšã®äºææ§ã ãã®ãªãã·ã§ã³ã¯ã
ã³ãã³ãã©ã€ã³ïŒã©ã€ãã©ãªã®æ€çŽ¢ã«åœ±é¿ããŸã -l ããã«ç¶ããªãã·ã§ã³ã ãã®
ãªãã·ã§ã³ã¯ãŸãæå³ããŸã --unresolved-symbols = report-allã ãã®ãªãã·ã§ã³ã¯ã
-å ±æã ããããããšã¯ãå ±æã©ã€ãã©ãªãäœæãããŠãããããã¹ãŠã®
ã©ã€ãã©ãªã®å€éšåç §ã¯ãéçãããšã³ããªããã«ããããšã«ãã£ãŠè§£æ±ºããå¿ èŠããããŸã
ã©ã€ãã©ãªã
-ã·ã³ããªãã¯
å ±æã©ã€ãã©ãªãäœæãããšãã¯ãã°ããŒãã«ã·ã³ãã«ãžã®åç §ãå®çŸ©ã«ãã€ã³ãããŸã
å ±æã©ã€ãã©ãªå ïŒããå ŽåïŒã éåžžããªã³ã¯ãããããã°ã©ã ãå¯èœã§ã
å ±æã©ã€ãã©ãªã«å¯ŸããŠãå ±æã©ã€ãã©ãªå ã®å®çŸ©ããªãŒããŒã©ã€ãããŸãã ãã®
ãªãã·ã§ã³ã¯ãå ±æã©ã€ãã©ãªããµããŒãããELFãã©ãããã©ãŒã ã§ã®ã¿æå³ããããŸãã
-ã·ã³ããªãã¯é¢æ°
å ±æã©ã€ãã©ãªãäœæãããšãã¯ãã°ããŒãã«é¢æ°ã·ã³ãã«ãžã®åç §ãã«ãã€ã³ãããŸã
å ±æã©ã€ãã©ãªå ã®å®çŸ© (ååšããå Žå)ã ãã®ãªãã·ã§ã³ã¯ ELF ã§ã®ã¿æå³ããããŸã
å ±æã©ã€ãã©ãªããµããŒããããã©ãããã©ãŒã ã
--dynamic-list =åçãªã¹ããã¡ã€ã«
ãªã³ã«ã«åçãªã¹ããã¡ã€ã«ã®ååãæå®ããŸãã ããã¯éåžžã次ã®å Žåã«äœ¿çšãããŸã
å ±æã©ã€ãã©ãªãäœæããŠãåç §ããã°ããŒãã«ã·ã³ãã«ã®ãªã¹ããæå®ããŸã
å ±æã©ã€ãã©ãªå ã®å®çŸ©ã«ãã€ã³ãããããäœæãããããªãã§ãã ãã
è¿œå ããå¿ èŠã®ããã·ã³ãã«ã®ãªã¹ããæå®ããããã®åçã«ãªã³ã¯ãããå®è¡å¯èœãã¡ã€ã«
å®è¡å¯èœãã¡ã€ã«ã®ã·ã³ãã«ããŒãã«ã ãã®ãªãã·ã§ã³ã¯ãELFãã©ãããã©ãŒã ã§ã®ã¿æå³ããããŸã
å ±æã©ã€ãã©ãªããµããŒãããŸãã
åçãªã¹ãã®åœ¢åŒã¯ãã¹ã³ãŒããšããŒãã®ãªãããŒãžã§ã³ããŒããšåãã§ãã
ååã èŠã VERSION ã
--åçãªã¹ãããŒã¿
ãã¹ãŠã®ã°ããŒãã«ããŒã¿ã·ã³ãã«ãåçãªã¹ãã«å«ããŸãã
--dynamic-list-cpp-new
C ++æŒç®ånewããã³deleteã®çµã¿èŸŒã¿åçãªã¹ããæäŸããŸãã äž»ã«äŸ¿å©ã§ã
å ±ælibstdc ++ãæ§ç¯ããããã
--dynamic-list-cpp-typeinfo
C ++ã©ã³ã¿ã€ã ã¿ã€ãèå¥çšã®çµã¿èŸŒã¿åçãªã¹ããæäŸããŸãã
-ãã§ãã¯ã»ã¯ã·ã§ã³
--ãã§ãã¯ã»ã¯ã·ã§ã³ãªã
ãªã³ã«ãŒã«å°ãã å²ãåœãŠãããã»ã¯ã·ã§ã³ã¢ãã¬ã¹ããã§ãã¯ããŠã
éè€ããããŸãã éåžžããªã³ã«ã¯ãã®ãã§ãã¯ãå®è¡ããæ€åºãããå Žåã¯
ãªãŒããŒã©ãããããšãé©åãªãšã©ãŒã¡ãã»ãŒãžãçæãããŸãã ãªã³ã«ã¯ç¥ã£ãŠããŸãããããŠ
ãªãŒããŒã¬ã€ã®ã»ã¯ã·ã§ã³ãèæ ®ããŸãã ããã©ã«ãã®åäœã埩å ã§ããŸã
ã³ãã³ãã©ã€ã³ã¹ã€ããã䜿çšã㊠-ãã§ãã¯ã»ã¯ã·ã§ã³.
--cref
çžäºåç §ããŒãã«ãåºåããŸãã ãªã³ã«ãŒããããã¡ã€ã«ãçæãããŠããå Žåãã¯ãã¹
åç §ããŒãã«ãããããã¡ã€ã«ã«åºåãããŸãã ãã以å€ã®å Žåã¯ãæšæºã«å°å·ãããŸã
åºåã
è¡šã®åœ¢åŒã¯æå³çã«åçŽåãããŠããããã次ã®æ¹æ³ã§ç°¡åã«åŠçã§ããŸãã
å¿ èŠã«å¿ããŠã¹ã¯ãªããã èšå·ã¯ååã§ãœãŒããããŠå°å·ãããŸãã ã·ã³ãã«ããšã«ã
ãã¡ã€ã«åã®ãªã¹ãã衚瀺ãããŸãã ã·ã³ãã«ãå®çŸ©ãããŠããå Žåããªã¹ããããæåã®ãã¡ã€ã«ã¯
å®çŸ©ã®å Žæã æ®ãã®ãã¡ã€ã«ã«ã¯ãã·ã³ãã«ãžã®åç §ãå«ãŸããŠããŸãã
--no-define-common
ãã®ãªãã·ã§ã³ã¯ãå ±éã·ã³ãã«ãžã®ã¢ãã¬ã¹ã®å²ãåœãŠãçŠæ¢ããŸãã ã¹ã¯ãªãã
ã³ãã³ããINHIBIT_COMMON_ALLOCATIONããåãå¹æããããŸãã
ã --no-define-common ãªãã·ã§ã³ã䜿çšãããšãã¢ãã¬ã¹ãå²ãåœãŠã決å®ãåãé¢ãããšãã§ããŸã
åºåãã¡ã€ã«ã¿ã€ãã®éžæããã®äžè¬çãªèšå·ã ãã以å€ã®å Žåã¯åé 眮äžå¯
åºåã¿ã€ãã¯ãå ±éã·ã³ãã«ãžã®ã¢ãã¬ã¹ã®å²ãåœãŠã匷å¶ããŸãã 䜿çšãã --no-define-common
å ±æã©ã€ãã©ãªããåç §ãããå ±éã·ã³ãã«ãå²ãåœãŠãããšãã§ããŸã
ã¡ã€ã³ããã°ã©ã ã§ã®ã¿ã¢ãã¬ã¹æå®ããŸãã ããã«ããã
å ±æã©ã€ãã©ãªã§ãããééã£ã解決ããããæ··ä¹±ãé²ããŸã
å°çšã®æ€çŽ¢ãã¹ãæã€åçã¢ãžã¥ãŒã«ãå€æ°ããå Žåã«è€è£œ
ã©ã³ã¿ã€ã ã·ã³ãã«è§£æ±ºã
--defsym ã·ã³ãã«=è¡šçŸ
次ã®åŒã§æå®ããã絶察ã¢ãã¬ã¹ãå«ãã°ããŒãã«ã·ã³ãã«ãåºåãã¡ã€ã«ã«äœæããŸãã
è¡šçŸã ãã®ãªãã·ã§ã³ã¯ãè€æ°ãå®çŸ©ããããã«å¿ èŠãªåæ°ã ã䜿çšã§ããŸã
ã³ãã³ãã©ã€ã³ã®èšå·ã éå®ããã圢åŒã®ç®è¡ããµããŒããããŠããŸã
è¡šçŸ ãã®ã³ã³ããã¹ãã§ã¯ãXNUMXé²å®æ°ãŸãã¯ååãæå®ã§ããŸãã
æ¢åã®èšå·ããŸãã¯ã+ããšã-ãã䜿çšããŠXNUMXé²å®æ°ãå ç®ãŸãã¯æžç®ããããŸãã¯
ã·ã³ãã«ã ããè€éãªåŒãå¿ èŠãªå Žåã¯ãlinkerã³ãã³ãã®äœ¿çšãæ€èšããŠãã ãã
ã¹ã¯ãªããããã®èšèªã æ³šïŒ éã«ç©ºçœããã£ãŠã¯ãªããŸãã ã·ã³ãã«
çå·ïŒ "="ïŒã ãš è¡šçŸ.
--demangle [= ]
-ããã³ã°ã«ãªã
ãããã®ãªãã·ã§ã³ã¯ããšã©ãŒã¡ãã»ãŒãžããã®ä»ã®ã·ã³ãã«åãããã³ã°ã«ãããã©ãããå¶åŸ¡ããŸã
åºåã ãªã³ã«ãŒãããã³ã°ã«ããããã«æ瀺ããããšããªã³ã«ãŒã¯ã·ã³ãã«åã
èªã¿ãããæ¹æ³ïŒãªããžã§ã¯ããã¡ã€ã«ã§äœ¿çšãããŠããå Žåã¯ãå é ã®ã¢ã³ããŒã¹ã³ã¢ãåé€ããŸã
ãã©ãŒãããããC ++ã®ãã³ã°ã«ãããã·ã³ãã«åããŠãŒã¶ãŒãèªã¿åããååã«å€æããŸãã éã
ã³ã³ãã€ã©ã«ã¯ããŸããŸãªãã³ã°ãªã³ã°ã¹ã¿ã€ã«ããããŸãã ãªãã·ã§ã³ã®ããã³ã°ã«ã¹ã¿ã€ã«åŒæ°ã¯ã
ã³ã³ãã€ã©ã«é©åãªããã³ã°ãªã³ã°ã¹ã¿ã€ã«ãéžæããããã«äœ¿çšãããŸãã ãªã³ã«ãŒã¯
ç°å¢å€æ°ãé€ããŠãããã©ã«ãã§ããã³ã°ã« COLLECT_NO_DEMANGLE ãèšå®ãããŠããŸãã ãããã¯
ãªãã·ã§ã³ã䜿çšããŠãããã©ã«ãããªãŒããŒã©ã€ãã§ããŸãã
-ãã€ãããã¯ãªã³ã«ãŒ file
ãã€ãããã¯ãªã³ã«ã®ååãèšå®ããŸãã ããã¯ãçæãããšãã«ã®ã¿æå³ããããŸã
åçã«ãªã³ã¯ãããELFå®è¡å¯èœãã¡ã€ã«ã éåžžãããã©ã«ãã®ãã€ãããã¯ãªã³ã«ã¯æ£ããã§ãã
äœãããŠããã®ãããããªãéããããã䜿çšããªãã§ãã ããã
-èŽåœç-èŠå
ãã¹ãŠã®èŠåããšã©ãŒãšããŠæ±ããŸãã
--force-exe-ãµãã£ãã¯ã¹
åºåãã¡ã€ã«ã«.exeãµãã£ãã¯ã¹ãä»ããŠããããšã確èªããŠãã ããã
æ£åžžã«ãã«ããããå®å šã«ãªã³ã¯ãããåºåãã¡ã€ã«ã«ã.exeããŸãã¯ã.dllãããªãå Žå
æ¥å°ŸèŸããã®ãªãã·ã§ã³ã¯ããªã³ã«ã«åºåãã¡ã€ã«ãåãååã®XNUMXã€ã«ã³ããŒããããã«åŒ·å¶ããŸã
ã.exeããµãã£ãã¯ã¹ãä»ããŠããŸãã ãã®ãªãã·ã§ã³ã¯ãå€æŽãããŠããªãUnixmakefileã
Microsoft Windowsãã¹ããäžéšã®ããŒãžã§ã³ã®Windowsã¯ãã€ã¡ãŒãžãå®è¡ããªãéãã€ã¡ãŒãžãå®è¡ããªããã
ã.exeããµãã£ãã¯ã¹ã§çµãããŸãã
--gc-ã»ã¯ã·ã§ã³
--no-gc-sections
æªäœ¿çšã®å ¥åã»ã¯ã·ã§ã³ã®ã¬ããŒãžã³ã¬ã¯ã·ã§ã³ãæå¹ã«ããŸãã ããã¿ãŒã²ããã§ã¯ç¡èŠãããŸã
ãã®ãªãã·ã§ã³ã¯ãµããŒããããŠããŸããã ãã®ãªãã·ã§ã³ã¯äºææ§ããããŸãã -r or --emit-relocsãéžæããŸãã
(ãã®ã¬ããŒãž ã³ã¬ã¯ã·ã§ã³ãå®è¡ããªã) ããã©ã«ãã®åäœã¯ã次ã®æ¹æ³ã§åŸ©å ã§ããŸãã
æå®ãã --no-gc-sections ã³ãã³ãã©ã€ã³ã§ã
--print-gc-sections
--no-print-gc-sections
ã¬ããŒãžã³ã¬ã¯ã·ã§ã³ã«ãã£ãŠåé€ããããã¹ãŠã®ã»ã¯ã·ã§ã³ãäžèŠ§è¡šç€ºããŸãã ãªã¹ãã¯stderrã«å°å·ãããŸãã
ãã®ãªãã·ã§ã³ã¯ãã¬ããŒãžã³ã¬ã¯ã·ã§ã³ã
--gc-ã»ã¯ã·ã§ã³ïŒ ãªãã·ã§ã³ã ããã©ã«ãã®åäœïŒæ¬¡ã®ã»ã¯ã·ã§ã³ããªã¹ãããªãïŒ
åé€ïŒãæå®ããããšã§åŸ©å ã§ããŸã --no-print-gc-sections ã³ãã³ãã©ã€ã³ã§ã
- å©ããŠ
ã³ãã³ãã©ã€ã³ãªãã·ã§ã³ã®æŠèŠãæšæºåºåã«åºåããŠçµäºããŸãã
--ã¿ãŒã²ãããã«ã
ãã¹ãŠã®ã¿ãŒã²ããåºæã®ãªãã·ã§ã³ã®èŠçŽãæšæºåºåã«åºåããŠçµäºããŸãã
-å°å³ ããããã¡ã€ã«
ãã¡ã€ã«ãžã®ãªã³ã¯ããããå°å·ããŸã ããããã¡ã€ã«ã ã®èª¬æãåç §ããŠãã ãã -M äžèšã®ãªãã·ã§ã³ã
--ä¿æã¡ã¢ãªãªã
ld éåžžãã®ã·ã³ãã«ããŒãã«ããã£ãã·ã¥ããããšã«ãããã¡ã¢ãªäœ¿çšéãããé床ãæé©åããŸãã
ã¡ã¢ãªå ã®å ¥åãã¡ã€ã«ã ãã®ãªãã·ã§ã³ã¯ ld 代ããã«ãã¡ã¢ãªäœ¿çšéãæé©åãã
å¿ èŠã«å¿ããŠã·ã³ãã«ããŒãã«ãèªã¿çŽããŸãã ããã¯ã次ã®å Žåã«å¿ èŠã«ãªãå ŽåããããŸã ld äžè¶³ããŠãã
倧ããªå®è¡å¯èœãã¡ã€ã«ããªã³ã¯ããŠããéã®ã¡ã¢ãªã¹ããŒã¹ã
-ããã-æªå®çŸ©
-z å®çŸ©
éåžžã®ãªããžã§ã¯ããã¡ã€ã«ããã®æªè§£æ±ºã®ã·ã³ãã«åç §ãå ±åããŸãã ããã¯ã
ãªã³ã«ã¯ãéã·ã³ããªãã¯å ±æã©ã€ãã©ãªãäœæããŠããŸãã ã¹ã€ãã
-[no-] allow-shlib-æªå®çŸ© æªè§£æ±ºãå ±åããããã®åäœãå¶åŸ¡ããŸã
ãªã³ã¯ãããŠããå ±æã©ã€ãã©ãªã§èŠã€ãã£ãåç §ã
--allow-è€æ°å®çŸ©
-z muldef
éåžžãã·ã³ãã«ãè€æ°åå®çŸ©ãããŠããå Žåããªã³ã«ãŒã¯èŽåœçãå ±åããŸã
ãšã©ãŒã ãããã®ãªãã·ã§ã³ã§ã¯è€æ°ã®å®çŸ©ãå¯èœã§ãããæåã®å®çŸ©ã䜿çšãããŸãã
--allow-shlib-æªå®çŸ©
--no-allow-shlib-æªå®çŸ©
å ±æã©ã€ãã©ãªå ã®æªå®çŸ©ã®ã·ã³ãã«ãèš±å¯ (ããã©ã«ã) ãŸãã¯çŠæ¢ããŸãã ãã®ã¹ã€ãã
ã«äŒŒãŠããŸã -ããã-æªå®çŸ© ãã ãã次ã®å Žåã®åäœã決å®ããŸãã
æªå®çŸ©ã®ã·ã³ãã«ã¯ãéåžžã®ãªããžã§ã¯ã ãã¡ã€ã«ã§ã¯ãªãå ±æã©ã€ãã©ãªå ã«ãããŸãã ããŸã
éåžžã®ãªããžã§ã¯ã ãã¡ã€ã«å ã®æªå®çŸ©ã·ã³ãã«ã®åŠçæ¹æ³ã«ã¯åœ±é¿ããŸããã
ãã®çç± --allow-shlib-æªå®çŸ© ããã©ã«ãã§ã¯ãå ±æã©ã€ãã©ãªã
ãªã³ã¯æã«æå®ããããã®ã¯ãããŒãæã«äœ¿çšã§ãããã®ãšåãã§ã¯ãªãå¯èœæ§ããããŸã
ãããã£ãŠãã·ã³ãã«ã¯å®éã«ã¯ããŒãæã«è§£æ±ºã§ããå¯èœæ§ããããŸãã ããã«ãããã€ããããŸã
ã·ã¹ãã (BeOS ãªã©) ã§ã¯ãå ±æã©ã€ãã©ãªå ã®æªå®çŸ©ã®ã·ã³ãã«ãæ£åžžã«ååšããŸãã (ã«ãŒãã«
ããŒãæã«ããããé©çšããŠãçŸåšã®æ©èœã«æãé©ããæ©èœãéžæããŸãã
建ç¯ã ããã¯ãããšãã°é©å㪠memset ãåçã«éžæããããã«äœ¿çšãããŸãã
é¢æ°ïŒã ã©ããããHPPA å ±æã©ã€ãã©ãªãæªå®çŸ©ã§ããããšãéåžžã®ããšã®ããã§ãã
ã·ã³ãã«ã
--no-æªå®çŸ©ã®ããŒãžã§ã³
éåžžãã·ã³ãã«ã®ããŒãžã§ã³ãæªå®çŸ©ã®å Žåããªã³ã«ã¯ãããç¡èŠããŸãã ãã®
ãªãã·ã§ã³ã¯ãããŒãžã§ã³ãå®çŸ©ãããŠããªãã·ã³ãã«ãèš±å¯ãããèŽåœçãªãšã©ãŒãçºè¡ãããŸã
ã代ããã«ã䜿ããã ããã
--ããã©ã«ã-symver
ããŒãžã§ã³ç®¡çãããŠããªããšã¯ã¹ããŒããããã·ã³ãã«ã®ããã©ã«ãã®ã·ã³ãã«ããŒãžã§ã³ïŒsonameïŒãäœæããŠäœ¿çšããŸãã
--default-imported-symver
ããŒãžã§ã³ç®¡çãããŠããªãã€ã³ããŒããããã·ã³ãã«ã®ããã©ã«ãã®ã·ã³ãã«ããŒãžã§ã³ïŒsonameïŒãäœæããŠäœ¿çšããŸãã
-- èŠåã®äžäžèŽ
é垞㯠ld 次ã®å ¥åãã¡ã€ã«ããªã³ã¯ããããšãããšãšã©ãŒãçºçããŸã
äœããã®çç±ã§äžäžèŽããããããããã¯ç°ãªãããã«ã³ã³ãã€ã«ãããŠãããã
ããã»ããµãŸãã¯ããŸããŸãªãšã³ãã£ãšã³ã¹çšã ãã®ãªãã·ã§ã³ã¯ ld ããããã¹ãã ãš
ãã®ãããªèµ·ãããããšã©ãŒãé»ã£ãŠèš±å¯ããŸãã ãã®ãªãã·ã§ã³ã¯ã泚æããŠäœ¿çšããå¿ èŠããããŸãã
ãªã³ã«ãšã©ãŒãçºçããããšãä¿èšŒããç¹å¥ãªã¢ã¯ã·ã§ã³ãå®è¡ããå Žå
äžé©åã
--no-warn-æ€çŽ¢äžäžèŽ
é垞㯠ld ã©ã€ãã©ãªäžã«äºææ§ã®ãªãã©ã€ãã©ãªãèŠã€ãã£ãå Žåã¯èŠåã衚瀺ãããŸã
æ¢ãã ãã®ãªãã·ã§ã³ã¯èŠåãæ¶ããŸãã
--ã¢ãŒã«ã€ããªã
ã®å¹æããªãã«ããŸã -- å šäœã¢ãŒã«ã€ã åŸç¶ã®ã¢ãŒã«ã€ããã¡ã€ã«ã®ãªãã·ã§ã³ã
--noinhibit-exec
å®è¡å¯èœåºåãã¡ã€ã«ã¯ãåŒãç¶ã䜿çšã§ããå Žåã¯åžžã«ä¿æããŠãã ããã éåžžããªã³ã«ãŒ
ãªã³ã¯ããã»ã¹äžã«ãšã©ãŒãçºçããå Žåãåºåãã¡ã€ã«ã¯çæãããŸããã ãã
ãšã©ãŒãçºçããå Žåã¯ãåºåãã¡ã€ã«ãæžã蟌ãŸãã«çµäºããŸãã
-nostdlib
ã³ãã³ãã©ã€ã³ã§æ瀺çã«æå®ãããã©ã€ãã©ãªãã£ã¬ã¯ããªã®ã¿ãæ€çŽ¢ããŸãã å³æžé€š
ãªã³ã«ã¹ã¯ãªããã§æå®ããããã£ã¬ã¯ããªïŒã§æå®ããããªã³ã«ã¹ã¯ãªãããå«ãïŒ
ã³ãã³ãã©ã€ã³ïŒã¯ç¡èŠãããŸãã
--oformat åºåãã©ãŒããã
ld è€æ°ã®çš®é¡ã®ãªããžã§ã¯ããã¡ã€ã«ããµããŒãããããã«æ§æã§ããŸãã ããããªãã® ld is
ãã®ããã«æ§æãããšã --oformat ã®ãã€ããªåœ¢åŒãæå®ãããªãã·ã§ã³
åºåãªããžã§ã¯ããã¡ã€ã«ã ãšãã§ãã ld 代æ¿ãªããžã§ã¯ãããµããŒãããããã«æ§æãããŠãã
ãã©ãŒãããã®å Žåãéåžžããããæå®ããå¿ èŠã¯ãããŸããã ld ãçæããããã«æ§æããå¿ èŠããããŸã
ããã©ã«ãã®åºåãã©ãŒããããšããŠãåãã·ã³ã§æãäžè¬çãªãã©ãŒãããã åºåãã©ãŒããã ã
ããã¹ãæååãBFDã©ã€ãã©ãªã§ãµããŒããããŠããç¹å®ã®åœ¢åŒã®ååã ïŒããªãã¯ã§ãã
å©çšå¯èœãªãã€ããªåœ¢åŒãäžèŠ§è¡šç€ºããŸã ãªããžã§ã¯ããã³ã -iãïŒã¹ã¯ãªããã³ãã³ã
ãOUTPUT_FORMATãã¯åºåãã©ãŒããããæå®ããããšãã§ããŸããããã®ãªãã·ã§ã³ã¯ããããªãŒããŒã©ã€ãããŸãã
-ãã€
--pic-å®è¡å¯èœãã¡ã€ã«
äœçœ®ã«äŸåããªãå®è¡å¯èœãã¡ã€ã«ãäœæããŸãã ããã¯çŸåšãELFã§ã®ã¿ãµããŒããããŠããŸã
ãã©ãããã©ãŒã ã äœçœ®ã«äŸåããªãå®è¡å¯èœãã¡ã€ã«ã¯ããã®ç¹ã§å ±æã©ã€ãã©ãªã«äŒŒãŠããŸã
ãããã¯ããã€ãããã¯ãªã³ã«ã«ãã£ãŠOSãéžæããä»®æ³ã¢ãã¬ã¹ã«åé 眮ãããŸã
ãããïŒåŒã³åºãããšã«ç°ãªãå¯èœæ§ããããŸãïŒã éåžžã®åçã«ãªã³ã¯ãããå®è¡å¯èœãã¡ã€ã«ã®ããã«
ãããã¯å®è¡å¯èœã§ãããå®è¡å¯èœãã¡ã€ã«ã§å®çŸ©ãããã·ã³ãã«ã¯ã«ãã£ãŠãªãŒããŒã©ã€ãã§ããŸãã
å ±æã©ã€ãã©ãªã
-qmagic
Linuxãšã®äºææ§ã®ããããã®ãªãã·ã§ã³ã¯ç¡èŠãããŸãã
-Qy ãã®ãªãã·ã§ã³ã¯ãSVR4ã®äºææ§ã®ããã«ç¡èŠãããŸãã
- ãªã©ãã¯ã¹
ãã·ã³ã«äŸåããå¹æãæã€ãªãã·ã§ã³ã ãã®ãªãã·ã§ã³ã¯ãããäžéšã§ã®ã¿ãµããŒããããŠããŸã
ã¿ãŒã²ããã
äžéšã®ãã©ãããã©ãŒã ã§ã¯ã - ãªã©ãã¯ã¹ ãªãã·ã§ã³ã¯ã次ã®ãããªã°ããŒãã«æé©åãå®è¡ããŸãã
ã¢ãã¬ã¹ã®ç·©åãªã©ããªã³ã«ãããã°ã©ã å ã®ã¢ãã¬ã¹ã解決ããå Žåã«å¯èœ
ã¢ãŒããå€æŽããåºåãªããžã§ã¯ã ãã¡ã€ã«å ã§æ°ããåœä»€ãåæããŸãã
äžéšã®ãã©ãããã©ãŒã ã§ã¯ããããã®ãªã³ã¯æéã®ã°ããŒãã«æé©åã«ããã
çµæã®å®è¡å¯èœãã¡ã€ã«ã¯äžå¯èœã§ãã ããã¯æŸäžã®å Žåã§ããããšãç¥ãããŠããŸã
MN10200ããã³MN10300ãã¡ããªã®ããã»ããµã
ããããµããŒããããŠããªããã©ãããã©ãŒã ã§ã¯ã - ãªã©ãã¯ã¹ åãå ¥ããããŸãããç¡èŠãããŸãã
--ã·ã³ãã«ãã¡ã€ã«ãä¿æ ãã¡ã€ã«å
ä¿æãã ã® ãã¡ã€ã«ã«ãªã¹ããããŠããèšå· ãã¡ã€ã«åãä»ã®ãã¹ãŠãç Žæ£ããŸãã ãã¡ã€ã«å
ã¯åçŽãªãã©ãããã¡ã€ã«ã§ãXNUMXè¡ã«XNUMXã€ã®ã·ã³ãã«åãä»ããŠããŸãã ãã®ãªãã·ã§ã³ã¯ç¹ã«
倧ããªã°ããŒãã«ã·ã³ãã«ããŒãã«ãããç°å¢ïŒVxWorksãªã©ïŒã§åœ¹ç«ã¡ãŸã
å®è¡æã®ã¡ã¢ãªãç¯çŽããããã«ãåŸã ã«èç©ãããŸãã
--ã·ã³ãã«ãã¡ã€ã«ãä¿æ ãããŸãã æªå®çŸ©ã®ã·ã³ãã«ããŸãã¯ã«å¿ èŠãªã·ã³ãã«ãç Žæ£ããŸã
移転ã
æå®ã®ã¿å¯èœ --ã·ã³ãã«ãã¡ã€ã«ãä¿æ ã³ãã³ãã©ã€ã³ã§XNUMXåã ãªãŒããŒã©ã€ãããŸã -s
& -S.
-rpath DIR
ã©ã³ã¿ã€ã ã©ã€ãã©ãªã®æ€çŽ¢ãã¹ã«ãã£ã¬ã¯ããªãè¿œå ããŸãã ããã¯ãELFããªã³ã¯ãããšãã«äœ¿çšãããŸã
å ±æãªããžã§ã¯ãã§å®è¡å¯èœã å šãŠ -rpath åŒæ°ã¯é£çµãããŠã«æž¡ãããŸã
å®è¡æã«å ±æãªããžã§ã¯ããèŠã€ããããã«ãããã䜿çšããå®è¡æãªã³ã«ãŒã NS -rpath
ãã®ãªãã·ã§ã³ã¯ãå ±æãªããžã§ã¯ãã«å¿ èŠãªå ±æãªããžã§ã¯ããèŠã€ãããšãã«ã䜿çšãããŸã
ãªã³ã¯ã«æ瀺çã«å«ãŸããŠããŸãã ã®èª¬æãåç §ããŠãã ãã -rpath-ãªã³ã¯ ãªãã·ã§ã³ã å Žå
-rpath ELFå®è¡å¯èœãã¡ã€ã«ãç°å¢ã®ã³ã³ãã³ãããªã³ã¯ããå Žåã¯äœ¿çšãããŸãã
å€æ°ãLD_RUN_PATHããå®çŸ©ãããŠããå Žåã¯äœ¿çšãããŸãã
ã -rpath ãªãã·ã§ã³ã¯SunOSã§ã䜿çšã§ããŸãã ããã©ã«ãã§ã¯ãSunOSã§ã¯ããªã³ã«ãŒã¯
ãã¹ãŠã®äžããã©ã³ã¿ã€ã æ€çŽ¢ãããã圢æããŸãã -L äžãããããªãã·ã§ã³ã ãã -rpath ãªãã·ã§ã³
ã䜿çšãããå Žåãã©ã³ã¿ã€ã æ€çŽ¢ãã¹ã¯ã -rpath ãªãã·ã§ã³ã¯ã
ç¡èŠã㊠-L ãªãã·ã§ã³ã ããã¯ãå€ãã®æ©èœãè¿œå ããgccã䜿çšããå Žåã«åœ¹ç«ã¡ãŸãã -L
NFSããŠã³ãããããã¡ã€ã«ã·ã¹ãã ã«ããå¯èœæ§ã®ãããªãã·ã§ã³ã
ä»ã®ELFãªã³ã«ãŒãšã®äºææ§ã®ããã«ã -R ãªãã·ã§ã³ã®åŸã«ãã£ã¬ã¯ããªãç¶ããŸã
ãã¡ã€ã«åã§ã¯ãªããååãšããŠæ±ãããŸã -rpath ãªãã·ã§ã³ãéžæããŸãã
-rpath-ãªã³ã¯ DIR
ELFãŸãã¯SunOSã䜿çšããå ŽåãXNUMXã€ã®å ±æã©ã€ãã©ãªã«å¥ã®ã©ã€ãã©ãªãå¿ èŠã«ãªãå ŽåããããŸãã ããã¯ã
ãld-sharedããªã³ã¯ã«ã¯ãå ¥åãã¡ã€ã«ã®XNUMXã€ãšããŠå ±æã©ã€ãã©ãªãå«ãŸããŠããŸãã
éå ±æãéåé 眮å¯èœãå®è¡ããŠãããšãã«ãªã³ã«ããã®ãããªäŸåé¢ä¿ã«ééãããšã
ãªã³ã¯ãããã¯èªåçã«å¿ èŠãªå ±æã©ã€ãã©ãªãèŠã€ããŠãããå«ããããšããŸã
ãªã³ã¯ã«æ瀺çã«å«ãŸããŠããªãå Žåã ãã®ãããªå Žåã -rpath-ãªã³ã¯ ãªãã·ã§ã³
æ€çŽ¢ãããã£ã¬ã¯ããªã®æåã®ã»ãããæå®ããŸãã NS -rpath-ãªã³ã¯ ãªãã·ã§ã³ã§æå®ã§ããŸã
ã§åºåãããååã®ãªã¹ããæå®ããããšã«ããäžé£ã®ãã£ã¬ã¯ããªå
ã³ãã³ããŸãã¯è€æ°ååºçŸããããšã«ãã£ãŠã
ãã®ãªãã·ã§ã³ã¯ã次ã®ãããªæ€çŽ¢ãã¹ãäžæžãããããã泚æããŠäœ¿çšããå¿ èŠããããŸãã
å ±æã©ã€ãã©ãªã«ããŒãã³ã³ãã€ã«ãããŠããŸãã ãã®ãããªå Žåã«äœ¿çšããããšãå¯èœã§ã
æå³ããã«ãã©ã³ã¿ã€ã ãªã³ã«ãŒãè¡ãæ€çŽ¢ãã¹ãšã¯ç°ãªãæ€çŽ¢ãã¹ã
ãªã³ã«ã¯ã次ã®æ€çŽ¢ãã¹ã䜿çšããŠãå¿ èŠãªå ±æã©ã€ãã©ãªãæ€çŽ¢ããŸãã
1.ã«ãã£ãŠæå®ããããã£ã¬ã¯ã㪠-rpath-ãªã³ã¯ ãªãã·ã§ã³ã
2.ã«ãã£ãŠæå®ããããã£ã¬ã¯ã㪠-rpath ãªãã·ã§ã³ã ã®éã -rpath &
-rpath-ãªã³ã¯ ã«ãã£ãŠæå®ããããã£ã¬ã¯ããªã§ã -rpath ãªãã·ã§ã³ã¯ã«å«ãŸããŠããŸã
å®è¡å¯èœã§å®è¡æã«äœ¿çšãããŸããã -rpath-ãªã³ã¯ ãªãã·ã§ã³ã¯æå¹ã§ã
ãªã³ã¯æã«ã æ€çŽ¢ -rpath ãã®ããã«ããã€ãã£ããªã³ã«ãŒãš
ã§æ§æãããã¯ãã¹ãªã³ã«ãŒ --with-sysroot ãªãã·ã§ã³ãéžæããŸãã
3. ELF ã·ã¹ãã äžã§ã -rpath ãrpath-linkããªãã·ã§ã³ã䜿çšãããŠããªãå Žåã¯ã
ç°å¢å€æ°ãLD_RUN_PATHãã®å 容ã ãã€ãã£ããªã³ã«ãŒçšã§ã
ã®ã¿ã
4. SunOSã§ã¯ã -rpath ãªãã·ã§ã³ã䜿çšãããªãã£ãå Žåãæå®ããããã£ã¬ã¯ããªãæ€çŽ¢ããŸã
-L ãªãã·ã§ã³ã
5. ãã€ãã£ã ãªã³ã«ãŒã®å Žåã¯ãç°å¢å€æ°ãLD_LIBRARY_PATHãã®å 容ã
6.ãã€ãã£ãELFãªã³ã«ãŒã®å Žåãå ±æã®ãDT_RUNPATHããŸãã¯ãDT_RPATHãå ã®ãã£ã¬ã¯ããª
ã©ã€ãã©ãªã¯ãå¿ èŠãªå ±æã©ã€ãã©ãªãæ€çŽ¢ããŸãã ãDT_RPATHããšã³ããªã¯æ¬¡ã®ãšããã§ãã
ãDT_RUNPATHããšã³ããªãååšããå Žåã¯ç¡èŠãããŸãã
7.ããã©ã«ãã®ãã£ã¬ã¯ããªãé垞㯠/ lib & / usr / lib.
8. ELFã·ã¹ãã ã®ãã€ãã£ããªã³ã«ãŒã®å Žåããã¡ã€ã«ã®å Žå /etc/ld.so.conf ååšããããªã¹ã
ãã®ãã¡ã€ã«ã§èŠã€ãã£ããã£ã¬ã¯ããªã®æ°ã
å¿ èŠãªå ±æã©ã€ãã©ãªãèŠã€ãããªãå Žåããªã³ã«ã¯èŠåãçºè¡ãã
ãªã³ã¯ãç¶è¡ããŸãã
-å ±æ
-å ±æå¯èœ
å ±æã©ã€ãã©ãªãäœæããŸãã ããã¯çŸåšãELFãXCOFFãSunOSã§ã®ã¿ãµããŒããããŠããŸã
ãã©ãããã©ãŒã ã SunOSã§ã¯ããªã³ã«ã¯æ¬¡ã®å Žåã«å ±æã©ã€ãã©ãªãèªåçã«äœæããŸãã -e
ãªãã·ã§ã³ã¯äœ¿çšãããããªã³ã¯ã«æªå®çŸ©ã®ã·ã³ãã«ããããŸãã
--sort-common
ãã®ãªãã·ã§ã³ã¯ ld äžè¬çãªã·ã³ãã«ã
é©åãªåºåã»ã¯ã·ã§ã³ã æåã«ãã¹ãŠã® XNUMX ãã€ãèšå·ãæ¥ãŠã次ã«ãã¹ãŠã® XNUMX ãã€ãèšå·ãæ¥ãŸãã
ãã€ãã次㫠XNUMX ãã€ããã¹ãŠããããŠãã®ä»ãã¹ãŠã ééãé²ãããã§ã
é 眮ã®å¶çŽã«ããã·ã³ãã«éããããŠããŸããŸãã
--ãœãŒãã»ã¯ã·ã§ã³ å
ãã®ãªãã·ã§ã³ã¯ããªã³ã«ãŒã®ãã¹ãŠã®ã¯ã€ã«ãã«ãŒãã»ã¯ã·ã§ã³ãã¿ãŒã³ã«ãSORT_BY_NAMEããé©çšããŸã
ã¹ã¯ãªããã
--ãœãŒãã»ã¯ã·ã§ã³ ã¢ã©ã€ã³ã¡ã³ã
ãã®ãªãã·ã§ã³ã¯ããSORT_BY_ALIGNMENTããå ã®ãã¹ãŠã®ã¯ã€ã«ãã«ãŒãã»ã¯ã·ã§ã³ãã¿ãŒã³ã«é©çšããŸãã
ãªã³ã«ãŒã¹ã¯ãªããã
--ãã¡ã€ã«ããšã«åå² [ãµã€ãº]
ãã㊠--åé 眮ã«ããåå² ãã ããå ¥åãã¡ã€ã«ããšã«æ°ããåºåã»ã¯ã·ã§ã³ãäœæããŸãã
ãµã€ãº ãéæãããã ãµã€ãº æå®ããªãå Žåãããã©ã«ãã®ãµã€ãºã¯1ã§ãã
--åé 眮ã«ããåå² [ã«ãŠã³ã]
åºåãã¡ã€ã«ã«è¿œå ã®ã»ã¯ã·ã§ã³ãäœæããŠãã®åäžã®åºåã»ã¯ã·ã§ã³ããªãããã«ããŸãã
ãã¡ã€ã«ã«ã¯ä»¥äžã®ãã®ãå«ãŸããŠããŸã ã«ãŠã³ã 移転ã ããã¯ã巚倧ãªçææã«åœ¹ç«ã¡ãŸã
COFFãªããžã§ã¯ãã䜿çšããŠç¹å®ã®ãªã¢ã«ã¿ã€ã ã«ãŒãã«ã«ããŠã³ããŒãããããã®åé 眮å¯èœãªãã¡ã€ã«
ãã¡ã€ã«åœ¢åŒ; COFFã¯65535åã§XNUMXãè¶ ããåé 眮ãè¡šãããšãã§ããªããã
ã»ã¯ã·ã§ã³ã ããã¯ãæ©èœããªããªããžã§ã¯ããã¡ã€ã«åœ¢åŒã§ã¯æ©èœããªãããšã«æ³šæããŠãã ãã
ä»»æã®ã»ã¯ã·ã§ã³ããµããŒãããŸãã ãªã³ã«ã¯åã ã®å ¥åã»ã¯ã·ã§ã³ãåå²ããŸãã
åé åžã®å Žåãåäžã®å ¥åã»ã¯ã·ã§ã³ã« ã«ãŠã³ã 移転
XNUMXã€ã®åºåã»ã¯ã·ã§ã³ã«ã¯ããã®æ°ã®åé 眮ãå«ãŸããŸãã ã«ãŠã³ã ããã©ã«ãã®å€ã¯
32768.
-çµ±èš
å®è¡ãªã©ããªã³ã«ãŒã®æäœã«é¢ããçµ±èšãèšç®ããŠè¡šç€ºããŸã
æéãšã¡ã¢ãªã®äœ¿çšéã
--sysroot =ãã£ã¬ã¯ããªã«ãžã§ããéå§ããŸãã
ã ãã£ã¬ã¯ããªã«ãžã§ããéå§ããŸãã sysrootã®å ŽæãšããŠãconfigure-timeã®ããã©ã«ãããªãŒããŒã©ã€ãããŸãã
ãã®ãªãã·ã§ã³ã¯ãã䜿çšããŠæ§æããããªã³ã«ãŒã§ã®ã¿ãµããŒããããŸãã --with-sysroot.
-åŸæ¥ã®åœ¢åŒ
äžéšã®ã¿ãŒã²ããã§ã¯ã ld ããã€ãã®åºåãšã¯ããã€ãã®ç¹ã§ç°ãªããŸã
æ¢åã®ãªã³ã«ãŒã ãã®ã¹ã€ããã¯èŠæ±ããŸã ld 代ããã«åŸæ¥ã®åœ¢åŒã䜿çšããŸãã
ããšãã°ãSunOSã§ã¯ã ld ã·ã³ãã«æååããŒãã«å ã®éè€ãããšã³ããªãçµåããŸãã ãã®
å®å šãªãããã°æ å ±ãå«ãåºåãã¡ã€ã«ã®ãµã€ãºã30以äžåæžã§ããŸã
ããŒã»ã³ãã æ®å¿µãªãããSunOSã®ãdbxãããã°ã©ã ã¯çµæã®ããã°ã©ã ãèªã¿åãããšãã§ããŸãã
ïŒãgdbãã«ã¯åé¡ã¯ãããŸããïŒã NS -åŸæ¥ã®åœ¢åŒ ã¹ã€ããã¯æããŸã ld çµåããªã
éè€ãããšã³ããªã
--ã»ã¯ã·ã§ã³éå§ ã»ã¯ã·ã§ã³å=ORG
åºåãã¡ã€ã«å ã®æ¬¡ã®çµ¶å¯Ÿã¢ãã¬ã¹ã§ã»ã¯ã·ã§ã³ãèŠã€ããŸãã ORGã You may useããªãã¯äœ¿çšããããšãã§ããŸã
ã³ãã³ãå ã®è€æ°ã®ã»ã¯ã·ã§ã³ãèŠã€ããããã«å¿ èŠãªåæ°ãã®ãªãã·ã§ã³
ã©ã€ã³ã ORG åäžã®XNUMXé²æŽæ°ã§ããå¿ èŠããããŸãã ä»ã®ãªã³ã«ãŒãšã®äºææ§ã®ããã«ã
å é ãçç¥ã§ããŸã 0x éåžžãXNUMXé²å€ã«é¢é£ä»ããããŸãã æ³šïŒ ãã
éã«ç©ºçœããã£ãŠã¯ãªããŸãã ã»ã¯ã·ã§ã³åãçå·ïŒ "="ïŒã ãš ORG.
-TBS ORG
-Tdata ORG
-Ttext ORG
--section-start ãšåãã§ãããã.bssããã.dataãããŸãã¯ã.textããæå®ããŸãã ã»ã¯ã·ã§ã³å.
--unresolved-symbols =æ¹æ³
æªè§£æ±ºã®ã·ã³ãã«ã®åŠçæ¹æ³ã決å®ããŸãã ã®å¯èœãªå€ã¯XNUMXã€ãããŸã
æ¹æ³:
å šç¡èŠ
æªè§£æ±ºã®ã·ã³ãã«ã¯å ±åããªãã§ãã ããã
ã¬ããŒã-ãã¹ãŠ
æªè§£æ±ºã®ã·ã³ãã«ããã¹ãŠå ±åããŸãã ãããããã©ã«ãã§ãã
ãªããžã§ã¯ããã¡ã€ã«ãç¡èŠãã
å ±æã©ã€ãã©ãªã«å«ãŸããŠããæªè§£æ±ºã®ã·ã³ãã«ãå ±åããŸãããç¡èŠããŸã
ããããéåžžã®ãªããžã§ã¯ããã¡ã€ã«ããã®ãã®ã§ããå Žåã
å ±æã©ã€ãã©ãªãç¡èŠãã
éåžžã®ãªããžã§ã¯ããã¡ã€ã«ããã®æªè§£æ±ºã®ã·ã³ãã«ãå ±åããŸããã次ã®å Žåã¯ç¡èŠããŸã
ãããã¯å ±æã©ã€ãã©ãªããæ¥ãŠããŸãã ããã¯ããã€ãããã¯ãäœæãããšãã«åœ¹ç«ã¡ãŸã
ãã€ããªã§ãããåç §ããå¿ èŠããããã¹ãŠã®å ±æã©ã€ãã©ãªãç¥ãããŠããŸã
ãªã³ã«ã®ã³ãã³ãã©ã€ã³ã«å«ãŸããŠããŸãã
å ±æã©ã€ãã©ãªèªäœã®åäœã¯ã
-[no-] allow-shlib-æªå®çŸ© ãªãã·ã§ã³ãéžæããŸãã
éåžžããªã³ã«ã¯ãå ±åãããæªè§£æ±ºã®ã·ã³ãã«ããšã«ãšã©ãŒã¡ãã»ãŒãžãçæããŸãã
ãããããªãã·ã§ã³ -èŠå-æªè§£æ±º-èšå· ãããèŠåã«å€æŽã§ããŸãã
--dll-åé·
-詳现
ã®ããŒãžã§ã³çªå·ã衚瀺ãã ld ãµããŒããããŠãããªã³ã«ãŒãšãã¥ã¬ãŒã·ã§ã³ãäžèŠ§è¡šç€ºããŸãã ç»é¢
ã©ã®å ¥åãã¡ã€ã«ãéãããšãã§ããããã§ããªããã ã«ãã£ãŠäœ¿çšãããŠãããªã³ã«ãŒã¹ã¯ãªããã衚瀺ããŸã
ãªã³ã«ãŒã
--version-script =ããŒãžã§ã³-ã¹ã¯ãªãããã¡ã€ã«
ãªã³ã«ã«ããŒãžã§ã³ã¹ã¯ãªããã®ååãæå®ããŸãã ããã¯éåžžã次ã®å Žåã«äœ¿çšãããŸã
ããŒãžã§ã³ã«é¢ããè¿œå æ å ±ãæå®ããããã®å ±æã©ã€ãã©ãªã®äœæ
äœæãããã©ã€ãã©ãªã®éå±€ã ãã®ãªãã·ã§ã³ã¯ ELF ã§ã®ã¿æå³ããããŸã
å ±æã©ã€ãã©ãªããµããŒããããã©ãããã©ãŒã ã
-èŠå-å ±é
å ±éã®ã·ã³ãã«ãå¥ã®å ±éã®ã·ã³ãã«ãŸãã¯ã·ã³ãã«ãšçµã¿åãããããšãã«èŠåããŸã
æå³ã Unix ãªã³ã«ãŒã§ã¯ããã®ããããããªææ³ãèš±å¯ãããŠããŸãããäžéšã®ãªã³ã«ãŒã§ã¯
ä»ã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã¯ããã§ã¯ãããŸããã ãã®ãªãã·ã§ã³ã䜿çšãããšãæœåšçãªåé¡ãèŠã€ããããšãã§ããŸã
ã°ããŒãã«ã·ã³ãã«ã®çµã¿åããããã æ®å¿µãªãããäžéšã® C ã©ã€ãã©ãªã§ã¯ãã®ææ³ã䜿çšãããŠããããã
ããã°ã©ã ã ãã§ãªããã©ã€ãã©ãªã®ã·ã³ãã«ã«ã€ããŠãèŠåã衚瀺ãããå ŽåããããŸãã
ããã§ã¯Cã®äŸã§ç€ºãããŠãããXNUMXçš®é¡ã®ã°ããŒãã«ã·ã³ãã«ããããŸãã
intå i = 1;
åºåãã¡ã€ã«ã®åæåãããããŒã¿ã»ã¯ã·ã§ã³ã«å ¥ãå®çŸ©ã
å€éš intå i;
ã¹ããŒã¹ãå²ãåœãŠãªãæªå®çŸ©ã®åç §ã ã©ã¡ãããå¿ èŠã§ã
ã©ããã®å€æ°ã®å®çŸ©ãŸãã¯å ±éã®èšå·ã
intå i;
äžè¬çãªã·ã³ãã«ã å€æ°ã«ïŒXNUMXã€ä»¥äžã®ïŒå ±éã·ã³ãã«ãããªãå Žåã
åºåãã¡ã€ã«ã®åæåãããŠããªãããŒã¿é åã«å ¥ããŸãã ãªã³ã«ãŒã¯ããŒãžããŸã
åãå€æ°ã®è€æ°ã®å ±éã·ã³ãã«ãXNUMXã€ã®ã·ã³ãã«ã«ã 圌ããããå Žå
ããŸããŸãªãµã€ãºã®äžã§ãæ倧ã®ãµã€ãºãéžæããŸãã ãªã³ã«ãŒã¯å ±éã®ã·ã³ãã«ã«ãªããŸã
åãå€æ°ã®å®çŸ©ãããå Žåã¯ã宣èšã«å ¥ããŸãã
ã -èŠå-å ±é ãªãã·ã§ã³ã¯XNUMXçš®é¡ã®èŠåãçæã§ããŸãã åèŠåã¯
äžå¯Ÿã®ç·ïŒæåã¯åºäŒã£ãã°ããã®ã·ã³ãã«ãè¡šããXNUMXçªç®ã¯åºäŒã£ãã°ããã®ã·ã³ãã«ãè¡šããŸã
åãååã§ééããåã®ã·ã³ãã«ã説æããŸãã XNUMXã€ã®äžæ¹ãŸãã¯äž¡æ¹
ã·ã³ãã«ã¯äžè¬çãªã·ã³ãã«ã«ãªããŸãã
1.ãã§ã«å®çŸ©ãããã®ã§ãå ±éã®ã·ã³ãã«ãåç §ã«å€ãã
ã·ã³ãã«ã®ããã«ã
ïŒïŒ ïŒïŒèŠåïŒ `ã®å ±é'
å®çŸ©ã«ãããªãŒããŒã©ã€ã
ïŒïŒ ïŒïŒèŠåïŒããã§å®çŸ©
2.å ±éã®ã·ã³ãã«ãåç §ã«å€ããã®ã¯ãåŸã®å®çŸ©ã
ã·ã³ãã«ã«ééããŸããã ããã¯åã®ã±ãŒã¹ãšåãã§ããã
ã·ã³ãã«ã¯ç°ãªãé åºã§æ€åºãããŸãã
ïŒïŒ ïŒïŒèŠåïŒ `ã®å®çŸ©'
å ±éã®ãªãŒããŒã©ã€ã
ïŒïŒ ïŒïŒèŠåïŒäžè¬çãªãã®ã¯ããã«ãããŸã
3.å ±éã·ã³ãã«ã以åã®åããµã€ãºã®å ±éã·ã³ãã«ãšããŒãžããŸãã
ïŒïŒ ïŒïŒèŠåïŒè€æ°ã®å ±é
`ã®'
ïŒïŒ ïŒïŒèŠåïŒä»¥åã®å ±éç¹ã¯ããã«ãããŸã
4.å ±éã·ã³ãã«ã以åã®ãã倧ããªå ±éã·ã³ãã«ãšããŒãžããŸãã
ïŒïŒ ïŒïŒèŠåïŒ `ã®å ±é'
ãã倧ããªã³ã¢ã³ã«ãã£ãŠãªãŒããŒã©ã€ããããŸã
ïŒïŒ ïŒïŒèŠåïŒãã倧ããªå ±éç¹ã¯ããã«ãããŸã
5.å ±éã·ã³ãã«ã以åã®å°ããå ±éã·ã³ãã«ãšããŒãžããŸãã ããã¯åãã§ã
åã®å Žåãšåãã§ãããã·ã³ãã«ãå¥ã®å Žæã§æ€åºãããç¹ãç°ãªããŸã
ãªãŒããŒã
ïŒïŒ ïŒïŒèŠåïŒ `ã®å ±é'
å°ããã³ã¢ã³ããªãŒããŒã©ã€ããã
ïŒïŒ ïŒïŒèŠåïŒå°ããã³ã¢ã³ã¯ããã«ãããŸã
-èŠå-ã³ã³ã¹ãã©ã¯ã¿ãŒ
ã°ããŒãã«ã³ã³ã¹ãã©ã¯ã¿ãŒã䜿çšãããŠããå Žåã¯èŠåããŸãã ããã¯ãããã€ãã®ãªããžã§ã¯ããã¡ã€ã«ã«ã®ã¿åœ¹ç«ã¡ãŸã
ãã©ãŒãããã COFFãELFãªã©ã®åœ¢åŒã®å Žåããªã³ã«ã¯ã°ããŒãã«ã®äœ¿çšãæ€åºã§ããŸãã
ã³ã³ã¹ãã©ã¯ã¿ãŒã
--warn-multiple-gp
åºåãã¡ã€ã«ã«è€æ°ã®ã°ããŒãã«ãã€ã³ã¿å€ãå¿ èŠãªå Žåã«èŠåããŸãã ããã ãã§ã
Alphaãªã©ã®ç¹å®ã®ããã»ããµã«ãšã£ãŠæå³ããããŸãã å ·äœçã«ã¯ãäžéšã®ããã»ããµ
倧ããªå€ã®å®æ°ãç¹å¥ãªã»ã¯ã·ã§ã³ã«é 眮ããŸãã ç¹æ®ã¬ãžã¹ã¿ãŒïŒã°ããŒãã«
ãã€ã³ã¿ïŒã¯ãã®ã»ã¯ã·ã§ã³ã®äžå€®ãæããŠãããããå®æ°ãããŒãã§ããŸã
ããŒã¹ã¬ãžã¹ã¿çžå¯Ÿã¢ãã¬ãã·ã³ã°ã¢ãŒããä»ããŠå¹ççã«ã ããŒã¹ã®ãªãã»ãã以æ¥-
ã¬ãžã¹ã¿çžå¯Ÿã¢ãŒãã¯åºå®ãããŠãããæ¯èŒçå°ããïŒããšãã°ã16ãããïŒããã
å®æ°ããŒã«ã®æ倧ãµã€ãºã ãããã£ãŠã倧èŠæš¡ãªããã°ã©ã ã§ã¯ãå€ãã®å Žåã
å¯èœãªãã¹ãŠã«å¯ŸåŠã§ããããã«ããããã«ãè€æ°ã®ã°ããŒãã«ãã€ã³ã¿å€ã䜿çšãã
å®æ°ã ãã®ãªãã·ã§ã³ã䜿çšãããšããã®ã±ãŒã¹ãçºçãããã³ã«èŠåãçºè¡ãããŸãã
-èŠå-XNUMXå
åç §ããã¢ãžã¥ãŒã«ããšã«XNUMXåã§ã¯ãªããæªå®çŸ©ã®ã·ã³ãã«ããšã«XNUMXåã ãèŠåããŸãã
ããŒãã³ã¯
--warn-section-align
ã¢ã©ã€ã¡ã³ãã®ããã«åºåã»ã¯ã·ã§ã³ã®ã¢ãã¬ã¹ãå€æŽãããå Žåã«èŠåããŸãã éåžžã
é 眮ã¯å ¥åã»ã¯ã·ã§ã³ã«ãã£ãŠèšå®ãããŸãã äœæã¯æ¬¡ã®å Žåã«ã®ã¿å€æŽãããŸã
æ瀺çã«æå®ãããŠããŸããã ã€ãŸãããSECTIONSãã³ãã³ãã§éå§ãæå®ãããŠããªãå Žå
ã»ã¯ã·ã§ã³ã®ã¢ãã¬ã¹ã
--warn-shared-textrel
ãªã³ã«ãDT_TEXTRELãå ±æãªããžã§ã¯ãã«è¿œå ããå Žåã«èŠåããŸãã
-èŠå-æªè§£æ±º-èšå·
ãªã³ã«ãæªè§£æ±ºã®ã·ã³ãã«ãå ±åããå ŽåïŒãªãã·ã§ã³ãåç §ïŒ
-æªè§£æ±º-ã·ã³ãã«ïŒéåžžã¯ãšã©ãŒãçºçããŸãã ãã®ãªãã·ã§ã³ã¯ãããäœããŸã
代ããã«èŠåãçæããŸãã
-ãšã©ãŒ-æªè§£æ±º-ã·ã³ãã«
ããã«ããããªã³ã«ãã¬ããŒãããŠãããšãã«ãšã©ãŒãçæãããšãããªã³ã«ã®ããã©ã«ãã®åäœã埩å ãããŸãã
æªè§£æ±ºã®ã·ã³ãã«ã
-- å šäœã¢ãŒã«ã€ã
ã³ãã³ãã©ã€ã³ã®åŸã«èšèŒãããŠããã¢ãŒã«ã€ãããšã« -- å šäœã¢ãŒã«ã€ã ãªãã·ã§ã³ã
æ€çŽ¢ããã®ã§ã¯ãªãããªã³ã¯å ã®ã¢ãŒã«ã€ãå ã®ãã¹ãŠã®ãªããžã§ã¯ããã¡ã€ã«ãå«ããŸã
å¿ èŠãªãªããžã§ã¯ããã¡ã€ã«ã®ã¢ãŒã«ã€ãã ããã¯éåžžãã¢ãŒã«ã€ããã¡ã€ã«ãäœæããããã«äœ¿çšãããŸã
å ±æã©ã€ãã©ãªã«å ¥ãããã¹ãŠã®ãªããžã§ã¯ããçµæã®å ±æã©ã€ãã©ãªã«å«ããããã«åŒ·å¶ããŸã
å³æžé€šã ãã®ãªãã·ã§ã³ã¯è€æ°å䜿çšã§ããŸãã
gccãããã®ãªãã·ã§ã³ã䜿çšããå Žåã®XNUMXã€ã®æ³šæïŒæåã«ãgccã¯ãã®ãªãã·ã§ã³ã«ã€ããŠç¥ããŸããã
ã ããããªãã¯äœ¿çšããå¿ èŠããããŸã -Wlã-ã¢ãŒã«ã€ãå šäœã 第äºã«ã䜿çšããããšãå¿ããªãã§ãã ãã
-Wlã-no-whole-archive gccã¯ç¬èªã®ãªã¹ããè¿œå ãããããã¢ãŒã«ã€ãã®ãªã¹ãã®åŸã«
ãªã³ã¯ãžã®ã¢ãŒã«ã€ãã®æ°ã§ããããã®ãã©ã°ããããã«ã圱é¿ãäžããããªãå ŽåããããŸãã
- å ã ã·ã³ãã«
ã©ãããŒé¢æ°ã䜿çšãã ã·ã³ãã«ã æªå®çŸ©ã®åç § ã·ã³ã㫠解決ãããŸã
ã©ããããŸã_ã·ã³ãã«"ã ã__real_ããžã®æªå®çŸ©ã®åç §ã·ã³ãã«" ã«è§£æ±ºãããŸã
ã·ã³ãã«.
ããã¯ãã·ã¹ãã é¢æ°ã®ã©ãããŒãæäŸããããã«äœ¿çšã§ããŸãã ã©ãããŒé¢æ°
ã__wrap_ããšåŒã°ããã¹ãã§ãã·ã³ãã«"ã ã·ã¹ãã é¢æ°ãåŒã³åºãããå Žåã¯ã
ã__real_ã·ã³ãã«".
ç°¡åãªäŸã次ã«ç€ºããŸãã
ç¡å¹*
__wrap_mallocïŒsize_t cïŒ
{
printfïŒ "mallocãïŒ zu \ nã§åŒã³åºãããŸãã"ãcïŒ;
return __real_mallocïŒcïŒ;
}
ã䜿çšããŠä»ã®ã³ãŒãããã®ãã¡ã€ã«ã«ãªã³ã¯ããå Žå - å ã mallocé¢æ°ããã®åŸããmallocããžã®ãã¹ãŠã®åŒã³åºã
代ããã«ãé¢æ°ã__wrap_mallocããåŒã³åºããŸãã ã®ã__real_mallocãã®åŒã³åºã
ã__wrap_mallocãã¯ãå®éã®ãmallocãé¢æ°ãåŒã³åºããŸãã
ã__real_mallocãé¢æ°ãæäŸããŠã
- å ã ãªãã·ã§ã³ã¯æåããŸãã ãããè¡ãå Žåãããªãã¯ã®å®çŸ©ã眮ãã¹ãã§ã¯ãããŸãã
ã__wrap_mallocããšåããã¡ã€ã«å ã®ã__real_mallocã; ããããå Žåãã¢ã»ã³ãã©ã¯
ãªã³ã«ãåŒã³åºãããmallocãã«ã©ããããåã«ãåŒã³åºãã解決ããŸãã
--ãã-ãã¬ãŒã -hdr
ã.eh_frame_hdrãã»ã¯ã·ã§ã³ãšELFãPT_GNU_EH_FRAMEãã»ã°ã¡ã³ãããããŒã®äœæãèŠæ±ããŸãã
--enable-new-dtags
--æ°ãã dtags ãç¡å¹ã«ãã
ãã®ãªã³ã«ã¯ãELFã§æ°ããåçã¿ã°ãäœæã§ããŸãã ããããå€ãELFã·ã¹ãã ã¯ããã§ã¯ãªããããããŸãã
ããããç解ããŸãã æå®ããå Žå --enable-new-dtagsãåçã¿ã°ãäœæãããŸã
å¿ èŠã«å¿ããŠã æå®ããå Žå --æ°ãã dtags ãç¡å¹ã«ãããæ°ããåçã¿ã°ã¯äœæãããŸããã
ããã©ã«ãã§ã¯ãæ°ããåçã¿ã°ã¯äœæãããŸããã ãããã®ãªãã·ã§ã³ã¯åãªã
ELF ã·ã¹ãã ã§å©çšå¯èœã§ãã
--hash-size =æ°
ãªã³ã«ã®ããã·ã¥ããŒãã«ã®ããã©ã«ããµã€ãºãã«è¿ãçŽ æ°ã«èšå®ããŸã æ°.
ãã®å€ãå¢ãããšããªã³ã«ãŒããã®å®è¡ã«ãããæéãççž®ã§ããŸãã
ãªã³ã«ã®ã¡ã¢ãªèŠä»¶ãå¢ããããšãç ç²ã«ããŠãã¿ã¹ã¯ã åæ§ã«
ãã®å€ãæžãããšãé床ãç ç²ã«ããŠã¡ã¢ãªèŠä»¶ãæžããããšãã§ããŸãã
--hash-style =
ãªã³ã«ã®ããã·ã¥ããŒãã«ã®ã¿ã€ããèšå®ããŸãã åŸæ¥ã®ELFã®å Žåã¯ãsysvãã®ããããã«ãªããŸã
ã.hashãã»ã¯ã·ã§ã³ãæ°ããã¹ã¿ã€ã«ã®GNUã®å Žåã¯ãgnuããäž¡æ¹ã®å Žåã¯ã.gnu.hashãã»ã¯ã·ã§ã³ãŸãã¯ãbothã
åŸæ¥ã®ELFã.hashãããã³æ°ããã¹ã¿ã€ã«ã®GNUã.gnu.hashãããã·ã¥ããŒãã«ã ããã©ã«ãã¯ãsysvãã§ãã
--ã¡ã¢ãªã®ãªãŒããŒããããæžãã
ãã®ãªãã·ã§ã³ã¯ããªã³ã¯ãç ç²ã«ããŠãå®è¡æã®ã¡ã¢ãªèŠä»¶ãåæžããŸã
é床ã ããã¯ããªã³ã¯ããããã¡ã€ã«ã®å€ãOïŒn ^ 2ïŒã¢ã«ãŽãªãºã ãéžæããããã«å°å ¥ãããŸãã
çæã®ããã«çŽ40ïŒ å€ãã®ã¡ã¢ãªã䜿çšããæ°ããOïŒnïŒã¢ã«ãŽãªãºã ã§ã¯ãªã
ã·ã³ãã«ã¹ãã¬ãŒãžã
ã¹ã€ããã®ãã1021ã€ã®å¹æã¯ãããã©ã«ãã®ããã·ã¥ããŒãã«ãµã€ãºãXNUMXã«èšå®ããããšã§ãã
ãªã³ã«ã®å®è¡æéãé·ããããšããç ç²ãæã£ãŠãåã³ã¡ã¢ãªãç¯çŽããŸãã ããã¯è¡ãããŸãã
ãã ãã -ããã·ã¥ãµã€ãº ã¹ã€ããã䜿çšãããŠããŸãã
ã --ã¡ã¢ãªã®ãªãŒããŒããããæžãã ã¹ã€ããã¯ãä»ã®ãã¬ãŒããªããæå¹ã«ããããã«ã䜿çšã§ããŸãã
ãªã³ã«ã®å°æ¥ã®ããŒãžã§ã³ã
--ãã«ã ID
--build-id =
ã.note.gnu.build-idãELF ããŒã ã»ã¯ã·ã§ã³ã®äœæããªã¯ãšã¹ãããŸãã ã¡ã¢ã®å 容ã¯
ã¯ããã®ãªã³ã¯ããããã¡ã€ã«ãèå¥ããäžæã®ãããã§ãã 128 åã®ã©ã³ãã ã䜿çšããã«ã¯ãuuidããæå®ã§ããŸã
ãããããsha1ãã¯åºåã³ã³ãã³ãã®æšæºéšåã« 160 ããã SHA1 ããã·ã¥ã䜿çšããŸãã
ãmd5ã: åºåã³ã³ãã³ãã®æšæºéšåã« 128 ããã MD5 ããã·ã¥ã䜿çšããããŸãã¯
ã0xhexstringã XNUMX é²æ°ã®å¶æ°ãšããŠæå®ãããéžæãããããæååã䜿çšããŸãã
æ°å (æ°åãã¢éã®ã-ãããã³ã:ãæåã¯ç¡èŠãããŸã)ã ãã çç¥ã
ãsha1ãã䜿ãããŸãã
ãmd5ãã¹ã¿ã€ã«ãšãsha1ãã¹ã¿ã€ã«ã¯ãåžžã«åãã§ããèå¥åãçæããŸãã
åäžã®åºåãã¡ã€ã«ã§ãããåäžã§ãªããã¹ãŠã®åºåãã¡ã€ã«ã®äžã§äžæã«ãªããŸãã ã§ã
ãã¡ã€ã«ã®å 容ã®ãã§ãã¯ãµã ãšããŠæ¯èŒãããããšãæå³ããŠããŸããã ãªã³ã¯ããããã¡ã€ã«ã¯
åŸã§ä»ã®ããŒã«ã«ãã£ãŠå€æŽãããŸãããå ã®ããŒã«ãèå¥ãããã«ãIDãããæåå
ãªã³ã¯ããããã¡ã€ã«ã¯å€æŽãããŸããã
ããªãããæž¡ã 以åã®ã--build-idããªãã·ã§ã³ã®èšå®ãç¡å¹ã«ããŸã
ã³ãã³ãã©ã€ã³ã
i386PEãªã³ã«ãŒã¯ -å ±æ ãªãã·ã§ã³ãããã«ãããåºåã¯
éåžžã®å®è¡å¯èœãã¡ã€ã«ã®ä»£ããã«ãã€ãããã¯ãªã³ã¯ã©ã€ãã©ãªïŒDLLïŒã ååãä»ããå¿ èŠããããŸã
ãã®ãªãã·ã§ã³ã䜿çšãããšãã*ãdllããåºåãããŸãã ããã«ããªã³ã«ãŒã¯å®å šã«ãµããŒãããŸã
æšæºã®ã* .defããã¡ã€ã«ããªããžã§ã¯ãã®ããã«ãªã³ã«ã®ã³ãã³ãã©ã€ã³ã§æå®ã§ããŸãã
ãã¡ã€ã«ïŒå®éã«ã¯ãã·ã³ãã«ããšã¯ã¹ããŒãããã¢ãŒã«ã€ãã®åã«é 眮ããŠãã·ã³ãã«ã確å®ã«ååŸãããããã«ããå¿ èŠããããŸãã
éåžžã®ãªããžã§ã¯ããã¡ã€ã«ãšåãããã«ãªã³ã¯ãããŸãïŒã
ãã¹ãŠã®ã¿ãŒã²ããã«å ±éã®ãªãã·ã§ã³ã«å ããŠãi386PEãªã³ã«ãŒã¯è¿œå ã®ãµããŒããæäŸããŸã
i386PEã¿ãŒã²ããã«åºæã®ã³ãã³ãã©ã€ã³ãªãã·ã§ã³ã å€ãåããªãã·ã§ã³
ã¹ããŒã¹ãŸãã¯çå·ã®ããããã§å€ããåºåãããšãã§ããŸãã
--add-stdcall-alias
æå®ãããŠããå Žåãstdcallãµãã£ãã¯ã¹ïŒ@nnïŒã¯ãã®ãŸãŸããŸã
æ¥å°ŸèŸãåé€ãããŸããã [ãã®ãªãã·ã§ã³ã¯ããªã³ã«ãŒã®i386PEã¿ãŒã²ããããŒãã«åºæã§ã]
--ããŒã¹ãã¡ã€ã« file
ã file ãã¹ãŠã®ããŒã¹ã¢ãã¬ã¹ãä¿åãããã¡ã€ã«ã®ååãšããŠ
DLLãçæããããã«å¿ èŠãªåé 眮 dllããŒã«ã [ããã¯i386PEåºæã§ã
ãªãã·ã§ã³]
--dll
éåžžã®å®è¡å¯èœãã¡ã€ã«ã®ä»£ããã«DLLãäœæããŸãã 䜿çšããããšãã§ããŸã -å ±æ ãŸãã¯ãæå®ããŸã
æå®ãããã.defããã¡ã€ã«ã®ãLIBRARYãã [ãã®ãªãã·ã§ã³ã¯ã察象ãšãªãi386PEã«åºæã®ãã®ã§ã
ãªã³ã«ãŒã®ããŒã]
--enable-stdcall-fixup
--disable-stdcall-fixup
ãªã³ã¯ã解決ã§ããªãã·ã³ãã«ãèŠã€ãããšãããã¡ãžãŒããå®è¡ããããšããŸãã
ã®åœ¢åŒã®ã¿ãç°ãªãå¥ã®å®çŸ©æžã¿ã·ã³ãã«ãæ¢ãããšã«ããããªã³ã¯ã
ã·ã³ãã«åïŒcdeclãšstdcallïŒã§ãããäžèŽã«ãªã³ã¯ããããšã§ãã®ã·ã³ãã«ã解決ããŸãã
ããšãã°ãæªå®çŸ©ã®ã·ã³ãã«ã_fooããé¢æ°ã_foo @ 12ãã«ãªã³ã¯ãããŠããå¯èœæ§ããããŸãã
æªå®çŸ©ã®ã·ã³ãã«ã_bar @ 16ããé¢æ°ã_barãã«ãªã³ã¯ãããŠããå¯èœæ§ããããŸãã ãã€
ãªã³ã«ã¯ãããè¡ããéåžžã¯ãªã³ã¯ã«å€±æããã¯ãã ã£ãã®ã§ãèŠåãåºåããŸãã
ãã ãããµãŒãããŒãã£ã®dllããçæãããã€ã³ããŒãã©ã€ãã©ãªã«ã¯ããã®æ©èœãå¿ èŠãªå ŽåããããŸã
䜿ããããã«ã æå®ããå Žå --enable-stdcall-fixupããã®æ©èœã¯å®å šã«æå¹ã«ãªã£ãŠããŸã
èŠåã¯å°å·ãããŸããã æå®ããå Žå --disable-stdcall-fixupããã®æ©èœã¯
ç¡å¹ã«ãªãããã®ãããªäžäžèŽã¯ãšã©ãŒãšèŠãªãããŸãã [ãã®ãªãã·ã§ã³ã¯
ãªã³ã«ã®i386PEã¿ãŒã²ããããŒã]
--ãã¹ãŠã®ã·ã³ãã«ããšã¯ã¹ããŒã
æå®ããå ŽåãDLLã®æ§ç¯ã«äœ¿çšããããªããžã§ã¯ãå ã®ãã¹ãŠã®ã°ããŒãã«ã·ã³ãã«ã¯ãã«ãã£ãŠãšã¯ã¹ããŒããããŸãã
DLLã ãã以å€ã®å Žåã¯ãšã¯ã¹ããŒããããªãå Žåã¯ããããããã©ã«ãã§ããããšã«æ³šæããŠãã ãã
ã·ã³ãã«ã ã·ã³ãã«ãDEFãã¡ã€ã«ãä»ããŠæ瀺çã«ãšã¯ã¹ããŒããããããæé»çã«ãšã¯ã¹ããŒããããå Žå
é¢æ°å±æ§ãä»ããŠãããã©ã«ãã§ã¯ããã®ãªãã·ã§ã³ããªãéããä»ã«ã¯äœããšã¯ã¹ããŒããããŸããã
äžããããŸãã èšå·ãDllMain @ 12ãããDllEntryPoint @ 0ãã
ãDllMainCRTStartup @ 12ããããã³ãimpure_ptrãã¯èªåçã«ãšã¯ã¹ããŒããããŸããã ãŸãã
ä»ã®DLLããã€ã³ããŒããããã·ã³ãã«ã¯åãšã¯ã¹ããŒãããããæå®ããã·ã³ãã«ãåãšã¯ã¹ããŒããããŸããã
ã_head_ãã§å§ãŸãããŸãã¯ã_head_ãã§çµããDLLã®å éšã¬ã€ã¢ãŠã
ã_inameãã ããã«ããlibgccãããlibstd ++ãããlibmingw32ãããŸãã¯ãlibmingwXNUMXãããã®èšå·ã¯ãããŸããã
ãcrtX.oãããšã¯ã¹ããŒããããŸãã ååãã__rtti_ããŸãã¯ã__builtin_ãã§å§ãŸãèšå·
C ++ DLLãæ¯æŽããããã«ããšã¯ã¹ããŒããããŸããã æåŸã«ãã®åºç¯ãªãªã¹ãããããŸã
cygwin-ãšã¯ã¹ããŒããããªããã©ã€ããŒãã·ã³ãã«ïŒæããã«ãããã¯ãã«ãæã«é©çšãããŸã
cygwinã¿ãŒã²ããã®DLLïŒã ãããã®cygwin-excludesã¯æ¬¡ã®ãšããã§ãïŒ "_ cygwin_dll_entry @ 12"ã
"_cygwin_crt0_common @ 8"ã "_ cygwin_noncygwin_dll_entry @ 12"ã "_ fmode"ã "_ impure_ptr"ã
"cygwin_attach_dll"ã "cygwin_premain0"ã "cygwin_premain1"ã "cygwin_premain2"ã
ãcygwin_premain3ããããã³ãenvironãã [ãã®ãªãã·ã§ã³ã¯ã察象ãšãªãi386PEã«åºæã®ãã®ã§ã
ãªã³ã«ãŒã®ããŒã]
-é€å€-èšå· ã·ã³ãã«,ã·ã³ãã«ã...
èªåçã«ãšã¯ã¹ããŒããããªãã·ã³ãã«ã®ãªã¹ããæå®ããŸãã 象城
ååã¯ã³ã³ããŸãã¯ã³ãã³ã§åºåãããšãã§ããŸãã [ãã®ãªãã·ã§ã³ã¯i386PEã«åºæã§ã
ãªã³ã«ãŒã®ã¿ãŒã²ããããŒã]
--ãã¡ã€ã«é 眮
ãã¡ã€ã«ã®é 眮ãæå®ããŸãã ãã¡ã€ã«å ã®ã»ã¯ã·ã§ã³ã¯åžžã«ãã¡ã€ã«ãªãã»ããã§å§ãŸããŸã
ããã¯ãã®æ°ã®åæ°ã§ãã ããã¯ããã©ã«ãã§512ã«ãªããŸãã[ãã®ãªãã·ã§ã³ã¯ç¹å®ã®ãã®ã§ã
ãªã³ã«ã®i386PEã¿ãŒã²ããããŒããž]
- ããŒã ãªã¶ãŒã
- ããŒã ãªã¶ãŒã,ã³ããã
ãšããŠäœ¿çšããããã«äºçŽïŒããã³ãªãã·ã§ã³ã§ã³ãããïŒããã¡ã¢ãªã®ãã€ãæ°ãæå®ããŸã
ãã®ããã°ã©ã ã®ããŒãã ããã©ã«ã㯠1Mb äºçŽã4K ã³ãããã§ãã [ãã®ãªãã·ã§ã³ã¯
ãªã³ã«ã®i386PEã¿ãŒã²ããããŒãã«åºæ]
--ç»åããŒã¹ å€
ã å€ ããã°ã©ã ãŸãã¯dllã®ããŒã¹ã¢ãã¬ã¹ãšããŠã ããã¯æäœã®ã¡ã¢ãªã§ã
ããã°ã©ã ãŸãã¯dllãããŒãããããšãã«äœ¿çšãããå Žæã ããå¿ èŠæ§ãæžããããã«
dllãåé 眮ããŠããã©ãŒãã³ã¹ãåäžãããã«ã¯ãããããã«äžæã®ããŒã¹ã¢ãã¬ã¹ãèšå®ããå¿ èŠããããŸã
ä»ã®dllãšéè€ããªãã§ãã ããã å®è¡å¯èœãã¡ã€ã«ã®ããã©ã«ãã¯0x400000ã§ããã
dllã®å Žåã¯0x10000000ã [ãã®ãªãã·ã§ã³ã¯ãã®i386PEã¿ãŒã²ããããŒãã«åºæã§ãã
ãªã³ã«]
--ãã«ã¢ãã
æå®ãããŠããå Žåãstdcallãµãã£ãã¯ã¹ïŒ@nnïŒã·ã³ãã«ãåé€ãããåã«ã·ã³ãã«ããåé€ãããŸã
ãšã¯ã¹ããŒããããŸããã [ãã®ãªãã·ã§ã³ã¯ããªã³ã«ãŒã®i386PEã¿ãŒã²ããããŒãã«åºæã§ã]
--ã©ãŒãžã¢ãã¬ã¹å¯Ÿå¿
æå®ããå ŽåãCOFFããããŒã®ãç¹æ§ããã£ãŒã«ãã®é©åãªããããèšå®ãããŸã
ãã®å®è¡å¯èœãã¡ã€ã«ã2ã®ã¬ãã€ããè¶ ããä»®æ³ã¢ãã¬ã¹ããµããŒãããŠããããšã瀺ããŸãã
ããã¯ã/ 3GBãŸãã¯/ USERVA =ãšçµã¿åãããŠäœ¿çšââããå¿ èŠããããŸãå€ ã¡ã¬ãã€ãã¹ã€ããã€ã³
BOOT.INIã®ã[ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ]ãã»ã¯ã·ã§ã³ã ãã以å€ã®å Žåããã®ãããã¯å¹æããããŸããã
[ãã®ãªãã·ã§ã³ã¯ããªã³ã«ãŒã®PEã¿ãŒã²ããããŒãã«åºæã§ã]
--äž»èŠãªã€ã¡ãŒãž ããŒãžã§ã³ å€
ãç»åããŒãžã§ã³ãã®ã¡ãžã£ãŒçªå·ãèšå®ããŸãã ããã©ã«ãã¯1ã§ãã[ãã®ãªãã·ã§ã³ã¯
ãªã³ã«ã®i386PEã¿ãŒã²ããããŒãã«åºæ]
--ã¡ãžã£ãŒ OS ããŒãžã§ã³ å€
ãOSããŒãžã§ã³ãã®ã¡ãžã£ãŒçªå·ãèšå®ããŸãã ããã©ã«ãã¯4ã§ãã[ãã®ãªãã·ã§ã³ã¯ç¹å®ã®ãã®ã§ã
ãªã³ã«ã®i386PEã¿ãŒã²ããããŒããž]
--ã¡ãžã£ãŒ ãµãã·ã¹ãã ããŒãžã§ã³ å€
ããµãã·ã¹ãã ããŒãžã§ã³ãã®ã¡ãžã£ãŒçªå·ãèšå®ããŸãã ããã©ã«ãã¯4ã§ãã[ãã®ãªãã·ã§ã³ã¯
ãªã³ã«ã®i386PEã¿ãŒã²ããããŒãã«åºæ]
-ãã€ããŒã€ã¡ãŒãžããŒãžã§ã³ å€
ãç»åããŒãžã§ã³ãã®ãã€ããŒçªå·ãèšå®ããŸãã ããã©ã«ãã¯0ã§ãã[ãã®ãªãã·ã§ã³ã¯
ãªã³ã«ã®i386PEã¿ãŒã²ããããŒãã«åºæ]
-ãã€ããŒ-os-ããŒãžã§ã³ å€
ãOSããŒãžã§ã³ãã®ãã€ããŒçªå·ãèšå®ããŸãã ããã©ã«ãã¯0ã§ãã[ãã®ãªãã·ã§ã³ã¯ç¹å®ã®ãã®ã§ã
ãªã³ã«ã®i386PEã¿ãŒã²ããããŒããž]
-ãã€ããŒãµãã·ã¹ãã ããŒãžã§ã³ å€
ããµãã·ã¹ãã ããŒãžã§ã³ãã®ãã€ããŒçªå·ãèšå®ããŸãã ããã©ã«ãã¯0ã§ãã[ãã®ãªãã·ã§ã³ã¯
ãªã³ã«ã®i386PEã¿ãŒã²ããããŒãã«åºæ]
-- åºåå®çŸ© file
ãªã³ã«ããã¡ã€ã«ãäœæããŸã file ããã«ã¯ã察å¿ããDEFãã¡ã€ã«ãå«ãŸããŸã
ãªã³ã«ãçæããŠããDLLã ãã®DEFãã¡ã€ã«ïŒã* .defããšåŒã°ããå¿ èŠããããŸãïŒã¯ã
ãdlltoolãã䜿çšããŠã€ã³ããŒãã©ã€ãã©ãªãäœæããããã«äœ¿çšãããããžã®åç §ãšããŠäœ¿çšã§ããŸãã
èªåçãŸãã¯æé»çã«ãšã¯ã¹ããŒããããã·ã³ãã«ã [ãã®ãªãã·ã§ã³ã¯i386PEã«åºæã§ã
ãªã³ã«ãŒã®ã¿ãŒã²ããããŒã]
--out-implib file
ãªã³ã«ããã¡ã€ã«ãäœæããŸã file ããã«ã¯ãã«å¯Ÿå¿ããã€ã³ããŒãã©ã€ãã©ãªãå«ãŸããŸã
ãªã³ã«ãçæããŠããDLLã ãã®ã€ã³ããŒãã©ã€ãã©ãªïŒã* .dll.aããŸãã¯
ã* .aãã¯ãçæãããDLLã«å¯ŸããŠã¯ã©ã€ã¢ã³ãããªã³ã¯ããããã«äœ¿çšã§ããŸãã ãã®æ¯ãèãã¯ãããäœããŸã
å¥ã®ãdlltoolãã€ã³ããŒãã©ã€ãã©ãªã®äœææé ãã¹ãããããããšãã§ããŸãã [ãã®ãªãã·ã§ã³ã¯
ãªã³ã«ã®i386PEã¿ãŒã²ããããŒãã«åºæ]
--enable-auto-image-base
ã䜿çšããŠæå®ãããŠããªãéããDLL ã®ã€ã¡ãŒãž ããŒã¹ãèªåçã«éžæããŸãã
ã--image-baseãåŒæ°ã DLL åããçæãããããã·ã¥ã䜿çšããŠäžæã®ãã¡ã€ã«ãäœæããããšã«ããã
å DLL ã®ã€ã¡ãŒãž ããŒã¹ãããã°ã©ã ãé 延ãããå¯èœæ§ãããã¡ã¢ãªå ã®è¡çªãšåé 眮
åŠåã¯é¿ããããã [ãã®ãªãã·ã§ã³ã¯ãi386 PE ã¿ãŒã²ãã ããŒãã«åºæã§ãã
ãªã³ã«]
--èªåã€ã¡ãŒãžããŒã¹ãç¡å¹ã«ãã
äžæã®ç»åããŒã¹ãèªåçã«çæããªãã§ãã ããã ãŠãŒã¶ãŒæå®ããªãå Žå
次ã«ãã€ã¡ãŒãžããŒã¹ïŒ "--image-base"ïŒã¯ããã©ãããã©ãŒã ã®ããã©ã«ãã䜿çšããŸãã [ãã®ãªãã·ã§ã³ã¯ç¹å®ã®ãã®ã§ã
ãªã³ã«ã®i386PEã¿ãŒã²ããããŒããž]
--dll-æ€çŽ¢ãã¬ãã£ãã¯ã¹ æåå
ã€ã³ããŒãã©ã€ãã©ãªãªãã§dllã«åçã«ãªã³ã¯ããå Žåã¯ã
ãã ãlibããããã.dllã .dllãããã®åäœã«ããã
ããŸããŸãªããµããã©ãããã©ãŒã ãçšã«æ§ç¯ãããDLLãç°¡åã«åºå¥ïŒãã€ãã£ããcygwinã
uwinãpwãªã©ãããšãã°ãcygwin DLLã¯éåžžãã-dll-search-prefix = cygãã䜿çšããŸãã
[ãã®ãªãã·ã§ã³ã¯ããªã³ã«ãŒã®i386PEã¿ãŒã²ããããŒãã«åºæã§ã]
--èªåã€ã³ããŒããæå¹ã«ãã
DLLããã®DATAã€ã³ããŒãã®ããã«ãã_ symbolãããã__imp__symbolããžã®é«åºŠãªãªã³ã¯ãå®è¡ããŸãã
ã€ã³ããŒãã©ã€ãã©ãªãæ§ç¯ãããšãã«å¿ èŠãªãµã³ã¯ã·ã³ãã«ãäœæããŸã
ãããã®DATAãšã¯ã¹ããŒãã 泚ïŒãauto-importãæ¡åŒµåã䜿çšãããšãããã¹ãã衚瀺ãããŸã
æžã蟌ã¿å¯èœã«ããç»åãã¡ã€ã«ã®ã»ã¯ã·ã§ã³ã ããã¯PE-COFFã«æºæ ããŠããŸãã
Microsoftãçºè¡ãããã©ãŒãããä»æ§ã
'auto-import'ã䜿çšãããšãé垞㯠'æ£åžžã«æ©èœããŸã'-ããããããã衚瀺ãããå ŽåããããŸã
ã¡ãã»ãŒãžïŒ
ãå€æ°ãã¯èªåã€ã³ããŒãã§ããŸãããldã®ããã¥ã¡ã³ãããèªã¿ãã ãã
詳现ã«ã€ããŠã¯ãã-enable-auto-importããåç §ããŠãã ãããã
ãã®ã¡ãã»ãŒãžã¯ãäžéšã®ïŒãµãïŒåŒãæçµçã«ã«ãã£ãŠæå®ãããã¢ãã¬ã¹ã«ã¢ã¯ã»ã¹ãããšãã«çºçããŸãã
32ã€ã®å®æ°ã®åèšïŒWinXNUMXã€ã³ããŒãããŒãã«ã§ã¯XNUMXã€ãã䜿çšã§ããŸããïŒã ãããçºçããã€ã³ã¹ã¿ã³ã¹
DLLããã€ã³ããŒããããæ§é äœå€æ°ã®ã¡ã³ããŒãã£ãŒã«ããžã®ã¢ã¯ã»ã¹ãå«ãŸããå ŽåããããŸãã
ãŸããDLLããã€ã³ããŒããããé åå€æ°ãžã®å®æ°ã€ã³ããã¯ã¹ã䜿çšããŸãã ã©ãã§ã
ãã«ãã¯ãŒãå€æ°ïŒé åãæ§é äœãlong longãªã©ïŒããã®ãšã©ãŒç¶æ ãåŒãèµ·ããå¯èœæ§ããããŸãã
ãã ããåé¡ã®ãããšã¯ã¹ããŒããããå€æ°ã®æ£ç¢ºãªããŒã¿åã«é¢ä¿ãªããldã¯
åžžã«ãããæ€åºããèŠåãçºããŠçµäºããŸãã
ããŒã¿åã«é¢ä¿ãªãããã®åé¡ã«å¯ŸåŠããæ¹æ³ã¯ããã€ããããŸãã
ãšã¯ã¹ããŒããããå€æ°ïŒ
XNUMXã€ã®æ¹æ³ã¯ã-enable-runtime-pseudo-relocã¹ã€ããã䜿çšããããšã§ãã ããã¯ã®ã¿ã¹ã¯ãæ®ããŸã
ã©ã³ã¿ã€ã ç°å¢çšã«ã¯ã©ã€ã¢ã³ãã³ãŒãã®åç §ã調æŽããããããã®ã¡ãœããã¯æ©èœããŸã
ã©ã³ã¿ã€ã ç°å¢ããã®æ©èœããµããŒãããŠããå Žåã®ã¿ã
XNUMXçªç®ã®è§£æ±ºçã¯ããå®æ°ãã®XNUMXã€ãå€æ°ã«ããããšã§ããã€ãŸãã
ã³ã³ãã€ã«æã«äžæã§æé©åã§ããŸããã ã¢ã¬ã€ã®å ŽåãXNUMXã€ã®å¯èœæ§ããããŸãã
aïŒã€ã³ããã¯ã¹äœæè ïŒé åã®ã¢ãã¬ã¹ïŒãå€æ°ã«ããããŸãã¯bïŒãå®æ°ãã€ã³ããã¯ã¹ãäœæãã
å€æ°ã ãããã£ãŠïŒ
externã¿ã€ãextern_array [];
extern_array [1]->
{æ®çºæ§ã¿ã€ã* t = extern_array; t [1]}
or
externã¿ã€ãextern_array [];
extern_array [1]->
{volatile int t = 1; extern_array [t]}
æ§é äœïŒããã³ä»ã®ã»ãšãã©ã®ãã«ãã¯ãŒãããŒã¿åïŒã®å Žåãå¯äžã®ãªãã·ã§ã³ã¯
æ§é äœèªäœïŒãŸãã¯long longããŸãã¯...ïŒå€æ°ïŒ
extern æ§é äœ extern_struct;
extern_struct.field->
{volatile struct s * t =ïŒextern_struct; t->ãã£ãŒã«ã}
or
externlonglongextern_ll;
extern_ll->
{volatile long long * local_ll =ïŒextern_ll; * local_ll}
ãã®åé¡ã«å¯ŸåŠããXNUMXçªç®ã®æ¹æ³ã¯ããèªåã€ã³ããŒãããäžæ¢ããããšã§ãã
åé¡ã®ããã·ã³ãã«ãã__declspec(dllimport)ãã§ããŒã¯ããŸãã ãã ããå®éã«ã¯ã
DLLãæ§ç¯ããŠãããã©ããã瀺ãããã«ãã³ã³ãã€ã«æã®#definesã䜿çšããå¿ èŠããããŸãã
DLLã«ãªã³ã¯ããã¯ã©ã€ã¢ã³ãã³ãŒããæ§ç¯ããããŸãã¯åã«éçã«æ§ç¯/ãªã³ã¯ãã
å³æžé€šã 'çŽæ¥ã解決ããããŸããŸãªæ¹æ³ã®éã§éžæãè¡ãéã«
äžå®ã®ãªãã»ããã䌎ãã¢ãã¬ã¹ã®åé¡ã«ã€ããŠã¯ãäžè¬çãªå®éã®äœ¿çšæ³ãæ€èšããå¿ èŠããããŸãã
ãªãªãžãã«ïŒ
--foo.h
extern int arr [];
--foo.c
#include "foo.h"
void mainïŒint argcãchar ** argvïŒ{
printfïŒ "ïŒ d \ n"ãarr [1]ïŒ;
}
ãœãªã¥ãŒã·ã§ã³1ïŒ
--foo.h
extern int arr [];
--foo.c
#include "foo.h"
void mainïŒint argcãchar ** argvïŒ{
/ *ãã®åé¿çã¯win32ãšcygwinçšã§ãã ãæé©åãããªãã§ãã ãã* /
volatile int * parr = arr;
printfïŒ "ïŒ d \ n"ãparr [1]ïŒ;
}
ãœãªã¥ãŒã·ã§ã³2ïŒ
--foo.h
/ *泚ïŒèªåãšã¯ã¹ããŒããæ³å®ãããŠããŸãïŒ__declspecïŒdllexportïŒãªãïŒ* /
#ifïŒdefinedïŒ_WIN32ïŒ|| definedïŒ__ CYGWIN __ïŒïŒ&& \
ïŒïŒdefinedïŒFOO_BUILD_DLLïŒ|| definedïŒFOO_STATICïŒïŒ
#define FOO_IMPORT __declspecïŒdllimportïŒ
ïŒãã®ä»
#FOO_IMPORT ãå®çŸ©
#endif
extern FOO_IMPORT int arr [];
--foo.c
#include "foo.h"
void mainïŒint argcãchar ** argvïŒ{
printfïŒ "ïŒ d \ n"ãarr [1]ïŒ;
}
ãã®åé¡ãåé¿ããXNUMXçªç®ã®æ¹æ³ã¯ãã©ã€ãã©ãªãåã³ãŒãã£ã³ã°ããŠæ©èœã䜿çšããããšã§ãã
åé¡ã®ããå€æ°ã®ããŒã¿ã€ã³ã¿ãŒãã§ã€ã¹ã§ã¯ãªãã€ã³ã¿ãŒãã§ã€ã¹ïŒäŸïŒ set_fooïŒïŒ &
get_fooïŒïŒ ã¢ã¯ã»ãµé¢æ°ïŒã [ãã®ãªãã·ã§ã³ã¯i386PEã¿ãŒã²ããããŒãã«åºæã§ã
ãªã³ã«ãŒã®]
--èªåã€ã³ããŒããç¡å¹ã«ãã
DATAã®ã_symbolãããã__imp__symbolããžã®é«åºŠãªãªã³ã¯ãè©Šã¿ãªãã§ãã ãã
DLLããã€ã³ããŒãããŸãã [ãã®ãªãã·ã§ã³ã¯ãã®i386PEã¿ãŒã²ããããŒãã«åºæã§ãã
ãªã³ã«]
--enable-runtime-pseudo-relocãæå¹ã«ãã
ã³ãŒãã«--enable-auto-importã»ã¯ã·ã§ã³ã§èª¬æãããŠããåŒãå«ãŸããŠããå Žåãã€ãŸãã
ãŒã以å€ã®ãªãã»ããã§DLLããDATAãã€ã³ããŒããããšããã®ã¹ã€ããã¯æ¬¡ã®ãã¯ãã«ãäœæããŸãã
ã©ã³ã¿ã€ã ç°å¢ã§èª¿æŽã«äœ¿çšã§ãããã©ã³ã¿ã€ã ç䌌åé 眮ã
ã¯ã©ã€ã¢ã³ãã³ãŒãå ã®ãã®ãããªããŒã¿ãžã®åç §ã [ãã®ãªãã·ã§ã³ã¯i386PEã«åºæã§ã
ãªã³ã«ãŒã®ã¿ãŒã²ããããŒã]
--disable-runtime-pseudo-reloc
DLL ããã®ãŒã以å€ã®ãªãã»ãã DATA ã€ã³ããŒãã§ã¯ãç䌌åé 眮ãäœæããªãã§ãã ããã ããã¯
ããã©ã«ãã [ãã®ãªãã·ã§ã³ã¯ããªã³ã«ã® i386 PE ã¿ãŒã²ãã ããŒãã«åºæã§ã]
--enable-extra-pe-debug
èªåã€ã³ããŒãã·ã³ãã«ãµã³ã¯ã«é¢é£ããè¿œå ã®ãããã°æ å ±ã衚瀺ããŸãã [ãã®ãªãã·ã§ã³ã¯
ãªã³ã«ã®i386PEã¿ãŒã²ããããŒãã«åºæ]
--ã»ã¯ã·ã§ã³ã®é 眮
ã»ã¯ã·ã§ã³ã®é 眮ãèšå®ããŸãã ã¡ã¢ãªå ã®ã»ã¯ã·ã§ã³ã¯ãåžžã«æ¬¡ã®ã¢ãã¬ã¹ã§å§ãŸããŸã
ãã®æ°ã®åæ°ã§ãã ããã©ã«ãã¯0x1000ã§ãã [ãã®ãªãã·ã§ã³ã¯ã
ãªã³ã«ã®i386PEã¿ãŒã²ããããŒã]
- ã¹ã¿ã㯠ãªã¶ãŒã
- ã¹ã¿ã㯠ãªã¶ãŒã,ã³ããã
ãšããŠäœ¿çšããããã«äºçŽïŒããã³ãªãã·ã§ã³ã§ã³ãããïŒããã¡ã¢ãªã®ãã€ãæ°ãæå®ããŸã
ãã®ããã°ã©ã ã®ã¹ã¿ãã¯ã ããã©ã«ã㯠2Mb äºçŽã4K ã³ãããã§ãã [ãã®ãªãã·ã§ã³ã¯
ãªã³ã«ã®i386PEã¿ãŒã²ããããŒãã«åºæ]
-ãµãã·ã¹ãã which
-ãµãã·ã¹ãã which:äž»èŠãª
-ãµãã·ã¹ãã which:äž»èŠãª.ãã€ããŒ
ããã°ã©ã ãå®è¡ãããµãã·ã¹ãã ãæå®ããŸãã ã®æ³ç䟡å€
which ãnativeãããwindowsãããconsoleãããposixããããã³ãxboxãã§ãã ãªãã·ã§ã³ã§èšå®ã§ããŸã
ãµãã·ã¹ãã ããŒãžã§ã³ãã æ°å€ãåãå ¥ããããŸã whichã [ãã®ãªãã·ã§ã³
ãªã³ã«ã®i386PEã¿ãŒã²ããããŒãã«åºæã§ã]
68HC11ããã³68HC12ãªã³ã«ãŒã¯ãã¡ã¢ãªãã³ã¯ãå¶åŸ¡ããããã®ç¹å®ã®ãªãã·ã§ã³ããµããŒãããŸã
ãããã³ã°ãšãã©ã³ããªã³ã³ãŒãçæã®åãæ¿ãã
-ãã©ã³ããªã³ãªã
ãã®ãªãã·ã§ã³ã¯ããã©ã³ããªã³ã®çæãç¡å¹ã«ããŸãã ããã©ã«ãã§ã¯ããã©ã³ããªã³ã¯
ãjsrãåœä»€ã䜿çšããŠåŒã³åºãããfaré¢æ°ããšã«çæãããŸãïŒããã¯
faré¢æ°ãžã®ãã€ã³ã¿ãåããããšãã«çºçããŸãïŒã
--éè¡çªå£ å
ãã®ãªãã·ã§ã³ã¯ããªã³ã«ãŒã«ã¡ã¢ãªé åã®ååã瀺ããŸãã MEMORY
ã¡ã¢ãªãã³ã¯ãŠã£ã³ããŠã説æããä»æ§ã ãã®ãããªå°åã®å®çŸ©ã¯
次ã«ããªã³ã«ãã¡ã¢ãªãŠã£ã³ããŠå ã®ããŒãžã³ã°ãšã¢ãã¬ã¹ãèšç®ããããã«äœ¿çšããŸãã
ENVIRONMENT
ã®åäœãå€æŽã§ããŸã ld ç°å¢å€æ°ãGNUTARGETãã䜿çšããŠã
ãLDEMULATIONãããã³ãCOLLECT_NO_DEMANGLEãã
ãGNUTARGETãã¯ã䜿çšããªãå Žåã®å ¥åãã¡ã€ã«ãªããžã§ã¯ãã®åœ¢åŒã決å®ããŸã -b ïŒãŸãã¯ãã®å矩èª
- ãã©ãŒãããïŒã ãã®å€ã¯ãå ¥åãã©ãŒãããã®BFDåã®XNUMXã€ã§ããå¿ èŠããããŸãã ãªãå Žå
ç°å¢å ã®ãGNUTARGETãã ld ã¿ãŒã²ããã®èªç¶ãªåœ¢åŒã䜿çšããŸãã ãGNUTARGETãã®å Žå
ããããã©ã«ããã«èšå®ãããŠããå ŽåãBFDã¯ãã€ããªã調ã¹ãŠå ¥å圢åŒãæ€åºããããšããŸã
å ¥åãã¡ã€ã«; ãã®æ¹æ³ã¯æåããããšããããããŸãããããã«ãããããæœåšçãªãããŸããããããŸã
ãªããžã§ã¯ããã¡ã€ã«åœ¢åŒãæå®ããããã«äœ¿çšãããããžãã¯ãã³ããŒã
åæ§çã ãã ããåã·ã¹ãã ã§ã®BFDã®æ§ææé ã§ã¯ã
ãã®ã·ã¹ãã ã®åŸæ¥ã®åœ¢åŒãæ€çŽ¢ãªã¹ãã®æåã«ããããããããŸããã解決ãããŸã
æ £ç¿ã«è³æã
ãLDEMULATIONãã¯ãã䜿çšããªãå Žåã®ããã©ã«ãã®ãšãã¥ã¬ãŒã·ã§ã³ã決å®ããŸã -m ãªãã·ã§ã³ã ã¶Â·
ãšãã¥ã¬ãŒã·ã§ã³ã¯ããªã³ã«ãŒã®åäœã®ããŸããŸãªåŽé¢ãç¹ã«ããã©ã«ãã®ãªã³ã«ãŒã«åœ±é¿ãäžããå¯èœæ§ããããŸã
èæ¬ã 䜿çšå¯èœãªãšãã¥ã¬ãŒã·ã§ã³ãäžèŠ§è¡šç€ºã§ããŸãã -詳现 or -V ãªãã·ã§ã³ã ã®å Žå
-m ãªãã·ã§ã³ã䜿çšãããŠãããããLDEMULATIONãç°å¢å€æ°ãå®çŸ©ãããŠããªãå Žåã
ããã©ã«ãã®ãšãã¥ã¬ãŒã·ã§ã³ã¯ããªã³ã«ãã©ã®ããã«æ§æããããã«ãã£ãŠç°ãªããŸãã
éåžžããªã³ã«ã¯ããã©ã«ãã§ã·ã³ãã«ã®ããã³ã°ãªã³ã°ãè¡ããŸãã ãã ãã
ãCOLLECT_NO_DEMANGLEããç°å¢ã«èšå®ãããŠããå Žåãããã©ã«ãã§ããã³ã°ãªã³ã°ããªãããã«ãªããŸã
ã·ã³ãã«ã ãã®ç°å¢å€æ°ã¯ããgccããªã³ã«ãŒã«ãã£ãŠåæ§ã®æ¹æ³ã§äœ¿çšãããŸã
ã©ãããŒããã°ã©ã ã ããã©ã«ãã¯ã -ããã³ã°ã« & -ããã³ã°ã«ãªã
ãªãã·ã§ã³ã
onworks.net ãµãŒãã¹ã䜿çšããŠãªã³ã©ã€ã³ã§ m68hc11-ld ã䜿çšãã