On 6/27/07, Alexei Zakharov <[EMAIL PROTECTED]> wrote:
> Investigating...Done. Tim Ellison wrote: >> The fdlibm code we depend upon is already tweaked to use "-O0", so for >> now I'd just try the same override for the LUNI natives to see if that >> is where the problem lies. The reason of these failures lies in fdlibm indeed. Yes, it was tweaked to use "-O0" but there was a typo in this tweak and it does not affect the compilation. As a result fdlibm was compiled with "-O1" as all other natives. I has created HARMONY-4287 and attached a patch for this issue. The patch itself is trivial: <--- H4287.patch Index: src/main/native/fdlibm/unix/makefile =================================================================== --- src/main/native/fdlibm/unix/makefile (revision 550787) +++ src/main/native/fdlibm/unix/makefile (working copy) @@ -45,7 +45,7 @@ $(FDLIBM_DIST)w_scalb.o $(FDLIBM_DIST)w_sinh.o $(FDLIBM_DIST)w_sqrt.o # OPTS is overriden -OPTS := -O0 -ffloat-store -fpic +OPT = -O0 -ffloat-store -fpic DEFINES += -D_IEEE_LIBM LIBNAME = $(LIBPATH)libhyfdlibm.a <--- So I suggest to commit it and include into our M2 build. Waiting for other committer's vote...
Alexei, I've applied your patch from HARMONY-4287 at r551075 to start building//testing new snapshot right now. I hope you'll have no objections. Thanks, Stepan.
Thanks, Alexei 2007/6/26, Alexei Zakharov <[EMAIL PROTECTED]>: > Oops, please discard my previous message. The real matrix is (as > Vladimir has said): > Classlib (debug) + DRLVM (any) = StrictMathTest passes > Classlib (release) + DRLVM (any) = StrictMathTest fails > Investigating... > > 2007/6/26, Alexei Zakharov <[EMAIL PROTECTED]>: > > I also see these failures of StrictMathTest (as well as MathTest) on > > Linux 32bit. And it can be only reproduced if tests are run on the > > release build of DRLVM. I.e. > > > > Classlib(Debug) + DRLVM(Debug) = tests pass > > Classlib(Release) + DRLVM(Debug) = tests pass > > Classlib(Release) + J9VM = tests pass > > Classlib(Release) + DRLVM(Release) = tests fail > > > > So this looks like a DRLVM issue. > > > > Regards, > > > > 2007/6/26, Tim Ellison <[EMAIL PROTECTED]>: > > > Vladimir Ivanov wrote: > > > > Fwd it from the '[general][M2] Code frozen' thread > > > > =========================== > > > > OK, looking through the federated build I found the difference between > > > > my 'DRLVM' build and federated one. In the first case 'classlib' was > > > > built in the 'debug' mode. > > > > When classlib was rebuilt with -Dhy.cfg=release option the > > > > StrictMathTest failed on this build too. > > > > So we should look at the differences between classlib 'debug' and > > > > 'release' build modes to find the reason of these test failure. > > > > > > The most pertinent difference is that the natives are compiled with "-g" > > > in debug mode, and "-O1" in release mode. > > > > > > There are a bunch of natives in StrictMath. Could you try reducing the > > > optimization level of the native code compile for them separately and > > > see if that fixes the problem? > > > > > > The fdlibm code we depend upon is already tweaked to use "-O0", so for > > > now I'd just try the same override for the LUNI natives to see if that > > > is where the problem lies. > > > > > > Something like this (untested), below. > > > > > > Regards, > > > Tim > > > > > > > > > Index: src/main/native/luni/unix/makefile > > > =================================================================== > > > --- src/main/native/luni/unix/makefile (revision 550526) > > > +++ src/main/native/luni/unix/makefile (working copy) > > > @@ -22,6 +22,9 @@ > > > # CFLAGS += -fpic -Wall -Werror > > > CFLAGS += -fpic -Wall > > > > > > +# Override OPTS to remove optimizations > > > +OPTS := -O0 > > > + > > > BUILDFILES = \ > > > $(SHAREDSUB)luni_copyright.o $(SHAREDSUB)file.o procimpl.o \ > > > $(SHAREDSUB)oos.o $(SHAREDSUB)nethelp.o \
