objcopy [-F bfdname|--target=bfdname] [-I bfdname|--input-target=bfdname] [-O bfdname|--output-target=bfdname] [-B bfdarch|--binary-architecture=bfdarch] [-S|--strip-all] [-g|--strip-debug] [-K symbolname|--keep-symbol=symbolname] [-N symbolname|--strip-symbol=symbolname] [--strip-unneeded-symbol=symbolname] [-G symbolname|--keep-global-symbol=symbolname] [-L symbolname|--localize-symbol=symbolname] [-W symbolname|--weaken-symbol=symbolname] [-w|--wildcard] [-x|--discard-all] [-X|--discard-locals] [-b byte|--byte=byte] [-i interleave|--interleave=interleave] [-j sectionname|--only-section=sectionname] [-R sectionname|--remove-section=sectionname] [-p|--preserve-dates] [--debugging] [--gap-fill=val] [--pad-to=address] [--set-start=val] [--adjust-start=incr] [--change-addresses=incr] [--change-section-address section{=,+,-}val] [--change-section-lma section{=,+,-}val] [--change-section-vma section{=,+,-}val] [--change-warnings] [--no-change-warnings] [--set-section-flags section=flags] [--add-section sectionname=filename] [--rename-section oldname=newname[,flags]] [--change-leading-char] [--remove-leading-char] [--srec-len=ival] [--srec-forceS3] [--redefine-sym old=new] [--redefine-syms=filename] [--weaken] [--keep-symbols=filename] [--strip-symbols=filename] [--strip-unneeded-symbols=filename] [--keep-global-symbols=filename] [--localize-symbols=filename] [--weaken-symbols=filename] [--alt-machine-code=index] [--prefix-symbols=string] [--prefix-sections=string] [--prefix-alloc-sections=string] [--add-gnu-debuglink=path-to-file] [--only-keep-debug] [--writable-text] [--readonly-text] [--pure] [--impure] [-v|--verbose] [-V|--version] [--help] [--info] infile [outfile]
GNU objcopy
¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï¡¤¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ
¤òÊ̤Υե¡¥¤¥ë¤Ë¥³¥Ô¡¼¤·¤Þ¤¹¡¥objcopy
¤Ï¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤Î
ÆÉ¤ß½ñ¤¤ËGNU BFD¤ò»ÈÍѤ·¤Þ¤¹¡¥¥³¥Ô¡¼Àè¤Î¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë
¤Ë¡¤¥³¥Ô¡¼¸µ¤Î¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤È¤Ï°Û¤Ê¤ë¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç½ñ¤½Ð¤¹¤³¤È
¤¬²Äǽ¤Ç¤¹¡¥objcopy
¤ÎÀµ³Î¤Êưºî¤Ï¡¤¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤Ç
À©¸æ¤µ¤ì¤Þ¤¹¡¥objcopy
¤Ï¡¤´°Á´¤Ë¥ê¥ó¥¯¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤ò¡¤Æó
¤Ä¤Î½ñ¼°´Ö¤Ç¥³¥Ô¡¼²Äǽ¤Ç¤¢¤ë¤Ù¤¤À¤È¤¤¤¦¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡¥¤·¤«¤·¡¤
ºÆÇÛÃÖ²Äǽ¤Ê¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤òÆó¤Ä¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤Î´Ö¤Ç¥³¥Ô¡¼¤¹¤ë¤³
¤È¤Ï¡¤´üÂÔ¤·¤¿¤è¤¦¤Ë¤Ïưºî¤·¤Þ¤»¤ó¡¥
objcopy
¤Ï¡¤¤½¤ÎÊÑ´¹¤ò¹Ô¤¦¤¿¤á¤Ë°ì»þ¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¡¤¤½¤Î¸å¤Ç
¤½¤ì¤òºï½ü¤·¤Þ¤¹¡¥objcopy
¤Ï¡¤¤½¤Î¤¹¤Ù¤Æ¤ÎÊÑ´¹ºî¶È¤ÇBFD¤ò
»ÈÍѤ·¤Þ¤¹¡¥¤½¤ì¤Ï¡¤BFD¤Çµ½Ò¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤Ë¥¢¥¯
¥»¥¹¤¹¤ë¤Î¤Ç¡¤ÌÀ¼¨Åª¤ËÅÁ¤¨¤ë¤³¤È̵¤¯¡¤¤Û¤È¤ó¤É¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤òǧ¼±¤¹¤ë
¤³¤È¤¬²Äǽ¤Ç¤¹¡¥See BFD in Using LD.
objcopy
¤Ï¡¤‘srec’½ÐÎÏ¥¿¡¼¥²¥Ã¥È¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç¡¤
S-record¤òÀ¸À®¤¹¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹(Î㤨¤Ð¡¤-O
srec¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤)¡¥
objcopy
¤Ï¡¤‘binary’¤Î½ÐÎÏ¥¿¡¼¥²¥Ã¥È¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç¡¤À¸
¤Î¥Ð¥¤¥Ê¥ê¥Õ¥¡¥¤¥ë¤òÀ¸À®¤¹¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹(Î㤨¤Ð¡¤
-O binary¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤)¡¥objcopy
¤¬À¸¤Î¥Ð¥¤¥Ê¥ê
¥Õ¥¡¥¤¥ë¤òÀ¸À®¤¹¤ë¤È¤¡¤¤½¤ì¤ÏËܼÁŪ¤Ë¡¤ÆþÎÏ¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ
¤Î¥á¥â¥ê¥À¥ó¥×¤òÀ¸À®¤·¤Þ¤¹¡¥¤¹¤Ù¤Æ¤Î¥·¥ó¥Ü¥ë¤ÈºÆÇÛÃ֤ξðÊó¤Ïºï½ü¤µ¤ì¤Þ
¤¹¡¥¥á¥â¥ê¥À¥ó¥×¤Ï¡¤½ÐÎÏ¥Õ¥¡¥¤¥ë¤Ë¥³¥Ô¡¼¤µ¤ì¤ëºÇÄñ°Ì¤Î¥»¥¯¥·¥ç¥ó¤Î¥í¡¼
¥É¥¢¥É¥ì¥¹¤«¤é³«»Ï¤·¤Þ¤¹¡¥
S-record¤äÀ¸¤Î¥Ð¥¤¥Ê¥ê¥Õ¥¡¥¤¥ë¤òÀ¸À®¤¹¤ë¤È¤¡¤¥Ç¥Ð¥Ã¥°¾ðÊó¤ò´Þ¤à¥»¥¯¥·¥ç ¥ó¤òºï½ü¤¹¤ë¤¿¤á¡¤-S¤ò»ÈÍѤ¹¤ë¤ÈÊØÍø¤«¤â¤·¤ì¤Þ¤»¤ó¡¥¾ì¹ç¤Ë¤è¤Ã ¤Æ¤Ï¡¤¥Ð¥¤¥Ê¥ê¥Õ¥¡¥¤¥ë¤ËɬÍפΤʤ¤¾ðÊó¤ò´Þ¤à¥»¥¯¥·¥ç¥ó¤òºï½ü¤¹¤ë¤¿¤á¡¤ -R¤¬Ìò¤ËΩ¤Ä¤Ç¤·¤ç¤¦¡¥
Ãí°Õ—objcopy
¤Ï¡¤ÆþÎÏ¥Õ¥¡¥¤¥ë¤Î¥¨¥ó¥Ç¥£¥¢¥ó¤òÊѹ¹¤¹¤ë¤³¤È¤¬
¤Ç¤¤Þ¤»¤ó¡¥ÆþÎÏ¥Õ¥©¡¼¥Þ¥Ã¥È¤Ë¥¨¥ó¥Ç¥£¥¢¥ó¤¬¤¢¤ë¾ì¹ç¡¤(»ý¤¿¤Ê¤¤¥Õ¥©¡¼¥Þ¥Ã
¥È¤â¤¢¤ê¤Þ¤¹)¡¤objcopy
¤Ï¡¤ÆþÎÏ¥Õ¥¡¥¤¥ë¤òƱ¤¸¥¨¥ó¥Ç¥£¥¢¥ó¤ò»ý
¤Ä¡¤¤Þ¤¿¤Ï¥¨¥ó¥Ç¥£¥¢¥ó¤ò»ý¤¿¤Ê¤¤¥Õ¥©¡¼¥Þ¥Ã¥È¤Î¥Õ¥¡¥¤¥ë(Î㤨¤Ð
‘srec’)¤À¤±¤Ë¥³¥Ô¡¼¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡¥
infile
outfile
¤½¤ì¤¾¤ìÆþÎϤȽÐÎϤΥե¡¥¤¥ë¤Ç¤¹¡¥outfile¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¤
objcopy
¤Ï·ë²ÌŪ¤ËÇ˲õ¤µ¤ì¤ë°ì»þ¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¡¤
infile¤Ë̾Á°¤òÊѹ¹¤·¤Þ¤¹¡¥
-I bfdname
--input-target=bfdname
¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤ò¡¤¤½¤ì¤òƳ¤½Ð¤¹¤Î¤Ç¤Ï¤Ê¤¯¡¤ bfdname¤È¹Í¤¨¤Þ¤¹¡¥¾ÜºÙ¤Ï¡¤See Target Selection.
-O bfdname
--output-target=bfdname
½ÐÎÏ¥Õ¥¡¥¤¥ë¤ò¡¤¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤Î¥Õ¥©¡¼¥Þ¥Ã¥Èbfdname¤òÍѤ¤¤Æ ½ñ¤½Ð¤·¤Þ¤¹¡¥¾ÜºÙ¤Ï¡¤See Target Selection.
-F bfdname
--target=bfdname
Æþ½ÐÎÏξÊý¤Î¥Õ¥¡¥¤¥ë¤ËÂФ·¡¤¥ª¥Ö¥¸¥§¥¯¥È¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤È¤·¤Æ bfdname¤ò»ÈÍѤ·¤Þ¤¹¡¥¤¹¤Ê¤ï¤Á¡¤Ã±½ã¤Ë¸µ¥Õ¥¡¥¤¥ë¤«¤é¥³¥Ô¡¼Àè¤Î¥Õ¥¡ ¥¤¥ë¤Ë¡¤ÊÑ´¹¤»¤º¤Ë¥Ç¡¼¥¿¤òžÁ÷¤·¤Þ¤¹¡¥¾ÜºÙ¤Ï¡¤See Target Selection.
-B bfdarch
--binary-architecture=bfdarch
À¸¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë¤ò¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤ËÊÑ´¹¤¹¤ë¤È¤Ìò¤ËΩ¤Á¤Þ¤¹¡¥¤³¤Î ¾õ¶·¤Ç¤Ï¡¤½ÐÎÏÀè¤Î¥¢¡¼¥¥Æ¥¯¥Á¥ã¤Ïbfdarch¤ËÀßÄꤵ¤ì¤ë¤Ï¤º¤Ç¤¹¡¥Æþ ÎÏ¥Õ¥¡¥¤¥ë¤Ë´ûÃΤÎbfdarch¤¬¤¢¤ë¾ì¹ç¡¤¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵»ë¤µ¤ì¤Þ¤¹¡¥ ÊÑ´¹½èÍý¤ÇºîÀ®¤µ¤ì¤ëÆÃ¼ì¤Ê¥·¥ó¥Ü¥ë¤ò»²¾È¤¹¤ë¤³¤È¤Ç¡¤¤³¤Î¥Ð¥¤¥Ê¥ê¥Ç¡¼¥¿ ¤ò¥×¥í¥°¥é¥àÆâÉô¤Ç¥¢¥¯¥»¥¹¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡¥¤³¤ì¤é¤Î¥·¥ó¥Ü¥ë¤Ï¡¤ ‘_binary_objfile_start’¡¤‘_binary_objfile_end’¡¤ ¤½¤·¤Æ‘_binary_objfile_size’¤È¤¤¤¦Ì¾Á°¤Ç¤¹¡¥Î㤨¤Ð¡¤²èÁü¥Õ¥¡ ¥¤¥ë¤ò¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤ËÊÑ´¹¤·¤¿¸å¡¤¤³¤ì¤é¤Î¥·¥ó¥Ü¥ë¤ò»ÈÍѤ·¤Æ¥³¡¼ ¥ÉÆâ¤Ç¥¢¥¯¥»¥¹¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡¥
-j sectionname
--only-section=sectionname
»ØÌ¾¤µ¤ì¤¿¥»¥¯¥·¥ç¥ó¤Î¤ß¡¤ÆþÎÏ¥Õ¥¡¥¤¥ë¤«¤é½ÐÎÏ¥Õ¥¡¥¤¥ë¤Ø¥³¥Ô¡¼¤·¤Þ¤¹¡¥ ¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¤°ì²ó°Ê¾åÍ¿¤¨¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡¥¤³¤Î¥ª¥×¥·¥ç¥ó¤òÉÔŬÀÚ ¤Ë»ÈÍѤ¹¤ë¤È¡¤½ÐÎÏ¥Õ¥¡¥¤¥ë¤¬»ÈÍÑÉÔ²Äǽ¤Ë¤Ê¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡¥
-R sectionname
--remove-section=sectionname
»ØÌ¾¤µ¤ì¤Æ¤¤¤ë¡¤¤¢¤é¤æ¤ësectionname¥»¥¯¥·¥ç¥ó¤ò½ÐÎÏ¥Õ¥¡¥¤¥ë¤«¤éºï ½ü¤·¤Þ¤¹¡¥¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¤°ì²ó°Ê¾åÍ¿¤¨¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡¥¤³¤Î¥ª¥×¥·¥ç ¥ó¤òÉÔŬÀڤ˻ÈÍѤ¹¤ë¤È¡¤½ÐÎÏ¥Õ¥¡¥¤¥ë¤¬»ÈÍÑÉÔ²Äǽ¤Ë¤Ê¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯ ¤À¤µ¤¤¡¥
-S
--strip-all
ºÆÇÛÃ֤ξðÊó¤È¤È¥·¥ó¥Ü¥ë¤Î¾ðÊó¤ò¡¤¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤«¤é¥³¥Ô¡¼¤·¤Þ¤»¤ó¡¥
-g
--strip-debug
¥Ç¥Ð¥Ã¥°¤Î¥·¥ó¥Ü¥ë¤ä¥»¥¯¥·¥ç¥ó¤ò¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤«¤é¥³¥Ô¡¼¤·¤Þ¤»¤ó¡¥
--strip-unneeded
ºÆÇÛÃ֤νèÍý¤ËÉÔÍפʡ¤¤¹¤Ù¤Æ¤Î¥·¥ó¥Ü¥ë¤òºï½ü¤·¤Þ¤¹¡¥
-K symbolname
--keep-symbol=symbolname
¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤«¤é¥·¥ó¥Ü¥ësymbolname¤Î¤ß¥³¥Ô¡¼¤·¤Þ¤¹¡¥¤³¤Î¥ª¥×¥·¥ç ¥ó¤Ï¡¤°ì²ó°Ê¾åÍ¿¤¨¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡¥
-N symbolname
--strip-symbol=symbolname
¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤«¤é¥·¥ó¥Ü¥ësymbolname¤ò¥³¥Ô¡¼¤·¤Þ¤»¤ó¡¥¤³¤Î¥ª¥×¥·¥ç ¥ó¤Ï¡¤°ì²ó°Ê¾åÍ¿¤¨¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡¥
--strip-unneeded-symbol=symbolname
ºÆÇÛÃÖ¤ÇɬÍפǤʤ¤¸Â¤ê¡¤¥·¥ó¥Ü¥ësymbolname¤ò¡¤¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤«¤é ¥³¥Ô¡¼¤·¤Þ¤»¤ó¡¥¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¤°ì²ó°Ê¾åÍ¿¤¨¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡¥
-G symbolname
--keep-global-symbol=symbolname
¥°¥í¡¼¥Ð¥ë¤Êsymbolname¥·¥ó¥Ü¥ë¤Î¤ßÊÝ»ý¤·¤Þ¤¹¡¥¤¹¤Ù¤Æ¤Î¾¤Î¥·¥ó¥Ü ¥ë¤ò¤½¤ì¤é¤¬³°Éô¤«¤é¸«¤¨¤Ê¤¤¤è¤¦¤Ë¥Õ¥¡¥¤¥ë¥í¡¼¥«¥ë¤Ë¤·¤Þ¤¹¡¥¤³¤Î¥ª¥×¥·¥ç ¥ó¤Ï°ì²ó°Ê¾åÍ¿¤¨¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡¥
-L symbolname
--localize-symbol=symbolname
³°Éô¤«¤é¸«¤¨¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤¿¤á¡¤¥·¥ó¥Ü¥ësymbolname¤ò¥Õ¥¡¥¤¥ë¤Ç¥í¡¼ ¥«¥ë¤Ë¤·¤Þ¤¹¡¥¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¤°ì²ó°Ê¾åÍ¿¤¨¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡¥
-W symbolname
--weaken-symbol=symbolname
¥·¥ó¥Ü¥ësymbolname¤òweak¤Ë¤·¤Þ¤¹¡¥¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¤°ì²ó°Ê¾åÍ¿¤¨ ¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡¥
-w
--wildcard
¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤Ç»ÈÍѤ¹¤ë¤¿¤á¡¤symbolname¤Ç¤ÎÀµµ¬É½¸½¤ò µö²Ä¤·¤Þ¤¹¡¥µ¿ÌäÉä(?)¡¤¥¢¥¹¥¿¥ê¥¹¥¯(*)¡¤¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å(\)¡¤¤½¤·¤Æ³Ñ³ç ¸Ì([])¥ª¥Ú¥ì¡¼¥¿¤ò¡¤¥·¥ó¥Ü¥ë̾¤ÎǤ°Õ¤Î¾ì½ê¤Ë»ÈÍѤ¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡¥¥· ¥ó¥Ü¥ë̾¤ÎºÇ½é¤Îʸ»ú¤¬´¶Ã²Éä(!)¤Î¾ì¹ç¡¤¥·¥ó¥Ü¥ë¤ËÂФ¹¤ë¥¹¥¤¥Ã¥Á¤Î°ÕÌ£¤ò È¿ÂФˤ·¤Þ¤¹¡¥Î㤨¤Ð¡¤°Ê²¼¤ò¹Í¤¨¤Þ¤¹¡¥
-w -W !foo -W fo*
¤³¤ì¤Ç¡¤objcopy
¤Ï¡¤¥·¥ó¥Ü¥ë“foo”°Ê³°¤Î¡¤“fo”¤Ç»Ï¤Þ¤ë¤¹¤Ù
¤Æ¤Î¥·¥ó¥Ü¥ë¤òweak¤Ë¤·¤Þ¤¹¡¥
-x
--discard-all
¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤«¤é¥°¥í¡¼¥Ð¥ë¤Ç¤Ê¤¤¥·¥ó¥Ü¥ë¤ò¥³¥Ô¡¼¤·¤Þ¤»¤ó¡¥
-X
--discard-locals
¥³¥ó¥Ñ¥¤¥é¤¬À¸À®¤·¤¿¥í¡¼¥«¥ë¤Ê¥·¥ó¥Ü¥ë¤ò¥³¥Ô¡¼¤·¤Þ¤»¤ó¡¥(¤³¤ì¤é¤ÏÄ̾ ‘L’¤Þ¤¿¤Ï‘.’¤Ç¤Ï¤¸¤Þ¤ê¤Þ¤¹¡¥)
-b byte
--byte=byte
ÆþÎÏ¥Õ¥¡¥¤¥ë¤Îbyte¥Ð¥¤¥È¤´¤È¤Î¥Ð¥¤¥È¤Î¤ßÊÝ»ý¤·¤Þ¤¹(¥Ø¥Ã¥À¥Ç¡¼¥¿¤Ï
±Æ¶Á¤µ¤ì¤Þ¤»¤ó)¡¥byte¤Ï¡¤0¤«¤éinterleave-1¤Þ¤Ç¤ÎÈϰϤ¬²Äǽ
¤Ç¡¤interleave¤Ï¡¤-i¤ä--interleave¥ª¥×¥·¥ç¥ó¤Ç
Í¿¤¨¤é¤ì¤ë¡¤¤Þ¤¿¤Ï¥Ç¥Õ¥©¥ë¥È¤Î4¤Ë¤Ê¤ê¤Þ¤¹¡¥¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¤¥×¥í¥°¥é¥Þ
¥Ö¥ëROM¤Ë¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¤È¤ÊØÍø¤Ç¤¹¡¥¤½¤ì¤ÏÆÃ¤Ë¡¤srec
½Ð
ÎÏ¥¿¡¼¥²¥Ã¥È¤È¤È¤â¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡¥
-i interleave
--interleave=interleave
interleave¥Ð¥¤¥È¤´¤È¤Ë°ì¤Ä¤À¤±¥³¥Ô¡¼¤·¤Þ¤¹¡¥-b¤ä
--byte¥ª¥×¥·¥ç¥ó¤òÍѤ¤¤Æ¤½¤Î¥Ð¥¤¥È¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡¥¥Ç¥Õ¥©¥ë
¥È¤Ï4¤Ç¤¹¡¥objcopy
¤Ï¡¤-b¤ä--byte¤ò»ØÄꤷ¤Æ
¤¤¤Ê¤¤¾ì¹ç¡¤¤³¤Î¥ª¥×¥·¥ç¥ó¤ò̵»ë¤·¤Þ¤¹¡¥
-p
--preserve-dates
½ÐÎÏ¥Õ¥¡¥¤¥ë¤Î¥¢¥¯¥»¥¹¤ÈÊÔ½¸¤ÎÆüÉÕ¤òÆþÎÏ¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¤ËÀßÄꤷ¤Þ¤¹¡¥
--debugging
²Äǽ¤Ê¾ì¹ç¡¤¥Ç¥Ð¥Ã¥°¾ðÊó¤òÊÑ´¹¤·¤Þ¤¹¡¥ÆÃÄê¤Î¥Ç¥Ð¥Ã¥°¥Õ¥©¡¼¥Þ¥Ã¥È¤Î¤ß¥µ ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Æ¡¤¤½¤·¤Æ¡¤ÊÑ´¹½èÍý¤Ï»þ´Ö¤¬¤«¤«¤ë¤¿¤á¡¤¤³¤ì¤Ï¥Ç¥Õ¥©¥ë¥È ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡¥
--gap-fill val
val¤òÍѤ¤¤Æ¥»¥¯¥·¥ç¥ó´Ö¤Î¥®¥ã¥Ã¥×¤òÊä½¼¤·¤Þ¤¹¡¥¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥» ¥¯¥·¥ç¥ó¤Îload address (LMA)¤ËŬÍѤµ¤ì¤Þ¤¹¡¥¤½¤ì¤Ï¡¤lower address¤Ç¥»¥¯¥·¥ç¥ó¤ÎÂ礤µ¤òÁý²Ã¤·¡¤¤½¤·¤Æ¡¤val¤òÍѤ¤¤ÆºîÀ®¤µ¤ì ¤ë;ʬ¤Ê¶õ´Ö¤ÇÊä½¼¤¹¤ë¤³¤È¤Çưºî¤·¤Þ¤¹¡¥
--pad-to address
½ÐÎÏ¥Õ¥¡¥¤¥ë¤òload address address¤Þ¤Ç¥Ñ¥Ç¥£¥ó¥°¤·¤Þ¤¹¡¥¤³¤ì¤Ï¡¤ ºÇ¸å¤Î¥»¥¯¥·¥ç¥ó¤ÎÂ礤µ¤òÁý²Ã¤¹¤ë¤³¤È¤Çưºî¤·¤Þ¤¹¡¥Í¾Ê¬¤Ê¶õ´Ö¤Ï¡¤ --gap-fill¤Ç»ØÄꤵ¤ì¤¿ÃÍ(¥Ç¥Õ¥©¥ë¥È¤Ï¥¼¥í)¤ÇÊä½¼¤µ¤ì¤Þ¤¹¡¥
--set-start val
¿·¤·¤¤¥Õ¥¡¥¤¥ë¤Î³«»Ï¥¢¥É¥ì¥¹¤òval¤ËÀßÄꤷ¤Þ¤¹¡¥¤¹¤Ù¤Æ¤Î¥ª¥Ö¥¸¥§¥¯ ¥È¥Õ¥¡¥¤¥ë¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤¬¡¤³«»Ï¥¢¥É¥ì¥¹¤ÎÀßÄê¤ò¥µ¥Ý¡¼¥È¤¹¤ë¤ï¤±¤Ç¤Ï¤¢ ¤ê¤Þ¤»¤ó¡¥
--change-start incr
--adjust-start incr
³«»Ï¥¢¥É¥ì¥¹¤òincr¤ò²Ã¤¨¤ë¤³¤È¤ÇÊѹ¹¤·¤Þ¤¹¡¥¤¹¤Ù¤Æ¤Î¥ª¥Ö¥¸¥§¥¯¥È ¥Õ¥¡¥¤¥ë¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤¬¡¤³«»Ï¥¢¥É¥ì¥¹¤ÎÀßÄê¤ò¥µ¥Ý¡¼¥È¤¹¤ë¤ï¤±¤Ç¤Ï¤¢¤ê ¤Þ¤»¤ó¡¥
--change-addresses incr
--adjust-vma incr
³«»Ï¥¢¥É¥ì¥¹¤Î¤è¤¦¤Ë¡¤incr¤ò²Ã¤¨¤ë¤³¤È¤Ç¡¤VMA¤ÈLMA¥¢¥É¥ì¥¹¤òÊѹ¹ ¤·¤Þ¤¹¡¥¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤Ë¤è¤Ã¤Æ¤Ï¡¤¥»¥¯¥·¥ç¥ó¥¢¥É¥ì ¥¹¤òǤ°Õ¤ËÊѹ¹¤Ç¤¤Ê¤¤¤â¤Î¤â¤¢¤ê¤Þ¤¹¡¥¤³¤ì¤Ï¥»¥¯¥·¥ç¥ó¤òºÆÇÛÃÖ¤·¤Ê¤¤¤³ ¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡¥¥»¥¯¥·¥ç¥ó¤¬ÆÃÄê¤Î¥¢¥É¥ì¥¹¤Ë¥í¡¼¥É¤µ¤ì¤Æ¤¤¤ë¤³¤È ¤ò¥×¥í¥°¥é¥à¤¬´üÂÔ¤·¡¤¥»¥¯¥·¥ç¥ó¤¬°Û¤Ê¤ë¥¢¥É¥ì¥¹¤Ë¥í¡¼¥É¤µ¤ì¤ë¤è¤¦¤ËÊÑ ¹¹¤¹¤ë¤¿¤á¤Ë¡¤¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ÈÍѤµ¤ì¤¿¾ì¹ç¡¤¥×¥í¥°¥é¥à¤Ï¼ºÇÔ¤¹¤ë¤«¤â ¤·¤ì¤Þ¤»¤ó¡¥
--change-section-address section{=,+,-}val
--adjust-section-vma section{=,+,-}val
section¤Ç»ØÌ¾¤µ¤ì¤¿VMA¥¢¥É¥ì¥¹¤ÈLMA¥¢¥É¥ì¥¹¤ÎξÊý¤òÀßÄê¤Þ¤¿¤ÏÊѹ¹ ¤·¤Þ¤¹¡¥‘=’¤¬»ÈÍѤµ¤ì¤¿¾ì¹ç¡¤¥»¥¯¥·¥ç¥ó¤Î¥¢¥É¥ì¥¹¤Ï¡¤val ¤Ë ÀßÄꤵ¤ì¤Þ¤¹¡¥¤½¤ì°Ê³°¤Î¾ì¹ç¡¤val¤Ï¡¤¥»¥¯¥·¥ç¥ó¥¢¥É¥ì¥¹¤Ë²Ã¤¨¤é¤ì ¤ë¡¤¤Þ¤¿¤Ï¤½¤ì¤«¤é°ú¤«¤ì¤Þ¤¹¡¥¾åµ¤Î--change-addresses°Ê²¼¤Î¥³ ¥á¥ó¥È¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡¥ÆþÎÏ¥Õ¥¡¥¤¥ë¤Ësection¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¡¤ --no-change-warnings¤¬»ÈÍѤµ¤ì¤Æ¤¤¤Ê¤¤¸Â¤ê¡¤·Ù¹ð¤¬È¯¤»¤é¤ì¤Þ¤¹¡¥
--change-section-lma section{=,+,-}val
»ØÌ¾¤µ¤ì¤¿section¤ÎLMA¥¢¥É¥ì¥¹¤òÀßÄê¤Þ¤¿¤ÏÊѹ¹¤·¤Þ¤¹¡¥LMA¥¢¥É¥ì¥¹ ¤Ï¡¤¥×¥í¥°¥é¥à¥í¡¼¥É»þ¤Ë¥»¥¯¥·¥ç¥ó¤¬¥á¥â¥ê¤Ë¥í¡¼¥É¤µ¤ì¤ë¥¢¥É¥ì¥¹¤Ç¤¹¡¥ Ä̾盧¤ì¤ÏVMA¤ÈƱ¤¸¤Ç¡¤¤½¤ì¤Ï¡¤¥×¥í¥°¥é¥à¤Î¼Â¹Ô»þ¤Î¥»¥¯¥·¥ç¥ó¤Î¥¢¥É¥ì¥¹ ¤Ç¤¹¤¬¡¤¥·¥¹¥Æ¥à¤Ë¤è¤Ã¤Æ¤Ï¡¤ÆÃ¤Ë¥×¥í¥°¥é¥à¤¬ROM¤ËÊݸ¤µ¤ì¤ë¤â¤Î¤Ç¤Ï¡¤Æó ¤Ä¤¬°Û¤Ê¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡¥‘=’¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¾ì¹ç¡¤¥»¥¯¥·¥ç¥ó¤Î ¥¢¥É¥ì¥¹¤Ï¡¤val¤ËÀßÄꤵ¤ì¤Þ¤¹¡¥¤½¤ì°Ê³°¤Î¾ì¹ç¡¤val¤Ï¥»¥¯¥·¥ç ¥ó¥¢¥É¥ì¥¹¤Ë²Ã¤¨¤é¤ì¤ë¡¤¤Þ¤¿¤Ï¤½¤ì¤«¤é°ú¤«¤ì¤Þ¤¹¡¥¾åµ¤Î --change-addresses°Ê²¼¤Î¥³¥á¥ó¥È¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡¥ section¤¬ÆþÎÏ¥Õ¥¡¥¤¥ë¤Ë¸ºß¤·¤Ê¤¤¾ì¹ç¡¤ --no-change-warnings¤¬»ÈÍѤµ¤ì¤Æ¤¤¤Ê¤¤¸Â¤ê¡¤·Ù¹ð¤¬È¯¤»¤é¤ì¤Þ¤¹¡¥
--change-section-vma section{=,+,-}val
»ØÌ¾¤µ¤ì¤¿section¤ÎVMA¥¢¥É¥ì¥¹¤òÀßÄê¤Þ¤¿¤ÏÊѹ¹¤·¤Þ¤¹¡¥VMA¥¢¥É¥ì¥¹ ¤Ï¡¤¥×¥í¥°¥é¥à¤Î¼Â¹Ô¤ò³«»Ï¤·¤¿¤È¤¤Ë¥»¥¯¥·¥ç¥ó¤¬°ÌÃÖ¤¹¤ë¥¢¥É¥ì¥¹¤Ç¤¹¡¥ Ä̾盧¤ì¤ÏLMA¤ÈƱ¤¸¤Ç¡¤¤½¤ì¤Ï¡¤¥»¥¯¥·¥ç¥ó¤¬¥á¥â¥ê¤Ë¥í¡¼¥É¤µ¤ì¤ë¥¢¥É¥ì¥¹ ¤Ç¤¹¤¬¡¤¥·¥¹¥Æ¥à¤Ë¤è¤Ã¤Æ¤Ï¡¤ÆÃ¤Ë¥×¥í¥°¥é¥à¤¬ROM¤ËÊݸ¤µ¤ì¤ë¤â¤Î¤Ç¤Ï¡¤Æó ¤Ä¤Î¥¢¥É¥ì¥¹¤¬°Û¤Ê¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡¥‘=’¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¾ì¹ç¡¤¥» ¥¯¥·¥ç¥ó¤Î¥¢¥É¥ì¥¹¤Ï¡¤val¤ËÀßÄꤵ¤ì¤Þ¤¹¡¥¤½¤ì°Ê³°¤Î¾ì¹ç¡¤ val¤Ï¥»¥¯¥·¥ç¥ó¥¢¥É¥ì¥¹¤Ë²Ã¤¨¤é¤ì¤ë¡¤¤Þ¤¿¤Ï¤½¤ì¤«¤é°ú¤«¤ì¤Þ¤¹¡¥¾å µ¤Î--change-addresses°Ê²¼¤Î¥³¥á¥ó¥È¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡¥ section¤¬ÆþÎÏ¥Õ¥¡¥¤¥ë¤Ë¸ºß¤·¤Ê¤¤¾ì¹ç¡¤ --no-change-warnings¤¬»ÈÍѤµ¤ì¤Æ¤¤¤Ê¤¤¸Â¤ê¡¤·Ù¹ð¤¬È¯¤»¤é¤ì¤Þ¤¹¡¥
--change-warnings
--adjust-warnings
--change-section-address¤ä--change-section-lma¤ä --change-section-vma¤¬»ÈÍѤµ¤ì¤Æ¤¤¤Æ¡¤»ØÌ¾¤µ¤ì¤¿¥»¥¯¥·¥ç¥ó¤¬Â¸ ºß¤·¤Ê¤¤¾ì¹ç¡¤·Ù¹ð¤òȯ¤·¤Þ¤¹¡¥¤³¤ì¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¤¹¡¥
--no-change-warnings
--no-adjust-warnings
--change-section-address¤ä--change-section-lma¤ä --change-section-vma¤¬»ÈÍѤµ¤ì¤Æ¤¤¤Æ¡¤»ØÌ¾¤µ¤ì¤¿¥»¥¯¥·¥ç¥ó¤¬Â¸ ºß¤·¤Ê¤¤¾ì¹ç¤Ç¤â·Ù¹ð¤òȯ¤·¤Þ¤»¤ó¡¥
--set-section-flags section=flags
»ØÌ¾¤·¤¿¥»¥¯¥·¥ç¥ó¤Î¥Õ¥é¥°¤òÀßÄꤷ¤Þ¤¹¡¥flags°ú¿ô¤Ï¡¤¥«¥ó¥Þ¤Çʬ¤± ¤é¤ì¤¿¥Õ¥é¥°Ì¾¤Îʸ»úÎó¤Ç¤¹¡¥Ç§¼±¤µ¤ì¤ë̾Á°¤Ï¡¤‘alloc’¡¤ ‘contents’¡¤‘load’¡¤‘noload’¡¤‘readonly’¡¤ ‘code’¡¤‘data’¡¤‘rom’¡¤‘share’¡¤¤½¤·¤Æ‘debug’ ¤Ç¤¹¡¥‘contents’¥Õ¥é¥°¤òÆâÍÆ¤Î¤Ê¤¤¥»¥¯¥·¥ç¥ó¤ËÂФ·ÀßÄê²Äǽ¤Ç¤¹¤¬¡¤ ÆâÍÆ¤Î¤¢¤ë¥»¥¯¥·¥ç¥ó¤Î‘contents’¥Õ¥é¥°¤È¤·¤Æ¤Î°ÕÌ£¤¬¤¢¤ê¤Þ¤»¤ó— ¤½¤ÎÂå¤ï¤ê¤Ë¥»¥¯¥·¥ç¥ó¤òºï½ü¤·¤Þ¤¹¡¥¤¹¤Ù¤Æ¤Î¥Õ¥é¥°¤¬¤¹¤Ù¤Æ¤Î¥ª¥Ö¥¸¥§¥¯ ¥È¥Õ¥¡¥¤¥ë¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤Ë°ÕÌ£¤¬¤¢¤ë¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡¥
--add-section sectionname=filename
¥Õ¥¡¥¤¥ë¤ò¥³¥Ô¡¼¤·¤Æ¤¤¤ë´Ö¤Ë¡¤»ØÌ¾¤µ¤ì¤¿sectionname¤Î¿·¤·¤¤¥»¥¯¥·¥ç ¥ó¤òÄɲä·¤Þ¤¹¡¥¿·¤·¤¤¥»¥¯¥·¥ç¥ó¤ÎÆâÍÆ¤Ï¥Õ¥¡¥¤¥ëfilename¤«¤é¤â¤¿ ¤é¤µ¤ì¤Þ¤¹¡¥¥»¥¯¥·¥ç¥ó¤ÎÂ礤µ¤Ï¡¤¥Õ¥¡¥¤¥ë¤ÎÂ礤µ¤Ë¤Ê¤ê¤Þ¤¹¡¥¤³¤Î¥ª¥× ¥·¥ç¥ó¤Ï¡¤Ç¤°Õ¤Î̾Á°¤ò»ý¤Ä¥»¥¯¥·¥ç¥ó¤ò¥µ¥Ý¡¼¥È²Äǽ¤Ê¥Õ¥¡¥¤¥ë¤Î¥Õ¥©¡¼¥Þ¥Ã ¥È¤Ç¤Î¤ßưºî¤·¤Þ¤¹¡¥
--rename-section oldname=newname[,flags]
¥»¥¯¥·¥ç¥ó¤Î̾Á°¤òoldname¤«¤énewname¤ËÊѹ¹¤·¡¤¥ª¥×¥·¥ç¥ó¤Ç ¥»¥¯¥·¥ç¥ó¤Î¥Õ¥é¥°¤òflags¤Ë¡¤½èÍýÃæ¤ËÊѹ¹¤·¤Þ¤¹¡¥Ì¾Á°¤ÎÊѹ¹¤ò¼Â¹Ô ¤¹¤ë¤¿¤á¤Ë¥ê¥ó¥«¥¹¥¯¥ê¥×¥È¤ò»ÈÍѤ¹¤ë¤È¡¤¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤È¤·¤Æ½ÐÎÏ ¤¬ÍÞÀ©¤µ¤ì¥ê¥ó¥¯¤µ¤ì¤¿¼Â¹Ô·Á¼°¤Ë¤Ï¤Ê¤é¤Ê¤¤¤Î¤Ç¡¤¤³¤ì¤Ë¤ÏÍøÅÀ¤¬¤¢¤ê¤Þ¤¹¡¥
¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¤‘.data’¤¤¤¦Ì¾Á°¤Î¥»¥¯¥·¥ç¥ó¤ò¾ï¤ËºîÀ®¤¹¤ë¤Î¤Ç¡¤ ÆþÎÏ¥Õ¥©¡¼¥Þ¥Ã¥È¤¬¥Ð¥¤¥Ê¥ê¤Î¤È¤¡¤ÆÃ¤ËÌò¤ËΩ¤Á¤Þ¤¹¡¥Î㤨¤Ð¡¤¥Ð¥¤¥Ê¥ê¥Ç¡¼ ¥¿¤ò´Þ¤ó¤Ç¤¤¤ë‘.rodata’¤¤¤¦Ì¾Á°¤Î¥»¥¯¥·¥ç¥ó¤òºîÀ®¤·¤¿¤¤¾ì¹ç¡¤¤½¤ì ¤òãÀ®¤¹¤ë¤¿¤á¤Ë°Ê²¼¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¤ò»ÈÍѤ¹¤ë¤³¤È¤¬²Äǽ¤Ç¤·¤ç¤¦¡¥
objcopy -I binary -O <output_format> -B <architecture> \ --rename-section .data=.rodata,alloc,load,readonly,data,contents \ <input_binary_file> <output_object_file>
--change-leading-char
¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤Ë¤Ï¡¤¥·¥ó¥Ü¥ë¤Î³«»Ï»þ¤ËÆÃÊ̤Êʸ»ú¤ò
»ÈÍѤ¹¤ë¤â¤Î¤â¤¢¤ê¤Þ¤¹¡¥¤½¤Î¤è¤¦¤Êʸ»ú¤ÇºÇ¤â¤è¤¯¤¢¤ë¤Î¤Ï¥¢¥ó¥À¡¼¥¹¥³¥¢
¤Ç¡¤¤½¤ì¤Ï¥³¥ó¥Ñ¥¤¥é¤¬¤¹¤Ù¤Æ¤Î¥·¥ó¥Ü¥ë¤ÎÁ°¤Ë¤è¤¯Äɲ乤ë¤â¤Î¤Ç¤¹¡¥¤³¤Î
¥ª¥×¥·¥ç¥ó¤Ï¡¤objcopy
¤Ë¡¤¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤ò
ÊÑ´¹¤·¤Æ¤¤¤ë´Ö¤Ë¤¹¤Ù¤Æ¤Î¥·¥ó¥Ü¥ë¤ËÁ°ÃÖ¤µ¤ì¤ëʸ»ú¤òÊѹ¹¤¹¤ë¤è¤¦ÅÁ¤¨¤Þ¤¹¡¥
¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤¬Æ±¤¸Á°ÃÖʸ»ú¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¡¤¤³
¤Î¥ª¥×¥·¥ç¥ó¤Ï¸ú²Ì¤¬¤¢¤ê¤Þ¤»¤ó¡¥¤½¤ì°Ê³°¤Î¾ì¹ç¡¤¤½¤ì¤ÏŬÀڤˡ¤Ê¸»ú¤ò²Ã
¤¨¤¿¤ê¡¤Ê¸»ú¤òºï½ü¤·¤¿¤ê¡¤Ê¸»ú¤òÊѹ¹¤·¤¿¤ê¤·¤Þ¤¹¡¥
--remove-leading-char
¥°¥í¡¼¥Ð¥ë¥·¥ó¥Ü¥ë¤ÎºÇ½é¤Îʸ»ú¤¬¡¤¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç »ÈÍѤµ¤ì¤Æ¤¤¤ë¥·¥ó¥Ü¥ë¤ËÁ°ÃÖ¤µ¤ì¤ëÆÃ¼ì¤Êʸ»ú¤Î¾ì¹ç¡¤¤½¤Îʸ»ú¤òºï½ü¤·¤Þ ¤¹¡¥¤½¤Î¤è¤¦¤Êʸ»ú¤ÇºÇ¤â¤è¤¯¤¢¤ë¤Î¤Ï¥¢¥ó¥À¡¼¥¹¥³¥¢¤Ç¤¹¡¥¤³¤Î¥ª¥×¥·¥ç¥ó ¤Ï¡¤¤¹¤Ù¤Æ¤Î¥°¥í¡¼¥Ð¥ë¥·¥ó¥Ü¥ë¤«¤éÁ°ÃÖ¤µ¤ì¤ë¥¢¥ó¥À¡¼¥¹¥³¥¢¤òºï½ü¤·¤Þ¤¹¡¥ ¥·¥ó¥Ü¥ë̾¤ËÂФ·¤Æ°Û¤Ê¤ëµ¬Â§¤ò»ý¤Ä¡¤°Û¤Ê¤ë¥Õ¥¡¥¤¥ë¥Õ¥©¡¼¥Þ¥Ã¥È¤Î¥ª¥Ö¥¸¥§ ¥¯¥ÈƱ»Î¤ò¥ê¥ó¥¯¤·¤¿¤¤¾ì¹ç¡¤¤³¤ì¤ÏÌò¤ËΩ¤Ä¤Ï¤º¤Ç¤¹¡¥¤³¤ì¤Ï --change-leading-char¤È¤Ï°Û¤Ê¤ê¡¤½ÐÎÏ¥Õ¥¡¥¤¥ë¤Î¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡ ¥¤¥ë¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤Ë°Í¸¤»¤º¡¤¤½¤ì¤ÏŬÀڤʤȤ¤Ï¾ï¤Ë¥·¥ó¥Ü¥ë̾¤òÊѹ¹¤· ¤Þ¤¹¡¥
--srec-len=ival
srec½ÐÎϤǤΤ߰ÕÌ£¤¬¤¢¤ê¤Þ¤¹¡¥À¸À®¤µ¤ì¤Æ¤¤¤ëSrecord¤ÎºÇÂçŤò ival¤ËÀßÄꤷ¤Þ¤¹¡¥¤³¤ÎŤµ¤Ï¡¤Î¾Êý¤Î¥¢¥É¥ì¥¹¡¤¥Ç¡¼¥¿¡¤¤½¤·¤Æcrc ¥Õ¥£¡¼¥ë¥É¤ò¥«¥Ð¡¼¤·¤Þ¤¹¡¥
--srec-forceS3
srec½ÐÎϤǤΤ߰ÕÌ£¤¬¤¢¤ê¤Þ¤¹¡¥S1/S2¥ì¥³¡¼¥É¤ÎÀ¸À®¤òÈò¤±¡¤S3¤Î¤ß¤Î¥ì¥³¡¼ ¥É¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤òºîÀ®¤·¤Þ¤¹¡¥
--redefine-sym old=new
¥·¥ó¥Ü¥ë̾¤òold¤«¤énew¤ËÊѹ¹¤·¤Þ¤¹¡¥¥½¡¼¥¹¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤Æó ¤Ä¤Î¤â¤Î¤ò°ì½ï¤Ë¥ê¥ó¥¯¤·¤è¤¦¤È¤·¡¤Ì¾Á°¤Î¾×ÆÍ¤¬¤¢¤ë¤È¤ÊØÍø¤Ç¤¹¡¥
--redefine-syms=filename
¥Õ¥¡¥¤¥ëfilename¤Ë¥ê¥¹¥È¥¢¥Ã¥×¤µ¤ì¤Æ¤¤¤ë¤½¤ì¤¾¤ì¤Î¥·¥ó¥Ü¥ëÂÐ "old new"¤Ë¡¤--redefine-sym¤òŬÍѤ·¤Þ¤¹¡¥ filename¤Ïñ½ã¤Ê¥Õ¥é¥Ã¥È¥Õ¥¡¥¤¥ë¤Ç¡¤°ì¹Ô¤´¤È¤Ë°ì¤Ä¤Î¥·¥ó¥Ü¥ë¤ÎÁÈ ¤ò½ñ¤¤Þ¤¹¡¥¹Ô¥³¥á¥ó¥È¤Ï¥Ï¥Ã¥·¥åʸ»ú(#)¤Ç»Ï¤á¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡¥¤³¤Î¥ª¥× ¥·¥ç¥ó¤Ï¡¤°ì²ó°Ê¾åÍ¿¤¨¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡¥
--weaken
¥Õ¥¡¥¤¥ë¤Î¤¹¤Ù¤Æ¤Î¥°¥í¡¼¥Ð¥ë¥·¥ó¥Ü¥ë¤òweak¤Ë¤·¤Þ¤¹¡¥¥ê¥ó¥«¤ËÂФ· -R¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¤¤¤ë¾¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ËÂФ·¤Æ¥ê¥ó¥¯¤¹¤ë¥ª ¥Ö¥¸¥§¥¯¥È¤ò¹½ÃÛ¤¹¤ë¤È¤¡¤¤³¤ì¤ÏÊØÍø¤Ç¤¹¡¥¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¤weak¤Ê¥·¥ó ¥Ü¥ë¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤Æ¤¤¤ë¤È¤¤À¤±¸ú²Ì¤¬ ¤¢¤ê¤Þ¤¹¡¥
--keep-symbols=filename
--keep-symbol¥ª¥×¥·¥ç¥ó¤ò¡¤¥Õ¥¡¥¤¥ëfilename¤Ë¥ê¥¹¥È¥¢¥Ã ¥×¤µ¤ì¤Æ¤¤¤ë¤½¤ì¤¾¤ì¤Î¥·¥ó¥Ü¥ë¤ËŬÍѤ·¤Þ¤¹¡¥filename¤Ïñ¤Ê¤ë¥Õ¥é¥Ã ¥È¤Ê¥Õ¥¡¥¤¥ë¤Ç¡¤°ì¹Ô¤Ë°ì¤Ä¤Î¥·¥ó¥Ü¥ë̾¤¬¤¢¤ê¤Þ¤¹¡¥¹Ô¤Î¥³¥á¥ó¥È¤Ï¥Ï¥Ã¥·¥å ʸ»ú(#)¤Ç»Ï¤á¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡¥¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï°ì²ó°Ê¾åÍ¿¤¨¤Æ¤â¤«¤Þ¤¤¤Þ ¤»¤ó¡¥
--strip-symbols=filename
--strip-symbol¥ª¥×¥·¥ç¥ó¤ò¡¤¥Õ¥¡¥¤¥ëfilename¤Ë¥ê¥¹¥È¥¢¥Ã ¥×¤µ¤ì¤Æ¤¤¤ë¤½¤ì¤¾¤ì¤Î¥·¥ó¥Ü¥ë¤ËŬÍѤ·¤Þ¤¹¡¥filename¤Ïñ¤Ê¤ë¥Õ¥é¥Ã ¥È¤Ê¥Õ¥¡¥¤¥ë¤Ç¡¤°ì¹Ô¤Ë°ì¤Ä¤Î¥·¥ó¥Ü¥ë̾¤¬¤¢¤ê¤Þ¤¹¡¥¹Ô¤Î¥³¥á¥ó¥È¤Ï¥Ï¥Ã¥·¥å ʸ»ú(#)¤Ç»Ï¤á¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡¥¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï°ì²ó°Ê¾åÍ¿¤¨¤Æ¤â¤«¤Þ¤¤¤Þ ¤»¤ó¡¥
--strip-unneeded-symbols=filename
¥Õ¥¡¥¤¥ëfilename¤Ë¥ê¥¹¥È¥¢¥Ã¥×¤µ¤ì¤Æ¤¤¤ë¤½¤ì¤¾¤ì¤Î¥·¥ó¥Ü¥ë¤Ë¡¤¤Ë --strip-unneeded-symbol¤òŬÍѤ·¤Þ¤¹¡¥filename¤Ïñ½ã¤Ê¥Õ ¥é¥Ã¥È¥Õ¥¡¥¤¥ë¤Ç¡¤°ì¹Ô¤´¤È¤Ë°ì¤Ä¤Î¥·¥ó¥Ü¥ë¤ò½ñ¤¤Þ¤¹¡¥¹Ô¥³¥á¥ó¥È¤Ï¥Ï¥Ã ¥·¥åʸ»ú(#)¤Ç»Ï¤á¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡¥¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï°ì²ó°Ê¾åÍ¿¤¨¤Æ¤â¤«¤Þ ¤¤¤Þ¤»¤ó¡¥
--keep-global-symbols=filename
--keep-global-symbol¥ª¥×¥·¥ç¥ó¤ò¡¤¥Õ¥¡¥¤¥ëfilename¤Ë¥ê¥¹ ¥È¥¢¥Ã¥×¤µ¤ì¤Æ¤¤¤ë¤½¤ì¤¾¤ì¤Î¥·¥ó¥Ü¥ë¤ËŬÍѤ·¤Þ¤¹¡¥filename¤Ïñ¤Ê ¤ë¥Õ¥é¥Ã¥È¤Ê¥Õ¥¡¥¤¥ë¤Ç¡¤°ì¹Ô¤Ë°ì¤Ä¤Î¥·¥ó¥Ü¥ë̾¤¬¤¢¤ê¤Þ¤¹¡¥¹Ô¤Î¥³¥á¥ó¥È ¤Ï¥Ï¥Ã¥·¥åʸ»ú(#)¤Ç»Ï¤á¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡¥¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï°ì²ó°Ê¾åÍ¿¤¨¤Æ ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡¥
--localize-symbols=filename
--localize-symbol¥ª¥×¥·¥ç¥ó¤ò¡¤¥Õ¥¡¥¤¥ëfilename¤Ë¥ê¥¹¥È ¥¢¥Ã¥×¤µ¤ì¤Æ¤¤¤ë¤½¤ì¤¾¤ì¤Î¥·¥ó¥Ü¥ë¤ËŬÍѤ·¤Þ¤¹¡¥filename¤Ïñ¤Ê¤ë ¥Õ¥é¥Ã¥È¤Ê¥Õ¥¡¥¤¥ë¤Ç¡¤°ì¹Ô¤Ë°ì¤Ä¤Î¥·¥ó¥Ü¥ë̾¤¬¤¢¤ê¤Þ¤¹¡¥¹Ô¤Î¥³¥á¥ó¥È¤Ï ¥Ï¥Ã¥·¥åʸ»ú(#)¤Ç»Ï¤á¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡¥¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï°ì²ó°Ê¾åÍ¿¤¨¤Æ¤â ¤«¤Þ¤¤¤Þ¤»¤ó¡¥
--weaken-symbols=filename
--weaken-symbol¥ª¥×¥·¥ç¥ó¤ò¡¤¥Õ¥¡¥¤¥ëfilename¤Ë¥ê¥¹¥È¥¢¥Ã ¥×¤µ¤ì¤Æ¤¤¤ë¤½¤ì¤¾¤ì¤Î¥·¥ó¥Ü¥ë¤ËŬÍѤ·¤Þ¤¹¡¥filename¤Ïñ¤Ê¤ë¥Õ¥é¥Ã ¥È¤Ê¥Õ¥¡¥¤¥ë¤Ç¡¤°ì¹Ô¤Ë°ì¤Ä¤Î¥·¥ó¥Ü¥ë̾¤¬¤¢¤ê¤Þ¤¹¡¥¹Ô¤Î¥³¥á¥ó¥È¤Ï¥Ï¥Ã¥·¥å ʸ»ú(#)¤Ç»Ï¤á¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡¥¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï°ì²ó°Ê¾åÍ¿¤¨¤Æ¤â¤«¤Þ¤¤¤Þ ¤»¤ó¡¥
--alt-machine-code=index
½ÐÎÏ¥¢¡¼¥¥Æ¥¯¥Á¥ã¤ËÂåÂØ¤Î¥Þ¥·¥ó¥³¡¼¥É¤¬¤¢¤ë¾ì¹ç¡¤¥Ç¥Õ¥©¥ë¥È¤Î¤â¤Î¤ÎÂå ¤ï¤ê¤ËindexÈÖÌܤΥ³¡¼¥É¤ò»ÈÍѤ·¤Þ¤¹¡¥¥Þ¥·¥ó¤Ë¸ø¼°¤Î¥³¡¼¥É¤¬³ä¤êÅö ¤Æ¤é¤ì¤Æ¤¤¤Æ¡¤¥Ä¡¼¥ë¥Á¥§¡¼¥ó¤¬¿·¤·¤¤¥³¡¼¥É¤ËŬÍѤ¹¤ë¤Î¤Ç¤¹¤¬¡¤Â¾¤Î¥¢¥× ¥ê¥±¡¼¥·¥ç¥ó¤Ï¤Þ¤À»ÈÍѤµ¤ì¤Æ¤¤¤ë¥ª¥ê¥¸¥Ê¥ë¤Î¥³¡¼¥É¤Ë°Í¸¤·¤Æ¤¤¤ë¾õ¶·¤Ç ¤Ï¡¤¤³¤ì¤ÏÌò¤ËΩ¤Á¤Þ¤¹¡¥
--writable-text
½ÐÎϥƥ¥¹¥È¤ò½ñ¤¹þ¤ß²Äǽ¤Ç°õ¤ò¤Ä¤±¤Þ¤¹¡¥¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¤¤¹¤Ù¤Æ¤Î¥ª ¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç°ÕÌ£¤¬¤¢¤ë¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡¥
--readonly-text
½ÐÎϥƥ¥¹¥È¤ò½ñ¤¹þ¤ß¶Ø»ß¤Ç°õ¤ò¤Ä¤±¤Þ¤¹¡¥¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¤¤¹¤Ù¤Æ¤Î¥ª ¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç°ÕÌ£¤¬¤¢¤ë¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡¥
--pure
½ÐÎÏ¥Õ¥¡¥¤¥ë¤òɬ¿Ü¥Ú¡¼¥¸¤È¤·¤Æ°õ¤ò¤Ä¤±¤Þ¤¹¡¥¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¤¤¹¤Ù¤Æ¤Î ¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç°ÕÌ£¤¬¤¢¤ë¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡¥
--impure
½ÐÎÏ¥Õ¥¡¥¤¥ë¤òimpure(ÉÔ½ã)¤È¤·¤Æ°õ¤ò¤Ä¤±¤Þ¤¹¡¥¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¤¤¹¤Ù¤Æ ¤Î¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç°ÕÌ£¤¬¤¢¤ë¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡¥
--prefix-symbols=string
½ÐÎÏ¥Õ¥¡¥¤¥ë¤Î¤¹¤Ù¤Æ¤Î¥·¥ó¥Ü¥ë¤Ëstring¤òÁ°ÃÖ¤·¤Þ¤¹¡¥
--prefix-sections=string
½ÐÎÏ¥Õ¥¡¥¤¥ë¤Î¤¹¤Ù¤Æ¤Î¥»¥¯¥·¥ç¥ó̾¤Ëstring¤òÁ°ÃÖ¤·¤Þ¤¹¡¥
--prefix-alloc-sections=string
½ÐÎÏ¥Õ¥¡¥¤¥ë¤Î¤¹¤Ù¤Æ¤Î¥¢¥í¥±¡¼¥È¤µ¤ì¤¿¥»¥¯¥·¥ç¥ó̾¤Ëstring¤òÁ°ÃÖ ¤·¤Þ¤¹¡¥
--add-gnu-debuglink=path-to-file
path-to-file¤Ø¤Î»²¾È¤ò´Þ¤ß¡¤¤½¤ì¤ò½ÐÎÏ¥Õ¥¡¥¤¥ë¤ËÄɲä¹ ¤ë¡¤.gnu_debuglink¥»¥¯¥·¥ç¥ó¤òºîÀ®¤·¤Þ¤¹¡¥
--only-keep-debug
--strip-debug¤Çstrip¤µ¤ì¤ë¥»¥¯¥·¥ç¥ó¤òºï½ü¤·¡¤¥Ç¥Ð¥Ã¥°¥»¥¯¥·¥ç ¥ó¤ò»Ä¤·¤Ê¤¬¤é¡¤¥Õ¥¡¥¤¥ë¤òstrip¤·¤Þ¤¹¡¥
¤³¤Î¥ª¥×¥·¥ç¥ó¤ÎÌÜŪ¤Ï¡¤Æó¤Ä¤ÎÉôʬ¤Î¼Â¹Ô·Á¼°¤òºîÀ®¤¹¤ë¤¿¤á¤Ë --add-gnu-debuglink¤òÁȤ߹ç¤ï¤»¤Ç»ÈÍѤ·¤Þ¤¹¡¥°ì¤Ä¤Ï¡¤RAM¤ÈÇÛÉÛ Êª¤Ë¥¹¥Ú¡¼¥¹¤¬Ìµ¤¤¾ì¹ç¤Îstrip¤µ¤ì¤¿¥Ð¥¤¥Ê¥ê¤Ç¡¤ÆóÈÖÌܤΥǥХå°¾ðÊó¥Õ¥¡ ¥¤¥ë¤Ï¡¤¥Ç¥Ð¥Ã¥°Ç½ÎϤ¬Í׵ᤵ¤ì¤ë¾ì¹ç¤À¤±É¬Íפˤʤê¤Þ¤¹¡¥¤³¤ì¤é¤Î¥Õ¥¡¥¤ ¥ë¤òºîÀ®¤¹¤ë¤¿¤á¤Î¿ä¾©¼ê½ç¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡¥
foo
¤È²¾Äꤷ¤Þ¤¹¡¥
objcopy
--only-keep-debug foo foo.dbg
¤Î¼Â¹Ô¡¥
objcopy --strip-debug foo
¤Î¼Â
¹Ô¡¥
objcopy
--add-gnu-debuglink=foo.dbg foo
¤ò¼Â¹Ô¡¥
Ãí°Õ - ¥Ç¥Ð¥Ã¥°¾ðÊó¥Õ¥¡¥¤¥ë¤ËÂФ¹¤ë³ÈÄ¥¤È¤·¤Æ¡¤.dbg
¤ÎÁªÂò¤ÏǤ°Õ
¤Ç¤¹¡¥¤Þ¤¿¡¤--only-keep-debug
¤ÎÃʳ¬¤Ï¥ª¥×¥·¥ç¥ó¤Ç¤¹¡¥Âå¤ï¤ê¤Ë°Ê
²¼¤Î¤è¤¦¤Ë¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡¥
foo
¤òfoo.full
¤Ø¥³¥Ô¡¼¡¥
strip --strip-debug foo
¤Î¼Â¹Ô¡¥
objcopy --add-gnu-debuglink=foo.full foo
¤Î¼Â¹Ô¡¥
¤Ä¤Þ¤ê¡¤--add-gnu-debuglink¤Ç¼¨¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤Ï¡¤´°Á´¤Ê¼Â¹Ô·Á ¼°¤Ç¤¹¡¥--only-keep-debug¥¹¥¤¥Ã¥Á¥Õ¥¡¥¤¥ë¤òÀ¸À®¤¹¤ëɬÍפϤ¢¤ê ¤Þ¤»¤ó¡¥
-V
--version
objcopy
¤Î¥Ð¡¼¥¸¥ç¥ó¥Ê¥ó¥Ð¡¼¤òɽ¼¨¤·¤Þ¤¹¡¥
-v
--verbose
¾éĹ¤Ê½ÐÎϤǤ¹¡¥½¤Àµ¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤ò¥ê¥¹¥È¥¢¥Ã¥×¤· ¤Þ¤¹¡¥¥¢¡¼¥«¥¤¥Ö¤Î¾ì¹ç¡¤‘objcopy -v’¤Ï¡¤¥¢¡¼¥«¥¤¥Ö¤Î¤¹¤Ù¤Æ¤Î¥á¥ó¥Ð¡¼ ¤ò¥ê¥¹¥È¥¢¥Ã¥×¤·¤Þ¤¹¡¥
--help
objcopy
¤Ø¤Î¥ª¥×¥·¥ç¥ó¤Î³µÍפòɽ¼¨¤·¤Þ¤¹¡¥
--info
¤¹¤Ù¤Æ¤Î¥¢¡¼¥¥Æ¥¯¥Á¥ã¤ÈÍøÍѲÄǽ¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤ò¼¨¤¹¥ê¥¹ ¥È¤òɽ¼¨¤·¤Þ¤¹¡¥