[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openembedded-core
Subject:    [OE-core] [PATCH] gcc: fix ICE in dwarf2out_var_location
From:       Jackie.Huang () windriver ! com (Huang, Jie (Jackie))
Date:       2014-10-31 10:00:52
Message-ID: 1B858668EC6A94408DCA5225FDFA85AABD54181C () ALA-MBA ! corp ! ad ! wrs ! com
[Download RAW message or body]



> -----Original Message-----
> From: openembedded-core-bounces at lists.openembedded.org \
> [mailto:openembedded-core- bounces at lists.openembedded.org] On Behalf Of Peter A. \
>                 Bigot
> Sent: Wednesday, October 29, 2014 9:45 PM
> To: openembedded-core at lists.openembedded.org
> Subject: Re: [OE-core] [PATCH] gcc: fix ICE in dwarf2out_var_location
> 
> On 10/29/2014 08:32 AM, Mark Hatle wrote:
> > On 10/29/14, 8:15 AM, Mark Hatle wrote:
> > > On 10/29/14, 5:59 AM, Peter A. Bigot wrote:
> > > > On 10/28/2014 10:41 PM, Khem Raj wrote:
> > > > > On Tue, Oct 28, 2014 at 7:34 PM, <jackie.huang at windriver.com> wrote:
> > > > > > From: Jackie Huang <jackie.huang at 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
> > > > 
> > > > Agreed.  We're getting a lot of Wind River patches these days that
> > > > are pretty sparse on context and justification.
> > > > 
> > > > For backport patches to GCC and most other projects, I'd really love
> > > > to see them provided by cloning the upstream repository and using
> > > > format-patch on the upstream commit that's being backported. This
> > > > practice of discarding all that relevant information in favor of a
> > > > terse
> > > 
> > > I just want to be clear the information isn't being discarded or
> > > "removed".  The original work is being done by taking the latest
> > > tree, and diffing sections of the code to find a relevant fix -- or
> > > looking in the mailing list for discussions on similar problems.
> > > 
> > > Also as far as I know the upstream gcc repository is still SVN, so
> > > the "format-patch" git methods don't work.  Yes, I know there are
> > > people who have converted the GCC SVN to git, but these are not
> > > canonical sources -- so I'm not sure that is really an acceptable
> > > place to work.
> > > 
> > > See: https://gcc.gnu.org
> > > "Our sources are readily and freely available via SVN and weekly
> > > snapshots."
> > 
> > Just to follow up, there is an apparently undocumented git mirror of
> > the SVN on the GNU site.  I still don't know if it's a canonical
> > source, but since it's on the GNU website, I'd have to assume it is.
> > 
> > git://gcc.gnu.org/git/gcc.git
> 
> Yes, that's the one I was referring to.  It's the source of the gcc backport \
> patches I've added to OE. 
> Using it, the specific fix referenced has apparently not been backported to \
> gcc-4_9-branch. 
> Nor does it appear in trunk.
> 
> Trunk has 5e9c670f06b9eaa52db639b888e0b0d15ba864c1 which may or may not be fixing \
> the same bug, but is definitely not this patch.

Yeah, it's not, sorry that the patch I sent is not upstream, the status is wrong, it \
is actually an early version we were using. The upstream version fix for this issue \
is: https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=212171

but it introduced a regression issue:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63348

which has been fixed by:
https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=215613

so I will send v2 with backporting these two patches.

Thanks,
Jackie

> 
> So I'd have to say that, if the submitted patch is a backport, then all the \
> upstream context required to understand it has indeed been removed, and this patch \
> to OE should be retracted. 
> > 
> > (I really wish GNU would get away from SVN...)
> 
> Ditto, but it's unlikely to happen.  Too big an impact to too many
> people.  That mirror is what I've used for gcc work for a couple years now.
> 
> Peter
> 
> > 
> > --Mark
> > 
> > > > submitter-defined description makes it difficult to keep the OE patch
> > > > set current on upstream updates and trust in the appropriateness of the
> > > > patch.  Add only your sign-off and the Upstream-Status with a reference
> > > > to the upstream bugreport.
> > > 
> > > As for the other component critiques, I agree.. the message needs more
> > > information, and if possible more information on what the backport
> > > actually
> > > originated from is needed as well.  This example is terse at best and
> > > generally
> > > not acceptable.
> > > 
> > > --Mark
> > > 
> > > > You might look at gcc-4.9's OE patch
> > > > 0055-PR-rtl-optimization-61801.patch for an example.
> > > > 
> > > > Peter
> > > > 
> > > > > 
> > > > > > Signed-off-by: Jackie Huang <jackie.huang at 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.pang at 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.pang at 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 at lists.openembedded.org
> > > > > > http://lists.openembedded.org/mailman/listinfo/openembedded-core
> > > > 
> > > 
> > 
> 
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic