This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Potential issue with strstr on x86 with sse4.2 in glibc-2.18


This is more of a heads up as on first glance I suspect this is a gcc
issue rather than a glibc one.

I have had a number of reports for i686-pc-linux-gnu builds of glibc
(with gcc 4.8.1 20130725) giving a segfault in __strstr_sse42.  Here is
our bugtracker link: https://bugs.archlinux.org/task/36556 .  A bisect
puts indicates this commit:

http://sourceware.org/git/?p=glibc.git;a=commit;h=f1d70dad

and in particular, reverting this change in
sysdeps/x86_64/multiarch/strstr.c stops the issue:

-static inline __m128i
+static __m128i
 __m128i_strloadu (const unsigned char * p, __m128i zero)


That's right...  adding an inline solves the segfaults, hence why I
suspect a gcc issue.  Also, compiling with -O3 instead of -O2 avoids the
issue.

Note that this code runs fine on x86_64.  We only notice it on our i686
builds.

Allan


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]