zephyr/tests/kernel/test_multilib
Anas Nashif 90937df6e9 tests: make generic kernel tests unified
Tests that do not use any of the legacy kernel APIs can be moved to unified
kernel to avoid double testing.

Change-Id: Ic2353feb23ee20d9d93f5459432d3b3739df8e03
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-11-01 13:42:17 -04:00
..
src
Makefile tests: make generic kernel tests unified 2016-11-01 13:42:17 -04:00
README.txt
prj.conf
testcase.ini tests: make generic kernel tests unified 2016-11-01 13:42:17 -04:00

README.txt

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...