[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ld.elf_so -> syncicache.o



¤È¤¯¤À¤Ç¤¹

ld.elf_so ¥³¥ì¥¯¥·¥ç¥ó¤â¤º¤¤¤Ö¤ó·¤Ã¤Æ¤­¤Þ¤·¤¿ (10 ¸Ä¤Û¤É)¡£

> Æ£¸¶> (1.6E ¤Î) gcc-2.95.3 ¤Ç -O -fno-strict-aliasing ¤·¤Æ¸«¤Æ¤â¡¢
> Æ£¸¶> ¤È¤¯¤À¤µ¤ó¤Î¤È¤³¤í¤ÇÍ£°ìÆ°¤¤¤Æ¤¤¤ë¡¢ÄØ°æÈǤΠld.elf_so ¤Ë
> Æ£¸¶> Æþ¤Ã¤Æ¤¤¤ë syncicache.o ¤ÎÉôʬ¤¬Æ±¤¸¤Ë¤Ê¤é¤Ê¤¤¤Î¤Ç¤¹¤¬¡¢¤³¤ì¤Ï
> Æ£¸¶> ¤É¤¦¤ä¤Ã¤Æºî¤é¤ì¤Æ¤¤¤ë¤Î¤Ç¤·¤ç¤¦¡£
> 
> -fpic ¤òÉÕ¤±¤¿¤é¡¢syncicache ¤ÎÉôʬ¤Ï(¿ʬ)Á´¤¯Æ±¤¸¤Ë¤Ê¤ê¤Þ¤·¤¿¡£

»ä¤Î¼ê¸µ¤Ç objdump -d ¤·¤Æ¤ß¤ë¤ÈÄذ椵¤ó¤Î¤â¤Î¤È¤Ï°ã¤¤¤¬¤¢¤ê¤Þ
¤¹¤Í (¤¢¤Ã¤Æ¤¤¤ë¤«¤Ê)¡£²¼¤«¤é 2 ¹ÔÌܤΠ_DYNAMIC ¤¦¤ó¤Ì¤ó¤Î½ê¤Ê
¤É¤Ç¤¹¡£

 --- ÄØ°æÈÇ ---
00008948 <__syncicache>:
    8948:       94 21 ff e0     stwu    r1,-32(r1)
    894c:       7c 08 02 a6     mflr    r0
    8950:       93 a1 00 14     stw     r29,20(r1)
    8954:       93 c1 00 18     stw     r30,24(r1)
    8958:       93 e1 00 1c     stw     r31,28(r1)
    895c:       90 01 00 24     stw     r0,36(r1)
    8960:       48 00 32 99     bl      bbf8 <_DYNAMIC+0x208>
    8964:       7f c8 02 a6     mflr    r30

 --- 20020802ts-O-fpic ---
000089b0 <__syncicache>:
    89b0:       94 21 ff e0     stwu    r1,-32(r1)
    89b4:       7c 08 02 a6     mflr    r0
    89b8:       93 a1 00 14     stw     r29,20(r1)
    89bc:       93 c1 00 18     stw     r30,24(r1)
    89c0:       93 e1 00 1c     stw     r31,28(r1)
    89c4:       90 01 00 24     stw     r0,36(r1)
    89c8:       48 00 00 05     bl      89cc <__syncicache+0x1c>
    89cc:       7f c8 02 a6     mflr    r30

¤³¤Î°ã¤¤¤¬´Ø·¸¤¹¤ë¤Î¤«¤É¤¦¤«ÉÔÌÀ¤Ç¤¹¤¬¡¢OpenBlockS ¤Ç¤ÏÆ°¤­¤Þ
¤»¤ó¤Ç¤·¤¿ (macppc¤Ç¤ÏÆ°¤¤¤Æ¤¤¤ë¤Î¤Ç¤¹¤è¤Í?)¡£

¤³¤Á¤é¤Ç¤â¡¢-O -fpic -fno-strict-aliasing ¤·¤Æ libc ¤òºî¤êľ¤·
¤¿¸å¤Ë ld.elf_so ¤òºî¤êľ¤·¤¿¤éÆ£¸¶¤µ¤ó¤È¤Û¤ÜƱ¤¸ ld.elf_so ¤¬
¤Ç¤­¾å¤¬¤ê¤Þ¤·¤¿ (³«»Ï¤Î¥¢¥É¥ì¥¹ (?) ¤¬ 98b0 ¤Ç¤Ï¤Ê¤¯ 8984 ¤È
¤«¤½¤¦¤¤¤¦°ã¤¤)¡£¤À¤¤¤Ö¤ó¶áÉÕ¤¤¤Æ¤­¤¿¤Î¤«¤Ê...

----
¤È¤¯¤À¤Ò¤í¤·