În ziua de sâmbătă, 14 mai 2016, la 13:57:35 EEST, Willy Tarreau a scris: > On Sat, May 14, 2016 at 02:36:39PM +0300, Arthur ??i??eic?? wrote: > > În ziua de vineri, 13 mai 2016, la 23:47:07 EEST, Willy Tarreau a scris: > > > On Fri, May 13, 2016 at 11:25:28PM +0200, Cyril Bonté wrote: > > > > > In the mean time, there may be a -fsomething option to disable a > > > > > bogus optimization which causes this, but that's not easy to spot > > > > > as it will depend on any side effect of other code :-/ > > > > > > > > I was trying to identify one, and indeed, once I add "-fno-tree-sra", > > > > it > > > > works as expected. > > > > > > This one already exists in gcc 4 and 5, so its implementation might be > > > bogus> > > > > in 6. The doc says : > > > -ftree-sra > > > > > > Perform scalar replacement of aggregates. This pass replaces > > > structure references with scalars to prevent committing > > > > > > structures to memory too early. This flag is enabled by default at -O > > > and > > > higher. > > > > > > Thus I suspect that by delaying memory references a bit too much they > > > end > > > up completely forgetting to commit the changes :-/ > > > > Thank you everyone for the effort to diagnose this. > > > > I've also managed to build 1.6.5 with "-fno-tree-sra" and I confirm that > > all seems to be working as expected. > > > > I'll pass the info in this thread to the Arch Linux maintainers. > > I don't think they'll go back to gcc 5 but so far the additional flag > > seems > > like the better option. > > What is the most important is to report this to the gcc maintainers so that > they can fix the bug. The fix will naturally flow into the distros. >
I understand this and of course I could try to fill a bug on their side but the gcc stuff is a bit out of my league.