This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Move static chain and non-local goto init after NOTE_INSN_FUNCTION_BEG (PR sanitize/81186).
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Martin Liška <mliska at suse dot cz>
- Cc: Michael Matz <matz at suse dot de>, gcc-patches at gcc dot gnu dot org
- Date: Tue, 25 Jul 2017 14:49:28 +0200
- Subject: Re: [PATCH] Move static chain and non-local goto init after NOTE_INSN_FUNCTION_BEG (PR sanitize/81186).
- Authentication-results: sourceware.org; auth=none
- Authentication-results: ext-mx06.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com
- Authentication-results: ext-mx06.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=jakub at redhat dot com
- Dmarc-filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 29A25356F4
- References: <25c189f3-82db-eaa2-8803-2d7ab0727055@suse.cz> <alpine.LSU.2.20.1706271720380.12691@wotan.suse.de> <4846559c-7951-6d3e-e4ac-85ec7b8c3c19@suse.cz> <alpine.LSU.2.20.1706301539580.12691@wotan.suse.de> <e12f8746-3293-56d8-c52a-a88094e89826@suse.cz> <alpine.LSU.2.20.1707141537500.12691@wotan.suse.de> <12b96c93-4ec2-5b67-7ae8-5551b5aadeb5@suse.cz> <alpine.LSU.2.20.1707171455390.12691@wotan.suse.de> <99d1bcb3-5213-d21d-d1ee-205c1420146f@suse.cz>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Tue, Jul 18, 2017 at 10:38:50AM +0200, Martin Liška wrote:
> 2017-06-27 Martin Liska <mliska@suse.cz>
>
> PR sanitize/81186
8 spaces instead of tab?
> * function.c (expand_function_start): Set parm_birth_insn after
> static chain is initialized.
I don't like this description, after all, parm_birth_insn was set
after static chain initialization before too (just not right after it
in some cases). The important change is that you've moved parm_birth_insn
before the nonlocal_goto_save_area setup code, so IMHO the ChangeLog entry
should say that.
As for the patch itself, there are many spots which insert some code
before or after parm_birth_insn or spots tied to the NOTE_INSN_FUNCTION_BEG
note, but I'd hope nothing inserted there can actually call functions that
perform non-local gotos, so I think the patch is fine. And for debug info
experience which is also related to NOTE_INSN_FUNCTION_BEG, I think the nl
goto save area is nothing that can be seen in the debugger unless you know
where it is, so the only change might be if you put a breakpoint on the end
of prologue (i.e. NOTE_INSN_FUNCTION_BEG) and call from inferios some
function that performs a non-local goto. I think there are no barriers
on that initialization anyway, so scheduler can move it around.
Thus, ok for trunk/7.2 with the above suggested ChangeLog change.
Jakub