murdock: add selected cortex-m boards to LLVM build#9809
murdock: add selected cortex-m boards to LLVM build#9809miri64 merged 2 commits intoRIOT-OS:masterfrom
Conversation
At least I thought I had kinetis in there :-/. @gebart any |
|
Murdock likes it :-) |
|
@miri64 pick any kinetis board with a large number of FEATURES_PROVIDED. Mulle is one candidate, any of the frdm boards are also good. |
|
Then I take |
92a0757 to
bb33dbe
Compare
|
Rebased to current master and dependencies, added |
7c03a50 to
c1707fc
Compare
|
Rebased to current master and dependencies, as #9808 was merged. |
|
With #9821 it looks like I can correctly compile |
d84c57e to
7661dad
Compare
|
Rebased to include current master and #9821. |
7661dad to
80ae93e
Compare
|
Rebased to see if #9821 still fixes the jerryscript issues ;-) |
80ae93e to
4284147
Compare
|
Ooops, the fixes happened in #9824... Included as a new dependency. |
I was wrong... a crash is happening before, but in trying to print the thread state, it crashes again within |
Welp, I was able to pin it down on the diff --git a/sys/net/gnrc/netif/gnrc_netif.c b/sys/net/gnrc/netif/gnrc_netif.c
index 61a5cf5..79e6d87 100644
--- a/sys/net/gnrc/netif/gnrc_netif.c
+++ b/sys/net/gnrc/netif/gnrc_netif.c
@@ -1318,6 +1318,7 @@ static void *_gnrc_netif_thread(void *args)
while (1) {
DEBUG("gnrc_netif: waiting for incoming messages\n");
+ puts("");
msg_receive(&msg);
/* dispatch netdev, MAC and gnrc_netapi messages */
switch (msg.type) { |
|
Even diff --git a/sys/net/gnrc/netif/gnrc_netif.c b/sys/net/gnrc/netif/gnrc_netif.c
index 61a5cf5..92377a7 100644
--- a/sys/net/gnrc/netif/gnrc_netif.c
+++ b/sys/net/gnrc/netif/gnrc_netif.c
@@ -1318,6 +1318,7 @@ static void *_gnrc_netif_thread(void *args)
while (1) {
DEBUG("gnrc_netif: waiting for incoming messages\n");
+ write(0, "", 0);
msg_receive(&msg);
/* dispatch netdev, MAC and gnrc_netapi messages */
switch (msg.type) {is enough to let the test pass oO. Edit: fixed copy pasta |
|
Could be an alignment problem. I suggest checking the objdump output. |
I don't even know what to look for there :-/ |
|
|
I added a fix that should fix the |
Ok, with some LED toggling and clever |
|
(the behavior of the test is broken anyway, because the dummy device tells the application its address length is 8, but then when trying to get an address it returns |
|
This is so weird... I applied the following patch: diff --git a/sys/net/netdev_test/netdev_test.c b/sys/net/netdev_test/netdev_test.c
index 69883c1..0851d88 100644
--- a/sys/net/netdev_test/netdev_test.c
+++ b/sys/net/netdev_test/netdev_test.c
@@ -93,7 +93,9 @@ static int _get(netdev_t *netdev, netopt_t opt, void *value, size_t max_len)
netdev_test_t *dev = (netdev_test_t *)netdev;
int res = -ENOTSUP; /* option assumed to be not supported */
+ puts(netopt2str(opt));
mutex_lock(&dev->mutex);
+ puts("Ok");
if (dev->get_cbs[opt] != NULL) {
res = dev->get_cbs[opt](netdev, value, max_len);
}and compiled So it is to assume the node crashes when the mutex is locked for the IID. The call to the function with the provided output happens here RIOT/sys/net/gnrc/netif/gnrc_netif.c Lines 217 to 219 in 028bc2a So it is only due to the previously mentioned fact, that this device is providing an address length but not an address, that we come to this point. It is strange nevertheless, that the node crashes at this point and the only reason I find logical is that the |
|
There is a fix for the link-layer address issue, but the crashing still happens in that test... |
|
I'm pretty sure it doesn't happen in |
|
It was a stack-size issue within the test after all -.-: #10024. |
2914232 to
5edfaa3
Compare
|
Rebased to current master and #10014 |
5edfaa3 to
740e772
Compare
|
Rebased to current master. |
|
Murdock should be happy with it now, but let's see. |
cladmi
left a comment
There was a problem hiding this comment.
ACK
In theory I would say that commit order should be inverted to have the fix first and only have working commits, but as it is only on the CI, so normally not subject to bisect I let you swap before merging or not.
|
Well the second fix happened in reaction to an issue with the first one and since they are of different authorship and address separate issues, they should stay distinct, so I say it's fine to merge them in that order. |
|
LLVM support youhou ! |
Contribution description
This allows Murdock also to build selected Cortex-M boards with LLVM.
There might be some discussion needed on the selection of boards. I tried to have one board present for each:
But up until now the selection is pretty arbitrary.
Issues/PRs references
This list was originally selected in #9398.
Depends on
#9734(merged),#9821, #9824(postponed), and#9808(merged).Dependencies due to testing:
#10014(merged),#10024(merged).