zephyr/tests/kernel/multilib
Anas Nashif 2bc9d69981 build: abstract emulation and replace qemu goal with run
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>
2017-01-10 20:20:47 +00:00
..
src
Makefile
prj.conf
README.txt build: abstract emulation and replace qemu goal with run 2017-01-10 20:20:47 +00:00
testcase.ini

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

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