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

23897 Commits

Author SHA1 Message Date
JulianHolzwarth
d6bc8685f7 sys/posix/pthread/pthread.c: create thread sleeping
creating the pthread sleeping and waking it up instead of THREAD_CREATE_WOUT_YIELD and then yielding(sched_switch)
2019-09-20 15:07:49 +02:00
JulianHolzwarth
28719bae37 sys/posix/pthread/pthread.c: check reaper creation
Checking whether or not the pthread reaper was created
And handeling the error when it was not created
2019-09-20 15:07:49 +02:00
JulianHolzwarth
31b3aeb48c sys/posix/pthread/pthread.c: Reaper fix
before the reaper was never created
2019-09-20 15:07:48 +02:00
benpicco
7a818f0433
Merge pull request #12249 from nmeum/pr/gnrc_tcp_option_length_access
gnrc_tcp: check if option length field is present before accessing it
2019-09-17 23:22:53 +02:00
benpicco
f02095102f
Merge pull request #12031 from jcarrano/tlsf-malloc-fix-override
pkg/tlsf: Fix the way system functions are overriden.
2019-09-17 23:12:36 +02:00
benpicco
d5c272ed86
Merge pull request #12199 from smlng/fix_timer_returns
periph/timer: Fix return codes of timer API
2019-09-17 23:04:46 +02:00
Martine Lenders
98482b67c0
Merge pull request #12263 from benpicco/esp_now-fix
esp_now: fix unused variable warning
2019-09-17 21:59:01 +02:00
Martine Lenders
baebcef79e
Merge pull request #12265 from smlng/fix_sys_pipe_freebsd
sys/pipe: always include stdlib.h instead of malloc.h
2019-09-17 21:35:09 +02:00
Juan Carrano
cc907fa54e pkg/tlsf: Fix the way system functions are overriden.
The correct way to overrride the malloc family of functions in newlib-nano is
to provide the *_r (reentrant) variants. Newlib implements the "normal"
functions on top of these (see the newlib source code). Also, internally it calls
the *_r functions when allocating buffers.

If only the "normal" non-reentrant functions are provided this will mean that
some of the code will still use the vanilla newlib allocator. Furthermore, if
one uses the whole heap as a pool for TLSF then the system may in the best case
crash as there is no enough memory for its internall allocations or in the worst
case function eratically (this depends on how the heap reserved, there is an
upcomming series of commits in that direction).

This commit splits the handling between newlib and native. It also prepares the
ground for future work on the pool initialization.

Right now I could only test this in ARM and native and I cannot ensure it will
work on other platforms. Replacing the system's memory allocator is not something
that can be taken lightly and will inevitably require diving into the depths of
the libc. Therefore I would say that using TLSF as a system wide allocator is ATM
supported officially only on those plaftorms.

Testing:

Aside from reading the newlib sources, you can see the issue in a live system
using the debugger.

Compile any example (with or without tlsf-malloc), grab a debugger and place
a breakpoint in sbrk and _sbrk_r. Doing a backtrace will reveal it gets called
by _malloc_r.
2019-09-17 21:18:50 +02:00
smlng
0f1eda14d5 sys/pipe: always include stdlib.h instead of malloc.h
The malloc.h file is deprecated on most systems and should not be
used, instead include stdlib.h which handles needed function in a
portable manner.
2019-09-17 20:43:33 +02:00
Martine Lenders
5631b698db
Merge pull request #11623 from miri64/gnrc_ipv6_ext/feat/ipv6-frag
gnrc_ipv6_ext_frag: Initial import of IPv6 fragmentation
2019-09-17 19:27:38 +02:00
Benjamin Valentin
9129ea7399 esp_now: fix unused variable warning
esp_now_pkt_hdr_t *hdr is only used if gnrc_sixlowpan is used,
so move it into the according #ifdef

fixes #12257
2019-09-17 19:02:47 +02:00
Martine Lenders
e62bb9c414 tests: provide tests for gnrc_ipv6_ext_frag fragmentation 2019-09-17 18:55:18 +02:00
Martine Lenders
51ef1c997d gnrc_ipv6: use fragmentation if available 2019-09-17 18:55:18 +02:00
Martine Lenders
c2c3216c16 gnrc_ipv6_ext_frag: Initial import of IPv6 fragmentation 2019-09-17 18:55:18 +02:00
benpicco
e214dcbd2c
Merge pull request #11986 from kaspar030/mips_remove_nomips16
cpu/mips32r2: remove nomips16 attribute from _mips_handle_exception
2019-09-17 16:54:03 +02:00
b415588677 cpu/mips32r2: remove nomips16 attribute from _mips_handle_exception
A note says "The nomips16 attribute should not really be needed,
it works around a toolchain issue in 2016.05-03."

In fact, in 2018.09-03, the attribute leads to this error:

```cpu/mips32r2_common/thread_arch.c:191:1: error: ‘_mips_handle_exception’ redeclared with conflicting ‘nomips16’ attributes```

This this commit removes the attribute.
2019-09-17 15:59:10 +02:00
9b4755c3ba
Merge pull request #12196 from kenrabold/pr_thread_yield_higher
cpu/fe310: fixes for SW interrupt latency issues
2019-09-17 14:25:10 +02:00
Martine Lenders
1a89829cc7
Merge pull request #12254 from aabadie/pr/tests/useless_ci_whitelist
tests: remove remaining use of "TEST_ON_CI_WHITELIST += all"
2019-09-17 10:47:06 +02:00
benpicco
5a01a762c2
Merge pull request #12227 from maribu/mips32r2-early-stdio
cpu/mips32r2_common: Added call to stdio_init()
2019-09-17 10:46:10 +02:00
Ken Bannister
80c5baad0e
Merge pull request #12234 from kb2ma/coap/doc_option_order
net/coap: Document requirement to add CoAP options in order
2019-09-16 18:44:41 -04:00
Marian Buschsieweke
8fa0c04e23
Merge pull request #12229 from benpicco/lpc238-cleanup
cpu/lpc2387: clean up the platform
2019-09-16 22:06:59 +02:00
Sören Tempel
e5503d62bf gnrc_tcp: check if option length field is present before accessing it
TCP options have up to three fields (kind, length, value). The
current code only checks for the presence of the first field. Before
accessing the second field (length) the code must ensure that a length
field is even present.
2019-09-16 21:13:51 +02:00
benpicco
018c15ae0c
Merge pull request #12253 from nmeum/pr/gnrc_tcp_option_length_check
gnrc_tcp: Always ensure that option->length doesn't exceed opt_left
2019-09-16 21:02:52 +02:00
benpicco
1d90617386
Merge pull request #12252 from cladmi/pr/esp8266/revert_uncompatible_option
Revert "cpu/esp8266: update deprecated flash_size argument"
2019-09-16 20:48:46 +02:00
benpicco
f0187e8226
Merge pull request #11596 from miri64/gnrc_ipv6_ext/feat/ipv6-reass
gnrc_ipv6_ext_frag: Initial import of IPv6 reassembly
2019-09-16 20:45:01 +02:00
Martine Lenders
269af28599 tests: provide initial tests for gnrc_ipv6_ext_frag 2019-09-16 19:13:19 +02:00
Martine Lenders
4905a1ad49 gnrc_ipv6_ext: use fragment reassembly if available 2019-09-16 19:13:18 +02:00
Martine Lenders
f4b8ba32f3 gnrc_ipv6_ext_frag: Initial import of IPv6 reassembly 2019-09-16 19:13:18 +02:00
Martine Lenders
409e04267f
Merge pull request #12250 from miri64/gnrc_netif_ethernet/fix/debug-output
gnrc_netif_ethernet: fix debug output for received packet
2019-09-16 19:04:05 +02:00
2e9f443a5b
tools/buildsystem_check: add deprecated pattern for board ci whitelist 2019-09-16 19:02:54 +02:00
43717c7b2b
tests: remove useless global board test on ci whitelist 2019-09-16 19:02:02 +02:00
kenrabold
547ebd1b27 cpu/fe310: use WFI to wait for SW interrupt 2019-09-16 09:32:27 -07:00
Sören Tempel
463c1212c2 gnrc_tcp: Always ensure that option->length doesn't exceed opt_left 2019-09-16 17:52:25 +02:00
0ae86d7775
Merge pull request #12242 from smlng/tools_shebang
tools: fix shebang in scripts
2019-09-16 17:23:50 +02:00
benpicco
92d5428d2e
Merge pull request #12248 from cladmi/pr/makefile_base/thin_archive_fix
Makefile.base: implement relative path linking without 'realpath'
2019-09-16 17:05:53 +02:00
071c2b2c5f
Merge pull request #12109 from nmeum/pr/riscv_context_switch
cpu/fe310: don't call thread_yield when sched_active_thread is invalid
2019-09-16 16:51:39 +02:00
Martine Lenders
a3375db15e
Merge pull request #12246 from cladmi/pr/tests/re_enable_utf8_tests
tests: re-enable utf-8 tests on native
2019-09-16 16:40:33 +02:00
Gaëtan Harter
15ea073f64
Revert "cpu/esp8266: update deprecated flash_size argument"
This reverts commit 422644bd3a.

The option is only supported after 2.6 which is currently not the
version given with 'esp' toolchain.
It was a bit too early to switch to the new version.
Version 2.7 also supports the old option with only a warning.
2019-09-16 16:08:35 +02:00
Gaëtan Harter
a019faaedd
Makefile.include: use an os independant 'relpath'
This should now work on 'osx'.
2019-09-16 15:52:36 +02:00
Gaëtan Harter
a1f0651170
Revert "sys/arduino: work around llvm-ar bug."
This reverts commit 72f934f13d.

Not required anymore as 'ar' is not executed in the object directory
anymore.
2019-09-16 15:52:36 +02:00
Gaëtan Harter
a581c2c8ce
Makefile.base: implement relative path linking without 'realpath'
This fixes the following issues:

* Use of 'realpath' not supported on mac
* Call of 'realpath' once for each file instead of one per archive
* Do not trigger 'llvm-ar' bug when invoked in the object directory.
    llvm-ar rcTs ../m.a obj.o  # Bugged
    llvm-ar rcTs m.a m/obj.o   # working

Using relative path linking is required to have a valid thin archive
path in the host when build in docker.
2019-09-16 15:52:36 +02:00
Martine S. Lenders
1ca05f0c08 gnrc_netif_ethernet: fix debug output for received packet
A received packet is outputted in DEBUG _after_ it was already parsed,
but with a reference to the already parsed header. The result is that
there can be some garbage in the output and the packet is not dumped in
total. As without parsing we do not have access to the header yet, we
use the `gnrc_netif_addr_to_str()` helper function instead of parsing
the destination address by hand.
2019-09-16 14:01:16 +02:00
Benjamin Valentin
e3b0874305 cpu/lpc2387: clean up the platform
- move clock setup from boards/ to cpu/
 - reduce code duplication
2019-09-16 13:08:56 +02:00
Martine Lenders
1dcf88efb2
Merge pull request #12245 from nmeum/pr/gnrc_tcp_unknown_option
gnrc_tcp: abort on unknown option
2019-09-16 13:01:01 +02:00
Martine Lenders
56e6887a95
Merge pull request #12079 from nmeum/pr/gnrc_tcp_gnrc_pktbuf_add
gnrc_tcp: Fix invocation of gnrc_pktbuf_add
2019-09-16 12:41:57 +02:00
Gaëtan Harter
be7ce7ea99
tests: re-enable utf-8 tests on native
The docker image should now be configured with LC_ALL|LANG=C.UTF-8
and used in murdock.
2019-09-16 12:29:15 +02:00
Sören Tempel
9764697a3b gnrc_tcp: abort on unknown option 2019-09-16 12:18:24 +02:00
Dylan Laduranty
e8b08d304f
Merge pull request #12182 from maribu/drop-jiminy
boards: Remove support for the Jiminy-Mega256RFR2
2019-09-16 12:00:28 +02:00
Sebastian Meiling
9e870460fd tools: fix shebang in packer/setup.sh
Change shebang in script from `/bin/bash` to `/usr/bin/env bash`,
which fixed problems when `bash` is not available in standard location,
e.g., on non-Linux OSes such as FreeBSD.
2019-09-16 11:27:36 +02:00