diff --git a/solo5/Tuprules.tup b/solo5/Tuprules.tup
index dd81b6888..98c6edc26 100644
--- a/solo5/Tuprules.tup
+++ b/solo5/Tuprules.tup
@@ -1,2 +1,3 @@
+DEFINES += -fstack-protector-strong
DEFINES += -Wno-builtin-declaration-mismatch
INCLUDES += -I$(TUP_CWD)
diff --git a/solo5/solo5.symbols b/solo5/solo5.symbols
index 10c8231d5..37899b6b7 100644
--- a/solo5/solo5.symbols
+++ b/solo5/solo5.symbols
@@ -1,3 +1,5 @@
+__solo5_manifest_note U
+solo5_app_main U
solo5_abort T
solo5_block_acquire T
solo5_block_info T
diff --git a/solo5/test/Tupfile b/solo5/test/Tupfile
index ada174b13..f73ae69b1 100644
--- a/solo5/test/Tupfile
+++ b/solo5/test/Tupfile
@@ -1,16 +1,15 @@
TARGET_NAME = solo5_tests
LIBS += solo5 genode-base
+include_rules
PKG_DEPENDS += \
_/src/init \
- _/src/nic_loopback \
+ _/src/nic_bus \
_/src/ram_block \
_/src/sequence \
_/src/solo5 \
_/src/$(BIN_NAME) \
-include_rules
-
run ./test_rules.sh \
blk \
dumpcore \
diff --git a/solo5/test/runtime b/solo5/test/runtime
index 4cd928433..89e18559c 100644
--- a/solo5/test/runtime
+++ b/solo5/test/runtime
@@ -10,13 +10,13 @@
-->
+
+
-
-
@@ -38,15 +38,11 @@
+
-
-
-
-
-
@@ -56,28 +52,19 @@
-
-
+
+
-
-
+ Hello_Solo5
-
-
-
-
+
-
-
-
-
-
diff --git a/solo5/test/test_rules.sh b/solo5/test/test_rules.sh
index 1a80ced56..a70b47d70 100755
--- a/solo5/test/test_rules.sh
+++ b/solo5/test/test_rules.sh
@@ -2,6 +2,7 @@
for T in ${@}
do
- echo ": foreach ../upstream/tests/test_${T}/*.c |> !cc |> ${T}_%B.o {${T}-obj}"
+ echo ": ../mfttool |> %f gen ../upstream/tests/test_${T}/manifest.json %o |> ${T}_manifest.c {${T}-manifest}"
+ echo ": foreach {${T}-manifest} ../upstream/tests/test_${T}/*.c |> !cc |> %B.o {${T}-obj}"
echo ": {${T}-obj} |> !prg |> test_${T} {bin}"
done
diff --git a/solo5/upstream b/solo5/upstream
index d0ca2cb1b..0a43c262d 160000
--- a/solo5/upstream
+++ b/solo5/upstream
@@ -1 +1 @@
-Subproject commit d0ca2cb1bf77c9467b2ade2269322dc3ec23863c
+Subproject commit 0a43c262df2df0839a1d1a93228b38842db4154c