TetraPower 970MP (CANCELED) Project
Toolchain testing using Debian as a regression test suite

in category Operating Systems
proposed by tbm on 30th May 2006
Project Proposal
In this project, the Open Server Workstation will be used as a platform to make sure that the toolchain as well as a wide variety of software packages work on 32 and 64 bit PowerPC. In particular, the whole Debian archive (comprising over 10,000 individual packages, about 60% of which include source code that requires compilation) will regularly be built using preleases of the toolchain, in particular GCC.

Because of its size and variety, Debian is an ideal environment to test the toolchain. Debian includes many software packages not normally found in other mainstream distributions and therefore the compilation of these software packages can test functionality in the toolchain normally
not tested by other developers. Furthermore, compiling the whole Debian archive is an excellent stress test for the kernel.

Some preliminary work has been done in this area already using a Pegosos2. Unfortunately, this machine is too slow for regular tests since the compilation of the whole Debian archive takes too long. However, the experience gained with the work on the Pegosos2 and the scripts written will make sure that the OSW will be put to good use.

The importance of this task can be seen in a recent project: the compilation of the whole Debian archive using GCC 4.1 (using MIPS and AMD64, and later PowerPC on the Pegasos2) showed over 500 bugs: roughly 280 bugs due to the new compiler version, ~5 bugs in the compiler itself and the rest to be accounted for by bugs in the Debian packaging.

In summary, this project will:


  • find toolchain (GCC, binutils, etc) bugs, thereby assuring that PowerPC (32 and 64 bit) are well supported. For example, an Altivec specific bug has been found in GCC version 4.1 and 4.2 due to this work, see PR27158
  • find bugs in packages due to the new toolchain, such as bugs caused by stricter conformance to the C++ standard.
  • stress test the kernel.


The project will use unreleased version of the toolchain in order to find out about problems in advance. In the past, many issues were only found once software had been released. However, the community will benefit from more proactive testing.

References:

Findings from the compilation of Debian with GCC 4.1

Project Blog Entries

No blog entries for this project
Genesi Network: Genesi - Main Site Power2People PowerDeveloper