On 02/09/2015 12:29 PM, Jakub Jelinek wrote:
> On Mon, Feb 09, 2015 at 10:50:34AM +0100, Andreas Krebbel wrote:
>> Hi,
>>
>> the attached patch fixes a critical problem in the va_start expansion
>> code in the S/390 backend. The problem exists since GCC 4.0.
>>
>> Ok to commit to 4.9 branch and mainline?
> 
> No.  This isn't a backend problem, but a bug in the tree-stdarg.c pass,
> so should be fixed there, for all targets, rather than just worked around by
> pessimizing unnecessarily one target.

I think for the overflow area pointer we would need a different flag indicating 
whether a pointer to
the va_list structure escapes or not. To my understanding it is not correct to 
only use the
va_list_gpr_size/va_list_fpr_size fields for that purpose. These only refer to 
the va_arg expansions
in the current function.

Other backends rs6000/i386 unconditionally set up the overflow area pointer.

-Andreas-

Reply via email to