Date: Sat, 26 Sep 2020 21:55:33 +0200 From: Marek Zarychta <zarychtam@plan-b.pwste.edu.pl> To: Dimitry Andric <dim@freebsd.org> Cc: freebsd-current@freebsd.org Subject: Re: clang build buggy code with certain CPUTYPE setting Message-ID: <20200926195533.GA16596@plan-b.pwste.edu.pl> In-Reply-To: <6AA016B6-EEAC-4580-B7F0-9D274ADA9E73@FreeBSD.org> References: <20200926114045.GA31128@plan-b.pwste.edu.pl> <6AA016B6-EEAC-4580-B7F0-9D274ADA9E73@FreeBSD.org>
index | next in thread | previous in thread | raw e-mail
[-- Attachment #1 --] On Sat, Sep 26, 2020 at 05:48:33PM +0200, Dimitry Andric wrote: > On 26 Sep 2020, at 13:40, Marek Zarychta <zarychtam@plan-b.pwste.edu.pl> wrote: > > > > I have done a few builds of CURRENT in a row one or two weeks apart. The > > builds with CPUTYPE?=amdfam10 set produce buggy code, for example while > > running mergemaster I get this error: > > > > PLEASE submit a bug report to https://bugs.freebsd.org/submit/ and > > include the crash backtrace, preprocessed source, and associated run > > script. > > Stack dump: > > 0. Program arguments: cc --version > > #0 0x00000000040ede6e (/usr/bin/cc+0x40ede6e) > > #1 0x00000000040ec0e5 (/usr/bin/cc+0x40ec0e5) > > #2 0x00000000040ee550 (/usr/bin/cc+0x40ee550) > > #3 0x000000080553babe (/lib/libthr.so.3+0x19abe) > > Illegal instruction > > make: "/usr/src/share/mk/bsd.compiler.mk" line 181: Unable to determine > > compiler type for CC=cc. Consider setting COMPILER_TYPE. > > > > The 13-CURRENT world built without CPUTYPE runs fine, the same for > > recent 12.2-STABLE world build with CPUTYPE?=amdfam10 on the same > > machine. > > Hi Marek, > > In r365507 (on 2020-09-09) I committed a fix for amdfam10: > > ------------------------------------------------------------------------ > r365507 | dim | 2020-09-09 20:11:04 +0200 (Wed, 09 Sep 2020) | 17 lines > > Merge commit e6bb4c8e7 from llvm git (by Craig Topper): > > [X86] SSE4_A should only imply SSE3 not SSSE3 in the frontend. > > SSE4_1 and SSE4_2 due imply SSSE3. So I guess I got confused when > switching the code to being table based in D83273. > > Fixes PR47464 > > This should fix builds with -march=amdfam10 emitting SSSE3 instructions > such as pshufb, which lead to programs crashing with SIGILL on such > processors. > > Reported by: avg > MFC after: 6 weeks > X-MFC-With: r364284 > > So I expect that the "Illegal instruction" you are seeing is an SSSE3 > instruction. If this happens with your base compiler, please get a > known-good copy from one of the snapshot images. Ensure your /usr/src is > r365507 or later, then do a full buildworld and reinstall. > > -Dimitry > Dear Dimitry, Thank you for the information and for the fix. Sadly I must admit it doesn't work for me. I have tried two builds with fresh sources today to be certain and it looks like the bug is still present on FreeBSD 13-CURRENT r366186. Either the upstream fixed it only partially or it is another bug. As a workaround, I will build worlds without CPUTYPE?=amdfam10 for a while. I hope the problem will be resolved before clang 11 is MFCed to 12-STABLE. -- Marek Zarychta [-- Attachment #2 --] -----BEGIN PGP SIGNATURE----- iQEzBAABCAAdFiEEMOqvKm6wKvS1/ZeCdZ/s//1SjSwFAl9vnLIACgkQdZ/s//1S jSxqlwf/fKaRVWpTLv5YT2Eyfnybt25U/SEwSpq33UQv+ItZyG34tcl/G/euoSWv Ot9tFMnAHXS0CziyOVMyIS/70HnAgnZNlpRUuQI1eVOGLTcgwoH0wQ/QlFFTBssw XlcohMfjnZI+bHspY/iu9BfjMQTl500Bap1TAvaDbNEnTw/xurxiZkQScGkmf7Vi KENrPmeLzU58z7k2xmQpZA1YpDNu4Yz2QNcSIq0WGFSf/BHHev8L2gNfUpoAc3qM /RAFZmTc4sQ6Ghp9NpZy+iwL+4cAu1FVNBFAwotAi4M0uPRCRguMIrDi9EtUtYKf 0a5q2tF0kSuKEYoJO9t1kNTthqN/LA== =feP7 -----END PGP SIGNATURE-----help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20200926195533.GA16596>
