powerpc64 graphics/mesa-dri build failure in poudriere, system clang's /usr/bin/cc got assert failure: "Target supports vector op, but scalar requires expansion?"
Mark Millard
marklmi at yahoo.com
Thu May 23 18:47:05 UTC 2019
[Just sending to toolchain and powerpc lists as well. Somehow I
missed listing them the first time I sent this out.]
On 2019-May-23, at 11:20, Mark Millard <marklmi at yahoo.com> wrote:
> From a poudriere bulk build in a powerpc64 context (old PowerMac)
> that was built with and uses system clang 8 and base/binutils
> instead of the gcc 4.2.1 toolchain. I got:
>
> [09:05:56] [04] [00:14:42] Saved graphics/mesa-dri | mesa-dri-18.3.2_2 wrkdir to: /usr/local/poudriere/data/wrkdirs/FBSDpowerpc64-default/default/mesa-dri-18.3.2_2.tbz
> [09:05:57] [04] [00:14:43] Finished graphics/mesa-dri | mesa-dri-18.3.2_2: Failed: build
> [09:05:59] [04] [00:14:45] Skipping x11-drivers/xf86-input-keyboard | xf86-input-keyboard-1.9.0_3: Dependent port graphics/mesa-dri | mesa-dri-18.3.2_2 failed
> [09:05:59] [04] [00:14:45] Skipping x11-drivers/xf86-input-mouse | xf86-input-mouse-1.9.3_2: Dependent port graphics/mesa-dri | mesa-dri-18.3.2_2 failed
> [09:05:59] [04] [00:14:45] Skipping x11-drivers/xf86-video-scfb | xf86-video-scfb-0.0.4_7: Dependent port graphics/mesa-dri | mesa-dri-18.3.2_2 failed
> [09:05:59] [04] [00:14:45] Skipping x11-drivers/xf86-video-vesa | xf86-video-vesa-2.4.0_2: Dependent port graphics/mesa-dri | mesa-dri-18.3.2_2 failed
> [09:05:59] [04] [00:14:45] Skipping x11/xorg-minimal | xorg-minimal-7.5.2_2: Dependent port graphics/mesa-dri | mesa-dri-18.3.2_2 failed
> [09:05:59] [04] [00:14:45] Skipping x11-servers/xorg-server | xorg-server-1.18.4_11,1: Dependent port graphics/mesa-dri | mesa-dri-18.3.2_2 failed
>
> I do have a backtrace:
>
> . . .
> Core was generated by `/usr/bin/cc -cc1 -triple powerpc64-unknown-freebsd13.0 -emit-obj -disable-free -'.
> Program terminated with signal SIGABRT, Aborted.
> #0 .__sys_thr_kill () at thr_kill.S:3
> 3 RSYSCALL(thr_kill)
> (gdb) bt
> #0 .__sys_thr_kill () at thr_kill.S:3
> #1 0x00000000133072d0 in __raise (s=330578472) at /usr/src/lib/libc/gen/raise.c:52
> #2 0x00000000132c7898 in abort () at /usr/src/lib/libc/stdlib/abort.c:79
> #3 0x00000000132f6c64 in __assert (func=<optimized out>, file=<optimized out>, line=<optimized out>, failedexpr=<optimized out>) at /usr/src/lib/libc/gen/assert.c:51
> #4 0x00000000130f7c18 in WidenVectorResult () at /usr/src/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp:2531
> #5 0x0000000012ad91f0 in run () at /usr/src/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp:281
> #6 0x0000000012adfa5c in LegalizeTypes () at /usr/src/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp:1115
> #7 0x000000001297ebb4 in CodeGenAndEmitDAG () at /usr/src/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:776
> #8 0x000000001297e114 in SelectBasicBlock () at /usr/src/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:669
> #9 0x000000001297cbc4 in SelectAllBasicBlocks () at /usr/src/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1784
> #10 0x0000000000000000 in ?? ()
>
> (gdb) up 4
> #4 0x00000000130f7c18 in WidenVectorResult () at /usr/src/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp:2531
> 2531 assert(!TLI.isOperationLegalOrCustom(N->getOpcode(), WideVecVT) &&
>
> (gdb) list
> 2526 // libcalls on the undef elements. We are assuming that if the scalar op
> 2527 // requires expanding, then the vector op needs expanding too.
> 2528 EVT VT = N->getValueType(0);
> 2529 if (TLI.isOperationExpand(N->getOpcode(), VT.getScalarType())) {
> 2530 EVT WideVecVT = TLI.getTypeToTransformTo(*DAG.getContext(), VT);
> 2531 assert(!TLI.isOperationLegalOrCustom(N->getOpcode(), WideVecVT) &&
> 2532 "Target supports vector op, but scalar requires expansion?");
> 2533 Res = DAG.UnrollVectorOp(N, WideVecVT.getVectorNumElements());
> 2534 break;
> 2535 }
>
>
>
> Unfortunately poudiere bulk tar archives of failures do not
> catch the /tmp/* material from:
>
> cc: error: unable to execute command: Abort trap (core dumped)
> cc: error: clang frontend command failed due to signal (use -v to see invocation)
> FreeBSD clang version 8.0.0 (tags/RELEASE_800/final 356365) (based on LLVM 8.0.0)
> Target: powerpc64-unknown-freebsd13.0
> Thread model: posix
> InstalledDir: /usr/bin
> cc: note: diagnostic msg: PLEASE submit a bug report to https://bugs.freebsd.org/submit/ and include the crash backtrace, preprocessed source, and associated run script.
> cc: note: diagnostic msg:
> ********************
>
> PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
> Preprocessed source(s) and associated run script(s) are located at:
> cc: note: diagnostic msg: /tmp/nir_constant_expressions-b77016.c
> cc: note: diagnostic msg: /tmp/nir_constant_expressions-b77016.sh
> cc: note: diagnostic msg:
>
> ********************
> gmake[5]: *** [Makefile:2829: nir/nir_constant_expressions.lo] Error 1
> gmake[5]: *** Waiting for unfinished jobs....
> gmake[5]: Leaving directory '/wrkdirs/usr/ports/graphics/mesa-dri/work/mesa-18.3.2/src/compiler'
===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)
More information about the freebsd-ppc
mailing list