Partial backport. Only the i686 piece is needed in glibc 2.17, and the x86_64 piece doesn't apply anyway because we lack the multiarch implementations present in upstream. Instead the the x86_64 piece is fixed by glibc-rh1447808-2.patch. commit e826574c985a15a500262f2fbd21c7e9259d3d11 (origin/master, origin/HEAD) Author: Florian Weimer Date: Tue Jun 12 15:00:33 2018 +0200 x86: Make strncmp usable from rtld Due to the way the conditions were written, the rtld build of strncmp ended up with no definition of the strncmp symbol at all: The implementations were renamed for use within an IFUNC resolver, but the IFUNC resolver itself was missing (because rtld does not use IFUNCs). Reviewed-by: Carlos O'Donell Index: glibc-2.17-c758a686/sysdeps/i386/i686/multiarch/strncmp-c.c =================================================================== --- glibc-2.17-c758a686.orig/sysdeps/i386/i686/multiarch/strncmp-c.c +++ glibc-2.17-c758a686/sysdeps/i386/i686/multiarch/strncmp-c.c @@ -1,4 +1,4 @@ -#ifdef SHARED +#if defined (SHARED) && IS_IN (libc) # define STRNCMP __strncmp_ia32 # undef libc_hidden_builtin_def # define libc_hidden_builtin_def(name) \