Closed Bug 172618 Opened 22 years ago Closed 19 years ago

Build failure in jsdtoa when optimizing gcc-3.2 build for pentium4 CPU

Categories

(Core :: JavaScript Engine, defect)

x86
Linux
defect
Not set
normal

Tracking

()

RESOLVED INVALID

People

(Reporter: kairo, Assigned: khanson)

References

()

Details

(Whiteboard: [GCC3.2+ Bug introduced Thu Dec 13 12:31:07 CET 2001 Jan Hubicka <jh@suse.cz>])

As I now switched to building Mozilla with gcc-3.2, I tried to optimize the
builds some more.
Previously, I built with --enable-optimize="-O2 -march=i686 -mcpu=pentiumpro"
and this also built fine with gcc-3.2
As I changed to --enable-optimize="-O2 -march=pentium4 -mcpu=pentium4 -msse2
-mfpmath=sse" the build broke (error follows).
I tried again, leaving the sse options alone but with only "-O2 -march=pentium4
-mcpu=pentium4" it still failed. Going back to "-O2 -march=i686
-mcpu=pentiumpro" it compiled again.

Here are the error messages when the build failed:

gcc -o jsdtoa.o -c -DOSTYPE=\"Linux2.4\" -DOSARCH=\"Linux\" -DOJI
-DEXPORT_JS_API  -DJS_USE_SAFE_ARENA   -I../../dist/include/js
-I../../dist/include -I/home/robert/temp/mozilla/src/mozilla/dist/include/nspr 
    -I. -I/usr/X11R6/include   -fPIC -I/usr/X11R6/include -Wall -W -Wno-unused
-Wpointer-arith -Wcast-align -pedantic -Wno-long-long -pthread -pipe  -DNDEBUG
-DTRIMMED -ffunction-sections -O2 -march=pentium4 -mcpu=pentium4 -msse2 
-I/usr/X11R6/include -include ../../mozilla-config.h -DMOZILLA_CLIENT
-Wp,-MD,.deps/jsdtoa.pp jsdtoa.c
jsdtoa.c: In function `ulp':
jsdtoa.c:987: warning: `a' might be used uninitialized in this function
jsdtoa.c: In function `b2d':
jsdtoa.c:1018: warning: `d' might be used uninitialized in this function
jsdtoa.c: In function `JS_strtod':
jsdtoa.c:1239: warning: `rv0' might be used uninitialized in this function
jsdtoa.c:1874: unable to find a register to spill in class `AREG'
jsdtoa.c:1874: this is the insn:
(insn:QI 1996 1995 1997 (set (reg:CCNO 17 flags)
        (compare:CCNO (and:SI (subreg:SI (reg/v:DI 21 rxmm0 [284]) 0)
                (const_int 1 [0x1]))
            (const_int 0 [0x0]))) 281 {testsi_1} (insn_list 1992 (nil))
    (expr_list:REG_DEAD (reg/v:DI 21 rxmm0 [284])
        (nil)))
jsdtoa.c:1874: confused by earlier errors, bailing out
gmake[4]: *** [jsdtoa.o] Fehler 1
gmake[4]: Verlassen des Verzeichnisses
»/home/robert/temp/mozilla/src/mozilla/js/src«
Here are other bugs, both new and old, with "jsdtoa" in the Summary.
Cc'ing people from some of these -

bug 119314   Mac   NEW
JS assertion in jsdtoa.c when built with CodeWarrior Pro 7.1 compilers
bug 138741   All   NEW
Inline functions in jsdtoa.c for performance
bug 145493   PC    VERIFIED FIXED
Assert in PR_Unlock (called from jsdtoa.c:1681)
bug 85267    All   VERIFIED FIXED
memory leak in jsdtoa.c
bug 138666   PC    VERIFIED FIXED
Another Memory Leak in jsdtoa.c
bug 54307    All   VERIFIED FIXED
jsdtoa.c - InitDtoa does not destroy locks
bug 14044    All   VERIFIED FIXED
jsdtoa.c doesn't check for out-of-memory
Assignee: rogerl → khanson
Other checkins may be found at the bonsai reference for the file:

  http://bonsai.mozilla.org/cvslog.cgi?file=mozilla/js/src/jsdtoa.c
Summary: Build failure in jsdtoa when optimizing ggc-3.2 build for pentium4 CPU → Build failure in jsdtoa when optimizing gcc-3.2 build for pentium4 CPU
Have you tried gcc 3.2.1? It has lots of bugfixes, especially this one seem
interesting concerning this:
7630	GCC 3.2 breaks on Mozilla 1.0's JS sources with -march=pentium4
Torbjörn:
Thanks for telling about that. I won't be able to try and upgrade as long as
SuSE doesn't ship me a gcc-3.2.1 rpm package. It's too much time and too much
pain for me to build such central packages of the system myself...
OK, so I hope to see it being resolved as soon as SuSE gives me something new...
*** Bug 185624 has been marked as a duplicate of this bug. ***
I compiled it myself now, and it is not fixed in gcc 3.2.1.
So I opened a gnats bug for this:
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=8994
Whiteboard: [GCC3.2+ Bug introduced Thu Dec 13 12:31:07 CET 2001 Jan Hubicka <jh@suse.cz>]
This is fixed in gcc 3.3, released a year ago.
Please close this, gcc 3.2 is obsolete.
OK, closing it myself as INVA, it's been no Mozilla bug.
I've actually been building SeaMonkey with gcc 3.3.x and those optimizations for
quite some time now, and it works perfectly.
Status: NEW → RESOLVED
Closed: 19 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.