On 03/06/2015 01:01 PM, Michael Cronenworth wrote:
That's an official build, by Andreas, which would have hardening and wine-staging applied. We would want Wine built that way in a perfect world.
Update:
Bisecting was not any help. I've gone back several years and the issue(s) are present.
After starting at the core library and working backwards I have narrowed down the problem to three functions (so far). See the attached patch. This code has largely been the same for a decade.
I have only diagnosed the RtlConvertSidToUnicodeString() in detail. The problem lies in the for() loop. Adding a function that involves a static string just above the for loop negates the issue. Related to the -f-move-loop-invariants optimization. The wine code has not changed... in 10 years. I will move this discussion to the gcc list once I can find a smaller reproducer.