From: | "Mike Frysinger (vapier)" <vapier@g.o> |
---|---|
To: | gentoo-commits@l.g.o |
Subject: | [gentoo-commits] gentoo commit in src/patchsets/gcc/4.3.2/gentoo: 67_all_gcc43-pr35964.patch |
Date: | Sun, 05 Apr 2009 20:10:14 |
Message-Id: | E1LqYfU-0008EI-2s@stork.gentoo.org |
1 | vapier 09/04/05 20:10:12 |
2 | |
3 | Added: 67_all_gcc43-pr35964.patch |
4 | Log: |
5 | also add patch to 4.3.2 patchset #261111 |
6 | |
7 | Revision Changes Path |
8 | 1.1 src/patchsets/gcc/4.3.2/gentoo/67_all_gcc43-pr35964.patch |
9 | |
10 | file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/gcc/4.3.2/gentoo/67_all_gcc43-pr35964.patch?rev=1.1&view=markup |
11 | plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/gcc/4.3.2/gentoo/67_all_gcc43-pr35964.patch?rev=1.1&content-type=text/plain |
12 | |
13 | Index: 67_all_gcc43-pr35964.patch |
14 | =================================================================== |
15 | backport from gcc-4.4 for gcc segfault on arm with certain flags |
16 | http://gcc.gnu.org/PR35964 |
17 | http://bugs.gentoo.org/261111 |
18 | |
19 | gcc/ |
20 | * regrename.c: Unshare RTX earlier in build_def_use to avoid |
21 | corruption of dup_loc. |
22 | |
23 | |
24 | Index: gcc/regrename.c |
25 | =================================================================== |
26 | --- gcc/regrename.c (revision 197947) |
27 | +++ gcc/regrename.c (working copy) |
28 | @@ -783,6 +783,10 @@ build_def_use (basic_block bb) |
29 | recog_data.operand_type[i] = OP_INOUT; |
30 | } |
31 | |
32 | + /* Unshare dup_loc RTL */ |
33 | + for (i = 0; i < recog_data.n_dups; i++) |
34 | + *recog_data.dup_loc[i] = copy_rtx(*recog_data.dup_loc[i]); |
35 | + |
36 | /* Step 1: Close chains for which we have overlapping reads. */ |
37 | for (i = 0; i < n_ops; i++) |
38 | scan_rtx (insn, recog_data.operand_loc[i], |
39 | @@ -813,7 +817,7 @@ build_def_use (basic_block bb) |
40 | OP_IN, 0); |
41 | |
42 | for (i = 0; i < recog_data.n_dups; i++) |
43 | - *recog_data.dup_loc[i] = copy_rtx (old_dups[i]); |
44 | + *recog_data.dup_loc[i] = old_dups[i]; |
45 | for (i = 0; i < n_ops; i++) |
46 | *recog_data.operand_loc[i] = old_operands[i]; |
47 | if (recog_data.n_dups) |