[PATCH] [RTEMS] Update RTEMS thread model
Sebastian Huber
sebastian.huber at embedded-brains.de
Tue Sep 1 10:10:35 UTC 2015
On 31/07/15 09:23, Sebastian Huber wrote:
>
>
> On 31/07/15 09:10, Chris Johns wrote:
>> On 31/07/2015 4:44 pm, Sebastian Huber wrote:
>>> >
>>>> >>Is this for 4.12 ?
>>> >
>>> >This is just a proof-of-concept patch, but it would be nice to include
>>> >this in the next release along with the C11 threads support.
>>> >
>> If you have tests and they are ok then why not put it in.
>>
>
> It is thoroughly tested in the libstdc++ test suite, unfortunately we
> have do adjust all test cases since they contain stuff like this:
>
> // { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd*
> *-*-linux* *-*-gnu* *-*-solaris* *-*-cygwin *-*-darwin*
> powerpc-ibm-aix* } }
> // { dg-options " -std=gnu++11 -pthread" { target *-*-freebsd*
> *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-gnu* powerpc-ibm-aix* } }
> // { dg-options " -std=gnu++11 -pthreads" { target *-*-solaris* } }
> // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } }
> // { dg-require-cstdint "" }
> // { dg-require-gthreads "" }
>
> So, there is a target white list.
>
See also:
https://gcc.gnu.org/ml/gcc-patches/2015-09/msg00019.html
https://devel.rtems.org/ticket/2402
https://devel.rtems.org/ticket/2403
The test results are not that bad. Some tests use files, which are not
available to the RTEMS test driver. The main issues are due to thread
cancel/exit misbehaviour of RTEMS. Shared mutexes are not implemented in
general.
Target is arm-unknown-rtems4.11
Host is arm-unknown-rtems4.11
Build is x86_64-pc-linux-gnu
=== libstdc++ tests ===
Schedule of variations:
rtems-arm-realview_pbx_a9_qemu
Running target rtems-arm-realview_pbx_a9_qemu
Using
/scratch/git-rtems-testing/dejagnu/boards/rtems-arm-realview_pbx_a9_qemu.exp
as board description file for target.
Using /usr/share/dejagnu/config/sim.exp as generic interface file for
target.
Using /usr/share/dejagnu/baseboards/basic-sim.exp as board description
file for target.
Using
/home/EB/sebastian_h/archive/gcc-git/libstdc++-v3/testsuite/config/default.exp
as tool-and-target-specific interface file.
Running
/home/EB/sebastian_h/archive/gcc-git/libstdc++-v3/testsuite/libstdc++-abi/abi.exp
...
Running
/home/EB/sebastian_h/archive/gcc-git/libstdc++-v3/testsuite/libstdc++-dg/conformance.exp
...
FAIL: 25_algorithms/copy/streambuf_iterators/wchar_t/4.cc execution test
FAIL: 25_algorithms/find/istreambuf_iterators/wchar_t/2.cc execution test
FAIL: 25_algorithms/random_shuffle/moveable.cc execution test
FAIL: 27_io/basic_istream/extractors_other/wchar_t/2.cc execution test
FAIL: 27_io/basic_istream/get/wchar_t/2.cc execution test
FAIL: 27_io/basic_istream/ignore/wchar_t/3.cc execution test
FAIL: 27_io/basic_istream/seekg/wchar_t/sstream.cc execution test
FAIL: 27_io/basic_istream/tellg/wchar_t/sstream.cc execution test
FAIL: 27_io/basic_ostream/inserters_other/wchar_t/1.cc execution test
FAIL: 27_io/basic_stringbuf/setbuf/char/4.cc execution test
FAIL: 27_io/objects/wchar_t/12048-1.cc execution test
FAIL: 27_io/objects/wchar_t/12048-2.cc execution test
FAIL: 27_io/objects/wchar_t/12048-3.cc execution test
FAIL: 27_io/objects/wchar_t/12048-4.cc execution test
WARNING: program timed out.
FAIL: 30_threads/condition_variable/members/3.cc execution test
FAIL: 30_threads/shared_mutex/cons/1.cc (test for excess errors)
WARNING: 30_threads/shared_mutex/cons/1.cc compilation failed to produce
executable
FAIL: 30_threads/shared_mutex/try_lock/1.cc (test for excess errors)
WARNING: 30_threads/shared_mutex/try_lock/1.cc compilation failed to
produce executable
FAIL: 30_threads/shared_mutex/try_lock/2.cc (test for excess errors)
WARNING: 30_threads/shared_mutex/try_lock/2.cc compilation failed to
produce executable
FAIL: 30_threads/shared_timed_mutex/try_lock/3.cc execution test
WARNING: program timed out.
FAIL: 30_threads/thread/native_handle/cancel.cc execution test
FAIL: 30_threads/timed_mutex/try_lock_until/57641.cc execution test
FAIL: tr1/8_c_compatibility/complex/50880.cc (test for excess errors)
WARNING: tr1/8_c_compatibility/complex/50880.cc compilation failed to
produce executable
FAIL: tr1/8_c_compatibility/complex/functions.cc (test for excess errors)
Running
/home/EB/sebastian_h/archive/gcc-git/libstdc++-v3/testsuite/libstdc++-prettyprinters/prettyprinters.exp
...
Running
/home/EB/sebastian_h/archive/gcc-git/libstdc++-v3/testsuite/libstdc++-xmethods/xmethods.exp
...
=== libstdc++ Summary ===
# of expected passes 8807
# of unexpected failures 23
# of expected failures 65
# of unsupported tests 843
--
Sebastian Huber, embedded brains GmbH
Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail : sebastian.huber at embedded-brains.de
PGP : Public key available on request.
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
More information about the devel
mailing list