On 7/30/2021 10:19 AM, Aldy Hernandez via Libc-alpha wrote:
There's a new jump threader in GCC which is much more aggressive, and may trigger latent problems with other warning passes, especially -Warray-bounds, -Woverflow, and -Wuninitialized.
[ ... ] Ugh. First attempt got blocked as message was slightly too big.I think this is pretty generic as I've seen it on multiple ports and Joseph mentioned them as well.
With an s390-linux-gnu (not s390x!) cross compiler you should be able to trigger:
bash-5.1# s390-linux-gnu-gcc -std=gnu99 -O2 -Wall -mlong-double-128 *.i In file included from t.61.c:437: In function 'from_t_61_single', inlined from 'gconv' at ../iconv/skeleton.c:568:15:../iconv/loop.c:440:22: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
In file included from t.61.c:437: ../iconv/loop.c: In function 'gconv':../iconv/loop.c:382:17: note: at offset 2 into destination object 'bytebuf' of size 2
I don't know if it's a real failure or a false positive. I haven't even bisected, but I suspect the new threader is the triggering change. Ideally the threader threaded a path we hadn't previously and by some chain of events exposed a out of bounds write that needs to be fixed.
Jeff
t.61.i.gz
Description: GNU Zip compressed data