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 19:07:16 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-ports mailing list