|
CaffeineMark is now showing a little different behavior than DaCapo.
All BaseBase configurations base CaffeineMark. All versions with the opt compiler (prototype-opt on up) fail with the following: java.lang.NoClassDefFoundError: Could not find the class RunCaffeine: The DaCapo failures also look like file-not-found errors, except I can get them to show up in a prototype image Sigh. Pushing ppc64 problems off to 2.9.3; don't think we're going to be able to nail these in 2.9.2 time frame.
The root problem was that our build process has been broken for all PowerPC machines for a very long time. When targeting ppc, you must give gcc the -pthread command line argument if you want it to generate thread safe code (matches the xlc vs. xlc_r behavior of IBM's compilers). As far as I can tell, we've never done that correctly. One of the implications of -pthread is that it causes _THREAD_SAFE to be defined.
If _THREAD_SAFE is not defined, then errno isn't defined to be thread safe (because you aren't supposed to be using threads...). Someone had spot-fixed this in sys.C a long time ago, but unfortunately hadn't done the "proper' fix of invoking gcc with -pthread. As a result, the GNU classpath native code (in particular the various functions in native-lib) were being compiled with the non-thread safe definition of errno. One implication of this as that the native method for VMFile.exists was broken (it was indirectly computing its return value on the bogus errno returned by a call to stat. Fixes commited in r14126-14128.
reopening so I can modify fix target to 3.0
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
RVM-47