Description
Type of issue
- Instructions in the learning path do not work.
- Spelling error in the learning path.
- Instructions in the learning path are hard to follow.
- Instructions to contribute a new learning path are not clear.
- Clarification needed
Describe the issue
Is FVP_Corstone_SSE-300
is supposed to require an executable stack?
To Reproduce
Learning Path: https://learn.arm.com/learning-paths/embedded-and-microcontrollers/tfm/
In the section "Run the TF-M tests on the Corstone-300 FVP", the learner is instructed to run FVP_Corstone_SSE-300_Ethos-U55
. I ran the command as described. However, I ran into the error shown below.
(myvenv) user@vm:~/Downloads/trustzone-m$ /home/user/FVP_Corstone_SSE-300/models/Linux64_GCC-9.3/FVP_Corstone_SSE-300_Ethos-U55 -a cpu0*=build/tests-spe/bin/bl2.axf --data build/tests/tfm_s_ns_signed.bin@0x38000000 -C mps3_board.visualisation.disable-visualisation=1 -C mps3_board.telnetterminal0.start_telnet=0 -C mps3_board.uart0.out_file=/dev/stdout
Error: (E549) uncaught exception: /home/user/FVP_Corstone_SSE-300/models/Linux64_GCC-9.3/libarmctmodel.so: cannot enable executable stack as shared object requires: Invalid argument
/home/user/FVP_Corstone_SSE-300/models/Linux64_GCC-9.3/libarmctmodel.so: cannot enable executable stack as shared object requires: Invalid argument
libarmctmodel.so: cannot enable executable stack as shared object requires: Invalid argument
In file: /tmp/plgbuild/abs_build/1370860_72472/trunk/linux_3.10-redhat_10.7-x86_64-rel_work/systemc-2.3.4/src/sysc/kernel/sc_except.cpp:101
FVP_Corstone_SSE-300_Ethos-U55
will only run after I mark its stack as executable. It is not mentioned in the Learning Path that this is required.
(myvenv) user@vm:~/Downloads/trustzone-m$ execstack -s /home/user/FVP_Corstone_SSE-300/models/Linux64_GCC-9.3/FVP_Corstone_SSE-300_Ethos-U55
(myvenv) user@vm:~/Downloads/trustzone-m$ /home/user/FVP_Corstone_SSE-300/models/Linux64_GCC-9.3/FVP_Corstone_SSE-300_Ethos-U55 -a cpu0*=build/tests-spe/bin/bl2.axf --data build/tests/tfm_s_ns_signed.bin@0x38000000 -C mps3_board.visualisation.disable-visualisation=1 -C mps3_board.telnetterminal0.start_telnet=0 -C mps3_board.uart0.out_file=/dev/stdout
telnetterminal0: Listening for serial connection on port 5000
telnetterminal1: Listening for serial connection on port 5001
telnetterminal2: Listening for serial connection on port 5002
telnetterminal5: Listening for serial connection on port 5003
Ethos-U rev 136b7d75 --- Apr 8 2024 21:45:17
(C) COPYRIGHT 2019-2024 Arm Limited
ALL RIGHTS RESERVED
Expected behavior
I expected FVP_Corstone_SSE-300_Ethos-U55
to run without having to mark its stack as executable. It is not mentioned anywhere in the Learning Path or FVP installation guide that the stack has to be marked as executable.
Desktop (please complete the following information):
- OS: Ubuntu 25.04 LTS