Me and Steven have tracked down a LTP failure in the capget tests to a bug in gcc 3.2.0. Reducing optimization to just -O seems to solve the problem. To this point we've found the capget LTP problem with 2.4 kernel built with 3.2.0; 2.6.3 built with 2.95.4 seems to be ok. We've also only tested 32-bit kernels. We'de be interested in test results from other configurations, in particular 2.4 kernels built by later 3.2.x compiler revisions would be of interest.
Further investigation of GCC 3.2.0 compiler optimizations shows that the '-fschedule-insns' is to blame for incorrect code generation. By adding the option '-fno-schedule-insns' correct code will be generated. This was verified with the following instruction schedulings:
-mcpu=r4300 -mips2 -mcpu=r4600 -mips2 -mcpu=r5000 -mips2
All of these exhibit the same failure. They also exhibit the same success when the above compiler option is used. Thanks again to Ralf for giving me more ideas to try and verify this. I have not verified that newer gcc-3.2.x or gcc-3.3 versions fix this problem. Comments and more testing are welcome. Thanks.
-Steve