Recent commits to -HEAD blow up cross-compile for PI3 (and possibly others)

From: Karl Denninger <karl_at_denninger.net>
Date: Mon, 15 Jan 2018 12:44:17 -0600
There has been trouble cross-compiling for the RPI3 for a while now,
which I have filed a report on with the Crochet people here:
https://github.com/freebsd/crochet/issues/222

This stemmed from an older LLVM version on my 11.1 box, which I rolled
forward -- and resulted in blowups claiming that there was a permission
problem with posix_spawn (!)

Now, having tried to roll my -HEAD repo forward it's failing *much*
earlier, starting with warnings about ATOMIC_ASM:

--- getarg.o ---
cc  -O2 -pipe -I/pics/CrossBuild-Head/src/crypto/heimdal/lib/roken -I. 
-DHAVE_C
ONFIG_H -I/pics/CrossBuild-Head/src/kerberos5/include -MD 
-MF.depend.getarg.o -
MTgetarg.o -std=gnu99  -Qunused-arguments 
-I/pics/Crochet-work-HEAD/obj/pics/Cr
ossBuild-Head/src/arm64.aarch64/tmp/legacy/usr/include -c
/pics/CrossBuild-Head/
src/crypto/heimdal/lib/roken/getarg.c -o getarg.o
--- _bootstrap-tools-usr.bin/localedef ---
In file included from
/pics/CrossBuild-Head/src/usr.bin/localedef/collate.c:50:
In file included from
/pics/CrossBuild-Head/src/lib/libc/locale/collate.h:44:
/pics/CrossBuild-Head/src/lib/libc/locale/xlocale_private.h:170:18:
warning: pas
sing 'long *' to parameter of type 'volatile u_long *' (aka 'volatile
unsigned l
ong *') converts between pointers to integer types with different sign
[-Wpointe
r-sign]
        atomic_add_long(&(obj->retain_count), 1);
                        ^~~~~~~~~~~~~~~~~~~~
/usr/include/machine/atomic.h:467:1: note: passing argument to parameter
'p' her
e
ATOMIC_ASM(add,      long,  "addq %1,%0",  "ir",  v);
^
/usr/include/machine/atomic.h:141:43: note: expanded from macro 'ATOMIC_ASM'
atomic_##NAME##_##TYPE(volatile u_##TYPE *p, u_##TYPE v)\

And then failing to build llvm entirely starting here:

===> lib/clang/libllvm (all)
llvm-tblgen -gen-dag-isel  -I
/pics/CrossBuild-Head/src/contrib/llvm/include -I
/pics/CrossBuild-Head/src/contrib/llvm/lib/Target/AArch64  -d
AArch64GenDAGISel.inc.d -o AArch64GenDAGISel.inc 
/pics/CrossBuild-Head/src/contrib/llvm/lib/Target/AArch64/AArch64.td
FCVTZSv8f16:    (set V128:v16i16:$Rd, (fp_to_sint:<empty> V128:v1f32:$Rn))
Included from
/pics/CrossBuild-Head/src/contrib/llvm/lib/Target/AArch64/AArch64.td:178:
/pics/CrossBuild-Head/src/contrib/llvm/lib/Target/AArch64/AArch64InstrInfo.td:2951:1:
error: In FCVTZSv8f16: Type inference contradiction found, forcing
'{v16i8:v32i8:v8i16:v16i16:v4i32:v8i32:v2i64:v4i64:nxv4i1:nxv8i1:nxv16i1:nxv32i1:nxv32i8:nxv16i16:nxv8i32:nxv4i64}'
to have same number elements as 'v1f32'
defm FCVTZS : SIMDTwoVectorFPToInt<0, 1, 0b11011, "fcvtzs", fp_to_sint>;
^
Included from
/pics/CrossBuild-Head/src/contrib/llvm/lib/Target/AArch64/AArch64.td:178:
Included from
/pics/CrossBuild-Head/src/contrib/llvm/lib/Target/AArch64/AArch64InstrInfo.td:337:
/pics/CrossBuild-Head/src/contrib/llvm/lib/Target/AArch64/AArch64InstrFormats.td:5092:3:
note: instantiated from multiclass
  def v8f16 : BaseSIMDTwoSameVector<1, U, {S,1}, opc, 0b11, V128,
  ^
FCVTZUv8f16:    (set V128:v16i16:$Rd, (fp_to_uint:<empty> V128:v1f32:$Rn))
Included from
/pics/CrossBuild-Head/src/contrib/llvm/lib/Target/AArch64/AArch64.td:178:
/pics/CrossBuild-Head/src/contrib/llvm/lib/Target/AArch64/AArch64InstrInfo.td:2952:1:
error: In FCVTZUv8f16: Type inference contradiction found, forcing
'{v16i8:v32i8:v8i16:v16i16:v4i32:v8i32:v2i64:v4i64:nxv4i1:nxv8i1:nxv16i1:nxv32i1:nxv32i8:nxv16i16:nxv8i32:nxv4i64}'
to have same number elements as 'v1f32'
defm FCVTZU : SIMDTwoVectorFPToInt<1, 1, 0b11011, "fcvtzu", fp_to_uint>;

Off -HEAD revision 328011

attempting to build with:

FreeBSD 11.1-STABLE #21 r327332M: Thu Dec 28 20:54:24 CST 2017    
karl_at_NewFS.denninger.net:/usr/obj/usr/src/sys/KSD-SMP

-- 
Karl Denninger
karl_at_denninger.net <mailto:karl_at_denninger.net>
/The Market Ticker/
/[S/MIME encrypted email preferred]/

Received on Mon Jan 15 2018 - 17:52:24 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:14 UTC