1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
Commit Graph

42060 Commits

Author SHA1 Message Date
Marian Buschsieweke
eb6addeba5
tests/pkg_emlearn: fix compilation
It turns out that the fix for the missing terminating newline is not
robust. This hopefully fixes the issue and resolves the following
error message:

    In file included from /home/maribu/Repos/software/RIOT/tests/pkg_emlearn/main.c:25:
    /home/maribu/Repos/software/RIOT/tests/pkg_emlearn/model.h:7221:36: error: stray '\' in program
     7221 |     /* fix for no newline at eof */\n
          |                                    ^
    /home/maribu/Repos/software/RIOT/tests/pkg_emlearn/model.h:7221:38: error: expected ';' before '_Alignas'
     7221 |     /* fix for no newline at eof */\n
          |                                      ^
          |                                      ;
2022-11-13 00:20:10 +01:00
Marian Buschsieweke
c0e997a8e7
makefiles/libc/picolibc.mk: fix compilation with modern binutils
Modern binutils complain about segments with RWX permissions. While
this is indeed a bad habit, RIOT ignores segments permissions anyway.
(We do have a `mpu_noexec_ram` module to disable execution of all of
RAM, which would do so regardless of the segment permission.) So for
now, we can safely just disable the warning.

This fixes:

    /usr/lib/gcc/arm-none-eabi/12.2.0/../../../../arm-none-eabi/bin/ld: warning: /home/maribu/Repos/software/RIOT/examples/default/bin/nucleo-f767zi/default.elf has a LOAD segment with RWX permissions
    collect2: error: ld returned 1 exit status
2022-11-12 17:09:11 +01:00
Marian Buschsieweke
4e00c0e360
Merge pull request #18894 from kaspar030/shorten_bitarithm_timings_runtime
tests/bitarithm_timings: shorten timeout from 5s to 200ms
2022-11-12 12:26:40 +01:00
Marian Buschsieweke
01182af7f7
Merge pull request #18892 from maribu/makefiles/arch/cortexm.inc.mk
makefiles/arch/cortexm.inc.mk: fix ASMFLAGS
2022-11-12 12:25:44 +01:00
Marian Buschsieweke
4b4f34fb18
Merge pull request #18890 from maribu/pkg/ccn-lite
pkg/ccn-lite: Fix use after free bug
2022-11-12 12:11:22 +01:00
Marian Buschsieweke
a211e4fc14
Merge pull request #18871 from maribu/pkg/tflite-micro
pkg/tflite-micro: fix compilation with GCC >= 12.x
2022-11-12 09:10:11 +01:00
benpicco
2801107570
Merge pull request #18888 from kfessel/p-fix-tinyusb-defaultbuild
tests/pkg_tinyusb*: add a BOARD to make make build
2022-11-12 03:55:54 +01:00
317e05b869 tests/bitarithm_timings: shorten timeout from 5s to 200ms 2022-11-11 23:49:03 +01:00
5c31e722d3
Merge pull request #18881 from maribu/dist/tools/backport_pr
tools/backport_pr: finally fix running outside of repo's root
2022-11-11 23:33:34 +01:00
Marian Buschsieweke
44df6d3a71
Merge pull request #18832 from MrKevinWeiss/pr/removedrone
.drone: Remove unmaintained .drone file
2022-11-11 23:33:10 +01:00
benpicco
edf30e051c
Merge pull request #18885 from benpicco/tapsetup-loss
tapsetup: add --loss & --delay option
2022-11-11 23:32:37 +01:00
Marian Buschsieweke
8448aa33ae
makefiles/arch/cortexm.inc.mk: fix ASMFLAGS
Drop `CFLAGS_DBG` from `ASFLAGS` to fix

    make RIOT_CI_BUILD=1 CC_NOCOLOR=1 --no-print-directory -C /home/maribu/Repos/software/RIOT/tests/pkg_qdsa clean all
    rm -rf /home/maribu/Repos/software/RIOT/tests/pkg_qdsa/bin/samr21-xpro/pkg-build/qdsa
    Building application "tests_pkg_qdsa" for "samr21-xpro" with MCU "samd21".

    Assembler messages:
    Fatal error: unknown option `-ggdb'
    make[3]: *** [/home/maribu/Repos/software/RIOT/Makefile.base:176: /home/maribu/Repos/software/RIOT/tests/pkg_qdsa/bin/samr21-xpro/qdsa_asm/bigint_red.o] Error 1
    make[2]: *** [/home/maribu/Repos/software/RIOT/Makefile.base:31: ALL--/home/maribu/Repos/software/RIOT/build/pkg/qdsa/arm/asm] Error 2
    make[1]: *** [Makefile:11: all] Error 2
    make: *** [/home/maribu/Repos/software/RIOT/tests/pkg_qdsa/../../Makefile.include:803: pkg-build] Error 2

    Return value: 2
2022-11-11 23:11:07 +01:00
Marian Buschsieweke
e95f7551eb
tests/shell: fix failure on samr21-xpro
The test (at least locally) fails on the long shell line detection in
`master`, as the EDBG UART adapter drops chars when more than 64 bytes
are send at a time. This works around the issue:

- The line buffer in the test is reduced to 60 bytes, so that
  overflowing it becomes possible with sending less than 64 bytes.
- The test script is adapted to exceed the shell buffer size by one
  byte only (due to linefeed char), rather than significantly.
    - Sending more than 64 bytes would result in the linefeed being
      dropped by the EDBG adapter and the test failing

Finally, the shell buffer is no longer allocated on the stack and,
hence, the main stack size could be reduced a bit. The test still
passes on the Nucleo-F767ZI which is notorious in failing on tight
stacks due to the MPU stack guard - so the stack size reduction is
expected to work for all boards.
2022-11-11 23:00:58 +01:00
Marian Buschsieweke
d605b58a91
pkg/ccn-lite: Fix use after free bug
This fixes compilation with GCC >= 12.x, which is unhappy about the use
after free:

    /home/maribu/Repos/software/RIOT/build/pkg/ccn-lite/src/ccnl-core/src/ccnl-relay.c: In function 'ccnl_fib_rem_entry':
    /home/maribu/Repos/software/RIOT/build/pkg/ccn-lite/src/ccnl-core/src/ccnl-relay.c:916:16: error: pointer 'fwd' used after 'free' [-Werror=use-after-free]
      916 |         if (fwd->face) {
          |             ~~~^~~~~~
    In file included from /home/maribu/Repos/software/RIOT/build/pkg/ccn-lite/src/ccnl-core/src/ccnl-relay.c:33:
    /home/maribu/Repos/software/RIOT/build/pkg/ccn-lite/src/ccnl-core/../ccnl-riot/include/ccn-lite-riot.h:52:41: note: call to 'free' here
       52 | #define ccnl_free(p)                    free(p)
          |                                         ^~~~~~~
    /home/maribu/Repos/software/RIOT/build/pkg/ccn-lite/src/ccnl-core/src/ccnl-relay.c:910:13: note: in expansion of macro 'ccnl_free'
      910 |             ccnl_free(fwd);
          |             ^~~~~~~~~
    /home/maribu/Repos/software/RIOT/build/pkg/ccn-lite/src/ccnl-core/src/ccnl-relay.c: In function 'ccnl_fib_rem_entry':
    /home/maribu/Repos/software/RIOT/build/pkg/ccn-lite/src/ccnl-core/src/ccnl-relay.c:916:16: error: pointer 'fwd' used after 'free' [-Werror=use-after-free]
      916 |         if (fwd->face) {
          |             ~~~^~~~~~
    In file included from /home/maribu/Repos/software/RIOT/build/pkg/ccn-lite/src/ccnl-core/src/ccnl-relay.c:33:
    /home/maribu/Repos/software/RIOT/build/pkg/ccn-lite/src/ccnl-riot/include/ccn-lite-riot.h:52:41: note: call to free' here
       52 | #define ccnl_free(p)                    free(p)
          |                                         ^~~~~~~
    /home/maribu/Repos/software/RIOT/build/pkg/ccn-lite/src/ccnl-core/src/ccnl-relay.c:910:13: note: in expansion of macro 'ccnl_free'
      910 |             ccnl_free(fwd);
          |             ^~~~~~~~~
2022-11-11 22:16:47 +01:00
Karl Fessel
edeed17e1b tests/pkg_tinyusb*: add a BOARD to make make build 2022-11-11 20:41:57 +01:00
Marian Buschsieweke
9bba2d074c
tools/backport_pr: finally fix running outside of repo's root
It turned out that 4983f8bb60 was not
enough to allow the tool to be executed from within
`dist/tools/backport_pr`. With this, I successfully tested it :)
2022-11-11 19:52:18 +01:00
benpicco
225521efa0
Merge pull request #18873 from maribu/pkg/wolfssl
pkg/wolfssl: fix compilation with GCC >= 12.x
2022-11-11 16:56:25 +01:00
Benjamin Valentin
4511f3f2a1 tapsetup: add --delay option 2022-11-11 16:54:21 +01:00
Juergen Fitschen
f840fd0730
Merge pull request #18878 from maribu/tests/pkg_tinyvcdiff
tests/pkg_tinyvcdiff: fix stack overflow
2022-11-11 16:15:09 +01:00
Benjamin Valentin
0eaa6edffd tapsetup: add --loss option 2022-11-11 14:41:15 +01:00
Karl Fessel
045bd7a1a2 core/lib: split kernel defines by its concerns 2022-11-11 13:41:33 +01:00
benpicco
dc52965369
Merge pull request #18876 from bergzand/pr/pkg_littlefs_2.5.1
pkg/littlefs2: bump version to 2.5.1
2022-11-11 13:11:48 +01:00
Marian Buschsieweke
bec46c55bd
Merge pull request #18879 from benpicco/bf_popcnt
sys/bitfield: add bf_popcnt()
2022-11-11 11:35:14 +01:00
Marian Buschsieweke
4166e044b3
Merge pull request #18874 from maribu/sys/net/gnrc/pkt
sys/net/gnrc/pkt: fix gnrc_pkt_delete()
2022-11-11 09:21:25 +01:00
Marian Buschsieweke
33f14cf4d9
Merge pull request #18877 from kfessel/p-uglify-warning
utils/uncrustify: display warning instead of error
2022-11-11 09:18:58 +01:00
Marian Buschsieweke
87e8ab0ecb
pkg/tflite-micro: fix compilation with GCC >= 12.x
Compare names without over-reading in `micro_allocation_info.cc`.

This fixes:

    /home/maribu/Repos/software/RIOT/build/pkg/tflite-micro/tensorflow/lite/micro/micro_allocation_info.cc: In member function 'TfLiteStatus tflite::AllocationInfoBuilder::GetOfflinePlannedOffsets(const int32_t**)':
    /home/maribu/Repos/software/RIOT/build/pkg/tflite-micro/tensorflow/lite/micro/micro_allocation_info.cc:294:18: error: 'int strncmp(const char*, const char*, size_t)' specified bound 23 exceeds source size 0 [-Werror=stringop-overread]
      294 |       if (strncmp(metadata->name()->c_str(), kOfflineMemAllocMetadata,
          |           ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      295 |                   strlen(kOfflineMemAllocMetadata)) == 0) {
          |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2022-11-11 09:01:02 +01:00
Marian Buschsieweke
2fbde4af19
tests/pkg_tinyvcdiff: fix stack overflow
Move some variables from stack to `.bss` / `.data` to avoid stack
overflows, which are detected by the MPU stack guard (e.g. on the
Nucleo-F767ZI that I used) and results in the test failing.
2022-11-11 08:46:09 +01:00
Dylan Laduranty
43d1f19503
Merge pull request #18860 from Ollrogge/usb_hid_fix
usbus/hid: fix buffer overflow in hid_io
2022-11-11 03:47:12 +01:00
Benjamin Valentin
867ba0666a tests/unittests: add tests for bf_popcnt() 2022-11-10 23:52:35 +01:00
Benjamin Valentin
4dd0594d09 sys/bitfield: add bf_popcnt() 2022-11-10 23:44:50 +01:00
Karl Fessel
037f789718 utils/uncrustify: display warning instead of error 2022-11-10 22:20:50 +01:00
eea079f1e1
pkg/littlefs2: bump version to 2.5.1 2022-11-10 16:17:24 -05:00
Ollrogge
0f9577df60 usbus/hid: fix buffer overflow in hid_io 2022-11-10 20:33:29 +01:00
Marian Buschsieweke
0d5bde0ce2
sys/net/gnrc/pkt: fix gnrc_pkt_delete()
The previous implementation used creative construct for impedance
mismatching between the core list API (which returns a ptr to the
removed element if found) and the GNRC pkt list API (which returns a
ptr to the new list head) that creates a temporary list head on the
stack.

I'm not entirely sure if the previous implementation is containing
undefined behavior that is used against us with GCC >= 12.x, or if this
is a compiler bug. In either case, not reusing the core list API here
and just having a textbook linked list delete function here is not much
less readable and fixes the issue for our users.
2022-11-10 17:25:34 +01:00
Karl Fessel
19021d618e
Merge pull request #18858 from kfessel/p-fix-DIV2
core/marco: fix DIV_ROUND
2022-11-10 16:26:20 +01:00
Marian Buschsieweke
f70eafaff9
pkg/wolfssl: fix compilation with GCC >= 12.x
This fixes a signature mismatch between forward declaration and
implementation, which in turn fixes the following error during
compilation:

    /home/maribu/Repos/software/RIOT/build/pkg/wolfssl/wolfcrypt/src/ge_low_mem.c:179:30: error: argument 1 of type 'unsigned char[64]' with mismatched bound [-Werror=array-parameter=]
      179 | void sc_reduce(unsigned char x[64])
          |                ~~~~~~~~~~~~~~^~~~~
    In file included from /home/maribu/Repos/software/RIOT/build/pkg/wolfssl/wolfcrypt/src/ge_low_mem.c:34:
    /home/maribu/Repos/software/RIOT/build/pkg/wolfssl/wolfssl/wolfcrypt/ge_operations.h:81:36: note: previously declared as 'byte *' {aka 'unsigned char *'}
       81 | WOLFSSL_LOCAL void sc_reduce(byte* s);
          |                              ~~~~~~^
2022-11-10 16:20:17 +01:00
Marian Buschsieweke
a17ae056bc
Merge pull request #18868 from maribu/tests/mpu_stack_guard
tests/mpu_stack_guard: Fix compilation on modern GCC (>= 12.x)
2022-11-10 14:49:27 +01:00
Marian Buschsieweke
fdc3f6a56b
tests/mpu_stack_guard: Fix compilation on modern GCC (>= 12.x)
The `mpu_stack_guard` test intentionally overflows the stack with a
stupid infinite recursion. Newer versions of GCC started to dislike
this, so this disables the corresponding diagnostics to get the
intentional stack overflow still compiled.
2022-11-10 12:49:18 +01:00
Marian Buschsieweke
24262f1279
Merge pull request #18859 from maribu/examples/wasm
examples/wasm/wasm_sample: fix linking with new wasm-ld
2022-11-10 12:17:46 +01:00
Marian Buschsieweke
b1dbbbbcac
Merge pull request #18866 from maribu/dist/tools/backport_pr
tools/backport_pr.py: improve usability
2022-11-10 11:35:02 +01:00
Marian Buschsieweke
4983f8bb60
tools/backport_pr.py: improve usability
Add `search_parent_directories=True` to `git.Repo()` so that
`backport_pr.py` can be called anywhere within the RIOT git repo
without manually passing the repo root path via `--gitdir`.

Previously the tool had to be called from the RIOT base repo.
2022-11-10 09:52:24 +01:00
Marian Buschsieweke
e909a41ce3
Merge pull request #18861 from maribu/dist/tools/flatc
dist/tools/flatc: Fix compilation on musl
2022-11-10 08:46:59 +01:00
Marian Buschsieweke
6700e91a99
Merge pull request #18862 from maribu/pkg/utensor
pkg/utensor: fix uninitialized variable
2022-11-10 08:44:26 +01:00
Marian Buschsieweke
70a0e3fa47
pkg/utensor: fix uninitialized variable
This fixes compilation with modern GCC. (And likely runtime issues...)
2022-11-09 22:47:08 +01:00
Marian Buschsieweke
b540f6fe5e
dist/tools/flatc: Fix compilation on musl
flatc uses `strto<foo>_l()` over `strto<foo>()` when available, so that
they behave reproducible. The musl libc has no locale support, which
has the added benefit of reproducible behavior being the default.

For some reason a `strtof_l()` compatibility wrapper was added in
musl, but the other `strto<foo>_l()` wrappers are missing. This
adds a patch to check for `strtoull_l()` instead of `strtof_l()`. This
will not make a difference on a libc that supports all of them, but
fixes compilation on musl.
2022-11-09 22:33:23 +01:00
Marian Buschsieweke
c801990c5d
examples/wasm/wasm_sample: fix linking with new wasm-ld
Apparently the order of the flags now became significant. This fixes:

    wasm-ld: error: entry symbol not defined (pass --no-entry to suppress)
2022-11-09 20:12:32 +01:00
Karl Fessel
aa31dd7d66 core/macros: rewrite DIV_ROUND, DIV_ROUND_UP; add DIV_ROUND_INF 2022-11-09 17:59:18 +01:00
Karl Fessel
228d8e72c0 unittest/core-macros: add negtive cases for DIV_ROUND and DIV_ROUND_UP 2022-11-09 17:59:18 +01:00
Marian Buschsieweke
e402e3f57a
Merge pull request #18849 from benpicco/core-SIGNOF
core/macros: fix SIGNOF() macro when applied to size_t
2022-11-09 17:54:00 +01:00
benpicco
15448bf416
Merge pull request #18857 from blueted2/pr/dwm1001/lis2df12_i2c
boards/dwm1001: use lis2dh12_i2c instead of lis2dh12_spi
2022-11-09 15:07:57 +01:00