The toolchain variables were overwritten anyway in
`makefiles/toolchain/gnu|llvm.inc.mk` as they use `=` affectation,
except for `OBJCOPY`.
On my Linux ubuntu bionic machine, the only difference for `info-build`
with both gnu/llvm and also with LTO=1
is that it now uses an absolute path for `objcopy`
-OBJCOPY: objcopy
+OBJCOPY: /usr/bin/objcopy
On the OSX 17.7.0 I tested, there was no difference.
PORT_LINUX and PORT_DARWIN are evaluated by
`makefiles/tools/serial.inc.mk` and some boards Makefile.include.
Their value does not need to be exported.
This also globally removes the line saying that the exports are needed
for flash rule.
Rational: the periph_common module is required by (most) other periph drivers
and also during startup of the CPU/MCU to run periph_init. The latter is only
required if other periph drivers are used, hence periph_common should be a
depency of periph_* modules and *not* of the CPU/MCU. This PR fixes that
by making periph_common a depency of periph_* and removing the explicit
include in the CPU/MCU implementation.
For the RIOT port of Lua, the module loader has been more or less
rewritten to allow for easily integrating source modules defined in static
arrays and C modules embedded in the application.
So far the loader had not been tested (and a bug was found). This test
should give a bit more certainty that the RIOT integration works as it
should.
After removing the default definitions of lua module tables and table
lengths (see lua_builtin.h) the symbols have been left undefined, which
results in them getting an address of NULL and a crash if there are no
user symbols and the user attempts a "require".
This patch checks the address of the table length variable and fails the
module search function of the table is not set (i.e. it behaves as if the
table was empty.)
The module searchers in the `require` package should return a string
if the module is not found, and not raise an error.
See: https://www.lua.org/manual/5.3/manual.html#pdf-package.searchers
Also make error strings contain newlines and tabs just like the original
ones.
After a successful OTAA join procedure, the network may change the RX2 channel datarate. It's
required to also persist to be able to correctly receive downlink after a reboot