Bug#635885: libc6: strchr() behavior changed
Jonathan Nieder <email@example.com> wrote:
> Hi Michal,
Hi, thank you for your response.
> This sounded to me like PR12159, which was fixed by glibc-2.13~64 (Fix
> x86-64 strchr propagation of search byte into all bytes of SSE
> register, 2010-10-25), but I am not able to reproduce it. I get all
>  values (pointers to the end of string), the correct behavior.
This pretty much sounds like it. The disassembly of strchr() in
that libc.so utilizes xmm registers heavily and in that bug report value
"\xff" is used like "-1" in my test case.
Thanks for finding that report, I think this solves my problem.
> I tried to reproduce first using strchr.S directly on Debian sid, then
> using plain libc6 in a squeeze Debian live system running through kvm.
> I compiled with -O0 so I don't think gcc optimized out the strchr
> calls. Any idea what I'm doing wrong? What machine architecture do
> you use?
This is Intel(R) Core(TM) i5-2400 CPU @ 3.10GHz.