Using EXTERNAL_MODULE_PATHS works fine when only using Kconfig for
configuratio, but when using it for dependencies this value is not
set since it depends on Kconfig. Instead use EXTERNAL_MODULE_DIRS
and filter matching on Kconfig files.
The shared `build-libs` directory needs to be available for
modules/packages that depend on the SDK before that package
is eventually compiled.
Packages are downloaded, patched, prepared before any module
is compiled. By adding the directory creation as a dependency
of `PKG_PREPARE` we make sure the rule is run before compilation
starts.
The shared `build-libs` directory needs to be available for
modules/packages that depend on the SDK before that package
is eventually compiled.
This also includes header files such as `esp32_idf_version.h`.
Packages are downloaded, patched, prepared before any module
is compiled. By adding the directory creation and header as
a dependency of `PKG_PREPARE` we make sure the rules are ran
before compilation starts.
The shared `build-libs` directory needs to be available for
modules/packages that depend on the SDK before that package
is eventually compiled.
Packages are downloaded, patched and prepared before any
module is compiled. By adding the directory creation and
header as a dependency of `PKG_PREPARE` we make sure the
rule is run before compilation starts.
According to ieee802154_radio_confirm_transmit docs, the parameter of
confirm_op for IEEE802154_HAL_OP_TRANSMIT is to be populated as an out
parameter -- but this implementation unconditionally left info
unpopulated. Thus, when run with LLVM, _fsm_state_tx_process_tx_done
looked into an uninitialized info and thus crashed into failing
assertions.
Closes: https://github.com/RIOT-OS/RIOT/issues/17591
This test fails rather regularly on CI, so disable it.
socat - open:/dev/ttyUSB0,b115200,echo=0,raw
Traceback (most recent call last):
File "/tmp/dwq.0.5480675865160537/2c1d3acc7a86753de0db3a13fc04973d/tests/pkg_edhoc_c/tests/01-run.py", line 101, in <module>
sys.exit(run(testfunc))
File "/tmp/dwq.0.5480675865160537/2c1d3acc7a86753de0db3a13fc04973d/dist/pythonlibs/testrunner/__init__.py", line 28, in run
logfile=sys.stdout if echo else None)
File "/tmp/dwq.0.5480675865160537/2c1d3acc7a86753de0db3a13fc04973d/dist/pythonlibs/testrunner/spawn.py", line 88, in setup_child
sync_child(child, env)
File "/tmp/dwq.0.5480675865160537/2c1d3acc7a86753de0db3a13fc04973d/dist/pythonlibs/testrunner/spawn.py", line 123, in sync_child
TEST_INTERACTIVE_DELAY)
File "/tmp/dwq.0.5480675865160537/2c1d3acc7a86753de0db3a13fc04973d/dist/pythonlibs/testrunner/utils.py", line 41, in test_utils_interactive_sync_shell
_test_utils_interactive_sync(child, retries, delay, '\n', '>')
File "/tmp/dwq.0.5480675865160537/2c1d3acc7a86753de0db3a13fc04973d/dist/pythonlibs/testrunner/utils.py", line 17, in _test_utils_interactive_sync
ret = child.expect_exact([ready_exp, pexpect.TIMEOUT], timeout=delay)
File "/usr/local/lib/python3.5/dist-packages/pexpect/spawnbase.py", line 421, in expect_exact
return exp.expect_loop(timeout)
File "/usr/local/lib/python3.5/dist-packages/pexpect/expect.py", line 179, in expect_loop
return self.eof(e)
File "/usr/local/lib/python3.5/dist-packages/pexpect/expect.py", line 122, in eof
raise exc
pexpect.exceptions.EOF: End Of File (EOF). Exception style platform.
The ENTROPY test always fails on this board
main(): This is RIOT! (Version: buildtest)
mbedtls test
SHA-224 test #1: passed
SHA-224 test #2: passed
SHA-224 test #3: passed
SHA-256 test #1: passed
SHA-256 test #2: passed
SHA-256 test #3: passed
ENTROPY test: failed
Building `fuzzing/gcoap` with afl-gcc 11.2 gives
/home/benpicco/dev/RIOT/cpu/native/native_cpu.c: In function ‘thread_stack_init’:
/home/benpicco/dev/RIOT/cpu/native/native_cpu.c:120:11: error: variable ‘stk’ might be clobbered by ‘longjmp’ or ‘vfork’ [-Werror=clobbered]
120 | char *stk = NULL;
| ^~~
/home/benpicco/dev/RIOT/cpu/native/native_cpu.c:118:72: error: argument ‘stack_start’ might be clobbered by ‘longjmp’ or ‘vfork’ [-Werror=clobbered]
118 | char *thread_stack_init(thread_task_func_t task_func, void *arg, void *stack_start, int stacksize)
|
We can re-write the function to not use this temporary variable and the error goes away.
Since commit 3a11b1fbd2 (#16972)
building RIOT applications with `BOARD=hifive1` causes the following
linker error to be emitted on my system:
/opt/rv32imc/lib/gcc/riscv32-unknown-elf/10.2.0/../../../../riscv32-unknown-elf/bin/ld:riscv_base.ld:220: warning: memory region `rom' not declared
This is due to the fact that the RISC-V linker script doesn't have a rom
memory region. While many other ARM-based boards have a rom memory
region defined in the linker script, the corresponding region name in
the RISC-V linker script is flash and rom is not declared as a memory
region hence the warning.
I think this was accidentally overlooked in
3a11b1fbd2. It is fixed in this commit by
replacing the rom region with the flash region. The linker script
identifiers (e.g. _srom and _erom) are not renamed.
By default if IoT-LAB Cli Tools V3 is used then BINFILE is used to
flash on IoT-LAB. But BINFILE is not built by default when RIOT_CI_BUILD
is set as a ci optimization.
But since before IOTLAB_NODE was not passed to docker when building it
did not know that it should BUILD BINFILE as well, which led to failures
if doing:
$ IOTLAB_NODE=iotlab-m3.grenoble.iot-lab.info BOARD=iotlab-m3 \
RIOT_CI_BUILD=1 BUILD_IN_DOCKER=1 make -C examples/hello-world/ flash
But if IOTLAB_NODE is passed at is checks for IoT-LAB cli Tools also
happen in the docker container which leads to a make error since those
are not present in docker.
Therefore add BINFILE to BUILD_FILES if RIOT_CI_BUILD is set, but unset
IOTLAB_NODE once INSIDE_DOCKER.