Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 04 Jun 2017 15:57:27 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-ports-bugs@FreeBSD.org
Subject:   [Bug 219779] devel/llvm40: Misconfiguration on ARM targets
Message-ID:  <bug-219779-13@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D219779

            Bug ID: 219779
           Summary: devel/llvm40: Misconfiguration on ARM targets
           Product: Ports & Packages
           Version: Latest
          Hardware: arm
                OS: Any
            Status: New
          Severity: Affects Many People
          Priority: ---
         Component: Individual Port(s)
          Assignee: brooks@FreeBSD.org
          Reporter: mmel@FreeBSD.org
                CC: dim@FreeBSD.org, freebsd-arm@FreeBSD.org
                CC: freebsd-arm@FreeBSD.org
             Flags: maintainer-feedback?(brooks@FreeBSD.org)
          Assignee: brooks@FreeBSD.org

I found several configuration problems in all llvm ports:
1) In port's Makefile, the block marked as=20
   ' # keep in sync with /usr/src/lib/clang/clang.build.mk'
   is significantly out of sync with clang.build.mk :)

2) For ARM, llvm's cmake/config.guess doesn't return proper ABI.

3) CONFIGURE_TARGET is not a passed to real llvm cmake at all. (Look to
   default triple for llvm =E2=80=93 it doesn=E2=80=99t contain 'portbld')

All these issues causes that default llvm configuration is invalid (for ARM=
).

Fix for 1) is trivial.

Fix for 2) is also easy, but question is why we must explicitly specify ABI
for armv6-portbld-freebsd12.0 target. Dimitry, please, can you comment this=
?=20
One can expect that pure triple 'armv6-portbld-freebsd12.0' is enough for
selecting right system's ABI (but I'm not sure).

Point 3) is more interesting. Seems that
'CMAKE_ARGS+=3D -DLLVM_DEFAULT_TARGET_TRIPLE=3D${CONFIGURE_TARGET}'
fixes default triple for normal (driver based) compilation. But it looks
like JIT compilers (an API based) doesn't uses it at all (is this bug or
feature?) and=20=20
'CMAKE_ARGS+=3D -DLLVM_HOST_TRIPLE=3D${CONFIGURE_TARGET}'
is also necessary. At this point I'm simply not sure if this is expected
behavior =E2=80=93 if yes, then fix is easy, but it depends on resolution o=
f point 2).

Can you, please, help me with proper resolution of remaining questionable
points?

Thanks,
Michal

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-219779-13>