This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Proposal to handle __strstr_sse42 and friends issue on x86
- From: Allan McRae <allan at archlinux dot org>
- To: libc-alpha <libc-alpha at sourceware dot org>
- Date: Wed, 11 Dec 2013 10:55:01 +1000
- Subject: Proposal to handle __strstr_sse42 and friends issue on x86
- Authentication-results: sourceware.org; auth=none
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