i686/memmove.S always copies backwards when dst > src
Ondřej Bílka
neleai@seznam.cz
Tue Jan 7 18:23:00 GMT 2014
On Tue, Jan 07, 2014 at 02:20:47PM +1300, Maxim Kuvyrkov wrote:
> On 3/01/2014, at 9:17 am, OndÅej BÃlka <neleai@seznam.cz> wrote:
>
> > On Mon, Dec 23, 2013 at 01:26:20PM +0400, Yuriy Kaminskiy wrote:
> ...
> >> --- glibc/sysdeps/i386/i686/memmove.S.orig
> >> +++ glibc/sysdeps/i386/i686/memmove.S
> >> @@ -63,8 +63,8 @@
> >>
> >> movl %edi, %eax
> >> subl %esi, %eax
> >> - cmpl %eax, %edi
> >> - jae 3f
> >> + cmpl %eax, %ecx
> >> + ja 3f
> >>
> >> cld
> >> shrl $1, %ecx
> >
> > Looks good. As bugfix it needs a bugzilla entry and update
> > changelog/news. Maxim could you do that?
>
> I've created BZ #16394. The attached patch was tested in i686 environment with memmove ifunc forced to resolve to implementation in sysdeps/i386/i686/memmove.S.
>
> I will check in the patch in 24 hours since at least 3 developers have looked at it and confirmed that it is the right fix.
>
> Thanks,
>
As I said above it looks correct, who else?
More information about the Libc-alpha
mailing list