Sorry for the delay. Last night, I didn't have development environment when I 
received your mail.
 
A new arm uClibc toolchain is made after I removed "moveq r0, #0". And as you 
said, removing this
statement works. telnetd of busybox 1.7.2 could work correctly now. Thanks.
 
Best Regards,
Timothy



> From: [EMAIL PROTECTED]> To: [EMAIL PROTECTED]> Subject: Re: Question about 
> memmove implemented for uClibc arm> Date: Thu, 22 May 2008 18:53:22 +0200> 
> CC: [email protected]> > On Thursday 22 May 2008 17:55, 夏Timothy wrote:> > 
> Yes, I agree.> > The code checks whether src address equals to dest address. 
> If so, it returns directly with return value 0.> > However, if src equals to 
> dest, remove_iacs of busybox 1.10.2 would return ptr0. And only if src does 
> not> > equal to dest, remove_ias of busybox 1.10.2 would return with the 
> return value from memmove. > > > > Hence, I believe that this bug would not 
> affect the telnetd of busybox 1.10.2. Thanks a lot for your help.> > And 
> thanks for the help from Khem Raj as well.> > I'm sorry, but you didn't 
> answer my question.> If you will do this small test and confirm that it 
> works,> I can fix the bug in svn.> > (The question is below in quoted text)> 
> > > Best Regards,> > Timothy> > ----------------------------------------> > > 
> From: [EMAIL PROTECTED]> > > To: [email protected]> > > Subject: Re: Question 
> about memmove implemented for uClibc arm> > > Date: Thu, 22 May 2008 14:27:40 
> +0200> > > CC: [EMAIL PROTECTED]> > > > > > On Thursday 22 May 2008 10:43, 
> 夏Timothy wrote:> > >> Hi, > > >> Thanks for the help. I have disassembled the 
> code. However.if I post them here, > > >> the mail would be very very long.> 
> > >> > > >> Actually, I think the assembly code for memmove and memcopy could 
> be found in > > >> uClibc/libc/string/arm/memmove.S and 
> uClibc/libc/string/arm/_memcpy.S respectively.> > > > > > I believe bug is 
> here:> > > > > > _memcpy:> > > /* Determine copy direction */> > > cmp r1, 
> r0> > > bcc .Lmemcpy_backwards> > > > > > IT(tt, eq)> > > moveq r0, #0 /* 
> Quick abort for len=0 */> > > #if defined(__USE_BX__)> > > bxeq lr> > > 
> #else> > > moveq pc, lr> > > #endif> > > > > > Does removing just one 
> instruction "moveq r0, #0" help?> > > If not, you probably need to replace it 
> with "moveq r0, r1"> > > --> > > vda> > > > 
> _________________________________________________________________> > 
> 新年换新颜,快来妆扮自己的MSN给心仪的TA一个惊喜!> > http://im.live.cn/emoticons/?ID=18> > 
_________________________________________________________________
Windows Live Photo gallery 数码相机的超级伴侣,轻松管理和编辑照片,还能制作全景美图!
http://get.live.cn/product/photo.html
_______________________________________________
uClibc mailing list
[email protected]
http://busybox.net/cgi-bin/mailman/listinfo/uclibc

Reply via email to