1Title: Stack Protection Support
2
3Description:
4
5This test verifies that stack canaries operate as expected.
6
7--------------------------------------------------------------------------------
8
9Building and Running Project:
10
11This project outputs to the console.  It can be built and executed
12on QEMU as follows:
13
14    make run
15
16--------------------------------------------------------------------------------
17
18Troubleshooting:
19
20Problems caused by out-dated project information can be addressed by
21issuing one of the following commands then rebuilding the project:
22
23    make clean          # discard results of previous builds
24                        # but keep existing configuration info
25or
26    make pristine       # discard results of previous builds
27                        # and restore pre-defined configuration info
28
29--------------------------------------------------------------------------------
30
31Sample Output:
32tc_start() - Test Stack Protection Canary
33
34Starts main
35Starts alternate_thread
36alternate_thread: Input string is too long and stack overflowed!
37
38***** Stack Check Fail! *****
39Current thread ID = 0x00103180
40Faulting segment:address = 0xdead:0xdeaddead
41eax: 0xdeaddead, ebx: 0xdeaddead, ecx: 0xdeaddead, edx: 0xdeaddead
42esi: 0xdeaddead, edi: 0xdeaddead, ebp: 0deaddead, esp: 0xdeaddead
43eflags: 0xdeaddead
44Fatal fault in thread 0x00103180! Aborting.
45main: Stack ok
46main: Stack ok
47main: Stack ok
48main: Stack ok
49main: Stack ok
50main: Stack ok
51===================================================================
52PASS - main.
53===================================================================
54PROJECT EXECUTION SUCCESSFUL
55