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]

Proposal to handle __strstr_sse42 and friends issue on x86


Hi all,

For those who need some background, see [1].  In short, there is an
issue with __strstr_sse42 on x86 which has a variety of workarounds.

Some distributions re-add the inline statement, which is clearly fragile
and not a fix. Others remove the sse42 string functions - see [2].

I am going to propose we adopt the removal of the SSE42 routines.  We
can not ensure that binaries are built with a new enough compiler (gcc
after 2000) and keep backwards compatibility.  Also, ensuring the stack
is aligned when entering these functions would be a performance hit that
would likely remove any advantage of the sse42 routine (not tested...),
and there are proposals to remove the sse42 routines for both x86 and
x86_64 due to quadratic complexity anyway [3,4].

So applying the patch in [2] seems the best approach to me?  Any
comments/objections?

Allan


[1] https://sourceware.org/glibc/wiki/Release/2.18#Packaging_Changes
[2]
https://build.opensuse.org/package/view_file/openSUSE:Factory/glibc/i686-no-sse42-strstr.patch?expand=1
[3] https://sourceware.org/ml/libc-alpha/2012-06/msg00788.html
[4] https://sourceware.org/bugzilla/show_bug.cgi?id=12100


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