From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mark H Weaver Subject: bug#27489: glibc fails to build on i686 Date: Sun, 25 Jun 2017 21:23:44 -0400 Message-ID: <87r2y7h78f.fsf@netris.org> References: <87podrlvsb.fsf@elephly.net> <878tkfixmu.fsf@netris.org> <87vanjhame.fsf@netris.org> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:38907) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dPIm3-0004yE-5J for bug-guix@gnu.org; Sun, 25 Jun 2017 21:25:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dPIly-0007jK-8k for bug-guix@gnu.org; Sun, 25 Jun 2017 21:25:07 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:35148) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dPIly-0007jA-53 for bug-guix@gnu.org; Sun, 25 Jun 2017 21:25:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1dPIlx-0002Zt-Ro for bug-guix@gnu.org; Sun, 25 Jun 2017 21:25:01 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <87vanjhame.fsf@netris.org> (Mark H. Weaver's message of "Sun, 25 Jun 2017 20:10:33 -0400") List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: Ricardo Wurmus Cc: 27489@debbugs.gnu.org Mark H Weaver writes: > The problem is that glibc-CVE-2017-1000366-pt2.patch introduces a > reference to 'strcspn' in rtld.c. This causes the glibc build system to > automatically add 'rtld-strcspn.os' and 'rtld-strcspn-c.os' to the list > of objects to be built. When 'rtld-strcspn-c.os' is built, "-msse4" is > passed to the compiler (along with "-mno-sse" near the end). I found a patch in Debian to address this issue: --8<---------------cut here---------------start------------->8--- 2017-06-14 Florian Weimer * sysdeps/i386/i686/multiarch/strcspn-c.c: Add IS_IN (libc) guard. * sysdeps/i386/i686/multiarch/varshift.c: Likewise. --- a/sysdeps/i386/i686/multiarch/strcspn-c.c +++ b/sysdeps/i386/i686/multiarch/strcspn-c.c @@ -1,2 +1,4 @@ -#define __strcspn_sse2 __strcspn_ia32 -#include +#if IS_IN (libc) +# define __strcspn_sse2 __strcspn_ia32 +# include +#endif --- a/sysdeps/i386/i686/multiarch/varshift.c +++ b/sysdeps/i386/i686/multiarch/varshift.c @@ -1 +1,3 @@ -#include +#if IS_IN (libc) +# include +#endif --8<---------------cut here---------------end--------------->8--- With this patch added, the grafted glibc builds successfully on i686. I'm doing a few more tests, and then will push this in the next hour or two. Mark