This will replace the current goal of 'make qemu' with 'make run' and moves Qemu handling into its own file and into the boards instead of being architecture specific. We should be able to add new boards that support some other type of emulation (by adding scripts/Makefile.<emu type>) and allow the board to define their own options for the use type of emulation. 'make qemu' will still work, however it will be deprecated, starting with this commit it is recommended to use 'make run'. Jira: ZEP-359 Change-Id: I1cacd56b4ec09421a58cf5d010e22e9035214df6 Signed-off-by: Anas Nashif <anas.nashif@intel.com>
55 lines
1.6 KiB
Plaintext
55 lines
1.6 KiB
Plaintext
Title: Stack Protection Support
|
|
|
|
Description:
|
|
|
|
This test verifies that stack canaries operate as expected in the microkernel.
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
Building and Running Project:
|
|
|
|
This microkernel project outputs to the console. It can be built and executed
|
|
on QEMU as follows:
|
|
|
|
make run
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
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 alternate_thread
|
|
alternate_thread: Input string is too long and stack overflowed!
|
|
|
|
***** Stack Check Fail! *****
|
|
Current thread ID = 0x00103180
|
|
Faulting segment:address = 0xdead:0xdeaddead
|
|
eax: 0xdeaddead, ebx: 0xdeaddead, ecx: 0xdeaddead, edx: 0xdeaddead
|
|
esi: 0xdeaddead, edi: 0xdeaddead, ebp: 0deaddead, esp: 0xdeaddead
|
|
eflags: 0xdeaddead
|
|
Fatal fault in thread 0x00103180! Aborting.
|
|
main: Stack ok
|
|
main: Stack ok
|
|
main: Stack ok
|
|
main: Stack ok
|
|
main: Stack ok
|
|
main: Stack ok
|
|
===================================================================
|
|
PASS - main.
|
|
===================================================================
|
|
PROJECT EXECUTION SUCCESSFUL
|