diff options
| author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-03-11 05:12:49 -0700 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-03-14 07:54:06 -0700 |
| commit | 62adf92cb7da15be2a268b84ed59941fab579603 (patch) | |
| tree | 00f04649994826c05e1dfa379035de6caaf4b70c | |
| parent | 6f57e8a418dfd917e492ee51485d8934d4696a39 (diff) | |
| download | poky-62adf92cb7da15be2a268b84ed59941fab579603.tar.gz | |
gcc: Remove patch causing ICE on x86_64 valgrind compile
| ../../valgrind-3.12.0/VEX/priv/host_ppc_isel.c: In function 'iselInt64Expr':
| ../../valgrind-3.12.0/VEX/priv/host_ppc_isel.c:3270:1: internal compiler error: Segmentation fault
| }
| ^
| Please submit a full bug report,
| with preprocessed source if appropriate.
| See <http://gcc.gnu.org/bugs.html> for instructions.
| rm -f libvexmultiarch-amd64-linux.a
| Makefile:1813: recipe for target 'priv/libvex_amd64_linux_a-host_ppc_isel.o' failed
Remove the patch to gcc causing this until the issue can be figured out.
(From OE-Core rev: 36be209262ee1e0a7598c9437c9f8c4e926c0e35)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
| -rw-r--r-- | meta/recipes-devtools/gcc/gcc-6.4.inc | 1 | ||||
| -rw-r--r-- | meta/recipes-devtools/gcc/gcc-6.4/0056-LRA-PR70904-relax-the-restriction-on-subreg-reload-f.patch | 51 |
2 files changed, 0 insertions, 52 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-6.4.inc b/meta/recipes-devtools/gcc/gcc-6.4.inc index 0216f57431..a2430a9c96 100644 --- a/meta/recipes-devtools/gcc/gcc-6.4.inc +++ b/meta/recipes-devtools/gcc/gcc-6.4.inc | |||
| @@ -75,7 +75,6 @@ SRC_URI = "\ | |||
| 75 | file://0048-sync-gcc-stddef.h-with-musl.patch \ | 75 | file://0048-sync-gcc-stddef.h-with-musl.patch \ |
| 76 | file://0054_all_nopie-all-flags.patch \ | 76 | file://0054_all_nopie-all-flags.patch \ |
| 77 | file://0055-unwind_h-glibc26.patch \ | 77 | file://0055-unwind_h-glibc26.patch \ |
| 78 | file://0056-LRA-PR70904-relax-the-restriction-on-subreg-reload-f.patch \ | ||
| 79 | ${BACKPORTS} \ | 78 | ${BACKPORTS} \ |
| 80 | " | 79 | " |
| 81 | BACKPORTS = "\ | 80 | BACKPORTS = "\ |
diff --git a/meta/recipes-devtools/gcc/gcc-6.4/0056-LRA-PR70904-relax-the-restriction-on-subreg-reload-f.patch b/meta/recipes-devtools/gcc/gcc-6.4/0056-LRA-PR70904-relax-the-restriction-on-subreg-reload-f.patch deleted file mode 100644 index 231f147619..0000000000 --- a/meta/recipes-devtools/gcc/gcc-6.4/0056-LRA-PR70904-relax-the-restriction-on-subreg-reload-f.patch +++ /dev/null | |||
| @@ -1,51 +0,0 @@ | |||
| 1 | From a582b0a53d1dc8604a201348b99ca8de48784e7e Mon Sep 17 00:00:00 2001 | ||
| 2 | From: jiwang <jiwang@138bc75d-0d04-0410-961f-82ee72b054a4> | ||
| 3 | Date: Thu, 12 May 2016 17:00:52 +0000 | ||
| 4 | Subject: [PATCH] [LRA] PR70904, relax the restriction on subreg reload for | ||
| 5 | wide mode | ||
| 6 | |||
| 7 | 2016-05-12 Jiong Wang <jiong.wang@arm.com> | ||
| 8 | |||
| 9 | gcc/ | ||
| 10 | PR rtl-optimization/70904 | ||
| 11 | * lra-constraint.c (process_addr_reg): Relax the restriction on | ||
| 12 | subreg reload for wide mode. | ||
| 13 | |||
| 14 | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236181 138bc75d-0d04-0410-961f-82ee72b054a4 | ||
| 15 | --- | ||
| 16 | Upstream-Status: Backport | ||
| 17 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 18 | |||
| 19 | gcc/lra-constraints.c | 16 +++++++++++++++- | ||
| 20 | 1 file changed, 15 insertions(+), 1 deletion(-) | ||
| 21 | |||
| 22 | diff --git a/gcc/lra-constraints.c b/gcc/lra-constraints.c | ||
| 23 | index f96fd458e23..73fb72a2ea5 100644 | ||
| 24 | --- a/gcc/lra-constraints.c | ||
| 25 | +++ b/gcc/lra-constraints.c | ||
| 26 | @@ -1326,7 +1326,21 @@ process_addr_reg (rtx *loc, bool check_only_p, rtx_insn **before, rtx_insn **aft | ||
| 27 | |||
| 28 | subreg_p = GET_CODE (*loc) == SUBREG; | ||
| 29 | if (subreg_p) | ||
| 30 | - loc = &SUBREG_REG (*loc); | ||
| 31 | + { | ||
| 32 | + reg = SUBREG_REG (*loc); | ||
| 33 | + mode = GET_MODE (reg); | ||
| 34 | + | ||
| 35 | + /* For mode with size bigger than ptr_mode, there unlikely to be "mov" | ||
| 36 | + between two registers with different classes, but there normally will | ||
| 37 | + be "mov" which transfers element of vector register into the general | ||
| 38 | + register, and this normally will be a subreg which should be reloaded | ||
| 39 | + as a whole. This is particularly likely to be triggered when | ||
| 40 | + -fno-split-wide-types specified. */ | ||
| 41 | + if (in_class_p (reg, cl, &new_class) | ||
| 42 | + || GET_MODE_SIZE (mode) <= GET_MODE_SIZE (ptr_mode)) | ||
| 43 | + loc = &SUBREG_REG (*loc); | ||
| 44 | + } | ||
| 45 | + | ||
| 46 | reg = *loc; | ||
| 47 | mode = GET_MODE (reg); | ||
| 48 | if (! REG_P (reg)) | ||
| 49 | -- | ||
| 50 | 2.14.2 | ||
| 51 | |||
