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