I gave up trying to build a custom gcc track this down, but here's my thinking, and what I did to get around it:
* The optimization bug seems to be in gcc 4.6.1, and is triggered in a corner case. * The bug seems to be fixed in 4.6.2. * I've rearranged the testing code so the bug is no longer triggered on gcc 4.6.1 How does that sound? Acceptable? Cheers, Stef On 12/14/2011 07:08 PM, Andreas Metzler wrote: > On 2011-12-14 Stef Walter <st...@collabora.co.uk> wrote: >> On 2011-12-10 11:06, Andreas Metzler wrote: > [...] >>> The minimal change I found was to just build CuFailInternal() without >>> optimization, by setting > >>> __attribute__((optimize("O0"))) >>> static void CuFailInternal(CuTest* tc, const char* file, int line, >>> CuString* string) > >> Hmmm, I can see this behavior now. If I slightly rearrange any code it >> goes away, and that's why it may be that the above seemingly unrelated >> change fixes the issue. > >> What's happening is that in the test__p11_hash_set_get_clear() gcc is >> reordering function calls. The line _p11_hash_clear() is running after >> the last _p11_hash_get() call, even though it's located before it. I've >> verified this with output to stderr :( > >> So I'm a bit stuck, not sure if I should just refactor the tests to get >> around the obviously broken compiler, or should I try and take this >> upstream? Trying to track down where... > >> The gcc version that I can replicate the issue on is "Ubuntu/Linaro >> 4.6.1-9ubuntu3". > [...] > > Hello, > > FWIW I have tried reporting this to the Debian bts > http://bugs.debian.org/651595 (bug report cced) > cu andreas > _______________________________________________ > p11-glue mailing list > p11-g...@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/p11-glue -- -- Collabora: http://www.collabora.com Personal: http://stef.thewalter.net -- To UNSUBSCRIBE, email to debian-gcc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/4ef465c4.10...@collabora.co.uk