Title: Stack Protection Support
Description:
This test verifies that stack canaries operate as expected in the nanokernel.
---------------------------------------------------------------------------
This nanokernel project outputs to the console. It can be built and executed
on QEMU as follows:
make qemu
---------------------------------------------------------------------------
Troubleshooting:
Problems caused by out-dated project information can be addressed by
issuing one of the following commands then rebuilding the project:
make clean # discard results of previous builds
# but keep existing configuration info
or
make pristine # discard results of previous builds
# and restore pre-defined configuration info
---------------------------------------------------------------------------
Sample Output:
tc_start() - Test Stack Protection Canary
Starts main
Starts fiber1
fiber1: Input string is too long and stack overflowed!
***** Stack Check Fail! *****
Current context ID = 0x00102628
Faulting instruction address = 0xdeaddead
Fatal fiber error! Aborting fiber.
main: Stack ok
main: Stack ok
main: Stack ok
main: Stack ok
main: Stack ok
main: Stack ok
===================================================================
PASS - main.
===================================================================
PROJECT EXECUTION SUCCESSFUL