This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH v2] Use edge->indirect_unknown_callee in cgraph_edge::make_direct (PR ipa/89330).
- From: Jeff Law <law at redhat dot com>
- To: Martin Liška <mliska at suse dot cz>, Richard Biener <richard dot guenther at gmail dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>, Andreas Schwab <schwab at suse dot de>, Martin Jambor <mjambor at suse dot cz>
- Date: Wed, 7 Aug 2019 16:08:41 -0600
- Subject: Re: [PATCH v2] Use edge->indirect_unknown_callee in cgraph_edge::make_direct (PR ipa/89330).
- References: <e238458c-64c5-3a56-237a-18823085aced@suse.cz> <CAFiYyc0yxm=L3wpuMfbBOBRPnJBYMJRr6Ng7zdu4-roXC1fONA@mail.gmail.com> <972e1d34-729d-23d2-09a1-cdaf758cda5c@suse.cz> <1b2b43ee-bd5f-2c2f-88ee-20fb558460f6@suse.cz>
On 7/30/19 7:37 AM, Martin Liška wrote:
> Hi.
>
> Thanks to Martin I was able to prepare a proper fix. The issue is that
> cgraph_edge::resolve_speculation can delete this pointer (yes, it's
> super nasty) and so that the caller can't use this->something
> right after the function returns.
>
> For the long term, I'll rework the ::resolve_speculation function.
>
> The patch survives --enable-checking bootstrap on x86_64-linux-gnu.
>
> Ready to be installed after proper testing?
> Thanks,
> Martin
>
Would this possibly be the cause of this error building the kernel:
> /opt/notnfs/law/jenkins/workspace/x86_64-linux-gnu/linux/lib/iov_iter.c: In function 'memcpy_to_page':
> /opt/notnfs/law/jenkins/workspace/x86_64-linux-gnu/linux/lib/iov_iter.c:1718:1: internal compiler error: in gt_ggc_mx_symtab_node, at gtype-desc.c:1382
> 1718 | EXPORT_SYMBOL(iov_iter_for_each_range);
> | ^~~~~~~~~~~~~
> 0x66537c gt_ggc_mx_symtab_node(void*)
> /opt/notnfs/law/jenkins/workspace/x86_64-linux-gnu/obj/gcc/gcc/gtype-desc.c:1382
> CC fs/super.o
> 0xcafbcd gt_ggc_ma_order
> ./gt-passes.h:31
> 0xcafbcd gt_ggc_ma_order
> ./gt-passes.h:26
> 0xac0555 ggc_mark_root_tab
> ../../../gcc/gcc/ggc-common.c:77
> 0xac075c ggc_mark_roots()
> ../../../gcc/gcc/ggc-common.c:94
> 0x8ee485 ggc_collect()
> ../../../gcc/gcc/ggc-page.c:2201
> Please submit a full bug report,
Jeff