wine, gcc and clang with CPUTYPE

Volodymyr Kostyrko c.kworr at gmail.com
Wed Oct 24 07:57:26 UTC 2012


Hi all.

I just have taken some time to inspect CPUTYPE support for clang. It 
seems to me that clang generates incorrect code in some cases.

The first failure point I discovered was inability to build gcc from 
sources or compile something with gcc. Code produced by gcc seem to fail 
whether this was gcc compiled from bootstrap or anything else:

http://lists.freebsd.org/pipermail/freebsd-multimedia/2012-October/013469.html

I started testing by commenting out CPUTYPE in make.conf. After first 
rebuild I also updated the ports and installed new version of 
wine-devel. And to my surprise it works like a charm. Rolling back to 
the world built with CPUTYPE=native makes wine break again.

To my surprise CPUTYPE was not the cause of wine failure per se. Wine 
continues to work for k6, k6-3, athlon and athlon-tbird. But it 
completely fails when the world was built with athlon-4 and athlon-xp.

Trying to recompile gcc I also found that everything works and yet again 
up to the athlon-tbird.

My conclusion is: clang incorrectly produces code within one of core 
libraries (I haven't tested which one yet, but I suspect libgcc_s.so) 
when optimizing for athlon-4 or athlon-xp.

-- 
Sphinx of black quartz, judge my vow.


More information about the freebsd-stable mailing list