Tuesday, March 02, 2021

Re: aarch64 bulk build report

On 2021/03/01 16:06, phessler@openbsd.org wrote:
> bulk build on arm64.ports.openbsd.org
> started on Fri Feb 26 03:16:18 MST 2021
> finished at Mon Mar 1 16:06:12 MST 2021
> lasted 3D12h49m
> done with kern.version=OpenBSD 6.9-beta (GENERIC.MP) #1041: Fri Feb 26 02:14:59 MST 2021
>
> built packages:11001
> Feb 26:3589
> Feb 27:844
> Feb 28:1368
> Mar 1:5199
>
>
> critical path missing pkgs: http://build-failures.rhaalovely.net/aarch64/2021-02-26/summary.log
>
> build failures: 50

Several of these failures are quite similar backend code generator problems.
More details from one of the failures:

> http://build-failures.rhaalovely.net/aarch64/2021-02-26/converters/wv2.log

I've built it locally and saved the reproducer (attached).
Can be tested on amd64 too if you have ports-clang installed and modify
the script from /usr/bin/c++ to /usr/local/bin/clang++.

Does anyone have clang on another OS or a newer version handy that they
could test with? (I've tried updating the ports version but have thus
far failed to merge the patches to get something which builds).

FAILED: src/CMakeFiles/wv2Static.dir/lists.cpp.o
/usr/obj/ports/wv2-0.4.2/bin/c++ -DHAVE_CONFIG_H -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include/libgsf-1 -I/usr/local/include -I/usr/local/include/libxml2 -I/usr/obj/ports/wv2-0.4.2/wv2-0.4.2/src -I. -O2 -pipe -DNDEBUG -MD -MT src/CMakeFiles/wv2Static.dir/lists.cpp.o -MF src/CMakeFiles/wv2Static.dir/lists.cpp.o.d -o src/CMakeFiles/wv2Static.dir/lists.cpp.o -c /usr/obj/ports/wv2-0.4.2/wv2-0.4.2/src/lists.cpp
fatal error: error in backend: Cannot select: 0x49f6ccaf8: v16i8 = bitcast 0x49f6cc6e8
0x49f6cc6e8: v4i16 = truncate 0x4e4955f70
0x4e4955f70: v4i32 = llvm.aarch64.neon.ushl Constant:i32<453>, 0x4c061c068, 0x4e49558f0
0x4e4955958: i32 = Constant<453>
0x4c061c068: v4i32 = AArch64ISD::BICi 0x49f6ccf08, Constant:i32<255>, Constant:i32<24>
0x49f6ccf08: v4i32 = AArch64ISD::DUP 0x4912680d0
0x4912680d0: i32 = or 0x4f00f5270, 0x4f00f50d0
0x4f00f5270: i32 = or 0x43c458d00, 0x43c458c30
0x43c458d00: i32 = shl 0x4f00f5d00, Constant:i64<8>
0x4f00f5d00: i32,ch = load<(load 1 from %ir.15 + 1), zext from i8> 0x4e49557b8, 0x43d331af8, undef:i64
0x43d331af8: i64 = add 0x43c4587b8, Constant:i64<186>


0x4912687b8: i64 = undef
0x4b44cedd0: i64 = Constant<8>
0x43c458c30: i32,i64,ch = load<(load 1 from %ir.15), zext from i8, <pre-inc>> 0x4e49557b8, 0x43c4587b8, Constant:i64<185>
0x43c4587b8: i64,ch = load<(load 8 from %ir.3)> 0x41bb23868, 0x43c458618, undef:i64
0x43c458618: i64 = add nuw 0x43d331208, Constant:i64<56>


0x4912687b8: i64 = undef
0x43c458680: i64 = Constant<185>
0x4f00f50d0: i32 = shl 0x491268958, Constant:i64<16>
0x491268958: i32,ch = load<(load 1 from %ir.15 + 2), zext from i8> 0x4e49557b8, 0x43d3311a0, undef:i64
0x43d3311a0: i64 = add 0x43c458c30:1, Constant:i64<2>
0x43c458c30: i32,i64,ch = load<(load 1 from %ir.15), zext from i8, <pre-inc>> 0x4e49557b8, 0x43c4587b8, Constant:i64<185>


0x4f00f5820: i64 = Constant<2>
0x4912687b8: i64 = undef
0x4f00f5478: i64 = Constant<16>
0x49f6ccf70: i32 = Constant<255>
0x4c061c000: i32 = Constant<24>
0x4e49558f0: v4i32 = AArch64ISD::NEG 0x4f00f5888
0x4f00f5888: v4i32,ch = load<(load 16 from constant-pool)> 0x41bb23868, 0x4b44ce4e0, undef:i64
0x4b44ce4e0: i64 = AArch64ISD::ADDlow 0x4b44ce3a8, TargetConstantPool:i64<<4 x i32> <i32 6, i32 7, i32 8, i32 9>> 0 [TF=34]
0x4b44ce3a8: i64 = AArch64ISD::ADRP TargetConstantPool:i64<<4 x i32> <i32 6, i32 7, i32 8, i32 9>> 0 [TF=1]
0x4e4955000: i64 = TargetConstantPool<<4 x i32> <i32 6, i32 7, i32 8, i32 9>> 0 [TF=1]
0x43d331d00: i64 = TargetConstantPool<<4 x i32> <i32 6, i32 7, i32 8, i32 9>> 0 [TF=34]
0x4912687b8: i64 = undef
In function: _ZN6wvWare16ListInfoProvider17convertCompatANLDEv
Stack dump:
0. Program arguments: /usr/bin/c++ -B /usr/obj/ports/wv2-0.4.2/bin -O2 -pipe -DHAVE_CONFIG_H -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include/libgsf-1 -I/usr/local/include -I/usr/local/include/libxml2 -I/usr/obj/ports/wv2-0.4.2/wv2-0.4.2/src -I. -DNDEBUG -c -MD -MT src/CMakeFiles/wv2Static.dir/lists.cpp.o -MF src/CMakeFiles/wv2Static.dir/lists.cpp.o.d -o src/CMakeFiles/wv2Static.dir/lists.cpp.o /usr/obj/ports/wv2-0.4.2/wv2-0.4.2/src/lists.cpp
1. <eof> parser at end of file
2. Code generation
3. Running pass 'Function Pass Manager' on module '/usr/obj/ports/wv2-0.4.2/wv2-0.4.2/src/lists.cpp'.
4. Running pass 'AArch64 Instruction Selection' on function '@_ZN6wvWare16ListInfoProvider17convertCompatANLDEv'
c++: error: clang frontend command failed with exit code 70 (use -v to see invocation)
OpenBSD clang version 10.0.1
Target: aarch64-unknown-openbsd6.9
Thread model: posix
InstalledDir: /usr/bin
c++: note: diagnostic msg: PLEASE submit a bug report to http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and associated run script.
c++: note: diagnostic msg:
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
c++: note: diagnostic msg: /tmp/lists-667b7a.cpp
c++: note: diagnostic msg: /tmp/lists-667b7a.sh
c++: note: diagnostic msg:

********************
ninja: build stopped: subcommand failed.

No comments:

Post a Comment