Tests fail when gegl 0.4.24 is built with GCC 10.2.0 -fwrapv
I'm not sure this is actually gegl's fault, but I thought it was worth reporting in case any other packagers run into it.
I build gegl in a packaging environment that injects some additional GCC options for security hardening, similar to those used by Debian and Gentoo. One of these options is -fwrapv
, which tells GCC to allow signed integer wraparound (standard C only allows unsigned wraparound, but a lot of older code assumes both are possible, and this prevents GCC from optimising away some badly written bounds checks).
With gcc-9 -fwrapv
and gcc-10
, gegl's tests all pass. With gcc-10 -fwrapv
, the following tests fail:
8/109 gegl:simple / change-processor-rect FAIL 0.37s (exit status 255 or signal 127 SIGinvalid)
16/109 gegl:simple / image-compare FAIL 0.37s (exit status 255 or signal 127 SIGinvalid)
24/109 gegl:simple / opencl-colors SKIP 0.27s
30/109 gegl:mipmap / invert_crop FAIL 0.98s (exit status 3)
31/109 gegl:mipmap / invert FAIL 1.03s (exit status 139 or signal 11 SIGSEGV)
32/109 gegl:mipmap / rotate_crop FAIL 0.98s (exit status 3)
33/109 gegl:mipmap / rotate FAIL 0.92s (exit status 139 or signal 11 SIGSEGV)
34/109 gegl:mipmap / unsharp_crop FAIL 1.03s (exit status 3)
35/109 gegl:mipmap / unsharp FAIL 1.08s (exit status 139 or signal 11 SIGSEGV)
44/109 gegl:ff-load-save / ff-load-save FAIL 4.70s (exit status 0)
45/109 gegl:compositions / compositions_without_opencl FAIL 11.44s (exit status 1)
97/109 gegl:buffers / linear_shift FAIL 0.27s (exit status 1)
Here's a complete build/test log.
Edited by Adam Sampson