Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 8 Apr 2021 10:46:19 -0700
From:      Mark Millard <marklmi@yahoo.com>
To:        FreeBSD Toolchain <freebsd-toolchain@freebsd.org>, FreeBSD ports <freebsd-ports@freebsd.org>
Subject:   devel/llvm10 (and 11) on aarch64: only BE_AMDGPU registered targets despite OPTIONS_FILE_SET+=BE_NATIVE also being set
Message-ID:  <EAB1A7AD-E249-4F56-9F96-9993FE8C36E7@yahoo.com>
References:  <EAB1A7AD-E249-4F56-9F96-9993FE8C36E7.ref@yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Building devel/llvm10 via poudriere-devel on a Cortex-A57
system (OverDrive 1000), I ended up with just:

# /usr/local/llvm10/bin/llc -version
LLVM (http://llvm.org/):
  LLVM version 10.0.1
  Optimized build.
  Default target: aarch64-portbld-freebsd14.0
  Host CPU: (unknown)

  Registered Targets:
    amdgcn - AMD GCN GPUs
    r600   - AMD GPUs HD2XXX-HD6XXX

from a context that has:

# grep -r BE /usr/local/etc/poudriere.d/options/devel_llvm10/
=
/usr/local/etc/poudriere.d/options/devel_llvm10/options:_FILE_COMPLETE_OPT=
IONS_LIST=3DBE_AMDGPU CLANG DOCS EXTRAS LIT LLD LLDB LLD_LINK OPENMP =
PYCLANG BE_FREEBSD BE_NATIVE BE_STANDARD
=
/usr/local/etc/poudriere.d/options/devel_llvm10/options:OPTIONS_FILE_SET+=3D=
BE_AMDGPU
=
/usr/local/etc/poudriere.d/options/devel_llvm10/options:OPTIONS_FILE_UNSET=
+=3DBE_FREEBSD
=
/usr/local/etc/poudriere.d/options/devel_llvm10/options:OPTIONS_FILE_SET+=3D=
BE_NATIVE
=
/usr/local/etc/poudriere.d/options/devel_llvm10/options:OPTIONS_FILE_UNSET=
+=3DBE_STANDARD

(I've used the combination in various llvm*'s for years,
including using such for llvm10. Something has changed.)

I'll not repeat the material here but llvm11 got the same
sort of result.

May be that "Host CPU: (unknown)" has something to do with
it?

This has been true since I built and installed back on
2021-Feb-11 and is true of my updating build started
yesterday (bulk still in progress). LLVM10 pkg info
from active install:

# pkg info llvm10
llvm10-10.0.1_5
Name           : llvm10
Version        : 10.0.1_5
Installed on   : Thu Feb 11 12:05:43 2021 PST
Origin         : devel/llvm10
Architecture   : FreeBSD:14:aarch64
Prefix         : /usr/local
Categories     : devel lang
Licenses       : MIT, BSD3CLAUSE, PD, LLVM, REGEX, LLVM2
Maintainer     : brooks@FreeBSD.org
WWW            : http://llvm.org/
Comment        : LLVM and Clang
Options        :
	BE_AMDGPU      : on
	BE_FREEBSD     : off
	BE_NATIVE      : on
	BE_STANDARD    : off
	CLANG          : on
	DOCS           : on
	EXTRAS         : on
	LIT            : on
	LLD            : on
	LLDB           : on
	LLD_LINK       : on
	OPENMP         : on
	PYCLANG        : off
Shared Libs required:
	libedit.so.0
	liblua-5.2.so
	libpython3.7m.so.1.0
	libxml2.so.2
Shared Libs provided:
	libRemarks.so.10
	libarcher.so
	libclang-cpp.so.10
	liblldb.so.10
	libLTO.so.10
	libLLVM-10.so
	libomptarget.so
	libomp.so
	libclang.so.10
Annotations    :
	FreeBSD_version: 1400004
	repo_type      : binary
	repository     : custom
Flat size      : 509MiB
Description    :
The LLVM Project is a collection of modular and reusable compiler and
toolchain technologies.

This port includes Clang (a C/C++/Objective-C compiler), LLD (a linker),
LLDB (a debugger), an OpenMP runtime library, and the LLVM =
infrastructure
these are built on.

WWW: http://llvm.org/


(So the above predates the git conversion.)

The issue was first noticed via build failures like (from a
log file):

. . .
Sanity testing C compiler: /usr/local/bin/clang10
Is cross compiler: False.
Sanity check compiler command line: /usr/local/bin/clang10 =
/wrkdirs/usr/ports/graphics/mesa-libs/work/mesa-20.2.3/_build/meson-privat=
e/sanitycheckc.c -o =
/wrkdirs/usr/ports/graphics/mesa-libs/work/mesa-20.2.3/_build/meson-privat=
e/sanitycheckc.exe -O2 -pipe -mcpu=3Dcortex-a57 -g =
-fstack-protector-strong -fno-strict-aliasing -mcpu=3Dcortex-a57 -pipe =
-D_FILE_OFFSET_BITS=3D64 -Wl,-rpath=3D/usr/local/llvm10/lib
Sanity check compile stdout:

-----
Sanity check compile stderr:
error: unable to create target: 'No available targets are compatible =
with triple "aarch64-portbld-freebsd14.0"'
1 error generated.
. . .


The FreeBSD is a non-debug build based on main 7381bbee29df:

# ~/fbsd-based-on-what-freebsd-main.sh=20
FreeBSD FBSDCA57 14.0-CURRENT FreeBSD 14.0-CURRENT =
mm-src-n245445-def0058cc690 GENERIC-NODBG  arm64 aarch64 1400005 1400005
def0058cc690 (HEAD -> mm-src) mm-src snapshot for mm's patched build in =
git context.
merge-base: 7381bbee29df959e88ec59866cf2878263e7f3b2
merge-base: CommitDate: 2021-03-12 20:29:42 +0000
7381bbee29df (freebsd/main, freebsd/HEAD, pure-src, main) cam: Run all =
XPT_ASYNC ccbs in a dedicated thread
n245444 (--first-parent --count for merge-base)


=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?EAB1A7AD-E249-4F56-9F96-9993FE8C36E7>