[PATCH] [RTEMS] Update RTEMS thread model

Joel Sherrill joel.sherrill at oarcorp.com
Fri Sep 4 14:40:26 UTC 2015

On 9/4/2015 1:53 AM, Sebastian Huber wrote:
> On 03/09/15 15:47, Martin Galvan wrote:
>> Hi Sebastian! Thanks for your answer. There are a couple of things I
>> still don't get :)
>> On Thu, Sep 3, 2015 at 2:48 AM, Sebastian Huber
>> <sebastian.huber at embedded-brains.de> wrote:
>>> I updated the rtems-testing repository.
>>> 1. You have to adjust the VERSIONS file.
>> Is this file meant to help the scripts download the tool sources
>> automatically (like RSB does), or does it just point to local
>> directories where I'm supposed to place them? If it downloads them
>> automatically, should I replace 'cvs' by 'git' for e.g. gdb?
> GDB is managed by git and for GCC I would use the git mirror.

The intention of these scripts is to test some arbitrary version
of the tools that you have locally manually fetched, patched,
symlinked newlib under gcc, etc.

There are a lot of things which have to be correct to be able
to run the tests and this just tries to make it easier.

>>> 2. You need the latest Git versions of Newlib, GCC and RTEMS.
>> So I should manually build a cross-gcc from the gcc trunk? I think
>> that's past 5.2, will RTEMS build ok with that?
>> Also, should I apply the patch you posted here:
>> https://gcc.gnu.org/ml/gcc-patches/2015-09/msg00019.html
>> ?
> No patches, just the latest versions, so GCC 6.0.

I would say this is the normal usage. Verify master is OK.

Sebastian .. are you mailing your results to the gcc testresults list?

>>> 3. Use
>>> ./do_one -1 -r -g -v -M arm realview_pbx_a9_qemu
>>> to run the GCC tests. Make sure the test runner "realview_pbx_a9_qemu"
>>> works.
>> How can I test that? Should I build the realview_pbx_a9 BSP and run a
>> sample (e.g. ticker) on the latest Qemu?
> The test runners are in "sim-scripts" make sure a "realview_pbx_a9_qemu
> -i ticker.exe" produces the expected output.


If it doesn't, you will waste a lot of time for something very
fundamentally broken.

>>> 4. Use something similar
>>> cd gcc/b-arm-gcc/arm-rtems4.11/libstdc++-v3/testsuite
>>> make check 'RUNTESTFLAGS=  SIM=realview_pbx_a9_qemu
>>> RTEMS_MAKEFILE_PATH=/scratch/git-rtems-testing/gcc/install-git/arm-rtems4.11/realview_pbx_a9_qemu
>>> RTEMS_CONFIG_OBJ=/scratch/git-rtems-testing/gcc/b-arm-gcc/rtems_gcc_main.o
>>> --target_board=rtems-arm-realview_pbx_a9_qemu{-march=armv7-a/-mthumb/-mfpu=neon/-mfloat-abi=hard}'
>>> to run the libstdc++ tests.
>> Where does the /git-rtems-testing/gcc/install-git directory? I didn't
>> see an 'install-git' dir inside rtems-testing/gcc. Is it created after
>> doing make install on rtems-testing?
> I don't remember. I set this up several months ago and now it just works.

In the VERSIONS file, the install prefix is determined by the gcc version
being tested. If you were testing the 4.9 branch, you likely would want
an install directory with 4.9 in the name.

I think I have some local hacks on my VERSIONS file since switching
branches in a single git clone is much simpler than having multiple
SVN checkouts for branches with the branch in the name of the checked
out directory. It used to assume that the GCC branch name was part
of the gcc SVN checkout directory and install directory. With git,
you can't do that.

And making sure your various tools are on the branches you want to
test is up to you. That is really beyond the scope of the tool.

This was not intended to be idiot proof as much as automate the
tedious and fragile build/testing process of the tools.

It can email the results if you like.

Joel Sherrill, Ph.D.             Director of Research & Development
joel.sherrill at OARcorp.com        On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
Support Available                (256) 722-9985

More information about the devel mailing list