This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH] Move Asan instrumentation to sanopt pass
- From: Yuri Gribov <tetra2005 at gmail dot com>
- To: Jakub Jelinek <jakub at redhat dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>, Konstantin Serebryany <kcc at gcc dot gnu dot org>, Dmitry Vyukov <dvyukov at google dot com>, Viacheslav Garbuzov <v dot garbuzov at samsung dot com>, Marek Polacek <polacek at redhat dot com>
- Date: Fri, 18 Jul 2014 22:21:16 +0400
- Subject: Re: [PATCH] Move Asan instrumentation to sanopt pass
- Authentication-results: sourceware.org; auth=none
- References: <CAJOtW+6o6bFKDef5X81qL-Y2dw5fHT5Zoi-eYmsnveeoBd2jJA at mail dot gmail dot com> <20140718172323 dot GL3003 at laptop dot redhat dot com>
On Fri, Jul 18, 2014 at 9:23 PM, Jakub Jelinek <email@example.com> wrote:
> On Fri, Jul 18, 2014 at 08:42:35PM +0400, Yuri Gribov wrote:
>> > Uh. Can you please explain this? That sounds weird.
>> Sure, this caused maybe-uninitialized warnings with iterator during
>> bootstrap. It turned out that *bb_seq_addr (bb) in gsi_start (bb)
>> returned something like bb.flags & GIMPLE ? bb.il.gimple.seq : NULL
>> and when GCC saw *NULL it rushed to generated uninitialized read. This
>> assert silences compiler.
> Why it doesn't trip elsewhere? Do you get the maybe-uninit warning
> on asan.c or somewhere else without that?
Just in pass_sanopt::execute in asan.c.