summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormartin <martin@pkgsrc.org>2013-10-24 18:31:12 +0000
committermartin <martin@pkgsrc.org>2013-10-24 18:31:12 +0000
commite2e5f929afea3309d6ca20321752e8a890549d21 (patch)
tree0d021d815e1e96a674bf560e9a7946fe928d8ecc
parentb920dd16f491e894ab8c9f163d4d0e76b09d91e7 (diff)
downloadpkgsrc-e2e5f929afea3309d6ca20321752e8a890549d21.tar.gz
Add a few VAX specific changes.
-rw-r--r--lang/gcc48/distinfo5
-rw-r--r--lang/gcc48/patches/patch-gcc-config-vax-constraints.md15
-rw-r--r--lang/gcc48/patches/patch-gcc-config-vax-vax.c24
-rw-r--r--lang/gcc48/patches/patch-gcc-config-vax-vax.md58
4 files changed, 101 insertions, 1 deletions
diff --git a/lang/gcc48/distinfo b/lang/gcc48/distinfo
index 7b78468175e..a5b9db07d68 100644
--- a/lang/gcc48/distinfo
+++ b/lang/gcc48/distinfo
@@ -1,8 +1,11 @@
-$NetBSD: distinfo,v 1.9 2013/10/21 20:26:19 adam Exp $
+$NetBSD: distinfo,v 1.10 2013/10/24 18:31:12 martin Exp $
SHA1 (gcc-4.8.2.tar.bz2) = 810fb70bd721e1d9f446b6503afe0a9088b62986
RMD160 (gcc-4.8.2.tar.bz2) = a417e682baa20877c290f6dc7d3d03a0c3710371
Size (gcc-4.8.2.tar.bz2) = 85999682 bytes
+SHA1 (patch-gcc-config-vax-constraints.md) = e6cea7a5334b5b124ca3e8b62eba45423e788e55
+SHA1 (patch-gcc-config-vax-vax.c) = 02e389ec418a0fee1431ecd61d65b7f8d7629785
+SHA1 (patch-gcc-config-vax-vax.md) = c0e9cc1d64f67192b376e5e0d19ca7b35677ad57
SHA1 (patch-gcc_Makefile.in) = b2bceb34537de1cf704f18a59aa4e4d4a4551c62
SHA1 (patch-gcc_config.gcc) = ac175c5eecf3dd53508479b30bf5c59cc0a5fca9
SHA1 (patch-gcc_config.host) = 1b1e11cd199eb93f49443d51c0063b09b7327858
diff --git a/lang/gcc48/patches/patch-gcc-config-vax-constraints.md b/lang/gcc48/patches/patch-gcc-config-vax-constraints.md
new file mode 100644
index 00000000000..4dee8535f78
--- /dev/null
+++ b/lang/gcc48/patches/patch-gcc-config-vax-constraints.md
@@ -0,0 +1,15 @@
+$NetBSD: patch-gcc-config-vax-constraints.md,v 1.1 2013/10/24 18:31:12 martin Exp $
+
+Upstream change rev. 202600
+
+--- gcc/config/vax/constraints.md.orig 2013-01-10 21:38:27.000000000 +0100
++++ gcc/config/vax/constraints.md 2013-09-16 09:13:22.000000000 +0200
+@@ -114,5 +114,6 @@
+
+ (define_constraint "T"
+ "@internal satisfies CONSTANT_P and, if pic is enabled, is not a SYMBOL_REF, LABEL_REF, or CONST."
+- (ior (not (match_code "const,symbol_ref,label_ref"))
+- (match_test "!flag_pic")))
++ (and (match_test ("CONSTANT_P (op)"))
++ (ior (not (match_code "symbol_ref,label_ref,const"))
++ (match_test "!flag_pic"))))
diff --git a/lang/gcc48/patches/patch-gcc-config-vax-vax.c b/lang/gcc48/patches/patch-gcc-config-vax-vax.c
new file mode 100644
index 00000000000..293142d972d
--- /dev/null
+++ b/lang/gcc48/patches/patch-gcc-config-vax-vax.c
@@ -0,0 +1,24 @@
+$NetBSD: patch-gcc-config-vax-vax.c,v 1.1 2013/10/24 18:31:12 martin Exp $
+
+Part of upstream change rev. 202796
+
+--- gcc/config/vax/vax.c.orig 2013-01-10 21:38:27.000000000 +0100
++++ gcc/config/vax/vax.c 2013-09-18 14:33:37.000000000 +0200
+@@ -1187,7 +1187,7 @@
+ {
+ operands[1] = GEN_INT (lval);
+ operands[2] = GEN_INT (n);
+- return "ashq %2,%1,%0";
++ return "ashq %2,%D1,%0";
+ }
+ #if HOST_BITS_PER_WIDE_INT == 32
+ }
+@@ -1199,7 +1199,7 @@
+ {
+ operands[1] = GEN_INT (hval >> n);
+ operands[2] = GEN_INT (n + 32);
+- return "ashq %2,%1,%0";
++ return "ashq %2,%D1,%0";
+ #endif
+ }
+ }
diff --git a/lang/gcc48/patches/patch-gcc-config-vax-vax.md b/lang/gcc48/patches/patch-gcc-config-vax-vax.md
new file mode 100644
index 00000000000..54a03b381ef
--- /dev/null
+++ b/lang/gcc48/patches/patch-gcc-config-vax-vax.md
@@ -0,0 +1,58 @@
+$NetBSD: patch-gcc-config-vax-vax.md,v 1.1 2013/10/24 18:31:12 martin Exp $
+
+Part of upstream change rev. 202796, additionally change from Matt Thomas
+to fix http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58442.
+
+--- gcc/config/vax/vax.md.orig 2013-01-15 22:30:24.000000000 +0100
++++ gcc/config/vax/vax.md 2013-10-24 18:21:32.000000000 +0200
+@@ -697,14 +697,14 @@
+ (ashift:DI (match_operand:DI 1 "general_operand" "g")
+ (match_operand:QI 2 "general_operand" "g")))]
+ ""
+- "ashq %2,%1,%0")
++ "ashq %2,%D1,%0")
+
+ (define_insn ""
+ [(set (match_operand:DI 0 "nonimmediate_operand" "=g")
+ (ashiftrt:DI (match_operand:DI 1 "general_operand" "g")
+ (neg:QI (match_operand:QI 2 "general_operand" "g"))))]
+ ""
+- "ashq %2,%1,%0")
++ "ashq %2,%D1,%0")
+
+ ;; We used to have expand_shift handle logical right shifts by using extzv,
+ ;; but this make it very difficult to do lshrdi3. Since the VAX is the
+@@ -781,8 +781,9 @@
+ "(INTVAL (operands[1]) == 8 || INTVAL (operands[1]) == 16)
+ && INTVAL (operands[2]) % INTVAL (operands[1]) == 0
+ && (REG_P (operands[0])
+- || ! mode_dependent_address_p (XEXP (operands[0], 0),
+- MEM_ADDR_SPACE (operands[0])))"
++ || (MEM_P(operands[0])
++ && ! mode_dependent_address_p (XEXP (operands[0], 0),
++ MEM_ADDR_SPACE (operands[0]))))"
+ "*
+ {
+ if (REG_P (operands[0]))
+@@ -810,8 +811,9 @@
+ "(INTVAL (operands[2]) == 8 || INTVAL (operands[2]) == 16)
+ && INTVAL (operands[3]) % INTVAL (operands[2]) == 0
+ && (REG_P (operands[1])
+- || ! mode_dependent_address_p (XEXP (operands[1], 0),
+- MEM_ADDR_SPACE (operands[1])))"
++ || (MEM_P(operands[1])
++ && ! mode_dependent_address_p (XEXP (operands[1], 0),
++ MEM_ADDR_SPACE (operands[1]))))"
+ "*
+ {
+ if (REG_P (operands[1]))
+@@ -838,7 +840,8 @@
+ "(INTVAL (operands[2]) == 8 || INTVAL (operands[2]) == 16)
+ && INTVAL (operands[3]) % INTVAL (operands[2]) == 0
+ && (REG_P (operands[1])
+- || ! mode_dependent_address_p (XEXP (operands[1], 0),
++ || (MEM_P(operands[1])
++ && ! mode_dependent_address_p (XEXP (operands[1], 0),
+ MEM_ADDR_SPACE (operands[1])))"
+ "*
+ {