On Wed, Feb 08, 2017 at 01:11:32PM +0100, Marek Skalický wrote: > Marek Polacek píše v Út 07. 02. 2017 v 22:32 +0100: > > It's been a tradition now that every January we rebuild all the > > Fedora packages > > with the upcoming GCC, to reveal as many bugs as possible before we > > release > > the new version. This year is no different. > > > > There were 18811 packages overall (last year we had 17741 packages). > > 17263 built fine with the new GCC (mostly gcc-7.0.0-0.1.fc26.src.rpm > > but I also > > used a newer version from rawhide). 1350 failed with both GCC 6 and > > GCC 7, > > so I ignored these. This left us with ~198 packages that had to be > > analyzed, > > a number which, fortunately, was smaller than last year, when we'd > > had 577 FTBFS to > > investigate. > > MongoDB is not failing in your rebuild. However latest minor upgrade > (v3.4.2) with gcc 7 is failing. > I've figured out, that is optimization issue (with -O0 it is fine, with > -01 it is failing) and it is ONLY ON ppc64le (other architectures are > fine). The test mass rebuild has been performed on x86_64 only. > I know which file is cause this issue, but I can't figure out with > which optimization. I get what changes between O0 and O1 in output of > 'gcc -O0/1 -Q --help=optimizers' and compiled with -O0 and flags of > individual optimizations (which are added by O1), but failure does not > appear. > > What else differs in -O1? How should I debug it? Many things, and many things aren't even controlled by -f* switches, at -O0 most of the optimization passes are short-cut. I'd suggest try -fsanitize=undefined and/or -fsanitize=address to check if there aren't any obvious bugs in the code, if not, and e.g. -fno-inline -O1 still reproduces it, try to find which function is problematic (e.g. through addition of __attribute__((optimize (0))) to functions within the source and bisecting that way). If a single function is discovered, then one can often stub functions it calls and write main that calls that function with the right arguments to provide self-contained testcase. Or just file a rhbz with as many details as you can find. Jakub _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx