<DIV>&nbsp;</DIV>
<DIV>&nbsp;hi anyone,
<DIV>
<DIV>I have not understood some code in this file below: </DIV>
<DIV>&nbsp;&nbsp;&nbsp; <FONT color="#f00000">#ifndef CONFIG_ZBOOT_ROM<BR>&nbsp; /*<BR>* If we're running fully PIC === CONFIG_ZBOOT_ROM = n,<BR>* we need to fix up pointers into the BSS region.<BR>&nbsp; * r2 - BSS start<BR>&nbsp; * r3 - BSS end<BR>&nbsp; * sp - stack pointer<BR>&nbsp; */<BR>&nbsp; add r2, r2, r0<BR>&nbsp; add r3, r3, r0<BR>&nbsp; add sp, sp, r0</FONT></DIV>
<DIV><FONT color="#f00000">&nbsp; /*<BR>&nbsp; * Relocate all entries in the GOT table.<BR>&nbsp; */<BR>1: ldr r1, [r6, #0] @ relocate entries in the GOT<BR>add r1, r1, r0 @ table. This fixes up the<BR>&nbsp; str r1, [r6], #4 @ C references.<BR>&nbsp; cmp r6, ip<BR>&nbsp; blo 1b<BR>#else</FONT></DIV>
<DIV><FONT color="#f00000">&nbsp; /*<BR>* Relocate entries in the GOT table. We only relocate<BR>* the entries that are outside the (relocated) BSS region.<BR>&nbsp; */<BR>1: ldr r1, [r6, #0] @ relocate entries in the GOT<BR>&nbsp; cmp r1, r2 @ entry &lt; bss_start ||<BR>&nbsp;&nbsp;cmphs&nbsp;r3, r1&nbsp;&nbsp;&nbsp;@ _end &lt; entry<BR>addlo r1, r1, r0 @ table. This fixes up the<BR>&nbsp; str r1, [r6], #4 @ C references.<BR>&nbsp; cmp r6, ip<BR>&nbsp; blo 1b<BR>#endif<BR></FONT>my question is:what is the different between the both <FONT color="#f00000">CONFIG_ZBOOT_ROM=y or n, </FONT><FONT color="#000000">and so led to the different tackles from the above code on relocation?</FONT></DIV>
<DIV><FONT color="#000000">&nbsp;thanks ahead<BR></FONT></DIV></DIV></DIV><br><br><span title="neteasefooter"/><hr/>
<a href="http://allyes.nie.163.com/main/adfclick?db=afanie&bid=1254,611,23&cid=145,4,1&sid=1351&show=ignore&url=http://tx2.163.com/fab.html">09年新晋3D主流网游《天下贰》,网易六年亿资打造</a>
</span>