24.10.2012 13:05, Dimitry Andric wrote:
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

Can you attempt to figure out what the illegal instruction was, in that
case?

How can I do that? I'm not very familiar with gdb.

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.

On the problematic athlons, can you please post the exact CPUIDs from
dmesg?  If you have WITH_CLANG_EXTRAS enabled, please also post the
output of "opt -version".

Oct 24 01:47:20 limbo kernel: CPU: AMD Athlon(tm) XP 2500+ (1833.95-MHz 686-class CPU) Oct 24 01:47:20 limbo kernel: Origin = "AuthenticAMD" Id = 0x6a0 Family = 0x6 Model = 0xa Stepping = 0 Oct 24 01:47:20 limbo kernel: Features=0x383fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE> Oct 24 01:47:20 limbo kernel: AMD Features=0xc0400800<SYSCALL,MMX+,3DNow!+,3DNow!>

I will rebuild WITH_CLANG_EXTRAS.

--
Sphinx of black quartz, judge my vow.
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[email protected]"

Reply via email to