Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:sschapiro:openstack:upstream
glibc
glibc-rh647448.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File glibc-rh647448.patch of Package glibc
2010-10-25 Ulrich Drepper <drepper@redhat.com> [BZ #12159] * sysdeps/x86_64/multiarch/strchr.S: Fix propagation of search byte into all bytes of SSE register. Patch by Richard Li <richardpku@gmail.com>. Index: glibc-2.12-2-gc4ccff1/string/Makefile =================================================================== --- glibc-2.12-2-gc4ccff1.orig/string/Makefile +++ glibc-2.12-2-gc4ccff1/string/Makefile @@ -55,7 +55,7 @@ tests := tester inl-tester noinl-tester tst-strtok tst-strxfrm bug-strcoll1 tst-strfry \ bug-strtok1 $(addprefix test-,$(strop-tests)) \ bug-envz1 tst-strxfrm2 tst-endian tst-svc2 \ - bug-strstr1 + bug-strstr1 bug-strchr1 distribute := memcopy.h pagecopy.h tst-svc.expect test-string.h \ str-two-way.h Index: glibc-2.12-2-gc4ccff1/string/bug-strchr1.c =================================================================== --- /dev/null +++ glibc-2.12-2-gc4ccff1/string/bug-strchr1.c @@ -0,0 +1,14 @@ +#include <stdio.h> +#include <string.h> + +static int +do_test (void) +{ + char s[] __attribute__((aligned(16))) = "\xff"; + char *p = strchr (s, '\xfe'); + printf ("%p\n", p); + return p != NULL; +} + +#define TEST_FUNCTION do_test () +#include "../test-skeleton.c" Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strchr.S =================================================================== --- glibc-2.12-2-gc4ccff1.orig/sysdeps/x86_64/multiarch/strchr.S +++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strchr.S @@ -87,13 +87,13 @@ __strchr_sse42: pxor %xmm2, %xmm2 movd %esi, %xmm1 movl %edi, %ecx + pshufb %xmm2, %xmm1 andl $15, %ecx movq %rdi, %r8 je L(aligned_start) /* Handle unaligned string. */ andq $-16, %r8 - pshufb %xmm2, %xmm1 movdqa (%r8), %xmm0 pcmpeqb %xmm0, %xmm2 pcmpeqb %xmm1, %xmm0
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor