diff --git a/pkgs/development/libraries/glibc/2.18/common.nix b/pkgs/development/libraries/glibc/2.18/common.nix index 9e58b2163c6f..518615b1739a 100644 --- a/pkgs/development/libraries/glibc/2.18/common.nix +++ b/pkgs/development/libraries/glibc/2.18/common.nix @@ -67,6 +67,8 @@ stdenv.mkDerivation ({ ./cve-2013-4332.patch ./cve-2013-4458.patch ./cve-2013-4788.patch + + ./strstr-sse42-hack.patch ]; postPatch = '' diff --git a/pkgs/development/libraries/glibc/2.18/strstr-sse42-hack.patch b/pkgs/development/libraries/glibc/2.18/strstr-sse42-hack.patch new file mode 100644 index 000000000000..cdf4c0253167 --- /dev/null +++ b/pkgs/development/libraries/glibc/2.18/strstr-sse42-hack.patch @@ -0,0 +1,14 @@ +https://bugs.archlinux.org/task/36556 +diff --git a/sysdeps/x86_64/multiarch/strstr.c b/sysdeps/x86_64/multiarch/strstr.c +index cd63b68..03d8b9a 100644 +--- a/sysdeps/x86_64/multiarch/strstr.c ++++ b/sysdeps/x86_64/multiarch/strstr.c +@@ -86,7 +86,7 @@ + /* Simple replacement of movdqu to address 4KB boundary cross issue. + If EOS occurs within less than 16B before 4KB boundary, we don't + cross to next page. */ +-static __m128i ++static inline __m128i + __m128i_strloadu (const unsigned char * p, __m128i zero) + { + if (__builtin_expect ((int) ((size_t) p & 0xfff) > 0xff0, 0))