Title: Test multilib Description: Some architectures support different ISA variants, each backed a different multilib in a same compiler. Selecting wrong multilib may have adverse effects on performance, or sometime produce broken executables altogether (for example, ARM Cortex-M requires thumb2 multilib and will be broken with default ("arm") multilib or "thumb" multlib). This app is a smoke-test for selecting non-wrong multilib - it uses operation(s) which guaranteedly will call support routine(s) in libgcc and checks for expected result. -------------------------------------------------------------------------------- Building and Running Project: 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: =================================================================== PASS - main. =================================================================== PROJECT EXECUTION SUCCESSFUL Sample failure output ("thumb" used on Cortex-M instead of "thumb2"): ***** USAGE FAULT ***** Executing thread ID (thread): 0x200002a0 Faulting instruction address: 0x00000000 Illegal use of the EPSR Fatal fault in essential task ! Spinning...