Created attachment 1250551 [details] Test case I have a package (mapnik) that is failing some tests on armv7hl since the switch to gcc 7 in rawhide while still passing on all other platforms. I have extracted the relevant code and narrowed it down as best I can but unfortunately as it involves a boost::spirit parser the 50 lines of source expands to about 6Mb of preprocessed source :-( Test case and preprocessed source are attached - the resulting code should not assert when run but will on armv7hl if compiled with both -O2 and -fstack-protector-strong options. Bisecting the optimisation flags has narrowed it down to the -ftree-pre option, so this produces failing code: g++ -Wall -std=c++11 -O2 -fstack-protector-strong while this produces working code: g++ -Wall -std=c++11 -O2 -fno-tree-pre -fstack-protector-strong
Created attachment 1250552 [details] Compressed preprocessed source for test case
This changed with http://gcc.gnu.org/r235622 aka http://gcc.gnu.org/PR13962 fix. Unfortunately the source is way too large and that optimization makes a lot of changes in the huge source.
This bug appears to have been reported against 'rawhide' during the Fedora 26 development cycle. Changing version to '26'.
This is actually a boost bug, see the upstream PR for details.
I've patched boost in rawhide to workaround this. Not in f26 yet.
This got fixed by a change in gcc-7 instead, so I'm going to close this and remove the patch from rawhide's boost.spec, as it's no longer needed.