GNU toolchain testing
Introduction
This page captures the results of testing the GNU tool chain. For any test run, it is likely a number of tests will be marked as "FAIL", "XFAIL", "UNRESOLVED", "UNTESTED" or "UNSUPPORTED". It is important that the reasons for such results are recorded.
Unless otherwise indicated, the tests are applied to the SVN version of the tool on the date of the test. Where a C library has been used, it is Newlib 1.18.0 from SVN unless otherwise indicated. Where a model target is needed, it is the latest version of Or1ksim from SVN unless otherwise indicated.
Binutils 2.20.1
Results of make check-binutils.
=== binutils Summary ===
# of expected passes 64
# of unsupported tests 2
runtest completed at Tue Nov 2 16:03:16 2010
UNSUPPORTED test cases
| Test Name | Comment |
|---|---|
| strip empty file | This test is for use with Linux targets only. |
| unordered .debug_info references to .debug_ranges | This test, which confusingly duplicates the name of the previous test (a binutils bug), is only for execution on ia64 targets. |
Binutils 2.20.1: Linker
Results of make check-ld.
=== ld Summary ===
# of expected passes 131
# of unexpected failures 5
# of unexpected successes 11
# of expected failures 12
# of unsupported tests 3
runtest completed at Fri Aug 20 11:47:49 2010
FAIL test cases
| Test Name | Comment |
|---|---|
|
Check --gc-sections on tls variable Check --gc-section Check --gc-section/-q Check --gc-section/-r/-e Check --gc-section/-r/-u |
--gc-sections is not actually supported for the OpenRISC 1000, let the linker --help reports that it is, so these tests are run |
XPASS test cases
| Test Name | Comment |
|---|---|
| ld-discard/extern | |
| ld-discard/start | |
| ld-discard/static | |
| ld-discard/zero-rel | |
| ld-elf/empty2 | |
| ld-elf/group1 | |
| ld-elf/merge2 | |
| ld-elf/orphan3 | |
| ld-elf/warn1 | |
| ld-elf/warn2 | |
| weak symbols |
XFAIL test cases
| Test Name | Comment |
|---|---|
| ld-elf/group8a | |
| ld-elf/group8b | |
| ld-elf/group9a | |
| ld-elf/group9b | |
| ld-elf/merge | |
| ld-scripts/provide-3 | |
| REGION_ALIAS: ld-scripts/region-alias-3.t | |
| REGION_ALIAS: ld-scripts/region-alias-1.t | |
| REGION_ALIAS: ld-scripts/region-alias-4.t | |
| REGION_ALIAS: ld-scripts/region-alias-2.t | |
| Preserve default . = 0 | |
| Preserve explicit . = 0 |
Binutils 2.20.1: Assembler
Results of make check-gas.
=== gas Summary === # of expected passes 108 # of expected failures 1 runtest completed at Tue Nov 2 16:04:12 2010
GCC 4.5.1 (C Language)
Results of make check-gcc for C.
=== gcc Summary === # of expected passes 52869 # of unexpected failures 4 # of expected failures 77 # of unsupported tests 728 runtest completed at Sat Sep 4 18:30:46 2010
FAIL test cases
| Test Name | Comment |
|---|---|
|
gcc.dg/uninit-13.c unconditional (test for warnings, line 8) gcc.dg/uninit-13.c (test for excess errors) |
This test is expected to generate a warning, but does so int he wrong place. |
| gcc.dg/special/gcsec-1.c (test for excess errors) | This is not really a compiler bug. It is a consequence of ld not supporting --gc-sections. |
| gcc.dg/tree-ssa/reassoc-13.c scan-tree-dump optimized "return a_..D.;" | This is a deep problem within the tree optimization. Since this is before the detailed architecture becomes invovled, it likely is an underlying generic GCC problem. It is not believed that this will cause significant problems, possibly just some cases where code optimization is not achieved. |
XFAIL test cases
These are generally tests that the compiler correctly rejects operations it cannot support.
UNSUPPORTED test cases
These tests come into a number of categories:
- Tests for specific architectures.
- Tests for native compilers.
- Tests for gcov, which require filesystem support (not available in OR32 newlib).
GCC 4.5.1 (C++ Language)
Results of make check-gcc for C++.
=== g++ Summary === # of expected passes 20721 # of unexpected failures 2 # of expected failures 148 # of unsupported tests 240 runtest completed at Tue Nov 2 14:39:48 2010
FAIL test cases
| Test Name | Comment |
|---|---|
| g++.dg/eh/gcsec1.C (test for excess errors) | This is not really a compiler bug. It is a consequence of ld not supporting --gc-sections. |
| g++.dg/tree-ssa/pr42337.C (test for excess errors) | This is a deep problem within the tree optimization. It seems to be connected with known GCC bug 45267. |
XFAIL test cases
These are generally tests that the compiler correctly rejects operations it cannot support.
UNSUPPORTED test cases
These tests come into a number of categories:
- Tests for specific architectures.
- Tests for native compilers.
- Tests for gcov, which require filesystem support (not available in OR32 newlib).
GCC 4.5.1 (C++ Library)
Results of make check-target-libstdc++-v3.
=== libstdc++ Summary === # of expected passes 5905 # of unexpected failures 66 # of unexpected successes 1 # of expected failures 84 # of unsupported tests 581 runtest completed at Tue Nov 2 15:21:40 2010
C++ support for OpenRISC is still incomplete, and currently uses only static linking.
FAIL test cases
Failures fall into a number of categories.
- Incompatible definition of wchar in newlib (the main cause of failure).
- Lack of newlib support for files and gettimeofday.
- Insufficient memory to run the test.
XPASS test case
| Test Name | Comment |
|---|---|
| 27_io/objects/wchar_t/12048-5.cc execution test | The incompatible definition of wchar is thought to have allowed this test to pass, when it should have failed. |
XFAIL test cases
These are generally tests that the compiler correctly rejects operations it cannot support.
UNSUPPORTED test cases
These tests come into a number of categories:
- Tests for specific architectures.
- Tests for native compilers.
- Tests for gcov, which require filesystem support (not available in OR32 newlib).
Newlib 1.18.0
Results of make check-target-newlib.
=== newlib Summary === # of expected passes 23 # of unexpected failures 1 runtest completed at Tue Nov 2 16:06:59 2010
FAIL test cases
| Test Name | Comment |
|---|---|
| newlib.locale/UTF-8.c output | This is a failure to select a new language locale. This may be due to the absence of a file system, but more investigation is needed. |
GDB 7.2
Results of make check-gdb.
=== gdb Summary === # of expected passes 11080 # of unexpected failures 678 # of expected failures 42 # of untested testcases 19 # of unresolved testcases 8 # of unsupported tests 107 runtest completed at Tue Nov 2 16:14:06 2010
FAIL test cases
The large increase in failures follows the introduction of DWARF2 output as the default for GCC.
