ToDo:
¤Ê¤ó¤«ÀΤ«¤é¤Ê¤ó¤È¤Ê¤¯30¤«¤é¤ÏÂç¿Í¤È¤¤¤¦¥¤¥á¡¼¥¸¤¬¤¢¤Ã¤Æ¡¢ º£¤Î¼«Ê¬¤ÈÀÎ¥¤¥á¡¼¥¸¤·¤Æ¤¤¤¿Âç¿Í¤Î¥®¥ã¥Ã¥×¤¬·ë¹½¤¢¤ë¤Ê¤¡¤È¤«¡£
´ðËÜŪ¤ËÂç¿Í¤Ë¤Ê¤ë¤È¤¤¤¦¤³¤È¤Ë¤¤¤¤¤³¤È¤¬¤¢¤ë¤È¤Ï ¤¢¤ó¤Þ¤ê»×¤Ã¤Æ¤Ê¤¤¤Î¤Ç¡¢¤½¤ì¤Ï¼«Ê¬Åª¤Ë¤Ï¤È¤ê¤¢¤¨¤ºÎɤ¤¤³¤È¤Ç¤Ï¤¢¤ë¡Ä¤¬¡£
¤¬¡¢¤Ê¤ó¤«ºÇ¶á¤½¤¦¤«Ëͤϼ¤ÏÂç¿Í¤À¤Ã¤¿¤ó¤¸¤ã¤Ê¤¤¤À¤í¤¦¤«¡Ä ¤È¤«»×¤Ã¤¿¤³¤È¤¬¤¢¤Ã¤Æ¡£ ¤Ê¤ó¤«ÃϿ̤Ȥ«¤¢¤Ã¤Æ¡¢¤¤¤Ä¤âÄ̤ꡢ ¤¢¤é¤¢¤éÂçÊѡĤȤ«»×¤Ã¤Æ¤¿¤ó¤À¤±¤É¡¢ ¤·¤«¤·¤Þ¤¡¤è¤¯¹Í¤¨¤ë¤ÈºÙ¡¹¤È¤·¤¿¤³¤È¤È¤Ï¤¤¤¨¡¢ »öÂÖ¤ò¤ò¤è¤¯¤¹¤ë¤³¤È¤Ëº³ºÙ¤Ê¹×¸¥¤¬¤Ç¤¤ëΩ¾ì¤Ê¤ó¤¸¤ã¤Ê¤¤¤«¤Ê¤¡¡Ä ¤È¤«µ¤ÉÕ¤¤¤¿¤ß¤¿¤¤¤Ê¡£
¤·¤«¤·30¤Ä¡¼¤È¤½¤í¤½¤íº¢¹ç¤À¤«¤é¡¢ ¤Ê¤ó¤«¥Þ¥¸¥á¤ËÌÌÇò¤ª¤«¤·¤¤¤³¤È¤ò¹Í¤¨¤Æ¤ß¤ë¤Î¤¬¤¤¤¤µ¤¤â¤·¤Ê¤¤¤Ç¤â¤Ê¤¤¡£ º£¤Î»Å»ö¤ÏÉáÄ̤ˤ½¤ì¤Ê¤ê¤ËÌÌÇò¤ª¤«¤·¤¤¤«¤é¤¤¤¤¤ó¤À¤±¤É¡¢ ¤½¤Î¸å¤ß¤¿¤¤¤Ê¡£
¤Ê¤ó¤«¤â¤Ã¤È¿§¤ó¤Ê¤³¤ÈÊÙ¶¯¤¹¤Ù¤¤Êµ¤¤¬¤¹¤ë¤ó¤À¤è¤Ê¤Ê¤ó¤È¤Ê¤¯¡£
(01:01)
¤Ï¤Ê¤ó¤«¥Á¥Þ¥Á¥Þ¤È¾¯¤·¤º¤Ä¿§¡¹¤ä¤Ã¤Æ¤¤¤ë¡£ ¤È¤ê¤¢¤¨¤ºÂçʪ¤Ç¤Ï clang ¤ä¤é llvm-gcc ¤¬Æ°¤¤¤Æ¤Ê¤¤¤Î¤ò¤Ê¤ó¤È¤«¤·¤è¤¦¤È¡£
¤Ê¤ó¤«¤É¤Ã¤«¤é¸«¤Ä¤±¤¿¤Î¤«³¤³°¤Î¿Í¤¬ twitter ¤Ç¾¯¤·¤À¤±ÏÃÂê¤Ë¤·¤Æ¤¿¤ê¤·¤Æ¡¢ github ¤Î¥ê¥Ý¥¸¥È¥ê¤Î watch ¿ô¤¬´û¤ËËͤÎÃÖ¤¤¤¿¤â¤Î¤ÎÃæ¤Ç¤ÏºÇÂç¤È¤«¤Ë¤Ê¤Ã¤Æ¤Æ¤ª¤â¤í¤¤¡£ ¤ä¤Þ¤¡Â¾¤¬ caddy ¤È¤« ags ¤È¤« w3m ¤È¤«¤¯¤é¤¤¤·¤«Ìµ¤¤¤Î¤Ç¡¢ Èæ³Ó¤È¤·¤ÆÈù̯¤¹¤®¤ë¤±¤É¡£
ºÇ¶á¤ä¤Ã¤¿¤³¤È¤È¤·¤Æ¤Ï¡¢ LC_DYLD_INFO_ONLY ¤È¤«¤¤¤¦¤Î¤Î bind ·Ï (ELF ¤Ç¸À¤¦¤È¤³¤í¤Î relocation) ¤·¤« ¤´¤Ë¤ç¤Ã¤Æ¤Ê¤«¤Ã¤¿¤Î¤ò¡¢ rebase ¤Ã¤Æ¤Î(PIC¤Ê¥³¡¼¥ÉÆâ¤Ç¤ÎÀäÂл²¾È¤òÊäÀµ¤¹¤ë¤Ê¤Ë¤«)¤È export ¤Ã¤Æ¤Î(nm -D ¤Ç½Ð¤ë¤ä¤Ä) ¤òÂбþ¤·¤Æ¡¢ dylib ¤òÆɤá¤ë¤è¤¦¤Ë¤·¤¿¤Î¤È¡¢¤¢¤È¤ÏºÙ¤«¤¤´Ø¿ô¤ò¤·¤ç¤Ü¤·¤ç¤Ü¤·¤Æ¤¤¤Ã¤Æ¤¤¤ë¤Î¤¬Â礤¤´¶¤¸¤À¤È»×¤¦¡£
clang ¤È¤« llvm-gcc ¤¬Æ°¤«¤ó¤Î¤Ï¡¢ libstdc++ ¤Î ABI ¤È¤«¤¬¿§¡¹ÊѤï¤Ã¤¿¤ê¤·¤Æ¤ë¤Î¤¬°¤¤¤Î¤«¤Ê¡Ä ¤È¤¤¤¦µ¤¤¬¤·¤Æ¤¤¤¿¤Î¤Ç¡¢ linux ¤Î libstdc++.so ¤¸¤ã¤Ê¤¯¤Æ mac ¤Î libstdc++.dylib ¤ò»È¤¦Êý¸þ¤Ç¹Í¤¨¤Æ¤¤¤¿¡£ ¤·¤«¤·¡¢¤è¤¯¹Í¤¨¤ë¤È¡¢ ld, dyldinfo, dwarfdump, dsymutil ¤¢¤¿¤ê¤Ï C++ ¤Ç½ñ¤«¤ì¤Æ¤¤¤ë¤±¤ÉÆ°¤¤¤Æ¤ë¤ï¤±¤Ç¡¢¤Á¤ç¤Ã¤È¥Ø¥ó¤ÊÏäǤϤ¢¤ë¡£ ºÇ½ªÅª¤Ë¤Ï libstdc++.dylib »È¤¦Êý¤¬Îɤ¤Êý¸þ¤Êµ¤¤¬¤¹¤ë¤±¤É¡¢ ¤â¤¦¤Á¤ç¤¤¼ê¤Ã¼è¤êÁ᤯ư¤«¤¹ÊýË¡¤Ï¤¢¤ê¤½¤¦¤À¤Ê¤¡¡Ä
(01:20)
Á° | 2011ǯ 3·î |
¼¡ | ||||
Æü | ·î | ²Ð | ¿å | ÌÚ | ¶â | ÅÚ |
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Á´¤Æ¥ê¥ó¥¯¥Õ¥ê¡¼¤Ç¤¹¡£ ¥³¡¼¥ÉÊҤϼ«Í³¤Ë»ÈÍѤ·¤Æ¤¤¤¿¤À¤¤¤Æ¹½¤¤¤Þ¤»¤ó¡£ ¤½¤Î¾¤Î¤â¤Î¤ÏGPL°·¤¤¤Ç¤¢¤ì¤Ð¤¢¤é¤æ¤ë»ÈÍѤ˴ؤ·¤Æʸ¶ç¤Ï¸À¤¤¤Þ¤»¤ó¡£ ¤Ê¤Ë¤«¤¢¤ì¤Ð²¼µ¥á¡¼¥ë¥¢¥É¥ì¥¹¤Ø¡£