Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 May 2019 11:20:14 -0700
From:      Mark Millard <marklmi@yahoo.com>
To:        ports-list freebsd <freebsd-ports@freebsd.org>
Cc:        Jan Beich <jbeich@FreeBSD.org>
Subject:   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?"
Message-ID:  <A0862A43-075F-4760-ABDE-6F3D83C9768F@yahoo.com>

next in thread | raw e-mail | index | archive | help
=46rom 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-1=
8.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=3D330578472) 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=3D<optimized out>, =
file=3D<optimized out>, line=3D<optimized out>, failedexpr=3D<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:253=
1
#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:253=
1
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 =3D N->getValueType(0);
2529	    if (TLI.isOperationExpand(N->getOpcode(), =
VT.getScalarType())) {
2530	      EVT WideVecVT =3D =
TLI.getTypeToTransformTo(*DAG.getContext(), VT);
2531	      assert(!TLI.isOperationLegalOrCustom(N->getOpcode(), =
WideVecVT) &&
2532	             "Target supports vector op, but scalar requires =
expansion?");
2533	      Res =3D 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:=20
********************

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:=20

********************
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'




=3D=3D=3D
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?A0862A43-075F-4760-ABDE-6F3D83C9768F>