On Tue, Oct 28, 2014 at 7:34 PM, <jackie.hu...@windriver.com> wrote: > From: Jackie Huang <jackie.hu...@windriver.com> > > Fixed the ICE: > internal compiler error: in dwarf2out_var_location, at dwarf2out.c:21261 >
this looks ok. but we need the test case too. and a nit more documentation > Signed-off-by: Jackie Huang <jackie.hu...@windriver.com> > --- > meta/recipes-devtools/gcc/gcc-4.9.inc | 1 + > .../0058-gcc-ice-dwarf2out_var_location.patch | 31 > ++++++++++++++++++++++ > 2 files changed, 32 insertions(+) > create mode 100644 > meta/recipes-devtools/gcc/gcc-4.9/0058-gcc-ice-dwarf2out_var_location.patch > > diff --git a/meta/recipes-devtools/gcc/gcc-4.9.inc > b/meta/recipes-devtools/gcc/gcc-4.9.inc > index 9a66cd2..89c405a 100644 > --- a/meta/recipes-devtools/gcc/gcc-4.9.inc > +++ b/meta/recipes-devtools/gcc/gcc-4.9.inc > @@ -71,6 +71,7 @@ SRC_URI = "\ > file://0054-gcc-Makefile.in-fix-parallel-building-failure.patch \ > file://0055-PR-rtl-optimization-61801.patch \ > file://0056-top-level-reorder_gcc-bug-61144.patch \ > + file://0058-gcc-ice-dwarf2out_var_location.patch \ > " > SRC_URI[md5sum] = "fddf71348546af523353bd43d34919c1" > SRC_URI[sha256sum] = > "d334781a124ada6f38e63b545e2a3b8c2183049515a1abab6d513f109f1d717e" > diff --git > a/meta/recipes-devtools/gcc/gcc-4.9/0058-gcc-ice-dwarf2out_var_location.patch > b/meta/recipes-devtools/gcc/gcc-4.9/0058-gcc-ice-dwarf2out_var_location.patch > new file mode 100644 > index 0000000..28e7756 > --- /dev/null > +++ > b/meta/recipes-devtools/gcc/gcc-4.9/0058-gcc-ice-dwarf2out_var_location.patch > @@ -0,0 +1,31 @@ > +From d358f8ba2e530850795adce19bd00b57139d9397 Mon Sep 17 00:00:00 2001 > +From: Baoshan Pang <baoshan.p...@windriver.com> > +Date: Tue, 16 Sep 2014 13:32:13 -0700 > +Subject: [PATCH] Fix ICE in dwarf2out_var_location > + > +Upstream-Status: Backport > + > +Signed-off-by: Baoshan Pang <baoshan.p...@windriver.com> > +--- > + gcc/dwarf2out.c | 5 +++++ > + 1 file changed, 5 insertions(+) > + > +diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c > +index 1df565b..0e1557d 100644 > +--- a/gcc/dwarf2out.c > ++++ b/gcc/dwarf2out.c > +@@ -21255,6 +21255,11 @@ dwarf2out_var_location (rtx loc_note) > + ca_loc->call_arg_loc_note = loc_note; > + ca_loc->next = NULL; > + ca_loc->label = last_label; > ++ while(prev && !CALL_P(prev) && !(GET_CODE (PATTERN (prev)) == SEQUENCE > ++ && CALL_P (XVECEXP (PATTERN (prev), 0, > 0)))){ > ++ gcc_assert(NONJUMP_INSN_P (prev)); > ++ prev = prev_real_insn (prev); > ++ } > + gcc_assert (prev > + && (CALL_P (prev) > + || (NONJUMP_INSN_P (prev) > +-- > +1.7.9.5 > + > -- > 2.0.0 > > -- > _______________________________________________ > Openembedded-core mailing list > Openembedded-core@lists.openembedded.org > http://lists.openembedded.org/mailman/listinfo/openembedded-core -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core