On Wed, 26 Apr 2017, Martin Sebor wrote:

> Testing my solution for bug 77671 (missing -Wformat-overflow
> sprintf with "%s") caused a regression in the charset/builtin2.c
> test for bug 25120 (builtin *printf handlers are confused by
> -fexec-charset).  That led me to realize that like -Wformat
> itself, the whole gimple-ssa-sprintf pass is oblivious to
> potential differences between the source character set on
> the host and the execution character set on the target.  As
> a result, when the host and target sets are different, the
> pass misinterprets ordinary format characters as special
> (e.g., parts of directives) and vice versa.
> 
> The attached patch implements a simple solution to this problem
> by introducing a mapping between the two sets.

target_strtol10 appears to do no checking for overflow, which I'd expect 
would result in nonsensical results for large width values overflowing 
host long (whereas strtol would reliably return LONG_MAX in such cases).

-- 
Joseph S. Myers
jos...@codesourcery.com

Reply via email to