diff options
author | martin <martin@pkgsrc.org> | 2013-10-24 18:31:12 +0000 |
---|---|---|
committer | martin <martin@pkgsrc.org> | 2013-10-24 18:31:12 +0000 |
commit | e2e5f929afea3309d6ca20321752e8a890549d21 (patch) | |
tree | 0d021d815e1e96a674bf560e9a7946fe928d8ecc | |
parent | b920dd16f491e894ab8c9f163d4d0e76b09d91e7 (diff) | |
download | pkgsrc-e2e5f929afea3309d6ca20321752e8a890549d21.tar.gz |
Add a few VAX specific changes.
-rw-r--r-- | lang/gcc48/distinfo | 5 | ||||
-rw-r--r-- | lang/gcc48/patches/patch-gcc-config-vax-constraints.md | 15 | ||||
-rw-r--r-- | lang/gcc48/patches/patch-gcc-config-vax-vax.c | 24 | ||||
-rw-r--r-- | lang/gcc48/patches/patch-gcc-config-vax-vax.md | 58 |
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])))" + "* + { |