Skip site navigation (1)Skip section navigation (2)
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>