7969 Commits

Author SHA1 Message Date
Keith Packard
e215261ced picolibc: Use most NEWLIB code with picolibc
In most places, picolibc and newlib are the same, so use
the existing newlib code when compiling with picolibc.

Signed-off-by: Keith Packard <keithp@keithp.com>
2020-08-24 08:26:16 -07:00
Koen Zandberg
79d733a1af picolibc: glue sbrk to heap start/end [v2]
---
v2:
	Squash fixes in
2020-08-24 08:26:16 -07:00
Koen Zandberg
26c1920cf1 posix/select: Add picolibc to cyclic dependency resolution 2020-08-24 08:26:16 -07:00
Koen Zandberg
ff3bee24b9 picolibc: Provide integration into the build system [v3]
Support for picolibc as alternative libc implementation is added with
this commit. For now only cortex-m CPU's are supported.

Enable via PICOLIBC=1

---
v2:
	squash fixes in

v3:
	Remove picolibc integer printf/scanf stuff from sys/Makefile.include,
	it gets set in makefiles/libc/picolibc.mk

fixup for dependency
2020-08-23 13:12:57 -07:00
Koen Zandberg
b64f8a22a3 picolibc: Add default syscall implementations [v2]
picolibc: Use thread_getpid for getpid() in picolibc_syscalls_default

Instead of directly accessing the sched_active_pid variable (which
isn't defined in this context), use the existing wrapper function
to get that value.

Signed-off-by: Keith Packard <keithp@keithp.com>

---
v2:
	Squash a couple of fixes in

	* fixup! picolibc: Use thread_getpid for getpid() in
          picolibc_syscalls_default

	* squashme: Add `times` to picolibc syscalls

	* Add __noreturn__ attribute to _exit

	* Add VFS syscall wrappers. This provides the POSIX api used
          by picolibc stdio
2020-08-23 12:43:51 -07:00
Martine Lenders
6e504bf326
Merge pull request #14825 from haukepetersen/fix_gnrcnib_typo
net/gnrc/nib_ft.c: fix minor typo in comment
2020-08-21 22:44:35 +02:00
Marian Buschsieweke
92ae260617
Merge pull request #14778 from benpicco/sys/luid_netdev
sys/luid: add luid_netdev_get_eui48() & luid_netdev_get_eui64()
2020-08-21 21:30:14 +02:00
Martine Lenders
fb63453a1d
Merge pull request #14498 from brummer-simon/evtimer-add_mbox_support
evtimer: add mbox support
2020-08-21 16:33:06 +02:00
Hauke Petersen
05347190b9 net/gnrc/nib_ft.c: fix minor typo in comment 2020-08-21 16:06:04 +02:00
Simon Brummer
5d67daebb2 evtimer: add mbox support 2020-08-21 15:19:22 +02:00
Martine Lenders
0b6394c55d
Merge pull request #14812 from miri64/gnrc_sixlowpan_frag_rb/fix/icnlowpan-sfr-fixes
gnrc_sixlowpan_frag_rb: Check possibly uninitialized pointers
2020-08-21 12:33:49 +02:00
benpicco
c7d9b4b4c4
Merge pull request #14793 from leandrolanzieri/pr/pkg/tinydtls/check_prng
pkg/tinydtls: enforce the selection of a crypto secure PRNG
2020-08-21 10:43:47 +02:00
Leandro Lanzieri
531367a9a2
pkg/tinydtls: enforce the selection of a crypto secure PRNG
Also add a sanity checks on the prng_ modules.
2020-08-21 08:39:34 +02:00
Martine Lenders
66de39a20a
gnrc_sixlowpan_frag_rb: Check possibly uninitialized pointers 2020-08-20 23:51:38 +02:00
Alexandre Abadie
f1d5e98c81
sys/ztimer: fix ztimer msec convert for 250kHz timers 2020-08-20 13:41:40 +02:00
Francisco
70fc19258f
Merge pull request #14783 from maribu/xtimer_on_ztimer_fix
sys/{ztimer, xtimer}: Fix issues with xtimer_on_ztimer
2020-08-19 13:28:10 +02:00
benpicco
7f359612e9
Merge pull request #14371 from jia200x/pr/radio_hal
ieee802154/radio_hal: introduce Radio HAL for IEEE802.15.4 compatible radios
2020-08-19 13:07:52 +02:00
Jose Alamos
b6e3afe3d6 ieee802154/radio: add radio HAL definition 2020-08-19 12:06:04 +02:00
Marian Buschsieweke
d382bd6565
sys/xtimer: No tick conversion if xtimer_on_ztimer
When `xtimer_on_ztimer` is used, `xtimer` does not need to perform any clock
conversion. Especially undefined macros of `XTIMER_HZ` and `XTIMER_SHIFT` should
no longer result in compilation issues, as they are not used internally anyway.
2020-08-19 09:48:23 +02:00
Marian Buschsieweke
527c429f5f
sys/ztimer: Fix compilation without ztimer_extend
`ztimer_init_extend()` should only be defined when module `ztimer_extend` is
used, as otherwise the `struct` member `clock->max_value` is not available.
2020-08-19 07:02:19 +02:00
Benjamin Valentin
3b7351753b sys/luid: add luid_netdev_get_eui48() & luid_netdev_get_eui64()
Add functions to generate an EUI based on the netdev ID.
This will always return the same EUI for the same netdev, so it is
stable across netdev resets.
2020-08-18 11:45:45 +02:00
Benjamin Valentin
decadc41a0 drivers/dose: register driver with netdev 2020-08-17 22:53:51 +02:00
Benjamin Valentin
4f19b54b7b drivers/at86rf215: register driver with netdev 2020-08-17 22:53:51 +02:00
Benjamin Valentin
53eedc283b drivers/at86rf2xx: register driver with netdev 2020-08-17 22:53:51 +02:00
Benjamin Valentin
39951a948e net/netif: move gnrc_netif_addr_to/from_str() to netif
These functions are independent from GNRC and can be used by stack-agnistoc
code.
Avoid pulling in a GNRC dependency by moving those two helper functions to
`netif`.

The old function names are kept as `static inline` wrapper functions to avoid
breaking API users.
2020-08-16 23:52:32 +02:00
zhuoshuguo
d3c87d7bb9 lwmac: add re-initialize radio support. 2020-08-15 22:12:36 +08:00
Marian Buschsieweke
164d2ac8f2
core/byteoder: Moved to sys
The byteorder utilities are never used in `core`, but extensively in `sys`.
They seem to be better located in `sys`.
2020-08-14 16:28:59 +02:00
Marian Buschsieweke
030e0af985
sys/unaligned: Add 64 bit version
Add helper function to access `uint64_t` values with possibly unaligned
pointers.
2020-08-14 12:21:24 +02:00
Leandro Lanzieri
e76387911c
sys/pm_layered: Add module to Kconfig 2020-08-12 12:22:41 +02:00
Leandro Lanzieri
4f2494fa1a
sys/stdio: add module to Kconfig 2020-08-12 12:22:41 +02:00
Leandro Lanzieri
67b2519a7d
sys: add newlib modules to Kconfig 2020-08-12 12:22:40 +02:00
Leandro Lanzieri
4ad2180f81
kconfig: Add default modules' symbols 2020-08-12 12:22:38 +02:00
Benjamin Valentin
d4aa8aad10 nanocoap: validate input with NDEBUG
A malformed or malicious CoAP request may contain invalid field lengths.
`nanocoap` protects with this by using `assert()`, which safely crashes
the application in debug mode.

In release mode the check is removed.

Instead of allowing arbitrary memory writes, return 0 on invalid inputs.

Discovered by [Coverity](https://scan3.coverity.com/reports.htm#v46910/p10250/fileInstanceId=38357789&defectInstanceId=9793779&mergedDefectId=297306)
2020-08-11 15:54:23 +02:00
benpicco
1887e55962
Merge pull request #14743 from benpicco/gnrc_sixlowpan_iphc_coverty
gnrc_sixlowpan_iphc: fix issues found by Coverity scan
2020-08-11 14:38:57 +02:00
Benjamin Valentin
2ed7f66d33 gnrc_sixlowpan_iphc: fix last byte of iphc_hdr always being 0
Coverty scan found this:

> CID 298295 (#1 of 1): Operands don't affect result (CONSTANT_EXPRESSION_RESULT) result_independent_of_operands:
> (ipv6_hdr_get_fl(ipv6_hdr) & 255) >> 8 is 0 regardless of the values of its operands.

Looking at the code, this appears to be a copy & paste error from the previous line.
2020-08-11 14:09:28 +02:00
Benjamin Valentin
a9a0671232 gnrc_sixlowpan_iphc: fix Out-of-bounds read
Coverty scan found this:

> CID 298279 (#1 of 1): Out-of-bounds read (OVERRUN)
> 21. overrun-local: Overrunning array of 16 bytes at byte offset 64 by dereferencing pointer

The original intention was probably to advance the destination pointer by 4 bytes, not
4 * the destination type size.
2020-08-11 13:31:22 +02:00
Marian Buschsieweke
2fb7d84ae5
Merge pull request #14627 from fjmolinas/ps-robust-array-lookup
sys/ps: Improve robustness against string table errors.
2020-08-11 10:54:24 +02:00
benpicco
09085e7684
Merge pull request #14730 from maribu/sys-makefile-sort
sys: Sort Makefile
2020-08-07 18:13:18 +02:00
Marian Buschsieweke
c2b32430b1
sys: Sort Makefile 2020-08-07 16:42:39 +02:00
95ae77dd4b
Merge pull request #14695 from maribu/event_cleanup 2020-08-06 22:15:51 +02:00
Jannes
7f0a099256 net: Add the possibility to use custom ethertype 2020-08-06 13:04:58 +02:00
e4bb06227f sys/newlib_syscalls_default: don't use static msp430 heap size 2020-08-05 14:32:58 +02:00
acd47f0c1f gnrc_tcp: abs() -> labs() for int32_t
Fixes compilation on msp430 and probably avr.
2020-08-05 14:32:58 +02:00
e09383d343 sys/newlib_syscalls_default: mark _exit as used 2020-08-05 14:32:58 +02:00
23efdcc786 sys/newlib: explicitly define heap for msp430 2020-08-05 14:29:07 +02:00
83f13b8b22 sys/newlib: provide msp430 specific linker symbol names 2020-08-05 14:29:07 +02:00
30cf61dd35 cpu/msp430: remove obsolete msp430 specific headers 2020-08-05 14:29:07 +02:00
Marian Buschsieweke
a5c4692806
sys/event: Add multi-queue initializers
Add a set of helper functions to initialize / claim an array of queues and use
this in `tests/events`.
2020-08-05 11:59:40 +02:00
Marian Buschsieweke
2c03dfca13
sys/event: Made trivial functions static inline
When the expected ROM overhead of a function is bigger than the actual function,
it is better to provide the function as static inline function in the header.
2020-08-05 11:45:53 +02:00
Marian Buschsieweke
649486f5cd
sys/event: Remove incorrect comment
The value of `queue->waiter` at the time the event was queued (with IRQs
disabled) was backed up to the stack-variable `waiter`. Thus, the test later on
for `waiter` checks if the queue was already claimed at the time the event
was queued. Therefore, there is no race.
2020-08-05 11:44:25 +02:00