Date: Thu, 31 Oct 2013 22:56:24 +0100 From: Dimitry Andric <dim@FreeBSD.org> To: Kenta Suzumoto <kentas@hush.com> Cc: ports@freebsd.org Subject: Re: www/firefox build failure on i386 Message-ID: <8173EF21-870A-475B-867E-B92EEFF904BF@FreeBSD.org> In-Reply-To: <94486AC7-B546-4ED3-9B6F-BBB1DB9E5E3E@FreeBSD.org> References: <20131031052738.AA6C2601AC@smtp.hushmail.com> <6EE7DB2E-C04C-4C91-8B32-9209F8FA9FD0@FreeBSD.org> <94486AC7-B546-4ED3-9B6F-BBB1DB9E5E3E@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--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 <dim@freebsd.org> wrote: > On 31 Oct 2013, at 18:53, Dimitry Andric <dim@freebsd.org> wrote: >> On 31 Oct 2013, at 06:27, Kenta Suzumoto <kentas@hush.com> 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--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?8173EF21-870A-475B-867E-B92EEFF904BF>