Port-vax archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Native build failure...



On Mon, 26 Jul 2010, Johnny Billquist wrote:

Interesting. And that might be relevant...

Anyway, after some more fiddling, I managed to get gdb to give a lot more useful information...
...
#0  update_file (file=0x7f44b6a0, depth=18, 2135209632, 18)
   at /usr/src/tools/gmake/../../gnu/dist/gmake/remake.c:464
464           if (! d->ignore_mtime)

  That looks rather familiar :)
  It should correspond to the blbs instruction.

(gdb) print/x $r6
$2 = 0x7f5ffff0

And that would look like an address at the end of a page, with the likelyhood that 0x7f600000 is not allocated.

Anything else I can do that will help?

I'm fairly sure that the workaround I had in the message I posted last year would still work.

According to that rather vague memory of mine, I think that Matt had sent me a fix for this, but I've had trouble finding it. I did find the following change that I had on one of my build systems that looks like it's probably the fix. You could try it and see.



Index: gnu/dist/gcc4/gcc/config/vax/vax.md
===================================================================
RCS file: /cvsroot/src/gnu/dist/gcc4/gcc/config/vax/vax.md,v
retrieving revision 1.12
diff -u -p -r1.12 vax.md
--- gnu/dist/gcc4/gcc/config/vax/vax.md 20 Apr 2007 16:30:32 -0000      1.12
+++ gnu/dist/gcc4/gcc/config/vax/vax.md 26 Jul 2010 22:02:24 -0000
@@ -1129,6 +1129,30 @@
 (define_insn ""
   [(set (pc)
        (if_then_else
+        (ne (zero_extract:SI (match_operand:QI 0 "memory_operand" "Q")
+                             (const_int 1)
+                             (const_int 0))
+            (const_int 0))
+        (label_ref (match_operand 1 "" ""))
+        (pc)))]
+  "REG_P (XEXP (operands[0], 0)) || MEM_P (XEXP (operands[0], 0))"
+  "jlbs %0,%l1")
+
+(define_insn ""
+  [(set (pc)
+       (if_then_else
+        (eq (zero_extract:SI (match_operand:QI 0 "memory_operand" "Q")
+                             (const_int 1)
+                             (const_int 0))
+            (const_int 0))
+        (label_ref (match_operand 1 "" ""))
+        (pc)))]
+  "REG_P (XEXP (operands[0], 0)) || MEM_P (XEXP (operands[0], 0))"
+  "jlbc %0,%l1")
+
+(define_insn ""
+  [(set (pc)
+       (if_then_else
         (ne (zero_extract:SI (match_operand:QI 0 "memory_operand" "Q,g")
                              (const_int 1)
                              (match_operand:SI 1 "general_operand" "I,nrmT"))
@@ -1136,9 +1160,26 @@
         (label_ref (match_operand 2 "" ""))
         (pc)))]
   ""
-  "@
-   jlbs %0,%l2
-   jbs %1,%0,%l2")
+  "*
+{
+  if (which_alternative == 0
+      && MEM_P (operands[0])
+      && GET_CODE (XEXP (operands[0], 0)) == PLUS
+      && REG_P (XEXP (XEXP (operands[0], 0), 0))
+      && CONST_INT_P (XEXP (XEXP (operands[0], 0), 1))
+      && (INTVAL (XEXP (XEXP (operands[0], 0), 1)) >> 2) == 0)
+    {
+      HOST_WIDE_INT o = INTVAL (XEXP (XEXP (operands[0], 0), 1));
+
+      if (o == 0)
+       return \"jlbs %0,%l2\";
+
+      operands[0] = gen_rtx_MEM (QImode, XEXP (XEXP (operands[0], 0), 0));
+      operands[1] = GEN_INT (o % 4 * 8);
+    }
+
+  return \"jbs %1,%0,%l2\";
+}")

 (define_insn ""
   [(set (pc)
@@ -1150,9 +1191,26 @@
         (label_ref (match_operand 2 "" ""))
         (pc)))]
   ""
-  "@
-   jlbc %0,%l2
-   jbc %1,%0,%l2")
+  "*
+{
+  if (which_alternative == 0
+      && MEM_P (operands[0])
+      && GET_CODE (XEXP (operands[0], 0)) == PLUS
+      && REG_P (XEXP (XEXP (operands[0], 0), 0))
+      && CONST_INT_P (XEXP (XEXP (operands[0], 0), 1))
+      && (INTVAL (XEXP (XEXP (operands[0], 0), 1)) >> 2) == 0)
+    {
+      HOST_WIDE_INT o = INTVAL (XEXP (XEXP (operands[0], 0), 1));
+
+      if (o % 4 == 0)
+       return \"jlbc %0,%l2\";
+
+      operands[0] = gen_rtx_MEM (QImode, XEXP (XEXP (operands[0], 0), 0));
+      operands[1] = GEN_INT (o % 4 * 8);
+    }
+
+  return \"jbc %1,%0,%l2\";
+}")

 (define_insn ""
   [(set (pc)


--
Michael L. Hitch                        mhitch%montana.edu@localhost
Computer Consultant
Information Technology Center
Montana State University        Bozeman, MT     USA


Home | Main Index | Thread Index | Old Index