From owner-freebsd-ports@FreeBSD.ORG Thu Oct 31 21:56:39 2013 Return-Path: Delivered-To: ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id CFC8E577 for ; Thu, 31 Oct 2013 21:56:39 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from tensor.andric.com (tensor.andric.com [87.251.56.140]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 6D4B52670 for ; Thu, 31 Oct 2013 21:56:39 +0000 (UTC) Received: from [IPv6:2001:7b8:3a7::174:a45e:dad6:ebfd] (unknown [IPv6:2001:7b8:3a7:0:174:a45e:dad6:ebfd]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id 7461B5C45; Thu, 31 Oct 2013 22:56:35 +0100 (CET) Content-Type: multipart/signed; boundary="Apple-Mail=_51A6C313-1289-493B-860D-2B6FF539009F"; protocol="application/pgp-signature"; micalg=pgp-sha1 Mime-Version: 1.0 (Mac OS X Mail 7.0 \(1816\)) Subject: Re: www/firefox build failure on i386 From: Dimitry Andric In-Reply-To: <94486AC7-B546-4ED3-9B6F-BBB1DB9E5E3E@FreeBSD.org> Date: Thu, 31 Oct 2013 22:56:24 +0100 Message-Id: <8173EF21-870A-475B-867E-B92EEFF904BF@FreeBSD.org> References: <20131031052738.AA6C2601AC@smtp.hushmail.com> <6EE7DB2E-C04C-4C91-8B32-9209F8FA9FD0@FreeBSD.org> <94486AC7-B546-4ED3-9B6F-BBB1DB9E5E3E@FreeBSD.org> To: Kenta Suzumoto X-Mailer: Apple Mail (2.1816) Cc: ports@freebsd.org X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 31 Oct 2013 21:56:39 -0000 --Apple-Mail=_51A6C313-1289-493B-860D-2B6FF539009F Content-Type: multipart/mixed; boundary="Apple-Mail=_3BA512FA-21D4-413B-9579-4A01C8FF8542" --Apple-Mail=_3BA512FA-21D4-413B-9579-4A01C8FF8542 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii On 31 Oct 2013, at 21:52, Dimitry Andric wrote: > On 31 Oct 2013, at 18:53, Dimitry Andric wrote: >> On 31 Oct 2013, at 06:27, Kenta Suzumoto wrote: >>> Hi. I'm trying to build Firefox 25 and the build failed after a long = time of compiling. >>> Any help would be appreciated, thank you. The full log is here: >>>=20 >>> https://dl.dropboxusercontent.com/u/9576083/firefox-25.0%2C1.log > ... >> This is a bug in clang that was fixed in head (r255804), and merged = to >> stable/9 (r255946), but the fix unfortunately did not make it in time >> for 9.2-RELEASE. See also http://llvm.org/PR15840 . > ... >> Alternatively, you can apply just the diff from r255804 to your = release >> source tree, then rebuild clang (or world) and reinstall it. >=20 > Here is that diff. Apply it to the 9.2-RELEASE sources installed in > /usr/src, then build and install clang, using: >=20 > cd /usr/src/lib/clang > make obj && make depend && make -j4 > cd /usr/src/usr.bin/clang/clang > make obj && make depend && make -j4 > sudo make install >=20 > Then you should be able to build www/firefox with it. Ok, let me try to really attach it this time. :-) -Dimitry --Apple-Mail=_3BA512FA-21D4-413B-9579-4A01C8FF8542 Content-Disposition: attachment; filename=merge-r255804.diff Content-Type: application/octet-stream; x-unix-mode=0644; name="merge-r255804.diff" Content-Transfer-Encoding: 7bit Index: contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp =================================================================== --- contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp (revision 257455) +++ contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp (working copy) @@ -1736,15 +1736,15 @@ WalkChainUsers(const SDNode *ChainedNode, SDNode *User = *UI; + if (User->getOpcode() == ISD::HANDLENODE) // Root of the graph. + continue; + // If we see an already-selected machine node, then we've gone beyond the // pattern that we're selecting down into the already selected chunk of the // DAG. + unsigned UserOpcode = User->getOpcode(); if (User->isMachineOpcode() || - User->getOpcode() == ISD::HANDLENODE) // Root of the graph. - continue; - - unsigned UserOpcode = User->getOpcode(); - if (UserOpcode == ISD::CopyToReg || + UserOpcode == ISD::CopyToReg || UserOpcode == ISD::CopyFromReg || UserOpcode == ISD::INLINEASM || UserOpcode == ISD::EH_LABEL || Index: contrib/llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp =================================================================== --- contrib/llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp (revision 257455) +++ contrib/llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp (working copy) @@ -395,6 +395,7 @@ SDNode *AArch64DAGToDAGISel::Select(SDNode *Node) if (Node->isMachineOpcode()) { DEBUG(dbgs() << "== "; Node->dump(CurDAG); dbgs() << "\n"); + Node->setNodeId(-1); return NULL; } Index: contrib/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp =================================================================== --- contrib/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp (revision 257455) +++ contrib/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp (working copy) @@ -2546,8 +2546,10 @@ SDNode *ARMDAGToDAGISel::SelectAtomic64(SDNode *No SDNode *ARMDAGToDAGISel::Select(SDNode *N) { DebugLoc dl = N->getDebugLoc(); - if (N->isMachineOpcode()) + if (N->isMachineOpcode()) { + N->setNodeId(-1); return NULL; // Already selected. + } switch (N->getOpcode()) { default: break; Index: contrib/llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp =================================================================== --- contrib/llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp (revision 257455) +++ contrib/llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp (working copy) @@ -1334,8 +1334,10 @@ SDNode *HexagonDAGToDAGISel::SelectAdd(SDNode *N) SDNode *HexagonDAGToDAGISel::Select(SDNode *N) { - if (N->isMachineOpcode()) + if (N->isMachineOpcode()) { + N->setNodeId(-1); return NULL; // Already selected. + } switch (N->getOpcode()) { Index: contrib/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp =================================================================== --- contrib/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp (revision 257455) +++ contrib/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp (working copy) @@ -394,6 +394,7 @@ SDNode *MSP430DAGToDAGISel::Select(SDNode *Node) { DEBUG(errs() << "== "; Node->dump(CurDAG); errs() << "\n"); + Node->setNodeId(-1); return NULL; } Index: contrib/llvm/lib/Target/Mips/MipsISelDAGToDAG.cpp =================================================================== --- contrib/llvm/lib/Target/Mips/MipsISelDAGToDAG.cpp (revision 257455) +++ contrib/llvm/lib/Target/Mips/MipsISelDAGToDAG.cpp (working copy) @@ -97,6 +97,7 @@ SDNode* MipsDAGToDAGISel::Select(SDNode *Node) { // If we have a custom node, we already have selected! if (Node->isMachineOpcode()) { DEBUG(errs() << "== "; Node->dump(CurDAG); errs() << "\n"); + Node->setNodeId(-1); return NULL; } Index: contrib/llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp =================================================================== --- contrib/llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp (revision 257455) +++ contrib/llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp (working copy) @@ -91,8 +91,10 @@ NVPTXDAGToDAGISel::NVPTXDAGToDAGISel(NVPTXTargetMa /// expanded, promoted and normal instructions. SDNode *NVPTXDAGToDAGISel::Select(SDNode *N) { - if (N->isMachineOpcode()) + if (N->isMachineOpcode()) { + N->setNodeId(-1); return NULL; // Already selected. + } SDNode *ResNode = NULL; switch (N->getOpcode()) { Index: contrib/llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp =================================================================== --- contrib/llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp (revision 257455) +++ contrib/llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp (working copy) @@ -895,8 +895,10 @@ SDNode *PPCDAGToDAGISel::SelectSETCC(SDNode *N) { // target-specific node if it hasn't already been changed. SDNode *PPCDAGToDAGISel::Select(SDNode *N) { DebugLoc dl = N->getDebugLoc(); - if (N->isMachineOpcode()) + if (N->isMachineOpcode()) { + N->setNodeId(-1); return NULL; // Already selected. + } switch (N->getOpcode()) { default: break; Index: contrib/llvm/lib/Target/R600/AMDILISelDAGToDAG.cpp =================================================================== --- contrib/llvm/lib/Target/R600/AMDILISelDAGToDAG.cpp (revision 257455) +++ contrib/llvm/lib/Target/R600/AMDILISelDAGToDAG.cpp (working copy) @@ -158,6 +158,7 @@ bool AMDGPUDAGToDAGISel::SelectADDR64(SDValue Addr SDNode *AMDGPUDAGToDAGISel::Select(SDNode *N) { unsigned int Opc = N->getOpcode(); if (N->isMachineOpcode()) { + N->setNodeId(-1); return NULL; // Already selected. } switch (Opc) { Index: contrib/llvm/lib/Target/Sparc/SparcISelDAGToDAG.cpp =================================================================== --- contrib/llvm/lib/Target/Sparc/SparcISelDAGToDAG.cpp (revision 257455) +++ contrib/llvm/lib/Target/Sparc/SparcISelDAGToDAG.cpp (working copy) @@ -137,8 +137,10 @@ bool SparcDAGToDAGISel::SelectADDRrr(SDValue Addr, SDNode *SparcDAGToDAGISel::Select(SDNode *N) { DebugLoc dl = N->getDebugLoc(); - if (N->isMachineOpcode()) + if (N->isMachineOpcode()) { + N->setNodeId(-1); return NULL; // Already selected. + } switch (N->getOpcode()) { default: break; Index: contrib/llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp =================================================================== --- contrib/llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp (revision 257455) +++ contrib/llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp (working copy) @@ -540,6 +540,7 @@ SDNode *SystemZDAGToDAGISel::Select(SDNode *Node) // If we have a custom node, we already have selected! if (Node->isMachineOpcode()) { DEBUG(errs() << "== "; Node->dump(CurDAG); errs() << "\n"); + Node->setNodeId(-1); return 0; } Index: contrib/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp =================================================================== --- contrib/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp (revision 257455) +++ contrib/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp (working copy) @@ -1988,6 +1988,7 @@ SDNode *X86DAGToDAGISel::Select(SDNode *Node) { if (Node->isMachineOpcode()) { DEBUG(dbgs() << "== "; Node->dump(CurDAG); dbgs() << '\n'); + Node->setNodeId(-1); return NULL; // Already selected. } Index: contrib/llvm =================================================================== --- contrib/llvm (revision 257455) +++ contrib/llvm (working copy) Property changes on: contrib/llvm ___________________________________________________________________ Modified: svn:mergeinfo Merged /head/contrib/llvm:r255804 --Apple-Mail=_3BA512FA-21D4-413B-9579-4A01C8FF8542 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii --Apple-Mail=_3BA512FA-21D4-413B-9579-4A01C8FF8542-- --Apple-Mail=_51A6C313-1289-493B-860D-2B6FF539009F Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.0.22 (Darwin) iEYEARECAAYFAlJy0hAACgkQsF6jCi4glqN9MACcCjMlH8dLvbTaxNnuxgkaZpkV 47UAoM3hFjgj0KoL+1x5sHnzb3KkWEPx =90NM -----END PGP SIGNATURE----- --Apple-Mail=_51A6C313-1289-493B-860D-2B6FF539009F--