pkg: blacklist selected pkgs for LLVM/clang#9734
Conversation
378b1db to
d76827c
Compare
1485801 to
0d1cb3f
Compare
pkg/jerryscript/Makefile.include
Outdated
|
|
||
| # There are problem with unused `-mcpu...` arguments in clang and with | ||
| # ranlib + LLVM/clang in this package | ||
| TOOLCHAINS_BLACKLIST += llvm |
There was a problem hiding this comment.
Still need to fix the conversion error first, before tackling this one, but I had ranlib problems in openthread regardless, so it might also be just cortex-m%.
d82b9d2 to
3379a8d
Compare
pkg/jerryscript/Makefile.include
Outdated
|
|
||
| ifneq (,$(filter cortex-m%,$(CPU_ARCH))) | ||
| # There is a linking issue to `_setjmp()` and `stderr` when compiling | ||
| # for Cortex-M with LLVM/clang |
There was a problem hiding this comment.
There was a problem hiding this comment.
OK I see the error with samr21-xpro:
make -C examples/javascript BOARD=samr21-xpro distclean all TOOLCHAIN=llvm
There was a problem hiding this comment.
Mhh... now that I went through all that trouble fixing LLVM in jerryscript, I kind of want to know what's causing this, especially since their test with RIOT doesn't seem to have that problem :-/.
There was a problem hiding this comment.
Posted in the wrong PR before:
With #9821 it looks like I can correctly compile examples/javascript with llvm both on ubuntu 16.04 and in the docker image with BOARD=samr21-xpro.
pkg/openthread/Makefile.include
Outdated
| DIRS += $(OPENTHREAD_DIR)/contrib/netdev | ||
| endif | ||
|
|
||
| ifneq (,$(filter cortex-m0%,$(CPU_ARCH))) |
There was a problem hiding this comment.
This one should also be disabled for cortex-m3 it is failing when running buildtest on the iotlab/fox boards.
9273d16 to
6d90988
Compare
|
Rebased to current master and dependencies |
6d90988 to
bcd29d9
Compare
bcd29d9 to
031c730
Compare
|
Rebased to current master as #9730 was merged. |
pkg/libcose/Makefile.include
Outdated
| # There is a problem with the LLVM assembler, the M0(+) instruction set, and | ||
| # the assembly part of this package | ||
| TOOLCHAINS_BLACKLIST += llvm | ||
| endif |
There was a problem hiding this comment.
I do not have any error when building
make -C tests/unittests tests-libcose BOARD=samr21-xpro distclean all TOOLCHAIN=llvm
With arm-none-eabi-gcc 6.3.1 and clag 3.8.0 on ubuntu xenial.
But it fails with qDSA though. So could have been a problem of parallel output in murdock maybe ?
It says llvm-as unrecognized option -mcpu=cortex-m0plus. Same on arch linux.
There was a problem hiding this comment.
Murdock is happy when I removed qDSA https://ci.riot-os.org/RIOT-OS/RIOT/9398/44552886b429f1ce7c704249beb43964fed7a297/output/compile/tests/unittests/samr21-xpro:llvm.txt so it should be pkg/qDSA disabled instead.
make -C tests/unittests tests-qDSA BOARD=samr21-xpro distclean all TOOLCHAIN=llvm
I disabled the test in DISABLE_TEST_FOR_ARM_CORTEX_M for unittests.
I will re-enable the qDSA test to verify.
There was a problem hiding this comment.
RIOT/tests/unittests/bin/pkg/samr21-xpro/qDSA/arm/asm/bigint_mul.S:17:3: error: invalid instruction, any one of the following would fix this:
add r0,#8
pkg/jerryscript/Makefile.include
Outdated
|
|
||
| ifneq (,$(filter cortex-m%,$(CPU_ARCH))) | ||
| # There is a linking issue to `_setjmp()` and `stderr` when compiling | ||
| # for Cortex-M with LLVM/clang |
There was a problem hiding this comment.
OK I see the error with samr21-xpro:
make -C examples/javascript BOARD=samr21-xpro distclean all TOOLCHAIN=llvm
| $(NORDIC_SRCS)/components/iot/ble_ipsp | ||
|
|
||
| # LLVM ARM assembler has massive problems digesting this | ||
| TOOLCHAINS_BLACKLIST += llvm |
There was a problem hiding this comment.
OK it fails for examples/gnrc_networking on nrf52dk.
| @@ -1 +1,7 @@ | |||
| INCLUDES += -I$(PKGDIRBASE)/micro-ecc | |||
|
|
|||
| ifneq (,$(filter cortex-m0%,$(CPU_ARCH))) | |||
There was a problem hiding this comment.
Ok it fails for samr21-xpro in tests/pkg_micro-ecc.
| ifneq (,$(filter cortex-m0% cortex-m3%,$(CPU_ARCH))) | ||
| # There are problem with unused `-mcpu...` arguments in clang and with | ||
| # ranlib + LLVM/clang in this package with Cortex-M0 and M3 | ||
| TOOLCHAINS_BLACKLIST += llvm |
There was a problem hiding this comment.
I get the same for pkg/openthread with samr21-xpro and iotlab-m3
|
From what I've gathered from your review: I removed the blacklist for |
|
With the current version of this PR, #9398 (1394027) still fails due to libcose, so I revert 3a0c1fa, though I can confirm that qDSA is also failing when compiled locally. |
|
@miri64 if qDSA is blacklisting the toolchain, why would even the unittest try to build ? |
I only blacklisted Cortex-M0+... but true that's the architecture |
|
arghs... used |
b42f494 to
b32d273
Compare
LLVM/clang can't handle the inline assembler instructions in this package
There is a problem with ranlib and LLVM/clang in this package
b32d273 to
ed5dde0
Compare
|
Rebased and removed jerryscript blacklisting to check if #9821 works now. |
|
@cladmi readded jerryscript to black list, as discussed in #9809 (comment) |
|
Looks good to me, and I already tested the blackilsted packages. |
Contribution description
Some
pkgs have problems when compiled with LLVM/clang. This fixes that by blacklisting LLVM for them.This is still WIP:
Issues/PRs references
Depends on
#9730(merged).