Summary: | clang-6.0.0 crashes building multimedia/libvpx | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | Base System | Reporter: | Pawel Pekala <pawel> | ||||||
Component: | bin | Assignee: | freebsd-toolchain (Nobody) <toolchain> | ||||||
Status: | Closed FIXED | ||||||||
Severity: | Affects Some People | CC: | cem, dim, emaste, jbeich | ||||||
Priority: | --- | ||||||||
Version: | CURRENT | ||||||||
Hardware: | amd64 | ||||||||
OS: | Any | ||||||||
Bug Depends on: | |||||||||
Bug Blocks: | 224669 | ||||||||
Attachments: |
|
Description
Pawel Pekala
2018-01-27 12:13:37 UTC
Created attachment 190105 [details]
shell file
sad4d_avx512-2e4c36.c is 2.4MB and cannot be attached. I can send it privately if someone is interested in this bug.
(In reply to Pawel Pekala from comment #0) > vpx_dsp/x86/variance_sse2.c A few lines below it says vpx_dsp/x86/sad4d_avx512.c. After playing a bit with attachment 190105 [details] the issue seems to be -march=native injecting -mno-sse4.1 which isn't reverted by -mavx* e.g., $ cd /usr/ports/multimedia/libvpx $ make clean configure $ cd `make -V WRKSRC` $ gmake vpx_dsp_rtcd.h $ cc -mno-sse4.1 -mavx512bw -I. -c -o vpx_dsp/x86/sad4d_avx512.c.o vpx_dsp/x86/sad4d_avx512.c (In reply to Pawel Pekala from comment #1) > sad4d_avx512-2e4c36.c is 2.4MB and cannot be attached. Compressing with xz(1) should've worked as well e.g., bug 225086 has one 8.5MB large if uncompressed. Created attachment 190111 [details]
c file
Removing -march=native from CFLAGS leads to correct build. A commit references this bug: Author: dim Date: Sun Jan 28 16:10:41 UTC 2018 New revision: 328513 URL: https://svnweb.freebsd.org/changeset/base/328513 Log: Pull in r322245 from upstream clang trunk (by Craig Topper): [X86] Make -mavx512f imply -mfma and -mf16c in the frontend like it does in the backend. Similarly, make -mno-fma and -mno-f16c imply -mno-avx512f. Withou this "-mno-sse -mavx512f" ends up with avx512f being enabled in the frontend but disabled in the backend. Reported by: pawel PR: 225488 Changes: head/contrib/llvm/tools/clang/lib/Basic/Targets/X86.cpp Fixed in r328513. I have also submitted a request upstream to merge it into the clang 6.0 branch. |